Monthly Archives: August 2007

Wellington – Lunch with geeks (21/08/2007)

Last week there was no lunch with geeks because of Tech Ed.  Naturally we started our session rehashing what we thought were the highlights of Tech Ed NZ.

In general everybody really liked the keynote by Lou Carbone and we were definitely not the only ones, mauricio has a more detailed post on the keynote.  Anyway it was really entertaining and educational at the same time, I couldn’t believe some of the things hotels do with towels and toilet rolls.  Designing for to trigger emotions instead of functionality would be the biggest lesson for me.
My favourite quote from tech ed would be something Jim Webber said during a session about Dynamic languages vs. Static languages:

If you polish a turd, your hands will be smelly but you will still have a turd.
(Jim Webber on wsdl)

After that we started the topic at hand: Vendor certification is it really worth it? - A topic suggested by Pablo Garcia from Provoke solutions.

The discussion was long but seemed to often get back to the same basic ideas. I’ll just summarize:

It’s worth it:

  • It’s worth it if you’re an intermediate or a junior developer and looking for a job
  • It’s a benchmark for people that have been in the industry for a long time to assure that they are still current.
  • it can be really useful for systems people

It’s not worth it:

  • A senior that has heaps of certifications and boasts about them => Mort alert
  • it doesn’t teach you any of the concepts behind problem solving and analysis, but focusses more on learning-by-heart
  • it often promotes less-than-best practices aka enterprise practices
  • it is in no way a guarantee that the person really knows his stuff it only proves he can memorize a bunch of things.
  • seen as software development is an art, exams are inappropriate because the grader needs to like your writing style before everything else.

The discussion went on about the benefit of a university training vs. the certification process and that seemed to go on forever. Some of the members of our group started recalling memories from when they were in uni and why exams were too subjective to effectively measure the skill of a student.

 

We did all agree that certification done by vendors isn’t the best way to go about it, and that it would be a much better idea if these certifications would be issued by some global, independent organization. That would immediately raise the credibility of these disciplines.

That was our session.

If forgot something please let me know :)

UPDATE: I added a link to Pablo’s blog http://blogs.provoke.co.nz/theengineroom

What’s your personality type ?

Through John Clegg I found out about a personality test on bbc.co.uk.

He has a more lengthy explanation on how he got there on his blog

Anyway I’m always interested in finding out which type of person I am etc. So I could not resist and took the test.
If you’re like me and just itching to find out more about yourself or you just have some time to spare you can take the test here http://www.bbc.co.uk/science/humanbody/mind/surveys/whatamilike/

Apparently I’m a Big Thinker 

The four aspects that make up this personality type are:

Spontaneous, Ideas, Heads and Extrovert

Summary of Big-Thinkers

  • Outspoken, ingenious and bored by routine
  • Think of themselves as talkative, curious and self-sufficient
  • May neglect the routine work required to make their plans successful

More about Big-Thinkers

Big Thinkers are always looking for the next big idea or opportunity. They’re adept at spotting trends and thinking on their feet. Big Thinkers like to jump in and find innovative solutions to complex problems and are good at developing strategies for the future.

Big Thinkers are usually curious, logical and energetic. This chatty group enjoys a good debate and asserting their opinions. Sometimes others may find the way they express their ideas too abrupt or challenging.

In situations where they can’t use their talents or are unappreciated, Big Thinkers may be rude, critical of others or rebellious. Under extreme stress, Big Thinkers can become preoccupied with unimportant details and lose sight of the ‘big picture’.

Big Thinkers may ignore important details in their plans and overlook the impact their ideas have on the people around them.

Big-Thinker Careers

The entrepreneurial spirit of the Big Thinkers often leads them to seek new challenges; this is often more important to them than working in a particular field or a specific career.

Disclaimer:

It’s important to remember that no survey can predict personality type with 100 percent accuracy. Experts say that we should use personality type to better understand ourselves and others, but shouldn’t feel restricted by our results.

 

 

del.icio.us tags:

Auckland Codecamp

The last codecamp was a huge success :D   We had lots of interesting speakers and I now know a lot more about the WCF service factory than I did before.

My session at codecamp was about Javascript best practices. I think it went pretty well judging by the reactions I got from some of the people in the audience.

I mentioned that I would put up my slides and the demo application

In the afternoon I did not stay at codecamp but instead went with Alex James and Nikhil Kothari to explore Auckland for a while.  During the exploration of Auckland we of course discussed some geeky things like Alex’s pet pieve : Data 2.0 and I could not resist talking about MVC and webforms with Nikhil, after all how often will I get the chance to talk to the architect of webforms face to face.

Anyway I’d like to construct a list of arguments in favor of MVC (eg. Castle/Monorail) and webforms.  So if you’re reading this blog and you have something you can contribute to this list please leave a comment.

So far I have : it’s easier to develop complex UI’s with an MVC type framework than it is with webforms. I’m more productive in the MVC framework than I am with the classic ASP.NET model.  The classic asp.net model promotes code duplication or at least makes it easier to fall into that trap.

 Nikhil has some valid points in defence of webforms:

Sooner or later you are going to need some state that’s why we have viewstate :) and you will typically maintain your own state in a hidden field. Webforms is a framework and you roll your own specific framework for every new site.  There is nothing you can with MVC that you can’t do with webforms. 

All his arguments are valid in my book.

I have to get back to teched now but as soon as I get some more time I’m sending Nikhil a very small project programmed in the MVC way and the same app in webforms.

 

Lunch with geeks (7/8/2007)

We had another geeks lunch on tuesday. We discussed a number of topics but focussed mainly on design patterns.

Some of the observations we made are the following.

The most overused design pattern : Singleton. With the remark that a singleton should only be used when you need to keep state in your object internally.

You shouldn’t care about design patterns until you figured out a couple yourself. This is a bit the chicken or the egg question because you would have to know the design patterns in order to know that you are using one.

Lot’s of programmers get by without the patterns although the solutions may not look as elegant.  Design patterns are in no way a silver bullet for creating quality software they just help you solve problems in a predictable way.

One of the ways suggested to start adopting these patterns is to write code that works first and then refactor it to use the patterns.

Next I’d like to list a bunch of resources/books that were mentioned during this discussion:

Thanks to Bevan Arps for this list of books:

Design Patterns (Gang of Four)
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
ISBN 0 204 63361 2

Refactoring – Improving the Design of Existing Code
Martin Fowler
ISBN 0 204 48567 2

Analysis Patters – Reusable Object Models
Martin Fowler
ISBN 0 201 89542 0

Refactoring to Patterns
Joshua Kerievsky
ISBN 0 321 21335 1

 

Ivan Towlson has put up a blog post listing the books that he remembered.

And here are some urls that hold some information on design patterns.

http://www.developer.com/design/article.php/1474561

http://www.dofactory.com/Patterns/Patterns.aspx

http://www.designpatternsfor.net/

 

 

del.icio.us tags:

Re: Monorail vs. Rails isn’t a meaningful question

Scott Bellware has put a post up with that exact title and this is my reply.

While I can understand that people are dissapointed in asp.NET webforms doesn’t mean you have to throw out the whole .NET framework.  As I stated before ever since I moved off of webforms with their viewstate i don’t get the wtf why isn’t this working moments anymore.

By now I have developped a number of small websites with managed content and a crm in RoR.  While I like RoR in my case it does not save me time as opposed to doing stuff with monorail for example.

I find active record to be quite constraining in some of the domain modelling i’d like to do. And the utter lack of proper tool support makes it quite a struggle to work with in my case. .NET has got visual studio which is an unparalleled IDE in my opinion.  I often don’t have to look at the code and only type the first 2 letters or simply press ctrl-shift-space.

While I do miss the fact that in ruby everything is essentially a hash and in .NET things are a little bit more complicated I like the fact that I get lots of stuff for free which require quite a bit of investigating in ruby. Applying the same things as I do in ruby that is I use quite a bit of reflection nowadays to set up some common properties if it is worth the trouble. If I have a smaller project i tend to just type stuff out. I don’t think in webapps reflection is too much of an overhead. Especially if you come from the ruby side of things.

One of the showstoppers for me is the fact that RoR has no proper support for the windows platform, getting it to use windows guid’s as primary keys for example isn’t too hard but again it’s not something you get out of the box.

Comparing .NET with a bazooka is going a little bit too far. I can see you can get infatuated by ruby but i don’t think that in it’s current state it is the greatest tool to build complex enterprisy apps in.  Deployment of a rails app is hell compared to deployment of a .NET app.  Yes you have to write less code but you have to write the full words and there is no contextual help or anything.

I’ve grown quite fond of Resharper over the last year and it is the first thing I install in visual studio when I rebuild my machine.

Monorail on the other hand does combine the best of both worlds.  It gives me the simplicity of the RoR (MVC) framework but also gives me the flexibility of the .NET framework.  Most components you get in .NET seem to have been written by people who take their job seriously and try to write proper software even if it’s open source.  Lots of things I have found in ruby seem to have been written by either students or people who have no clue about what they were doing. Almost 70% of the plugins feel like they are incomplete or just don’t do their job as expected. I dare you to find a good, full featured blogging platform in RoR (don’t tell me mephisto because where are my trackbacks, pingbacks, comment moderation, statistics and refferer information ?)

I have a natural dislike for people that shout really loud but the content doesn’t have the value of a person that really knows what they are doing and talks softly. The ruby community is full of them.

I’m not the first developper to have moved back to .NET and embraced monorail/castle and I bet I won’t be the last.

However with the advent of IronRuby I think my opinion on the subject may change because that hopefully implies that visual studio will get full support for Ruby and that will finally give me the chance to evaluate my productivity in both languages more objectively.  But as things stand currently I like the language of ruby a lot but I am a lot more productive in the c# world.

del.icio.us tags: