Mauriat Miranda     mjmwired

Firefox 4 for Fedora 14

Wow! That’s a lot of F’s!

Courtesy of Tom ‘spot’ Calloway, install Firefox 4 on Fedora 14 (or Fedora 13):

# su -c 'wget -P /etc/yum.repos.d/ http://repos.fedorapeople.org/repos/spot/firefox4/fedora-firefox4.repo'
# su -c 'yum install firefox4'

To run:

# firefox4 &

In Gnome: System > Preferences > Preferred Applications Change ‘Web Browser’ to Custom, and for Command: firefox4 %s

To remove Firefox 3.6:

# su -c 'yum remove firefox'

ref: http://fedoraproject.org/wiki/Firefox_4

Posted in: F13, F14, Fedora, Setup, Software,

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: pushftp.sh

#!/bin/bash

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

HOST=$1
SRCFILE=$2

USER=root
PASSWD=password
#DESTDIR=/usr/local/data
DESTDIR=$3

ftp -inv $HOST<<ENDFTP
user $USER $PASSWD
cd $DESTDIR
bin
put $SRCFILE
chmod 755 $SRCFILE
bye
ENDFTP

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

push:
        sh ~/bin/pushftp.sh $(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._

Posted in: Android, Devices, Miscellaneous,