Archive of August 2009

Of tools...

As you’ve all no doubt guessed I do a fair bit of software development, both as part of my Degree and for fun and occasionally for the advancement of open source (I realise most things I do aren’t exactly groundbreaking) and while I was thinking about that it occured to me that I seem to use a very different workflow than the rest of my classmates especially when it comes to Java development.

For my Java development I tend to rely on 3 pieces of software. Textmate, Ant and Versions and I honestly feel 1000 times more productive using these 3 tools that I do using an IDE.

Textmate

Textmate has become one of those tools that feels a little bit like an extra limb, its incredibly handy. (yes I made a funny) The Greatest thing about Textmate is that its LIGHTWEIGHT and doesn’t get in my way. Sure the toast of the computer science department is Eclipse but for me it feels like I’m dragging around 100 tonnes of crap whenever I try to do even the simplest task. Want to quickly write a single class test app? In Eclipse be prepared to send most of your time telling the IDE the most irritating minutia about the project you want to set up. Sure it does a lot of the hard work for you with its automatic creation of stubs and its creation of the getters and setters but do you really need all this? I can see the advantages in a large project and I do quite like its constant checking of the code your writing with the markers to tell you where you’ve gone wrong but I like to feel a certain amount of responsiveness when I’m writing code and even the smallest delay in the text appearing on the screen is enough to completely turn me off an IDE.

This is why Textmate feels like such a good fit, sure its missing the features I mentioned above but I can look past that because I only really care about my code and how it looks on the screen – I don’t need to see ALL the projects that are in the workspace because I’m only working on one at time. Textmate is also amazing extendible. Think of a of the most obscure language you can and I’ll bet you pounds to pennies that there is a module to support it that’s how awesome Textmate can be. And then these modules can be extended in anyway you want using snippets, macros and commands.

Ant

This one is fairly self explanatory if you understand the weaknesses of Textmate when it comes to Java. Basically Textmate has problems when compiling Java programs that contain packages and are packages so to get around this I use Ant to create a build script, place it in the root of the project then run it using a Textmate shortcut. In one fell swoop I have all my compilation, packaging, testing and Javadocing done. Like a small furry meerkat says on TV “Simples”.

Versions

This is the one tool that I use for EVERYTHING and I really do mean everything. I keep all my important busy work in folders on my desktop that are basically working copies of an SVN repository so a decent SVN client helps massively for when I’m trying to check it all into the repository. All my code and its resources, all my write ups and documents are kept in an SVN repository. All my write-ups use to be in Pages binaries (I’m a sucker for fullscreen editing…) but now I’m starting to transition everything to LaTex so I can run diff on them to see whats changed between check ins, so I can see where I’ve made a mess of things!

The other thing I’m starting to get more into now is objective-C development, this originally started with the TEC project, the feed of which you can see to the right but I’m starting to branch out slowly and I’ll be aiming to bring some of my own apps to the store soon enough. The obvious tool I use for this is Xcode. but unlike seemingly a lot of objective-c developers I again seem to have included a tool that most people haven’t even heard of – AnalysisTool.

AnalysisTool

AnalysisTool is basically just a simple wrapper for the Clang Static Analyser and what it does is to use static checking techniques to try and discover bugs, flaws and leaks in your program and let me say it does this incredibly well. In the TEC project I started with exactly zip all knowledge of objective-c and a very very basic understanding of its memory management model, this obviously lead to me being quite inefficient with the memory that I was assigning and was leaking all over the place. Step in AnalysisTool. One run of this tool was enough to show me some of the basic mistakes I was making like forgetting to release an allocated block of memory when I was finished with it. Using this cut my leaks from 10kb every 15 seconds to just 20 BYTES every 15 seconds. Now thats impressive…

But anyway these are just brief overviews of the tools that I use day in day out. And what a good waste of my time it was writing it.

Fri Aug 28 23:02:48 2009

And for my next trick...

As you may or may of not noticed I have recently completed the overhaul of this website, now instead of been a collection of hand-written php and CuteNews it is now all in Chyrp. This adds at least an extra 10% snaz to the site. Honest.

Anyway expect more from this little site because I’m bored. Oh so bored.

Thu Aug 27 13:22:42 2009

Bye bye Techspansion

As many of you will of now guessed Techspansion is no more – this means no more updates for Visualhub or Audialhub, I may or may not keep the tools I’ve made maintained that will depend on demand and the workload of university, and as far as I can tell there isn’t that much demand.

Personally I feel that Techspansion shutting its virtual doors is a sad thing, I always felt that it was a guardian against poor and shoddy audio/video conversion software and offered good humor in addition to just getting the job done.

Techspansion you’ll be missed…

Tue Aug 4 20:52:13 2009

Speaking of Chyrp

I’ve been playing with Chyrp for a little bit now and I find myself liking it more and more as I use it more.

The theme system is great, it allows you to do pretty much anything you could want, I’ve been slowly developing a new website for a club here in Durham (I’m trying to keep this project semi-secret so no more details till its done) that requires things that most clubs want, a gallery, a little bit to say whether or not a practice session is on, an easy way for someone to update pretty much anything without having to know, well anything, about html/coding and various other little bits like that.

Chyrp has allowed me to fly (no pun intended) with the development of the site, I’ve basically taken a template and heavily modified it to suit my needs, using nothing more than CSS and the tinniest bit of PHP.

I’ve written a custom gallery script with an upload page for users to easily add new pictures/galleries without having to use a database (its actually kind of cool and I may add it to my software page because there seems to be nothing else like it out there…) and I’m in the process of making a simple indicator as to whether or not a practice is on.

Anything needing admin privileges is remarkably easy to add, a simple if statement and you can only allow admin users to view certain elements on a page.

Basically Chyrp rocks your socks off

Tue Aug 4 20:50:52 2009

Waiting on chyrp

I’m quite bored tonight so I’d though I’d post a little update on here, although I promise its never going to become a full blown blog. I’m currently waiting Chyrp be updated with a flat file ability and for some enterprising soul to add a module that will enable chyrp posts to be imbedded in much the same way as cutenews (although keeping the various things in the left column would be nice) I’ve also been experimenting with having it in an iFrame but that isn’t the best of solutions mostly because its an iFrame (I have a hatred of frames, if I had my way they’d be rounded up and shot, then poisoned, then shot again and then finally thrown in a river encased in concrete)

I’m also in the process of writing a new piece of software for Visualhub that might just change the way that people use it – I just need to add a few features, some polish and I should have it out of the door, but at the moment its playing second fiddle to the rest of my obligations here at university so it maybe sometime in coming but watch this space!

Tue Aug 4 20:49:11 2009
Next → Page 1 of 2
Stack Overflow
My current happenings
Currently I'm working on my third year project where my research question is how do I provide the most relevant infomation to a user based on their current location, for this I'm investigating the use of Tag Vectors, global and personal tag clouds and clustering of users based upon their individual tags.