1. April 2011 19:57
A piece of advise that is often given to developers who want to keep improving, is to learn a new programming language every year. I mostly think it holds true if you try to learn a new paradigme – because just learning new syntax won’t really get you anywhere.
One way of learning a new language is of course to buy a book or two, and start reading and doing some samples and small applications. Another way of going about it is to try some of the koans, interactive interpreters and introductory guides that can be found online.
9. March 2011 18:37
One might think that the title of this blogpost is due to the fact that this summer I will be turning 30.
However it is actually a task I have been looking into, that could also be phrased as: I wish to build a REST based service, what are my options? With REST gaining in popularity I think this a question that a number of developers are asking themselves these days.
First of all what is REST? REST is about staying true to the HTTP protocol, and using it to communicate between a client and a server - as opposed to SOAP. To parafrase from Wikipedia being RESTful is about using URIs, HTTP verbs and mediatypes as the means to communicate using a traditional request/response model.
3. March 2011 16:28
For some time I have heard good things about git and mercurial, but just never got around to really looking at it. So when I had last week off I finally got around to doing more than just cloning a repository from github or bitbucket. Basically what I needed was some easy way of doing source control for my pet projects, so either would no doubt get the job done.
My focus ended up being mostly on git simply simply because I often run into github when I read about open source projects that I find interesting. Another thing I had in the back of my head was that I could take a look at appharbor - which I hear about a lot on twitter. That being said I did read the Hg Init tutorial, just to get a feel of the differences between the two. As it turnes out they are very similar, so it will probably be the integration with github, bitbucket, heroku and so on that will decide for me in each case. More...
9. February 2011 13:36
Lately I have heard quite a few people mention the Sinatra framework, which is a very light-weight webframework for Ruby. Already being fond of Ruby I decided to take a look at Sinatra, so I could see what all the fuss was about.
Right off the bat I decided to install Ruby instead of going with IronRuby like I had done so far. Sadly I am not feeling too secure about the future of IronRuby, since Microsoft stopped investing in it - but of course I really hope that it will continue to go foreward as open source. Because of this insecurity and because of basic curiosity I decided to to “pure Ruby”. After all getting started is just running the installer you can download from ruby-lang.
12. January 2011 16:01
Lately I have had the chance to work with Silverlight, which suits me just fine since I am looking to get my hands on a HTC Mozart, and start building some apps. I was already in the process of reading Silverlight 4 in Action, so it all seems to come together at the moment.
Diving in I have been looking at bindings, which in turn made me look at the MVVM pattern and in the end Caliburn Micro. Anyway, I am getting ahead of myself, because what I want to write about today is how bindings work in Silverlight.
30. December 2010 17:41
The last thing I will compare in this round of Battle of the ORM’s is how NHibernate and the Entity Framework handle persistence. So first of all I want to vent one of my pet peeves, which is the myth of persistence ignorence.
Persistence ignorence is a term used to describe a persistence mecanism that does not contaminate the domain model and hence the business logic. This means that the model can be ignorent of how it is stored and not contain detals about the datastore. I think this a very important design goal to strive for, however actually obtaining true ignorence is a myth and something no ORM is even close to achieving.
14. December 2010 17:59
This week I went with two colleagues to get certified in using the PreCom framework, which is developed by Pocket Mobile. So we spent two days at Vertica office in Ballerup, learning about the API and how to install and configure a PDA to run PreCom.
What is PreCom?
The PreCom framework consists of 5 building blocks on top of the Compact Framework. In decending order of importance they are: communication, storage, updates , logging and hardware.
9. December 2010 21:25
Today the 9th of December I spend the day in Copenhagen attending the sitecore partner seminar as well as a technical deep dive of sitecore’s e-commerce offerings. We just recently became partners, so we were interested in what the roadmap is as well as what the commerce modules offer.
First part - should have worn a tie
The partner seminar started with a "what’s new and cool" segment. As usual these things are targeted towards sales people, so as a developer I thought it was very superficial and all about shiny features and buzzwords to be honest. What I did take away from it was that there is done quite a bit of work on streamlining and performance. To be fair I missed the first part because my train was delayed - big surprise for DSB that it has been snowing apparently.
Online Marketing Suite or OMS is the module everyone likes to talk about at these things, and it will be enhanced with a number of wizards and a dashboard, as well as marketing automation designers written in Silverlight. This seemed very nice, and will help in multichannel orchestration, which is increasingly important these days.
The "Massive" data architecture was the last big thing that was talked about. The idea is that data is moved into Azure data storage where the key-value nature of the database is abstracted away by a LINQ based API that sitecore will provide. This will include the possibility to do transactional publishing and it will be backward compatible, so existing solutions can be moved. A big focus was web 3.0 and the semantic web – basically being able to associate meaning to relationships.
I warned you - it is very superficial and what is really behind these words I can only guess about until I get my hands dirty.
8. December 2010 15:52
In the previous Battle of the ORM's post I looked at setting up and configuring NHibernate and Entity Framework. So the next step is to get down to business and look at querying - the most important part of an ORM.
Gimme gimme gimme
First I need to address that the Entity Framework CTP5 has been released. This means that some more features have been added, which you can read about on Scott Guthries blog. Besides that there are some classes that have been renamed, which actually makes my last post mildly obsolete already. The renaming means that the Database class now is called DbDatabase – apparently redundancy is the new black – and that the databaseinitializer classes are called CreateDatabaseIfNotExists, DropCreateDatabaseAlways and DropCreateDatabaseIfModelChanges.
These days most developers use LINQ, myself included, but a very common issue is that not all LINQ implementations are created equal. Actually the reason I started this whole comparison project, was because I have been using an NHibernate 2.x, where LINQ to NHibernate was a seperate project - and suffice to say I have had my share of fights with it. Now it has been "baked in", and it has taken a pretty big leap forward.
2. December 2010 09:37
Following up on my last post and on reading NHibernate 3.0 Cookbook I decided to download the latest NHibernate bits (v. 3 CR1), and do a comparison to Microsofts Entity Framework. More...
NHibernate and Entity Framework are what most developers reguard as the top Object Relational Mappers out there. So looking at how they stack up is pretty important in order to be able to choose the right ORM for a given project.