Haiku (Pt. 1) - - - - - - - I tried out Haiku. I'm going to write a phlog or few about it. _BACKGROUND_______ In the late 90s I had really really wanted a computer running BeOS. I did not have the money for such a system (I was using hand me down 386 machines running Windows 95 in those days). Fast forward to now. I have been, like many others lately, thinking about other options outside of Linux. Without making this phlog about those reasons, lets just say I am not happy with a number of things about the direction of Linux. So, I decided to do what seems a popular option: buy a cheap Think Pad and put BSD on it. I put FreeBSD on it. There was mostly minimal fuss working with the FreeBSD installer and I got it on the laptop with relative ease. However, the BSD docs seemed to be incomplete or just plain wrong (likely outdated rather than wrong) in a number of places. In the end I had a lot of trouble getting the right video driver set up and could not get X11 up and running. I was able to get xmd as a login screen very briefly but it would not actually let me log in to an x session. I kept getting a "no screen found" error. After a lot of time and effort I decided to scrap it. I tried out GhostBSD. It installed no problem. Everything worked... but I didnt like it. The whole point was that I did not want a whole desktop environment... I just wanted a tiling WM and a few basic things that I use regularly. So I put Awesome on it, since I found evidence that it would work. It did... but I still knew it was sitting atop a lot of stuff I did not need and did not want. From there I decided, lets get weird with it. I have this extra laptop... what systems have I always wanted to try on actual hardware? Plan9/9Front was my first thought, but after the headache I had with FreeBSD I figured maybe that was a little much for the moment (I may be wrong, but I assume the installation would end up just as problematic). Then it dawned on me: Haiku is supposedly stable at this point. So I decided to try it out, and here is how it has gone so far... _INSTALLATION______ The uncompressed iso was just over 800mb. I put it on a USB drive, plugged it in, and switched the laptop on. Once I selected my boot option I was quickly greeted with a very lovely splash screen and a few options. I chose install. The intaller is a graphical installer and required no configuration on my system to get the video running. All of the GUI stuff was very polished. Similar to many other installers it asks for a few basic bits of information and requests some guidance for partitioning and the like. The install was _fast_. Then a reboot and I was in. _FIRST_THOUGHTS____ I, as you may imagine from my earlier mentioning of wanting a tiling WM and a terminal, am not much for a mouse centric computing experience (which makes me question whether or not I'd really like Plan9 either). The system is very much a traditional desktop system. The icons and graphics are all very polished and sharp. It booted up really quickly and was very very snappy. The Haiku desktop reminds me a lot of my experiences using the pre OSX Mac OS. I cannot say that I love it, but it is interesting and feels like a modern take at a retro kind of desktop system. Most basic applications are present: terminal, text editor, media applications, etc. The Wifi worked out of the box; I just needed to enter in my network details and all was well. The font rendering of the system seems a little off, in particular in the terminal application (which seems to be an xterm running bash). Speaking of the terminal, it is glitchy and leaves a bit to be desired. Most of the GNU tools you might expect are present (gawk, gcc, make, info). Sadly, the only terminal editor I could find on the system was Nano. For those that do not know: I despise Nano. Once I realized that I thought, "oh, I must just need to grab stuff with their package manager". So I took a look at that... the system comes with around 90% of what is available from their package manager. No Vim/Vi/Emacs/Ed/etc to be found. So, being on a quest to make this work and be usable to me while still trying to give Haiku a chance to be itself I pulled (git is installed by default) my text editor (Hermes) and tried building it from source. I got a small compile error about basename not existing. I had gotten the same error on OSX and had already made a preprocessor IFDEF for handling that, so I just added testing for haiku to that so that libgen.h would be loaded and I was in business. It compiled and I now had a working editor. I am using that editor now as I type this. The only weirdness in the Haiku terminal is that the cursor seems to randomly disappear and reappear, but it does not affect general usage. I searched out other repos and found that there were more that could be added. Doing so got me some better fonts but not a whole lot else. So I decided to see what kind of customizations could be done to the GUI system. Turns out they take a GNOME sort of approach and do not offer much in the way of user customization to applications or the system itself. I am mixed on this. There is something to be said for simple and functional... if it works well. For the most part it does. Haiku uses an odd dock/launcher thing that sits somewhere between the windows start menu, a dock, and a system tray. Not all of the shortcut keys have been working for me as the docs state they should, but I do like a lot of the way things were designed in that regard. Navigating workspaces is really easy. As far as I can tell there are four work- spaces. Each of those has multiple rows and columns worth of desktops that can be navigated. This ends up being so much as to feel like overkill for me. That said, navigating around them and between windows is pretty wuick and easy once you get the hang of it. The only thing I do not like is that there is no indication when you switch column, row, or workspace which one you have moved to. You just have to track it in your head. Which is mostly ok, but is a little annoying. They do have a "workspaces" application that you can run to move between them by clicking on the one you want in a grid... but I dont care for that workflow and it is just one more floating window to deal with. Speaking of floating windows, they do have a cool-ish thing going on where windows can be snapped together and then moved as a group. This can happen on the sides or on the top or bottom. THe windows also allow for a stacked system where you drop them on top of each other while holding the super key and they will form a single unit with one displayed at a time and a tab-bar-like structure along the top allows you to switch to different ones quickly (hot keys are available for that switching as well. It comes with openssh and I had not issues using the terminal to connect to some of my favorite pubnixes (which brought me back to a more normal computing environment). Haiku also comes with a web browser. It was nothing to write home about, but did seem serviceable if possibly a little outdated. I do not know off the top of my head what render engine it uses and dont feel like looking it up, but I will write more on the browser in my next entry in this series. The system seems stable and light. It does not seem to run heavy at all. The file structure/layout is a huge mystery to me. It does not follow the unix/linux style and I have not worked it out fully where things should go. There seems to be a duplication or mirroring happening in two areas of the filesystem as well that I have not found good details on. The documentation is great for getting installed and for the basics, but is lacking from that point forward. I did start digging into the development docs a bit. All of their main dev seems to be in C++, which does not appeal to me at all as I just never felt comfortable in the traditional OOP languages (Java and C++ come to mind, smalltalk too I suppose, though my experience there is more limited). They have some tools for building packages and doing ports and I may decide to play around with those at some point if I end up sticking with Haiku for logner than a test drive. All of the hardware for the thinkpad that I have tried has worked out of the box with no config: video, wifi, and the trackpoint are all working. I have not tried sound yet but will try to do so tomorrow and report back. The media keys do not work, but I think that is a solvable problem. They provide a number of utilities for modifying the keymap and for building shortcuts (running commands based on key combinations). In the end, my first impressions are that it is a stable and light system that would be great for someone like my Mom. Maybe not so much for me. I am going to spend a little time with it though and dive a little deeper. I'll do another update or two as that happens. Oh! I forgot to mention: part of the filesystem weirdness likely comes from the fact that Haiku (and BeOS before it) is a single user system with no support for multiple users at all; by design. _UP_NEXT_______ I found out that there is a system similar to Gentoo portage for Haiku. I looked into it and it seems that if I want to apply some diffs and build some recipes I can get Vim and tmux and a number of other goodies. I wonder if I can get ST to build on it. It would be nice to leave their terminal behind me. I plan to try out this system and report back about my successes and failures. I will also try to get some sound or a movie running and see how that goes. If you have made it this far, thank you for reading my more or less unedited ramblings about a kind of odd kind of too vanilla (so far) opperating system. There are lots of cool things about Haiku (its filesystem allows attributes to be added to files and then to query for those attributes... which is kidn of cool; for example) that I hope to talk more about in future phlogs.