The harsh reality about aging computers

In preparing for Software Freedom Day (September 19, more details in this post), my dad and I began evaluating the stash of donated computers he has (he’s waiting on a call from the local Computers for Kids program donee), and installing Ubuntu on them to be demo machines.  As we began installing Ubuntu, we hit a snag:  Ubuntu 9.04 will not install on pre-2000 computers.  Version 8.10 wouldn’t install either.  There were only three, and one of them was only 366 MHz, but I figured I’d give it a try anyway since they each had at least 256 MB of RAM.

I have a friend with a warehouse full of computers that he donates to another giveaway program.  He gets donations, like my dad, evaluates them, categorizes the parts, etc, and puts together systems with Windows XP on them (from TechSoup).    He told me last year he isn’t accepting any more computers with less than 1.0 GHz processors, because current software has too many problems with slower computers.

Well, yeah, you can get software to run on the older machines (see some previous posts), but increasingly, it’s a question of why?  I did it for the challenge.  But for machines going to others to use, why make it a challenge for them (unless, of course, they want that)?  For the Ubuntu folks, anything older than 2000 just isn’t worth the effort anymore.  For my warehouse friend, 1 GHz is the cutoff (which is post 2000).

On one hand, culling the older ones makes it easier for us.  On the other, my conscience cringes at adding to the number of computers and parts to be recycled (and the decidedly un-green effect most of those recycling shops have).  But that’s the reality: software installation and maintenance on dinosaur machines is a beast few are willing to wrangle with.

Software Freedom Day again!

September 19 this year!  Unfortunately, the date, selected by an international committee, is also on Rosh Hoshanna.  I think groups in some areas have changed the date for their events 🙂

In another unfortunate turn of events (or not, depending on your point of view), I had to pass my role as organizer for our local event to others in the Palm Beach Linux User Group.  The good news is they’re doing a better job of it!  The local Software Freedom Day event in Palm Beach County this year will be at Florida Atlantic University in Boca Raton.  If you’re reading this and you’re from the south Florida area  contact Bill Hall (pbclug at comcast + dot + net) or me (leave a comment below).  They’re looking for presenters, people who want to help set up, share, or just spread the word!

See the page at Software Freedom Day for more details!

See you there!

Frankenfest followup

We sorted a lot of stuff that day. A lot of people unloaded a lot of electronics.  About a third of it went to recycling (there is a recycling station near us that takes electronics).  We built three awesome systems, and the rest was divvied up among whoever wanted it.  Most of it ended up in my Mom’s garage.  She had been ecstatic as we hauled things out of her garage that morning.  We brought back about 2 to 3 times as much as we took.

She only said, “That’s going to be gone when the guests arrive (for Christmas)?”  We nodded solemnly.

The next day and over the next couple weekends, my Dad and I tested parts, sorted the box of RAM chips a friend donated to the cause, and put together another 6 working systems.  He got pretty good at installing Linux on them.  We used LinuxMint until we got down to the really low resource systems (Pentium II’s).  We put 20+GB hard drives on those, upped the RAM as much as we could (usually 256+MB), and put MacPup on them.  They were beautiful. 🙂

My brother arrived for Christmas, and during one of my days off, we put together another 4 systems, all with MacPup on them.  Unfortunately, my brother couldn’t get the case back on the last system, so it’s still waiting for me. 😉  After Christmas, my dad took them all to a local school, to eventually be given to students and families in need.  The teacher in charge of it had never heard of Linux and was eager to see it and learn more about it.  My dad, of course, was eager to tell her about it.  It sounds like another Linux fan has been born.

My mom is happier:  the garage only has as much computer parts in it now as it did before the Frankenfest. My dad collected a few more computers, waiting for the next call from the local school.  One of them is a laptop.  He installed Ubuntu on it and showed it off to me.  We decided to upgrade the RAM to 1GB and put Ubuntu 8.04 on it instead of the older version he had.  He spends as much time on it now, learning about Ubuntu, as he does on his Mac.  He is so happy with it he decided to put Ubuntu on another machine to give to a 90 year old friend in need of a computer.  So I helped him customize it to make it easier for his friend, and to strip out all the things that a novice is better off not messing around with.

I’m thinking Linux advocates should consider Frankenfests: get the cast off machines, put together working systems with Linux on them, and give them away!  If you have an idea of who it’s going to, you can customize it to be as full or as stripped as it needs to be.  I think most people will be like my dad, and become fans, too!

Book Reviews

It’s one of the things I’ve been doing recently.  They have been posted on TheTechStatic:

Sam’s Teach Yourself WPF in 24 Hours (looks good, especially if you want to get into .NET programming)

Make Projects:  Small Form Factor PC’s (this one is dangerous – I want to put everything aside and start working on cool hardware projects)

13 Interesting Online Applications for Seniors (They’re not all really applications, but it’s a good book – especially for Seniors who are already computer savvy)

Ubuntu Kung Fu (I really like this one.  It’s not for the total newbie, but is really useful)

SQL in a Nutshell (very handy if you do any programming with databases)

Web Security Testing Cookbook (Good resource if you already know what you’re doing)


CPU's and Monitors, lined up for Frankenfest

CPUs and Monitors for the Frankenfest

It was Kevin’s idea.

At a PBLUG meeting held at Nova Southeastern’s North County campus in Palm Beach Gardens, he suggested it. Frankenfest?  What’s a Frankenfest?  Kevin explained it’s when people bring whatever computers or computer parts they have laying around to an event where you (those attending the event) build whatever you can from what you have.

Kevin had a motive.  He had a garage full of computers and parts, and his wife was not happy about it, but he couldn’t bring himself to just pitch them.

Of course we were intrigued by the idea.  Especially me.  I kept the idea alive by continually bringing it up to the group.  They, of course, took the bait, being Linux geeks.  We ended up with a plan, of sorts. We needed to do something with all the computers we were sure to build.  Laura came up with a group that would like to give away the computer systems to needy families for Christmas.  We needed a place to do it.  My library had fortuitously cancelled all programming for December, under the impression they would be closing, so a very large meeting room was available to us almost any Saturday that month (actually, almost any day in December would have been available, but Saturdays worked best for everyone).  We needed a Linux distro to install.  I suggested Kubuntu because I like KDE and Ubuntu seemed mainstream enough to be easy for the ultimate recipients to find books or help.

Resource: cables

Cables, anyone?

So we did it.  The Frankenfest was today.  We spent two hours sorting and testing what we had. We spent the next 4 hours trying to load Kubuntu on the best machines we had, since I had created a Kubuntu cheatsheet to give to the ultimate recipients.  We started with 7 candidates, from Pentium III’s to a 2.16 MHz box.  We ended up with three successful installs, two with Linux Mint on them, and one with Kubuntu.  Travelin’ Rob had brought the Linux Mint because it runs on anything, and he likes it.  He also promised to do a Linux Mint cheat sheet to give to the foundation to include with these systems they will be distributing.

We almost had one more Linux Mint box, but the install ultimately failed, probably because we tried to put a 160GB hard drive on an older machine that couldn’t recognize bigger hard drives.  One of the better machines we had didn’t like our RAM upgrade attempt, and didn’t seem to know how to operate without the three centuries worth of dust we removed.  As much as we’d like to think of ourselves as computer geeks, we’re really just linux geeks, and have lapses in hardware sense from time to time.  I had spent most of the last week getting screenshots of Kubuntu on my virtual machine, thinking that it would work exactly the same on a real machine.

Resource line 2: speakers and keyboards

Speakers, keyboards, and mice

But ultimately, I guess it was a “success.”  Three families will be getting awesome computer systems. Kevin cleared out his garage. We got everything cleared out by the time the library closed.  I finally learned everyone’s names.

Someone (Travelin’ Rob?) suggested we do it again.  I said, “Yeah, once a year wouldn’t be too painful.”  Someone else suggested we let one of the local stations know, because they would cover it and advertise it if they just knew in advance.  We actually had people walking in and asking if we were taking computer donations.  I looked around at the 20+ computers in various stages of usability, and said “No, thanks.”  I can imagine what a little advance advertising would do.  Of course, since Kevin’s now got his garage cleaned out, it might be interesting to see what we’d get from people dropping by to drop off their computers.

Yeah, I guess I’m hopeless.

The perfect absurdity of it all

Patron:  Where is computer number 37?

Librarian:  Between numbers 19 and 21, of course!

But of course!  It made perfect sense to us because we weren’t thinking of the numbers as being sequential.  They were simply labels.  But the hapless patron had looked around and seen computers numbered in what seemed to be a sequential order, quickly scanned for numbers in the 30’s, and found 34, 35, 36, and no 37.  There was a reason computer number 37 was put where it is, which made sense at the time, and its location has just been accepted matter of factly by everyone working at the library.

But the quick exchange caught me unexpectedly and I laughed at the perfect absurdity of it.  People come into a library expecting things to be nicely ordered so they will be easy to find.  But in this case our nicely ordered system made no sense at all.  We won’t change it, of course.  Changing the computer numbers on the computers themselves and within the local network will never make it even to the bottom of the short list of things to fix here.  Besides, it looks perfectly normal to us – 37 has been between 19 and 21 for so long it’s practically ingrained in our vision.

So I wonder and ponder what else we do achieves that perfect absurdity, where the obvious eludes us, or it would take too much time or effort to change.

Drupal, Google Calendars, and cool people

A friend was looking for a way to communicate with employees without having to send e-mails, since not everyone checks their e-mail regularly, or even thinks to check their e-mail these days.  All of the employees, however, work at a computer for at least part of the day.  Several months ago I had found a way to have the current day’s events listed on each computer’s desktop by using Windows Active Desktop, which will display a web page.  Unfortunately, IT people intervened after a couple months and disabled the Active Desktop feature on most of the computers. That left using live web sites, accessed with a browser, as the only option.

The first issue was to set up something that the friend, who has moderate computer skills, could handle.  We also needed a site that could restrict access to the information being posted.  A bonus would be finding a way to easily display the current day’s scheduled events on the site as well.  An even bigger bonus would be a “solution” that integrated room scheduling with displaying the schedules on the site, especially if that solution would prevent overbooking.  And, of course, the kicker is that it all has to be free.

My friend thought the limitations of using a browser and Internet to access posts and information were acceptable.  We could place shortcuts on the desktop, or make the site the browser homepage, and let the staff know about it.  The staff were grateful to have something after the current events schedule disappeared from their desktops.

Except for the site itself, everything did turn out to be free.  But since I happen to have a hosted account with an obscene amount of space and bandwidth that will never get used, it seemed like a good place to experiment for the benefit of my friend.  Since I already have several sites running Drupal, that was my CMS of choice.  It is free, and has a large, active community supporting it.

So I set up a new site, required a login to view the content, gave my friend just enough access to publish stories, and logged into the site from all the location’s computers, instructing Internet Explorer to remember the username and password.  So far so good.  Pretty simple and straightforward.

Then Internet Explorer stopped remembering the username and password (there was probably some kind of staff intervention involved, but I decided to see if I could find a fix that would outsmart them).  A quick search of the modules section of Drupal turned up Persistent Login.  This works great until they start clearing the cookies.

The next request was from my friend for an RTF type editor, to be able to use different fonts and colors in the posts. That was solved with the TinyMCE Wysiwyg module. Then I turned my attention to finding a way to get a daily events listing posted dynamically.

Enter Google Calendar, which has XML feeds.  After trying out several ways to get the feeds onto the site using the FeedAPI module, the Views module, and the CCK module, I began searching through the discussion groups on Drupal.  I came across a discussion that referred to a new module being developed to do just what I was looking for: GCal Events.  Jeff Simpson, the hero here, without any previous experience creating modules for Drupal, put it together, tweaked it and fixed bugs based on our feedback, and has now put it in the projects section of Drupal:

Since the site for my friend was already up and running, I set up a test site that mirrored the other site’s setup:  With the development snapshot of the GCal Events module installed, which has some tweaks and bug fixes applied after the official release was put up, everything ran great.  So I enabled the module on my friend’s site.  Scheduled events for the day are pulled from a Google calendar and displayed on the right column.

The last issue was to set up the Google calendar account to work as a room scheduling “solution.”  There are 3 rooms at this location that are reserved for various uses.  Several people in different departments were using 3 different calendar books to block out reserved times.  On a few occasions, events have been overbooked.  The books can also be hard to locate if someone has taken them for awhile.  Google calendars seemed like an easy, free, and obvious answer:

  1. More than one calendar can be created within an account
  2. Calendars can be shared with other google accounts
  3. Event times in a calendar cannot overlap (which prevents overbooking)

On the main Google calendar account, I set up calendars for each of the rooms that can be booked.  I then shared the calendars with others who would be booking the rooms, allowing them to make changes (so they can add events).  Since the calendars represent the rooms being booked, it is not necessary to fill in the location field, making a “quick add” possible through the popup that appears when clicking on a time space within the calendar (day or week view).

On the site using the calendar feeds, I set up a separate GCal Event feed for each of the calendars, so events are displayed by room.  The only glitch, which was fairly easy to fix, was a piece of php code that refreshes the cache once a week instead of every day (thanks to jdwfly’s post in the discussion:

I love open source software.  And I love the people that are part of it.  Thanks, Jeff!

Digital natives, digital immigrants, and digital refugees

I have been hearing the terms digital native and digital immigrant for quite a while.  Digital native, of course, refers to those who have grown up with digital technology (generally those born after computers and cell phones became mainstream), and digital immigrants would be those who had to learn the technology as an adult. But there are a lot of people that don’t nicely fit into those categories, there are also the “bridges” (somewhere between digital native and digital immigrant) and the refugees (those who have fled the onslaught).  I teach the digital refugees, of course.

In an effort to get a better picture of these distinctions, I started questioning my kids about the ways they use technology and why.  I don’t think my kids are particularly typical (after all, they are mine), but their responses were interesting, nonetheless, since they affirm, for the most part, what others (mostly digital immigrants) are saying about digital natives.  My kids range in age from 17 to 28.  I questioned the 17 year old first.  His answers were pretty much the same as his 22 year old sibling who is still in college.  His 26 year old sibling, out in the work force, had only slightly different answers.  All of them (even the oldest ones) grew up with computers both at home and at school, although for the older ones, computer technology was not as widespread and integrated as it is today.

They all have cell phones.  They all use the phones to send text messages.  The youngest says he uses text much more than voice (verified by the phone bill).  For the 22 year old it’s about a 50-50 split, and for the 26 year old, it’s mostly voice.

Why do they text instead of use voice?

  1. It’s more private, or, to put it in the words of the youngest, “texting is less obnoxious.”  He used an example of someone in a public place like a grocery store talking loudly on a cell phone so everyone can hear all the gory details that they would rather not. Texting doesn’t disturb anyone.
  2. In many cases it’s quicker and easier than dialing a number and waiting for the other person to answer just to say something like “I’m on my way, I’ll be a few minutes late” or “are you going to Fred’s this evening?”
  3. You can send the message to multiple recipients rather than making multiple phone calls.
  4. Sometimes it’s the only way you can communicate.  The youngest used the example of being in class, where phones are not allowed, and texting surreptitiously.  The 22 year old used an example of being at a loud party where you wouldn’t be able to carry on a phone conversation.

In most cases the texting is short, quick messages.  The 22 year old will switch to a phone call if the messages are getting long, since it’s easier to talk.

They all have MySpace and Facebook accounts.  Which one they use depends on which friends they want to communicate with. The 26 year old is in the process of resurrecting his Facebook and MySpace accounts, because that’s where all his friends are.  They all prefer Facebook:

  1. MySpace has too many ads that are in your face. As one of them put it, “Where would you rather talk to your friends: in the Mall, or in Radio Shack?”
  2. Facebook is more streamlined
  3. Facebook is more user friendly
  4. Facebook gives you a targeted list (“Here’s a list of others from your school who are on Facebook”) making it easier to find your real-life friends.
  5. Facebook has more games and applications.
  6. You have more freedom to change around your Facebook page since it’s HTML based (but this can be a bad thing when you go to page to leave a comment and there’s a big flash application that slows down your computer and an annoying song you can’t turn off because the flash app is in the way).

What do they think of MySpace and Facebook?  Generally, it’s a time waster.  They get on one of them when they have nothing else to do, or they have time to waste.  Both MySpace and Facebook are used to communicate with their friends, when the communication does not need an instant response.  But all of them know people who are “addicted” to MySpace or Facebook, spending every waking second trying to find out what everyone else is doing, or checking to see if there are any new comments.

What about e-mail?  For all of them e-mail is snail mail.  They use it for:

  1. formal communication
  2. sending attachments (it’s easier than IM, with less problems)
  3. staying in touch with distant friends or friends in foreign countries (where it’s too expensive to text or phone).

What is the real snail mail for?  Packages.

What about blogs? There was a disinterested “no” from all of them.  They don’t have one, don’t want one, and don’t read them.  When I pressed the 26 year old, he thought about it and admitted he does visit a couple technology news sites that are actually blogs.

E-readers have gotten such hype I couldn’t resist the opportunity to find out what they thought about them. They were puzzled:  “Why wouldn’t you just get the book?”  When I pointed out you could put hundreds of books on them, they were still puzzled:  “Isn’t that what a library is for?”  They conceded they might read an electronic version of a book, but couldn’t fathom having a specialized device to read it:  “Why would you get something that can only do one thing?”

Finally, I asked what they would do if there were no cell phones or computers.  The 17 year old wasn’t fazed: “Find something else to do, like read a book or ride over to my friend’s house.”  The 22 year old was a bit more concerned:  “You mean, like a day or two, or forever?”  (clearly not liking the “forever” option).  The 26 year old didn’t like the forever option either since he works in the technology field.

I think they all have a very different concept of technology than my generation does, even those of us who have embraced computer technology since its inception.  It really is an everyday occurrance for them, no more special than a toothbrush. And I guess that is what makes them “natives.”  It is hard for them to understand not being intimately connected to technology.  My 17 year old found it too painful to watch me figuring out how to navigate around a new cell phone last year, that had a totally different interface from the last one (and a few more features).  He finally took it from me and set it up in a matter of seconds, complete with a picture of him as the background.   On the other hand, his brother only two years older reacted to the new release of World of Warcraft much the same as a digital immigrant:  he wasn’t so sure he wanted to take the time to relearn how to play the game with all its new features and content.  He wanted to stick with what he was comfortable with.  In the end, for them, it is just another tool.

Software Freedom Day 2008!

Software Freedom Day in Palm Beach County

The Palm Beach County Linux User Group is proud to announce its third Software Freedom Day/Installfest as part of Software Freedom Day 2008, the biggest international celebration and outreach event for Software Freedom, with hundreds of teams from all around the world participating. The yearly event is a celebration of Software Freedom and why it is important. This year the Palm Beach County Linux User Group will be hosting the event at the West Boynton Branch Library, 9451 Jog Road, Boynton Beach, Florida, from 10:00 AM to 12:00 P.M. on Saturday, September 20, 2008.  Google map available here.


West Boynton Beach Library

West Boynton Beach Library


As part of the Software Freedom Day celebration this year, the Palm Beach County Linux User Group will be offering assistance with installing free portable software on USB flash drives, giving away CD’s with free and open source software for Windows and Macintosh computers, and demonstrating how to use the free software.

We invite you to come by for giveaways, demonstrations, and to learn about Linux, a free and open source operating system available for any type of computer.

Google API’s and Mac

I have an old iMac that I’ve been using as a server. Because I like Linux, and because it was easier to configure LAMP (Linux, Apache, MySql, PHP) than the similar components in OS X, I installed Kubuntu 6.06 on it (I’ve always liked the KDE desktop better than the Gnome desktop, which is the default for Ubuntu). Everything was fine until I decided I wanted to try out a Google API.

Google APIs require PHP 5.1.4 or higher (actually it was needed for the Zend engine, which is required for the Google API). But Ubuntu 6.06 (and Kubuntu 6.06) didn’t have upgrades to PHP 5.1.4. After a lot of trials and failures, I decided to fall back on Apple’s OS X and install MAMP (Mac, Apache, MySql, PHP). This particular machine could only take OS 10.3.* on it, which limited the MAMP I could use. But it included PHP 5.1.6, so I was happy. For a while.

I got everything up and running again, and even figured out how to get local network access working. Then I got back to the Google API. The first step, with MAMP, however, was to secure it, since the default install is with user “root” and password “root.” So far, that wasn’t a problem since MAMP on this computer was only accessible on the local network, firewalled from the Internet. But using a Google API requires access to and from the web.

The MAMP application has a FAQ page, accessible from the start page, that looks really helpful, but isn’t. You can get there by clicking in the FAQ button at the start page:

MAMP start page

Of course, the part about which versions of the included programs are installed is helpful. But I had already checked that before I downloaded MAMP. It’s the part right below that, under the “How can I change the password for the MySQL database?” that is unhelpful.










First of all, mysqladmin is not in that location (/Applications/MAMP/bin/mysql4/bin/mysqladmin). It’s in /Applications/MAMP/Library/bin. The php config file location is closer to what’s listed: /Applications/MAMP/bin/phpMyAdmin/

Second, trying to run the suggested command in tcsh got me nowhere. It turns out the default shell was changed to bash in OS 10.3, but upgrades (which this is) keep tcsh as the default. Fortunately, bash is available, but the default has to be changed in the terminal preferences.

So, just to make sure bash is really there, go to the /bin directory in the terminal (using the Finder will just show the documentation):

bash in the Finder

Change the directory to root level by typing “cd /.” Then type “cd /bin” to get to the /bin directory. Then type “ls” to list everything in that directory (see bash listed in the screenshot):

While the terminal is open, go to the Terminal preferences:


Notice the path listed is for tcsh:

tcsh set

Change it to /bin/bash:

bash path

Close the Preferences window, quit the Terminal application, and relaunch it. bash will be at the top of the Terminal window instead of tcsh now.

Now running the command listed in the FAQ page (with the path modification) will change the password in MySQL.  But before you actually press the Enter key to run the command, highlight the new password and copy it using the edit menu at the top of the screen.

/Applications/MAMP/Library/bin/mysqladmin -u root -p password NEWPASSWORD

(where NEWPASSWORD is the password it is to be changed to). The php config file will also need to be edited. I have eMacs on this machine, which worked nicely.  Don’t try to do it in Text Edit.  That will not work nicely at all.  Open the file (in MAMP’s phpmyadmin folder) in a code editor like bbedit or emacs. Find the lines

$cfg['Servers'][$i]['user']           =   'root';          //MySQL user
$cfg['Servers'][$i]['password']       =   'root';         //MySQL password

Replace ‘root’ in the password line with the one you copied. Save the file and close it.

Now, according to the MAMP faq page, it’s finished. Not.

It turns out there’s also a couple scripts to change in MAMP, documented over on network0.  There’s also a handy section on securing MAMP itself by password protecting the htaccess folder using an online .htaccess password tool (  So now that I’ve got it locked down it’s time to figure out how to open it up for Gdata on that Google API.  🙂