April 2007

Monthly Archive

Cool SDK

Posted by Yannis Lionis on 18 Apr 2007 | Tagged as: Software

I’ve always been excited about being able write programs that do “cool” things. In my first encounter with programming (in GW-Basic, laugh if you must), I was delighted to find I could manipulate the PC Beep, and started reproducing tunes with it (hey, I was young). Later on I had fun sending emails from my code, playing with text-to-speech, etc. So I had loads of fun working on the Web21c SDK project at BT.

The idea of this project is to give developers inside and outside the company easy access to BT’s capabilities. And when I say easy I mean one line of code.

Every time I hear about “one-line-of-code” magic, I immediately think “so what hoops do I need to jump through before I can write and execute that one line of code?”. So here are the hoops. You need to download the SDK flavour of your choice (there’s .NET, Java, PHP and Python so far). You need to register on the Web21c SDK portal and download your (free) private certificate. That’s it. Not that many hoops really.

What the Web21c SDK does for you, is give you easy access to the services through the library (hence one line of code to do things), and take care of all the security between you and the services (point it to your certificate and it will do all the digital signing for you). If on the other hand you feel like hitting the web services directly, you can do that too (although the digital signing bit won’t be easy).

So you can, for example, write (in Java-land):

com.bt.sdk.sms.Messaging sms = new com.bt.sdk.sms.Messaging();
sms.send(”Hello from the Web21c SDK.”,”mobile_number”);

And you get an sms.

As you’ll see on the website, you can send sms, set up a phone call or a conference call to any phone number in the world. You can also get the location of a mobile device (although that currently only works for BT issued mobiles in the UK), plus a few other services.

You can register and try it out for free (daily usage limits apply), and when the services are released in their live production environment (which should be any time soon), you can build your application on top of them, either as something for yourself or your business, either as a sellable application.

With all these services (and more to come) so easily available, there’s so many different services you could do, especially if you combine them. You could locate your friends, and send an sms to the ones close to you with the address of the nearest pub that offers a happy hour offer. You could send an sms to all responsible parties and set up a conference call between them the second a server or service in your company goes down. You could pick and choose as you want.

Now, I think that’s something cool to be able to do from your code!

Let’s not restart

Posted by Yannis Lionis on 13 Apr 2007 | Tagged as: Software

I was reading Steve Yegge’s post on how most software written today is crap and particularly his point about how rebooting is dying. It got me thinking about how easily we accept things that don’t work properly in the software world. “Let’s just reboot the machine and it will be fine”. “Let’s just restart the program and it will be ok”.

Well, let’s not. It’s bad. Or rather, since we’re all using loads of software other people have written and don’t have a choice, let’s at least try to make the software we can influence better.

I’ve found myself guilty of this in one form or other in many occasions. But it screams of bad design or bad implementation. An application or process that crashes and needs a restart means it got itself in an illegal state, or it’s leaking memory. A test suite that needs to be restarted from the top a couples of times in order to pass means it doesn’t clean up properly. Just like we wouldn’t tolerate a car that stops working and needs to be stopped and restarted, this should be unacceptable.

So I think we should get out of the habit of accepting restarting as normal procedure. Software development may be a relatively new trade, which might explain the existence and acceptance of such bad practices. But let’s try and get it out of our systems.



DateReminder v1.2

Posted by Yannis Lionis on 12 Apr 2007 | Tagged as: Software


One day I got tired of forgetting birthdays and important dates and the few web based applications I tried out for that just didn’t do it for me. So I went and built my own.
Yes, I know there are loads out there, both web based and standalone apps. But I still decided to write it myself because

  • building software is what I do. You wouldn’t be surprised if a carpenter chose to make his own coffee table instead of buying one from IKEA, would you? Granted, they might not build all of their furniture themselves (just like I’m using someone else’s operating system :-)), but anything you can scrape the time for to do yourself is a pleasure
  • this one has some features I didn’t find anywhere else


So what’s so good about it?

Here’s what I’ve put in that makes a whole load of difference to me:

  • Nameday support. (A nameday is the day of the celebration of the Saint whose name you have, i.e. on St. George’s day it’s the nameday of everyone called George. In Greece, it’s almost as big as your birthday, so you get one more excuse in the year to celebrate!)
  • Multiple reminders. For some dates, I just want a reminder on the day so I remember to send an sms to someone. For others, I may want an earlier reminder to buy a gift. Or both. So this has as many reminders as I want, fully configurable per case, while I can still have a hassle-free default.
  • Reminders on Friday for the weekend. I don’t always turn my home computer on in the weekend. I run this on my work PC, and get the weekend’s reminders on Friday.


If you want to give it a try

Here it is: DateReminder v1.2. Leave a comment to tell me what you like or hate about it.

Up and running!

Posted by Yannis Lionis on 07 Apr 2007 | Tagged as: General

The site and blog are finally online!

It was all quite painless. Registering the domain name from papaki.gr was straightforward, as was activating the free hosting (although all the emails went to my spam folder, which didn’t do much to speed things up). Getting hosting from tophost.gr (same company as the domain registrar I believe) was also easy (and great value for money as well). After that, configuring and installing the database and blogging software was a piece of cake through their control panel.

So far so good!