The quest for the perfect RSS Reader for the Mac Desktop and iPhone

I like to keep myself informed on different topics, as such RSS feeds are a great way to keep informed. They allow you to follow a site, without having to visit a specific website and scan for the latest articles. Moreover, it can keep you updated of software updates or news that would not enter your radar.

Over time, I have accumulated around 600 RSS feeds and the challenge to manage them all was a challenge in itself. Thought, today I have a very satisfying setup which I like to share.

The old workhorse

In the past I would go nowhere without NetNewswire. I’ve been a huge follower of NetNewswire for a long time. I can’t remember the companies name of the past, but it was one guy doing the whole work and the application was great. Then he sold it do Newsgator and they had this very great setup with their online RSS client which would sync the read statuses with the desktop client. Furthermore, they also had a iPhone client. All in all a winning team.

After some time, they gave up this setup and recommended all their customers to use Google Reader and use NetNewswire, both on the desktop and on the iPhone, to sync with Google Reader. Thought, I did not like Google Reader at first I have to say that i use Google Reader as my main “RSS server” nowadays.

Unfortunately, or let’s say fortunately, the move from the Newsgator platform to Google Reader has also brought new opportunities and ways in my RSS reading workflow, I would have never experienced with NetNewswire alone.

This brings me to my current setup.

The new workhorse

Today, I have replaced NetNewswire on my iPhone with Newsrack (it used to be called Newsstand). Newsrack is a full featured RSS reader, displays your news in a news stand like display (I don’t use it and simply like the “standard” view) and it is blazing fast in loading the feeds.

The big plus, apart from syncing with Google Reader is the ability to share the feeds by eMail, with my Google Reader followers, post it to Twitter, Delicious or Instapaper.

Sure, Newsrack itself is not a free app, unlike NetNewswire, but for my taste NetNewswire just did not scope it anymore for me. It did not sync properly anymore, the displaying of ads bothered me after some time, but apart from that, it was just painfully slow in syncing with Google Reader.

All in all, I’ve been buying Newsrack after around 2 hours playing with it and never regret it in any way.

I’ve looked into other RSS readers that have the option to sync with Google Reader, but could not find one that would work well for me. Especially the sharing feature and the way it works, just does it for me.

On to the Mac Desktop.

One might wonder why I would want to use a desktop RSS reader if Google has made Google Reader so easy to use in the browser and especially with Google Chrome the reader is just plain fast. Still, for me, desktop apps have benefits over their web counterparts. Some of the benefits are the possibility to read the feeds offline, be able to easily drag and drop them to an email client and post to a blog with MarsEdit.

So far, I have used NetNewswire also for Google Reader replacement, but here also, I experienced slow syncing and the ads really were annoying. Thus I set out on my quest for a replacement. Foremost, I did *not* want an AIR application (don’t get me started on AIR’s RAM usage). Luckily, it did not last long until I found the perfect Mac desktop Google Reader. Enter Gruml

Gruml is a pretty young project (Version 0.9.17) and (surprise?) comes from a person in Germany. But what really got me hooked on Gruml is the usability that just makes it so much fun to use. Also, for just about every action you have shortcuts. Want to post a article to Twitter? Hit shift+T, Want to spread the news with ping.fm? Hit shift+G. Best of it, it opens a new tab with the build in browser.

But one of the really neat feature is the icon in the menu bar of MacOS X itself. First it lets you now how many unread items you got and when you click on the icon it gives you a preview of the feeds in its own window. Me thinks, that is really slick!

Moreover, I have found that Gruml is really in sync with Google Reader all the time. In my testing I saw that it syncs almost instantly with Google Reader and as such you have Google Reader, Newsrack on the iPhone and Gruml in sync almost by the beat.

Of course, one of the best selling points for Gruml is the price -  free by the means of Gratis, pay nothing, enjoy and follow the feeds :-)

What do those newspapers think?

Right, so I’ve been on the internet for quite a long time. Like many of you, I most of the time “could” ignore those ads when visiting a newspaper website, but today, while reading the times.com website, I was just simply annoyed. You have to look at the screenshot to understand what I mean:

I mean, what do those editors think when they place an ad like this? Does the newspaper think that we will click on it? As you can clearly see, the ads and navigation takes up around 70% of the screen estate. Never mind the usability of the website, less then me finding my way around.

Thought, this is just one of the examples I’ve seen in recent time, it is clearly the biggest one. Maybe more annoying are the ones that hover on top of the news text and you need to close them or the ones that act on your mouse movements.

Now, I’m not blind and I know that you guys have to make money. But please, find a more decent way to make money. As an example, cooperate with Apple on their iPad offering and place your ads there. Or make a paid subscription model, that makes us readers, a follower of your newspaper instead of one leaving your site immediately (as I did).

If you run out of ideas, I got plenty left and they have proven to work. I’m available at your disposal…

Behind the scenes of popular TV shows

I have to admit, I’m a huge fan of Movies and TV shows that have some fiction involved. Movies like “Avatar” and TV shows like “Heroes”, “Lost”, and “Flash Forward” are my favorites.

Nowadays we have come a long way to making the screen look real. Remember the first Star Wars movie (and how mind blowing it was) and looking at Avatar now (and how mind blowing it is!). Worlds apart.

If you ever wondered how it is done and are into Visual Effect’s I recommend that you check out the StarGate Studios YouTube Channel. Very good stuff. One of my favorites is below.

Experiences with the iPhone and Internet Tethering

IMG_0164.PNG The last couple of weeks, I have had to use the Internet Tethering function that comes with the iPhone. During the course of this time, I made some interesting experiences that I would like to share.

Phone Calls
There is one thing I learned the hard way when I enabled Internet Tethering and wished that someone would have told me. That is, that when you don’t have a 3G coverage, like only Edge (the “E” in the upper left corner as shown in the images on the right), you will NOT be able to receive any phone calls during Internet Tethering.

Thus if you need a Internet Connection and you want to be able to receive calls make sure that you are on a 3G network.

Battery
We all know that the iPhone has miserable batterie life. When you enable Internet Tethering you have two options how you want to connect to the iPhone. One is over Bluetooth and one is with the USB cable.

For keeping your iPhone “alive”, I recommend that you connect it over the USB cable. Thus you will not drain your iPhone batterie extensively and will charge your iPhone at the same time. but there are two important things to know about this method:

1. While your iPhone is connected over the USB cable and charging it will also suck the batterie from your MacBook extensively. So, make sure that you connect your MacBook to the power outlet when you have your iPhone hooked up per USB.

2. Contrary to the above I have noticed that the iPhone is NOT being charged, even thought connected over USB. The reason for this is that as more connection you have open over the Carrier network the less the Mac is able to charge the iPhone. It is like the connection (of the USB cable) is fighting with the power, since both go over the same cable. The remedy is to lower your usage for the connection, like closing your eMail application or lowering how many times you get your eMails.

Other things…
Some of the things that I wished would be really different from a user perspective are;

… Every time I have to make a call, Internet Tethering is automatically turned off! Meaning I have to reenable it manually after the call is done. That means, clicking on “System Preferences”, then on “General”, then on “Network”, then on “Internet Tethering”, then enable it and selecting “USB”. That makes it 5 steps, 5 steps too much!

… The iPhone does not switch from Edge to 3G automatically. The only remedy I have found to this is to enable Airplane mode and the disable it again. Right after, the iPhone selects the nearby 3G network (until the next time it is back to Edge).

Nginx error with Tomcat – upstream sent too big header while reading response header from upstream

Nginx is our favorite web server currently as it is fast, lean and easy to configure. Performance is just outstanding and if you haven’t take a look at it.

One thing that I noticed while we deployed Nginx with Tomcat is that their default size for the buffers are very low. Don’t know why a 4K buffer size would be sufficient. If you keep it at their default size and might have a heavy duty Tomcat app then it could be that you will see error messages like:

upstream sent too big header while reading response header from upstream

The remedy for this error is to set the parameters for higher values for the proxy_buffer* parameters as we have done and now all is back to normal. Here are the current settings that worked well for us;

proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;

Setting up Apache2, PHP and MySQL on MacOS X – the easy way

Today I set out to get MySQL and PHP setup on my MacBook Pro. Since Apache2 already comes with MacOS X (mine is Snow Leopard and yours should be too!). Now, the funny thing is that I first searched on the web how to best install PHP and MySQL.

Surely, I came across MAMP (a package that gets you Apache2, PHP, MySQL and a couple libraries) in a nice one click application and some others. Being the guy who rather has things separated and controllable, I quickly shined away from those. Thought, I gave MAMP a try, but could not get MySQL to listen to anything else then the internal Apache2 server from the MAMP package (but guess that is another story and I’m really not doing this the first time.). Anyhow…

I then looked into getting Apache2, MySQL and PHP with MacPorts. Thought MacPorts has proven to be perfect in such circumstances, I had a hard time (and it took very long) to get this setup up and running. I’m sure, some of you have had successful installs and all works great, but at the end it did not work for me. There are even more instructions to get PHP running, with a lot of tweaking and such, but to be honest in the end…

Really the simplest and most straightforward method to get Apache2, MySQL and PHP running on MacOS X is;

MySQL

Now, this is really no brainer. All you need to do is to go to http://www.mysql.com and download the recent release. Within the download image you will find a nice installer and Preference pane which lets you start/stop MySQL. If you want to go all GUI, then also download the GUI tools from MySQL.

Apache2/PHP

The probably easiest of it all. Since MacOS X already comes with Apache2 and PHP all you need to do is to enable it. Thought, PHP is disabled in the httpd.conf, all there is to do is to edit httpd.conf and uncomment the mod for the php library.

That’s it!

Nothing to install, (almost) nothing to configure. Simple and easy.

SugarCRM: Inbound eMail

SugarCRM is a good open source CRM, but the overwhelming functions and navigation makes it “sometimes” hard to really get to the one thing you want to do. In any case, it does the job well. Apart from that, I just came upon this error message within SugarCRM:

Warnings: Inbound Email cannot function without the IMAP c-client libraries enabled/compiled with the PHP module. Please contact your administrator to resolve this issue.

This definitely means that PHP is missing some mail libraries, but the message to compile PHP is kinda scary, isn’t it? Luckily, if you are using Ubuntu all you need to do is to issue an “apt-get” command and you are rolling. So here we go:

apt-get install php5-imap

This will install everything for you, make sure to restart PHP (restart Apache or the FastCGI).

Nginx, Apache, SSL and signed by an unknown certifying authority

We just moved a whole bunch of servers to a new hosting center and moved from CentOS to Ubuntu (server) and Apache to Nginx (more on this in a later blog post).

While we migrated mostly everything without problems we were confronted with the problem that our SSL certificate gave us an error message of the form:

“The certificate for this website was signed by an unknown certifying authority”

This was rather strange because the same certificate worked with Apache just fine. After some time and searching for a solution we found that we had to tell Nginx to use the SSL Chain file as well. The only problem is that Nginx does not have a explicit parameter like Apache has. In Apache the SSL config looks like this (we use a GoDaddy certificate):

SSLEngine On
SSLCertificateFile /etc/httpd/ssl/youcert.crt
SSLCertificateKeyFile /etc/httpd/ssl/yourkey.key
SSLCertificateChainFile /etc/httpd/ssl/gd_bundle.crt

Now, in order to get this working in Nginx you need to append the “gd_bundle.crt” to your crt file, which is quite simple with the following commands (do a backup of any files before doing this!):
cat gd_bundle.crt >> yourcert.crt

Then simply restart Ngnix and all is back to normal (but just really faster with Nginx then with anything else:-) ).

Syntactically invalid HELO argument(s)

Just been going trough a lot of reconfiguration lately and today finished configuring a new server. While testing the mail function we saw in the mail logs the following lines:

javax.mail.MessagingException - 501 Syntactically invalid HELO argument(s)

First we thought, it is the application server or sendmail/exim not being properly configured. But as we soon found out, one simply needs to have a valid hostname set for the server. In other words, this error is commonly caused by the hostname of the machine being wrong compared to what the mailserver expects. Java mail does a getHostName and uses that in the HELO.

And just in case you simply set your hostname with “hostname domain” it will not persist on the next reboot. In order to keep your new hostname you will need to change it in the hostname file itself, as in:

sudo  vi /etc/hostname

Do a reboot and all should be good.

Subversion: Switch to a new location

We just moved some of our subversion repositories to a new server and with it changed the URL’s. Now, in order to change any existing checkout version to grab updates from the new subversion server we issued the simple “switch” command from subversion as in:

svn sw svn://svn.domain.com/trunk .

The problem with this was that the system complained with:

svn: 'svn://svn.domain.com/trunk'
is not the same repository as
'svn://svn.newdomain.com/trunk'

The correct syntax to relocate any existing checkout copy is to use the “–relocate” switch as in:

svn sw --relocate svn://svn.domain.com/trunk svn://svn.newdomain.com/trunk 

And we are back in business…