Fixing a 20-year-old bug in Enlightenment E16 (iczelia.net)

by snoofydude 187 comments 264 points
Read article View on HN

187 comments

[−] somat 30d ago
"Sadly, the hang was deterministic"

No, no, you rejoice, a deterministic bug is the best sort of bug. because now you have a test case and a solid method to know when it is fixed. The sad bugs are the ones you can't find a test case for.

I also got a bittersweet chuckle out of how the author considers it a lightweight environment, I mean, they are not wrong, but think of how far we have fallen when e, the ultimate bling desktop environment is considered lightweight.

[−] BeetleB 29d ago
Back in the early 2000's, I used Enlightenment. I wouldn't have called it "lightweight", but it definitely was not heavy. It ran smoothly on my not-so-great-hardware. And definitely lighter than DEs like KDE/Gnome.

I stopped using it for other WMs. I remember how it was taking forever to release E17 and totally forgot about it. E16 was definitely awesome in those days.

[−] ok123456 29d ago
I remember trying to use it and getting constant segfaults.
[−] breton 30d ago

> because now you have a test case and a solid method to know when it is fixed.

And where is fun in that? Where are now the nights in trying to reproduce it? Where are the doubts in the moments of rest "have i really fixed it, or is it still there"? Boring.

[−] azalemeth 30d ago
The author is 21 (which I find incredibly impressive) and is using a DE that was written when they were a baby.

It _is_ lightweight in that context. I also love the fact that XaoS knowledge is useful in the context of "real software" programming!

[−] jasomill 29d ago
As someone who remembers E making the rounds among the BSD and Linux users in my college dorm when it first came out, there's no way he's only 21 if he was a baby in the late '90s.
[−] Ixander 29d ago
From her "Short CV"

"Hello! I’m Kamila Szewczyk (iczelia). I am 21 years old. I’m an expert programmer and aspiring mathematician, primarily interested in compiler construction, data compression, esoteric languages, statistics and numerical algorithms. ... Currently I am a full-time student based in Germany." [1]

And the start of the post:

"The editor in chief of this blog was born in 2004. She uses the 1997 window manager, Enlightenment E16, daily."

[1] https://iczelia.net/cv/

edit: added the [1] at the end of the first quote

[−] simonask 29d ago
The author's name is Kamilla. She was born in 2004 (according to the article).
[−] tangus 29d ago
I guess they wanted to keep working on their slides (at least for the moment) and not be forced to go debugging. Sadly, the hang was deterministic, so they didn't have another option.
[−] kdhaskjdhadjk 30d ago
But it is light weight. Fabulously so. The "bling" just comes from the ability to write theme files to customize the appearance of window decorations and menus. IIRC it was a fork of fvwm from way back in the day, and similarities can still be seen in the config files. I use it on everything including old 32-bit systems, and it's snappy and responsive everywhere.
[−] kelnos 29d ago
GP means that 25 years ago, it was definitely not lightweight compared to many of the alternatives (GNOME and KDE being notable exceptions; I wouldn't have called them "light" back then either). Toady it's certainly light.
[−] kdhaskjdhadjk 29d ago
Enlightenment up to e16 always was light weight. There was eye candy that could be enabled like transparent/wobbly windows and whatnot, which could drag down a weak system, along with the ability to add high resolution wallpaper that took up a lot of memory, etc, but the core of the window manager doesn't have any kind of bloat or slowness. It was always configurable to be snappy and low resource. Just like fvwm.
[−] wvh 30d ago
This is a flash from an almost forgotten past. I'm happy people are still using and even improving Enlightenment.

I used to run Enlightenment in the late nineties and early 2000s, first by itself, then with Gnome bar. At some point Gnome turned hostile on power users and I switched to KDE, leaving also Enlightenment behind, as well as any extensive customization of my desktop. At that time, the ubiquitous themes.org also got in disarray, and I feel it was a bit an end of an era of design and theming experiments on the early Linux (and *BSD) desktop.

[−] pino83 30d ago
Wasn't Enlightenment something that just looked good in screenshots (compared to Win XP or even earlier ones)? I love desktop environments that look nice, I love effects and animations, if done well, and I love to be able to customize things (KDE/Plasma is doing a really good job in that regard imho). But Enlighenment? Whenever some screenshots excited me, I gave it another try for some hours, and then went back to KDE or Gnome.

It's what you call "ricing" today? You need it for some nice screenshots (or screencasts nowadays), you post them, and then you log off and use something else (i.e. the smartphone, the gaming console, Windows, KDE/Gnome, ...) because that just actually works.

[−] antisol 30d ago
Nah, e is great! It works just fine - it's better at a lot of things because it's fairly low-spec and doesn't require a terabyte of ram and 47 quintillion floating point operations just to open a menu. And if you're using a current version they're responsive to bug reports and whatnot. It does most everything you could want. And it looks damn fine while it's doing it.

Someone showed me the kitty terminal emulator a while ago. They made a big deal about how it can display images! Right there in the terminal! Wow! I was compelled to point out that terminology has had that (and video playback, too) for a LONG time.

One of my favourite features of enlightenment is that it has this thing from back in the day called "configurability", where behaviours tend to be optional and you can decide for yourself whether you want them enabled or not. I know it's not fashionable anymore and maybe not for everyone but personally I think it's a better approach than the gnome-style "You'll take what we give you and be happy about it" approach which is in vogue these days.

[−] prmoustache 30d ago
I used E17 for a while and the killer feature for me were independent virtual desktops accross monitors, meaning switching virtual desktop would only switch it on the monitor your focus was on.

I ultimately switched back to KDE despite that ergonomic advantage because it crashed too often and then to Gnome because KDE also crashed too often. Gnome has been rock solid ever since.

[−] wink 30d ago
People have different tastes and opinions, and I don't remember how GNOME looked in 1998, but KDE 1? 2? wasn't so great imho (saying that as a huge fan of plasma, and intermittent KDE user for the last 25y).

I used enlightenment for a bit and was very happy with it - just like some things on a desktop at home don't matter, but do on a laptop. I've more than once mangled i3 and gnome or xfce or kde together to have the "desktop environment" things like wifi and power management and so on.. whereas in the 90s on a desktop I cared about neither of these things.

And while this was all very much a long time ago, I don't see how enlightenment would have changed - it's just a bit barebones compared to a DE, just like i3.

[−] avereveard 30d ago
same, especially compiz era after good drivers and accelerated compositing became ubiquitous was wild
[−] madaxe_again 30d ago
E16 was the hook that caught me and landed me, flopping and writhing, on the decks of Linux - I saw a black and white printout of someone’s desktop, and immediately set about figuring out how to get this unbelievable coolness working on my laptop. By the time I was done I was muttering modelines in my sleep, and had already committed my first patches to a kernel module.

I wonder how many other teenagers got catfished into becoming software devs and sysadmins by the siren song of rasterman.

[−] exitb 30d ago
It's such an underrated advantage of open source operating systems that if you like some bit of software, you'll likely be able to use it for decades to come. Even a core bit of software like a window manager. I grew to hate how you need to conform to someone's whim at Apple or Microsoft, or else you get locked out of new features.
[−] zeruch 30d ago
The amount of abuse I hurled at Carsten Haitzler (Raster) during our time at VA Linux (where he worked on E as well as other stuff) was a complete sitcom unto itself; at one point he debated making a "zeruch insult generator" just to streamline the verbal abuse process.

I loved using the environment but would regularly harangue him for being glib on resource usage. It really was otherwise very ahead of the curve.

[−] ZoomZoomZoom 30d ago

> Sadly, the hang was deterministic:

Huh, someone's in it for the thrill of the hunt, I see...

[−] unwind 30d ago
Fun post! Very happy to see a 20-something year old find and fix bugs in an X11 wm from before they were born. Gives me hope.

There was some kind of editing snafu though, the loop header in the big (first) code block reads:

    for (i = 0; i < 10; i++, nuke_count++)
But the references to it in the text, and updated versions in the patches, show it as just

    for (;;)
That was confusing me a bit.
[−] pvtmert 30d ago
I liked the author's pragmatic take on the stability. Indeed that running bleeding edge now has implications to greater attack surface as the supply-chain attacks getting more and more common.

A nice and sincere excerpt from the recent past...

> Back when the XZ backdoor was introduced, I was scrolling through news on my Debian Sid laptop with some code compiling in the background. I learned of a backdoor in XZ Utils, potentially introduced by a state actor in version v5.6.0. Thinking back to the fact that I do, indeed, run a bleeding edge distro and update often, I immediately ran apt list --upgradable | grep xz-utils. Sure enough, the stains on my laptop from the coffee I spat out through the nose2 were pretty tough to deal with.

[−] pjmlp 30d ago
Oh, people are still using Enlightenment.

My last time I used it was still in the 1990's, before I settled into Afterstep and soon afterwards Windowmaker.

In what concerns my use of GNU/Linux, it was CDE on others.

Apparently nothing big came out of Enlightenment and Tizen.

[−] prmoustache 30d ago
Funnily, E16 was considered a rather eye candy but heavy WM/environment back in the i486 / early pentium days, now it is considered lightweight!
[−] BozeWolf 30d ago
I am still waiting for e17. I stuck to e16 for a long time until ubuntu got a thing which was much more convenient than gentoo.

I had the classic setup with the apache helicopter on the background and virtual desktops with preview. On MacOS however.

To this day i am still using a single screen, with virtual desktops ordered the same way.

[−] db48x 29d ago
I really enjoy a good bug report like this. More people should write up their fixes and publish them!

But the really weird thing is that I could basically copy and paste that code into an open–source game that I occasionally work on. I have an open bug or two about game items with long names that cause the UI to look weird where ellipsization is the obvious solution. With only a few trivial tweaks Enlightenment’s code would just work. It’s almost like we should have a library for that sort of thing.

[−] shevy-java 30d ago
Enlightenment is pretty cool. Some years ago though I realised that I just want the computer to be a fast and simple workstation at all times. That's when I kind of stopped using KDE (and GNOME3 but I did not use it to begin with, it always felt like an opinionated smartphone-UI pushed onto the desktop).

I think only few people use Enlightenment, so the resources to fix bugs must also be small.

[−] mrweasel 30d ago

> It’s themable, hackable, lightweight

Certainly wasn't considered lightweight back then :-)

I never saw the appeal of Enlightenment, but a very nice write-up regardless.

[−] sqbic 30d ago
I love Enlightenment still, even the new ones. The most important component of it to me is Terminology. What a gorgeous and functional Terminal emulator.
[−] _3u10 30d ago
I used that same theme back in 2003. Makes me want to reinstall E16
[−] kogasa240p 30d ago
Oh wow didn't expect someone my age to try out Enlightenment. Every so often I try to use Enlightenment (either e16/moksha or the latest version) but I always leave because it requires Connman and setting it up properly is a pain imo. Might try it again because of this blogpost.
[−] cheschire 30d ago
https://www.enlightenment.org/ Seems down at the moment.

Coincidence, or collateral hug?

[−] manbash 30d ago
I always appreciated how you can simply attach to the enlightenment process at any point, and also upon a crash.

The documentation is there: https://www.enlightenment.org/contrib/enlightenment-debug

[−] chriswarbo 30d ago
Whenever I try something else, I always seem to keep going back to E16. Back in the day, it worked well in Gnome 2.x; these days I tend to use it in XFCE, but it feels a bit less integrated.
[−] sandos 30d ago
"Re-attaching repeatedly showed the program was not deadlocked."

Why re-attaching and not just resume then ctrl+c ? Is this some kind of clever hack I dont know about.

[−] mghackerlady 30d ago
I really wish there was more EFL software :(
[−] smm11 30d ago
Good thread.

I've been going backwards to Afterstep and Window Maker theming. Maybe I'll get back to E in a few years.

[−] porknbeans00 30d ago
Still the best window manager ever made. Nothing has beaten it to date.
[−] hartror 30d ago
Wow I haven't used enlightenment since the 90s! So cool!
[−] kkaske 30d ago
These are exactly the kinds of posts I love. It seems technical posts like this are less and less on the internet. Is this a result of "vibe coding"? We don't feel like writing up posts like this when a machine did the work? Maybe it's a result of fewer and fewer people blogging. Maybe I'm just old and yelling about things changing.
[−] throwaway888666 29d ago
I still use enlightenment today in the form of Bodhi Linux
[−] wezardine 29d ago
very nostalgic :D thanks for a trip back down memory lane!
[−] lateralux 30d ago
e16 was truly unique... honestly the best Linux desktop ever made !
[−] Sanskarverma_08 30d ago
[dead]
[−] volume_tech 30d ago
[dead]
[−] consomida 30d ago
[dead]