draft0 - a shared blog by just some people

Menu

Entries tagged 'cat:Computer' (Page 2)

Alternative Operating System: Solar OS

This entry is referencing the entry 'Alternative Operating Systems'.

Solar OS

Solar OS is a one to few person project. An OS with a GUI with an early 90s feeling. Closed source, if I didn't miss something. There is an API reference, but not much help beyond that. I didn't see a software repository mentioned anywhere. I guess the most likely usage is with your own custom applications or ported software.

Solar OS's advantages are definitely its small size (< 1.44 MB) and how fast it runs (a 386 with at least 8 MB RAM should be enough). I booted it from a USB flash drive (using grub and Syslinux) on an Athlong 64 X2. It was as fast as it could be, of course. Although, movement of the mouse pointer is very laggy with screen resolutions higher than VGA. With HD resolutions it can't really be called usable with a mouse anymore. I don't know if that's a driver issue with my graphics hardware or what. This is not a problem with other systems that use a simple VESA driver.

But, there wasn't much to do to test how well, fast, comfortable, beautiful and error-free everything runs. There aren't many applications included. The things that are included do a good job of demonstrating the OS. There are things like a process manager, a picture viewer, a very simple text editor and other tiny demo and system applications. And there is a help decument, debugger, things like this. For a proper test, I'd wish for more applications to use for practical work. I don't know what exactly. It depends on what you need the os for. Maybe writing your own application would be best included in a test that aims to collect for experience about the OS.

It crashed after less than half an hour trying it out. Because it stopped responding before I made any screenshots and I didn't yet bother to boot it up again, see the screenshots page on the project web site. There are many screenshots that paint a good overall picture of the OS and its GUI.

Comment via email

Alternative Operating System: Visopsys (VISual OPerating SYStem)

This entry is referencing the entry 'Alternative Operating Systems'.

Visopsys (VISual OPerating SYStem)

Visopsys is a real hobby OS created from the ground up. It's very likeable like this. It has a GUI that is kind of a mix of a MacOS-9-style and Windows-95-style desktop. There are a couple of accessories and a limited shell. A very promising OS from what I've seen and read. But also limited in its usability as of now, from my own experience.

I've tried Visopsys 0.91, the currently latest version on the download page. Running it in a virtual machine is recommended because of the limited hardware support. But I think that it is fair to hold an operating system to a standard that requires it to be able to run on real hardware, not on another operating system. I tried it on five computers before I got it to boot. I'm not going to list all the hardware components (I'd have to look up all the motherboards - meh), but the CPUs to get an idea for the age of the system components. First a Core2Duo. It printed bunch of error messages to the screen that I didn't further investigate. Initialisation failed and stopped. Then an AMD K6. I got a message informing me that Visopsys will boot in text mode because of a lack of SVGA support and then it rebooted. The used VGA card is a very old one. So that might be correct. Then I tried an Athlon 64 X2. It did something, the loading bar appeared, then it rebooted. I didn't get anything else out of it. Then I wanted to give The K6 a newer graphics card. But while digging for one, I found another PC with a Celeron E3200 and tried that first. And it worked. So I didn't bother checking the K6 again.

Boot time to live mode is about 3 seconds. Incidently, I also learned something about booting from CD. Booting from any ATAPI CD or DVD drive took many times longer than booting from the same CD in a SCSI CD drive. Like 10 times longer. That surprised me. I didn't think there would be such a big difference. Maybe my IDE cable has a problem or I did something wrong. Anyway, booting from USB or an IDE hard drive was quick enough to not bother to measure how quick exactly (about 3 seconds). Edit: A likely explanation for the load time difference between the SCSI and the ATAPI drives is that the ATAPI drives were all modern, fast-spinning drives that take a long time to spin up before any data is read, as apposed to the old, slow SCSI drives that I have, that allow reading from the disk much sooner.

Installing to a hard drive is straight forward: Optionally choose a language other than English (this also changes the keyboard layout), coose a partition, click a few next buttons, enter a password for the default user account and reboot. There is also a partitioning tool available from the installer. But I didn't find a way go get back to the installer without rebooting. After booting the installed Visopsys and logging in, or after booting in live mode, you get a simple desktop with a few icons and a task bar at the top.

There isn't much to do. As far as I know the included programmes are pretty much all that are available for Visopsys. (Please do correct me if I'm wrong!) There are system settings, a very limited shell with a limited number of commands with very limited options, a few casual games, an image viewer and a few other simple tools. The most useful things included apart from the file browser are probably the text editor, the calculator and the telnet client. There is no web browser and no multimedia applications.

During the time I used Visopsys, nothing crashed or went fundamentally wrong. But I noticed a couple of small things that would need to be sorted out to create a comfortable user experience. The most obvious one is that while dragging, the dragged objects sometimes were lost and dropped too soon. Especially dragging windows vertically has to be done very, very, very, very slowly. It's as if the mouse button had a loose contact otherwise. Another thing I noticed when choosing a new desktop wallpaper. Once the directory in which to look for image files to be used as wallpaper has been chosen, the file names seem to be cached. Image files that I've copied into that directory after that were not listed before rebooting. Little things like this add up to create a bit of an annoying experience.

But I don't want to talk down the state in which the project is in. Many things are working slawlessly and depending on what you need your computer to be able to do, it might even fulfill many of the needs. A web browser is not one of them, though.

I've attached some screenshots that I took. The one where the Snake icon is selected. should have a window with the Snake game in it as well. I don't know why it isn't invisible.

File Attachments (3 files)

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

    Command Line Loading Animations

    Around the time I implemented the neat little waiting animation in SBWG I stumbled over a bash script that displays such animations. It actually gave me the idea. I mean, it's not a useful feature at all in SBWG. I just did it because I liked how fancy text based waiting animations can look with modern unicode fonts. I didn't use the code from the bash script that I found, or one of the animations (although there is a similar one there). So it effectively has nothing to do with SBWG and I don't know why I had to mention it here again. Anyways.

    Here is the script on GitHub by Silejonu. There are some very nice and really creative single-line example animations in there.

    Comment via email

    Looking for a 286 operating system

    I got myself a 286. A small tower PC made from collected parts from here and there, a clock display and turbo button, but a motherboard that doesn't seem to have a turbo mode. An MFM hard drive, Mitsumi CD-ROM drive, two floppy drives, a VGA card, IO card, a damaged case. It looks like I could have built it from parts I found here and there. I reckon that's how it was built. It's the first working 286 that I had since I so stupidly through out my IBM PS/2 Model 30. Well, it wasn't that stupid at the time. It was a conscious decision. But anyway. The only other time I had a 286 board was when somebody gifted me their old PC because it was both worthless and broken. The CMOS battery had leaked and I didn't know enough about electronics to make it work, had nobody to ask and internet wasn't really a thing back then.

    I had been looking for a specific model before: A Peacock 286 desktop. But Not only didn't I find one for sale so far, I'm pretty sure it would cost more than I'd be willing to pay for a vintage PC just so I could own the same PC model that was the first computer I ever used (for homw work in first grade). The first computer I had contact with was an Olympia People. I didn't even look for one of these because it would be a serious collector's piece and be respectively priced.

    So I got just any working 286 PC; just to fill the gap in what I therefore should now start to call my collection of vintage hardware. It just happened to be one with a working MFM hard disk. As if I didn't already have enough unfinished and unstarted projects now I even payed money to buy me another one. Because now I have to do something with this machine, obviously. I bought it weeks ago and it's getting bored.

    I thought about what OS I might want it to run. MS-DOS would be the obvious choice. Too obvious for my taste. CP/M after that. But that's too similar. I want something different. But I don't even know what other systems exist that run on a 286. Linux should be out. (Although I haven't yet looked if somebody has made some part of the kernal work on a 286. I doubt it though. No extended mode, no multitasking.) IBM AIX wasn't available for the 286 models either. Are there other Unix clones or versions that run on a 286? Of course there are. I just don't know them. Prologue comes to mind. And Xenix. What others are there? Which one should I try? I could test MikeOS on it.

    Comment via email

    SBWG 0.10.7

    So many ideas, so little time. So many todos, no little time. So little time, so much rest of my life. But the todo list has actually started to become a little shorter for the first time in a long time. As with the previous entries about my progress with SBWG, I'm not going to address or list everything that I've improved or added. But I feel like it's time for another update.

    File attachments pretty much work as intended now. Text files still can't be file attachments to entries, because text files are entries. But I think that will stay as it is for now because I don't need to attach text files to entries and if I would, I could gzip, bzip or 7z them. I mainly wanted file attachments for entry images and podcast support. Both works as well as I need it to. But some things could still be improved in the future.

    Referencing tags are improved, their notes look better and there is now a way to mark an entry as an update of an other entry, giving both entries a note that tells the reader about the newer/older version. And since this works now, I dropped the idea to introduce any form of content revisioning. An entry revision system would be over the top for a feature that I hardly use. This could still be implemented just with hooks.

    SBWG was relying on a feature of ImageMagick's mogrify that turned out to be a bug and was fixed. So I had to switch to convert with worse tolerance/support for broken image files. That's annoying, but I'm over it now. I mean, I wasn't complaining. Those tools are amazing and I'm so glad that they are free.

    There were a number of other bugs that I've fixed. Some of them old and overlooked. But most of them were introduced not long ago. Well, I guess that's what happens if you don't do proper tests every time. SBWG is starting to become a feature-rich tool and every new feature that gets implemented could cause trouble with other features or combinations of features. In early versions of SBWG I didn't always test everything I changed. I now do, and I now also try to think of some related things the change could have effected unintentionally and test those basically. But proper tests of all sorts of scenarios every time I publish a new version? That would be professional but not worth the effort in this case. If I'm not using a feature, it doesn't matter much if I break it. I think I'll probably do more extensive tests every now and then.

    Entries can now have comment links. If there is an email address available for an author, all their entries get an email link below them to allow readers to reply to them. For a public blog it might be best to use throwaway addresses that can quickly be replaced if they start to receive spam. I'd have some ideas to improve the email composed by this comment feature. But they would have to become HTML emails. So I forgot about them again.

    New tag types, expanded README file, improved navigation by adding parent links and things like this, improved CSS a bit here and there, very small improvements to the code style. I didn't make any relevant improvements or corrections in terms of code quality. I think this is where SBWG could improve most. It's not a professional thing, so I declare myself fine with the way it is (which isn't that bad compared to some other software, I think) but I could learn a lot there.

    Command line options can now be grouped to make typing commands easier. Long options (starting with --) didn't change (I may make those things POSIX-like, too, some other time) but short options (starting with a -) now don't need to be separated and all have their own dash. So sbwg -v -p -e blub can now be shortened to sbwg -vpe blub. And if you want to run the command again but with added verbosity, you can add the second -v wherever you want.

    There is now a waiting animation that starts to play if there is no update on stdout for three seconds. Both the animation frames and the time delay can be changed. The animation is only enabled if SBWG runs with any verbosity. Then it is enabled by default. It will be disabled by default in future versions though, I think, because it's such an unnecessary messing around with terminal output. It does work pretty well though. I thought it may be harder to make it work as smoothly as it does now (which isn't 100% perfect, but pretty good).

    The new default style set 'elth' is a working hybrid with different styles for small phone screens and larger screens of phablets, tablets and laptops. It's composed of several CSS files, which should make it easier to create a custom style now, since just the basics (without any colors and fancy embolishment and without any tag-specific stuff) can be copied for a template, or just the mobile style can be copied and used to create a new mobile style. Style sets can now also include files whose name don't end in '.css'. That means they can contain any file type. So JS or background images or whatever will be copied as part of the style set and placed in the 'styles/' directory of the generated web site.

    More things are now cached that may be used more than once in one run of SBWG. Permament caches (option -C/--cache) can now be enabled for only parts of the web site. I still need to decide how permanent caches should be managed. The way I had/have it in mind does not seem very intuitive. It is to me because I know how it's built. But... well, maybe it's enough that I think that it makes sense. Maybe I should just start using it and if it works well, write it down in the README file.

    Added new hooks, gave the helper scripts makeovers, made how HTML footers are made logical, sorted much of the remaining todos. Overall: progress.

    So, I've published SBWG version 0.10.7 now. I wish I'll find the time to create and publish new versions more frequently again in the near future. But I doubt I will.

    Comment via email

    Not turning my old Laptop into a cool-looking, silent HTPC

    When my old laptop was finally broken enough that I bought a new one, I disassembled it and reluctantly put its components next to a Pentium II board and an awesome old SCSI hardware RAID controller into a drawer. The display is still good, and so is its motherboard and IO boards. Still a working peace of tech, but without a working battery, solid case and fully functioning keyboard it's of no use to me. Unless I had a use case for another computer that's neither good for travelling nor powerful enough to justify being a stationary PC, this thing would rot in this drawer. But I had an idea for a case that would give it a new purpose as a media station. One mSATA system SSD, three 2.5" media HDDs (or SSDs), a wooden enclosure, six large copper heat sinks that would protrude the left wall to allow for passive cooling of the CPU and GPU. The picture in my mind is really nice, it has a 4th gen mobile i7 CPU, a decent GPU, a good enough DAC, all relevant video outputs, I have the parts, drive bays, heat sinks, heat pipes, wood, ... But, it was apparently never important enough to me to get started. I doubt I'd use an HTPC much. And so it is still rotting in that drawer.

    Does anybody want that PC? I'd build it.

    Now my new laptop has started to degrade. Battery, keyboard, touch pad. all the parts that wouldn't be required to turn it into a stationary HTPC. It lacks the four SATA ports. But it has a fast NVME and a fast enough USB for more than four SATA ports, needs less power, the mainboard is much smaller. So it would also be a good candidate for such a PC. But I still don't need it except as a travel notebook. Sooo, I guess that's the end of this PC case idea.

    Comment via email

    On Notetaking; Minimalist Web Notepad (and an edit function for SBWG)

    There are so many ways to take and organise notes… I stopped thinking about it. I stopped trying to organise the right kind of notes in the right place, right kind of software or in the right structure. Some things I write on a piece of paper, which may or may not lie around and in the way for weeks, or I put it in a file, or create a bookmark. Or a write it in a terminal so that I can grep it from the history later. Or I send myself an email. Yes, that's still something people do. I do it even though I know there are better ways to save and sync notes across devices. There are so many better ways that I can't decide on which I want to use. There are so cool, sweet and genius little (nd not so little) apps, CLI tools, TUIs and web UIs that people recommend. I don't want to spend years testing them so that I can decide which I want to use with which config. But there is one that I adopted qhickly and gladly. I guess I stumbled over it just at the right time or I wouldn't have installed it, and wouldn't still use it years later.

    It's called Minimalist Web Notepad. I'm not sure if the linked Github is from the originl author. Feel free to check yourself. There are quite some forks. One reason for that may be that its name is very much a complete description of what it is, and the minimalism is enforced by the maintainer. If you want any feature on top of the core functionality, you have to add it yourself or look through the forks. Upon installation you choose or create a directory in which the notes are saved. Then you can pass a file path through the URL when you open the app, and it will display the contents of the file. If you edit anything in the notepad, it will be saved immedietly to the file (if JS is enabled). If the file didn't exist, it will be created. So, this notepad can be used as a simple addition to the practice of collecting a convoluted mess of text files that contain notes, which is perfect for me. There is no password protection (in the original version). But Apache can already do that.

    And I found another use for minimalist-web-notepad. I started SBWG on the idea that more things should be files. The concept of everything being a file works great in Unix-like systems, which device drivers and kernel components that create those files as sensible interfaces to things. But I like the idea of things being files independently of sensibility and efficiency. Maybe that's why I like minimalist-web-notepad. There, notes are files, in SBWG, blog entries are files, in my etherpad-lite, pads are files. Wait a moment… if I use the entries directory of a SBWG web site as the notes directory of minimalist-web-notepad, I could edit blog entries in the web browser. And so I did that, and added a hook to the settings file of draft0 that includes a link to every entry that links to the notepad of that entry. For a while now there has been a hidden edit link in every draft0 entry that allows me to edit blog entries quickly without moving away from my principle of not adding any client-to-server interaction to SBWG.

    See, that's why it's great to agree on formats (and standards in general). The author of this minimalist-web-notepad didn't know about SBWG, but just kept the tool simple and file-based, and thereby created a blog entry editor for SBWG web sites that fits perfectly, accidently.

    Just in case anybody wants to add the same hook to their SBWG settings file, here it is:

    
    # Add an edit link to every entry's title section (when the entry is displayed on its own page)
    hook_entry_title_tags_after() {
      echo "edit" >> "${outfile}"
    }
    

    Replace https://edit.draft0.de with the URL to your minimalist-web-notepad (or other editor) installation. Make sure to protect it from anonymous access, unless you like surprises, I guess. If you want to hide the link, too, use CSS or change the link text to '.' or place it differently by using a different hook or be creative or use a browser extension instead of the hook.

    Comment via email
    Mastodon