Declarative web services (2)

Posted by Patrice Neff Mon, 26 May 2008

On Friday I posted an idea about declarative web services which had been growing for a while.

As luck would have it today we had a hack day at local.ch, so I got to spend a workday on that idea. I got positive feedback from my co-workers, so I have now published the skeleton on github. The project is called “servicegen” for now – no nice name has come up yet. ;-)

See the README on github for information about the ideas.

Declarative web services

Posted by Patrice Neff Fri, 23 May 2008

I’ve been developing a lot of web services lately. I usually do this with Okapi and web.py.

Somehow the tasks for creating a web service are always more or less the same.

  • Specify URL schema
  • Validate input parameters
  • Request data: either from a database or from at least one other web service
  • Identify output format using URL or HTTP headers
  • Output data in the correct format

And I think that even web.py doesn’t do a good enough job of making this easy and really fast.

I’m starting to think that a DSL might be the correct way to that. The only project I know which partially does that is ActiveWebService from the Ruby on Rails project.

I just hacked together two very simple prototypes of how such service specification could look. I’m interested in two things:

  • Does something like that exist already?
  • Is it a stupid idea?

See my two examples derived from real services I developed inside local.ch:

  • Meteo – providing weather forecast data which is written regularly into a database (by a process not defined here).
  • Wintersport – a service providing information about skiing locations based on data from MySwitzerland

Translating Web applications for the Swiss market

Posted by Patrice Neff Sat, 25 Mar 2006

When I create a new Web application I usually try to implement translation right from the start. For example as the Swiss blogosphere has four significant languages, I translated both the blog list and the Swiss weblog statistics. The list is available in English, German and French (thanks to Jérôme for the French translation!) and the Stats are available in German and English so far. I'd like both applications to be translated into more languages. And potentially other future applications as well.

So I'm proposing a simple small "project": a contact point for translators. I want to collect some addresses of people who are willing to provide translations for free - for free applications of course. This would be used only for projects in the Swiss blogosphere (blogug.ch for example or swissblogs.com once that rock starts rolling again).

If you are willing and able to provide translations between German, English, Italian or French (pick two or more ;-) please contact me with a list of your languages and I'll note you. I'll just keep you in my personal address book, so your name and address won't be made public. And I won't spam you, honest!

If you need a translation, also contact me and I will forward your project to everyone who has announced willingness to translate between the required languages.

There is no commitment for the translators. So they can decide every time if they have time for that translation or not.

That's basically a braindump of an idea I just had. So what do you think? Is the idea sensible or complete rubbish?

Career advice 1 - Learn English

Posted by Patrice Neff Mon, 20 Mar 2006

(Dieser Artikel steht auch auf Deutsch zur Verfügung).

As I wrote a bit more than a week ago, I am giving out a few tips how you can improve your chances in the tech job market. This is mostly targeted to people who are currently in their apprenticeship or maybe at university. I'm far too young an inexperience to know a lot about such things. But I have a few ideas and those I'll voice. Also I have dealt quite a bit with interns and know which ones I would employe and which ones I wouldn't.

So my first tip: Learn English.

A lot of technical documentation is only available in English, especially for new technologies. Books are a case in point. Just look at the books available from O'Reilly in English and in German. Most German ones come out in English first and are only translated to Germany months later - if at all. So, learn to read English.

If you want to participate on some software or technology, you will probably subscribe to a mailing list or newsgroup. Again, most of those are in English and where German and English are available, the English list is usually of better quality. So, also learn to write English.

And last but not least, you may have to communicate to people over the phone or may want to participate at a conference. For example the Caron Workshops are easily accessible from Switzerland. So, learn to understand and speak English.

But how do you start improving your English? Most Swiss my age already studied English at school. So the basic knowledge is in place. To improve reading, just start to read English. Pick up some book that you already have read in German. I started to read John Grisham's books a few years ago for exactly that reason. You may also want to follow some English weblogs or mailing lists. To improve your understanding, you may subscribe to some English podcasts.