20127January

I Just Landed a Linux Job, Now What?

I know someone who is a Linux enthusiast who recently landed a job where he is expected to do serious work around Linux. I offered some advice, and when I was done, though it may be worth sharing here. If he’s pretty nerdy like me, he’s probably wondering how he can get started right now, even though he doesn’t officially start for a couple of weeks. Below is the e-mail I gave him; it has suggestions to follow, particularly for someone who has a short time between after that first Linux job before actually starting. My next post will probably be suggestions to follow if you haven’t yet got that job, but are looking.

Learn POSIX or Bash Shell Scripting

If you want to get a head start, we do a lot of shell scripting, so you can have a look at these guides for getting started with shell scripting:

  1. Greg’s Wiki: BashGuide
  2. commandlinefu.com one-liners explained
  3. Advanced Bash Scripting Guide

Super hard-core nerdery and installing Gentoo

You previously mentioned compiling Gentoo. It has the reputation that you have to be super hard-core nerdy to be able to install it, but to be honest, I’d highly recommend against it; it’s mostly a waste of time, and the system it produces (if overlays are involved) can be quite fragile. The things you learn doing that are very Gentoo-specific, and not really useful for dealing with Linux in general. The best way to learn Linux is by using it. With distributions like Fedora and Ubuntu, you’re not really using Linux, you’re using Fedora or Ubuntu, which are using Linux. They hide much of the parts of Linux that we really use in our work. I would highly recommend installing Arch Linux, which is a pretty pure Linux system - you will learn how Linux works without all the extra stuff that is Gentoo-specific, and it’s pretty quick to setup and start using. If you want to go even more raw, Slackware is there, and the Slackware book is awesome.

Finally, the ultimate step (as far as building a Linux system goes) is Linux From Scratch. This is what separates the children from the grown-ups. You start out even more basic than Gentoo starts, and the skills you learn with this actually are generically useful. However, the system you end up with in the end isn’t that useful because you will spend a lot of time either maintaining it or developing tools to maintain it for you, and at that point what you end up with is your own distribution.

Tagged:
200912December

A Tale of Two Communities

This article is prompted by the recent news of Gnome considering a vote to split from the GNU project. The GNU project is a software development effort to create a free Unix-like operating system. Indeed, much of the software tools used in Linux (a Unix-like operating system) was created by the GNU project. Much of the philosophy of the GNU project came from its founder, Richard Stallman. Stallman advocates that free (as in freedom) software is the only acceptable kind; any software that removes a person’s freedom is an assault to that person’s inalienable rights. Stallman’s definition of freedom includes a person’s rights to run a program for any purpose, to redistribute the program (either for no cost or for a fee), to modify that program to suit his needs, and to distribute the modified program.

A bit after the GNU project had gained some momentum, Linus Torvalds saw the use of the software tools created by the GNU project. Torvalds had been working on his own project: an operating system kernel called Linux. The GNU project by that time (around 1991) had released some quality software, which Torvalds saw fit to include with his operating system.

Over time, the GNU project also created a software license called the GNU GPL. The license codified Stallman’s philosophy into a legal document. It included terms that required distributors of GPL-licensed software to also distribute the source code to that software. Also, any GPL-licensed software that was modified also had to have the modified source code distributed with the with it. Torvalds wanted to distribute Linux for free and realized that having any modified versions of his code would be beneficial, since he could then incorporate that modification in his own system. Because of this, Torvalds released Linux under a GNU GPL license. Many other people followed suit.

At that moment, two different people with different goals shared a similar means. Ever since then, people of one mindset or the other would associate themselves with the seemingly same community. They called it the Free Open Source Software (FOSS) community. It has seemed to work okay for a while, although there has always been some amount of friction between those who are in it for pragmatic reasons and those who fight for the human right to free software. The pragmatists are making deals with companies that produce proprietary software. The GNU crowd is making very public, very bold statements that don’t represent the views of everyone involved. This friction has begun to start fires.

Arguing for one viewpoint or another is not going to tear “the community” apart, as some people believe is happening. This is not a community to be torn apart; it is two different communities, and it’s time for people to realize that. I do believe that once this becomes accepted, people will be much happier and more productive.

What do you think? Two communities? One community? Post your comments.

Tagged: , and
20094June

ZDNet: Why Linux Is Ready for the Desktop Today.

I wanted to point this article out. There have been more and more of these lately. This particular one isn’t so much why linux is ready other than signs that Linux is starting to grab hold in the marketplace.

200929May

Moblin 2.0... Completely Useless.

I was looking forward to trying Moblin, the Linux-based operating system designed specifically with mobile devices in mind, but apparently, it’s pretty lacking in a number of areas.

The interface looks very sharp; it is mostly flat, 2d graphics with a few subtle, well done 3d shaded parts. I really love the flatter interfaces because they look especially clean. I personally use the Elegant Brit theme on my system. Moblin also uses a Clutter back-end to draw its interface. Clutter uses OpenGL to draw 2d graphics on 3d surfaces; this allows for some fancy animations which take advantage of the amazing computing power which is available on modern graphics cards. In addition to the interface looking handsome, it also functions a bit differently than a typical computer desktop.

Unfortunately, this is where Moblin falls down. JKKMobile published a video review which shows off these shortcomings of the operating system. The video is rather long, so I will discuss some of the points made.

I’ll start with the minor things. First, there seems to be a lack of configurability throughout the system. There is a web browser, but no configuration options. There is a list of recently used files on the home screen, but no way to modify the list (such as pinning down or removing items).

There are a couple of places where you click an icon to invoke a desired functionality, where it needs some information in order to complete the function (such as browsing to a website - it needs a web address). It should allow you to type this information in readily, however, it requires another click (in a textbox) before you can begin typing.

Now for the big problem: some serious user interface flaws. The main toolbar which you use to interact with the system (akin to Windows’ start menu or OS X’s dock) hides itself. To get to it, one must move the mouse to the top of the screen. “What’s wrong with that”, you ask “that’s the behavior I prefer: it saves space.” Well, it completely fails on devices with a touch screen! It is very difficult to activate that very top row of pixels on a touchscreen. It also gets in the way since the individual applications mostly have controls at the very top of the screen. When you try and click on a control, the Moblin toolbar pops up and you end up clicking on something you did not intend. But that’s relatively minor. If you want to have a laugh, skip ten minutes twenty seconds into JKKMobile’s video. The media player is just plain wierd. He clicks on an image, and thumbnails shuffle around. Then he clicks on the same image; they shuffle around again. The process continues until he finally gets to the image he wants to see. You have to watch the video to fully see just how wacky this thing is.

For an operating system designed around a user interface, it looks like there really wasn’t much thought put into the interface. It’s a shame because it seemed like it was going to be great. It is still in a beta phase, so there will be some changes before the final product. It’s possible that we’ll still end up with something good, but right now, it’s not of much use.

I would like to also point out a couple of aspects which are part of the Moblin project which are pretty interesting. It includes a data store called Mojito, which fetches items from the web and caches them locally. Examples of items it might fetch include photos from Flickr or your contacts’ updates from Facebook. Developers can write programs which use Mojito to work with the user’s web data. Another interesting data tool is Bickley, which is a metadata management system. This allows items on your system to have extra bits of data tacked on. For example, you might want to know how frequently you play a song or which contacts collaborated with a set of documents.