Those of you who could pick me out of a lineup may catch a glimpse of me tonight, if you watch the Phillies’ Season Opener against the Braves, at 8pm on ESPN2. Whether you know me or not, tune in - baseball is back! It should be a great game. Go Phills!
I am a lifelong coffee swiller. I started drinking coffee in high school, and never really stopped. The blossoming of premium coffee that started in the 90’s with Starbucks increased my appreciation for a good cup, and reduced my patience with bad brew. The coffee in my office isn’t great, but it’s not terrible; also it is free and always available. Six or more cups a day was not uncommon for me.
But I’m getting older. Time was, I could have a cup of coffee a half-hour before bed, and go right to sleep. Those days are no more. Nowadays, a cup of coffee after dinner and I have trouble falling asleep; two cups and I’m up all night. So I gave up coffee after dinner a while ago. However, the coffee was starting to tear up my stomach. So I quit completely.
I didn’t set out to give up coffee. In early December, I had a mild sore throat. One evening, I decided to treat it with a hot toddy - in this case tea, with honey and bourbon. Now, a few years ago, a co-worker turned me on to loose tea from Adagio Teas. I have their IngenuiTea teapot, which is the most convenient way to make a cup of tea I’ve seen. Since I hadn’t used the teapot in a while, I didn’t have much on hand for tea - just a set of samplers I had received when I ordered an extra teapot for Sherri to use (mine was at work). Wanting something to go with honey (and bourbon), I made a cup of Citron Green. It helped my throat, and I loved having a hot beverage in the evening again. Tea has about half the caffeine of an average cup of coffee (and much less than a strong coffee like Starbucks), and green tea has about half the caffeine of black tea.
In addition to the reduced caffeine, I noticed that the tea wasn’t irritating my stomach either, so I tried some other teas in the sampler. This led to a fresh order from Adagio, and some more sampling. After another week, I found that I was honestly enjoying tea more than coffee, and just stopped drinking the coffee.
So I’m now a tea convert. I’m still trying different samplers occaisionally, but here are my daily teas:
Earl Grey. Captain Picard was right. Now, this is an acquired taste for some people. Earl Grey is a black tea flavored with oil of bergamot, a citrus fruit. It is somewhat floral. I’ve always liked it, but Adagio’s version, “Aristocrat Earl Grey” (also called “Bravo”) is outstanding. This is my first-cup-of-the-morning tea. I enjoy this tea with a splash of milk and a little sugar - about 1 light teaspoon to an 8 oz cup of tea. I don’t want it to be sweet, but I find that a little sugar brings out a lot of the flavors in the tea.
Yunnan Jig. A black tea from the Yunnan region of China. I’ve spent several minutes trying to figure out how to describe it. It reminds me of a classic black tea, like English Breakfast tea, but so much better. I was never a huge fan of regular black teas, but this is now my standard tea. Sublime. I take this the same way as the Earl Grey - milk and sugar.
Citron Green. This is a green tea flavored with citrus. It is excellent with a half-teaspoon or so of honey. It’s a great tea to relax with, and is the tea I always reach for after 8pm, if I’m having tea.
If you’d like to try some tea, I’d certainly recommend trying a sampler of loose teas from Adagio. They offer a number of samplers - black, green, oolong, flavors, herbal, and more. They used to sell samplers along with the IngenuiTea teapot at a discount, but I can’t find that on the site. Customers can send free $5 gift certificates to their friends, so if you’d like a gift certificate, send me an email and I’ll pass one along.
Oh, and I’m not the only fan of loose tea in general or Adagio in particular; what started as a comment to Effika’s post on the subject became this post.
November is NaNoWriMo - National Novel Writing Month. While I won’t be participating, I do know someone who has, and some day I would like to. Many folks participate just for the sake of writing, but many folks would like to be a published author some day. How do you go from writing to getting read?
In the Internet Age in which we live, there are many more options than ever before. Some folks have published entire books online, and some have even been published by a traditional publisher as a result. Many folks now choose to self-publish, using one of the many services now available that will print, sell, and even distribute your works, such as lulu.com.
But what if you want to go the traditional route, and be published by a traditional book publisher? I have never been down this road myself (first-hand accounts welcome in the comments!), but my understanding is that you submit your work to a publisher - or to many. Often, you don’t submit the entire work… only the first 10,000 words, along with a synopsis of the entire story. Even with only 10,000 words to read, publishers receive far more submissions than the senior editors could ever possibly review. Instead, manuscripts go into a slush pile, where an editor’s assistant will (hopefully) eventually read it; if they like it they can try to persuade an editor to have a look. Given the volume of unsolicited manuscripts that publishers receive, the chances of your manuscript being selected for publication are slim.
Harper Collins has decided to use the distributed power of the internet to try and tackle this problem. They have launched a new website, authonomy, currently in beta. The site allows authors to submit works - including incomplete works - and allows site visitors to read, comment on, and recommend works posted to the site. From the FAQ:
authonomy invites unpublished and self published authors to post their manuscripts for visitors to read online. Authors create their own personal page on the site to host their project - and must make at least 10,000 words available for the public to read.
Visitors to authonomy can comment on these submissions – and can personally recommend their favourites to the community. authonomy counts the number of recommendations each book receives, and uses it to rank the books on the site. It also spots which visitors consistently recommend the best books – and uses that info to rank the most influential trend spotters.
We hope the authonomy community will guide publishers straight to the freshest writing talent – and will give passionate and thoughtful readers a real chance to influence what’s on our shelves.
How will this help authors? At a minimum, reading the comments of potentially many reviewers could be valuable. But there’s also the potential of being read by the editors at Harper Collins. Again from the FAQ:
Once a month we’ll be pulling out the top five books from the Editor’s Desk Chart, and passing them on to our Editorial Board. HC editors will read from the first 10,000 words of each manuscript, and will feed back their comments to the appropriate authors, who will be able to decide whether or not to make these comments available to the community at large.
If you are participating in NaNoWriMo, and decide to post your work at authonomy, please leave a comment below- I’d love to read it.

Congratulation to the Philadelphia Phillies, 2008 World Series Champions! And as if that weren’t good enough, only 4 month until Spring Training! Let’s Go Phils!
Congratulations to the 2008 Philadelphia Phillies, National League Champs. The first Phillies team in 15 years to make it to the World Series, the Phils won the NLCS tonight against the LA Dodgers 5-1, to win the series 4-1. Cole Hamels pitched another outstanding post-season start, giving up 1 run in seven innings, and was named NLCS MVP. Shane “The Flyin’ Hawaiian” Victorino, who in my estimation was at least runner-up for the LCS MVP title, again had an excellent night defensively, and hit 1 for 2 on the night with a .750 OBP. It was an outstanding win all around, and certainly a joy to watch after last night’s nail-biter of a game 4, which the Phils won 7-5.
On a more personal note- Philadelphia sports fans have a bit of a reputation, and well earned. I am in my 13th year as a transplant to the Greater Philadelphia Area, having grown up in Virginia Beach. Back home, the closest thing we had to a “local” professional sports team was the Washington Redskins, 5 hours away up I-64 & I-95. My folks, both from New England, were both staunch Red Sox fans, but in those days the Bum Sox (as my mother so often called them) were deep into their 84 year World Series win drought, and were only seen on TV a few times a year. My father took my brother and me to several minor league games every summer, to watch the (then) Tidewater (now Norfolk) Tides, who were at the time the AAA franchise of the New York Mets. Aside from these outings, I really didn’t grow up a sports fan. Tidewater Virginia just wasn’t a big sports town.
So, when I moved to the Philly area in 1996, I got a bit of a culture shock. These folks are fans, in the truest sense of the root word “fanatic”, and they are passionate about their teams. This is a city (in fact, a whole region, encompassing southeastern Pennsylvania, southern New Jersey, and much of Delaware) with 4 major sports franchises (Phillies, Eagles, Flyers, and 76ers) but without a championship in over 25 years. Witness the Cheesesteak of Suffering, which at the time of this writing shows 9270 days since a Philly championship of any kind (as an aside, the Philadelphia Soul won the Arena Bowl this year in the AFL, which was awesome (!), but it just doesn’t count when it comes to the drought around here).
Once I moved to the area, though, it didn’t take long. Improbably (given that I’d never watched a game before moving here), I became a hockey fan my first year here, following the Flyers as they won their first conference championship in 10 years before getting swept by the Detroit Red Wings in the Stanley Cup Finals. Although they haven’t done as well since, I’ve been a Flyers fan ever since. A few years later, in 1999, Andy Reid took over from Ray Rhodes (who led the Eagles to a 3-13 record in ‘98) as the head coach of the Philadelphia Eagles, and drafted Donovan McNabb as the second overall pick that year. The ‘99 season wasn’t very good either (5-11). But in 2000, the Eagles hype finally got to me, and I watched the season opener, which they won. I was quickly hooked and watched the Eagles go on to have their first winning season in 4 years. They then proceeded to win their division in the 5 of the next 6 years, including a trip to the Super Bowl in 2004. I’ve been hooked ever since, and have only missed a handful of Eagles games on TV in the last 8 years.
And so it was that last year my friend an co-worker Yeager, an avid baseball fan in general and Phillies fan in particular, after years of ribbing from the guys in my group (including me) at work about how baseball isn’t a “real sport” like football or hockey, managed to peak my interest. It was after the all-star break, and the Phillies were make a dogged attempt to catch the hated Mets for the NL East divisional title. The team that Jimmy Rollins had dubbed “The team to beat” was making it happen, Fightin’ as only the Phillies do while the hated Mets managed their storied collapse. By the time the Phillies clinched the divisional title (on the last day of the regular season!), I was completely hooked. Unfortunately, the Phils got swept by the Colorado Rockies in the NLDS, but it that didn’t dampen my enthusiasm. During the off season, I read (at Yeager’s recommendation) Baseball Between the Numbers, an excellent introduction to the field of Sabremetrics, the über-geeky expression of love of baseball via statistical analysis (highly recommended- I’ve read it twice now). I even picked up my first copy of the annual Bible of baseball, the Baseball Prospectus. I’ve followed the Phills all season, and watched a whole lot of baseball… even to the exclusion of a couple of Eagles games so far this season (an idea I would have laughed at a couple of years ago). My appreciation for baseball has really increased, as I learn more and more about this surprisingly deep game. Tonight’s win was hugely satisfying for me, as a recent fan; I can only imagine what long time fans are feeling.
So, to the 2008 Phillies - congratulations and best of luck in the World Series. I sure would like to see that Cheesecake of Suffering reset. To Philadelphia sports fans of every team - thanks. Your enthusiasm has really rubbed off, and I will continue to be a fan of Philly teams no matter where I live. And a special tip of the ball cap to Yeager, for putting up with the anti-baseball razzing over the years, and turning me on to the original National Pastime.
GO PHILS!
Every year or so, I go through a similar dance. I’ve upgraded my OS, or replaced a machine, or been generally dissatisfied with my existing Emacs install, and so I begin casting about for a good, GUI version of Emacs to run under OS X. I’ve used Auqamacs and Carbon XEmacs and probably a couple of other precompiled binaries with varying degrees of success, and I’ve compiled my own at least once or twice. Given the size of Emacs, and my relative inexperience with the internals - I have no reason to need to compile my own - I prefer a simple precompiled binary. OS X comes with a command-line only Emacs install, which is certainly usable, but I prefer the GUI version for the colors and fonts.
Having recently replaced the old G5 when it died with a new 24″ iMac, I again this morning found myself in search of an Emacs. I stumbled across Michael O’Brien’s blog post Emacs.app on Mac OS X Leopard, and found exactly what I was looking for. I’ll admit, it took me a couple of minutes to understand exactly what Michael was doing. He starts by downloading the Emacs source distribution, but instead of compiling Emacs, he simply copies Emacs.app from the ./mac folder in the source distribution. What? Emacs source ships with OS X compiled binaries? No, this is where I initially misunderstood.
All OS X application bundles (”.app” files) aren’t really files, they are directories. A .app directory contains not only the actual application binary, but also the icon, a file containing the text for menus, etc, and sometimes other support files for the app. The Emacs.app in the source distribution is the set of files and directories, minus the compiled emacs binary. Once you compile emacs, you can install it as a GUI application, which is where the Emacs.app folder is used.
Instead, Michael copied the Emacs.app folder to the Applications folder, and then created a symlink inside the Emacs.app folder linking to the system emacs that ships with Leopard. This symlink is essentially an alias, and it exists in the same place inside the Emacs.app folder that the compiled binary would go. Instead, there’s an alias, or symlink, so that when OS X tries to run the binary Emacs.app/Contents/MacOS/emacs, it really runs the system Emacs, aka /usr/bin/emacs. And when the system Emacs is launched from inside the Emacs.app, lo and behold, it presents the GUI!
If you are looking for a simple way to run Emacs with the GUI on Leopard, go follow Michael’s instructions. He even offers the Emacs.app folder for direct download, to save both you and GNU some bandwith. One note regarding his instructions: his next to last step, in which you create the symlink, starts with ln -s. You will probably need to prefix this command with sudo like the lines before and after.
That’s right ye scallywags, today do be Talk Like a Pirate Day. Be sure to plunder someone you love!
Grumpy-old-man rant (money quote: “Damned kids! Stay off my lawn!”) aside, I finally signed up for The Twitter a few weeks ago. I can think of no good reason why you should follow me.
Don’t know what The Twitter is, or don’t know why all these damned fools won’t shut up about it? Internationally Beloved Technology Pundit Andy Ihnatko gives a gentle introduction to The Twitter in Apple Phone Show #53.
After weeks of putting it off, I’ve upgraded to WordPress 2.5.1. I’ve been putting off the upgrade to WP 2.5.x because my WP install was a bit old (2.1.something, I think), and because I had a nagging suspicion (but no solid recollection) that I had mucked about in the WP source to make something work (bad idea), and I was concerned the upgrade might break it. This morning I decided to bite the bullet. If I did have custom changes to the WP source that I have lost, I haven’t noticed any ill effects. Which is not to say that everything went off without a hitch. Herewith some notes, hints, and suggestions on the upgrade.
First off I wanted to be sure I had good backups, because Murphy and I go way back. I host this site on DreamHost, and used their One-Click Installer option to set up WP originally. Because of this, I was able to upgrade with the One-Click Installer, which offers automatic backup of the entire WP directory tree, including your plugins, themes, etc. The whole tree is copied to a .old directory before any changes are made. Excellent. That only left backing up the database.
WordPress uses MySql , and there are a number of ways to backup a MySql database. Because my hosting account includes shell access (all DreamHost accounts do), I just did a full dump from the command line, which is dead simple and wicked fast:
mysqldump --opt -p -uMySqlUsername -h MySqlServername MyDBName > backup.sql
Note that while many resources will tell you to include you password in the above command by replacing -p with -pMySqlSecretPassword, this is a security risk on any system with more than one user. Don’t do it. Instead, just use -p, and mysqldump will prompt you for your password. The resulting backup.sql is a sql script that you can feed directly to mysql, which will recreate your entire database, data and all. Very nice.
So, precautions properly taken, I asked the One-Click installer to upgrade me. A couple of minutes later, I got an email telling me that my upgrade was successful, and instructing me to follow a link to a special page in my site’s Admin area that would complete the upgrade by updating my database structure. Which is when things took a turn for the worse.
The update database page would not load. The admin login screen would not load. The blog would not load. Half a dimension away, Murphy giggled maniacally as he enforced his Law. Jerk.
The error message indicated that one of my plugins was attempting to redefine a function already defined in one of the core WordPress files. Oops. I’ll just skip ahead here to something I learned after some quality time on The Google: It is recommended that you disable all plugins before upgrading from a pre-2.5 install to 2.5.x. Oops. Annoyingly (but perhaps predictably), the only way to disable a plugin is via the Admin interface. You know, the one that didn’t load. Oops.
Fast-forwards 20 minutes of increasingly irritated Googling, and I had learned that there is an entry in the MySql table wp_options named active_plugins (i.e., where option_name = 'active_plugins'). If you set the option_value field of this row to an empty string, all plugins are disabled. That was enough to let me access the Update Database page, complete the upgrade, and use the Admin interface.
Of course, the blog was still broken, because my theme templates rely on certain functions exposed by various plugins. I proceeded to turn on plugins one at a time, based on the error messages I saw, until things were working. The only problem I ran into was UltimateTagWarrior, which is no longer supported, as of WordPress 2.3. Shutup, Murphy.
The solution was not difficult, although it required a little more Googling than I expected. UTW was discontinued because WP got built-in tagging support in WP 2.3 (I believe). However, anyone who used UTW had theme templates containing calls to UTW-specific functions. In addition, UTW offered a number of tag display options not offered by the core WP install. So the plugin’s author Christine introduced a new plugin, UTW Theme Compatibility Thing, which offers all of the old UTW template functions, but uses WP’s native tagging system as the data source. Once I installed and activated that, everything worked, except that I had no tags on my posts. (Note: If you used icons with your tags, as I do, be sure to check the instructions on the Compatibility Thing wab page or the readme file; there are a couple of extra steps required to make them work.)
This turned out to be an easy fix as well, after more time on The Google. WordPress already includes a tool to convert UTW tags to WP tags. From the Manage tab of the Dashboard, choose Import, and then choose Ultimate Tag Warrior. Five clicks through the wizard later, and you’re all done.
As far as I can tell, everything is working now. If you have any problems using the site, or see anything funny, please drop me an email or a comment.
So far, I really like the new WordPress, and I’m looking forward to trying out the new image uploader and the Gallery. My only complaint so far is that the page preview has been moved out of the Write Post page; you now click to pop open a preview. Do not want. I’ll give it a couple of days to grow on me, and them I’m going to start looking for a plugin to add integrated preview to the Write page.
As I kid, I was fascinated by electronics. I had one of those “150-in-1″ electronics projects kits from Radio Shack, the kind with the springs that you bent to insert wires to connect the components mounted in the kit. I had a well worn copy of Forrest R. Mimms’ Getting Started in Electronics, as well as a number of his “Engineer’s Mini-Notebooks”, which were also sold at Radio Shack, alongside the overpriced component displays. I spent a good deal of my allowance (and later, paper route earnings) on blister packs of resistors, capacitors, and ICs, and soldered together many projects, with varying degrees of success.
Over the past couple of years, this interest has been renewed as I’ve been reading up on microcontrollers and hobby robotics. Bill Bumgarner’s recent posts about experimenting with AVR microcontrollers and the EMSL AtmegaXX8 Target Board have inspired me to make some time to tinker. While I have done some experimenting with AVRs using the 20.00 USD Atmel Butterfly recently, I decided to haul out the Parallax Boe-Bot I purchased a couple of years ago, and never got around to playing with.
I bought the Boe-Bot because I caught a great deal from Micro Center. Parallax sells the Boe-Bot for 159.95 USD, and you can often find them for sale for about 20 bucks less. I picked mine up for 49.00 USD, which is the Parallax list price for just the BASIC Stamp BS2 Microcontroller included with the kit. The kit also includes 2 Parallax Continuous Rotation Servos, which are actually Futaba S148 Standard Precision Servos which have already been modified for continuous rotation. Parallax sells them for 12.95 USD a piece, which is a good price on these servos, and an even better deal as they are already modified.
In spite of the good deal, I did have some reservations. As a matter of personal preference (and perhaps, programmer’s ego), I would prefer to program the microcontroller directly in C. I believe this provides the most flexibility on limited hardware, as well as the greatest opportunity for learning as I go. This is the primary reason why I avoided the open-source, AVR-based Arduino platform popularized by Make Magazine- the Arduino is programmed in a custom programming language. (Update: In the comments, David A. Mellis explains that the Arduino is programmed in C/C++, and that the Arduino language is a set of helper functions. I sense a purchase in the offing!) The BASIC Stamp 2 used in the Boe-Bot is programmed using Parallax’s custom variant of BASIC called PBASIC. While there are BASIC Stamp clones available from other manufacturers that are programmed with PBASIC variants, much of the details of programming in PBASIC is not directly translatable to the kinds of chips I am interested in, such as the AVR.
Another concern about the Stamp is licensing. While looking for information on programming the Stamp via Linux (Parallax only supplies Windows software), I found the following commentary in a reply to a question on the Ubuntu Forums about using the BStamp tools for Linux (more on this in an upcoming post.):
The package is apparently using two licenses, GNU for the volunteered portion, and PBASIC license. PBASIC Tokenizer Library software is used with hardware that is sold by Parallax. The license to redistribute any programs written is very restrictive, including requiring a driver’s license, and written agreement in the possession of Parallax, and subject to revokations including those mentioned within that package.
The source for the library is not provided, and the library file is stripped. It is only useful with their hardware.
When working on personal projects, I prefer to use open source software whenever possible, to allow for the greatest flexibility should I wish to change the software or redistribute my work, but I do not object to closed-sourced software on moral grounds; open source is simply a better value for me. In the case of the BASIC Stamp, I intend to use the Boe-Bot kit as an inexpensive way to experiment with small scale robotics for my own enjoyment. At 49.95 USD, the pros outweigh the cons. If I decide to move on to custom designed projects, I will likely use an AVR or other inexpensive, more programmable microcontroller.
The Parallax line is not without its benefits as well. Parallax positions their products not only as hobbyist devices, but also as educational aides. The Boe-Bot kit includes a 340+ page spiral bound manual that explains much more than just construction (which only takes about 15 minutes). There are chapters on servo motors and how they work, robot navigation using dead reckoning, tactile navigation using physical touch sensors (implemented via metal “whiskers”, and non-tactile navigation using both visible light detection and infrared obstacle sensing. The text assumes little knowledge, and explains both the principle and implementation of these features. Most of the information learned from this course is directly applicable to other robotics projects, even if the PBASIC used to implement behaviors is not. If my son ever expresses an interest in microcontrollers or robotics, I will definitely start him with a Parallax kit.
While Parallax may exert strict control over the code to parse and compile PBASIC, they are far more open with their instructional texts. Their Stamps in Class line of kits (which includes the Boe-Bot) includes 9 distint products, which can be used in several progressions. All of the kits are built around the BASIC Stamp and the user’s choice of controller boards. Their are two controllers, the flagship Board of Education and the less expensive HomeWork Board (sold in 10 packs for schools). The starter kits- the Boe-Bot and “What is a Micrcontroller“- include a Board of Education; the other kits act as add-ons, combining a thorough text with additional parts needed to complete the projects and experiments in the books. Best of all, the books are not only available for sale separately, but they are all also available as free PDF downloads from the Parallax website. I’ve browsed several, and the quality appears as good as the Boe-Bot manual. This was a big part of my decision to grab the Boe-Bot when I saw it on sale. The book included with the industrial control kit includes a very good chapter on PID, or Proportional-Integral-Derivative control. This system is used not only in many industrial control scenarios, but also in two-wheeled self-balancing robots such as Larry Borello’s Gyrobot. (Note: After I started writing this post, I learned that the Industrial Control kit is discontinued. I do not know if it will be replaced with an updated version, but the latest manual is still available for download).
I have just begun to play around with the kit, and in truth, I am skimming some of the early material as I already have a firm grasp on the fundamentals of programming. I am also familiar with the basics of small robot design from other reading I have done. I can’t provide a full review as I have not worked my way through all of the material yet. I can say that I it is a well thought-out product and appears to provide a lot of learning opportunity for the beginning roboticist. I will post again in the near future with details on using the Boe-Bot (or other BASIC Stamp product) with Linux, and possibly on more on my experiences with the kit itself.