? skulDOUGery

News: 21 MARCH 2010

Just a quick update.  I have changed the name of this blog again.  It is also now located at http://www.skuldougery.com.  A friend of mine, MajorBedlam, suggested the name to me some time ago and I finally decided to register the domain.

In other news, I have been trying to learn to program using  the Netbeans platform.  To learn it, I have been working on an application for recording and tracking daily weights and blood sugar readings.  I plan to start blogging what I learn soon.   I envision the blogs to be tutorials describing what I did and why so that I can read them later when I forget what I was doing.

Goodbye KDE, Hello XFCE

screenshotThis past weekend I uninstalled KDE4 from my Desktop.  When I first started playing around with Linux, my first desktop was KDE 1.something.  Even though it didn’t have the polish of Windows, I could see that it had a lot of potential.  It was more than enough for brief excursions  into Linux.  I think back then I was running Redhat 7.something.  I have used KDE on Solaris (at work), Mandrake, Fedora, and for the past 4 years, Gentoo.

About a year before the release of  Vista I became so disgusted with Windows that I made the decision to switch completely to Linux and have never regretted the decision.  My wife and son had no problem making the transition from Windows to Linux thanks in no small part to KDE.  With KDE 3.5, I was in Desktop heaven.  I had power and flexibility that Windows users cannot even imagine.

When I began reading about the plans for KDE4, I could hardly wait.  There was so many good ideas.  I read many blogs and could hardly contain my excitement.  Work picked up and I became very busy and knew that I could not spare the time to get acquainted with 4.0 when it was released, so I waited for 4.1.  I tried KDE 4.1 and was very impressed but it still was not quite where I needed it to be for daily use.  No problem, things looked good and I could be patient.  Besides, I still had KDE 3.5 to fall back on.

KDE 4.3 was released and Gentoo decided to make the switch to KDE 4.  I made the leap and decided to switch completely to KDE 4.  It had come a long way and I could easily use it daily.  There were a few minor annoyances I would find from day to day.  Nothing worth even listing here.  I would search the Internet looking to see if someone else had found a work around or I was missing something.  More and more frequently, I would find KDE developers making claims that if you didn’t like a particular feature it was because you didn’t like change or were too set in your ways.  You just didn’t understand what it was they were trying to accomplish or couldn’t see the bigger picture.  I found this condescending and annoying.  Not at all what I had come to expect from the KDE community over the years.

While on travel, I screwed up my Gentoo installation on my Netbook.  I had to reinstall over the slow hotel connection.  I decided to temporarily install XFCE, a lightweight desktop environment, until I could get home to my high-speed Internet connection.  I discovered that XFCE was quite mature and easy to use.  It didn’t seem quite as polished as KDE and  maybe a bit rough around the edges, but completely usable.  In fact, the way I use my computer, it seemed to be more configurable than KDE 4.  I left it on and began exploring it more.

I continued to use KDE 4 on my desktop, but the experience was becoming less enjoyable.  KDE 4 began to feel bloated compared to XFCE and those minor annoyances were becoming harder and harder to overlook.  Then one day, while searching for a workaround to a particular annoyance, I stumbled across a blog posting from a certain KDE developer making the tired and arrogant claim that the developer knows best.  This kind of talk infuriates me.  I work as a developer in my day job and have never come across this argument professionally.  I think it is because professional developers know that this kind of crap won’t fly.  My customers look to me for my experience and expertise, but in the end, on certain things, they know what they want and what they like and it is my job to make it happen.  This is how I get paid.  I can explain to them how difficult or challenging a particular feature is, maybe even that this feature will increase cost, but in the end, I know that if it is what the customer wants, then the customer knows best.  I was so disgusted that I immediately began replacing KDE apps with XFCE apps.  My wife and son have adapted to XFCE just as easily as they adapted to KDE.  I am very happy with XFCE.

Ohio Linux Fest — Day One

I’ve been working lot’s of overtime, on and off (more on than off) for the past two years. I haven’t had a Saturday off in three weeks, so, when I found out I had this Saturday off, I started thinking of things to do as a family. I then realized that this was the weekend of the Ohio Linux Fest. So, we checked to see if there were still rooms available at the Columbus Hyatt Regency and, amazingly, there were. Cathy made reservations, I came home early, after a week of only 55 hours, we grabbed Christopher as he got off of the school bus, and we were off.

I had Cathy drive since I stress in traffic under the best conditions and this week my stress levels were through the roof. We arrived in Colombus around 7 pm and grabbed dinner and started trying to find the hotel. Actually, through the modern marvels of GPS, finding the hotel was easy. Finding where to park was…not. We circled several times, got lost, had to park while I called the hotel, then manipulated two GPS devices to get to the parking garage. Once we were in the garage, it took about 20 minutes to find an empty spot that was not reserved. We then had to navigate a labrynth of skyways to get to the actual hotel. Columbus is definitely in the running for my most hated city. The check-in process at the hotel went pretty smoothly, but the Hyatt turned out to be a dump. They don’t even have free wifi. I didn’t think any self-respecting hotel still charged for wifi. As a result, I’m writing this entry on my G1. Well, I am looking forward to the linuxfest tomorrow. I’ll post more later.

Blogging from My G1

Here is something cool. I am posting this entry from my T-Moble G1 phone. How cool is that?

The Android app that makes this possible is called wpToGo, and can be downloaded for free from the Marketplace.

The closest thig to a homepage I could find was http://danroundhill.com/wptogo. The guys at AndroidTapp gave a great review, so I won’t bother. Check it out.

Broken XOrg in Gentoo

I’ve been burned too many times by Gentoo updating my x11 system and then I reboot and I can’t start X.  It seems to happen just far enough apart that I don’t remember how I fixed it last time.  So, of course, last time it happened I made notes.  Only trouble is that I can’t remember where I put the notes from last time.  This problem is especially hard because I can’t seem to Google any sort of solution.  Maybe I am the only one to have this problem.  Well, anyways, I’m going to document it here, so hopefully I can find the solution next time, and maybe, in the process, I can help someone else.

The symptoms are that X fails to start.  The log, (or just typing X at a terminal), reveals that the following modules fail to load:  dri, extmod, record, and fb.  Nvidia and possibly wacom, evdev, mouse and keyboard may also be listed.

The first thing that should be done is to un-install and re-install xorg-server.  Note that simpy re-installing xorg-server won’t do the trick.

#emerge –unmerge xorg-server

#emerge xorg-server

This should take care of the complaints about dri, extmod, record, and fb.  If further problems remain, re-install the following modules (no need to un-install).

#emerge xf86-input-evdev xf86-input-keyboard xf86-input-mouse nvidia-drivers linuxwacom

Hopefully, that fixes it.  Hope this can help someone.  If not, I at least hope it helps me in the future.

First Week with T-Mobile G1 and Google Android

2009-08-01-183522

About six months ago, my wife started complaining that her Palm TX was acting wierd.  Battery sometimes would die very quickly and other strange things.  My Palm TX was still working fine although compared to my friends iPhone, it was really showing its age.  This all got me thinkning, we probably would only get another year at best with our Palm TXs and what would we replace them with?

We are avid Linux users, (even my 8 year old son prefers Linux to Windows), and we really didn’t like the idea of how closed the iPhone was.  I suggested that we consider iPhones but my wife freaked out.  She was not going to use an Apple product.  I figured if I could get her to Best Buy and have her hold an iPhone in her hands she would come around.  In the meantime, I started researching what it would take to use an iPhone in an all-Linux household.  The results were not encouraging.  It seemed that everytime someone made some progress using an iPhone with Linux, Apple came along and ‘corrected’ the ‘mistake’.  My enthusiasm for the iPhone was quickly waning.

Well, last week, my wife handed me her Palm TX and asked me if I could get the sound to work.  The audio played out of the headphones ok , but she was not getting any audio out of the built in speaker.  Since she used the built in alarm clock as her bedside alarm clock to wake her up, she had been oversleeping all week.  I played around with it for a while and then sadly announced that I thought it was not a setting but that it was physically broken.  I explained that I could set her up some computer speakers that would work, since she could still get sound out of the headphones, but what concerned her more was that the TX was breaking and she didn’t know what we would use after it broke.  My wife uses her Palm TX for everything and was rather dejected.

I thought, “Now is my chance!” and suggested that we go by Best Buy and let her play with an iPhone.  She reluctantly consented and we were off.  Boy was I wrong.  After about three minutes of holding an iPhone in her hand and playing with it, she exclaimed “I hate it!”.  She couldn’t put her finger on exactly what she didn’t like, she just didn’t like the iPhone.

I had also been looking off and on at the T-Mobile G1 and Google Android, but I wasn’t sure.  I loved that it ran on Linux, and that, as opposed to the iPhone, was an open platform.  I just wasn’t sure whether I would like it.  I suggested we swing by the T-Mobile store at the mall and take a look.  She agreed and we were, once again, off.

Once she had the G1 in her hands it was amazing.  Her whole face lit up and her eyes were sparkling.  She was in another world the whole time she held it, surfing the web, reading her blog, and exploring Android.  As for me, I like it every bit as much as the iPhone, probably even more.  We each got one and have had a week so far to play with them.  They are great.  My wife is even installing her own applications, something she has never really done before.

I hope to post some reviews of the applications and the phone in the future.

Logitech Cordless Click! Plus under Gentoo Linux

Several years ago I wanted a new mouse.

I was assigned to multiple projects at work and bounced between three different labs and my office desk. The environment in some of the labs was less than pristine and the only ‘mice’ I seemed to be able to get from our IT guys were mechanical. Due to the working environment, the mouse would need cleaning several times a day and was driving me crazy. I got the idea that I could buy my own wireless digital mouse and carry it from lab to lab. So, for fathers day, Cathy and Christopher made me the proud new owner of a Logitech Cordless Click! Plus mouse.

Eventually, our labs were upgraded to digital mice and I brought my Cordless Click! Plus home to my linux system. Basic functionality worked fine out of the box. That is, cursor movement, left button, right button, middle button, and scrolling up and down. What didn’t work was the extra buttons. This wasn’t that big of a deal for me because I rarely used them.

Several years later Compiz appeared on the Linux scene and I was eager to try it out. While I was floored by all of the eye-candy, one feature particularly wowed me. It was what is now called the scale feature. My understanding is that this feature is known as Expose in OSX. In my Compiz setup, the Scale feature was activated by moving the mouse pointer to the upper right corner of the screen. When you did this, all of the windows on my computer would scale out to a thumbnail, the size depending on the number of windows open. Then, I could pick which window I wanted to work with. The sliding and scaling is all done in very organic movements (like all things in Compiz). While this feature is great, it was also annoying for each time I let my mouse pointer stray too close to the the dreaded corner, I could only watch helplessly as my windows scaled to thumbnails. Then I would have to figure out which window to select so that I could go back to work. As you can imagine, what had great potential to be a productivity enhancement became a productivity deterrent. I realized that if I could remap one of the unused buttons on my Cordless Click! Plus to this Scale feature, I would regain my productivity.

Of course, this was not as straightforward as I had hoped and so I want to document what I did here, so that, firstly I have a record that I can use again if necessary, and secondly, so that others with this mouse may benefit.

Ultimately, what proved to be the most help was a Gentoo HowTo titled: HOWTO Advanced Mouse.

First, the kernel has to be set-up properly.

Device Drivers  --->
    Input Device Support  --->
        <*> Event Interface

    USB Support  --->
        <*> USB Human Interface Device (full HID) support
        [*] HID input layer support

Next you have to install evdev support for Xorg

#emerge xf86-input-evdev

You’ll need some info about the hardware. To get it, you can type:

#cat /proc/bus/input/devices

Here is what the results look like on my system:

I: Bus=0003 Vendor=046d Product=c510 Version=0110
N: Name=”Logitech USB Receiver”
P: Phys=usb-0000:00:0a.0-4/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=mouse1 event2
B: EV=20017
B: KEY=ffff0000 0 0 0 0 0 0 0 0
B: REL=143
B: MSC=10
B: LED=ff00

Armed with this information, edit /etc/X11/xorg.conf as follows:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "evdev"
        Option      "Device" "/dev/input/event2"
EndSection
And thats all of the changes.  Don't forget to restart X, either by logging out and hitting ctrl-alt-backspace, or rebooting.
The HowTo I referenced above is really a better source for information.
I wanted to provided the important bits here just in case that HowTo one day becomes unavailable.

Voting is free, or is it?

Seth Godin blogged about voting in his blog yesterday (5 FEB 08) Lessons from Voting.  I love reading Seth’s blog but I believe he made an error and I would like to make my case for why I think it is an error.  As his first point, Seth states that “voting is free”.  I think I know what he is saying here, that it doesn’t cost us anything to register, or to place our vote, so why not just do it.  However, I spent five years of my life making sure that we have that right.  My father and grandfather paid even more.  Many have even paid with their lives to make sure that we can just show up and vote.  This is not a new or unique argument, and I am sure that you have heard it before, but I hope it is never forgotten.

Project 365 Abort

Well, it is fairly obvious that my participation in Project 365 lasted all of 1 day. Oh well, my work schedule right now is horrendous. I leave the house well before the sun comes up and get home well after the sun goes down (even on weekends). There is only just so many pictures that I can take around the house. Maybe next year.

I am planning to take the camera to Virginia next month, but I probably won’t have much time to take pictures and I am sure that cameras will not be allowed where I will be working.

1,000,000 Lines of Code

Jack Ganssle has an article at Embedded.Com where he puts One Million Lines of Code into perspective. It is definitely worth a read. If you are an embedded programmer and are not familiar with Jack and his writing, you need to go to Embedded.Com and start reading. Jack is an embedded genius.

A Million Lines of Code