Haiku (Pt. 2) - - - - - - - So I read up on the filesystem layout, got access to many more programs and libs, and learned a lot more shortcut keys. Here are some details from today: _Applications_____ I cloned the haikuports and haikuporter repos... but before I could do anything with them I noticed that there seemed to have been some form of package management update (_possibly_ enacted by one of my actions but possibly automatic) that added haikuports as a repository that delivers full packages. That made things easier. I could now use either HaikuDepot (gui package manager) or pkgman (cli package manager) to install much more standard programs (for me at least). First thing was to get vim. It was a modern version (8.6) and came with both gvim and the cli (which is the one I use). I cloned my dotfiles onto this system and away we went... to full vanilla vim. The way the folder structure works on this system is sufficiently different that the vim port for Haiku was not looking for it in /boot/home/.vimrc (the equivalent of ~/.vimrc). Instead it goes with all other user settings: /boot/home/config/settings/vim/vimrc Once I figured that out all was well and I now had a solid editor on the system. Up next I clearly needed to be able to access gopher and gemini content. I ran `pkgman install go` and got golang running on the system. The gopath variable was not set, so I needed to set it. I then cloned Bombadillo and tried `go build`. Nope. This is Go 1.4.something. Most everything seems to work, but there are two major problems: the TLS lib for Go 1.4.x does not have some of the features I used for Gemini authentication... so i just commented out all Gemini module references in the main module. Problem one solved. Problem two is bigger: `strings.Builder` did not exist at the time of 1.4.x. I use it everywhere. I, in theory, could make all of those into straight string concatenation (which would get a lot slower), but have not decided if I want to go to the effort. I decided, for the time being, to abandon the idea. Maybe I'll code something new in Go 1.4 for Haiku. I cloned Stubb, a lua gopher client I wrote a while back. I ran `pkgman install lua luarocks`. This got Lua and Luarocks (Lua's package manager) on the system. I thought all was well, but when I tried to use Luarocks I was told that "<lua.h>" is not present. I then found a lua_dev package and got that. Problem solved? Even after that I was able to get my package to install, but Lua could not find it, or any of the packages installed by Luarocks. I tried a `--local` install and had no better luck. So I am zero for two with gopher clients. I did get Lynx running though, so that will do for now. I noticed in the application menu there was a program called vision with an icon that looked sort of like a camera. I figured the other day that it was webcam stuff. It turned out to be a very usable IRC client. I connected to freenode #haiku for a bit. No one was talking though so I did not hang out too long. It was a pretty cool find though and I am sure I will use it more in the future. _Web Browser(s)___ The web browser WebPositive is servicable but glitchy, particularly on CSS animation and JS heavy sites. Lynx and W3M are avialablae as ports. That _may_ be it. I didnt dig too much deeper. It isn't a high priority for me on this system. I thought about trying to build Surf... but I was doubtful that the needed libs would be available. Maybe I'll try later. _Sound____________ While testing out the web browser I went to youtube to play Roger Miller's Doo-Wacka-Doo (listen to it if you haven't heard it... a very enjoyable old novelty song). The sound just worked. No problem. Another big check mark for Haiku support for my Thinkpad. So far prety much everything has worked out of the box. _Sleep/Hibernate___ I'm not sure what the Haiku equivalent of these ideas are. The shutdown menu does not offer a sleep option, just restart or sut down. The shut down is extremely fast and the boot up is really fast as well (from the first splash screen paint to meaningful usage at least). If I leave the computer sitting idly the screen will eventually dim and then "turn off". A key press revives. Closing the laptop also turns the screen off. I am not sure what happens with power consumption in either state. There is still a bit of fan hum coming from the system during these times. I imagine there is still pretty sizable power draw, but with the screen off it is likely reduced from what it otherwise would be. I have had pretty decent battery life on it in any case. _WiFi_____________ As reported yesterday the WiFi worked right away and continues to do so. It remembers my networks fine and has only had a hiccup once or twice where it couldnt connect and I needed to tell it to try again. _Workspaces_______ I got this one a bit wrong yesterday. The number of rows and columns of workspaces is fully customizable. You do not have to run the workspaces application as a standalone application to have a visual note of wher eyou are at: that application can be run as a widget (termed a replicant in haiku-speak) in the system tray (which appears on all workspaces). I have my workspaces set up to be one row with four columns, which is more or less what I would use in Gnome or the like (my tiling setup would be a bit different). I can hot key between them with ease (Ctrl+Alt+Arrow-to-whichever-direction). It is also possible to move a window to a new workspace by adding `shift` to the aforementioned key combo. _Terminals______ The haiku terminal (Terminal, which is an xterm-256color) seems to be the only terminal available. I could not find a port of any other terminal. I tried to build ST, but there were some issues with fontconfig missing. I did not dig into it too far. I will likely return to this and see if I can get things working as I would very much prefer ST. This Terminal is a little glitchy, but still very usable. The issues I mentioned in my last post about my cursor disappearing in my text editor Hermes still exist and also exist in Vim (though to a lesser degree). I also found out the proper place to install (or link) any local applications that I build: `/boot/home/config/non-packaged/bin`. _Docs_________ I had been looking at docs online, but it turns out the system actually comes with the user guide on the desktop and I just hadnt looked too closely. So it is good to know that if you install the system and dont have WiFi you wont be completely left in the lurch. I read the docs a lot today. They helped a lot with file layout (it is still a little odd to me and I am not used to it, but things are much clearer to me than they were), hot keys, configuration, etc. I'll talk more in depth about the file layout in a future post. It is an interesting design with pros and cons. _Day_Two_Thoughts__ I liked working on the system a lot more once I got a few basic pieces of kit available to me. I also generated some keys and got set up to login to my favorite pubnixes (I am writing this over SSH from my Haiku system). The thing about Haiku is that it is NOT a unix system. It does not work or feel like unix/linux except in the shell. In the shell it is tantalizingly familiar: Bash, GNU Core Utils, familiar programs (once you get that ports repo working). This blend of familiar and foreign actually is working alright for me. As far as desktop systems go it is really quite fast and nice to work in once you get used to some of its peculiarities (a big one is that `alt` is used for things like copying and pasting... `alt+c` or `alt+v`, as well as most other hot key combos. Ctl is used in some hot key combos and is still the key you would use for sending signals like Ctl+c. This is actually kind of cool since it lets you still have copy easily avialable as `alt+c` and SIGINT as `Ctl+c`). While it is not the system I intended to run and it does not exactly accomplish the goal I had for this Thinkpad... I am having fun with this system and think I may stick it out for awhile. For someone that just needs a fast and easy secondary desktop it works great. I can SSH elsewhere to do more heavy lifting coding tasks with newer libs if I need to. The connectivity is solid. The biggest current drawback to the system for me is the lack of a more recent Go version (1.10+ would be nice). I was able to get fully modern Python (3.8) and modern Lua. Both seems to work well, though there seem to be some package management quirks. I like building my own tools a lot so it seems like there are some gaps here that could be fun to fill... unfortunately the answer for filling them seems to be C++. We'll see. Their gui api has some really cool stuff available to scripting languages (like simple scripts to have really nice looking system native alert or file select boxes appear with next to no effort, even from bash scripts). If anyone out there reading this is a Haiku user please reach out and share some of your tips, tricks, and experiences. Or if anyone is thinking about trying it out and has quesitons feel free to get in touch as well. < sloum AT rawtext.club > Until next time, try to avoid the plague that seems to be going around ;)