Deep geekiness for the holiday

Over the holiday I got myself the Droid phone, featuring Google’s Android operating system.  I’m afraid that I’ve spent the last week or so geeking out on it a little.

I’ve done the obligatory web browsing, email and social networking.  Then I started to dig a little.  Tonight I managed to create a key-authenticated connection to my home PC and then ran VNC through the encrypted tunnel, just like I’ve described for my other remote work.  It was all but useless with such a tiny screen, but it would do for an emergency.  For example, I was able to lookup a PDF and read it.  If I was troubleshooting for someone it would be enough for me to look at their screen and read error messages.  It’s possible to zoom and pan and such, but I think if I had to do much more I would get myself to a full-size VNC connection.

I’ve been hearing a lot of ads lately for a company that promotes the service of accessing your work computer remotely from anywhere.  I’m sure that they offer some special functionality that I’m not considering, but I’ve used open-ssh technique to do the same thing through my home Internet connection.  If there’s interest, I’ll put out a quick tutorial on what I did.

Monday everything begins anew.  More about what’s new with me in the next entry.

Cheers!

Chris

Give yourself the gift of freedom this holiday season

You may be getting ready for the holidays with some time away from the workaday world.  If you are the type of person who has the discipline to just shut down the computer and walk away for days or weeks, then good for you!  However, if you’re like me you may want to tinker and quietly play with a few things in the midst of the holiday chaos.  This is a great chance to experiment with the world of open source.

I know many people who say that they were interested in checking out Linux, but just didn’t have time to do anything during their work-day world.  Well… if you have some tinker time, why not check it out during the holidays?  You don’t have to do anything to your existing system.  Simply boot off of one of the Live CDs which are available for download.  The Live CD will bring your system up under Linux and connect you to the Internet.

One downside of this is that you won’t be able to save anything about your configuration, because everything will be running from the CD, which can’t save any data.  You might use a thumb (USB) drive to save a few things if you wish.  The point now isn’t to do a lot of major configuration.  You can do that if you decide to try a more permanent installation.  Here we’re just doing a test-drive and exploring what the different tools do.

There are three major Linux distributions that recommend:

  • Ubuntu Live CD.  I’ve been working with Ubuntu for a while and it is my personal favorite for desktop use.  Their package system is just so easy to use and provides a lot of automatic guidance for dependancies and such.  The only drawback is that some commercial software my not support Ubuntu yet.  That could force your hand.  Every once in a while I get a little confused about how to configure Ubuntu for some of the more geeky things that I want to do, but that shouldn’t be an issue for a test drive, and there are solutions for all those things if you decide to adopt it.
  • OpenSuse is the community version of Novell’s Suse Linux.  It’s the environment that I ran for a few years before I moved to Ubuntu.  OpenSuse is RPM based and will likely be compatible with most commercial packages– though they may only officially support the commercial edition.  I like Suse’s approach to Linux.  The configuration is pretty easy and it has a good online update facility.  If you know that your work environment is using Novell (Suse) Linux this would be a good choice to explore.
  • Fedora is the community version of Redhat.  I started on Redhat ages back, but eventually migrated to OpenSuse.  Redhat is generally well supported by commercial applications, though, again, they may require the commercial edition.  If you know that your work environment is using Redhat, Fedora may be a good choice to explore.

When you download and burn the CD, you will simply boot from it to activate Linux.  It’s likely that all of your hardware will be automatically detected.  You’ll be able to surf the net and experiment with different tools without having to do any reconfiguration of your system.  If you decide that you like Linux then you’re ready for the next step which is an installation.  All the Live CDs are capable of installing Linux on a local device.  You can even install on an external USB drive.

This is a great chance to explore Linux, and it will give you something fun to do if things get a little crazy and you need a breather.

Happy Holy Days!

Quick one on Pidgin

 One of my most often used open source tools is Pidgin.  It’s an instant messaging client that works with… well… most things.  It allows me to have multiple accounts on multiple services which is pretty handy with all of the different things that I’m doing.  A mild downside is it may give the appearance that I’m surfing Facebook all day, but it’s really only the chat account that’s held opened.

Pidgin has a number of excellent plugins that make it very handy to use.  Some of my favorites are the Psychic plugin which alerts me to various kinds of activity between me and someone that I’m chatting with.  For example, I get an alert that someone is trying to reach me when they first open their chat window.  Another one that I like is Off-The-Record which offers significant encryption between chat participants.  Another favorite is Text Replacement which will automatically replace text you type with something in a hash list.  It corrects common typos and can even translate text speak into English if you suffer from typing that way.

The one that I got tonight is slightly silly, but I’m really enjoying it.  I have an IBM Thinkpad (which gives you an idea of its age).  It has a little LED light on it, called a Thinklight. (How do they come up with this stuff?)  This plugin causes the Thinklight to blink whenever a message comes through.  That’s pretty handy when I have a lot of things going on and I can’t tell one popup from the other.  It may annoy me eventually, but right now I kinda dig it.  You can find it at the project web site.

I’m going to write up some information about Pidgin on the Real World Open Source wiki.  If you have favorite tools you should add some notes on it there.  It’s not just for me to edit.  It’s for all of us.

Get cooking with open source

I’ve been doing open source for about ten years now.  I think that many people are interested in freeing up their desktops, but they just don’t know where to begin.  Most people aren’t necessarily technically curious.  They take the computer they buy with the software that comes on it.  In general much of their requirements are met through the basic office, email and browsing tools.  When a need arises… or they get a tip from a friend… they download what they are directed to, by friends, web sites, or advertising.

It’s like food.  Many people don’t really go exploring much.  They eat what’s convenient, not what’s healthy.  People know deep down that they shouldn’t be eating junk, but all you have to do is talk into the speaker and you get a bag of instant food.  Besides, cleaning is a chore!  Shopping is a chore.  Who wants to do all that maintenance?

If you know anyone who has had a serious confrontation with diabetes you know that all of these things can change.  I have a friend who was forced to make changes in his life and start eating healthier.  He taught me that it’s not hard to clean up your diet and that when you learn a little more about what’s out there that it’s not much harder to eat well than it is to eat junk.  He said that the trick is to get away from the sugar and salt-coated taste you’ve been trained to expect and enjoy more what food has to offer.  Does that mean his diet is bland?  Not at all.  It’s full of color and flavor and variety.  He just needed someone to help him understand his options and what the so-called “easy choice” was costing him.

There are some of you who, like me, found out long ago that there were alternatives to the technical junk that we’ve been served.  We’ve learned a few skills to find and prepare our software without having to spend so much money.  We’ve grown to expect software to be multi-faceted, interconnected and multi-platform.  So, just to stretch the food analogy a little further, I think it’s time we started our own cooking channel.

Have you ever seen a cooking channel?  It’s filled with people who are passionate about what you can do in the kitchen.  Some shows are geared toward people who want to be fast and healthy.  They show you how to do things fresher without spending much more time than you do defrosting boxes.  Others are geared toward the fancy skills and advanced presentation.  Still others are about understanding how food works so that you can experiment a little on your own.  All of them have an audience.

So, how do we start our channel.  Why not here on My developerWorks?  You may have noticed that there have been some changes in capabilities.  Updates to the backend have provided sections for files, wikis and improved functionality for the existing sections.  I have created a new wiki called “Real World Open Source.”  I want to make this our own open source cooking channel where we really bring everything together.  We help people appreciate how to let go of the junk and how easy it is to start doing thing that will make a difference for them as individuals and for technology in general.

How do we do this?  Start with the Wiki.  If you are a chef, this is the place to explain the solutions that you have in place and the best ways to make it work.  Feel free to point to existing information that people should know about.  Our goal is to make it all easier to find.  If you are someone who wants to learn, then use this as a place to put up questions and things that you think need to be filled in.

Join the group too.  Besides the Wiki I have a group called Real World Open Source.  Membership in this group will help us keep track with each other and to have some of the developmental discussion that is necessary for this sort of thing.  It also has the ability to set up tasks and things that we need help with.

Why am I doing this?  I feel that I’ve derived a lot of benefit from what I receive from the open source community.  I think that many of the goals that technology can achieve for helping people accomplish more are best provided in an environment of openness, where commercial and community products can work seamlessly together.  This environment will grow only as a result of the demands of users.  We’ve seen progress.  I think that many more will make the move if we can just teach them how to cook a little.

Think open source is all software? Think again!

When I say Open Source—- you say “software.”  How about science?

It makes sense, really.  I’ve always thought of science as the free exploration of ideas about how things work.  The science of today is built on the foundations of yesterday.  In Vivian Wagner’s article, “Open Source Science: A Revolution From WithinOpen Source Science: A Revolution From Within,” she looks at the ways the science is using the same techniques of organizing and sharing information that has made open-source successful.  It’s an interesting read and provides much food for thought.  What would happen if this approach to solving problems became more common?  I don’t have any answers… just curiosity.  I’m very interested to see where all of this thinking takes us.

Start your learning with open source

I actually wrote this some time ago on a blog hosted at IBM’s developerWorks. Now that I’m doing my own site I thought it made more sense to live here. I hope it’s still useful to you.


I got a note from a friend of mine.  He just finished the trial period for some video editing software and was deciding whether or not to spend the money.  Before whipping out the credit card he wanted to see if I knew of any open source video editing software that he should look at.  I haven’t really used Windows for years, except to occasionally help someone fix problems.  (I know!  Go figure!)  My current favorite for video editing is Cinelerra, which is not currently available for Windows.  So, I did a little digging.

One of the first pages that I came across was a Wikipedia article entitled List of Free and Open Source Software Packages.  Wow!  I’d not seen this list before.  It’s pretty comprehensive, and since Wikipedia gets a large number of eyes and hands on it I would expect it to have some pretty good stuff.  As it turns out there are several packages that I was able to point him to which worked across platforms.  I even noted a few for myself to check out later on Linux.

That whole episode got me to thinking about the position held by open source.  I believe that open source software is a fantastic training ground for someone who wants to learn about technologies.  I am amazed that it is not more utilized to teach people, especially kids, about technology.  Think for a moment about what is available for free to someone who is willing to take the time to download and install it.  Think of what GNU/Linux offers out of the box.

I remember when I wanted to learn about computers.  There were pretty slim pickings for a kid in the early 80s.  I had a friend with an Apple IIe.  I eventually got my own Commodore 64.  However, much of the software was just out of my reach.  If I could get hold of it– don’t ask me how– I couldn’t really access an expert to help me learn what I was doing.  I remember clawing my way through an assembler.  There was no way I could get my hands on one of the good Borland development suites.

Now look back at that Wikipedia page.  Look at all of the packages that are available.  Look at things like the open source office suites.  In any school curriculum kids could learn all of the important elements of how documents, presentations, spreadsheets and other common office artifacts are put together.  They could learn the really important things.  (Hint: it’s not how many cool slide transitions you can cram into a presentation.)  They could learn about using styles to make document management easier.  They could learn the concepts of working with form fields and the structure of a successful document.  Just about any good office suite would have all of the necessary elements for that.  Sure!  When they walk into their job they may have to read a manual on which buttons to push… but they’ll have the concepts down.  They’ll understand what the tools are for, which means that they’ll be able to apply that knowledge to whatever tool is put in front of them.

Think about the kids who want to learn about computing.  Every conceivable programming language is at one’s disposal through open source.  They can learn abut networking, firewalls, collaboration, etc.  It’s all there.  If they get excited enough to want to work with it at home, they don’t have to go buy (or steal) anything.  The software is freely available.

Any general technology can be explored using these tools.  When the user reaches a point where the open source products no longer do the job, then it’s time to go shopping, but now they are educated shoppers.  They know what they like and don’t like, what they need and don’t need.  They aren’t at the mercy of a so-called expert who may or may not have their best interests at heart.

I challenge you to go play with that list.  See what’s on there.  Some of it is surprising and amazing!  Then, keep your ears and eyes open for people who demonstrate a need.  What for someone to say “I wish.”  It might be a friend who wants to learn something about video editing or 3D animation.  It might be at your child’s school where they say they just can’t get hold of the right tools to teach some area of technology.  Imagine if you could grant that wish by just pointing them to the right resource and get them started.  Imagine how far people could educate themselves about how things work using things that are freely and legally available.

Just imagine…

Austin radio station will be airing Linux ads

According to the “Blog of Helios,” talk radio station KLBJ AM in Austin, Texas will be airing ads for Linux.  The ads are more like PSAs.  They are not selling a particular distribution of Linux and they don’t even point the listener to a specific, trackable action, so I don’t know how one would measure their impact.  However, the people paying for the ad have apparently purchased time during the Kim Komando show– who tends to be pretty Microsoft-centered in her discussions.

The ads have been released under the Creative Commons Attribute-ShareAlike 3.0 license.They further stipulated that no attribution is necessary, so that provides a lot of freedom.  The blog referenced above has links to the voice-over track in MP3 and ogg formats.  There are both 30 second and 60 second versions.

I have no idea what affect these ads will have, but I’m glad to see this approach.  It’s not wrapped around a company.  It’s a community effort.  Hopefully it will get some people curious and asking questions.

Quick one on InfoWorld’s Open Source awards

Today I was looking at the InfoWorld Best of Open Source Software Awards 2009.  InfoWorld is a sometimes dubious, but often entertaining online techno-rag.  They are generally upbeat about open source projects.  Regardless, I’m always interested to see what different areas seem to value in the open source arena.  Looking over their selections I think there are some projects that may be of interest to my readers, based on previous comments.  If you do end up working with some of these, join the Real World Open Source group in My developerWorks and share your experience.

What’s with the whining about GIMP?

I’ve used GIMP, the open source photo editing software, for years now.  I’ve even turned on a few people to it who were looking for a free solution.  (It’s multi-platform, of course!)  Today I read several comments in different people with complaining about the GIMP interface.  I’ve used it to touch up photos to remove red-eye and blemishes.  I’ve also done some weirder stuff with it, like opening my eyes in a picture of me in front of Stonehenge where I was squinting.  I’ve used it to remove reflections of photographers and other offending objects.  I once used it to restore the dignity of a many by closing his fly in what was otherwise a good picture.  (You never know what you’ll be asked when people discover that you can do things!)

GIMP is a complex graphical program.  You need to understand some basic concepts abou layers, transparency, masking and some other things to make good use of it.  These concepts seem to be present in other commercial packages.  Any powerful program requires you to understand some things.  I just don’t get what is so confusing.  Maybe I’m wired too geekily, but it makes sense to me and I find it to be one of my favorite and most-used tools.  It really just works.

Oh, well.  Back to work!

Rolling out technology for a non-profit with volunteers and open source

Imaging

I’d like to tell you that we moved the whole office onto Linux desktops, but that’s not the case.  All the systems are going out with a standard image of Windows XP.  However, there is progress there which will allow at least some of the workstations to move to Linux in the future.  More on that later.

The first challenge was to come up with a consistent way of working with images.  It needed to be cheap.  It needed to be easy.  It needed to have the potential for automation.  In a previous life, I was responsible for the agency-wide system replacement for Y2K at the Texas Lottery Commission.  I learned a lot about system imaging at that time.  I knew the commercial players in the imaging space.  Since it was all government money at that time, I didn’t have to worry about expense.  (I’m so ashamed.)  But now we want to go for free if we can.  Enter Clonezilla.

Clonezilla is a nice little combination of open source tools that allow you to create and restore images.  There is a server version and a live CD.  We opted for the live version because of network problems that are waiting for the contractor to complete.  (If you must know we need a buggy run between buildings replaced.  We’re doing fiber and it will be much better!)  As it turned out, it was not difficult to put both the base system image and the bootable imaging system on an 8GB flash drive, so the entire solution fits in the pocket.

Overall, I’m pleased with the Clonezilla solution.  It did as well as commercial products I’ve used in the past, with not much more trouble to learn it.  With the flash drive I was able to build a new system in about six minutes.  Not too shabby.  Since the live cd is Linux with some tools added in and startup scripting to get it going I can adjust that to have automated builds available.  A user could potentially load their own image off of a flash drive with no technical help.

Structured for support

We made some decisions about the structure of the systems based on my previous experience.  Here are some keys to what we did.  You might consider some of them if you are doing your own roll-out.

1. Separate operating system and data.

System administrators have known this for years.  Keep your data on separate storage from your operating system.  That helps isolate damage when there’s a problem.  If the OS disk has problems you don’t have to worry about the data so much and vice versa.  In the workstations we don’t have two disks, but we do have two partitions.  20G for the OS and the rest for the data.  That way we can re-image the OS at any time and leave the user’s data intact.  The policy is keep your information on the D: drive and everything will be fine.  Later we’ll probably change this policy to putting those things on server storage… but local data is almost always required, even if it’s just program settings.  Windows does allow us to move the user data to another drive so that’s been pretty easy.  Of course, as Linux moves into the desktop area we’ll be able to do whatever we want because of the robust aliasing and mounting approach to the Linux file system.  (Life is so much better without drive letters!)

2.   Keep careful track of your golden image

When imaging it is important that the Golden Image, that base that you use to build a workstation, is as clean as possible.  Any personal user information or configuration taints the image.  You want to keep it clean.  So, while designing the image, expect to spend a lot of time saving and restoring while you figure out what you need.  If you so much as add an icon that you want to be on the base image you need to save a new one.  If you’ve been tinkering with a system you probably shouldn’t use that one, you should build a new clean system, add the icon and then save the updated Golden Image.  This is tedious, but it’s the only way to keep your image pristine and reliable.  Virtual machines are becoming a usable resource for this kind of work and I may explore more what I can do with image creation in this way.

Until you have time to redo the golden image, then you need to document the change steps which must be done after a new image install.  These will be the exact changes that you need to do to update the golden image.  This also provides you with a nice change log of the image… which is a good thing to do anyway.

3.  Have a plan for migrating the old data

I was blessed to not be as involved with the migration of old user information onto the new systems.  Some areas of user migration is very complicated, especially moving between versions of Windows.  I’ve gotten so used to simply scooping up a home directory and moving on that cleaning out system IDs and all of those other things just seem to be a mess.  Some of our team found a solution and were able to make it go and I just came in after to check on some remote control and drive mapping issues.  The point is that users don’t want to lose their stuff.  You need to have a plan for how to get the old stuff away and give some thought to how your going to keep it safe.  Separating the OS and data can help, but there may be some intertwining there that you aren’t aware of that will be a big nasty surprise when you actually have to restore somone.

4.  Test your procedures

You know it should work.  I know it should work.  But does it know it should work?  Workstations defy logic sometimes.  When you have a plan, try it out a few times before inflicting it on your users.  Having everyone involved do a few dry runs with the test systems during the image development phase will save a lot of trouble later.  Remember, by doing imaging you are ultimately saving the need to do many kinds of troubleshooting.  When something is wrong enough you just re-image, saving the trouble if installing OS, other software and tweaking to the right settings for your environment.  The time you spend up front will be paid back in the time you save not doing all that re-installing and reconfiguring.

Moving on

I’m pleased with how everything has been going.  We’ve been rolling the systems out and it’s beeing going pretty well.  The goal of all of this is to make sure that the church is able to not spend money that they don’t have to and apply those funds to the unique things that it must buy and, of course, to its mission– which is surprisingly not IT-related.  Any volunteer organization can benefit from using more open tools and techniques with the help of volunteers.  Sure, many organizations can get pretty spectacular software licenses donated by members.  But often those members move away or reduce their involvement.  Then the organization has to make the tough decision of paying the bill to use the whiz-bang tools or migrating to the next one that is donated.  Using open source solutions in these cases stops that cycle.  It also removes all the barriers to entry for technical people who want to help out.  There is a little bit of a learning curve for some, though most know much more than they think they do if they stop being stubborn and give it a try.  However, they don’t need to buy expensive software or have an enterprise background to help out.

Next time I’ll probably tell you more about the software options that we used to gently introduce users to open source choices.  I’ll also tell you some of the choices that we made on the back end to help volunteers support the environment inexpensively. Maybe later I’ll spend some time talking about getting volunteers to appreciate these choices and getting on board.  (Maybe you’ll have some ideas for me too!  It can be so hard to keep people motivated on volunteer things like this, even when they are worthwhile.)

Microsoft in the Linux code

There have been a number of stories lately about Microsoft contributing code to the Linux kernel.  Some of it has been pretty cynical and would make for a good popcorn movie.  I’ll leave it up to you where my thoughts belong.

What did Microsoft contribute?

Just in case you’ve been on vacation, here is a story that gives you the basics. It was actually challenging to find a story that wasn’t filled with speculation and spin on what this means and why it’s happening.

Thoughts

This is one of those disclaimer times when I remind you that my comments and opinions are not necessarily those of IBM.

First, I think it’s interesting that Microsoft has taken this step.  It is a very different approach to one that they had in the past of citing the irrelevance of Linux.  Clearly they see that some of their audience is going to want to work with Linux and that it is to their advantage to have a level of cooperation with that.  I believe these drivers have had some availability, but the source was closed.  The most interesting part of this is Microsoft’s decision to release the code under the GPL v2.0 license.  Microsoft leadership has shown some real distaste for the GPL in the past.  Releasing the Linux code into the predominant Linux license seems enlightened to me.

Second, the code is not really a change to Linux.  It’s simply drivers to allow Linux to run more smoothly within the Microsoft Windows 2008 virtual machine space.  It’s really more of a punch at VMWare and other virtual machine developers/vendors.  It would be nice to see this as more of a trend.  There are many vendors that keep their Linux drivers proprietary which makes for brokenness when you exercise your right to manipulate the Linux environment.  Being able to simply recompile any and all drivers into the environment of my choosing would make for a much happier Linux experience all the way around.  It also allows the Linux community to help fix driver problems based on a vendors incomplete understanding of Linux best practices.  (Yeah!  Go ahead and laugh.  There are Linux best practices.)

Third, the driver contribution is designed to make it easier for Linux to run subject to Windows.  Windows will be your key environment and Linux will run safely inside of it.  To me, this seems completely backwards.  From time to time I am compelled to fire up Windows for some silly activity where people were unaware of the multi-platform options.  I use VMWare to run Windows in those situations so I can get the activity over with… but Windows is safely encapsulated within my Linux environment, which reduces the exposure.

I think I can safely conclude that Microsoft expects users to be running Linux.  They are accomodating that while maintaining the position that Windows should be the key environment.  They chose to go along with the Linux conventions in their licensing which is actually pretty good form.

Overall this has little to no affect on Linux other than to make it easier for it to appear in some die-hard Windows environments.  That means that techies who appreciate Linux can now leverage this in their environments where the ruling admins demand Windows.  I find that when Linux gets into an environment doing work that people notice the benefits.  An “Aha!” moment seems to come when something is reliable, or customizeable or fixible in a way that is empowering.

Does this mean a big love fest for Linux from Microsoft?  Probably not.  Microsoft will continue to agressively leverage their position against what they perceive as a threat.  But maybe… just maybe… it will be a doorway for people inside Microsoft who see tools and techniques ported to Linux.  Maybe Microsoft goes a little more multi-platform, and that wouldn’t be so bad.

Living and sharing the lifestyle of an open-source kinda guy.