Archive for November, 2007

I’ve been incredibly busy at work again and instead of writing something coherent I’ll just dump my brain in this post. I’ve also developed a very severe case of Nerd ADD.

Earlier this week I hit a snag in my Project Server/Navision integration, lets just say that portions of Project Server’s web service isn’t documented very well. I wasted a lot of time trying to figure out researching exactly which functionality the Time Sheet web service exposes; it wasn’t until I found an example on Christophe Fiessinger’s Blog that I finally figured out what I wanted.

Working with Project Server has gotten me excited about programming languages again and I want to learn C# 3.0 and Ruby– C# has gone through some major changes, they’ve added extensions which are similar to Ruby mixins, lambda expressions and anonymous variables, it’s a completely different language now, much more flexible, much less like Java and much more like Ruby.

Tenerife Skunkworks, a Erlang blog has peaked my interest in Erlang and day trading in general. In my former life I was a quant in training and a software developer working on an algorithmic trading platform. Algorithmic trading is resource intensive and our system distributed ‘jobs’ over several computers to manage the processor load, looking back I wish I programmed the core of the system in Erlang instead of C++. That’s hindsight for you. I’d like to get back to my ‘roots’ and work with financial systems again, maybe the FIX protocol or a trading simulator or platform, I should spend some time searching for open source projects that I could get involved in.

I finally got around to installing an evaluation copy of Resharper– I’m disappointed, maybe my expectations were too high, or I haven’t had enough time to use it– while it’s an improvement over the default VS 2005’s interface it still falls behind Eclipse’s refactoring code generation. Does anyone have any Resharper tips for me?

Definitely a severe case of Nerd ADD.

A state of emergency has been declared in Pakistan, the country’s constitution has been suspended, all news channels including the foreign news outlets BBC, CNN, Sky News and Al-Jazeera except the state run PTV are off air.

Edit: Under the Provisional Constitution Order the following articles have been suspended: 9, 10, 15,16,17,19 and 25. These articles include the following rights:

  • Security of person
  • Safeguards as to arrest and detention
  • Freedom of movement, etc.
  • Freedom of assembly
  • Freedom of association
  • Freedom of speech, etc.
  • Equality of citizens

Ben’s arguing in favor of fluent interfaces and higher levels of abstraction and I completely agree with him, working at higher levels of abstraction makes your more productive and DSLs play an important role in problem abstraction.

The trend seems quiet obvious, programming languages are headed towards higher levels of abstraction and specialization, SQL is a perfect example of a high level language that is designed for a specific task. It has a specific purpose, retrieve data from relational databases and it does it well. New languages will cater to a specific domain, some languages will focus on UI development while others may help you create work flows easier.

As developers we should embrace tools that help make our work easier. Having several tools (languages) at your disposal can make solving a complex problem easy, if the language is designed with that problem in mind. Ben mentioned Erlang, a langauge which provides a better solution to concurrent programming problems. Erlang is designed to take advantage of multi-cores; you as a software developer want to create applications which use multi-core cpu fully; currently, it is quite difficult to create such an application Java/C#/Ruby/Python.

As Ben says, don’t fear the abstractions!

Search