Fiddling with feeds
Wednesday, May 31st, 2006I’m currently playing around with Feedburner to track my RSS feed because I can’t use Google Analytics to do that. So I’ve redirected all the feeds to it. Let me know if this breaks anyone’s feed reader.
[ Miles Barr ]
I’m currently playing around with Feedburner to track my RSS feed because I can’t use Google Analytics to do that. So I’ve redirected all the feeds to it. Let me know if this breaks anyone’s feed reader.
I’ve been using Google Calendar for a few weeks now. It’s a great piece of software, and the first computer based calendar that has stopped me from updating my paper diary. If you haven’t tried it yet, check it out.
Here are some tips from Google’s new Visual Design Lead, who I believe has some input into Google Calendar.
Another tool worth checking out is GCalSync, which can synchronise your Google Calendar with your phone’s calendar. It’s still early days, but it imported most of my events, but it did struggle with the reoccurring ones. If they get this working well, that signals the end of my paper diary!
It looks like the guys at Linspire (formally Lindows) are using Haskell as their main language for OS development:
At Linspire, our choices have been OCaml and Haskell. David Fox wrote the hardware detector in OCaml and is now porting it to Haskell. Jeremy Shaw has been doing various utilities in Haskell for several years. Sean Meiners recently wrote an application for managing his recipe collection and is now hooked. I am porting our CD build procedure from OCaml to Haskell.
I wonder if this is the start of a renaissance period for functional languages.
I’ve been on holiday for the past week and had no access to a computer, let alone Internet access. I wanted to check my email so I figured I’d give the three email clients I previously tried a more serious test. Pegasus was the one I tried first. It connected to my mail server, which was better than last time, but it just managed to show me the directory structure of my IMAP inbox. It failed to show me any messages. I tried it on a few other occassions but it failed every time, so it was soon deleted.
Next up was Movamail. Once configured Movamail is a nice mail client, it’s quick and can display a lot on the screen. It also has the additional benefit of preprocessing your emails to strip out irrelevant information and sending them as a compressed batch to ease those high GPRS costs. Writing email is also a pleasant enough experience, with the client taking advantage of the phone’s predictive text editor. It also builds up an addressbook of people you send to, but it doesn’t tie into the phone’s address book, which in the K750’s case, has space for email addresses. There were downsides that did spoil the experience:
It’s that’s last point that really killed Movamail for me. I really don’t need my email client sending out private messages to whomever. Even after my testing showed it was a one off I refused to use Movamail to send emails, and used the K750’s built in email client instead. Movamail did prove to be a very good email reader, but for $29.99/year, I’d like a program I could be confident to send mail with too.
Their website appears to have been setup once and been left, i.e. there’s no information on active development, unlike Pegasus, which has a blog. I will report the problem to Movamail at the support address on their site.
One other gripe with Movamail is the amateurish feel of their operation. There’s no company information on their website, and payments are done through PayPal. As far as I can tell they are backed by Tehāma Ventures Inc. so at a guess I’d say it’s mostly programmers at this point and the company still needs to be fleshed out.
A more long term problem is lack of a decent SSL setup with my email account. I changed passwords when I got back to be on the safe side. I guess one possible setup is, before I go on holiday, start forwarding my email to another address, e.g. gmail, then download from their server, which should have a proper SSL setup that will work with phone clients.
I’ll have to see how these two clients evolve. Movamail has it’s problems, but it worked in the field. These upcoming Pegasus features sound like it’ll match Movamail:
PUSH Email (Only available in PRO version): PUSH messaging. Let email finds you, you never have to poll your mail server again.
Streaming Email™ (Only available in PRO version) Patented Mail-Download-on-Demand feature saves cost on data usage and delivers the fastest mobile mail experience.
but I’ll have to get it to read my email first! I have no trips planned for a while so let’s hope both can improve in the meantime.
I’ve wanted to add some sort of analysis package to my site for a while. My preferences were Google Analytics and Measure Map (also purchased by Google. Unfortunately both are invitation only. I looked at Mint, but with all the free stuff out there, I’m too cheap to fork out $30 a site. I never managed to succeed registering with Performancing. There were a few other things on my radar, but none of that matters now because I just received an invitation to Google Analytics.
Once I get it setup I’ll finally get a chance to see what Simon and David read. Then I can cater my posts to their tastes or I could write a few inflammatory posts about Rails to get some other readers.
For a while now I’ve been thinking about learning a functional language (XSLT excluded). I was always fond of Haskell at university, but it seems to be an academic language without many ‘real world’ uses. The other obvious choice would be Common Lisp, but the syntax really puts me off. Another one that caught my eye is Erlang because I’m doing some distributed programming at the moment, but the only book on Amazon costs 50 quid, which dampened my interest.
Today I came across a language called Scala. Strictly speaking it isn’t a functional language, it’s a hybrid of OO and functional.
Scala is object-orientedScala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Class abstractions are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.Scala is functionalScala is also a functional language in the sense that every function is a value. Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. Scala’s case classes and its built-in support for pattern matching model algebraic types used in many functional programming languages.
But a lot of these features also exist in Ruby, another language I’ve been playing with. So why does Scala peak my interest? It runs on the JVM and can use all the existing Java class libraries. This means I could use it on my projects at work, i.e. something reasonable complex. The most I’ve pushed Ruby is to do some processing for a web site, hardly rocket science, and it’s foreign enough I couldn’t just start using it at work.
A JVM compatible language with higher order functions, mixins, operator overloading, built-in XML processing…I don’t think I’ve been this excited by a programming language for quite some time.
I’m posting this while sitting on a train from Brighton to London using T-Mobile HotSpot. To be honest I’m quite amazed, it’s a pretty decent Internet connection. I had tried it before but never managed to get it to work, but this time it just did. It makes me wonder if they always have it on or not.
I just signed up for 60 minutes, which is pretty expensive at £5, but for the regular commuter there are more reasonable monthly packages.
Now all I need is a London wide wifi network and I’ll be happy.
Matt Cutts has done a nice write up of Google’s Press Day, including a lot of the Q&A.
One thing that caught my eye is Google Co-op. It appears to be Google’s take on expert/topic/vertical search. The principle is that you subscribe to a topic and you tag your results. Their ‘tag’ is known as a ‘label’ and an ‘annotation’ is matching a label to a web page or set of web pages. People can then subscribe to you to see your tagging for a given topic. Rather than having to find the best taggers yourself, there is a directory that finds them for you. Who is a ‘good’ tagger and hence gets displayed in the directory is automated rather than having manual editors. It’ll be interesting to see how this type of vertical search works out compared to systems such as Swicki, who rely on personalisation a lot more than just bulk tagging.
I thought I sorted out my problems with my sites needing Rails 1.0 by configuring them to use specific versions of the required gems. But this was short lived, the other day my sites just stopped working. I reported the problem to DreamHost and after a couple days they told me I was trying to use a version of a gem that wasn’t available. The various gems and the versions needed are:
| rails | 1.0.0 | 1.1.0 |
| activerecord | 1.13.2 | 1.14.0 |
| actionpack | 1.11.2 | 1.12.0 |
| actionmailer | 1.1.5 | 1.2.0 |
| activesupport | 1.2.5 | 1.3.0 |
| actionwebservice | 1.0.0 | 1.1.0 |
I had setup my environment.rb file to lock the gems to the versions needed for Rails 1.0.0, this got around the problems with the Rails 1.1 upgrade. So what went wrong? DreamHost uninstalled activerecord 1.13.2, 1.14.0 doesn’t work with Rails 1.0. “Aha!” I hear a lot of you say, “you should have run rake freezegems“, which is in fact what I did to get everything working again, but I do have an issue with it. By running freezegems you’re copying the libraries into your application, so for each app you need a complete copy of Rails. That’s a pretty old school way of doing things, we’ve had shared libraries for a long time now.
But space is not my major concern, my first one is minor bug fixes. If there’s a bug, or more likely a security issue, there should be a compatible version of the library released with the fix. This minor upgrade should continue working with my application without me doing anything, if you copy the library into your app you don’t get this benefit. The other issue is that by copying Rails into your application it doesn’t matter if your host has Rails installed since you’re using your own copy. All those gems that DreamHost installs? Absolutely useless. I install them on my laptop, do a rake freezegems and copy the whole lot over. On a related note by uninstalling activerecord 1.13.2 I couldn’t have done freezegems on the host, I had to do it locally.
This is such an unsustainable (I could say ‘doesn’t scale’ but I know how bothered people get with that phrase
) way of managing libraries. Sure it’s fine for my two applications, but what happens if you have ten, or a hundred? Each time a new version of a gem is released you need to go to each one of them and do a ‘rake freeze_gems’. If your host doesn’t install the complete set of versions you need, then you need to do it somewhere else and copy everything over, madness!
T-Mobile now has an add on called web ‘n’ walk, which gives you unlimited Internet access from your phone. The prices on their site are bundled with phone controls, but George Wright has got the actual prices. £ 7.50 if you don’t use your phone as a modem, £10 if you do. A lot more reasonable than Vodafone’s £2.35 per megabyte! Shame my contract doesn’t run out until the end of the year. At least Sony Ericsson’s K800 will be out by then and should be down to a reasonable price.
Another bargain is their Web’n'Walk Professional, which is a 3G data card with unlimited access (2GB fair use limit), and they chuck in 12 months free access with their T-Mobile HotSpot wireless network (it’s all over London) for £19.99 a month. Very tempting.
I think my ideal setup would be a 3G phone with unlimited access that I could use as a modem with my laptop as well as access to their HotSpot network. Then mobile Internet access could actually become a reality.