Life, Technology, and Meteorology

Category: Uncategorized (Page 3 of 3)

Murphy's Law

What do you get when you cross an XRG release with Murphy’s law? I can understand yesterday’s bandwidth fiasco, which was mostly my fault for not planning better, but this is getting rediculous.

Wednesday, 1:30pm: The power goes out. First thought: Ohh, shit. Second thought: No problem, got the servers on a UPS, everything should be fine. Went downstairs to check, things were okay, brought an extension cord over to power the wireless modem on the UPS as well, link went back up fine.

Wednesday, 2:00pm: UPS power runs dry. Thinking first thought a lot more now.

So now I’m writing this blog entry on my Powerbook, hoping the power will come back on soon. The only saving grace is the XRG mirror download that I posted yesterday is listed as “Download 2” on MacUpdate. Of course, if anyone is linking in from anywhere else, they won’t be getting anything.

So the lesson of today is… if releasing a software application, make sure you have your entire site hosted with a good hosting provider. Ohh, and the MacMini is still cool. 🙂

Update: Power came back on slightly after 3:00pm.

XRG 1.1 released

XRG 1.1 was released this morning. I thought I’d try out releasing the same day as the MacWorld keynote just to see how it goes. So far, it’s been going really well or horrible, depending on how you look at it.

The good part is that about 1200 copies of XRG have been downloaded during the past 6 hours. The bad part is that I severely under-estimated the amount of bandwidth required when doing a software release (hmm, 1200 * 1.2Mb/copy = 1.44Gb + normal web traffic). Since the beginning, I’ve hosted the XRG web site on my own machine, and offered the XRG downloads from a machine at Ephibian. This was never a problem, and my web server (at the time on a 40K/sec uplink) always had plenty of bandwidth to spare, so I thought that hosting both the site and the downloads in-house on a 90K/sec uplink would work out well. Oh was I ever wrong. Within an hour of releasing, my connection was completely saturated and the server was handling over 90 connections concurrently. The network connection remained pegged for about 4 hours after that, and has only now started to trickle down a bit.

At first, I couldn’t think of any way to handle it and thought I was pretty much screwed, then I thought of a few things that helped out a bit. The first thing I did was set up a download mirror back on the old web server with a 40K/sec uplink. This helped less than I thought it would because, unfortunately, not too many people choose to download from a mirror site. The second thing I did was turn off my web log analyzer, not because it was taking too much CPU (actually, the server never broke a sweat really), but because I have the analyzer configured to do DNS lookups on the IPs that hit the server so I can see a pretty graph on where people are coming from throughout the world. 🙂 Usually, the analyzer runs every 2 hours, but I figured it could wait for awhile. This ended up helping more than I thought it would; I guess the number of DNS connections made would have been pretty high. This probably benefited the web page traffic the most, since a reduced number of connections on the network would improve the speed of short-term network connections dramatically.

So the lesson of the day is: If you release a software application, make sure you store the download(s) with a good hosting provider. I suppose the benefit of today’s events is that I’ll know this when releasing an application that I’ll actually be charging for. 🙂 I’ll probably post a followup blog entry on the release in a few days.

PS: MacMini? Sweeeeet… If I would have had this choice a few months ago my computer purchase would have been a lot more difficult. A compile farm of about 5-6 of these things would probably work faster than my 2.5Ghz G5 could chug through compiling apps. And then there would have been the numerous possibilites… 2Ghz G5 + MiniMac, or 1.8Ghz G5 with 2 MiniMacs, etc. Maybe it’s better I did buy my computer before these came out. 🙂

XRG 1.0 Released

Well, after a couple of months of hard work, I finished version 1.0 of XRG and released it this morning. I’m hoping to submit it as an entry in the Apple Design Awards this year, so I’ll be working on that next week. 🙂 Here’s a description of the changes for this version:

XRG 1.0 contains many new features and bug fixes. The primary new feature is a new machine temperature graph that will graph the temperature of different locations in your computer. Supported CPUs include PowerMac G5s, Aluminum Powerbook G4s, and iBook G4s. Other new features include the addition of uptime statistics to the CPU graph, the ability to drag XTF theme files to the graph to set graph colors*, a re-designed preferences panel with new icons, and the option to hide XRG’s dock icon (through a new contextual menu for the graph title bar). A complete list of changes and bug fixes can be found at http://www.starcoder.com/xrg/changelog.shtml.

As always, comments and suggestions are welcome. Visit the XRG Homepage.

* I’m sure Robb Beal will be happy about this one. With Spring, drag and drop is taken to the extreme (quite nicely might I add), and naturally he requested this feature for XRG. Look for more drag and drop functionality in the future.

XRG Featured on MacOS X Hints

Last Tuesday I was pleasantly surprised to find XRG featured as the MacOS X Hints Pick of the Week. Robg had a lot of good things to say about the app. Getting reviews like this is what makes all the development time I’ve put into XRG worth it. The amazing thing is how much traffic I have gotten in the past few days just from their site alone. Their site has generated almost 3,000 visits (over 40,000 hits) since Tuesday morning, more than twice as many visits than any other Mac news site that XRG has been featured on, including this article on MacSlash. It’s a good thing I’m not paying any hosting fees for my bandwidth. 🙂

XRG 0.5.0

As a lot of you probably noticed, XRG 0.5.0 was released this morning. Version 0.5.0 includes many new features and bug fixes. Some of the new features include contextual menus for each of the graph modules (mentioned in an earlier post), the option to change the graph font, a new highlight border feature to help with window resizing, a graph minimizing feature that will minimize the graph into the title bar and optionally expand the graph whenever the mouse is over the title bar, and the option to set the graph window level to stay in the background.

Anyway, if you have any comments on the release, feel free to leave them in the writeback.

XRG Weather Server

During the past couple of weeks, I have been trying to add functionality to XRG that breaks beyond the bounds of the application itself. One area that I’ve finished is adding contextual menu’s for each graph with additional statistics and links to other applications and web sites. For the weather module, I wanted to link to an online weather site, but most sites go off of US zip codes and not the international standard ICAOs that XRG uses. I finally found a company online that offers free CGI weather server software as long as you have a link to their web site on your server. I gave it a go and modified the templates to match the XRG web page. You can check out the XRG Weather Server here.

Contextual menu support will be included with the upcoming release of XRG 0.5.0. I still have a ways to go before I finish 0.5.0, but it’s looking pretty nice so far. I want to get some feedback on the contextual menus before the release though just in case there is something blatantly obvious that I’m missing. Here’s a list of the menus for each module:

  • CPU Graph: Shows top 5 processes’ CPU usage, and a link to Apple’s Activity Monitor.
  • Memory Graph: Shows top 5 processes’ Memory usage.
  • Battery Graph: Link to open the Energy Saver System Preferences.
  • Network Graph: Shows separate total RX and TX stats for each network interface and links to open the Network System Preferences, Internet Connect, Network Utility, and NetInfo Manager.
  • Disk Graph: Link to open Apple’s Disk Utility.
  • Weather Graph: Shows more detailed current weather statistics and links to the XRG Weather Server for your configured ICAO.
  • Stock Graph: Links to detailed web stock information for configured stock symbols.

Am I missing anything? I’m sure I’ll get comments on it after the 0.5.0 release, but I’d like the menus to be as good as they can be for the initial release.

XRG 0.4.0 Release Summary

Hope everyone had a great Thanksgiving. I was going to post this sooner, but I got caught up in the holiday weekend. 🙂

Looking at the web stats, this release of XRG was pretty successful. The first two days are always the busiest, mostly because software sites like VersionTracker and MacUpdate will post new software on their front page for a two day period. Anyway, in that time frame, the web site served 3517 pages to 1650 visitors. In the first 5 days of the release, there were approximately 2200 downloads of the application (some people from the software sites above download the app directly, instead of visiting the web site) and 153 downloads of the source code. I wish some more of those people who downloaded the source code would contribute new features. 🙂

Anyway, overall, I’m pretty pleased with the release. It got posted on the MacNN and MacInTouch news sites, which was pretty cool. If anyone who uses XRG is reading this, let me know what you think in the writeback.

XRG 0.4.0

Well, after a lot of hard work, XRG 0.4.0 was just released this morning. Check the web site or the Changelog for update details. The last release was very successful and got an incredible response from users. I’m hoping that this release will be the same. I want to thank Philippe Martin his blog posting about XRG. Philippe has given me a lot of great feedback for several of the previous versions. Thanks Philippe!

I’ll post in the next couple of days more stats on the number of downloads, web hits, etc.

XRG 0.4.0 coming soon…

I’m trying to get XRG 0.4.0 ready for release next week. It looks like it’s going to be pretty good, so I’m pretty excited to get it out the door. The release will fix some bugs that XRG had with Panther, adds a battery graph and a few other new features.

Recently, I had some people email me asking how to donate to the XRG project. It was quite a shock, since I’ve always considered XRG my gift back to the open source community. However, it is difficult to turn down free money, so I added a donate button on the web page about a week ago, so we’ll see how that goes.

In case you didn’t notice, I also added a web page to the XRG site for past XRG versions. It’s hard to believe just how far XRG has come in the past year or so. One interesting statistic, the first public release of XRG had around 2,700 lines of code, where 0.4.0 is currently 10,600 lines of code.

Newer posts »

© 2026 *Coder Blog

Theme by Anders NorenUp ↑