Resurrecting my Linux Blog

The last 4 and half years had left me with no spare time to pursue my interests in all things Linux. Recent career choices have given me the breathing room to change that. I intend to bring up my site back to what I’ve always wanted it to be: useful to me and hopefully useful to others.

Lots has changed in the linux and open source world, but even so I’ll slowly start contributing again. (I’m really rusty)

To the countless people who have emailed me and I never replied, I am truly sorry. Thank you to all those who have sent private words of encouragement.

Yum Groups

The Fedora 18 installer does not allow single package installations, instead it prefers to install by package groups. You can also install groups after completing installation. This is especially useful since you can only select one Desktop Environment at installation. Alternatively, to have faster installations, select as few groups as possible and then only install the ones you need later.

This is just a quick note on how yum can install by groups instead of by individual packages.

To see all of the available groups run:

$ yum groups list

Example (abbreviated) output:

Available Environment Groups:
   GNOME Desktop
   KDE Plasma Workspaces
   Xfce Desktop
Available Groups:
   Authoring and Publishing
   Books and Guides
   Development Tools

Note: Quotes below are not needed when the group name is a single word, however if the group name has spaces make sure you use quotes.

Pick a group above, example Authoring and Publishing.
To see what packages the group includes, run:

$ yum groups info 'Authoring and Publishing'

To install the entire group, run:

$ sudo yum groups install 'Authoring and Publishing'

To remove the group, run:

$ sudo yum groups remove 'Authoring and Publishing'

Note: Generally removing a group is not recommended, you may remove dependencies which may make your system unusable.

Legacy Man

Legacy Man

by Mauriat Miranda
(with apologies to Billy Joel)

It’s nine o’clock on a Wednesday
The regular files are looking neat
There’s an old dev sitting next to me
Trackin’ bugs in his Excel spreadsheet

He says, “Son, can you debug this memory
I’m not really sure how it works
But it’s bad and discrete and I knew it complete
When I wrote a younger man’s code.”

La la la, di da da
La la, di di da da dum

Write us a hack, you’re the legacy man
Write us a hack tonight
Well, we’re not in the mood for an upgrade
And you’ve got it compiling all right

Now John in support is a friend of mine
He helps me debug in C
And he’s quick with a fix or promoting Linux
But there’s some apps that he’d rather see

He says, “Bill, I believe this is boring me.”
As his mouse clicks away through his trace
“Well I’m sure that I could sell iPhone apps
If I could get out of this place”

Oh, la la la, di da da
La la, di da da da dum

Now Santosh is a database analyst
Who never has time for his wife
And he’s talkin’ with Louie, who codes like a newbie
And probably will do for life

And the IT are enforcing policies
As the senior devs slowly check nodes
Yes, they’re using an app they call hopelessness
But it’s better than writing new code

Write us a hack, you’re the legacy man
Write us a hack tonight
Well, we’re not in the mood for an upgrade
And you’ve got it compiling all right

It’s a pretty big patch for a testing day
And the managers change the release
‘Cause they know that today, there is nothing I’d say
To cause their process to cease

And the desktop, it looks like a Commodore
And the Microsoft disks are near
And they run all their builds and think bugs are all killed
And say, “Man, how is this workin’ here?”

Oh, la la la, di da da
La la, di da da da dum

Write us a hack, you’re the legacy man
Write us a hack tonight
Well, we’re not in the mood for an upgrade
And you’ve got it compiling all right

Automated FTP Script

I’ve been doing some development for some embedded Linux devices which only support ftp and telnet. In order to automate transfer of binaries from my Fedora development host to the target embedded device I’m using this handy ftp script:


# arg1 = dest hostname
# arg2 = local file
# arg3 = dest dir



ftp -inv $HOST<<ENDFTP
chmod 755 $SRCFILE

Then I added something like this to my Makefile after cross-compiling:

        sh ~/bin/ $(TEST_BOX) $(APP_BIN) /usr/local/data

So after I run make all, I run make push. I still need to telnet to the host to test/debug the application, but this makes the process much faster (and less error-prone).

I’m just noting this for myself, hopefully it’s useful to someone else.

Downside to Enterprise Linux

(Note: For the purpose of this post CentOS is equivalent to RHEL)

It has been about 2 and 1/2 years since I built a dedicated server and chose CentOS instead of Fedora. Since I installed CentOS 5.1 I have used the upgrade process 4 times with no problems bringing me to version 5.5 with practically no re-installation, re-configuration or troubleshooting upgrade issues. This is the goal of enterprise linux. A long term stable solution with no major changes to preserve compatibility with every piece of software that was provided since it was released (in this case April 2007). In the time I’ve been on CentOS I’ve upgrade/replaced Fedora at least 5 times on other machines. Each time learning the changes to software, languages, security and many other components.

I’m very pleased with CentOS knowing that after the next yum update all my software will keep working. And everything is 100% secure.

However the exact reason enterprise linux is so great is also the exact reason why it can be a major pain. Once a main component is locked down, Red Hat will not provide updates unless needed for security or stability.

An objective for my server was for web development. The state of web as defined in 2007 when RHEL was created is coming close to obsolete. CentOS 5 includes PHP version 5.1.6. However PHP 5.2, which was released before RHEL 5, has become the default standard requirements for many PHP applications. I was updating some code to utilize JSON when I realized I would have to deviate from standard updates to install PHP 5.2 on CentOS. (This wasn’t too bad)

Another objective was a file server and backups. I’ve been playing with DropBox (*) as means of an off-site backup solution. What makes it great is it’s support for Linux! Even text-based linux which is what my server is. However the first requirement is Python 2.5. CentOS uses 2.4, and you can’t do a major update of Python in a CentOS/Fedora install without breaking many things since this is a critical component. You can do a parellel install for Python 2.5 but this is a bit annoying to maintain as you have 2 versions of python installed. (I have yet to get Dropbox working well on my server)

I also have been writing C++ software using boost. I recently realized the asio library was standard in boost 1.37 and later. I was locked to 1.33 in CentOS 5. No big deal since, the boost package was not critical for me in CentOS and it could be easily replaced. So I decided to recompile a newer Fedora boost src.rpm. However I would see errors like this:

error: unpacking of archive failed on file /home/mirandam/rpmbuild/SOURCES/boost-1.41.0-iostreams-zlib.patch;4c7880e5: cpio: MD5 sum mismatch

The above error is simply because Fedora 12 changed the RPM compression algorithm used and rendered older versions of RPM incompatible with newer packages. I don’t dare meddle with RPM as it is a core component, so I ended up compiling an older Fedora 11 version of boost 1.37 src.rpm which did the job.

Overall I’m still happy with my setup, but slowly I’m spending a great deal of time patching different pieces as my needs have slowly evolved. Interestingly Red Hat recently announced extended support lasting up to 10 years. That seems way too long considering the state of software (although everyone still uses Windows XP – now 9 years old).

I’m getting a little antsy running 3 year old software. The good news is that RHEL 6 is in beta, which means that soon after release the totally free CentOS 6 will follow as well. Which I’m eagerly waiting for, because all my issues will be addressed … at least for the time being.

(*) Affiliate link – I highly recommend Dropbox.

HTC EVO 4G Battery Life

I have read the most serious complaints about the HTC EVO 4G have been over battery life. I would like to offer my observations.

I got my EVO on May 19 with 1 free month of service till June 20. During that time I didn’t use the phone much. I switched my primary account after I returned from India. In doing so I found that in my absence an update was available. The points that caught my attention:

  • Improvements to Wi-Fi performance
  • Addresses Facebook sync issue which can improve battery performance

Until this update I was never using WiFi on the phone, and I don’t use Facebook for addresses (or anything else for that matter).

So it has been about less than 2 weeks of usage as a primary phone, and for the most part I think the battery life is completely acceptable.

My typical usage has been less than 1 hour talk time per day. At home I leave WiFi on (even through the night) and while at work I turn WiFi off. At work my 3G coverage is not great (3/5 bars) and often does data roaming (4/5 bars). I haven’t really used much BT or GPS. I haven’t even seen any 4G :( so that’s off. … I do minimal web browsing (only when I’m not near a computer). However I do lots of email. I have 4 email accounts setup (with push email) which seem to *beep all day long*. I usually don’t run the task killer to quit any background battery wastage. I have haptic feedback enabled, use a starfield “live” wallpaper and leave the default brightness. I don’t have very many apps installed and I don’t use any widgets that constantly update. However I do use auto-sync for Google calendar.

With that, I can go well over 36 hours before I hit the 15% battery critical alarm. If double the talk time or do equivalent surfing (as talking), that comes closer to 24 hours.

Yesterday I chronicled my usage in detail. I had the battery at 100% charge at about 3:30pm yesterday. I hit the 15% critical at 1:30pm today (22 hours later – 21:52:41 to be exact). In that time I have done:

  • 1:10 hours BT music streaming in my car (two 35 min trips, no GPS)
  • 1:30 hours talk time (WiFi on)
  • 0:15 min talk time with BT handsfree (WiFi on)
  • 0:20 min GPS navigation in my car (with some GoogleMaps looking for a place)
  • 0:30 min 3G web surfing (with some youtube)
  • 0:30 min of email

During the bulk of the usage last night there was a major thunderstorm and the signal was a little weak. I did have one dropped call (which is why I disconnected the BT hand’s free).

I’m not saying this is amazing (even though the EVO 4G has one of the biggest batteries on the market). However I don’t find this worthy of my complaint.

In contrast:
I have a Motorola Droid (currently disconnected), which I only leave WiFi on. In less than 24 hours (with practically no usage) the battery is completely dead. Pushing the power button does nothing.
Previously when I used the Palm Pre, I would have to be very careful at night. Randomly I would wake up to the battery at critical. I would usually have to charge at night. And I disabled everything (no WiFi and no email updates).

The one major need for power on my phone is that it should (1) last all day for my typical usage and (2) if the battery is not close to critical when I go to bed, it should not be critical when I wake up. Currently my EVO seems to do this much better than my other phones.

I do plan to monitor this further in the future.

* Full disclosure: I got this device for free, but I was planning on buying it anyways. I do pay for service.

Fedora 13 Released

Paul W. Frields announced the release of Fedora 13.

The email there is quite comprehensive, so please take a look at it. Otherwise you can read the release notes in 1 page.

I have not had much time to spend with F13 in the beta period, but from what I have used, I’m quite pleased at how many things work with little to no effort. I encourage the upgrade.

Please download Fedora 13 using the standard mirrors or using the Torrent (recommended).

(Note: I have not published any guides/information for this release yet. This will happen in the next few days. Most of the Fedora 12 information applies.)

LCD Monitor Recommendation

I have been on a 3 year quest to dump my old Sony CRT monitor and replace it with an LCD monitor, but I keep getting sidetracked.

I am looking for suggestions (recommendations really) for a high end/quality LCD monitor.

Resolution must be 1920x1200 or higher (NOT 1080), and most likely 24in display.
It would be really nice with dual-inputs so I can add both my desktop and laptop.
A built in USB hub would also be pretty useful.

Price is not an issue (it is, but I care more about quality), so I have an open mind. I don’t care for another TV, just more screen space.

My top picks are the Dell UltraSharp U2410 and the NEC MultiSync EA241WM. I’ve always been interested in Samsung but too lazy to figure out which series are cheap and which are quality.

If you own or use any of the above monitor or know of one you really love please let me know. I want to buy something in the next 1 to 2 weeks. (Apologies for all the messages).

Leave a comment or Contact me.