Felix Rambles

Another step to taking back control

Programmers, disconnected

12 October 2018 — Felix Pleşoianu

When academics examine videogames, they'll often note how much developers thereof seem to live in an echo chamber, hardly aware of any media outside of their chosen profession. If they read at all, it's the same kind of escapist fantasy that games are already derived from, itself highly derivative more often than not. No wonder the results are twice disconnected from any chance at cultural relevancy. And that wouldn't be a problem if the same developers wouldn't all but demand to be deemed culturally relevant.

(Exceptions exist, of course. Personal games and walking simulators have taken off big time in recent years. Sure enough, nobody quite knows what to make of them.)

This morning, I was pointing out how open source is inherently derivative. In the mean time, I figured out why. You know how programmers have a reputation for being nerds. It's hard not to, in a profession that often starts in one's bedroom, during high school or even earlier. Which in turn allows people to skip certain rites of passage, whose forgotten importance was teaching people to be social. And open source programmers are derided as big-time nerds even among other programmers. We're the nerdiest nerds who ever nerded, as a friend would say.

(Exceptions exist there, too, as another friend pointed out. And if nothing else, some programmers come to this profession from other fields, bringing with them knowledge of different people with different needs. There's software to help coordinate disaster relief efforts, for example, something a business would never invest in.)

For the most part, however, open source programmers are twice disconnected from the analog world. How else? For the longest time, they've been busy playing catch-up. And in their hurry to reach parity with commercial software, so they can command the same respect, they forgot to check whether the products they imitated were still serving a real purpose, or had long been reduced to solutions in search of problems, only good to create more jobs for consultants.

Look. Programming can be playful. Programming can be art. It doesn't all have to be utilitarian and pragmatic. But when most of what we do seems to cause more problems than it solves, it's time to take a step back and figure out what the hell we're doing.

Tags: programming, philosophy

Comments? Tweet  

Open source, the perpetual substitute

12 October 2018 — Felix Pleşoianu

There's a big problem with free and open source software, and nobody seems willing to talk about it: the entire movement is fundamentally one of followers and not innovators. How else could it be? The GNU project, that gave birth to the whole thing, was explicitly launched to make replacements for proprietary software. The Linux kernel was a reaction to Minix, an educational operating system. All the big apps, like LibreOffice or GIMP, were meant right from the start as clones and/or replacements of expensive, industry-dominant software. Even desktop environments like KDE and XFCE were initially blatant copies of their commercial predecessor CDE.

Show me one piece of open source anyone's actually heard of that's original and trailblazing rather than a me-too. Heck, even most games in the field are derivative. That titles like FreeCiv and Super Tux Kart surpass their originals in every way is simply a result of so many years in development.

That's the one big advantage of open source, apart from the freedom it offers: not being driven by commercial interests, it can keep getting improvements for a long time. Don't let version numbers fool you: DOSbox, for instance, stalled at 0.74, but that means it had seventy four major releases! Chrome cheated shamelessly, and is only now getting close. But is that enough of a selling point? Time and again, people prove willing to put up with any amount of shoddiness in software. Even bugs that destroy all their data simply aren't enough to make them look for alternatives.

Sure, open source has won. In the web server space, nobody in their right mind would use a proprietary operating system, unless office politics force them to. The GNU Compiler Collection is still at the core of Mac OS X (along with other open source components). The Python programming language now powers pretty much everything that's not system or enterprise software. And so on, and so forth.

Speaking of the Python programming language, now that's an example of open source innovation. So is WordPress, the software behind nearly a third of all websites. But how many people not in the business have heard of either? They're infrastructure, designed to fade into the background and let people work. You'll say that's true in other areas... but for instance I know exactly who manufactures the public lighting for my city. And the tramways. And the metro. So should you.

Only in computing we find it normal to treat everything as a black box. And that's why we never learned to truly take advantage of software freedom. Even those who understand its importance have mostly been concerned with playing catch-up. And "we have everything the big players do" is a pathetic, shameful selling point.

"Look at us! We're not totally lame! Please love us! No, don't leave..."

Now Microsoft has bought GitHub just as we were moving towards a "post-open source" era. And open source replacements can't seem to get much traction at all.

Nor will they, not ever, unless we learn to blaze our own, new trails for a change.

Tags: software, philosophy

Comments? Tweet  

Communism and religion in Romania

06 October 2018 — Felix Pleşoianu

It's generally accepted knowledge that religion was persecuted in Communist Romania with all the cruelty our nightmare of a totalitarian regime was capable of.

Oh, really. That's why the Orthodox Church remained a state institution, financed from the national budget, even during the darkest years of said regime. Funny that.

It's generally accepted knowledge that countless churches were torn down in the same Communist Romania. Hardly anyone remembers the many more churches that were rescued through engineering miracles worthy of steampunk novels: moved wholesale on rails, with locomotives, to be hidden behind modern buildings where the regime didn't mind them. Out of sight, out of mind. On whose money? Why, the state's, of course. Nobody else could finance public works of such size at the time.

(For that matter, hardly anyone remembers the Uranus neighborhood, a unique place of enormous cultural value, that was torn down to make room for Casa Poporului. Or the island of Ada-Kaleh on the Danube, another invaluable piece of living history, that was sunk in the process of building the Iron Gates powerplant. Perhaps because those were largely Jewish and Muslim, respectively.)

Sure, the Communists paid lip service to atheism. A lot, even. But are you going to tell me that Ceauşescu, a semi-literate cobbler's apprentice, born and raised in a village between the two World Wars, was somehow an atheist? Not bloody likely.

Sure, the Communists imprisoned and tortured numerous members of the clergy. People who just so happened to be 1) famous 2) highly educated and 3) outspoken opponents of the regime. You know, just like many academics who had the same fate, and hardly anyone decries their systematic persecution. Academics we never really trusted in the first place. They have a bad habit of challenging faith, you see.

In all this time, nobody touched our numerous Orthodox monasteries throughout the country. They were national treasures, featured in movies and protected with the full force of the law. As kids, we were taken to visit them more than once. By the school. The state school. There was no other kind before 1989.

We have a saying in this country: do as the priest says, not as the priest does. Well, let me turn it on its head: watch what the regime does, not what the regime says. Then you'll see who's really persecuted. Hint: it's probably not whoever yells "persecution" the loudest.

Developed countries, take note. Because these days you're going to where we only just came from.

Tags: politics, history

Comments? Tweet  

Church and state in Romania

06 October 2018 — Felix Pleşoianu

My parents were never married in church. They were of different Christian denominations, you see. No priest from either side would perform the ceremony.

And you know what? It didn't matter in the least.

It wasn't the church that made them eligible for cheap housing.

It wasn't the church that protected me during their divorce, a few years later.

It wasn't the church that helped mom raise me alone after the event.

It was the state. Because, you see, they were legally married. And that's what matters in a modern country.

This weekend, Romania is holding a referendum on whether to make same-sex marriage constitutionally impossible. (Right now it's theoretically allowed, just not in applied law.) In other words, whether to head back towards a dark age we'd barely left 14 years ago. I have no doubts as to the result. Suffice to say, never in my lifetime were the polling stations open for two days in a row. Not once. It's simply not done here.

Except, it seems, to support religion-fueled bigotry.

But then, what can you expect from a country where the Orthodox Church is a state institution, financed from the national budget. In the European Union. In 2018.

I have no mouth, and I must puke.

Tags: society, politics

Comments? Tweet  

Sherlock Holmes the programmer

06 October 2018 — Felix Pleşoianu

A recent discussion about programming languages reminded me of a story not often told. Namely how I was turned off from learning C#. We were considering it as a replacement for Java because it was much better integrated in Windows, which would have allowed my employer at the time (a web agency) to expand into desktop software with an attractive line-up that required fewer explanations.

So I sat down and figured out the basics. The way Microsoft had chosen to "fix Java" was quirky at best, but C# did have some welcome features added back in. And one of them just happened to be a good fit for our very first application.

My one team-mate on this project balked. "What the hell is this? I have no clue what you're doing here."

It was a delegate. A goddamn delegate. A core feature of C#, and one of its major selling points at the time. (C++ didn't get lambdas until 2011; this was years earlier.) But my colleague seemed to have taken a shortcut: instead of properly learning the language, he was using the official IDE as a glorified Visual Basic, filling in the blanks with the simplest possible code to get his mouse-designed forms working at all...

Look, we were always in a hurry. Everyone is, in an industry where people are always expected to deliver outright miracles yesterday, for peanuts. But you'd think a seasoned web developer would already be familiar with the basic concept of a first-class function from, ya'know, Javascript, which had them from the very first version in, like, 1995.

Not my colleague. He was a very pragmatic person, you see. Always pointing out he didn't really enjoy programming, but only saw it as means to an end. Guess he had better things to think about, too, like a wife and kids. So he'd only bother to learn the absolute minimum he could get away with.

Sherlock Holmes, too, would purge from his mind all knowledge that didn't help his detective work, such as the fact that Earth orbits the sun.

So how do you suppose he dealt with crime that spanned timezones?

Tags: programming, education

Comments? Tweet  

Space colonization, the undead dream

30 September 2018 — Felix Pleşoianu

I grew up with sci-fi from all over the 20th century. People have been dreaming of going into space for at least a century now. I can tell exactly what decades-old books and movies people are fans of by their vision of the near future. Enthusiasts still lament the slow death of NASA, and praise the achievements of a certain billionaire who shall remain unnamed. And they always have the same few questions for people who try to inject a little practicality into the discussion.

Why should we be doomed to remain Earth-bound?

What if a big asteroid hits the Earth?

Do you know how many inventions we now take for granted were developed for the space industry?

Well, I have a few questions of my own for all the dreamers whose feet still don't touch the ground after all that happened since the turn of the millennium.

Do you realize how much effort it would take to send a few thousand people into space? Because that's the minimum viable population for Homo Sapiens. Never mind the millions you'd want to send out for a meaningful exodus.

Do you realize how many different specialists you need to keep modern civilization going at present-day standards? We're talking specialties on top of specialties, all supported by an intricate network of academic institutions and research facilities the world over. There must be as many different scientific and engineering qualifications as you've had classes in high school -- as many as the minimum viable population I was mentioning. And yes, you'd need enough people in all of them. Renaissance Men could only exist in the Renaissance. And you couldn't survive on Mars with Renaissance-era tech.

And do you really think having colonies on Mars and the Moon would keep us safe from the Big Asteroid(TM)? Dude, smaller planetary bodies wouldn't take a hit as well as Earth would. And we'd be in a precarious position out there in the first place. You'd be better off trying to salvage the situation right here on Earth. For example by going underground. Or underwater. Or building arcologies (not that it works, we tried). Heck, early mammals survived the asteroid that killed off T-Rex, and they didn't have our abilities.

Not to mention that if we had the ability to send millions of people into space, we could probably divert big asteroids as well...

You want to boost research and development again like we did in the 1960s? Launch a big effort to fix the planet we've broken. Why is that never anyone's dream? We keep talking space, space, space, as if the one home we do have, for real, right here, is worth nothing.

Not futuristic enough, is it? Fixing the planet doesn't come with enough blinkenlights and things that go "voosh". And we want to feel like science heroes. We've been conditioned to, by a century of science fiction.

How about we wake up while we have anything left to dream about.

Welcome to the future.

Tags: science, education

Comments? Tweet  

Internet and memory

27 September 2018 — Felix Pleşoianu

While going through my old browser bookmarks recently, I was reminded once again how quickly the average web page goes away. It's part of the so-called digital dark age we're headed towards as more and more media files, stored on now-obsolete devices, become impossible to read, let alone decypher, if they haven't been long deleted.

(Not that it's a new phenomenon. The BBC erasing years of invaluable footage so they could reuse expensive tape reels made headlines a while ago. And it was par for the course back in the day.)

At the same time, it happens more and more that things people said or did years ago, sometimes in their teenage years, resurface unexpectedly thanks to social media, causing no end of trouble. It even led to the EU creating a "right to be forgotten", which was about as tone-deaf, ineffective and potentially damaging as the more recent GDPR. But I digress.

It seems like a contradition. On the one hand, we're complaining that computers are too forgetful, and launch on ample missions to rescue our collective digital memory. On the other hand, we're complaining that computers aren't forgetful enough, and call for crusades to bury the past. Maybe we should make up our minds already.

Except, of course, it's not possible. The same fire that cooks your food can just as easily burn down your house, and there's no way to magically make fire do only what you want. The best you can do is use fire sparingly and with proper precautions. So it is with knowledge. Any knowledge.

Because, you see, human brains require the ability to forget. We wouldn't be able to function otherwise. The price is that we sometimes forget important things. Oh, we can write them down, but writings can also get lost or destroyed. Ideally, those that enough people value will be preserved across the centuries. But since value is in the eye of the beholder, you never know exactly what will be preserved. And so it happens that some of the oldest surviving texts are complaints about a shady merchant in Ancient Mesopotamia. How's that for cosmic humor.

Writing, it turns out, works exactly like human memory in the long term. And so do websites.

While going through my huge pile of browser bookmarks, it was a pleasant surprise to discover how many pages are still there. Others are now gone, sometimes along with the whole website, or else locked up behind a paywall, which amounts to the same thing. Yet more are still there, but I can't for the life of me remember why I bookmarked them in the first place.

Guess comparing the web to a planet-sized brain isn't so far-fetched after all. And our brains sometimes remember terribly embarrassing situations we'd much rather forget. Especially mom's brain.

Ah, but you see, moms also forgive. Internet mobs, not so much.

Well, they'd better learn, because much like with brains, you can't control what the internet does and doesn't remember. Not without breaking it. Nor can you put the genie back into the bottle, any more than you can tell Prometheus to take his newfangled fire and return it to the gods.

But do we understand ourselves well enough in the first place to deal with this monster we've created in our own image?

Tags: social-media, website

Comments? Tweet  

Institutions never worked

26 September 2018 — Felix Pleşoianu

We have a saying in Romania: "man blesses the place". Seems ovbious in retrospect, doesn't it. You probably know more than one business, community or simply household that's a great place to be, and it's all thanks to the efforts of one person. Once they're gone, for whatever reason, things are simply never the same anymore, no matter how much everyone else tries to keep going like they used to.

Of course, it can also go in the other direction. We have a saying for that, too: "fish rots from the head". Which only serves to reinforce how, one way or another, individuals matter.

Except... things weren't supposed to be this way. Almost as soon as we invented writing, we also came up with institutions: a system for cushioning the impact of good people leaving, or bad people coming. Or both. The idea is to establish norms and best practices, and ensure everyone at least tries to follow them. That way the institution keeps fulfilling its purpose, for better or worse, no matter who's doing the work.

And it doesn't help. Can't say it ever has. Time and again, institutions at best muddle through, if they don't act like a dead weight outright, until some exceptional person comes along to shake things up, whether they bring a renaissance or a dark age. You'll say the person at the top, whether they're Steve Jobs or King Charles I of Romania, isn't performing the actual labor; it's a collective effort.

Then why do we always, always need that person at the top to spur us on?

Maybe naked apes are wired to need a strong leader. Likely, it's more complicated than that. Either way, someone makes the difference. Not norms. Not rules. Not laws. It's all too easy to ignore those once nobody's watching anymore.

A piece of paper can't look at us and say, "I know what you're doing".

We're used to talking about social structures in the abstract, as if they exist by themselves somewhere above us. But a family, a tribe, a village, a country... they're all made of people. Just people working together to make things good for each and every one of them.

Well, so is an institution. Make it about people, not minutiae, and it might just survive its founder for a change.

Tags: society, philosophy

Comments? Tweet  

Browser bookmarks, the buried bounty

23 September 2018 — Felix Pleşoianu

I have too many browser bookmarks.

Comes with the territory, you see. Between relatively varied interests and too much time spent online, it was inevitable that over the years I'd end up bookmarking lots and lots of pages. That wouldn't be a problem... if I ever went back to them. And that hardly ever happens.

When the issue first became apparent, my first idea was to try a social bookmarking service. Those are fun at least: you get to see how many other people bookmarked the same page (without knowing of each other), and who else tags their bookmarks the same way you do. Which in turn can lead to finding more cool web pages.

Trouble is, my choice at the time was Magnolia. When the service's one server crashed hard with no backup, starting over elsewhere suddenly looked like a terrible proposition. Sure enough, bigger brands also shut down since then.

So what else is there? A couple of years ago I tried to put some semblance of order in my still-private collection and see what was there. After all, it's no different than rifling through a box of old photos, right? Well, thanks to a horrid user interface, I deleted an entire folder of links with no recourse. Luckily it was indeed just cute animal photos, but that soured me on the whole idea again.

About 18 months ago I became aware of a little web app called Shaarli, that would have been a dream come true in the past. But after being burned by security issues, from spammers to crackers, yet another live web app is the last thing I want on my sites, even if it was easy to find it a good place.

Meanwhile, the link catalog on my gamedev wiki has been shaping up nicely, especially once I got it out of the gilded cage called WordPress. Yet more links can be found in the newsletter, where they served as discussion starters over the past few years. And there's still more of them buried in my browser's bookmark manager.

Not all of them should be public, of course. Going to figure something out about those. A few can go in the "see also" section of various special interest pages already on my website. As for the rest... it remains to be seen.

One thing is certain: the bookmark managers still used in browsers today were designed back when the web was tiny, and never reconsidered since then. They simply don't cut it anymore. Find a better home for all those links while you can.

Tags: website, philosophy

Comments? Tweet  

Introducing Clinklog

16 September 2018 — Felix Pleşoianu

Exactly a week ago, I announced my new project: a static website generator optimized for microblogs and linklogs. As of yesterday, it's complete enough to generate its own homepage. That's an important milestone. Doubly so as it turned out to work flawlessly under real-world conditions, however briefly. It does take a little thinking to use, at least at first, but that suits me fine. Still quick and easy enough.

Oh, there's plenty more to be done. Existing features to finish; more of them to add; documentation to write (not necessarily in that order). If you're impatient enough to start using it, beware that defaults can and will change. The schema, too; hopefully in a way that can be applied to existing databases with a second call to clinklog init. I'd hate having to start from scratch after just releasing this first version. After all, one of my design goals is to allow for stable websites, that can continue to accumulate new content for a long time to come.

The downside to that is posts not getting their own files, but only a slot in the corresponding monthly archive, which in turn means permalinks change if you bump a post (or item, in Clinklog parlance) to the top. Not so permanent after all. It remains to be seen how much I'll have to do that in practice.

First, however, to make some progress, so there will be more to post about, both here and on Clinklog. See you around.

Tags: blog, software

Comments? Tweet