Pacman on OpenBSD (pt. 2)

A bit belated comes the second part of installing Pacman on OpenBSD. The previous post was about the attempt to get Pacman up and running on OpenBSD 5.6. In the end it failed because the OS did not know about the ‘blkcnt_t’ type. This was nothing that a non-programmer could fix easily – but fortunately this new type is available in the upcoming OpenBSD 5.7. So we’re going to continue with that.

Snapshot time

OpenBSD 5.7 was not released when I prepared the pictures for this post. Since it took me far to long to complete this article, it was released yesterday. Anyways: OpenBSD comes in three “flavors”: Release, Stable and Current. Releases (like 5.7) are made twice a year and stay like they are. If any problems with OpenBSD are found, patches are made available. The patched code resides in the Stable branch which you should track to keep a secure and up to date system.

And then there’s Current. This branch contains the latest code. It’s meant for developers, testers and all kind of people who like to live on the edge or who want/need the latest features. You can update a release or stable system to current, but especially in case of bigger changes it’s best to start with a snapshot – and we’ll do just that in a minute.

So far I hadn’t been looking into OpenBSD deep enough to use anything else than release/stable. Time for my first peek at current and thus the upcoming 5.7 release!

Installing the system

Setting up a new system, we’re meeting the installer again. I didn’t notice too many differences from 5.6, so I’ll just show some screenshots from different parts of it.

One thing that I didn’t show in the last post was the creation of the disklabels. If you want to work with *BSD you should get an idea of what this is before thinking about how to partition your drive(s). In short: While the PC allows for 4 primary partitions (a limit which was overcome with the extended partitions later), the systems Unix originally ran on didn’t provide such a facility. To be able to partition disks on those machines, disklabels were invented. On a PC you may think of them as “sub-partitions” since they are created inside “real” partitions to subdivide a drive further.

If you’re new to OpenBSD you may be astounded when you see how many disklabels OpenBSD creates by default. This is in fact a security feature. OpenBSD mounts /tmp with “noexec” for example which means that if an attacker manages to place a binary there, it’s not going to be of much use since no program can be executed on this partition. If /tmp had been part of the / disklabel this would not have been possible. Of course there’s more to the decision for each default disklabel but you get the idea.

Creating disklabels with the installer

Now if you look closely, you can see one difference between 5.6 and 5.7: There are fewer sets to choose from! This is due to the fact that etcXX and xetcXX are no longer separate tarballs but have been moved into baseXX and xbaseXX respectively.

While this is something that OpenBSD veterans will have to mind when updating, for us beginners it is not too exciting a change. And when doing a fresh installation it totally makes sense to have the etc set installed as part of base, anyway.

The etcXX and xetcXX tarballs were removed

While OpenBSD provides cdXX and installXX isos for each release, there’s only one type available for the snapshots. It is equivalent to cdXX which does not contain the installation sets. For that reason they have to be downloaded from the net before they can be installed.

Installation of the snapshot packages complete!

Once the installation process is completed, we can boot into the new system. Upon login the system identifies itself as “OpenBSD 5.7-current” – so we’re there and can resume the work on getting Pacman to run on this system.

My first OpenBSD of the “current” flavor!

Back to Pac!

Alright. From the previous attempt we know that Pacman needs a few things installed so we can build it. This time we just have a slight inconvenience: Using a snapshot there are no pre-built packages available. So that means it’s necessary to build each and every package using the ports system. Especially in case of the compiler this takes quite a bit of time.

I’ll skip over the details here; what I did was to build and install:

  • wget (to fetch the Pacman source)
  • bash (because Pacman needs it)
  • libarchive (used by Pacman)
  • gcc 4.9 (because OpenBSD’s old system compiler (4.2!) won’t build Pacman)
  • gmake (Pacman requires it to build)

After the source has been unpacked it’s time to configure it.

All dependencies built. On with Pacman!

Like last time configure is satisfied with the system. But unlike last time Pacman can actually be built now! So let’s go ahead and install it.

Compilation looks good

Now that it’s installed, it’s time to try and see if it actually works or if it’s going to segfault or anything. Fortunately it only throws an error because I didn’t provide any parameter. This is its expected behavior, so everything is fine so far.

Pacman is working!

Of course there are no packages available for OpenBSD which are compatible with Pacman. So we’ll have to create one ourselves. I’ve installed links via the ports for a little convenience so browsing the Arch Linux pages and getting the first PKGBUILD file is a simple thing.

Getting the first PKGBUILD file with links

What next? With the PKGBUILD file for it we should be able to build and package curl shouldn’t we? Of course we have to tell makepkg to disregard the package’s dependencies because there are no packages installed using Pacman on this system, yet. And since there’s also no gnupg available, we need to skip the checks, too.

Then makepkg is happy. Well, almost. It relies on curl to fetch source tarballs – and since we’re attempting to build curl in the first place this obviously won’t work. So in this case the best solution is to just wget the source and put it into the working directory.

Pacman needs curl to download sources – let’s just wget curl’s source

Next try! Makepkg unpacks the source, runs configure and – fails. Ok, the PKGBUILD file was created for Arch Linux and Linux systems only use GNU make by default and thus simply name it “make”. We’ll have to edit the file and replace “make” with “gmake”.

Much better: Curl is built successfully! However makepkg cannot package it because the fakeroot program is not available on our system. So the next step is to build and install that before trying again.

Curl built, but fakeroot is missing

After fakeroot is present on the system, makepkg is happy again and tries to package curl for us. But we’re in for another error message: This time it’s install complaining. The reason is that GNU install uses some extensions unknown and thus unavailable on *BSD systems. Now we’re really close!
The solution in this case is to modify the PKGBUILD file again, remove the offending parameter and create directories with mkdir. Next attempt!

Incompatible versions of BSD and GNU install

Success! The first Pacman package for OpenBSD was built!

Yay, first package built! :)

Now let’s install the newly built package and see if that works, too. Does it? Sure thing. And even if that’s a pretty short list of installed packages right now, the important first step has been made.

Confirmed: Pacman works

So let’s build another package and see if Pacman can make use of the now installed curl. I chose bash because that’s one more dependency of the package manager. And really: Everything is fine.

Pacman can now fetch the source itself

All done: The second package has been built. Now we could go on and build any other package. In that case we’d come across a lot of problems getting them to build on OpenBSD. That’s for sure. But that is general packaging trouble. The goal to bring the Pacman package manager to OpenBSD has been successfully reached.

Second package (bash) built

Pacman on OpenBSD – why?

OpenBSD features a package system that is both simple and tried. It does the job. But in some regards a more modern solution could do the job – well, better.

From the Linux perspective it is completely incomprehensible that only the programs which you install on top of the OS are packaged. The operating system itself is installed by unpacking tarballs. There is no package management keeping track of their files. This is the reason why some files have to be deleted by hand on every update. If the OS was managed by a tool like Pacman this would be unnecessary. Point 1: A fully managed system is cleaner.

The ports are a facility that works. But writing makefiles for everything is a rather tedious task, especially since make requires some black magic now and then to achieve special things. Pacman on the contrary uses shell scripting which is both powerful and easy to read. And I’d claim that it’s also far easier to learn than make for people who are not programmers (and package maintainers do not need to be programmers after all!). Point 2: Packaging via shell scripting is easier to write, read and learn.

Updating the OS itself is a special thing without a real need for this. If the system was managed, updating without booting a ramdisk to unpack tarballs would be possible. Point 3: It would make updating the system easier and more consistent (why should the core OS be treated differently from the application programs?).

There are more points in favor of a more modern package management solution but most of them are arguably a matter of taste.

Of course there are a few disadvantages of using Pacman as well. For one it’s not meant to be used for huge packages like the base system. It works well, but the possibility to patch the base system from one version to the next using deltas for all the files instead of removing the old package and replacing the whole thing with the new one, would be even better.

Another issue is the license: The *BSDs prefer permissively licensed applications over “copy left” models. And Pacman is GPL’ed software.

Nevertheless the combination of OpenBSD + Pacman is an interesting one in my opinion. If anybody else thinks the same – feel free to drop me a comment here.

What’s next?

I’ve got yet another *BSD topic in line. Since I was asked by some friends about FreeBSD, I figured that it would be a good idea to write a little tutorial / introduction to FreeBSD from the perspective from the average Linux user.

Pacman on OpenBSD (pt. 1)

It’s April fool’s time! You knew it: There is no ArchBSD/Open in the making (or at least I don’t know about it). But this year’s April fool actually has some real background – both on the technical and the social side.

Why?

Well, I had the basic idea for this fool since about the beginning of the year. I wanted to bring ArchBSD to the attention of my readers again since I really like the idea. But there was not too much news about the project. So I had to come up with something. And I thought that the humorous aspect of an April fool was just about the right thing.

There was another reason, however, and a rather strange one actually. A while ago I read somewhere that somebody was to leave Arch Linux (for various and IMO very valid reasons) and use OpenBSD instead. Right in the next post he was told in a condescending tone to enjoy the visit because he’d be back in no time anyways. I immediately hated that arrogance! Having been a visitor to *BSD land myself (and having liked quite some things there), the idea was born if there could be an Arch-OpenBSD blend like there was already ArchBSD for FreeBSD.

Just a joke logo

Behavior and sensivities

There’s a lot of bad behavior in the Linux world. On the forums of the now dead distribution CrunchBang I once read that there were also some Archers “creeping around” (there’s another distro, ArchBang, which follows the same design ideas but is based on Arch Linux). Obviously the poster didn’t have much respect for some of his fellow Linux users because another distribution fits their purpose best.

Another member’s signature made it quite clear why: UDOD (“Use Debian or die!”). I have no problem with such signatures or statements. In fact I think they are funny to some degree. The only problem here is: You never know if people are actually serious and do mean it.

Or have you ever witnessed what happens on the Arch forums if somebody admits to be using Manjaro or any other Arch-based distro? Quite often the reactions are… not exactly friendly. Use a different (even a closely related) distribution and you’ll probably make no friends.

Ironically, a somewhat similar thing can happen to you the other way around, too. Just go to the Gentoo forums and dare to ask a beginner’s question. Chances are that you are told how Gentoo is not for you and you should find another distro.

You really have to grow a thick skin in some cases! Fortunately there are also a lot of friendly and very helpful people around. And on the other side there’s this new trend to replace pronouns with “gender-neutral” ones… This takes every day’s imbecility to a whole new level where endless discussions arise not over technical matters but over real or imaginary sensitivities of some minority.

Pacman on OpenBSD?

But enough of that. The net is the net and people are… what people are. Anyways: I begun to wonder if pacman could be installed on OpenBSD, too. And since I actually I liked the idea, I decided to give it a try.

I don’t have too much experience with OpenBSD, yet, but I’ve been following the releases for about two years now and in fact I think it’s a great OS. So let’s install it first! Just like other free operating systems you can download in ISO image for the installation. There’s just one thing wrong with it: The name! No, it’s not a joke this time; the file is just named ‘cd56.iso’. Now I’m all for short names but it should at least be informative. And ‘cd56.iso’ clearly isn’t.

I’ve hated that with Gentoo: They offer images by the name of ‘install-x86-minimal-20150407.iso’ and the likes. Ok, by now I know that this is a Gentoo image but would it really hurt to state just that somewhere? And with OpenBSD it’s even worse: You cannot even tell whether this file is an ISO of a 32-bit or of a 64-bit system! That’s pretty bad. Now if you have both older and newer computers to deal with and download both, you’ll end up with something like ‘cd56 (1).iso’ which is just ugly. And to tell which file is which version, you have to take a look at the size as the 64-bit one is slightly bigger (or you have to remember which one you downloaded first).

Installing OpenBSD

OpenBSD comes with a simple text-mode installer. Simple in this case means that it’s simple to use. It let’s you choose how to install and does a lot of things for you then. Want to know what it can do? Just have a look at it! It’s a shell script.

Installing the base system actually means fetching and unpacking tarballs. This is a simple and efficient method. And while it means that the files for the base system are not managed by any package manager (the programs we’re going to install later of course are!), it seems that the OpenBSD people can live with that pretty well. Upgrading the system means extracting newer tarballs and removing some obsolete files by hand.

Installing OpenBSD 5.6 tarballs

Version 5.7 of OpenBSD is due next month so at the moment 5.6 is the newest version out and I’m going to use that. After the system was installed on the drive I’m prompted for the root password and a few other things.

Some more choices of the OpenBSD installer

Trying to build pacman

Now we need the pacman sources of course. Let’s install wget to download it. That program is available as a package for OpenBSD but to get that we need to tell the package system the path to a package mirror first.

Fetching pacman source with wget

Ok. After installing some dependencies for pacman (bash and libarchive) configure was happy. So we’re ready to make!

Trying to ‘make’ pacman

Oops. Pacman obviously needs GNU make and cannot be built with BSD make. So let’s install gmake and try again.

Compilation failed – installing a new gcc

Much better. The compilation begins. But then it fails. Looks like OpenBSD’s old gcc is not capable of compiling pacman… Fortunately there’s a newer version (two of them in fact) available as packages. Let’s install one, set CC to egcc (this is what the packaged newer gcc versions are called to distinguish them from the system compiler) and re-run configure before we try to build again.

End of the line: OpenBSD does not know ‘blkcnt_t’ type!

Now that’s not cool. The compilation failed again! And this time it’s not gcc’s fault. OpenBSD simply does not know the ‘blkcnt_t’ type. As there’s no way to fix that easily, we’re stuck. Aren’t we?

What’s next?

Actually we aren’t out of luck. The coming version 5.7 supports this type! In my next post I’m going to install a snapshot and use pacman on that system. Yes, I can already tell you that it works. I’ve already taken these screenshots (and the ones for the next post) mid-march. ;)

Puffy goes Pacman!

This post reveals a new Arch distribution: ArchBSD/Open! I know that this comes unexpectedly; I was surprised, too, after all. In fact it was just by accident that I learned about the new project that will be officially announced on the OpenBSD Journal any day now.

The new distro’s leaked logo

A bit of background

Arch Linux is a Linux distro that is small, simple and light-weight. And it has pacman! This combination proves to be a real success story. Besides Arch Linux we have today: Arch LinuxARM, ArchBang, ArchHurd and probably even more Arches!

Right, one of these other ones is ArchBSD – I’ve blogged about it almost two years ago. It is still around, so it obviously managed to survive. It’s a nice little distro but there’s one thing wrong with it: The name! Why that? Because it is a FreeBSD distribution and even FreeBSD users admit now and then that this is not the only BSD system out there! Right now all other BSD systems are discriminated against. This is a situation both unacceptable and unbearable which must come to an end immediately! It is a matter of life and deathjuice … justice!

Promised some background, eh? Here’s a daemon police wallpaper!

To reflect the fact that it is not the only BSD, the project totally needs to change the name to ArchBSD/Free.

A petition that will force the maintainers with tens of thousands of signatures will soon be started. Feel free to hop over to their forum and tell them that their project name downright sucks, if you can’t wait. Explain why and start demanding that the project be renamed. And while you are at it, tell ’em that ArchBSD/Free is so much cooler, anyway! It sounds more important, it’s more precise, more fun and more to type!

Puffy loves Pacman

There are three reasons why ArchBSD/Open was created. The first one is: With ArchBSD’s name change to ArchBSD/Free the need arose to provide an ArchBSD/something because otherwise that addition to the name would just sound stupid and be superfluous.

The second one: The world needs more Arch!!

That and the fact that Puffy just loves pacman (well, everybody does, right?)!

With so many good reasons for it, it was just a matter of time until a dedicated team formed to make the dream come true. Now the work for it is finally done and will soon be made public.

Puffy loves pacman!

Release time

Well, while the product is already completed, there’s of course one little detail which blocks the publication. No, it’s not even something technical. Or perhaps it is. Depends on how you look at it. The problem is: The webpage is not done, yet! Yeah, it’s the simple things in life which can cause the biggest trouble.

So what’s the release date? Unfortunately there’s no release date currently. Why? Ok, ok, if you absolutely must know, I’ll tell you. All technical difficulties of bringing Pacman to OpenBSD were solved rather quickly. But despite the team’s best efforts they have not been able to agree on the website design! Er, that is, there is no design, yet, which to agree on…

Think about it for a minute and you’ll see why: FreeBSD’s mascot is Beastie. He’s a daemon with a fork (and rather awkward shoes for whatever reason – probably he just likes them). That’s an easy mascot to work with as it is not hard at all to imagine an Arch daemon: A bigger, badder and probably even redder version of Beastie. But OpenBSD’s mascot is Puffy! Now how on earth does an Arch Blowfish look like and how to come up with a nice theme where it fits in?!

There have been voices inside the team to just make a simple webpage for now and get the release done. The OS was more important than the theme after all. Those ignorants have been kicked off the team of course and their access revoked. That’s a bit harsh? No, not at all! Sorry, this is OpenBSD after all. You cannot make a release without high quality artwork!

Puffy shot first! An example of the very nice OpenBSD artwork

Oh, stop complaining now, will you? If it weren’t for one of the expelled, I wouldn’t have learned about the project’s existence and that means you, too, wouldn’t. Now the big question is: Will ArchBSD/Open ever be released? *sigh* Frankly speaking, I don’t know. I didn’t manage to make contact with the project leader.

But after trying to get in contact for weeks now there’s one thing that I can say for sure: The whole team leaves a rather fishy impression!

TEK – The “Truly Ergonomic Keyboard”

This post is a review of the Truly Ergonomic Keyboard (or TEK for short). This keyboard is very different from any keyboard that I’ve head so far. And since it is not exactly cheap (about 190 EUR or 250 USD!) I thought that I’d write about it so people who think about buying it can read some facts first.

My last two posts were about closely related topics: 1) keyboards, ergonomics, touch-typing and common typist’s injuries and 2) alternative keyboard layouts. I’ve already made clear that I love my TEK there and in fact I’m so enthusiastic about it that I’m going to buy a second one for work as soon as I can afford it.

Truly Ergonomic Ltd.

With such a name the company won’t win a modesty award for sure! And the claim “A revolution in typing” is quite bold, too. But then again, there’s absolutely no need for being modest if you sell a product like that. IMHO this Canadian company could rightfully claim to have re-invented the keyboard or created a “keyboard 2.0″ / “keyboard reloaded” or whatever you want to call it. There are just so many things about the TEK that I’m having a hard time to decide where to start.

The company’s website of course explains a lot of things about the keyboard. I will of course mention everything that I deem important. But I’ll try to focus on my personal user experience with the TEK.

The dust cover that comes with the keyboard – a simple but useful idea!

A radical new approach

The first thing that you notice when you look at it is that the TEK reorganized the key positioning quite strongly. The letter keys stay in the same place compared to the classic keyboard layout. The same is true for the numbers, the Fx keys and the cursor (or arrow) keys. Same with Shift, Esc and so on. But this is more or less it.

Leaving the letter keys in their common position is a good choice because the TEK asks enough of you when you have to re-learn a lot of positions for the other keys. Most importantly: Return, Backspace and Del move from right of the letter keys to in-between. They are placed right in the middle of the keyboard. This feels very odd at first because typically you’ve been familiar with a position to the right for many years. It takes a few hours to get somewhat used to it and, at least for me, it took more than a week to feel “natural”.

The symmetric design makes the TEK look very nice. But aesthetics is of course not the real reason for such a radical re-design. Just as you would have guessed, the real motivation is – ergonomics! The little finger (aka “pinkie”) for example is much weaker than your other fingers. But instead of putting less strain on it, the classical keyboard requires you to use this finger for the Return and Backspace keys which are frequently used during the work day. Re-positioning these two keys so you can use your strong fingers for them makes a lot of sense from this perspective.

The TEK follows a very different keyboard design!

The Ctrl keys – required for a lot of key combinations – take the place of Caps lock and Return on the classical layout. Caps lock is a key most people use very rarely – if ever. Wasting the space of a nice big key for such a useless one is a shame. This is something not only the developers of the TEK have realized. There are some new laptop keyboards which simply remove the Caps lock key completely. The TEK moves it to the position below the Fx keys instead to make room for the left Ctrl.

Moving the Pg up, Pg down, Home and End keys to the left as another cross like the cursor keys, proves to be an excellent idea. I used these keys less frequently before because they were not within direct reach from the home row. Actually I didn’t even pay attention to that and it only came to my attention after using them really often on the TEK (to e.g. go to the beginning or end of a line). Whenever I’m typing on an ordinary keyboard now, this feels lacking an important feature: Those four keys without having to move the right hand off the letter keys!

Another useful thing (even though I don’t really use it) is the placement of the Fn key right below the Fx keys. You surely know this key from many laptops which however place it in the lower left corner of the keyboard. And that means you’ll need both hands to really use it (or completely over-stretch your fingers which is a very bad idea on the long run!). The Fn key on the TEK is in a much more reasonable position.

There’s exactly one design decision that I disagree with: Making Tab a small key is not a very bright idea. And I’m pretty sure that more people will think the same in this regard. Tab – the key for auto completion on the terminal! – a small key… However this is not really a problem. Why? Just follow along and see.

Fully customizable layout

Annoyed by the Tab thing? Well, just re-map that key. No, no, you don’t have to go through the pain of configuring your xmodmap on Linux or figuring out how to do something like that in Windows if you use it (or are forced to do so). You also don’t have to re-configure your keyboard on every computer you might attach it to. Why? Because there’s the Custom Layout Designer where you can create your own layout with ease.

Once you are done, you can download that layout and then flash the TEK’s firmware – so your changes are made directly inside the keyboard and thus completely independent of the computers you might plug it into later!

This is an extremely lovely feature. Think about it: The possibilities to customize your TEK are almost limitless. For example I’ve mapped Ctrl back to the lower corners of the keyboard and put Caps lock on the former Ctrl keys (remember that I’m using the sophisticated Neo² layout which uses Caps lock to access other layers with different characters for the keys). I’ve also re-mapped Return to the left Space key because I feel that two of them are a waste of keys. And thus the former Return key, a nice big one in an excellent position, is free for mapping Tab on it!

The layout designer is not only extremely easy to use. It also makes sharing your layouts a simple thing, since a link (a pretty long one of course) is created for it. View the layout that I use right now here as an example, if you wish.

Back side of the TEK: You can see the DIP switches here

On the back of the keyboard there are some DIP switches. Click on the image for a bigger version to have a closer look. With these you can change between Windows/Linux and Mac mode, choose the base layout for some countries (or for Dvorak) and if firmware flashing is allowed. Mine is set to German (DE).

The fully programmable custom layout is the one of the killer features of the TEK for me. There are only two things that I can criticize: For one the layout designer does not produce images with the current version of the firmware (v3.40 instead of v4.0 which the keyboard came with). I don’t know when they’re going to update the layout designer. For me it is nothing urgent as everything that I need works very well with v3.40 as well.

The second point is the more important one for me: Currently there’s only a Windows program to flash the TEK’s firmware! Probably not a problem for a lot of people who have at least one Windows machine. I don’t. And since I didn’t trust Wine or wanted to flash from VirtualBox or something, I had to set up a Windows machine to flash my TEK. This made me do something I didn’t want to do again – ever. While having breakfast I installed Windows 2000 on an old laptop. Then the service packs, etc… Ok, I’ll skip over the details. The outcome was that I was able to flash the keyboard and I did so quite a few times until I was satisfied with the layout.

I really hope that Truly Ergonomic releases a flashing software for Linux somewhen. OS X is probably first but anyway even this would be a huge step ahead IMHO. While I don’t have a Mac and thus would not directly benefit from it, it would at least give you a choice – and make a Linux version much more likely. ;)

More characteristics

Another pretty obvious fact is the very small size of the TEK. Truly Ergonomic Inc. advertise this as a huge benefit because the mouse can be closer to the keyboard – effectively reducing the way your hand travels whenever you switch between keyboard and mouse. I admit that I disregarded this point before I had the keyboard: There might be a theoretical benefit but it ought to be so little that you don’t ever notice it! Now I have the TEK and my mouse is much closer to the keyboard. Guess what: it feels good! I’m still using a Natural Ergonomic 4000 by Microsoft at work. And there really is a difference when it comes to a keyboard to mouse switch. It’s perfectly noticeable! So this is not just marketing after all.

The box which the TEK ships in

Less obvious is another strong point of the TEK: It uses mechanical key switches. In case you have no idea what this means I encourage you to do a bit of reading. For short: Most standard keyboards use a “rubber dome” technique to trigger a keypress. This is cheap to produce and is of rather low quality compared to other types of keyboards. Mechanical keyboards use a separate and independent mechanical switch for every single key and the key triggers at the moment you press it about half the way down. There’s actually no reason to press it all the way down. And thanks to the switches the keys are what is called “tactile”. It’s hard to describe the real difference while typing. Try it out for yourself if you’ve got the chance. I’ve come to like the mechanical switches of the TEK and many other people love the switches of e.g. Das Keyboard, a popular mechanical keyboard that uses them as well.

Another detail is that the keys of the TEK do not follow the standard key arrangement of placing them vertically staggered but in a straight line horizontally. In fact it follows the opposite approach – and this is a great idea! You won’t believe how much of a difference it makes if you didn’t feel it yourself. Our fingers do not all have the same length. The key arrangement of the TEK honors exactly this fact.

Remaining things

The TEK is advertised to be compatible with Windows, OS X and Linux. I’ve also used it together with FreeBSD and OpenBSD – just like you’d expect everything is fine of course.

Before purchasing this gem I read quite some reviews of course. There were complains from people who had problems with the so-called “ghosting” and such or needed to “type in” their keyboard before everything worked right. I never had such problems. My TEK worked from the moment on that I first connected it to my PC. But then again this was most likely an issue with the old 207 and 209 models and seems to be solved with the 229 that I own.

The only real problem that I noticed was that the embedded Num Pad (which can be switched on and off) behaves strangely and is not of much use. Since I don’t really depend on it, I simply don’t use it. However for some people this may be a total no-go. This is probably fixed by the firmware v4.0, but I didn’t try it out.

It’s much more of a shame that the TEK is only offered with an US layout. Again this is not much of a problem for me. But my wife is not happy with this at all. And as you can all imagine, this is NOT good (and does certainly not help to convince her that I need to spend so much money again to buy a second one!). Would be great if you could choose between some common keyboard layouts. I’d even be willing to spend some more money for a German one!

Back side of the box which shows some features of the TEK

Also many people wrote that the support of Truly Ergonomic Inc. is lousy and it takes extremely long to get an answer at all. I cannot say anything about this since I never had to contact them. (I’m thinking about writing to them about the Num Pad issue – if I do, I’ll update this article with the answer.)

Another thing is the detachable palm rest. I like it the way it is and never attempted to take it off. But I think for some people it may be nice to have an even smaller keyboard.

Depending on what you prefer, there are different models of the TEK. One model with wide Alt keys (model 227) which Emacs users will love and one with two normal-sized keys instead of one wide Alt (model 229). And then there’s an “MX brown”-compatible (soft tactile) and an “MX blue”-compatible (clicky tactile) version of either model. I’ve got 229 brown and that’s loud enough for me (at least until I finally learn not to push the keys down to the bottom!).

Conclusion

The TEK is not a keyboard for everyone. It is too expensive for many people and too different from the style everybody is used to. But for people who type a lot, who are willing to invest a bit of time to re-learn things and who take advantage of its special features (like the customizable layout), it is pretty close to the ultimate solution. It is well-thought-out in just about any area. A plastic dust cover for example is such a simple yet very effective thing!

The flaws that the TEK has are very few and mostly nothing too problematic. A choice between the US layout and some others printed on the keys would be my biggest wish, closely followed by a flashing software for Linux. However I guess that an updated layout designer to feature firmware version v4.0 is more likely – and of course I’d appreciate that as well.

Perhaps some of these wishes might come true if the TEK reached a much wider audience. Maybe even the price could be reduced then so that again more people could afford it. Ergonomics is an important topic when it comes to progress in the IT field. The TEK is not the only keyboard which tries to implement ergonomic considerations. But it is a very good one.

If you consider doing something about Ergonomics, to get a new keyboard and try out an alternative layout like Neo², Colemak or Dvorak, I suggest learning the alternative layout first. Trying to get used to a new layout while trying to adopt to a new keyboard will almost certainly fail. And learning a new layout is by far the bigger task – so it makes perfect sense to learn it on the keyboard that you are used to and make the switch afterwards.

Keyboards, layouts and ergonomics (pt. 2)

This is the second part of my article about ergonomic keyboards and keyboard layouts. In the first part I wrote about different characteristics of keyboards, touch-typing, typical injuries of people typing frequently and my first experience with an ergonomic keyboard: A curved keyboard from Microsoft.

Better ergonomics

Probably too late (I already suffered from pain in my hands) I decided to get one of Microsoft’s “Natural Ergonomic 4000″ keyboards. It’s quite a bit more expensive than the average keyboard but I hoped that it was worth the money.

The initial impression was at least ambiguous – or probably even negative. I could see the idea behind the ergonomic design and wanted to believe that its wavy style was superior to the simpler curved one. But the whole thing is a true beast of a keyboard! It’s very big. No, actually it is huge – and not only in length but also in height. The later is a problem if you (like me) have a sliding board under your desk where you put the keyboard. Chances are that it won’t fit there. And then, for a personal view, it is really ugly.

Microsoft’s Natural Ergonomic 4000 Keyboard (german layout) – This was my prefered model until now

It wasn’t easy to develop a friendly attitude towards that thing. The first day I used it, I had to switch to my old keyboard again to enter my boot passphrase. I’m the kind of guy who cannot remember his passwords but knows pretty well which keys he presses. And so it was nearly impossible for me to enter a long password at first because the keyboard felt very different from anything I had ever typed on before.

Another thing is the split design; I used to type the ‘b’ key with my right hand for example. This was no longer feasible with the new keyboard thanks to the gab. This was a major nuisance until I realized that it was not the keyboard getting in my way but in fact a bad habit of mine. From this perspective the new keyboard even helped me to get rid of that bad habit and I’m quite happy with that fact now. As I was getting used to it this became less and less of a problem (the same is true for the passwords). It took me about two weeks to adopt the new style enough to type without pressing the wrong key too often. After a bit more than a month things started to feel alright again. My typing speed however was reduced for many months and I felt that I never actually reached my best times again. But the reason for that was not the keyboard. It was myself choosing to learn a new layout.

National keyboard layouts

While the US keyboard layout can be found around the world when it comes to servers, it simply does not qualify for most languages. This is perfectly clear for the Russian Cyrillic alphabet, the Greek one or the Asian languages. But also most European languages which use the Latin alphabet as well, have additional characters which English does not have. This is why there are so many national keyboard layouts.

The default German layout (from Wikipedia)

However the additional characters come at a price: Some other characters are moved and may even require a combination of keys. The German keyboard is a fine example of a very bad keyboard layout today. It features the umlauts (Ä,Ö,Ü) and other characters, but some special characters are not very convenient to reach. In the days of typewriters it may have been ok because you would not need characters like the backslash, curly braces and so on. These examples are located in hard to reach places with AltGr+Plus sign, AltGr+7 and AltGr+0. The problem is that you need them a lot on the computer. Just think how often you need the curly braces if you’re a programmer… You see the trouble.

A lot of programmers in Germany actually just use the US keymap for work. I can work with US pretty well, too, but this is not the ultimate solution. Fortunately there are the so-called alternative layouts.

Optimized keyboard layouts

In the English world Dvorak is the best known one. It has the same characters as the default US keyboard but another layout. A lot of people claim that they can type faster with this layout. The idea here is that the letters which are most often used in English are placed on the home row (this is the “start position” where touch-typists have their fingers when they start typing). This sounds like a good idea but critics claim that there’s barely an improvement in speed it at all. I’ve never used Dvorak so I cannot say much about it.

The Colemak layout (from Wikipedia)

There’s also a less well-known alternative for the English keyboard that is a more modern variant: The Colemak layout. If you are mostly typing English text you may really want to try it out. It’s meant as an even bigger improvement over Dvorak – and it adds a lot of characters from other European languages! Whether you need a Spanish Ñ, Scandinavic Å or Turkish Ç – no problem. While I’ve never used it myself I must say that it sounds pretty good.

And then there’s the most advanced layout that I know of: NEO². It’s a modern re-organisation of the German keyboard that considers letter frequency of both German and English. It uses several dead keys (keys which do not produce a character themselves but modify the next key pressed adding an accent or something to a letter) and has six (!) layers. Thanks to that it can create special characters like the whole Greek alphabet (in lower and upper case) and dozens of special symbols. Thanks to that unique flexibility you can use it for pretty much any language which uses Latin letters!

The 1st layer of the NEO² layout (from Wikipedia)

The letters are the following: Every normal key press is layer 1. Shift+key press is for layer 2. Caps lock+key produces a layer 3 symbol. And so on. Isn’t it great to finally have a good use for that nice big key below tab? Another cool thing is that this layout is already shipping with X11. So in the Unix world it is always just one “setxkbmap de neo -option” away!

Re-learning to type

I admit that I knew about alternative layouts for years but I never cared to take a look. When I finally did, I decided to give NEO² a try. It was self-evident that it would not be easy to fight two decades of QWERTZ writing. And yes, I was in for a fair share of pain. I had to learn a new keyboard completely from scratch. Damn, where was that letter again? I decided to practice a few minutes every day and after some time I found the right letters after thinking a few seconds. My WPM (words per minute) literally dropped to < 10!

As a (previously) fast typist this was a very distressing experience and I can see why quite some people quit instead of really finishing the migration. It takes a lot of resolve and endurance. But hey, there's no free lunch! I decided to stick with it and kept getting better and better. One day I found that I could reach 20 WPM again, then 30. You can imagine my relief when I hit 50 again. Now I could type fluently type texts with NEO².

After taking a one more week to learn the most important special characters and feeling bold one day I decided to switch my layout at work. The password problem was back again and for some weeks I switched layouts back and forth when I had to enter passwords. But it was only a matter of time until this was no longer necessary.

I've been writing NEO² for quite a while now and I'm still failing to hit 70 WPM on random text. Since I quit practicing after reaching 50 this is pretty much ok, I think. Was it worth the trouble to switch over to a new layout? You bet it was! Learning NEO² was one of the best decisions I've made in the computer field next to abandoning the Windows platform. I can only recommend it to everybody who is interested in this kind of thing. Invest some time – it really pays off.

What’s next?

The next post will finally feature my review of the TEK (Truly Ergonomic Keyboard).

Keyboards, layouts and ergonomics (pt. 1)

This post is about keyboards, keyboard layouts and… ergonomics. No surprise here if you’ve read the title! But how come that I write about such a topic? Well, I’ve invested some of the money I got from my family for Christmas and bought a new keyboard. I was a bit skeptical at first because I’d really regret having spent my money on it if it wasn’t really good (as it hasn’t exactly been a cheap one). However just days later I begun asking myself how I could have ever typed with something else. And after a few more days all that I do regret is the fact that I’ve typed for way more than 20 years on more or less conventional keyboards!

Yes, I’ve been going on a lot of people’s nerves praising my new gem. So I figured that I might as well complete the circle and publish my pean here on the blog, too! (Ok, the more serious reason is that I’m suffering from severe pain in my hands like many people who type a lot and that I’d like to talk about today’s possibilities to avoid this.)

This first part deals with a few general things about keyboards and the problems that typists often have. The second part will be about optimizing your typing with alternate layouts and the actual review of my new keyboard.

Edit (03/01/2015): I’ve finally managed to add the pictures that I wanted to have in the article right from the beginning…

Any keyboard does the job, right?

If all you want is to play computer games or enter your password when you log in – probably yes. Even though it’s funny that there are “gaming keyboards” which can also be rather costly. But that’s a very different case and story.

For simple things every keyboard suffices. I own an old laptop that I still use sometimes just for the very reason that I can. Its keyboard misses some keys which makes it not all too pleasant to type on. But still it’s possible. Honestly: I have no clue how many keyboards I’ve had over the years that had some keys no longer working or no longer work properly. May it be due to Cola making some keys stick together or a worn off space bar which would only trigger if you pressed it with a considerable amount of force.

Microsoft’s Comfort Curve Keyboard 2000 (german layout) – the first ergonomic keyboard I had was such a model

I used to retire those keyboards from daily use (simply because they were annoying to work with) but usually kept them somewhere – just in case. You never know if you’d ever need them again, do you? Eventually I got rid of them. But in fact I actually did have a use for them a few times now and then!

So I can say that I’ve had quite a few keyboards in my life and that probably anyone does the job – depending on what that job is!

A matter of taste

There are a lot of different keyboards out there and in many aspects it really is a matter of taste. Some people like black keyboards while others want a white one. There are people who think it’s cool if the keys have background light. Some prefer the flat keys which you often find on laptops these days – others hate them. While many people like keys which do not need much force to be pressed, there are also those that prefer the opposite. Often I hear that somebody would never again purchase a wired keyboard but I know at least as many people who don’t like wireless ones.

It’s not hard to see that there just cannot be one single “perfect” keyboard for everybody. People have different needs and this alone defeats the idea of one universal best keyboard. And as long as you don’t type a lot it probably remains just a matter of taste. However if you type on a daily base this may no longer be the case. Right: No matter how much you type, the color remains pretty irrelevant. But other characteristics are worth a closer look at.

Microsoft’s Natural Multimedia Keyboard (german layout) – an older model with a PS/2 connector that I bought second-hand

But when are you “typing a lot”? If you can only type less than 30 WPM (words per minute) even if your life depends on it, you probably don’t qualify. Which of course doesn’t mean that you could not benefit from thinking about your keyboard again (everybody should try to get the right tool after all, right?). If you type faster than 40 words, you’ve clearly typed enough in your life to make it worthwhile thinking about how you type. Especially if you write “Eagle Finger” (“hunt and peck”) or use “your own system” as a whole lot of people do.

Typing – or typing properly

It’s perfectly sensible if people who barely type at all don’t bother to learn to touch-type. Unfortunately a surprisingly high amount of people who type regularly think the same. Why on earth to invest some time and effort that pays off hundredfold and thousandfold? Yeah, why? Just wait a minute – thousandfold? That’s a lot. And yes, I do mean it.

I had the luck to learn to touch-type properly when I was still at school. The hours that I needed for training were relatively few. After I knew where all the keys were (without looking), I just typed and typed and kept improving my skills while I was primarily doing other things. Even in a very pessimistic calculation the time that I saved thanks to proper typing by the end of the year was way more than the time I had “lost” by type training in the first place. Then it started to pay off and really saved me time for other things. And best of all: It still does and will continue to do so for all of my work life and probably beyond that.

Well, I’m the “typealot” kind of guy; I’ve been typing whole books into my pc at younger years because I can read texts written in Gothic type style (aka. black letter) pretty well – and being interested in history, I thought that preserving old writings which are no longer copyrighted was cool. So learning touch-typing has paid off more than thousandfold for me. Might be a bit less for the casual typist, but I cannot recommend learning to touch-type often enough. If you’re using a computer regularly (and chances are, since you are reading a blog like this!), invest that time. Unless you are an old guy who is already counting the days left to retirement pension, you will benefit from learning it.

Ergonomics in keyboards

When I talk to young people about Repetitive Strain Injury (RSI), Tenosynovitis or Carpal Tunnel Syndrome (CTS), they tend to dismiss it: “Ah, why should I of all people get this?”. I can fully understand that. Why? ’cause I’ve been young myself and used to think right the same then.

The rigid splint I’m wearing against the pain

As I grew older I begun taking these possibilities more serious – at least a bit. I had heard about those “ergonomic keyboards” that Microsoft was selling. More out of curiosity than of anything else I bought one of those “curved” things. Thinking of the conventional keyboard as the “normal” form, I found it strange at first. But I could type on it pretty well and it felt alright. It took me less than three days to adapt to the new keyboard and it was not too different from the conventional ones so that I had no problem typing on those, too.

I got more of these and used such keyboards for years. Not because the ergonomic design promised to protect my hands, but because I liked how it felt to type on it. Then I begun to suffer from Tenosynovitis. At first I just thought that I had a temporary problem with my right hand and that it would go away soon. It went away, yes. But it has been coming back again and again. Then I got it in the other hand as well. In the end there were only “better days” and worse ones. In the meantime I have a rigid splint that helps a bit but is also not very comfortable to wear the whole work day so I use it only on the bad days.

The rigid splint’s top side

So are those ergonomic keyboards a fraud? Mine didn’t save me from getting an injury after all! Well, I’m not really sure about the curved keyboard that I had in this regard. It might simply have happened even earlier on a conventional keyboard. But then there are even people who say that those keyboards are not any better than the ordinary ones. I wouldn’t go as far as that but they are probably far less effective than those marketing guys want you to believe. Still this would be the kind of keyboard that I’ll give to my children when they begin to type. Why? Because I think that it’s slightly better than the conventional form but still close enough to it so you can switch between them without much trouble (and let’s face it: There are simply far more ordinary keyboards out there!).

What’s next?

I switched to another ergonomic keyboard quite a while ago and learned an alternative layout. And finally I got what I consider a really great keyboard. That’s what I’ll blog about in the next post.

An interview with the Nanolinux developer

2014 is nearly over and for the last post this year I have something special for you again. Last year I posted an interview with the EDE developer and I thought that another interview would conclude this year of blogging quite fine.

In the previous post I reviewed Nanolinux (and two years ago XFDOS). Since I was in mail contact with the author about another project as well, it suggested itself that I’d ask him if he’d agree to give me an interview. He did!

So here’s an interview with Georg Potthast (known for a variety of projects: DOSUSB, Nanolinux and Netrider – to just name some of them) about his projects, the FLTK toolkit, DOS and developing Open Source software in general. Enjoy!

Interview with Georg Potthast

This interview was conducted via email.

Please introduce yourself first: How old are you and where are you from?

I am 61 years old and live in Ahlen, Germany. This is about 30 minutes drive from Dortmund where they used to brew beer and where the BVB Dortmund soccer team is currently struggling.

Do you have any hobbies which have nothing to do with the IT sector?

Not really. I did some Genealogy, which has to do a lot with IT these days. But now I have several IT projects I am working on.

DOS

You’re involved in the FreeDOS community and have put a lot of effort into XFDOS. A lot of people shake their heads and mumble something like “It’s 2014 now and not 1994…” – you know the score. What is your motivation to keep DOS alive?

I have been using DOS for a long time and wish it would not go away completely. So I developed these DOS applications, hoping to get more people to use DOS. But I have to agree that I have not been successful with that.

Potential software developers find only very few users for their applications which is demotivating. Also there is simply no hardware available today that is limited so much that you better use DOS on it. Everything is 32/64 bit, has at least 4 GB of memory and terabytes of disk space. And even the desktop PC market is suffering from people moving to tablets and smartphones.

People are still buying my DOSUSB driver frequently. They are using it mostly for embedded applications which shall not be ported to a different operating system for one reason or another.

Do you have any current plans regarding DOS?

I usually port my FLTK applications to DOS if it is not too much effort to do so. So they are available for Linux, Windows and DOS. Such as my FlDev IDE (Link here).

Recently I made a Qemu/FreeDOS bundle named DOS4WIN64 (Link here) that you can run as an application on any Windows 7/8 machine. This includes XFDOS. I see this as a path to run 16bit applications on 64bit Windows.

How complicated and time consuming is porting FLTK applications from Linux to DOS or vice versa?

It depends on the size and the dependencies on external libraries. I usually run ./configure on Linux and then copy the makefile to DOS where I replace-lXlib with -lNXlib plus -lnano-X. Then, provided the required external libraries could be downloaded from the djgpp site, it will compile if the makefile is not too complicated (recursive). Sometimes I also compile needed libraries for DOS which is usually not difficult if they have a command line interface.

You then have to test if all the features of the application work on DOS and make some adjustments here and there. Often you can use the Windows branch if available for the path definitions.

Porting DOS applications to Linux can be more complicated than vice versa.

Linux

For how long have you been using Linux?

I have been using Linux on and off. I began using SCO-Unix. However, I did not like setting things up with configuration files (case sensitive) scattered over many directories. It took me over a week to get serial communications to work to connect a modem. When I asked Linux developers for help they recommended to recompile the kernel first – which means they did not know how to do that either. So I returned to DOS at that time. But I have been using Linux a lot for several years now.

What is your distribution of choice and why?

I mainly use SUSE but I think Ubuntu may work just as well. This may sound dull but you do not have to spend time on adding drivers to the operating system or porting the libraries you need. The mainstream Linux distributions are well tested and documented and you do not have to spend the time to tailor the distro to your needs. They do just much more than you need so you are all set to start right away.

My own distro, Nanolinux, is a specialized distro which is meant to show how small a working Linux distro can be. It can be used on a flash disk, as an embedded system, a download on demand system or to quickly switch to Linux from within Windows.

However, if you have a 2 Terabyte hard disk available I would not use Nanolinux as the main distribution.

FLTK

Which programming languages do you prefer?

I like Assembler. To be able to use X11 and FLTK I learned C and C++ which I currently use. I have not done any assembler in a while though.

You seem to like the idea of minimalism. Do you do use those minimalist applications on a daily base or are they more of a nice hobby?

Having a DOS and assembler background I always try not use more disk space than necessary. Programming is just my hobby.

Many of your projects use the FLTK toolkit. Why did you choose this one and not e.g. FOX?

I had ported Nano-X to DOS to provide an Xlib alternative for DOS developers. In addition I ported FLTK to DOS as well since FLTK can be used on the basis of Nano-X. So I am now used to FLTK.

Compared to the more common toolkits, FLTK suffers from a lack of applications. Which three FLTK applications that don’t exist (yet) do you miss the most?

I think FLTK is a GUI toolkit for developers, so it is not so important what applications are available based on FLTK.

If you look at my Nanolinux – given I add the NetRider browser and my FlMail program to the distro – it comes with all the main office applications done in FLTK. However, the quality of these applications is not as good as Libre Office, Firefox or Gimp. I do not expect anyone to write Libre Office with a FLTK GUI.

When you awake at night, a strange light surrounds you. The good FOSS fairy floats in the air before you! She can do absolutely everything FOSS related; whether it’s FLTK 3 being completed and released this year, a packaging standard that all Linux distros agree on or something a bit less unlikely. ;) She grants you three wishes!

As with FLTK 3 I wish it would change its name and the development would concentrate on FLTK 1.3.

Regarding the floating fairy I would wish the internet would be used by nice and friendly people only. Currently I see it endangered by massive spam, viruses, criminals and even cyber war as North Korea apparently did regarding the movie the ruling dictator wanted to stop being shown.

Back to serious. What do you think: Why is FLTK such a little known toolkit? And what could be done about that?

I do not think it is little known, just most people use GTK and so this is the “market leader”. If you work in a professional team this will usually decide to go for GTK since most members will be familiar with that.

What could be done about that? If KDE and Gnome would be based on FLTK I think the situation will change.

From your perspective of a developer: What do you miss about FLTK that the toolkit really should provide?

Frankly speaking, as a DOS developer the alternative would be to write your own GUI. And FLTK provides more features than you could ever develop on your own.

What I do not like is the lack of support for third party schemes. Dimitrj, a Russian FLTK developer who frequently posts as “kdiman” on the FLTK forums, created a very nice Oxy scheme. But it is not added to FLTK since the developers do not have the time to test all the changes he made to make FLTK look that good.

What do you think about the unfortunate FLTK 2 and the direction of FLTK 3?

I think these branches have been very unfortunate for FLTK. Many developers expected FLTK 2 to supersede FLTK 1.1 and waited for FLTK 2 to finish before developing an FLTK application. But FLTK 2 never got into a state where it could replace FLTK 1.1. Now the same seems to happen with FLTK 3.

So they should have named FLTK2/3 the XYZ-Toolkit and not FLTK 2 to avoid stopping people to choose FLTK 1.1.

Currently there is no development on FLTK 2/3 that I am aware of and I think the developers should concentrate on one version only. FLTK 1.3 works very well and does all that you need as a software developer as far as I can say.

Somebody with a bit of programming experience and some free time would like to get into FLTK. Any tips for him/her?

I wrote a tutorial which should allow even beginners in C++ programming to use FLTK successfully (Link here).

Nanolinux

You’ve written quite a number of such applications yourself. Which of your projects is the most popular one (in terms of downloads or feedback)?

This is the Nanolinux distro. It has been downloaded 30.000 times this year.

NanoLinux… Can you describe what it is?

Let me cite Distrowatch, I cannot describe it better: Nanolinux is an open-source, free and very lightweight Linux distribution that requires only 14 MB of disk space. It includes tiny versions of the most common desktop applications and several games. It is based on the “MicroCore” edition of
the Tiny Core Linux distribution. Nanolinux uses BusyBox, Nano-X instead of X.Org, FLTK 1.3.x as the default GUI toolkit, and the super-lightweight SLWM window manager. The included applications are mainly based on FLTK.

After compiling the XFDOS distro I thought I would gain more users if I would port it to Linux. The size makes Nanolinux quite different from the others and I got a lot of downloads and reviews for it.

The project is based on TinyCore which makes use of FLTK itself. Is that the reason you chose this distro?

TinyCore was done by the former main developer of Damn Small Linux. So he had a lot of experience and did set up a very stable distro. Since I wanted to make a very small distro this was a good choice to use as a base. And I did not have to start from scratch and test that part of the distro forever.

NanoLinux uses an alternative windowing system. What can you tell us about the differences between NanoX and Xorg’s X11?

Nano-X is simply a tiny Xlib compatible library which has been used in a number of embedded Linux projects. Development started about 15 years ago as far as I recall. At that time many Linux application developers used X11 directly and therefore were willing to use an alternative like nano-X for their projects.

Since nano-X is not fully compatible to X11, a wrapper called NXlib was developed, which provides this compatibility and allows to base FLTK and other X11 applications on nano-X without code change. The compatibility is not 100% of cause, it is sufficient for FLTK and many X11 applications.

Since nano-X supported DOS in the early days I took this library and ported the current version to DOS again.

Netrider

The project you are working on currently is NetRider, a browser based on webkit and FLTK. Please tell us how you came up with the idea for it.

Over the years I looked at other browser applications and thought how I could build my own browser, just out of interest. Finally Laura, another developer from the US, and I discussed it together. She came up with additional ideas and thoughts. That made me have a go at WebKit with FLTK.

What are your aims for NetRider?

I wanted to add a better browser to my Nanolinux distro replacing the Dillo browser. Also, as a FLTK user I wanted to provide a FLTK GUI for the WebKit package as an alternative to GTK and Qt.

There’s also the project Fifth which has quite similar aims at first sight. Why don’t you work together?

Lauri, the author of Fifth, and I started out about the same time with our FLTK browser projects, not knowing of each other’s plans. Now our projects run in parallel. Even though we both use FLTK, the projects are quite different.

We have not discussed working together yet and our objectives are different. He wants to write an Opera compatible browser and competes with the Otter browser while I am satisfied to come up with something better than Dillo.

I did not ask Lauri whether he thinks we should combine the projects. I am also not sure if this would help us both because we implemented different WebKit APIs for our browsers so we would have to make a WebKit library featuring two APIs. This could be done though. Also he is not interested in
supporting Windows which Laura and I want to support.

Would you say that NetRider is your biggest project so far? And what plans do you have for it?

Setting up Nanolinux and developing/porting all the applications for it was a big project too, and I plan to make a new release beginning of next year.

As with NetRider it depends if people like to use it or are interested to develop for / port it. Depending on the feedback I will make my plans. Recently I added some of the observations I got from beta testers, did support for additional languages, initial printing support etc.

The last one is yours: Which question would you have liked me to ask in addition to those and what is the answer to it?

I think you already asked more questions than I would have been able to come
up with. Thank you for the interesting questions.

Thanks a lot Georg, for answering these questions! Best wishes for your current and future projects!

What’s next?

I have a few things in mind… But I don’t know yet which one I’ll write about next. A happy new year to all my readers!