Tag Archives: Linux

… no excuse …

Crawford Lake, ON, Canada

Crawford Lake, Ontario, Canada, 2013

… no excuse …

It’s been more than a year since my last post. In the world of blogging, that is an absolute no-no. As they say, there is no excuse for that. But you know that nevertheless I am going to give you some excuse anyhow. Or at least I am going to tell you what I have been up to.

First of all, let me say that my dalliances in the computer world over the last year included hardware as well as software.

On the hardware side of things, the first major new try out involved a ChromeBook notebook PC. The second new element was a Raspberry Pi 2. And the third new element was my first use of an SSD drive (other than the one in the ChromeBook, that is).

Software wise I dabbled in a lot of different things, with very mixed results. A lack of focus and an info overload meant that some of the directions I pursued were not further explored than getting to a fully functional install of a system, rather than actually developing in it.

One of the defining factors on the software side was that I was becoming a bit disenchanted with everything web development related.

Basically it was starting to look more and more as a mess to me. And that was at least half a year before I saw the articles essentially complaining about the same thing. That combined with my old and continued interest in OOP (Object Oriented Programming) led me to looking for a pure OOP software development system, which, contrary to web development, relied on one language system and was mostly self contained. So I had a look at one of the very first OOP systems: SmallTalk.

I also installed Simple Text as an editor. I have hardly used it, although I am writing this blog entry on it. The other thing I did with it, was testing it out guided by some pages in the ‘Coding with JavaScript for Dummies’ book.

On the ChromeBook I installed ‘crouton’, allowing me to run Linux on it. This worked amazingly well.

I also started exploring several JavaScript frameworks. This included installing things like Grunt, Bower, Yeoman, AngularJS and NodeJS. Managed to install these on several computers with different Linux distros, mostly Ubuntu variants. Again hardly used them.

Which brings me to the next item: choice of Linux distros and Linux window managers. If you are not familiar with Linux this must sound strange to you. So let me quickly first point out that contrary to Microsoft and Apple operating systems there are different Linux distros out there, and by that, I do not mean outdated together with new versions, but indeed a choice of distros which are all different, yet all up to date. And second even within the same distro you may have a choice of different but equally up to date window managers.

I have always been interested in using at least two different distibutions, one of which would be a full fledged distro with all kinds of software on it and a rather heavy weight desktop (i.e. KDE as part of Kubuntu). The other one following from attempts to find distro/desktop combinations which start out as lean as possible. The latter has not always been as easy as one would expect. Amongst others I worked for a while with CrunchBang Linux. It got discontinued, but might get a new lease of life as CrunchBang Plus Plus. I also use Xubuntu as a light weight system and have used Lubuntu too.

I mainly use Ubuntu supported versions, including Lubuntu, Xubuntu and Kubuntu, in either long term support versions or the latest versions. You don’t see Ubuntu itself mentioned here, because the Unity desktop Ubuntu comes with is aimed at all kinds of screens, including touch screens,tablets, phones, rather than specifically desktop screens as used typically in development systems. But Ubuntu like many main distros issue new versions on a regular basis (in Ubuntu’s case each April and October). While it is not impossible to upgrade in situ from a previous version, that may well take longer than a fresh install. Because of that I got intrigued by rolling release distros, once I heard about them. Actually, this blog entry is written running a rolling release distro. But it has not been a smooth ride getting going with a rolling release. I even combined the rolling release idea with the light weight system idea. As such I am writing this on a notebook PC running ArchBang Linux. Meanwhile I am also trying out at least two other rolling release distros, be it from within VirtualBox running on Xubuntu. Why? Well I realized I have been spoilt over the years by the Debian based package system (typical for Ubuntu and a lot of other Debian derived distros) and its many available package managers with graphical front ends. Most rolling releases I found were based on Arch Linux with its ‘pacman’ based management. Attempts to find another system not based on Arch have not been successful. Well maybe the one I am installing right now within VirtualBox may be a better choice. More about that in a more detailed blog specific to rolling distros?

There should be more than enough material based on what I have explained here, to come up with a few more posts, talking about the same issues in more detail. So as they say: ‘More to follow!’

Chris Rogiers for CeaRO Corporation, July 21st, 2015

… operating systems galore …

Shadow image of a tree on fresh snow on a blue sky and sunny day

Shadows in the snow – March 2014

It’s been a while since I posted my previous post. Tax filing time, you know. And snow shoveling. Because here in Ontario, Canada, we have had our most brutal winter in 17 years.

But last week I came across an article and a remarkable operating system development.

You all know there is a system called Android. And surely you know that Android is a Linux operating system. All be it that it has not always been as open source as the real Linux advocates would have liked. That seems to have changed for the better though.

You may even have an Android device. That would be a mobile device, yes? And its processor would be ARM based. And although the iWhatevers are ARM based, you surely are not running Android on one of them.

Well guess what, you can run Android on a desktop or laptop running aan Intel or AMD processor, thanks to a remarkable project which now makes an ISO image available for doing exactly that.

Here are two links about this project:

http://www.android-x86.org/

http://sourceforge.net/projects/android-x86/?source=dlp

The first one takes you to the project page,
the second to the sourceforge.net page which allows you to download the ISO file containing the operating system.

No doubt you could burn this image file to CD (it’s only 294MB) and install it as the operating system on any Intel or AMD based computer. You could also install it as the second operating system as part of a dual boot system. It will install GRUB as a bootloader, which has quite a good reputation for dual boot systems. I have two dual boot systems (Kubuntu Linux and Microsoft Windows 7) which installed easily and run well with the Grub 2 bootloader.

But none of that is what I did with it.

I used VirtualBox instead. VirtualBox is a virtualization system freely made available by Oracle. Versions exist for Linux, Mac OS X, MS Windows and Solaris. What virtualization does, is allow you to simulate another separate computer from within the operating system you are running. The simulated computer ‘lives’ inside a single file which is what we refer to as a virtual disk. On that virtual machine you can install an operating system of your choice, either from a CD or DVD, but also directly from an ISO file image, such as the Android one we mentioned earlier.

And that is exactly what we did. We used one of the dual boot machines we mentioned earlier, started up in Kubuntu 13.10 Linux, ran VirtualBox, created a new machine in it and installed Android 4.4 in it from the downloaded android-x86-4.4-RC1.iso file. If you are familiar with development, you may realize because of the RC1 in the file name, that we are using a so called Release Candidate file. This means that this is not a finished version yet, but a trial version. However it worked quite well in our system. The only issue we had, was that in some cases when we used the mouse inside the virtual machine window we could not easily break out of that window with the mouse cursor again. It pays to experiment with VirtualBox to figure out mouse integration, USB integration… and how to set up a new virtual machine in general. And yes, you read that right, this Android does not require a touch screen, because you can use the mouse instead. And if you have a Google account you can use it to download and run software from the Google Play app store.

I have taken a snapshot of the Kubuntu screen in which you also see part of the VirtualBox screen and the window with Android open on top of it. All the app icons you see on this screenshot are indeed apps downloaded and installed from the Google app store.

FYI: In the VirtualBox window you can also see that there are two other virtual machines defined: Linux Mint 16 and Manjaro (misspelled with double o, sorry) Linux. Linux Mint is a Linux distribution developed as an alternative to Ubuntu, based on Ubuntu, but with the Unity window manager replaced by a choice between the Mate and the Cinnamon window managers. Both of these window managers stay closer to what people were used to from Gnome and some other window managers. Mint to some extent took over the leading position which Ubuntu held for so long before it switched to Unity. Manjaro is based on Arch Linux. What sets Arch apart from most other distros is the fact it has a rolling release distribution system. Which means that you do not need to install a new version every now and again, but that you can just keep up to date through regular updates of system files as well as program files. It is however not considered as the best choice for the faint of heart, because it does not have the graphical user friendly install program common to many other distros and is really in the first place a CLI (command line interface) system. Meaning that it does not include a window manager as part of the initial install. Manjaro is based on Arch, but has a graphical installer and installs a window manager. These are just examples. On another system I also have an MS Windows XP virtual machine. That is because I use two older scanners (a slide scanner and a handheld line scanner) for which I could not find Linux drivers. On the virtual machine I was able to install drivers and software from the original CDs which came with the devices. They work and the scan files are also accessible from the host operating system, Kubuntu 13.10.

Android 4.4 x86 in VirtualBox running in Kubuntu 13.10 on an AMD processor

Android 4.4 x86 in VirtualBox running in Kubuntu 13.10 on an AMD processor

 

Chris Rogiers for CeaRO Corporation, March 19th, 2014

FOSS … operating systems

ice covered berries

Icestorm – December 2013

Although FOSS advocates, we do use proprietary operating systems such as Microsoft and Apple operating systems for specific tasks (although for some of these tasks we could use FOSS) and most of all for testing our creations on different systems, even if they are developed entirely with FOSS tools. And for development we typically do use FOSS tools, including the operating system.

In our case we use Linux. To keep it simple, just like most people, we speak of Linux as an operating system, but it isn’t. It is a kernel (the core system) around which the operating system is built with all kinds of additional software. Linux (the operating system, not the kernel) also comes in different varieties, called distributions or distros for short. There are an amazing number of Linux distros out there. Amongst the best known are Debian, Ubuntu, Fedora, OpenSuse and Slackware. Often these come themselves in different varieties, such as desktop versus server varieties, but also often varieties based around different window managers. So it definitely is not a ‘one system fits all’, which it typically is with proprietary systems.

We use a few specific varieties of Ubuntu, according to the different characteristics of different pieces of hardware we use. We are aware that we could use any number of other distros just as effectively, but our familiarity with Ubuntu, and specifically with its package manager (Synaptic), has made us stick with Ubuntu. All be it not the main variety known as Ubuntu, with its Unity window manager. It would take us too far at this moment to explain this. But we would like to point out that this should not at all be interpreted as criticism on the Unity system. As a matter of fact we consider Ubuntu to have been ahead of the curve with Unity, in comparison with its proprietary competition when it comes to integrating smartphone, tablet, netbook, notebook and desktop computing. Development however is typically done on desktop computers, and big screens, and ‘touch’ doesn’t come into it.

A traditional desktop window manager based on KDE or older GNOME derivatives therefore is our preferred choice. Ubuntu officially supports such a version, called Kubuntu. On lower performing hardware, one might want to have a look at Xubuntu, or even Lubuntu. Also note that even on these versions running on older, lower spec equipment, you would still be running a kernel that dates back only a few months and with software which was updated, well, in Linux, that could well be today…

It may surprise you that beneath the surface there are quite a few similarities between the Apple Mac operating system and the Linux distros. The reason being that the Linux kernel was created to mimic the Unix operating system, and years ago Apple switched from its own system to one based on a version of Unix. This stems from Job’s short stint with a company called Next, which after limited success in hardware (NextCube), open sourced its NextStep operating system (Unix based). NextStep led to the new Apple OSX operating system. Of course depending on the window managers used by any given Linux distro, it may look more similar, or less, or even not at all like a Mac system. Some mimicked MS Windows systems, some even the old Amiga systems.

As a matter of fact there are also some Unix distros available for free use, such as FreeBSD and OpenBSD.

Point is, we have an abundance of choice, or what in French may be expressed as: l’embarras du choix’.

Chris Rogiers for CeaRO Corporation, January 16th, 2014

Resources

Alton Mill, Caledon, ON, Canada - September 2013

Autumn Leafs

Where do we get our information and ideas?

Obviously there is an abundance of resources available to the web development community. Some links can be found in our first post.

But there is a lot more out there, on web sites, in magazines and books and through meetings and eNewsletters.

For meetings, you may want to have a look at Meetup : you can look up groups for all kind of purposes and in any given geographical area. A good example is a Meetup group meeting in Toronto, ON, Canada called CreateInTO. As its name implies this group is interested in all kinds of different creativity, including art installations, web development and design. This group has grown out of FITO, which stands for Flash in Toronto. But as Flash itself did not cover quite enough different forms of creativity its members got involved in, the group was renamed. Obviously this also reflects to some extent the gradual inrcrease in choice of other technology, such as HTML5 and CSS3, as well as numerous additional JavaScript libraries and frameworks.

As for books, there are a lot of publishers out there who specialize in computer and web related subjects. Amongst the ones I use most are O’Reilly, Apress and Packt. Nowadays we look mostly at eBooks of course, although I still like to have some reference works available in print. eBooks make it easy to copy pieces of code to your editor of choice when trying out what the books are explaining. Beware however, the copy and paste sometimes leads to strange effects, such as for instance, the use of `, where  ‘ is what you need. In many cases you can actually download the code from the publisher’s web site, which is the safer option. Another advantage of working with some of these books is that you can be included on the publisher’s email list for getting offers sent to you.  You can even get pre-release versions of books at strongly reduced prices, and yet get all the updates up to and including the final version for free. Many publishers make their eBooks available in many different formats, such as PDF, ePub, mobi… I usually use PDF on desktop and notebook computers, but ePub on my tablet.

About magazines I am not going to say a lot, except that there are many available, but availability may vary from country to country, and so may delivery times for the printed versions. Again many are available digitally. Despite living in Canada, I still often prefer the British magazines, and those are typically available here in print at least a month after the digital versions. Yet, somehow, the magazine format, bigger than a book format, makes me prefer some of the print versions. However many digital versions come in interactive formats better suited to use on computers and tablets.

And then there are the web sites of course. Too many to give you a list here. There is just one web site that I will mention because it hosts the code and documentation of many projects, systems and libraries and even allows you to host your own code: GitHub. Git itself is a versioning system (and so much more) which was written by Linus Torvalds of Linux fame. His system had so much immediate success, that it was adopted worldwide, and certainly not only by Linux users.

I suppose this will give the visitor of this blog post enough to check out right now. So for now, I will leave it at that.

Enjoy!

Chris Rogiers for CeaRO Corporation, December 12th, 2013