Feed Wrangler is My Go To RSS Reader Platform

Colorbanner 2x

July 1 is fast approaching and Google Reader is shutting down.  Many people in the world use this service to read and sync their RSS feeds.  When I heard it was shutting down I was a bit annoyed but not surprised, but today I am anxious for it to shut down so people will stop talking about it.  Google Reader, it’s been nice but not real nice.  Goodbye!

I have found a paid service I am happy to pay for and support, Feed Wrangler by David Smith.  Feed Wrangler costs $19 per year and it developed by someone I believe will do his best to be around tomorrow.   I have officially dumped Google Reader about a month ago and been using Feed Wrangler ever since, and I could not be more happy.

The Apps

Out of the gate Feed Wrangler has a web site that can be used to read posts, mark them read/unread and add to Instapaper.  It works very similar to Google Reader but with *much* cleaner interface.  I never used Google Reader this way, I always used some third-party apps in my Mac, iPhone or iPad.

I have used a handful of client applications for Google Reader over the years and settled on a couple that worked really well on my Mac and iPad.  When I heard about Google Reader shutting down my first concern was what I would use for applications.

Feed Wrangler has free applications for the iPhone and the iPad that work really well.  I found a few little UI bugs or inconsistencies that I needed to get used to, but nothing I was unable to live with.

Thanks to the great API, third-party apps are starting to pop-up with Feed Wrangler support.  Mr. Reeder for the iPad, and most important to me is ReadKit for the Mac.  Both of these applications are fantastic and I am using them now.

The Syncing

The main part of what I consider the syncing platform is the backend web site and API which helps keeps the applications knowing what’s read and what has yet to be read.  This is transparent and should be, I don’t need to know the details nor do I care.  I just want to be able to go from device to device and not have to miss an article or mark something read more than once.

So far, it just works.


One beautiful part of this platform is the open API for developers so they can create any number of client applications.  Did I mention this is a supported and nicely documented API?  Unlike what Google Reader had offered, this will be a pleasure to write application for.

As someone who consumes API’s for a living, the style of the documentation and examples is a lesson other developers should follow.


You have more choice popping up now that Google Reader is shutting down but David Smith has done some really nice work so far and I can only suspect he will new features all the time.

I am very happy and think Feed Wrangler is worth checking out.


Daie algorithms I came across a great book on Algorithms based on a course taught at Berkeley and U.C. San Diego and wanted to share with readers.  As a computer scientist, Algorithms are one of the most fundamental elements of our trade.

Playing on the strengths of our students (shared by most of today’s undergraduates in Computer Science), instead of dwelling on formal proofs we distilled in each case the crisp mathematical idea that makes the algorithm work. In other words, we emphasized rigor over formalism. We found that our students were much more receptive to mathematical rigor of this form. It is this progression of crisp ideas that helps weave the story. Once you think about Algorithms in this way, it makes sense to start at the historical beginning of it all, where, in addition, the characters are familiar and the contrasts dramatic: numbers, primality, and factoring. This is the subject of Part I of the book, which also includes the RSA crypto system, and divide-and conquer algorithms for integer multiplication, sorting and median nding, as well as the fast Fourier transform. There are three other parts: Part II, the most traditional section of the book, concentrates on data structures and graphs; the contrast here is between the intricate structure of the underlying problems and the short and crisp pieces of pseudocode that solve them. Instructors wishing to teach a more traditional course can simply start with Part II, which is self contained (following the prologue), and then cover Part I as required. In Parts I and II we introduced certain techniques (such as greedy and divide-and-conquer) which work for special kinds of problems; Part III deals with the “sledgehammers” of the trade, techniques that are powerful and general: dynamic programming (a novel approach helps clarify this traditional stumbling block for students) and linear programming (a clean and intuitive treatment of the simplex algorithm, duality, and reductions to the basic problem). The nap Part IV is about ways of dealing with hard problems: NP-completeness, various heuristics, as well as quantum algorithms, perhaps the most advanced and modern topic. As it happens, we end the story exactly where we started it, with Shor’s quantum algorithm for factoring.

The examples are fantastic and very inclusive, ranging from Fibonacci and sorting to graphs, NP-completeness and Quantum algorithms.  The book is 336 pages and has something for everyone. There’s a lot of math combined with some fine pseudo-code but don’t be dissuaded. Lots to learn, ponder and apply.   Enjoy!

No Love for App.net

There has been a huge buzz around the Kickstarter project, App.net, on the web these days.  I have no intention of supporting them, ever.

It’s a valiant effort but that’s all it really is.  I think of this project is just designed to make a statement, one against Twitter.  Sure, they raised some money but who from, folks angry with Twitter.  It raised over $500K on Kickstarter, but as we all know money does not ensure success.

I like Twitter, I don’t agree with everything they do and I certainly don’t think they care about me or what I have to say but nonetheless, they are were its happening these days in the social world I care about, way more important to me than Facebook.  It’s interesting to watch those people who backed App.net, come over to Twitter to claim their support for…App.net…on Twitter.  It’s comical, they pay $50 to someone who is anti-Twitter, yet they come to Twitter to waive their hands in support of the “other” platform.

This should say it all.  If you want to be heard, you come to the place all the people who matter are hanging out.

MG Sieger, who is a respected journalist in our industry put in his 2 cents and it sums up what I have been thinking since the beginning of App.net. 

App.net is not going to succeed because we don’t really want it to succeed. Deep down, we all know that it’s much better as an idea, rather than a reality. Because the reality of the situation is that if App.net ever was successful, it would face many of the same hard choices that Twitter now does. Or it would fade away.

As pointed out on TechCrunch, another project to create a clone of Facebook, never quite took off:

App.net, of course, isn’t the first company trying to disrupt Twitter and/or Facebook. The most prominent recent entrant in this market is probably Diaspora, which ran a Kickstarter campaign to get started. While it’s still under active development, the project never quite took off.

App.net wants to be the next Twitter but faces all the challenges and so much more.  They also want $50/year for the privilege.   Why?  Not me, I’m happy right where I am.  Maybe Twitter is angering some developers because it effects their tool or maybe angering users because their tool of choice may face some struggles but all-in-all, Twitter is good for what it does.

Impressions of the Google Nexus 7


I watched the Google I/O keynote, suspecting the leaks were right about the Nexus 7 tablet and they turned out to be true.

I got in the queue for one of these and have been using mine since the middle of July.  The short version is; this is a fantastic device that I love to use.


I am an owner and user of all the Apple iPads.  Since the first version these have been my primary means of content consumption beyond my Mac Pro and MacBook Air.  The iPad is a great size for sitting on the coach and catching up on reading, surfing the web or responding to emails.  In general, I use the iPad more than I do my MacBook Air when sitting around at night.  The real exception, when I need to write something lengthy and I want more of a touch typing experience.

I do own a Kindle 4 and we have a Kindle Fire in the house.  These are also great devices but they tend to be Amazon content consumers and not a general device.  Honestly, not used much since the iPad has the Kindle application.

The Hardware

I would call this device the same size as the Kindle Fire.  It’s nice when you have the latest cutting-edge device, one that ships with a Quad-core Tegra 3 processor, 1 G of RAM and an amazing 12-core GPU and runs the latest Android Jelly Bean v4.1.  It’s just plain fast.

I don’t play many games but I do use some graphic intensive applications, mainly related to astronomy and rendering star charts.  Using these apps on this device, the rendering is extremely smooth.

One thing I like about my Kindle 4 is the battery life, it lasts forever.  The battery life reported on the Nexus 7 is 10 hours for most tasks but I think it is longer.  I use the device a lot, I mean a lot and I am only charging once or twice a week.  Not exactly scientific but it lasts a long time.


There is a lot to be pleased with in the hardware and overall presentation.

  • Did I mention it’s fast?  Oh yes, it is fast.
  • There lots of software that run on it already and done very well.  Flipboard, Kindle and Instapaper are great examples.
  • Nice controls, consistent and non-hardware except for volume controls.
  • Great integration with Google Play.  It’s easy to get applications, videos and music.
  • Video play is really smooth.
  • Audio quality is great.
  • Text rendering is really sharp and smooth.  This one bothers me on pre-retina iPads.  The text in the Kindle app is not as nice as it could be.  
  • Size – it almost fits into a shirt pocket.  It’s a lot less bulky than the iPad


There is always a few issues with anything new and the Nexus has a few, some are probably my lack of understanding and are not even Nexus 7 specific.

  • Not all of the applications I use on the iPad are available on the device, but it will get better.
  • Not all of the applications I found for Android run on this device, will also get better.  
  • When using the browser, the fonts are often so small that their hard to read and I have to zoom in.
  • WiFi-only – I own 3G iPads and I never have to worry about having an Internet connection but with this device I do.  Not huge, but a factor.
  • Orientation is locked by default.  I lived with this until I figured out that it could easily be turned off. 
  • Headphone jack on the bottom, wish it was on the top.


I love the Nexus 7, it fits nicely into my collection of devices.  Devices I actually use.

I have been critical of the other Android tablets I played around with, too many have iPad envy.  The Nexus 7 is trying to be its own device in its own form factor, one that is a nice size.

I’m looking forward to the next version of this, maybe one with 3G so I can keep the Nexus 7 with me and use it for navigation.  I use my iPad this way today, and it’s just a bit too big.


Tweet Less, Blog More and Keep Your Content

Update your blog

Scott Hanselman had a great piece of the weekend about controlling your content destiny by blogging more and “tweeting” less.   I use “tweeting” as the generic term for putting content on social networks like Twitter, Facebook and Google+.

In the past year or so I admit to blogging less and “tweeting” more.  I spend a fair amount of time on Twitter and an increasing amount on Google+, but the truth is, Scott is right and those places don’t care about me at all. 

You are not blogging enough. You are pouring your words into increasingly closed and often walled gardens. You are giving control – and sometimes ownership – of your content to social media companies that will SURELY fail. These companies are profoundly overvalueddon’t care about permalinksdon’t make your content portable, and have terms of service that are so complex and obtuse that there are entire websites dedicate to explaining them.

I think the reason blogging is in decline is because sharing a thought is so much easier on Twitter.  In 140 characters you can get a thought out and be done.  Blogging is a craft which takes some to evolve the thought into something someone else might want to read. 

Twitter cares only about Twitter which is shown by their recent announcement of upcoming API changes which mainly stick it to developers.  Pay-for social networks like App.net are popping up which claim to allow users to keep their content.  I’m sorry, but no way I am forking out $50 for a Twitter clone.  

Also remember, blog for yourself, not for the audience.  Say what you want to say because it’s your soapbox to do so.  Blog on.


Best Earphones Ever: Bose MIE2i Mobile Headset

I have been using an iPod or some such device for many years now.  Today I use an iPhone 4 to listen to podcasts during a daily hike and have had a hate-hate relationship with every set of earbud or earphones, whichever you prefer to call them.

It seems people use the earbuds that are shipped with every iPod and iPhone, but my personal experience with them is less than acceptable.  They often fall out of my ears at one point or another, I feel I need to be careful how I move or I risk one coming out.  Apple has some great designs, these are not one of them.

I decided to go with an in-ear earphone with the hopes seating in the ear canal would stay better, give better sound and get me away from Apple’s ear buds for good.

My requirements seemed really simple, let me listen to podcasts, stay in my ear and let me take/make calls on my iPhone.  

The first set of new earphones I tried were the Logitech Ultimate Ears.  These came as a recommendation so I figured I would give them a try.  Upon receiving them I immediately thought how great the design was and trying them for fit, they felt great.  Listening to a podcast with these was amazing, great noise-cancelling sound that was above and beyond what I expected.

The real test was using them on a hike.  At first these felt really good and I thought my problem was solved but as I started to sweat the very soft silicone earphones started to get slippery and nothing I could do would make them stay in my ears.  As I dried them off and reseated them, as I walked I could feel them slowly moving and eventually they fell out.

I did give these a fair shake over the next couple weeks, trying different things which included trying different size of the silicone adapters themselves but nothing worked, sweating eventually caused the earphones to dislodge.

I decided to ask around on Twitter again and got a single suggestion for Bose earphones.  Describing my dilemma the person said their wife used them and were very happy with them.  Unfortunately, they are pretty expensive at $130 but my frustrations seemed larger.  I ordered a pair and at first site they look pretty strange.

The model I ordered were the Bose MIE2i Mobile Headset.  You can see from the image that they are different looking.  They have a very unique way of partially going into the ear canal as well as hooking to the ear itself.  Very easy to put in and the Bose sound is incredible.  

Mie2i headset bw lg

I have had these earphones for about 2 months now and use them every day. Not once has one side come out or even remotely felt loose.   The sound is the best I have ever experienced and the controls work fantastic.  I have had several phone calls with them, both receiving calls and making them and they just work.

So, for anyone looking for a truly great set of earphones..look no further than these.  

Joining MarsEdit and Dropbox

I use MarsEdit from Red Sweater Software as my exclusive blogging tool on the Mac and have over the last couple years.  I tend to write lots of draft posts on my desktop Mac Pro that never get published or I work on them when I can before pushing out to my WordPress blog.

I also use MarsEdit on my MacBook Air when I travel or even if I am working on the couch in the evenings.  All of the drafts in MarsEdit are saved locally on the computer I am going the writing and once I want to be able to edit from the other computer I end up pushing as a draft to the blog and pulling it down via MarsEdit.  This is a tedious task and has problems.  I don’t know how many times I pushed up a draft and forgot I did a few days later only to work on an old draft locally.

I then had the idea of possibly setting up MarsEdit to save local drafts to Dropbox but there didn’t appear to be an option in MarsEdit to change the location of local storage.

But…there is usually a way to do anything.

The steps below worked great for me, you mileage may vary.  If Dropbox is installed in its default configuration then these instructions should work for you.  I configured my systems with my Mac Pro being the “main” system and my MacBook Air as the secondary.  I had local drafts on my Mac Pro but NOT on my MacBook Air.  If you follow these steps exactly and have local drafts on each system them you will lose data.

Without further ado, follow these steps.  I assume you know how to open a terminal sessions and feel comfortable typing command.

1. Make sure you quit MarsEdit from each system you are going to change the location of local drafts.

2. Find local MarsEdit drafts on your main system – A bit of spelunking reveals where they live in:

~/Library/Application Support/MarsEdit/LocalDrafts

3. Create folder for drafts in Dropbox.

mkdir ~/Dropbox/Library
mkdir ~/Dropbox/Library/MarsEdit

4. Move the local drafts from the main computer to Dropbox, enter these two commands:

cd ~/Library/Application\ Support/MarsEdit
mv LocalDrafts ~/Dropbox/Library/MarsEdit/LocalDrafts

5. Now let’s fool MarsEdit into thinking nothing has changed.  Symlink the old name to the new location.

ln -s ~/Dropbox/Library/MarsEdit/LocalDrafts ./LocalDrafts

Now, on each of the other machines start with step 6.

6. Remove the local draft folder (if it’s not empty and delete you will lose data).

rm -rf ~/Library/Application\ Support/MarsEdit/LocalDrafts

7. Time to fool MarsEdit here too. Symlink the old name to the new location.

ln -s ~/Dropbox/Library/MarsEdit/LocalDrafts ./LocalDrafts

Repeats steps 6 and 7 for each computer you need to share local drafts.

Once you start up MarsEdit on each of these machines, you should see the same local drafts.  If not, then double-check the steps above.


Downgrading MySQL from 5.5 to 5.1 on OS X

I recently had a need to setup a new instance of MySQL on my Mac.  I decided to use MySQL 5.5.x since it was, you know, the latest and greatest.  Only to later find out I needed to use MySQL 5.1 instead.  Time to downgrade.

Since I had used the 64-bit DMG from the MySQL Community Server site, the files were installed to default locations, the Oracle documents indicate simply installing right over the current install will work fine:

If you are downgrading within the same release series (for example, from 5.1.13 to 5.1.12) the general rule is that you just have to install the new binaries on top of the old ones. There is no need to do anything with the databases. As always, however, it is always a good idea to make a backup.

Notice this states a downgrade to a minor version.

When I proceeded to install 5.1, I was greeted with an error that would not allow me to install 5.1 over the top of 5.5, a clearly newer version.

MySQL 5.1.56-community for Mac OS X can’t be installed on this disk. A newer version of this software already exists on this disk.

My first instinct was to try to determine which files were MySQL-related and start to remove them one-by-one.  After a bit of searching around the web I found out the process of uninstalling MySQL can leave behind one particular file or set of files which prevent installing an older major version.  I figured I would start with the least common denominator first, running the command:

~ $ sudo rm /var/db/receipts/com.mysql.mysql.*

After rerunning the installation from the DMG, everything went fine.  I did have to rerun the package to create the startup-up item and create the System Preference item.  Do note though, the Oracle document referenced above says there is no need to do anything with the databases, be warned, this was not true in downgrading to a major version..I lost my databases.   Since it was a new install I didn’t care anyway but I thought you should be warned.

I am sure the purest out there will suggest to install from source, but I’m lazy and have better things to do with my time.  I bet you do too and hopefully this will help you.


Blog Move to WPEngine

Wpe 125x125

I have been having a lot of problems lately with my self-hosted WordPress instance on one of my Linode “slices”.  It seems around 2:00 AM, starting a few weeks ago, CPU utilization would spike to astronomical numbers and only get worse.  The solution was to reboot the node and things would return to normal.  This is not exactly a great way to spend my time as I am not a Linux admin guru nor do I want to be.

The strange thing about this sudden CPU problem is that nothing had changed on the node, no configuration changes, no upgrades…nothing.  Peering at the processes causing the issue revealed the culprit to be Apache.  A few hours of trying to fix this myself made me come to the realization that I was really wasting my time and I needed to move my WordPress site to someone who knew what they were doing.

After a bit of investigating and feature/price comparison, I settled on WPEngine.    They offer just about every feature that made me self-host in the first place, including being able to manage my installation; WP versions, plugins, themes, skins, etc.  They do offer things better than my self-hosting provided:

  • Managed Linux, PHP, MySQL, etc.
  • DDos Protection
  • Managed Backups
  • Memcached
  • Managed Firewall

These are all the things I don’t want to have to worry about and don’t have the skills to manage correctly.

So as of January 12th, this blog now runs on WPEngine.  Oh, they also offer expert support and I can vouch for it.  I took full advantage of it after totally hosing up importing my current blog into the new site.  They helped me quickly and I was up and running in a matter of a couple hours, it actually took the longest for the DNS changes to take effect.

The company consists of industry veterans who are WordPress experts indeed.

The site seems much snappier now and I don’t have to worry about CPU utilization on it any longer.

Why Open Source is Better for Your Business than Microsoft

I think everyone in the technology field knows Microsoft, you either love them or you hate them.  It seems there are more haters these days than those that love them and it is often times their own fault.

Commerce Server

My problems with Microsoft have been rooted around a project I had done for a client many years ago based on Commerce Server.  For those of you that don’t know, Commerce Server is a product which allows users to setup a complete commerce system based on the Microsoft platform.  It also allows developers to heavily customize it to meet the client’s needs.  Oh, and it is expensive.

This version of Commerce Server relied heavily on XML and XSLT for rendering pages.  Microsoft was high on XML at the time as it was the technology to solve all of our problems.

Along came .NET and the next version of Commerce Server was all based on .NET and XML was not the hotness any longer so they re-wrote from scratch with all the bells and whistles of .NET.  What did this mean for the client wanting to upgrade to the new version of Commerece Server?  It meant, there was no upgrade.  It meant their entire code base was garbage and had to be rewritten from scratch.

This was certainly a dilemma.  Do they reinvest in Commerce Server and build their site from scratch, hoping a future version of Commerce Server would not require the same rewrite?  My recommendation to them was to toss out what they had and rewrite their system in plain old ASP.NET and C# at the time.

I think this worked out well for them as they don’t have to rely on something that Microsoft could drastically change down the road and leave them in a bind.  Sure, Microsoft could change ASP.NET but at this point it is a safer bet it won’t change that drastically.  It is at this point I really became suspect of Microsoft and buying into what they tell developers is the next great invention that we should use.

Enter Silverlight

Microsoft has been all about Silverlight for the last couple years as their solution for cross-browser, cross-platform rich Internet application development platform.  The idea is we write it once, we run it everywhere.  I think we’ve heard this one before (Java, I am looking at you).

The Microsoft Professional Developer’s Conference is happening now (or just ended) and news coming out of Redmond is they are pulling back on Silverlight and HTML5 is the way to go.  An interview by MaryJo Foley with Bob Muglia from Microsoft tells the tale:

Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.

But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.

So what happens to all of those Line of Business applications these companies have been working on?  I don’t think I would bet my business on any continued development of this platform in the way it was originally sold to developers.

It leaves some folks wondering:


This appears to be another dead-end for developers.  Even if it’s not, the waffling about its future would be enough for me not to use it.

Open Source to the Rescue

I was a Microsoft developer for more years than I care to admit and I have been bitten by their change in direction more times than I can count.

The real solution is to control your own destiny and build solutions with open source components.  Speaking as a developer who leverages Ruby and Ruby on Rails, I feel much better about supporting a client and knowing the technology decisions I make for them are safe.   Since it is all open source, I am free to make changes to the framework as I need now or down the road.  The open source community is vibrant and even the smallest projects are active, but even if they die out..you still have the source to do with as you see fit.

Microsoft rolled off projects involving IronRuby and IronPython to the Mono folks and now these projects will live to see another day.

I really don’t care if Microsoft dumps products (or changes strategic direction, same thing) but don’t leave users in a bind.  These projects should be given to the community to move forward and to support.  Silverlight could easily be moved down this path, given to a community to evolve and keep those developers who put so much time and effort into.  Developers would have a way to leverage their codebase and not be left to explain to product owners how they have invested in a dead-end product.

This might start to build trust again in Microsoft by those that lost confidence.  But, open source puts the power and the future of the frameworks and tools we use in our own hands.