home::blog::wump
there are only 10 kinds of people in this world..

Thoughts on Agile Software Development

Posted by Keith Wed, 30 Jul 2008 18:02:00 GMT

Agile? Love it. Much talk about agile is how it helps deliver things to the client, but I want to talk about how it fits into work habits.

I think in layers

I like to sneak up on the end solution in stages, and agile works with that just fine. I’m also more of a “beginning” person who gets lost a little in the “middle” and sometimes finds it hard to say “finished”, so the definition of tight stories, each of which has it’s own start, middle and end works well.

I race to the finish

Iterations allow me to pull that race-to-the-finish energy out of somewhere. That’s a good thing. Typically I personally do about 50% of the work in the last 33% of the available time, so when the available time is 90 days, the last 30 are miserable. Breaking the project up into iterations has really made life better, and the overall project less stress free. If you are “plodder” this may mean nothing - but for us who for some reason leave everything until the last minute, the more last minutes there are in a project the better.

I like ticking boxes

Although I DON’T like writing stories, test cases and tasks, I DO like ticking a box that says “Done”. It feels good, especially in a team environment.

I don’t like the available tools

Now the not so great news. In my current project, what worked really well was sticky notes, and paper stuck on the wall - but it’s hard to deliver status reports from that to a client. We have a company account for an agile online tool, and eventually the job of maintaining paper and this system became too much. To a certain extent, the visibility of the big picture of the project, and that at-a-glance notion of how things were going was lost.

What I want from a tool is:

  • Visibility
  • Ease of use
  • Minimalism
  • Layers of functionality - so I can pick and choose how deep I want to go

.. so I’m going to build it.


Looking for a good Rails blog app?

Posted by Keith Sun, 11 May 2008 18:34:00 GMT

Yeah, me too. This blog is typo, but to be honest, I’m not a big fan.

Here’s the problem.. I don’t really want a “rails application” at all - what I want is to be able to add blog features to my current applications.

With the need for mongrels et all, what I really think we need is either:

1) An application that you can point multiple domains to, e.g. blog.domain1.com, blog.domain2.com etc. that can be a single install / application with a single environment that is multi-purpose.

2) A blog plugin, that works off a single controller for admin, and a single controller for view that can be thrown into any rails application.

I’ve been working on 2, and it’s turning out pretty well, but at this point it’s too application specific to throw out to the open source community. The focus is on simple simple simple and seo seo seo.

What started off as a standalone project, has now been integrated into Billabill here.

Features include:

  • SEO: Independent control of stub, title, H1 and tags
  • SEO: Blog title displayed as H1 or H2 depending on context
  • SEO: Blog summary used as full article teaser reused as meta description
  • Full page caching with a very simple cache clearing mechanism
  • Routing setup so that categories become root directory for posting
  • Category stored with a post - no separate table. There’s really no need

It can do more than you can see at Billabill, but I’m not using everything, e.g. the ability for any post to be tagged as a header, footer or sidebar menu item.. Again, features on the front without any extra complexity.

What it would need to be great though is:

  • Simple THREADED comments with subscription.. why are blog comments linear!
  • RSS - 10 minute job, but I haven’t done it yet
  • A parsing engine to allow you to easily include links to other internal pages
  • A parsing engine to include flickr content etc.

Anyhoo. If I get a chance I’ll try to bundle this up and turn it into a plugin because I really think that is the answer.. just like you can add a WordPress blog to any php site, you should be able to add a rails blog alongside any rails app.


How to install MYSQLCC in Ubuntu Hardy Heron (when you get sick of Navicat)

Posted by Keith Tue, 06 May 2008 03:32:00 GMT

No offense, but I’m tired of Navicat and Emerald not playing well together. I used to be a big fan, I have a paid license, and I think the feature set is unequal, but if a tool I need every day doesn’t work every day, then I have to move on.

Why use a GUI Mysql tool?

In every other way I’m a command line junky. The idea of finding / creating / updating things in a mysql table using the mysql command line does not appeal to me AT ALL though. No way, in this scenario visibility is king.

GUI Mysql Tools like mysqlcc and navicat vs myphpadmin

Myphpadmin is a very popular tool for managing mysql settings and data. The difference between it and tools like mysqlcc and navicat are that mysqladmin is a php application that sits on the server.

The advantage of this is that by default, your mysql database will allow connections from “localhost” so you can throw mysqladmin up there and login. Locally installed tools however need an extra step, that you may or may not want to take, and that is that you have to tell mysql to ALLOW access to certain IP addresses. If you always work from the same place, and your IP address is fairly static, then that’s not a big deal. If you roam the earth though, you may have to open up ANY IP address and that’s a bad idea.

Allowing those IPs can be done through the nomal control panels like plesk or cpanel or using the mysql command line ( as root ).. Google it.

Why mysqlcc?

After giving up on Navicat, I looked around alot and eventually found mysqlcc. It’s OOOOLD but it’s great. In many ways not as good as Navicat, but in some even better - like the way a view has a mysql header at the top that you can modify to filter down results.. nice.

It’s very easy to install in Ubuntu ( tested under 32 and 64 bits from 7.04 to 8.04 ) even though it’s an old project, and not in the repositories.

The steps are basically:

1) Get the rpm install file 2) Convert it to a deb using alien 3) Install

The RPM

Download the appropriate RPM from here here. Select the 386 or amd64 version depending on your install.

Convert it to a .deb file

In a terminal,

sudo apt-get install alien

cd [directory where the rpm file is]

alien mysql*.rpm

sudo dpkg -i mysqlcc*.deb

You’re done. To launch type “mysqlcc” in a terminal or create an icon. If you think it looks old and clunky, well you’re right - but just go to Options > Themes and select “Plastik” and you have a very modern looking look and feel that will match your install very well.


How did I afford Windows?

Posted by Keith Sat, 03 May 2008 19:06:00 GMT

I’m not yer “Have laptop, am good to go” kind of guy so I have multiple systems, of which one is a laptop for travel.

How did I afford that attitude when I was a windows user, or how much would switching to a Mac cost me? Lots! As a business owner I never used pirated software and had a license for every instance of every install I had. Because of that I was an early adoptor of things like Open Office, even on the PC, because I wasn’t going to shell out for more than one instance of Office.

I have 5 systems.

  • Primary home office Dual monitor Ubuntu Desktop
  • Primary outside office Dual monitor Ubuntu Desktop
  • Ubuntu box in the home theatre room
  • Ubuntu Laptop
  • Old G4 to sync my iPhone to

Total software costs in the last 2 years? I bought a sync tool for my Mac to do two way sync between the iPhone and Google Calendar - and if I wanted my USB webcam to work with iChat I’d have to spend some more - but that’s another story.

Focusing on the systems that I use day in, day out - nothing is what I pay, with no compromises. Kick ass, hardcore business systems with interface features I couldn’t get anywhere else. Wow.

How do you like them apples?


Older posts: 1 2