Archive for February, 2007

Self Correcting OS

February 17th, 2007
[ Linux ]

Illustration of a package management system being used to download new software. A typical manual action requested is restarting the computer.I’m impressed, Fedora just fixed itself. If you’re not familiar with linux based OS’s then you may not have used a package management system. Basically they manage the applications you install and the OS itself. So instead of having find a download on the interweb, download it, install it, reboot etc. You just find the application in a list and select it. The PM does the rest of the dirty work for you.

There are several PM’s out there to choose from as well as many different repositories that they draw on. Making installation painless is cool. The slick part is keeping your OS AND all your applications up to date and working. This is something that I know windows does not do and I’ve read that Apple isn’t doing either, however, don’t know that first hand. What I’ve read is that Apple does it but only for their apps but not third-party.

When I built my fedora desktop I managed to hose up my video drivers. I got things working but not entirely smoothly. There were some kinks that I knew I’d introduced. I turned my machine off last night for the first time in well over a week. When I turned it on today it found updates and pulled them down and in the process completely repaired the kinks I’d introduced.

Sure it’s not the linux way and I should have had to type “sudo rpm -i lsjlkjfj lskjdf” a few more times but in the end it just worked. So far my experience with Ubuntu’s PM has been nothing but lovely as well.

“Ubuntu shines in this aspect thanks to the centralized packaging of software. Given that all available applications are packaged by the developers and put in a common server, the apt package manager is able to automatically update all of your installed packages to the latest available versions. This also includes keeping track of added dependencies so that an update will not (generally) break any of the existing stuff. In some sense, you can consider that there is no “core OS”: once a new program is installed from the repository, it is integrated into the OS in such a way that it is indistinguishable.” [link]

A Wrong Solution

February 15th, 2007
[ Software Development ]

Drew passed me this link to Microsoft’s Partial Class Definitions:

“It is possible to split the definition of a class or a struct, or an interface over two or more source files. Each source file contains a section of the class definition, and all parts are combined when the application is compiled.”

Why would you ever want to do this? Well Microsoft says:

“When working on large projects, spreading a class over separate files allows multiple programmers to work on it simultaneously.”

Ummm….pardon? Let me translate that for you….

“We couldn’t really get source safe working well so instead we added this. So now you can have TranslateEngine_Dave.cs, TranslateEngine_Steve.cs, etc. Cool eh?”

Unless I’m missing something, this is a grossly wrong solution to a real problem. This is something I personally would not allow in a code base. When you have to start writing tools to parse your code base to ensure that certain language features like goto statements and this are NOT being used then you start to wonder about the overall direction of a language. Have the strength to say no, please.

Linux on Laptop II

February 14th, 2007
[ Linux ]

Ok, I really liked fluxbuntu but there was one specific app I couldn’t get running and that’s keepassx. While I’m sure it’s doable I didn’t fiddle with it long enough to get it going. I installed ubuntu and so far it seems like the most user friendly linux distro I’ve used. Pretty much everything just plain works, including all laptop stuff like power management, touchpad, etc. Keepassx was easily installed through it’s packages as well as amarok.

While I want to give fluxbuntu a longer look I’m not sure I’ll get a chance now that ubuntu’s working so well.

Laptop Linux

February 14th, 2007
[ Linux ]

So now that I’m setup on my new desktop, I’m ditching windows on my laptop as well. I think I’m going to use my laptop to test drive a few distros. I was just going to put Fedora on but I figure I may as well try some of the ubuntu’s first.

FluxbuntuFeistyI’m installing fluxbuntu as I type this. I find Gnome a bit large and clumsy so trying out something tuned specifically for fluxbox interests me a lot:

“Fluxbuntu is a LPAE-standard compliant, Ubuntu-based distribution. It is lightweight, swift and efficient. These features support the Fluxbuntu Linux Project’s Goal of running on a wide range of mobile devices and computers (low-end & high-end)”

“Fluxbuntu is an upcoming “lightweight” Linux distribution to be based on Ubuntu, version 7.04 “Feisty Fawn”, that uses Fluxbox for window manager (or desktop environment).

By contrast, with the official distributions, Ubuntu uses the GNOME desktop environment, Kubuntu uses KDE, and Xubuntu uses Xfce, all of which are thought to be somewhat more unwieldy (viz, larger and slower).”

The cool thing with fluxbuntu is that it’s a live cd. So you can throw it into a machine, boot from cd, and run it before you even install. So I was in and browsing the net in firefox within minutes. That’s just slick as you can really test drive it without touching your system.

I’m downloading the iso now for ubuntu. Judging by the pictures on the site, it’s users may be a little too happy for me.

Linux Window Managers

February 13th, 2007
[ Linux ]

One of the nicest things about linux is the window manager paradigm. I was about to attempt to sum that up but the Ion Conclusion does a good job:

“To ultimately solve usability problems to the extent possible with current technologies, applications should be written independent of their user interfaces and the UIs should be built according to the user’s preferences based on a high-level semantic description of commands provided by the application”

What is a Windows Manager?

“One of the guiding philosophies of The X Window System (and also UNIX itself) is that its functionality is achieved through the co-operation of separate components, rather than everything being entwined in one huge mass (or should that be mess?). The advantage of this is that a particular part of the system can be changed simply by replacing the relevant component. The best example of this is the concept of a window manager which is essentially the component which controls the appearance of windows and provides the means by which the user can interact with them. Virtually everything which appears on the screen in X is in a window, and a window manager quite simply manages them.” [link]

The window manager is ultimately what most user’s think of as their operating system. They don’t think of disk I/O, process management, etc. They think of what happens when they right-click here or where their taskbar’s located etc. It could be argued that the window manager is THE most important part of the OS in the end user’s eyes. Ask a OSX user why they prefer it over windows and most of the time the answer will involve descriptions of OSX’s window manager.

The beauty of linux is that the end user is given the ‘keys’ to their window manager. Trust me, once you get a taste of this it’ll be difficult for anyone to pry those keys out of your hands. You can swap your window manager all day long if you like. So if you don’t like the way your “OS” works then just shop around and find another, or build one yourself.

Even in windows I don’t use icons on my desktop and rely on shells to launch applications. So I’m currently having good success trying out fluxbox:

“It aims to be lightweight and highly customizable, with only minimal support for graphical icons, and only basic interface style capabilities. The basic interface has only a taskbar and a menu accessible by right-clicking on the desktop. Fluxbox also supports user-created keyboard shortcuts.” [link]

Never Get a Job!

February 8th, 2007
[ General ]

Steve lists his 10 reasons to never get a job. The running joke here in Guelph, at least among our group of friends, is that you’re not truly Guelph until you don’t have a job.

First, something to listen to while you’re reading. While I’m not sure I completely agree with all Steve’s points some are pretty classic:

“Getting a job is like enrolling in a human domestication program. You learn how to be a good pet.”

“Does putting yourself in a position where someone else can turn off all your income just by saying two words (”You’re fired”) sound like a safe and secure situation to you? Does having only one income stream honestly sound more secure than having 10?”

“When you run into an idiot in the entrepreneurial world, you can turn around and head the other way. When you run into an idiot in the corporate world, you have to turn around and say, “Sorry, boss.””

“When you want to increase your income, do you have to sit up and beg your master for more money? Does it feel good to be thrown some extra Scooby Snacks now and then?”

“As part of their obedience training, employees must be taught how to dress, talk, move, and so on. We can’t very well have employees thinking for themselves, now can we? That would ruin everything.”

Sorry, didn’t mean to post that many, just read the thing.

New Majeen

February 7th, 2007
[ General ]

DSC00112.JPGI picked up me new machine last Friday and subsequently spent the weekend tinkering. Most of the tinkering was spent trying to get my monitors configured correctly and I wasted a ton of time there. With some sound advice, which I’ll post at some point, I’ve finally solved that particular issue tonight.

So I’m now running up on Fedora Core 6 using dual monitors with a spanning desktop. I still need to develop in .NET so I’m using VMWare for my virtualized windows development environment which is just damn cool. A fully networked virtual environment.

There are a few pleasant surprises since I was last in linux:

  • Installs and updates have gotten a lot more painless with yum.
  • Digital camera support. I plugged my camera into a usb drive and quickly imported my photos into f-spot. While I’m sure there are similar apps out there in the windows-land(picassa?), I personally have never had a slick way of categorizing, storing, and archiving my digital pics. This plus editing, versioning, and exporting to common apps like flickr and gallery.
  • Peripheral support for printers, flash drives etc is a no brainer now. These types of issues were always a pain in the past. I don’t think I’ve typed “mount” yet.

What is still painful? Pretty much the only thing was xorg.conf which I expected. Ultimately this is just about experience and it helps to know some people who have that experience. The installation process was straightforward, however, figuring out exactly how to properly setup my RAID-1 array took some trials. To date I haven’t tested that by unplugging drives but will when I have some time.

It’s only been a few days but I’m pretty confident that I’m leaving the microsoft OS world behind me for now. Don’t worry, I’m sure I’ll come grovelling back in no time.

Another *nix hack?

February 7th, 2007
[ Linux ]

Is it just me or is this just another modified shell emulator? It sure looks a lot like a *nix screen if you exit your windows manager, or ctrl-alt-F1, and fire up vi or your favourite text editor. There are certainly no distractions in that environment.

Interesting looking project and great to see new software that’s not so GUI intensive.

Link courtesy of Chris.

Universal User Accounts

February 6th, 2007
[ General ]

Jaimie past this my way, another great 2.0 project. Careful, read before you play.

Home Office Perqs?

February 2nd, 2007
[ General ]

DSC00081.JPGDSC00101.JPGSo I think these pictures will be my answer next time someone asks me how I like working in a home office. When I get drop ins to my office, they tend to be short, cute, and quite creative. That’s vastly different than the last corporate office I was holed up in.