Felix Rambles

Another step to taking back control

Meeting an old friend again: Puppy Linux

11 September 2019 — Felix Pleşoianu

The last time I used Puppy Linux for any length of time must have been 15 years ago, or almost. Much has changed in computing since. In 2018, on my first attempt to revive a laptop almost as old, the ole' pupper didn't have 32-bit support anymore. I walked past, thinking they had fallen into the trap of planned obsolescence like so many others. But Devuan Linux, my choice at the time, didn't work out for a number of reasons, and when I decided to try again this autumn, neither did Debian 10, which even in text mode makes the poor machine run hot enough to worry me. After seriously considering NetBSD, and rejecting it (not for the first time), a second look at the Puppy website revealed those ever more elusive 32-bit editions were now available for all the official, actively maintained versions. I grabbed the latest one: 8.0, codenamed Bionic Pup. Not the best choice in retrospect, given the target hardware.

Speaking of which, this is a single-core Celeron M running at 1.6GHz, with 512M of RAM and a SiS 630 video adapter whose driver was retired from X.org at some point. You'd be surprised how well it can (still) run modern Linux if a sane init system is used. In fact Puppy boots faster on it than the much older distribution on the newer, beefier machine I'm using to write these lines. The first-boot setup wizard is comprehensive, even allowing the screen resolution to be picked from a list, and installation is dead simple, taking up a directory on any available partition. Since it doesn't disturb what is already there, dual boot was an easy choice.

Puppy is such a friendly animal, bundled with a surprising number of apps for its tiny size, and more graphical setup utilities than Mageia. Newcomers can probably get away with doing like I did: grab the latest version, boot from the live CD (yes, CD!) and follow the prompts. Linux experts might want to skim the wiki and forum first, to learn about the things Puppy does in its own way. Like how each edition is slightly different, as members of the community express themselves. Or how you can trust an older version, as the base is self-contained and rock-solid while packages still get updates simply because people care. Bigger additions can take the form of filesystem overlays, that are more robust than packages but must be retrieved manually, which takes a bit of poking around.

That was where the hardware showed its age, in fact, as LibreOffice 5.4.3 barely started. Maybe if I had remembered to close the browser first. Oh well. If anything, the surprise was how well everything else worked. Also how good it all looks. (Better than the 64-bit edition in my opinion.) I did run into a bug where the desktop sometimes freezes, but switching to another virtual console then back to X fixes it. Might be my ancient, oddball hardware, or lack of RAM.

As of this writing, the one thing left to try is installing the firmware for my Broadcom wi-fi adapter. Wish me luck!

Tags: linux, software, review

Comments? Tweet  

Age of Opinions

23 August 2019 — Felix Pleşoianu

You know why operating systems suck?

Try to discuss operating systems with anyone, the result is always a flame war.

You know why programming languages suck?

Try to discuss programming languages at all, the only result is a flame war.

You know why text editors suck?

Try to have a serious discussion about them... yep, you've guessed it.

Repead ad nauseam. About file formats. IM protocols. Hardware architectures.

We live in a day and age when trying to discuss the relative merits and failings of anything only results in everyone YELLING at you. Because their favorite [insert noun] is perfect and above any criticism. (Unless they happen to hate it, then it's the devil and can't possibly have any redeeming qualities at all, ever.) This is especially true of proprietary products for some reason. What, haven't you heard? Open source is strictly a matter of abstract morality with no bearing on practical matters like code quality or interoperable standards. Yes, people still believe that in 2019, and it's scary.

Worse, in recent decades we've gradually developed a culture where it's perfectly all right to have an opinion. The less founded, the better. But you just try to bring up facts. Reasonings. Any kind of proper arguments. People will, wait for it, YELL at you. Reason tends to clash with comfortable lies, you see. And people would rather have comfort than a grasp on reality, that would allow them to do something about their problems.

Taking action makes people responsible, you see. Worse, having knowledge to act upon and refusing to act also makes people responsible. And people fear responsibility more than death. Often literally.

But boo-hoo, everything sucks! Why can't anyone seem to make things better?

We tried. And you YELLED at us. Now sleep in the bed you've made.

Tags: technology, culture, philosophy

Comments? Tweet  

Who mistakes fiction for reality?

15 August 2019 — Felix Pleşoianu

It seems to be repost season around here. This time it's an article written seven and a half years ago, on 10 March 2012 (coincidentally, one year before My Opera closed down). I'm bringing it back now because it's referenced from another place that I'd forgotten about, but also because it somehow continues to be highly relevant after all this time. Doubly so as yet another mass shooting in the US of A is being blamed on videogames, even after multiple scientific studies have failed to spot any hint of a correlation. Think we'll ever be rid of this pernicious myth?

In the mean time, I wrote more about the way violence is misunderstood in western society. Game developers, you see, don't understand violence any better than the general public does. And violence in games (like in all fiction) is a statement, often of the political variety. It sends a message when you put a marine with an assault rifle in there to shoot at whomever the latest Hollywood blockbuster decided to paint as the bad guy of the month. You may not be causing violence, but you're contributing to the discourse, like it or not. Be aware of what you're saying.

Otherwise, the text holds up surprisingly well. People continue to grow more disconnected from the physical side of things, less understanding of each other's abilities and limitations. A growing movement has been pushing disability awareness, but outside of that? The assumption that all able-bodied people can do the same things in the same way still dominates, and it ruins lives. Doesn't help that we're obsessed with "fairness", by which we mean, "don't hand anyone a torn rag unless they've worked hard for it to prove worthy".

I'm veering off-topic by now. My point remains: a lot of people have little life experience, therefore a tenuous grip on reality, and that makes them easy to sway by fictional depictions that anyone who's done a thing or two can easily recognize as made up. So it's not that media have become more realistic in recent decades... but that life is increasingly experienced only through media.

Results are of course worryingly similar. Enjoy the original text... if you can.


Tags: media, society, philosophy

Comments? Tweet  

When scripting languages shrink

11 August 2019 — Felix Pleşoianu

Javascript, Python, Ruby: these are the popular dynamic languages in 2019. Naturally, people want to use them not just for app development but also to script software written in C or the like. Problem is, the official implementations of all these languages have grown rather large (even Tcl isn't small anymore), and that makes them tricky to use for such a purpose. Only Lua has stayed as lean as always, but no matter how good it is, having a choice is always the better idea.

Intreprid programmers have set out to correct this situation however, and nowadays we can enjoy tiny alternative scripting engines for several of these languages.

Duktape is a JS interpreter consisting of one C file and its header. It can be used as such, or customized to include or omit certain features. By default it builds to an executable around 200-300K in size (I seem to have deleted my copy in the mean time). The official website lists a number of reputable projects that use it, and half a dozen alternatives!

MicroPython is an interpreter for the eponymous language designed to run directly on single-board computers, but also on popular operating systems, and even web browsers. It aims to be largely compatible at the language level, though the standard library sports many differences, for obvious reasons.

Jim Tcl is a surprisingly complete Tcl implementation, including a couple of extensions not even the official interpreter supports. It also has a compatibility layer to cover what differences exist, and enjoys a good reputation.

TinyScheme is no less than the scripting engine used in GIMP! It can be easily built to a stand-alone executable 170K in size, and claims to implement a good chunk of R5RS, the last version of the language that cared about minimalism. Hasn't been updated since 2013 unfortunately.

As you've probably noticed, I only played with a couple of the above, briefly. What all of them have in common is being implemented in C; native scripting engines for other compiled languages are much less common, except in the Java and C# world. Honorable mentions for a few others:

  • LIL, another miniature Tcl-like;
  • MuJS, another small JS that even has a DOS port;
  • MRuby might be interesting to fans of that language.

There are of course many others, for original and/or less known languages, but you don't need to go entirely off the beaten path to keep your software small and light on dependencies. So give a chance to one of the above next time.

Tags: programming, links

Comments? Tweet  

Microblogging, 10 years after

20 July 2019 — Felix Pleşoianu

Almost 10 years ago, on 18 August 2009, I wrote a blog post titled "Microblogging, the missing medium". I'm reproducing it below for two reasons: one, it's referenced from an older post on this blog, and the wiki where it was hosted just went offline. Two, to put things in perspective a little, because the world was so different it's hard to believe, looking back.

To wit: 10 years ago I still had a full-time job, though it would only last until autumn, just another victim of the financial crisis that was in full swing at the time, having hit Romania with a slight delay. Ironically, I had been on Identi.ca for 9 months, though I wouldn't be on Twitter for another 18. As for my blog, it was hosted on My Opera, a service that wouldn't last much longer either. Select posts from that era remained on this site until recently; you can still read my old reviews in the sci-fi section.

10 years ago, it was hard to believe the world's greatest power would slide backwards so abruptly, wiping out decades of progress. Or that social media would become a new breeding ground for the worst kind of human scum, with the blessing of corporations. That some people were already working on federated networks was seen more as a curiosity than anything else; I was into it for the same reason I was (and still am) into Linux: because of a deep inability to fit in with the mainstream.

10 years ago, the best things in my life weren't yet a blip on my radar. Or some of the worst, for that matter. Never thought I'd end up writing three blog posts on as many successive days to compensante for failing to work on a game due to burnout, in turn due to an increasingly empty life weighing down on me.

Then again, if online friends are real friends, I guess online life must be real life too. Here on the internet, people notice if I don't log in for a day. That's scary, but it beats forgetting what your phone's ringtone sounds like.

People call me a pessimist, but read below for a bright vision of the future that was so off the mark it's tragicomic. Imagine if I had correctly predicted the current state of affairs instead.

Read, laugh, weep. And don't forget to live your life. Online or off.


Tags: blog, social-media, philosophy

Comments? Tweet  

More, bigger, pointless

19 July 2019 — Felix Pleşoianu

These days, humanity celebrates 50 years from the first Moon landing. Half a century since creatures of this Earth set foot on another celestial body. Inevitably, people in my line of work remember and celebrate one particular hero of that story: Margaret Hamilton, who led the software team and coined the term "software engineer" to describe what she did... because she was literally the first one.

And you know what? I think most modern programmers feel woefully inadequate compared to her.

You've probably heard the joke. I tweeted it myself just recently. It goes like this: the Apollo Guidance Computer had 4K of RAM and a CPU running at 2MHz, and they went to the Moon with it. The smartphone in your back pocket is millions of times more powerful and crashes trying to render a large web page.

Of course, it's nowhere near so simple. The circumstances were different, and highly specific. Moreover, we are doing hugely important work with computers today that wouldn't have been possible 25 years ago, much less 50. Such as putting together the data from countless telescopes the world over to image a giant black hole in a distant galaxy (an effort also led by a woman, by the way).

However, the sheer enormity of what NASA achieved in 1969, and the absurd discrepancy between said achievement and the humble computer that played a part in it can't help but amaze us. We stand in awe at the dizzying perspective. And there are a few lessons to learn from it.


Tags: software, philosophy, science

Comments? Tweet  

Websites, links and bookmarks

18 July 2019 — Felix Pleşoianu

Last autumn, in a fit of inspiration, I created Clinklog, a static website generator optimized for linklogs and microblogs. As of this writing, it hasn't been updated in six months, simply because it does everything its two users need (one of them being me), with no known bugs. Still can't believe how easy it is to use, and how well it does the job. Other people seem interested as well, though nobody wrote back yet. Oh well.

Clinklog was inspired by two pieces of software. One is BashBlog, that powers these ramblings you're reading right now. The other is Shaarli, an online bookmark manager that I've know about for even longer yet never got around to trying. Until now. It looks like this:

Screenshot of a web app showing a list of links with tags and timestamps.

or sometimes like this:

Screenshot of a web app showing links and notes in the style of an old newspaper.

and no, you can't have a link; mine is friends-only. But you should try it yourself. It only requires PHP 5.6 and 7-8 megabytes of disk space, data excepted.


Tags: website, software

Comments? Tweet  

State of the website

03 July 2019 — Felix Pleşoianu

This website has been around for twelve years now, and for about ten of them it came with a wiki attached. Had I discovered PmWiki just a bit earlier, things would have been very different. As it is, the wiki always remained a side show, separated from the rest both technically and content-wise. At least that enabled it to survive the great transition of 2017. Too bad that also meant fewer, timid updates. And why would most of the wiki be updated? Half the content was an old blog archive.

But then, why bother keeping all that stuff in a wiki?

In January this year, I started moving my sci-fi writing to its own section on the main website, this time with cover art included and a more attractive presentation all around. Came out great, really, but then a death in the family (and unrelated health issues) killed the mood, and I dove back into programming to try and forget. More about that in an upcoming post. For now, let's just say that after months of wondering what to do with the aforementioned blog archive, the answer turned out to be that I didn't really want it anymore. Suddenly, the way forward was clear: get everything else out instead, then shutter whatever is left. So after migrating the remaining sci-fi material, I moved on to the RPG and finally interactive fiction sections. They didn't come out quite as well, especially the former, but oh well.

So for the first time in its existence, this site is completely static again. It's six times bigger than my first one, and has five times as many files. Still tiny by modern standards, and about as future-proof as it gets. Kind of a patchwork quilt look to it, but this way you can always tell which parts are new, and it can be safely updated piecemeal. More easily enriched with media, downloads and so on, too.

Which brings me to my next point, that I'm going to put under the cut because reasons. If you're reading this on RSS, please click through; you'll see why.


Tags: personal, website

Comments? Tweet  

Freedom and responsibility in software

24 June 2019 — Felix Pleşoianu

In today's news, the world of free software discovers that freedom entails responsibility, and reacts in typical male fashion: by panicking.

Which reminds me that I spent years exploring the concept of freedom in my stories, and no matter how I looked at it, one conclusion imposed itself every time: there is no freedom without belonging. If you don't belong anywhere, that doesn't make you free, but adrift. Conversely, if you belong where you are, are you really a prisoner? It's not like you'd leave even if the door was wide open.

This, by the way, is why I find the Stockholm Syndrome a dubious notion at best. It's predicated on a gung-ho conception of freedom that only flies in Hollywood movies. And we all know what happens every time a certain world superpower tries to force this brand of "freedom" on other, older countries.

Freedom, you see, is a political concept by definition. Yet for the longest time free software fanatics tried to pretend their creations were these idealized, abstract shapes adorning marble halls of intellectual purity. Anyone can use the software for any purpose, and we're not liable for anything!

You'd expect that kind of attitude from the gun-toting libertarian who rebranded free software as open source. But no, freedom zero is right there at the top of the General Public License as originally published in 1984. Oh wait, it was written by a lawyer. Minimizing liability is what they do for a living.

How appealing to cocky young programmers who were taught that cynicism was a sign of intelligence. And they bought it wholesale, because it spared them from having to show empathy. Empathy hurts, you know. Lots of bad stuff happening these days. Lots of bad people happening, too.

Well, now they're using all that "neutral", "unbiased" software we filled the world with to spread hate, perpetuate injustice or snatch innocent victims. And we can't revoke all those licenses, pretty much by design. That, too, seemed like a good idea at the time.

Guess it's time to figure out something else then. Before the consequences catch up with us.

Tags: software, freedom, politics

Comments? Tweet  

Technology will not save us, part 2

13 May 2019 — Felix Pleşoianu

This morning, a friend linked me to this article about a carbon sequestering technology being tested right now in Iceland. They can suck CO2 out of the air and capture it in layers of rock deep underground. Hooray! We're saved! We can stop and even reverse climate change!

Not so fast.

For one thing, I wouldn't use the word "forever" if I was them. Permafrost was also supposed to be, you know, permanent. Now it's melting so fast scientists can't keep up. Remember that scene in Ghostbusters where they turn off the ghost prison and all the malicious spirits go free at once? Imagine that at planetary scale.

Second, pay attention to the numbers. As they freely admit:

The CarbFix project reduces the plant's carbon dioxide emissions by a third, which amounts to 12,000 tonnes of CO2 captured and stored at a cost of about $25 a tonne.

By comparison, Iceland's volcanoes spew out between one and two million tonnes of carbon dioxide each year.

Wake me up when they can do something about the remaining 99.5% of emissions in their country alone. Or at least those of other facilities than the very powerplant generating the electricity needed for this energy-intensive process. Speaking of which.

The main drawback of the method is that it requires large volumes of desalinated water, which, while abundant in Iceland, is rare in many other parts of the planet.

Around 25 tonnes of water are needed for each tonne of carbon dioxide injected.

At least they're smart enough to use desalinated water rather than the precious natural freshwater they need to, you know, grow crops. And that stuff is becoming more valuable than gold in many parts of the world. But you know what the problem is with desalination? It's also energy-intensive. In other words, you need to build even more powerplants to sequester all the CO2 you wouldn't be generating if you just did nothing instead. Congrats, geniuses! And they know it, too.

You think that's just theory? Check out the end of the article:

Under the Paris climate agreement, Iceland has agreed to slash its greenhouse gas emissions by 40% by 2030.

Yet its emissions rose by 2.2% from 2016 to 2017, and have risen by 85% since 1990, according to a report by Iceland's Environment Agency.

Yep... just like in countries like the UK or Germany, where decades of massive investments in renewable energy just led to overall demand growing much faster than solar and wind can provide, meaning the difference has to be covered with... coal. In other words, even more CO2 emissions. Good job breaking it, hero.

Is it clear yet that new shiny toys aren't going to help us out of a hole we dug ourselves into by building far more technology than we needed in the first place, then wasting the vast majority of its potential? The only hope for human civilization is to downsize massively. And nobody's willing to even entertain the possibility: corporations because they'd have to give up their obscene profits, people because they've been conditioned to think they all somehow deserve to live like kings. Too bad you can't bribe, sue or intimidate mother nature.

We have 12 years to clean up our act. Tick tock, tick tock.

Tags: climate, technology

Comments? Tweet