Remove Spikes From RRDtool Graphs

I use RRDtool to make graphs on various things I monitor like server stats, network stats and it does a relatively good job. My one (big) complaint is that when you restart you occasionally see these gigantic spikes that completely mess up the data. I’ve even seen spikes larger than what the system can technically handle.

Nobody mentioned there’s a removespikes.pl script (download) that will remove these outliers from your rrds. I put together a quick shell script to make it quick for when I need to run it again:

!/bin/sh
 
for i in /path/to/graphs/rrd/*;
do
        perl removespikes.pl $i;
done;

If you have a ton of graphs a quick shell script to iterate through the directly may be quicker. If you only have a handful like me, no big deal.

Keep the script around for the next time you have spikes to deal with.

Capturing User Innovation

Building a new product is always fun. You draft ideas, generate wireframes, mockups, prototypes, you build your app, you tweak it, you release it. In the case of software and web applications you also get to update it and make it better. If it’s hardware, you work on a 2nd revision to be sold a year later to people who didn’t adopt early (jab at early adopters).

One of the most interesting things is how users actually use the product you make, if they use it at all. Do they use it a little or a lot? Do they use it as intended? Do they find things missing? To robust for their taste? Or do they just find uses and modifications that all the engineers involved never in a million years would have contemplated?

Continue reading

Loren Brichter On Tweetie

Loren Brichter is the author of the popular Twitter application Tweetie, an iPhone only application until the Mac version was released on Monday. MacWorld has a great little interview with Loren. One thing I really admire is that Loren really understands how to build a good application. Performance, ease of use, simplicity are all taken into account. Not just features and toys.

I thought this particular nugget was the highlight though:

..AIR apps are like modern day Java applets… sure, they run on every platform. But they also suck on every platform.

I’ve yet to find an Adobe AIR application I like even though several have great ideas behind them. Even on Windows, where I presume AIR has the biggest market share they all look strange, the UI is garbage and the performance is abysmal. On the Mac it gets even worse. Creating a Mac theme won’t help as my expectations for a Mac UI are different than they are on Windows or Linux. Java apps have the same issues.

I think this is why more and more “applications” are becoming web based. If your going to feel awkward and unnatural to the user anyway, why even bother with the installation barrier? Why not just be web based so you don’t have to download and install. As awkward as they may be, those that add Adobe Flash tend to make the problem worse by adding more strange feeling UI to their application. Adobe Flash does do good video, it’s a big reason YouTube became popular, but it’s really no replacement for user interface. Hopefully in 2017 when HTML5 is wrapping up we’ll have this problem solved.

Skype For iPhone

I’ve been a Skype user since 2004 when I first fell in love with the service. I used it a fair amount in college as a way to study for tests and work on programming projects with other classmates without having to sit in a library for hours. It was convenient to each code from home or dorm rooms, have a TV on, talk without a librarian getting upset etc. I can recall 7hr plus Skype to Skype sessions that didn’t cost anyone a dime.

I still find myself using Skype from time to time because it’s convenient, other people use/prefer it, and quite frankly, it “just works”. Not to mention a PC headset is often cheaper than one for your landline phone making it great for long calls when you want to be hands free and not use speakerphone.

iChat doesn’t compare either since it doesn’t support calling phones and isn’t nearly as good at dealing with firewalls and poor bandwidth, two frequent problems in college.

Skype for iPhone is rumored for next week. I expect it will only work when connected to WiFi and will otherwise be pretty similar to the desktop client. I’d also expect it to be in “beta” until the summer when push notification is released.

If it works, it will be awesome.

For anyone wondering: Yes, I tried Fring, and no it never worked for me. From what I can tell I’m not the only one.

Is IE8 Trident’s Last Stand?

Randall C. Kennedy at InfoWorld wrote:

IE8 is the last version of the Internet Explorer Web browser. At least, that’s what I’m hearing through the grapevine. It seems that Microsoft is preparing to throw in the towel on its Internet Explorer engine once and for all.

There were rumors earlier this year that the IE team was looking at WebKit a few months ago. I said then and I still think that’s a real perilous approach considering the legacy they need to somehow support. The other approach is to start over, something that’s possibly on the works.

Any truth to these claims? I don’t know. Though I’d be curious to see how Microsoft handles it’s customers who expect old applications to keep working and others who want Microsoft to catch up with progress. I doubt they can go either way 100%. Which way will they lean? I think that’s anyone’s guess.

SimCity For iPhone

EA Mobile games released the classic SimCity for the iPhone. Having played SimCity Classic, 2000 and the Palm OS version, when I heard about this version, I knew it was going to be on my short list of wanted apps. Truth be told most of the games in the AppStore are worthless, so spending $9.99 on a game series I’ve enjoyed before didn’t seem like a bad deal.

It’s essentially SimCity 2000 + a few things. If you liked 2000, it’s a pretty safe bet the iPhone version won’t be a let down. You can of course save your game and keep it going for months since this isn’t the typical 5 minute iPhone game.

Continue reading

Microsoft Office 2008 Updater Hang

Had I known about this bug earlier I would have saved about 90 minutes of my afternoon setting up a new MacBook Pro for my mom. Apparently since the last security update, the installer script for SP1 can no longer operate correctly resulting in an internal hang with low CPU. Killing the installer process shows an Apple Events error.

I ended up doing something a little different:

  1. I ran ps -u [USERNAME] killing any Microsoft related processes. I kept the terminal window open (this is key).
  2. Ran Installer again. This time it was successful
  3. Looked at above ps output and found where the updater program downloaded the installer. It’s generally /Users/[USERNAME]/Library/Caches/TemporaryItems/[RAND]Office 2008 SP1 Update (12.1.0). The download is over 100 MB, so that can save a few minutes.
  4. Ran updater again until no more updates found

You could follow the directions, logout and login again with the shift key held down, the only downside is the auto updater will re-download the update (which is over 100 MB).

Norton AntiVirus 2009

I installed Norton AntiVirus 2009. I’ve got a 3 CPU license and installed on two computer thus far. My initial feeling about it is that it’s vastly improved from 2008, and light years ahead of the clusterfuck that was the early 00′s. It’s been vastly better for about 2 years now, 2008 is a significant but still incremental improvement. 2005 was the bottom.

Norton 2009 CPU monitorThe install itself was very quick (yay) which was a positive sign. It seems to be using less processes and less memory than any recent version. A very welcome sight.

Another noteworthy item is that the application itself is faster. The UI loads quickly and feels rather responsive. In previous years there was a several second lag. This is clearly gone. Scanning is also quicker.

Another interesting thing is that LiveUpdate was apparently fixed so that it no longer launches a dozen child processes when it runs. I haven’t looked too closely but I’ve yet to see this behavior when it runs. I think this was the single most annoying thing about 2008.

Symantec even went as far as putting a CPU monitor on the application itself to show how much CPU they are occupying. That itself is a pretty bold move considering their past history of bloat. Clearly this year they are trying to undo that reputation. Their website is updated to discuss performance now.

The big feature is that Symantec now feeds updates every few minutes rather than daily. This is a good move considering the fast pace of security threats these days. The UI even shows the seconds since the last update. It’s great to finally see this.

Norton 2009 Update Frequency

For anyone ever upgrading a Symantec product, here’s a bit of advice. Uninstall the previous version, restart, then run the Norton Removal Tool (NRT) and restart again. This will give you a much cleaner base than just installing and hoping for the best. Then finally install and follow directions. This has proven to be much better than any other method. AntiVirus software hooks just dig so deep into the OS that any other method just seems doomed to fail.

I should also note that it scans all volumes. This could be a bad thing if you have network volumes loaded. Make sure to exclude those if this is a problem.

Amazon

Norton Antivirus 2009
Norton Antivirus 2009 CD 3 User Ret
$20 Rebate (Expires 12/31/09) – should work with purchases from most stores including Amazon, despite being hosted on Fry’s.

Zimbra Desktop

Yahoo owned Zimbra released the latest Zimbra Desktop today. At a glance it seems pretty nice. Essentially Yahoo Mail running on Mozilla Prism. It does seem somewhat of a large download for what it is. But maybe they still have some fat to trim. What is now Firefox was pretty hefty when it first split from Mozilla App Suite. It takes time. The installer is also very slow. I see it has jetty, so looks like there’s a Java backend.

It supports any POP3 or IMAP account similar to Thunderbird, with options for Gmail and Yahoo Plus in the wizard (for those who don’t know what type of email account those are).

My general impression is pretty neat, but the UI needs work. It often has scroll bars to view the contents of a window (just like a webpage). This is normal in a browser, but just feels strange in what is designed to be like a client side application. Even setup has this problem.

So far I still think Thunderbird and Apple Mail provide a better desktop experience. But Zimbra’s the new kid on the block, so I wouldn’t underestimate it. It is Open Source. It will be interesting to see who contributes to it.

If anyone else tried it, I’m curious to know what you thought of it.

Amazon S3 Outage

The buzz around the web today was the outage of Amazon’s S3. It shows what websites are “doing it right”, and who fails. This is a great follow up to my “Reliability On The Grid” post the other day.

Amazon S3 is cloud based computing. Essentially when you send them a file using their REST or SOAP interface Amazon stores it on multiple nodes in their infrastructure. This provides redundancy and security (in case a data center catches fire for example). Because of this design it’s often though that cloud based computing is invincible to problems. This is hardly the fact. Just like any large system, it’s complicated and full of hazards. It takes only a small software glitch, or an unaccounted for issue to cause the entire thing to grind to a halt. More complexity = more things that can fail.

Amazon S3 is popular because it’s cheap and easy to scale. It’s pay-per-use based on bandwidth, disk storage, and requests. Because that allows for websites to grow without having to make a large infrastructure investment, it’s popular for “Web 2.0″ companies trying to keep their budgets tight. Notably sites like Twitter, WordPress.com, SmugMug and Amazon.com themselves all use Amazon S3 to host things like images.

Many sites, notably Twitter, and SmugMug didn’t have a good day today. WordPress.com and Amazon.com operated like normal. The obvious reason for this is WordPress.com and Amazon.com are much better in terms of infrastructure and design.

WordPress.com uses S3, but proxies that with Varnish. There’s a brief description here, and a more detailed breakdown here. According to Barry Abrahamson, WordPress.com does 1500 image requests per second across and 80-100 are served through S3. They have (slower) back up’s in house for when S3 is down and can failover if S3 has a problem. This means they can leverage S3 to their advantage, but aren’t down because of S3. Using Varnish allows them to keep the S3 bill down by using their own bandwidth (likely cheaper since they are a large site and can get better rates on bandwidth). This also and lets them have this have a good level of redundancy. Awesome job.

Amazon.com uses S3 themselves. If you look at images on the site, they are actually served from g-ecx.images-amazon.com. Which is actually:

g-ecx.images-amazon.com. 38     IN      CNAME   ant.mii.instacontent.net.

instacontent.net is actually part of Mirror Image, a CDN. This is essentially outsourcing what WordPress.com is doing in terms of caching. It’s similar to Akamai’s services. A CDN’s biggest advantage is lowering latency by using servers closer to the customer, which are generally going to feel faster. The other benefit is that they cache content for when the origin is having problems. Because Amazon has a layer on top of S3, they have an added level of protection and remained up and images loaded.

Twitter serves most images such as avatars right off of S3. This means when S3 went down, there were thousands of dead images on their pages. No caching, not even a CNAME in place. Image hosting is the least of their concerns. Keeping the service up and running is their #1 concern right now. The service was still usable, just ugly. Many users take advantage of third party clients anyway.

Using a CDN or having the infrastructure in house is obviously more expensive (it makes S3 more of a luxury than a cost savings measure), but it means your not depending on one third party for your uptime.