The iPhone Cult

Lori and I joined the iPhone cult this weekend. We had ordered our phones from an AT&T store the week before, mostly because I simply can’t stand to wait in line. It only took 5 days for one, and 6 days for the second phone to show up, and there was no stress. And the AT&T store was much better at handling the porting of two phone numbers from one carrier to another.

So after a few days my review pretty much matches that of most people’s. The device itself is wonderful; the ability to have Internet, e-mail, an iPod, and all of the download-able applications in such a small and light package is amazing. The drawbacks? Horrible battery life and an iffy quality of synchronization and integration with other services.

I’m successfully using the Mac OS X 10.5’s integration with Google Calendar and iTunes for my calendar and contacts synchronization successfully – we’ll simply ignore the fact that the second time I synchronized it erased all of my contact data on Google. Lori is synchronizing successfully with two separate iTunes libraries: one to get contact & calendar information from her work Outlook installation, and another to get all of her music from home.

I am still amazed at the horrible battery life so far. I was able to completely consume my battery in about 90 minutes of heavy e-mail usage (yes, using the 3G network) with a nearly full charge. There’s lots to fine tune to make this better, but ideally you’d get a couple of days of usage with heavy, ignorant usage… perhaps someday.

Smart & Get Things Done

I finally got around to reading Smart & Gets Things Done: Joel Spolsky’s Concise Guide To Finding The Best Technical Talent which came out a little over a year ago. The title pretty much hits the point of the book on the head.

It is a quick, pleasant read, even if you aren’t a big fan of the Joel On Software blog. Joel has some pretty good insight into the software development industry and technical talent in general, so even if you don’t agree with all of his assertions (I certainly don’t), his opinions are worth reading and heading.

Some key points I took from this book were:

  • The great developers aren’t usually on the job market, so you have to go out and hunt them down.
  • Treat developers like the talent they are; the great ones are rare.
  • Spend the money making sure the developer’s work enviroment is top-notch; it’s a better way to spend your company’s dollar than with over-the-top salaries.
  • Follow some real software engineering processes or pay the price with a poor quality product and a stressed-out team.
  • If you’re hiring programmers, make sure to actually have them write code during the interview process.

Overall, I’d give it 3.5 out of 5 stars.

Summer reading list

I just ordered several books from Amazon for work-related reading over the summer. All of these are highly recommended so hopefully they won’t be too boring.

  • Designing Interfaces: Patterns for Effective Interaction Design – Jenifer Tidwell
  • Here Comes Everybody: The Power of Organizing Without Organizations – Clay Shirky
  • Presentation Zen: Simple Ideas on Presentation Design and Delivery (Voices That Matter) – Garr Reynolds
  • Once You’re Lucky, Twice You’re Good: The Rebirth of Silicon Valley and the Rise of Web 2.0 – Sarah Lacy
  • Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent – Joel Spolsky

net-snmp snmpd failure in CentOS 5

I was recently testing Zenoss on a CentOS 5 system when I discovered that the snmpd component of net-snmp would not start. There were no error messages in /var/log/snmpd.log so this made diagnosis a bit tricky given I had never used the tool before. 🙂

Running the daemon manually with snmpd -f showed the following error:

snmpd: symbol lookup error: snmpd: undefined symbol: smux_snmp_select_list_get_length

A quick Google search found the following bug based upon that error: http://bugs.centos.org/view.php?id=2700

This bug indicates that the net-snmp-libs package was not being updated when the net-snmp package was updated using CentOS’s built-in update manager. A quick check validated this:

[root@cgibbons-dev CentOS]# rpm --query net-snmp
net-snmp-5.3.1-19.el5_1.4
[root@cgibbons-dev CentOS]# rpm --query net-snmp-libs
net-snmp-libs-5.3.1-14.el5

And then a quick update of the net-snmp-libs package solved the issue:

[root@cgibbons-dev ~]# yum update net-snmp-libs
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
base                      100% |=========================| 1.1 kB    00:00     
updates                   100% |=========================|  951 B    00:00     
addons                    100% |=========================|  951 B    00:00     
extras                    100% |=========================| 1.1 kB    00:00     
Reading repository metadata in from local files
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for net-snmp-libs to pack into transaction set.
net-snmp-libs-5.3.1-19.el 100% |=========================|  27 kB    00:00     
---> Package net-snmp-libs.i386 1:5.3.1-19.el5_1.4 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Updating:
 net-snmp-libs           i386       1:5.3.1-19.el5_1.4  updates           1.2 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update       1 Package(s)         
Remove       0 Package(s)         

Total download size: 1.2 M
Is this ok [y/N]: Y
Downloading Packages:
(1/1): net-snmp-libs-5.3. 100% |=========================| 1.2 MB    00:00     
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : net-snmp-libs                ######################### [1/2] 
  Cleanup   : net-snmp-libs                ######################### [2/2]

Updated: net-snmp-libs.i386 1:5.3.1-19.el5_1.4
Complete!

Someone finally did it…

I’ve been a GPS user since the system was first available and one thing I have always wanted was the ability for navigation software to take additional factors into account when planning a route. Most systems just offer you the ability to build routes based upon road speeds, road types (highways, toll-roads, off-road, etc.), and a choice of speed or distance goals. That’s OK, but any seasoned travel knows there’s more to it than that.

What about avoiding known traffic bottlenecks? Some navigation systems started adding that a few years ago. But one that I’ve been waiting for forever is the ability for a navigation system to route you around bad sections of town. If you are from out of town, you likely have no idea what sections of town to avoid. All the data a navigation system needs for that are already out there – crime rates by ZIP code, for example.

Honda now has a navigation system that does exactly this. Unfortunately, it is available only in Japan at the moment.

I’m sure in the overly PC society that the Western world has become it will never find its way here, which is a damn shame.