Leaving Bloglines For Google Reader
I started using Bloglines in early 2004 to read feeds. Despite the rise of Google Reader I stuck with Bloglines, which had that well broken in feeling after using it for so long. I put up with the occasional outage and semi-regular bugs because most of the time it worked well enough.
This month I finally decided it was time to retire my Bloglines account and move over to Google Reader. The comfort of sticking with a service that I’d known and loved for so long was finally over come by feeds that were way behind, bugs that made it impossible to use at times and outages that took the service completely offline.
That isn’t to say that Google Reader is perfect, there are some things that I’d like to have changed. I will often quickly scan through new items via the ‘All Items’ view (using the keyboard short cuts), but find it is really annoying that I can’t unsubscribe from a feed from there. Instead I have to view just that feed and then I get the unsubscribe option.
Good bye Bloglines, you served me well, but the time has come for us to part ways. Oh and by the way, I never did get my I Love Bloglines shirt.
WordPress 2.8 – XML-RPC and AtomPub Changes
Here’s what has changed in WordPress XML-RPC and AtomPub APIs from 2.7.1 to the new WordPress 2.8 release:
XML-RPC
- Fixed wp.getUsersBlogs and blogger.getUsersBlogs to return the correct value for the ‘xmlrpc’ field when WordPress is installed in separate directory ( ticket #9516 )
- Authentication is filterable now, allowing for alternative authentication methods like OAuth ( ticket #8941 and #8938 )
- Provide sticky status of posts via ’sticky’ field in metaWeblog.newPost / metaWeblog.editPost / metaWeblog.getPost ( ticket #8777 )
- Don’t duplicate post enclosures ( ticket #7773 )
AtomPub
- Always use filterable authentication, allowing for alternative authentication methods like OAuth ( ticket #9320 and #8938 )
- Update image captions (summary) correctly ( ticket #9148 )
- Hooks for extending AtomPub ( ticket #8827 )
- Fix file upload updates and image processing when uploading an image ( ticket #9233 )
- Provide the correct edit URL for images ( ticket #9147 )
A big thank you to everyone who submitted tickets and patches. With 2.8 out the door now is the time to bring up new features for WordPress 2.9. If you’ve got a patch for a new feature, even better! Go submit a ticket at http://core.trac.wordpress.org/.
If you are using the WordPress XML-RPC/AtomPub APIs in your software or service, or are just interested in this part of WordPress, please join the WordPress XML-RPC email list.
When Regular Expressions Gets Greedy
I’ve been using a regular expression (PHP’s preg_match function) to parse email addresses. The addresses have a consistent pattern that look like:
anamehere+XXXXXXXX@mail.example.com
The XXXXXX section is a random set of characters: a-z, A-Z, 0-9 and -. The regular expression’s job was to extract that random set of characters, which is easy to do:
$email_addr = 'anamehere+XXXXXX@mail.example.com'; preg_match( '|anamehere\+(.*)@.*$|', $email_addr, $match ); $email_code = $match[1];
Since the format of the email address is consistent it was easy to pull out the section I was interested in. Well, it was easy until it broke when the email was sent in from a specific email client. Turns out this client set the value of the email address to something different:
"anamehere+XXXXXX@mail.example.com" <anamehere+XXXXXX@mail.example.com>
After getting over my frustration at this email client I looked at what the regular expression matched:
XXXXXX@mail.example.com" <anamehere+XXXXXX
Well that was no good. Instead of just matching the XXXXXX it was slurping up other portions of the email address as well. Enter the greed factor of Perl Compatible Regular Expressions (PCRE). If you aren’t familiar with greedy regular expressions it simply means that they try to match as much as the can. Fortunately there is a way to turn off the greediness using the U pattern modifier. By adding a U to the end of the regular expression things got much better:
$email_addr = 'anamehere+XXXXXX@mail.example.com'; preg_match( '|anamehere\+(.*)@.*$|U', $email_addr, $match ); $email_code = $match[1];
Now even the odd ball email address was extracting just the XXXXXX in the regular expression.
Using the U at the end turns off greediness for the entire regular expression. You can turn off the greediness of a single quantifier (the * in this case) by following it with a ?. Using that technique the regular expression is anamehere\+(.*?)@.*$ which works as well.
If you find that your regular expressions are matching more that you want remember that they are greedy by default.
The 3 Greatest Tech/Geek Movies Of All Time
In the tech/geek crowd there are 3 movies that stand above the rest. Here they are in chronological order:
TRON – 1982
A resourceful hacker breaks into a mainframe to find information that will prove his side of the story. The bulk of the movie is spent visualizing a world inside the computer, where programs live out their brief lives. With a strong emphasis on video games this movie appealed to many of the kids fascinated with the machines that populated arcades every where. This movie was more about the fantasy of the computer world than trying to give a reasonable portrayal of how things really were.
It was one of the earliest films to make use of computer graphics, along with The Last Starfighter in 1984. Such special effects, common place today, were a big deal at the time.
WarGames – 1983
A computer savvy high school student starts out by changing his grades and ends up in a military simulation for nuclear war while searching for new games to play. The main character, David Lightman, helped solidify the view of computer hacker teens as socially awkward and misunderstood by those in authority.
The term ‘war dialer’, where a computer program calls phone numbers automatically looking for other computers, was coined from the dialer program shown in the movie. With the wide spread use of wifi the term ‘war driving’ is a modern day version of same phrase.
Sneakers – 1992
A team that specializes in testing security systems gets in over their heads. This movie has a little bit of everything; cryptography, conspiracies, phreaking, social engineering, politics, break ins and a blind man driving a van.
The list of actors for this movie is impressive, combined with a fun story with plenty of twists. To top it all off this is perhaps the most reasonable portrayal of the geek/tech scene of any mainstream film.
I don’t think that it’s coincidence that these movies are all before the popular adoption of the Internet. With technology and computers being so integrated into the daily routine of so many it’s hard to make a modern film that shows their use in a story that doesn’t look exceedingly boring. The result is tech/geek movies become more like action/adventure movies.
What’s your favorite tech/tech movie?
LibXML2 Fix – Version 0.2
I’ve updated my LibXML2 Fix WordPress plugin so that the work around is enabled even if you have libxml2 2.7.3 installed but have a PHP version that is less that 5.2.9. This should fix servers who decided to update libxml2 without updating PHP.
Further details and history are at my LibXML2 Fix plugin page.
Update: Rein caught a typo in version 0.2, so make sure that you get version 0.2.2.
Susan Boyle
Trust me, go watch this entire video, it’s only 7 minutes – http://www.youtube.com/watch?v=9lp0IWv8QZY
Reno-Tahoe WordCamp

I’ll be presenting at the Reno-Tahoe WordCamp on April 25th.
WordPress Theme Authors, Don’t Forget The wp_head() Function
When creating a WordPress theme don’t forget to include a wp_head(); call in the HTML HEAD section of your theme. It’s very simple to do, just include:
<?php wp_head(); ?>
Before the closing HEAD tag (</head>) in your HTML.
Why make such a fuss over a single function call? Because it does a fair bit of work behind the scenes and without it some WordPress features will not work properly. Take a look at the wp_head section of the wp-includes/default-filters.php file in WordPress, you’ll see a number of events that are tied to the wp_head action.
One area where this is a particular problem is for offline blog clients that make use of the XML-RPC and AtomPub APIs in WordPress. The “Really Simple Discoverability” (RSD) link that WordPress inserts instructs these clients on where to find the RSD URL, which contains information on how the clients can send XML-RPC and AtomPub requests. We’ve seen a number of times now where an error reported by a WordPress iPhone App user is caused because there is no RSD link in their WordPress blog. Looking a little deeper reveals that there was no RSD link because the theme they were using didn’t include a call to wp_head().
If you are writing a WordPress theme here is your reminder, make sure that the wp_head() function is being called at the end of your HEAD section.
History Of The Federal Debt
My post about Presidents That Have Reduced The Federal Debt was limited to data from 1940 to the present. This was because the data I’d found (2009 Budget Historical Tables PDF and the Federal Debt at the End of Year: 1940–2008 XLS) only went back to 1940. A little more digging revealed that TreasuryDirect.gov has a complete list of the history of annual outstanding federal debt from 1791 to today.
The federal debt started at $75,463,476.52, in 1791. It reached it’s lowest point, $33,733.05, in 1835 when Andrew Jackson was President. Other milestones include the first time the debt passed $1 billion in 1863 under Abraham Lincoln and exceeding $1 trillion in 1982 during Ronald Reagan’s Presidency. On the other side of the coin Woodrow Wilson was the first President to reduce the debt by more than $1 billion in a single year (1920). The single largest reduction in the debt in a single year happened in 1947, by more than $11 billion, when Harry S. Truman was President. Since 1791 the year over year debt has only been reduced 80 times under 29 different Presidents.
Here’s a list of all the years that the federal debt went down, including by how much and who the President was at the time:
- 1794 – $1.9 million – George Washington
- 1797 – $1.7 million – George Washington / John Adams
- 1798 – $2.8 million – John Adams
- 1799 – $0.8 million – John Adams
- 1802 – $5.9 million – Thomas Jefferson
- 1803 – $3.6 million – Thomas Jefferson
- 1805 – $4.1 million – Thomas Jefferson
- 1806 – $6.5 million – Thomas Jefferson
- 1807 – $6.5 million – Thomas Jefferson
- 1808 – $4.0 million – Thomas Jefferson
- 1809 – $8.1 million – Thomas Jefferson / James Madison
- 1810 – $3.8 million – James Madison
- 1811 – $5.1 million – James Madison
- 1812 – $2.8 million – James Madison
- 1817 – $3.8 million – James Madison / James Monroe
- 1818 – $20.0 million – James Monroe
- 1819 – $7.9 million – James Monroe
- 1820 – $4.5 million – James Monroe
- 1821 – $1.0 million – James Monroe
- 1823 – $2.6 million – James Monroe
- 1824 – $0.6 million – James Monroe
- 1825 – $6.4 million – James Monroe / John Quincy Adams
- 1826 – $2.7 million – John Quincy Adams
- 1827 – $7.0 million – John Quincy Adams
- 1828 – $6.5 million – John Quincy Adams
- 1829 – $9.0 million – John Quincy Adams / Andrew Jackson
- 1830 – $9.8 million – Andrew Jackson
- 1831 – $9.4 million – Andrew Jackson
- 1832 – $14.8 million – Andrew Jackson
- 1833 – $17.3 million – Andrew Jackson
- 1834 – $2.2 million – Andrew Jackson
- 1835 – $4.7 million – Andrew Jackson
- 1840 – $6.8 million – Martin Van Buren
- 1844 – $9.2 million – John Tyler
- 1845 – $7.5 million – John Tyler / James K. Polk
- 1846 – $0.3 million – James K. Polk
- 1852 – $2.1 million – Millard Fillmore
- 1853 – $6.4 million – Millard Fillmore / Franklin Pierce
- 1854 – $17.5 million – Franklin Pierce
- 1855 – $6.6 million – Franklin Pierce
- 1856 – $3.6 million – Franklin Pierce
- 1857 – $3.2 million – Franklin Pierce / James Buchanan
- 1867 – $95.1 million – Andrew Johnson
- 1868 – $66.4 million – Andrew Johnson
- 1869 – $23.2 million – Andrew Johnson / Ulysses S. Grant
- 1870 – $107.7 million – Ulysses S. Grant
- 1871 – $127.4 million – Ulysses S. Grant
- 1872 – $99.9 million – Ulysses S. Grant
- 1873 – $18.7 million – Ulysses S. Grant
- 1875 – $19.4 million – Ulysses S. Grant
- 1876 – $51.8 million – Ulysses S. Grant
- 1880 – $229.1 million – Rutherford Birchard Hayes
- 1881 – $51.4 million – Rutherford Birchard Hayes / James A. Garfield / Chester Alan Arthur
- 1882 – $150.7 million – Chester Alan Arthur
- 1883 – $34.1 million – Chester Alan Arthur
- 1884 – $53.6 million – Chester Alan Arthur
- 1886 – $88.9 million – Grover Cleveland
- 1887 – $117.4 million – Grover Cleveland
- 1889 – $73.8 million – Grover Cleveland / Benjamin Harrison
- 1890 – $66.9 million – Benjamin Harrison
- 1891 – $6.1 million – Benjamin Harrison
- 1893 – $42.4 million – Benjamin Harrison / Grover Cleveland
- 1898 – $21.1 million – William McKinley
- 1914 – $3.7 million – Woodrow Wilson
- 1920 – $1,438.5 million – Woodrow Wilson
- 1921 – $1,975.0 million – Woodrow Wilson / Warren G. Harding
- 1922 – $1,014.0 million – Warren G. Harding
- 1923 – $613.6 million – Warren G. Harding / Calvin Coolidge
- 1924 – $1,098.9 million – Calvin Coolidge
- 1925 – $734.6 million – Calvin Coolidge
- 1926 – $872.9 million – Calvin Coolidge
- 1927 – $1,131.3 million – Calvin Coolidge
- 1928 – $907.6 million – Calvin Coolidge
- 1929 – $673.2 million – Calvin Coolidge / Herbert Hoover
- 1930 – $745.7 million – Herbert Hoover
- 1947 – $11,135.7 million – Harry S. Truman
- 1948 – $5,994.1 million – Harry S. Truman
- 1951 – $2,135.3 million – Harry S. Truman
- 1956 – $1,623.4 million – Dwight D. Eisenhower
- 1957 – $2,223.6 million – Dwight D. Eisenhower
There’s the complete list of every year in this country’s history where the year over year federal debt went down instead of up.
The debt has been reduced 36.6 percent of the time over the previous 218 years covered by this data. Most of those reductions ( 73 percent ) happened during the 1800s.
Another interesting note that I hadn’t thought about until reviewing this list is that up until 1957 we had never gone more than 17 years without paying down some of the debt. That gap was from 1930 to 1947, with a depression and war undoubtedly being major factors there. The next largest gap was 10 years, 1857 to 1867. The gap was normally much smaller though, with the average between 1791 and 1957 being just under 2 years. The distribution of gaps during that time frame was: 17 years (1), 10 years (1), 6 years (3), 5 years (4), 4 years (2), 3 years (3), 2 years (7) and 1 year (57).
If/when we do reduce the federal debt again it will be the single largest gap between reductions in the history of this country, more than 3 times (at least) the length of the previous longest gap of 17 years.
Long Lost Brother Of Microsoft BackOffice Logo?


The Mozilla Weave project released version 0.3 recently and their logo looked really familiar. Perhaps it was the long lost brother of the Microsoft BackOffice logo?
Maybe it’s just because I worked in an IT department many years ago where that BackOffice logo seemed to be everywhere, but I can’t look at that Weave logo without thinking of BackOffice. It’s like a shiny monochrome version of Microsoft’s rainbow.
What do you think, definite relation, or am I just scarred from my time with Microsoft BackOffice all those years ago?
