December 7th 2005 sees the regional launch of VS 2005, and related tools, in Edinburgh. If you're interested you'd better scoot along to
the site and sign up as places are going fast.
Following on from what I said
here and what Eric said
here, I've written a little Python application to calculate your target heart rate for easy, anaerobic threshold and VO2 max training zones. You can download the script, which will run under Windows or Linux, from
here.
I may work in the C# world, but I love Smalltalk -
this is why
For a while now I've been thinking about a platform agnostic, scalable architecture. An architecture that I could use to create a solution that would run, unchanged, on most - if not all - platforms, but at the same time would be scalable to enterprise level. After a bit of thought this is what I've come up with.
The RDBMS for the back-end is the easiest to solve. So long as you use standard SQL, and none of the home-brewed stuff in T-SQL say, then you can pretty much swap out the RDBMS for your own favourite platform database. Oracle on *nix or Sql Server on Microsoft for instance.
For the business logic tier I went for a
RESTful api using ansi C++. This way the same source can be compiled into .cgi files to run on *nix servers or Microsoft servers. It also means it's easy to plug in any sort of presentation layer whether you need a desktop application running on Windows XP or a web enabled application running on Firefox on *nix.
Lastly, for the presentation layer I went for
Smalltalk (another win for
James Robertson). Smalltalk is binary compatible on almost any platform you can think of and you can also use
.ssp pages if you have to write web applications. It's easy to use, and being a dynamic language it enables the programmer to be super productive. I suppose, in fairness, I could have used Java here, but it just introduces a level of complexity that removes the programmer from the solution by at least one degree. So to my mind Smalltalk is a clear winner here. (Also the
Mono project is maturing fast and is one to watch in this area)
As for scalability, you can have all this running on one machine (say a Smalltalk application under Fedora Core desktop, running the RESTful api under Apache writing to a MySql database). Just as easily though, you could have 1,000s of users accessing a web application written in Smalltalk Server Pages, talking to the RESTful api on an Apache web farm, writing to a Sql Server database cluster. (Note, you do need a third pary ODBC bridge to connect the Apache .cgi to a Sql Server database.) So yeah, I think we've got scalability sorted out.
If you have a business problem that could benefit from a platform agnostic, scalable solution, why not
contact us?