Justin du Coeur (jducoeur) wrote,
Justin du Coeur

First Slice of Cake finished

This month has been a somewhat tough one emotionally. This is largely because, about four weeks after I started, I now have a program that prints, "Hello, Mark Waks!" (plus, as of this morning, the last time I logged in).

Mind, I haven't exactly been quiet for the past month. The program:
  • Uses Apache Tomcat to serve that string out via a servlet;

  • Has a JSON-based Ajax interface to allow the static webpage to fetch the data from the servlet;

  • Integrates the MooTools Javascript toolkit to signal when the page is ready (and will use it for lots of UI shortly);

  • Runs inside of Facebook as an application, and fetches the user's data via the Facebook APIs;

  • Uses Hiberate to generate all of the data-manipulation code, and to talk to a MySQL database on the back end;

  • Implements the Ecology pattern that I'm so fond of as a program-lifecycle and discovery model, and has a bunch of specialty classes to make JSON and Hibernate and such all play together nice and transparently, and allows me to extend the program API trivially;

  • and has automated functional tests that use Selenium to open the browser, navigate through FB to the app, and check the results. (No unit tests, admittedly, but that's intentional -- I've always focused more on functional tests than unit tests.)
So basically, I have a program that does nothing -- but does it *really* well.

This is all more or less according to plan. One of the precepts of at least some forms of Agile Development is the "slice of cake" model. You do your work in slices, and each is pretty thin, representing just a single bit of functionality, but each slice should cut all the way across the system, doing it all correctly. That first slice is always the hardest, because it requires you to set up the bulk of your infrastructure. With that done, it becomes much easier to add each feature as a proper little increment.

Realistically, I knew this was all going to take a while. I've never even touched most of those technologies before, so there has been a great deal of self-education in the past month, to get to the point where I can get each one up and running. It's taken about a week longer than intended, mostly because the documentation for this stack is rather less well-organized than the Microsoft stuff I'm used to. (And yes, that comment is as scathing as it sounds, but it's probably inevitable given how much open source I'm using here.)

None of which makes me any more content about having so little to show for a month's work. But with any luck, by the end of next month I'll have made quite a lot more progress...
Tags: programming, work
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded