Get proprietary software out of schools!

I just set up a Linux computer for my young fellow so he could access Literacy Planet, a requirement of his curriculum. The install went well on an old Athlon 1900+ box of Slackware 14.1 with XFCE as the window manager. For those of you who don’t know Linux  (or GNU/LINUX) is an alternative operating system for computers, usually replacing Microsoft Windows or Apple OSX and is generally considered free software. Linux comes in many flavours, called distributions; for example Ubuntu, Linux Mint, Fedora, Arch and Slackware are all Linux distributions. They all vary in certain ways due to the individuality of their respective maintainers but they all have one thing in common; The Linux kernel.

Free software isn’t just free as in gratis. The user is free to modify and redistribute the programs as they see fit under the terms of the appropriate licence. Free software is often referred to as Open Source. While free software is all open source, not necessarily is all open source software free software.

Of course Linux is not for everyone. People buy a computer so that it “just works” out of the box. Linux requires re-installation in most cases but there are some hardware venders that do offer Linux out of the box, the most famous being Dell. Still, most consumers will be used to either Windows or Mac and purchase accordingly.

Free software is also available for Windows and Mac computers. For example, an alternative to Microsoft Office is LibreOffice; an alternative to Internet Explorer is Firefox (disclaimer: Firefox is not entirely free software as it does contain some non-free parts, however there are 100% free spin offs of Firefox). There are many more examples covering all types of software. You don’t need to be a geek to use these program, you just need to have the desire to take back your computing power.

One of the key advantages to free software is that many eyes can look over the source code and when bugs are found they are fixed almost instantly. This also improves your security as back doors are not put in place by design. With closed source proprietary software, no body apart from the programmer and his boss know what is in the software and they decide if and when security holes and bugs are fixed.

Back to the recently formatted Slackware box.

After I set it up the login, network and a nice wallpaper and icons, I browsed to Literacy Planet and proceeded to log in to my young bloke’s pre configured account. I was greeted with a splash screen..


Looks like you don’t have the latest version of Flash Player installed.

Not to worry, you can click here to download it (it’s free!)

Gasp! WTF???

I could not believe my eyes. An “educational” site, endorsed by the school curriculum, telling me to install Flash Player because “it’s free!”… and “not to worry”. Flash Player would have to be the single most insecure, buggy piece of software in existence yet we all use it daily. What makes it worse is that there is a free (as in beer, as in speech) alternative that has been around for years now, and it is cross platform; HTML5.

Yes, I do use flash out of necessity, but it is permanently blocked and only invoked if absolutely needed. But why do programmers and their employers still insist on using it? This is lunacy. Especially when education is involved. Flash no longer supports my old Athlon 1900+ processor now anyway so I can’t install it even if I wanted to. Html5 works perfectly on that old box.

I can’t help but think that this is a political decision by the powers that be to continue supporting their “mates”. Surely educators are aware that not everybody can afford the latest and greatest and especially in this time of increased security awareness that not everybody is as gullible as to accept “she’ll be right mate! It’s free!”


pmcputemp – cpu temperature monitor

Another one for the Poor Man’s suite.


It’s  a status icon giving a real time readout of your CPU temperature. Handy when under heavy load.

Get it here.

More cairo and Xlib fun! Oh, it’s a GtkStatusIcon made for gtk+-2.0 but works with gtk+-3.0.

pmck – A poor man’s clock

I have written another app based on Cairo and Xlib that should run on any UNIX variant (tested in Linux).

Poor Man’s Clock

That’s exactly what it is. An analog desktop clock that does nothing but show a clock face! It is however a halfway decent demonstration of the Cairo library in action, displayed on screen with Xlib.

Get it here.

cairo-msg – a simple splash message app

I have been busy coding a splash app in C for Linux (or other UNIX like OS) that is designed to be simple, light weight yet “pretty”. It uses the Xlib and Cairo libraries and stripped, the binary is only 11k.

There really aren’t many light-weight options for a general purpose splash message app, for what I want anyway. Sure there is zenity, yad, Xdialog, gtkdialog (all dependent on gtk), xmessage, yaf-splash (Xlib) and others like Kdialog (KDE) and probably a bunch more but all of those are either too complex or don’t do what I want without some convoluted scripting techniques which slow things down and introduce margin for error. I wanted something simple that only needs to display a few words with a coloured background indicating what kind of message we are displaying, preferably with an appropriate icon . It had to display in a prominent position on screen (adjustable of course) and with no window decoration. It had to support all fonts so had to be unicode compliant. It had to have a variable timeout, without resorting to hacks like this:

splash-message "bla bla bla" &
sleep 5
kill -9 $pid

So, like all hackers, if you can’t find the tool, make the tool! cairo-msg was born!

Check it out on my GitHub page.

NB: This is tested in Slackware64-14.1 (KDE), Slackware-14.1 (Cinnamon) and Slacko Puppy Linux (64 and 32 running JWM).

FatDog Arm Beta 1

James (jamesbond) has released FatDog Arm Beta 1!

After being in the cooker for over two months, I can happily announced the next release of FatdogArm: the Beta1 release.

Release Announcement

Release Notes

FatDog arm is designed to run on ARM CPU supporting ARMv7-A instruction architecture. It is targeted at A10/Mele, A20/Cubieboard2, Odroid-U2/U3, OLPC XO-4 and OLPC XO-1.75 but with a bit of hacking can be adopted to other platforms, providing the CPU is compatible.

I have an Odroid U3 and while it is beta software it runs great. Plenty of software available in the repository too. It uses GSlapt/slapt-get for package management so it is easy to fatten up FatDog Arm.

Test away! (Bug reports here)

Slacko 5.7 Released!

After ~original 500 commits and ~45.000 lines of code changes in woof-CE since forking from Barry’s Fossil, the first official woof-CE-based puppy, Slacko-5.7, is out 😀

-mavrothal, Puppy Linux forum, 9th March, 2014

LOL. I agree completely about abiword, plus my interaction with some of the devs was not very pleasant. But, concerning Puppy and productivity, Slacko is so good that I am totally comfortable using it for production in teaching online university courses (I do use Libre Office).

-playdayz (a.k.a Larry Short, Lucid Puppy Developer, from 2010-2012), Puppy Linux forum, 9th March, 2014

What more can I say? Slacko Puppy Linux 5.7 is released! 

Get it from the Slacko Web Site. Everything you need to know is either there or only a click or two from there.

Many thanks to the woof-CE development team (you know who you are  :monkey:). Without you this would not be possible.

Go get it and enjoy!

Android plus Puppy

Recently on the Murga Puppy Forum Media Transfer Protocol (MTP), actually a Microsoft protocol, has been in the news. Since Android 4.0, USB Mass Storage, which is how Androids used to connect with computers in Ginger Bread and below, has been deprecated. The new way to access files on Android devices via USB interface is now with MTP.

can8v (Puppy forum member) has written an application with a daemon to detect and mount MTP devices. I wrote an alternative app that uses the kernel’s udev rules to detect MTP devices and mount them. The term “mount” is used loosely as MTP devices are not block devices like USB sticks, hard drives and other devices but are mounted as fuse filesystems.

I got to thinking though, you may not want to access your Android’s files but use it as a modem instead. Why would you want to do that when you can easily set it up as a wireless access point and connect wirelessly? One word; Battery. Wireless as another service and puts a strain on the already limited battery life of Android smart phones.

To set up USB tethering:

  • plug the device via USB cable into your computer
  • go into “Settings” on your Android
  • under “Wireless & Networks” choose “More..” (may vary for versions, I’m using Ice Cream Sandwich)
  • select “Tethering and portable hotspots”
  • check the “USB Tethering” checkbox
  • Your device should try to get an IP address automatically

That’s it. You should now be able to browse using you’re devices external connection. And, as a neat side benefit, if you’re computer doesn’t have wireless networking and you’re Android is connected to your wireless network, your computer will use that connection!