draft0 - a shared blog by just some people

Menu

Entries tagged 'cat:Linux'

SBWG 0.11.1

I'm glad to have this version done and published. Even though it has new features compared to the last published version, I've used it enough to feel relatively comfortable saying it is also more stable and has fewer bugs than the last version. There are known bugs still left. But those aren't new.

Caching options and settings are slowly getting a bit elaborate, but also close to what I imagined them being able to do. There are new cachegroups and parts of entries can now be chosed as individual cachegroups, giving the user more control over what is cached and what caches are used. The lifetime of caches can now be set to make sure that no matter how the caching options are used, no outdated content, tags, attachments, etc. will stay on the web site for too long because cache files have been forgotten to be purges. The cache lifetime can be chosen from 1 second to unfinite. The directory used for persistant caches can now be chosen via command line option. I think the caching options are now in a state in which they can seriously be used reliably. Changes to existing cachegroups, like in previous versions, will probably not be made anymore. Just more cachegroups will be added.

The README file has grown a lot. Not only from new features and options. It's now also more complete. A lot of bugs have been fixed. And some general little code quality improvements took place. The stylesheets of the example web site have been improved a bit.

The messaging and logging system has been completely rewritten. It's not really an important part of the script and strictly doesn't matter for its functionality at all. But I decided to have a messaging system and a logging option that doesn't rely on shell redirects. So I did want to redo it properly. Different message types can now be redirected using file descriptors. The option parser has also been party re-written. It's approaching a state in which it's close to what I think personally a complete option parser for Bash should be like.

Alternate styles can now be defined in a web site's settings file. That way alternate style sheets will be offered to the web browser. If the browser supports alternate style sheets, the visitor can select from them to view the page in a different style. There is now an option to change the tagstyle, enabling a web site to have tags of the same type grouped for a more readable look of the entries' headers. Tags now show in parenthesis the number of entries that carry that tag. The number of file attachments is also displayed below entries.

The options for generating a single entry, page or gallery that is not located in the input directory/isn't actually part of the web site can now be used. They were very buggy or nonexistant before. Entries (and other items) with duplicate names are handled in defined ways now. Text files can now be used as file attachments to entries. But if the script determines one to look like a SBWG source file, it is omitted/not displayed/not linked to.

There are still big plans for future versions. Small and big features as well as a complete re-thinking of how the input directory is structured. Nicer looking web sites, more flexible command line options, more options for speeding up the script in cases where a complete website is updated/re-built. A pause like the one before this release will probably occur more often in the future.

Comment via email

When I started to really use Linux I followed the common suggestion to read all the relevant man pages. I skipped a lot. But I still sometimes feel like it is useful that I've read about a thing or another before. I attempted to read the bash manual back then, but it was just too much at once.

Many years later I started to use more of my shell's potential, which was still bash. Now I'm used to write scripts and have written a relatively large application in bash, but had never read the entire bash manual.

Until this year. I've read the entire bash man page. And yes, I did learn useful new things.

Comment via email

I like how "Linux on the desktop" is still the same running joke nowadays even though the vision has lost it's relevance as a goal.

Linux on mobile is nowaday's "Linux on the desktop". And don't make the mistake to think that Android is Linux and so Linux has won.

Here's a talk from this year about Linux Mobile: "Is there hope for Linux on smartphones?" by Guido Günther

Comment via email

SBWG 0.10.11

It's been two months since I published a new version of SBWG (and therefore since I worked enough on it to make me feel that an increase in the version number may be justified). I hardly get around to working on it, lately. But when I do, I try to make some solid small steps towards the improvements I wish do be done to SBWG.

So, now there is a new version (0.10.11) but I haven't published it yet because before I do I want to test it a bit more when I'm not as fucking tired as I am right now. Writing this entry could actually be considered part of the testing that I still want to do. But as I said, I'm fucking tired right now. So I'll continue this entry another time.

Edit 2022-09-12: I did some tests with fake content offline and feel confident that I fixed more than I broke in this version. I'll add it to the project page soon.

Two long procrastinate areas that have been overdue to get fixed for a while now are permanent caching and parallelisation. For permanent caching, the bugs that I found are fixed. Aggressive caching with option `--cache` (`-C`) works and certain groups can be selected (excluding others) for permanent caching. In my test this speeds up everyday web site re-generations by up to 100%. But it also means the user has to be aware of the cache files that persist after SBWG is done and will be used the next time. Changes to existing entries will not take effect without removing the relevant cache files. For parallelisation, the bugs that I found and that affect the generated HTML are fixed. I still consider parallel mode to be experimental. Sometimes messages on stdout are weird or cut off. But who uses very verbose mode and looks at every message anyway? Parallelisation is functional and usable is what I mean to say. In my test on a Core i5 with 4 cores (8 threads) it speeds up everyday web site re-generation by around 380% with default settings. It depends a lot on how much of web site generation is generating thumbnails and other image sizes of file attachments or gallery images. Those aren't sped up that much because the CPU already is the bottleneck for those. HTML file generation profits more from having more parallel threads than CPU cores (or threads) running.

Comment via email

SBWG 0.10.10

I decided to publish a new version of SBWG. I hardly got around to editing it in the last few months. So it doesn't really contain the new things that I had for a while intended for v0.10.10. But there were a few bugs that I wanted to have fixed in the latest published version. There still are known bugs. But now there are a few less.

Well, since it doesn't really contain anything new that's relevant, I didn't have to create this entry. But I did, so I'll use it to say I also fixed the RSS feed of draft0 and the menu link of steephlog on mobile. Bugs that I didn't know I had introduced in the last update and that were very happy that I didn't test things beforehand.

The things that did change since my last SBWG update just aren't that interesting. But I'll list some here, nevertheless: Entries can now have custom notes (using the 'note:' tag; Topic tagpages now also show the author names of entries; Srickied entries are now excluded from the RSS feed because they're just used as notices at the top of tagpages and don't belong context-less in the feed (there is a better solution planned); Error reporting inside of the script now includes information on the basis of which the clean-up routine can decide how to handle things differently for different errors and stuff; SBWG now locks directories; There is now a flag that hides attachments to an individual entry that are of a specific mime type, and, you could just read the CHANGELOG file instead of this if you really are interested in these little changes.

It'll probably continue to be slow in the foreseeable future. There are a lot of ideas in my head and several bugs in the code and probably vice versa. But time… not so much.

Edit: Oh, and another thing: I started to test updates and changes that I made to SBWG live on this web site because it's more fun if something breaks every other day. I'll pretend I don't mind.

Comment via email

Linus Torvalds in 1992 on comp.os.minix

Aparently this is somewhat a famous thread at least in the Linux community. But I'm neither a frequent reader nor a subscriber of any usenet content. So I didn't see it before.

Linus Torvalds in 1992 on comp.os.minix, apologizing for overreacting and ignoring netiquette: "my first, and hopefully last flamefest"

I guess hope wasn't enough. :)

Comment via email

Why is the Windows Subsystem for Linux called the Windows Subsystem for Linux when it is a Linux Subsystem for Windows?

Comment via email

Alternative Operating Systems

There are too many Linux distributions to list and too many Linux-based systems to try all of them out just for fun. There also wouldn't be much of a point to doing this. And there's nothing to say about Windows or MacOS in this entry. But I'd like to write a bit about operating systems not very many people have heard of. Specifically, I took a look at several lesser known desktop operating systems. This entry is like a forword to my coming entries about those alternative PC operating systems.

The less big OSs

There are a few other operating systems that aren't used on as many computers, aren't as well-known as the big three (Windows, Linux, Mac OS) and their derivatives, but are still important for their use case or niche. There's the extended family BSD, MINIX, the PlayStation system and many other Unix-like systems, there's Illumos and other actual UNIXs, a variety of DOSs and many even less widely used OSs for small niches. Those all deserve an article. But this is not one about any of those.

The discontinued ones

There are many UNIXs and Unix-like operating systems that aren't actively developed or not even officially supported anymore but still in use in various industries. (Never touch a running system!) There are many old systems that are still sometimes used by retro computing fans, users with nostalgia attacks and people who just never updated their machines since the 80s or 90s. I'd like to write an entry about those systems. But not right now.

The unnoticed ones

There's also a huge landscape of operating systems on embedded systems that are not primarily seen as computers, such as DVRs, cars, household appliances, toys, parking meters and many many industrial tools and machines. An article about how this landscape of proprietary in-house systems turned into a stable of Linux systems would also be worth writing. Or one that takes a look at some sleek systems, from tiny, incredibly efficient environments for 90s microcontrollers to larger systems like Palm OS. But my motivation for this entry right here is about something else.

The interesting ones

And there are operating systems that don't fit any of the beforementioned categories, but still have a reason to exist or at least had a reason to be made at some point. Independently developed OSs for personal computers that emerged from a single person or a small group of computer enthusiasts as learning projects, to prove a point, or as a recreational coding project. Those are the OSs that I'm interested in this entry.

For a long time I thought that such operating systems don't exist, don't reach a state in which they are worth checking out or aren't shared publicly. I did wonder why nobody seems to write alternative OSs just for the sake of it. Maybe the landscape of existing OSs and the tiny adoption of any OS that isn't one of the big three (or four, or five, depending on where you make the cut) takes away any motivation to start yet another small OS from people who would otherwise pursue such an idea, I thought. But it turns out that I didn't look closely enough to find them. There totally are working alternative operating systems that were made for the sake of it, despite Linux satisfying all requirements of the project's initiators in most cases. Many of them may have 0 to 1 users and some of them may have never and may never be used as anybody's main OS. But some of them are very interesting systems. I'd like to point out a few of those.

My initial intention with this entry was to write a paragraph or two about one or two handful of OSs. But I found that there is more to write and more projects to share about this topic for several different reasons. I will write separate entries about a dozen alternative operating systems when I find the time to check them out myself. I'll use the category Operating Systems for these entries. Since I found more than I thought I'll restrict myself to testing only systems that check the following boxes:

  • is actively developed/has received patches in the last 12 or 24 months or is in a state that seems satisfactory for daily use as a desktop operating system at least for some use cases
  • has a working installation or live image for x86 or x86_64 CPUs available
  • is not a distribution or variant of another system
  • can be considered or used as a stand-alone desktop operating system (no alternative UIs for other OSs or cloud based systems that need a modern browser on the local machine to be used)
  • is freely (at least as in beer) available in full (not just as a demo for a commercial OS)
  • boots on my test system (If I can't make it work, I probably won't mention it.)
  • Those are critera that I thought of and wrote down after searching and finding most of the projects I'll write about and after deciding which ones I find interesting. And I might ignore or change those criteria further when I feel like it. They are here just to give an idea on what sort of projects I'll pick out and write about.

    My impressions/conclusion so far

    There are more alternative desktop operating systems than I expected. I thought after the 90s the landscape has become very flat. But development of a number of commercial and non-commercial operating systems went on for much longer. There have been many large projects I had never heard about. Some of those have been officially ended over the years (like eComStation and Syllable Desktop), others are still worked on (like Redox, MenuetOS and MorphOS). I stumbled over so many names of OSs that are in a state in which they're not really usable as a daily desktop OS, that had been published on some now offline website or that have been discontinued years ago. I thought I'd try out most of what I can find and write an overview of the alternative desktop OS landscape. But that would be a project in it's own that would be huge and take far more time than I want to invest in it. Many names worth mentioning have not been mentioned here and many cool projects also won't be mentioned in any of the articles to come. For example I ignored commercial OSs, like ArcaOS. I just don't want to pay 129 $ just to test a system that I'm likely not going to use.

    I can already, after having only briefly tested a few systems, say that there are usable, stable systems that hardly anybody has heard of that are as good as any commercial OS from the 90s. That's good enough for most desktop users. Each with their own set of features and unique selling points, there are real decisions to be made when selecting an alternative operating system that go beyond the questions one asks when selecting the next Linux distribution during distro hopping. I am happy that there are more than one or two systems in a usable state that focus on supporting old hardware and/or using less hardware resources than we got used to with Windows, Linux and MacOS. Whether you're looking for something to run comfortably on an 80286 or something that runs ridiculessly fast on a modern 64 bit system. There are systems to choose from.

    Comment via email
    Mastodon