Felix Rambles

Another step to taking back control

Even more Puppy Linux nonsense

26 September 2019 — Felix Pleşoianu

So, as of this week, I've been using Puppy Linux 8.0 full time. It's hardly ideal, but the only reasonable upgrade path for me right now. And as promised last time, there's still more to unpack.

For one thing, it turns out that much of the reason why the system felt sluggish was Compton. What's Compton? A compositor as it turned out. Which does nothing except add shadows to the windows and menus... while using a noticeable amount of CPU. It also seems to leak memory, so after several hours of continuous operation it starts thrashing, which is how I found the problem. And could it be? Yep... after disabling the compositor, the freezing desktop bug also vanished. Well, until next boot, when the damned thing auto-started again despite my disabling it. When it returned for a second time, I removed it from the base OS image altogether, at which point it finally stayed out.

Hey, programmers: an OS that doesn't obey the person at the keyboard is broken, and potentially dangerous.

Anyway, even without it, Thunderbird still thrashes horribly just starting up, while LibreOffice takes way too long to do the same. Downgrading to 5.4.3 (from the previous edition of Puppy) helped, but only a little. In desperation, I also tried OpenOffice, which is much smaller but also unusably slow. And there's nothing at all between them and the much more primitive AbiWord.

Well, "primitive". It turns out the information on the Puppy Linux wiki is badly out of date. Contrary to what it says, AbiWord 3.0.1 proved perfectly able to open a 123-page ODT file, while preserving most of the formatting. Only the table of contents looked different, though page numbers were still correct, and trying to follow the internal links did nothing. (Gnumeric seems to work fine too.)

But none of that is the operating system's fault. To its credit, Puppy was at least very stable through all this, remaining up even when I gave Opera more than it could chew by accident. Closing the offending app is hard when you're low on RAM, but Puppy somehow managed anyway. Not unlike during installation in fact.

Let's see, what else? I like the DeaDBeeF music player. It might even be able to supplant Audacity for my limited needs. As for video, after trying out the various available options and finding most of them barely functional if at all, I ended up right back at good old VLC. This is why everyone uses it, folks: it gets the job done.

Which is my verdict on Puppy Linux after several more days: it gets the job done, dammit! It's weird, full of quirks and even a few bugs, but stays put, works as advertised, and allowed me to move forward at my own pace, with my limited means. When that's more than I can say about big names, you know IT needs a shakedown.

Tags: Linux, software, review

Comments? Tweet  

Puppy Linux Redux

23 September 2019 — Felix Pleşoianu

Nearly two weeks ago, I wrote about my experiences trying Puppy Linux again for the first time in way too many years. It proved much more useful than expected, and right now it's the most widely deployed operating system in my household (on par with the Android devices), at three installations. Let me tell you how that happened.

But first, a couple of clarifications:

  • I failed to get the Broadcom wi-fi adapter working after all. Oh well.
  • There is, in fact, a tool to fetch and set up SFS bundles automatically, called sfsget, though in the 32-bit edition it lists just a couple of essentials.

Anyway, for my second attempt I picked the same edition, and an even more limited machine: my original Asus Eee PC 701 netbook. It has the same 512M of RAM, but only a 900MHz Atom CPU, and a 4GB (not a typo!) SSD for storage. Can't exactly afford setting any of that aside for a swap partition, which made the install process almost run out of memory. But it worked, and let's just say solid state drives plus compressed filesystems make for speedy loading. X11 on the other hand ruins the boot time. (Also, there's no way the poor machine will run a modern browser, so Dillo will have to do.) And you know what? With two distros installed, I still have three quarters of the drive free. Another success!

Now for the big test: Bringing my work computer to 2019, or almost. It's a rather beefier machine, with a dual-core Atom running at 1.6GHz, and 2GB of RAM. Too bad the 64-bit edition pretty much nullifies the advantage. Oh well, at least the HDD no longer sounds like it's dying all the time, and restarting the window manager is almost instant. Something I had to do quite often at first, both for config changes and another odd bug: after moving the main tray to the top of the screen, the application menu would often freeze while browsing through it, taking along the entire desktop. The mouse cursor would still move, but nothing else. Luckily, I can press F12 to bring up the pop-up version, pick Exit, and restart JWM.

Otherwise, LibreOffice 6.1.4 barely starts, and Thunderbird 60.0.1 is even slower! Good thing the operating system uses SysV Init and a lightweight C library (Musl), otherwise it would be unusable. Opera (58) is sluggish, too, but that's because individual tabs are swapped to disk when out of focus. Guess it will have to become my default browser, with PaleMoon only for development.

The things I have to think of in order to keep an older PC alive nowadays.

As of this writing, I still haven't tried to do all my usual work, but the essentials are there. Keeping in touch with everyone was the biggest issue, and that was easily taken care of. Might come back with a part three to wrap it up.

Tags: Linux, software, review

Comments? Tweet  

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