Making a demo login with restful_authentication

In order for someone to give The Project (Min Packning) a try it was required to register an account and provide a valid e-mail address. This is an obstacle, so I wanted to add a way for people to try the service without registering. It was actually very easy. I created a demo user account, added a demo method to SessionsController and added suitable routing. Now visiting www.minpackning.se/demo will give a logged in session as the demo user.

In app/controllers/sessions_controller.rb:

  def demo
    params[:login] = 'demologin'
    params[:password] = 'demopassword'
    create
  end

In config/routes.rb:

  map.demo '/demo', :controller => 'sessions', :action => 'demo'

MidaSync

Today I reinstated a proper web site on the domain for my project MidaSync. Quoting from the single page:

MidaSync is a project, or collection or projects, for seamless connection between Microsoft Windows Mobile devices and Open Source operating systems.

Further development of MidaSync is currently postponed indefinitely.

I hope to revive it some day, in one way or another, but that will probably not happen for quite a while.

Project prioritization – Inspect and Adapt!

I try to avoid telling myself that I don’t have time for this or that. The truth is that it comes down to how I prioritize those things. I naturally try to put family and work first, but I also make room for my own projects and ideas. Some projects only take a few hours, others linger for a long time.

For example, I would like to register the really neat domain name and aggregate blogs on a certain topic connected to the domain name. I have promised myself (and my visitors!) to make a price database for my energy drink site. I have barely started working on my so called Holiday Project. I have not finished the support for tags on my site Folkmun. I would need to polish my Instant Messaging to RSS system Esagila a bit. There are other projects that are postponed indefinitely. All in all, I really shouldn’t bother thinking of new projects right now.

This blog is another project. I could have been working on any of the above instead of writing this blog post! It’s all about what I give priority to, and I’m not always good at choosing. I probably need to Inspect and Adapt, as done in Scrum. Speaking of Scrum, maybe I should create a product backlog for my projects?

Creating an Atom feed from a web page

Most of my time at the computer yesterday was spent working on an unofficial syndication of the broadcast archive for the Swedish radio show P3 Rytm. It’s actually quite simple… 🙂

  1. Use curl to download the web page broadcast archive for the show
  2. Use iconv to convert the page to UTF-8
  3. Use tidy to convert HTML to XHTML
  4. Use sed to adjust some URLs
  5. Use xsltproc and an XSLT script to transform the relevant parts of the web page to an XML that almost is an Atom feed
  6. Use sed to convert the dates in the XML so they are in the right format. It’s now a proper Atom feed.

Update Of course there are several online services to automate this. (Read the comments too.)

Good domain names are hard to find

As the The Project is a web site, I had to look around quite a while for suitable domain names. Many of my desired names were already taken, but IIRC none of them was actually used for something. Some are probably a case of domain name speculation, some may be registered by people with a project idea similar to mine. I found and registered a .se domain but I couldn’t find a good .com domain available.

Maybe .com and .se domain names are too cheap, so people buy them at a whim? I have another idea for a neat domain name that could contain a useful web site, requiring the .im TLD. The Isle of Man does not sell their domain names cheap! One year is £40, two years £68 — not including VAT! That’s actually not a lot of money, but when making web sites for fun like I do, you don’t get much revenue.

I’ve found two really good competing sites for the original use I intended for the .im domain name. If I get it I need to broaden the scope, but that might not necessarily be a bad thing. Most websites on related topics usually have really lousy web design, so even I could make something better! I have some ideas but when will I have time to realize them?

The humble beginnings of The Project

Yesterday and today I took some time to work on The Project. (Tomorrow I’m back at work, so much for a holiday project.) I tossed aside requirements on a strictly Swedish interface, so the controller names are in English and I don’t use Ola Bini‘s Swedish Rails yet. Honestly I haven’t done any TDD/BDD yet either. The excuse I tell myself that I only cannot learn everything at the same time.

I lookup things in the Rails 1.2 book but as I’m using Rails 2 I’m browsing the web quite a bit too. One very useful resource I’ve found so far is Akita’s tutorial. So far I have restful_authentication working (from the restful_authentication gem), a “welcome” controller and two domain-specific models. I’m working on two related controllers.

A few words about using an activation step when registering a new user. I started out with the Restful_authentication & Activation instructions but I thought that having a HOST global variable was really silly so I found the retardase_inhibitor plugin and now I can properly generate URLs in the ActionMailer.

I want to read “Peopleware” again

Bruce Eckel recommends Peopleware — Productive Projects and Teams (by Tom DeMarco and Timothy Lister) in his recent weblog entry The Mythical 5%. When I ordered a bunch of book recently I was thinking of including both The Mythical Man-Month by Frederick Brooks and Peopleware, but I didn’t. It is probably a good idea to read both of them again as I haven’t read them for five years or so and I’m trying to be one of those 5% mentioned by Bruce Eckel…

I have plenty to read anyway though, and yesterday I spent some time on my latest project. I want to use Rails 2.0 but I keep Googling and reading pages like Rails 2 Upgrade Notes a lot when things don’t work exactly as they did in previous versions. A complicating issue is that the web interface for my project will be in Swedish so I will give my controllers Swedish names, but I want English names in the database so it will either be a kind of mix under the hood or I’ll use set_table_name in the models. I hope that Swedish Rails can help me out a bit!