Archive for the ‘software’ Category

Xobni – Smart guys get paid!

Sunday, April 20th, 2008

It looks like the smart guys at Xobni are getting their dues. Microsoft have a letter of intent ready to buy them up.
If you haven’t used Xobni, it’s really something that should have been in Outlook from the start. It offers great views of who and what you exchange email with, letting you quickly find ‘that file they sent you yesterday’, related contacts and threads. A very useful tool and a new look at that pile in your Inbox.

via Techcrunch

New Year, new start

Sunday, January 13th, 2008

In the true tradition of ringing out the changes with the new year, I’ve decide on a few changes myself. I’m separating the blogging stuff I do for myself (because my memory is sooo bad!) from the work that interest me.

So from today, I’ve launched a new site MinimalSoftware. Check out the blog
too.

The rest of my bizarre ramblings will stay here!

Good advice for API builders

Friday, July 13th, 2007

Writing an api is hard there’s no doubt, ACM have a good article with some best practice rules to follow.

  • focus on the caller.
  • Why throwing exceptions is a good thing
  • Document before you implement
  • It’s always hard building one and deciding who your target audience is. Obviously once you’ve built in the problem is deciding when to stop refactoring and polishing it ;-)

    Building APIs

    Using the Swing Application Framework

    Tuesday, July 10th, 2007

    I wrote a while ago about JSR-296. Well, John O’Connor has put up a new article on using it Using the Swing App Framework and provides a real example showing the lifecycle, session management, resource bundles and how a project gets organised. There’s even a demo app to keep you going…

    Continuous Integration…It’s just common sense

    Friday, June 22nd, 2007

    Why don’t people get it? I find it frustrating that some people still don’t see the need for it. You end up discovering things sooner rather than later, you build better quality code. Because when you find something wrong you fix it and hopefully write a test for it so it never happens again! You simply reduce the risk of change, which is so important in iterative development.

    Anyway – enough of me ranting, here’s an excerpt from what looks like a good book on it, from the same series as Martin Folwer’s series on patterns continuous integration just makes sense

    JRuby, Understanding the fuss…

    Friday, May 25th, 2007

    JRuby – Understanding the fuss

    Some background, Ruby is a dynamically typed, pure OO language. It’s open source, pretty easy to write and fairly powerful. A couple of deficiencies being addressed in the current 2.0 effort include green threads and unicode support.

    Everything in Ruby is an object, dynamically typed, though strongly typed. However, type is less important than behaviour:

    Duck typing, runtime exceptions (sounds scary, but rarely happen – I’m waiting to be convinced!).
    Mixin modules allow you to include additional behaviour e.g. class Circle include ShapeStuff.

    Blocks are nameless functions you can pass and invoke to remove repetitive code.

    Well, that’s my version of Ruby in a very small nutshell, now onto JRuby – a Java implementation oof Ruby.

    JRuby, gives you easy integration with Java libraries, and you can call to Ruby from Java via JSR-223, and use Java classes from Ruby.

    include Java
    import javax.swing.JFrame

    Now you can script Java.

    JRuby offers a rapid MVC framework, and prefers convention over configuration.

    So why do Java users want it?

    - easy to learn
    - less code
    - features missing from Java (closures, open classes, literals for Arrays and duck typing)

    It’s a better language for tying libraries together, and you can easily create domain specific languages (DSLs)to wrap libraries.

    There’s also JRuby on Rails for Java developers, much less rails code than Java application config, and simple CRUD apps in minutes.

    Am I sold? Not yet…then again I am biased. There’s more on DSL’s latter this week.

    James Gosling, the Semantic Web, and a dog feeder.

    Friday, May 25th, 2007

    No T-shirt hurling machines this year, which is a shame.

    Three main themes as teasers, Netbeans, Semantic Web and SPOT.

    Firstly, from the community itself, there’s now a PDF Netbeans magazine on the community website, looks good, useful articles, and the right price :-)

    Then we had Henry Story and Tim Boudreau, on making the semantic web dog simple (there’s a dog theme here, we’ll get to it soon).

    Quick Recap:
    URI – Identifies a resource e.g. documents, people,concepts

    REST – REpresentational State Transfer. Things to remember, a resource can return any number of representations, representation can be cached on the Internet, and REST describes the architectural style of the web.

    Consider a database table, at the intersection of a row and column, there is a value with a name. In this instance the relationship is local not universal, therefore we need to turn all these relations into URI’s like relation, subject, object (aka triples).

    One of the added benefits here is that because we use URI’s, we can click on them to follow the object, and what that is giving us is self describing metadata about objects.

    With it so far? Well, that’s the basics, and coincidently these, subject, relation/property, objects are how RDF, the Resource Description Framework classifies things.

    And these are at the heart of the Semantic Web. The semantic web, requires structured data, and people don’t like creating structure, but many of the tools we already use create structures

    - blog engines like MovableType
    - Social networking sites (FOAF)
    - Open Source project sites

    At the heart of it, is a simple scheme, based on URIs, delivered on a scalable simple mechanism (REST), using RDF which can’t have any less than a subject-relation-object, and it’s clickable.

    They gave an example of a scheme for describing projects (project, homepage, license etc.) DOAP (description of a project).

    Finally, Bob Beasly showing off a rich client app he’d built, and he’s a non-techie, using the visual web pack. Well, I thought I’d seen it all….No, he’s built a webapp he can use to remotely control a PC that he uses to train his dog. He clicks buttons to re-play WAV files to command the dog to sit etc. then click another button to reward the dog ‘Sadie’.All watched via webcam. Well the reward mechanism uses a SunSpot device (see http://www.sunspotworld.com), to activate a chute that delivers a doggie treat.

    Good to see the most expensive dog feeder on the planet.

    Publishing via ROME

    Wednesday, April 11th, 2007

    I just found a potentially useful API for Andrew’s RSS Goodness Publishing Project Acta Diurana

    Propono libraries for web publishing via the IETF Atom Publishing Protocol (APP) and the XML-RPC based MetaWeblog API.

    Sounds interesting – from the overview:

    • Atom Publishing Protocol (APP) client library, which makes it easy for your Java client and server applications to interact with APP services.
    • Atom Publishing Protocol server framework, which makes it possible for you to add APP server capabilties to your Java web applications.
    • Atom Publishing Protocol file-server sample: a simple file-based APP implementation that stores Atom entries and associated media files in a directory strcuture within your webapp’s context directory.
    • Blog Client library, which makes it easy for your Java client and server applications interact with blog servers that support either MetaWeblog API or APP.

    Can’t wait to find an excuse to try it myself. It’s even given me ideas for some new project – think Growl ;-)

    Fact: Developing software is hard…

    Sunday, March 25th, 2007

    It’s indisputable, and as an industry we’re still in the toddler phase of learning. By which, I mean we bumble around, repeat our mistakes (even when they hurt), and then fail to learn, which for me is the most disappointing part.

    I read a great post this morning by Andres Taylor – his top ten things that ten years of professional software development has taught him. It’s great incite, and makes me wince reading it (4 -yes, 5 yes and yes again, 8 .. and on). Top 10 tips for software development