Felix Rambles

Another step to taking back control

Not hacker ethics, but human ethics

16 December 2018 — Felix Pleşoianu

Say you're a hacker, and you have this roommate who always locks their room when leaving home. One day they leave without returning an item you need. What do you do?

  1. Pick the lock, recover your item and leave, locking the door again behind you.
  2. Also snoop through their things, but without disturbing or breaking anything.
  3. On top of that, leave them a note pointing out that they need a better lock.

Trick question! The only acceptable answer is, you don't go in even if the door is unlocked. Even if there's a genuine emergency, of the building-on-fire variety, you at least try to call and announce that you were forced to do it by immediate physical danger. Even if you suspect your roommate is a thief who stole your item, you call the police on them. Not because it's what the law says, but because you're a part of society, and society can't function unless we can trust each other at least a little bit. As I was tweeting nearly three weeks ago:

Hey, geeks: if you're at a hacker event and someone next to you leaves their laptop unlocked...

...don't touch it! Would you rifle through their bag, too? After all, they could use a padlock if they wanted privacy.

It's called common courtesy and basic trust. You're welcome.

Which is not a theoretical, but something that happened to me in real life (the laptop part, not the bag part), and contributed to my mistrust in the sort of people who frequent Linux user groups. In particular, their maturity level.

The very concept of "hacker ethics" is a red herring at best, and quite possibly dangerous. Hackers operate in the real world, dealing with real people within a social framework. They're not some special caste exempt from certain rules just because the digital (or virtual if you prefer) is less palpable. If anything, they must be more careful than the rest of us because, much like doctors, they can more easily hurt more people. And there's no Hacker's Oath. Maybe there should be. Then we could talk about a meaningful ethical framework for them.

And please don't serve me the tired excuse that "bad guys don't play by the rules". Precisely! That's part of what makes them bad guys. You can't fight them by becoming one of them any more than you can fight fire with fire.

Rules can and should be broken sometimes. The trick is knowing when not to do it. And too many people who call themselves hackers are just overgrown immature boys, playing with sticks bigger than they can safely control. Let's fix that first.

Tags: society, technology, philosophy

Comments? Tweet  

Finding my voice online

10 December 2018 — Felix Pleşoianu

When I first joined Tumblr in 2013 (escaping from the shutdown of My Opera), I couldn't wait to see what shape my new blog would solidify into.

It never took any shape at all.

You'll say that's kind of the point with the once-popular tumblelog format, but there's a difference between freewheeling and random. Add to that the high toxicity enabled by the reblog-with-additions feature, and you have a recipe for ugliness. And yes, I've allowed myself to be drawn into it way too often. Just like on Twitter, the other major platform to have this misfeature. There's no denying my share of the guilt.

Even on Mastodon, where you can only boost a toot as-is (and maybe reply to it in a separate toot), that's still too easy. It reduces the toxicity, a lot even, but the results are still chaotic. Not the beautiful, creative kind of chaos, either. Just a jumble of mismatched thoughts.

Funny, then, how easily I was able to form a coherent discourse right here. Not a pretty one, admittedly. All the loneliness and bitterness in recent years has been getting to me. But it's me. I'm slowly learning to be myself again.

The added friction, that forces me to work at making a post, makes a world of difference. Much like on my brand-new Dreamwidth journal. Or for that matter my gaming blog. Even though the latter has also been in exile on Tumblr for the past year.

Guess it's not just the place then, but also how you approach it? Perhaps. But there's a reason I'm bringing that blog home soon as well.

Lots of new beginnings for me this year and the coming one, then. And that still leaves some things to fix. Oh well, got to deal with them one by one.

If as of late you've had trouble recognizing yourself in your social media streams, take a step back and try to remember what you wanted to tell the world in the first place.

Even the Borg routinely proved able to break free. What excuse do we have?

Tags: social-media, personal, philosophy

Comments? Tweet  

Activists and their double standards

04 November 2018 — Felix Pleşoianu

Opinions swung back and forth over the years, but nowadays if you try suggesting that voting may not be quite as effective as people claim, you'll promptly get an earful on participation numbers, and how it's your civic duty anyway, yadda yadda.

Meanwhile, try suggesting to the same people that billions of car owners the world over driving their cars less would have an impact on climate. You'll promptly get yet another earful, this time on how individual action can't possibly matter since a double handful of corporations account for the vast majority of CO2 emissions.

Oh, really? Who's been enriching the likes of Shell or Gazprom? Who's been buying and burning all that gas? It's not corporations that own and drive billions of cars.

The notion that individual action doesn't matter is the latest deflection tactic from people who want to feel completely comfortable both morally and in their day-to-day life. In other words, to have their cake and eat it too. And maybe I'd buy it if they weren't telling me in the same breath how slapping a rubber stamp on a piece of paper is somehow more effective than picking up a piece of litter from the ground.

Voting is safe, you see. Anonymous. Quick. A flick the wrist, and you can feel all smug about yourself for the next four years. Regardless of who wins the election.

Giving up even a sliver of your personal comforts is a whole other story. Shit just got real. It aches. Itches. You can't forget.

That strange new feeling is called responsibility. Get used to it.

Tags: politics, philosophy

Comments? Tweet  

Designed for nobody

24 October 2018 — Felix Pleşoianu

Imagine you were a big fan of cars and wanted very much to get into the world of car manufacturers. So you go to art school, practice a lot, and one day come up with the single most beautiful car design ever. One that would make the folks at Ferrari or Lamborghini turn green with envy. So you go with it to a factory and show it off. Everyone goes "ooh" and "aah"... until an engineer points out how there's no way to fit an engine under that gorgeous hood. Can you guess what would happen?

They'd laugh you out of the building, that's what. And they'd be right.

Look. Design is a nebulous term. There's no one accepted definition. But artsy high-concept crap nobody can understand or make use of is definitely not one of them.

Except that's what a lot of people think design is, ever since Frank Lloyd Wright created his superb but uninhabitable Fallingwater house. And so you end up with websites that look great, but are unreadable, unnavigable and definitely don't scale.

How else? Back when I was still in the business, a web designer's tool of choice was Photoshop. Yep. They didn't so much design a website as paint it. Paintings are nice, you see. They don't have to stretch and zoom, grow and shrink, or shift around like a transformer.

Websites must be able to do all that and more. Especially nowadays that mobile devices outnumber PCs by an order of magnitude at the least. And web designers hate that. It offends their artistic sensibilities.

If you ever saw a website with too long a sidebar, or too short a sidebar, or an ad banner that's breaking out of its box and trying to hide off-screen in shame, that's why: the great designer had no idea of the real content people were going to put in. Perhaps because they were never told. But who cares, right? We'll just fill the boxes with nicely balanced amounts of nonsense text. What do you mean, it may not be as nicely balanced in production?

Lorem Ipsum was a mistake.

Tags: website, philosophy

Comments? Tweet  

Unit testing and code clarity

19 October 2018 — Felix Pleşoianu

I don't usually think much about testing. It's just a normal part of programming. Lately, however, I've been playing with a new language, that has unit testing built not just into the standard library (like, say, Python) but the language itself! And the compiler supports code coverage too, for good measure.

It's incredibly fun, writing tests for code you haven't even finished yet, having them pass, and seeing the percent of coverage increasing. And that's a trap.

Because, you see, unit testing isn't your goal. Useful, working software is your goal. Preferably written in such a way that other people can read and change it.

(As as aside, code clarity means more than short functions and correct indentation. I've seen plenty of code, usually in C, that was small, neat, elegant... and you couldn't figure out how it did anything. Talk about missing the whole point.)

Unit testing is just another tool in the toolbox. Used at the right place and time, it can do an excellent job. Shoehorned in for the sake of ticking a checkbox, it will just get in the way. And don't even get me started about writing code to satisfy the tests as opposed to, you know, the end-user.

Nobody cares what tools a carpenter uses if the furniture they make is ugly, heavy, and requires climbing carefully over the nightstand to get in bed.

That said, I did actually use TDD exactly once. It was for a library of largely independent functions, the requirements were simple, and my tests were mostly there to document usage. That's another good case for tests, by the way, and in fact the D compiler also supports it directly. Making sure your example code runs, and runs correctly, can save you from a lot of embarrassment down the road.

Just focus on delivering already, before you forget why you were writing all those tests in the first place.

Tags: programming, philosophy

Comments? Tweet  

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  

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  

Thoughtfulness is radical

01 September 2018 — Felix Pleşoianu

I've recently taken to writing down my thoughts in a little paper notebook before posting them to Twitter or Mastodon. A6 pages are just the right size, and it forces me to think hard before blurting out my thoughts online, possibly hurting someone. Hadn't realized what a special thing it was until someone snarkily replied to my suggestion that long-form blogging is due for a comeback by asking, "why not go back to hand-written letters while we're at it?"

Speaking of which: it's essentially impossible to post something on the Diaspora network without getting at least one snarky or angry reply. Sometimes entire flamewars in the comments, that you can only watch helplessly, unless you delete your original post altogether. Turing forbid you actually try to defend or clarify your position, or otherwise interact with the oh-so-smart techie brodudes you've just riled up. It happens elsewhere, too, but only in that particular online neighborhood does it seem to be the norm.

In 2018, giving yourself some time to consider your next words is a radical act.

Let's do it, then. Let's show people what it was like before the tweetstorm had replaced taking the time to formulate a coherent discourse. I'm not talking academic levels of intellectual rigor. Just a modicum of consideration. For your audience. For your ideas. For yourself.

Amazing what difference it makes when you have a literal filter. Handwriting is more laborious, and serves as a first draft, too. And if you notice your draft swelling beyond tweet size, you know it's time to hunker down and write a proper blog post. Don't have a blog? Use a pastebin, and post just the link on social media. Better yet, do yourself a favor and get a proper home on the web. One people can choose when to visit, instead of hearing you trumpet over the rooftops, whether they feel like it or not at the moment.

You don't have to turn off your smartphone. You don't have to give up immediacy. You won't die of boredom if your gratification is a little less than instant.

The internet wants you to be a Pinocchio on Pleasure Island. You know how that ends.

Tags: blog, philosophy, social-media

Comments? Tweet  

Why bother walking?

24 August 2018 — Felix Pleşoianu

There's a story I like to tell, because it's illustrative of so many attitudes in the modern world.

Had to meet somebody once to discuss some business. We picked a place halfway between my home and their office. When I learned how close it really was from the meeting place, I offered to just walk the rest of the way and spare them a trip. We're talking a 15-minute walk.

They insisted to come over as agreed. They were very late. Turns out they spent 20 minutes just looking for a parking spot. (Par for the course around here, really. They should have known.)

It would have been literally faster for me to just walk over than it was for them to drive the same distance, everything considered. But they thought it was unacceptable for someone to walk when a car was available. Even after all the fuss, they still held that it had been the right thing to do.

No, this isn't about car culture, even though it's destroying our cities (and the environment). It's about programmers. More and more, people are asking, why bother optimizing when computers are so powerful? Why bother minimizing dependencies when we have package managers and containers? And all too often, we end up with more trouble on our hands than our tools were supposed to save. More work. More wasted time.

But sure, let's keep doing everything in the fanciest possible way. After all, we have all that fancy stuff, might as well use it.

Everywhere. All the time. Whether it fits or not.

Don't you dare complain about your commute.

Tags: software, philosophy

Comments? Tweet  

Too simple

16 August 2018 — Felix Pleşoianu

After writing yesterday's post, I realized that 1000 articles in one BashBlog instance would be a problem after all, but not for the reason other users thereof seem to think. Rather, the bottleneck would be having to deal with over 2000 files in one folder, none of which you can move without breaking things. It seems, then, that the ideal time to archive the whole thing and start again would be one year if you post once or twice a week, or a month if you post thrice a day. Which just so happens to coincide with how blog archives are traditionally organized. With BashBlog, you just have to do it manually. But that's as simple as shuffling around some files, one folder at a time, and on the plus side you're in control the entire time.

It seems there are downsides to radical simplicity after all. But on the flipside, those downsides open up new possibilities. You just have to go with the flow and figure out how best to use each tool at your disposal. That's why you have more than one after all.

Speaking of which: is a hammer too simple? A screwdriver? A cleaver? A pair of pliers? Radical simplicity has been the default state of tools ever since we started using tools. The creators of Unix still remembered this principle. Those who came after them? Not so much. Modern computing has skewed our perception of what "simple" means, and that's why it's all such a mess today.

Tags: blog, philosophy, software

Comments? Tweet  

Thinking before posting

13 August 2018 — Felix Pleşoianu

The plan is not to post too often here, to stave off the fatigue so often associated with social media, especially as of late. As with any blog however, there are things to get out of the way early on.

For one, shout out to Alex Schroeder a.k.a. Kensanata, creator of the OddMuse wiki software that I use on my gaming website. More importantly, he's my favorite blogger right now when it comes to internet communities and politics. Comes with the territory: wikis were initially a kind of community, and much of the (social) theory that now applies to anything online was first developed in that particular medium. Too bad most of them have forgotten their roots, and lost that spirit; Wikipedia is a sad case. Wikia, for all the criticism leveled against them, still remembers, and it shows. So does TVTropes.

This is a blog though, and to be honest the technical side of things concerns me more. Such as how to help more people retake their voice from corporations. Sadly, the industry-standard solution proved to be a trap, despite its open source nature, and software like the one I use now requires command-line skills, not to mention an operating system that isn't Windows. It also takes knowing the difference between the computer on one's own desk and a remote server, and how to copy files from one to the other. A difference most people don't seem to get anymore, and that's outright dangerous.

Here's the enemy then: ignorance. But how do you educate entire generations who grew up thinking they're not supposed to need any knowledge about the world they live in? Worse, that someone else will take care of everything, for free? Because, isn't it, there are no other kinds of costs than money...

We're facing an uphill battle. Might even be a lost cause from the start. But to not even try would be even worse. So here I am.

Tags: blog, philosophy

Comments? Tweet  

Here we go again

12 August 2018 — Felix Pleşoianu

Oh no, you're going to say, not yet another blog. And what for? This site already has a perfectly good newsfeed.

Why yes, it does. And if all I wanted was to notify my friends of the occasional content update, the manual feed could be enough.

Sometimes however an update doesn't fit neatly into the title-link-description format. Take for instance the programming language and mobile app sections I added since the end of June, but didn't record in the newsfeed because, frankly, there wasn't much to say except that some long-estranged content has come home at last. To keep things comfortable, items in manually edited RSS must be limited to a single paragraph of plain text; anything else is a big pain. Which can be, well, limiting.

Moreover, since starting out that feed exactly four years ago (plus two weeks), things have changed. The big website clean-up was finally completed last year (plus two days). Instead of a big ball of mud, I now have a nice collection of microsites. And since each of them looks slightly different, one more isn't going to stand out. Especially as there's still more content to bring back from third-party services.

That's a problem too, see. For a while, I've been all enthusiastic about social media. That earned me friends (yes, you can make genuine friends online), but also means a lot of thoughts are now scattered to the four winds. A couple of long-form essays found a home in the web design section, but the rest are at the mercy of various third parties. And recent developments have reminded me what a bad idea it is to trust anyone with your outboard memories.

Last but not least, there's this little toy called BashBlog that I meant to try out for a while now. Who knows when it's going to come in really handy. Might as well figure out what works and what doesn't with a low-stakes trial first.

What all I'm going to put here is another story. But you won't know unless you subscribe. Cheers, and see you around for sure.

Tags: website, blog, philosophy

Comments? Tweet