Thursday, May 29, 2008
VSX
None of the problems stem from Iron python, just from the VSX installation.
You would think after years of releasing software M$ could get it right.
You have to download the VS Shell extensions (vs_AppEnvRedist.exe). you then have to install the application(?!?) (vs_shell_isolated.enu) which may install the .net frameworks that are required (this is good!), then you can install the IronPythonStudio, which installs fine.
Why could the VSX installation be one step? Click on the exe and it installs, cleans up the crap left scattered through my c: drive and then let me know we are good to go!
Not a big issue, but one that should not even exists.
Anyway IronPython is going to get a little tyre kicking now ;)
Another IoC Container?!?!
Castle is currently my preferred option of the above as I find it easy to use and config, and when needed it has a couple of bonus features.
However there is another kid on the block, which I felt was probably coming.
You see most of the useable IoC container have a fair bit of bloat. Most of the time I just want to be able to say something like:
IFoo foo = Container.GetInstance
That is it, Really! I don't care about all of the other stuff that goes on, I basically just want a glorified factory that can handle constructor and setter injection. 80% of the time, that is all I care about.
It just seems to be odd to have a huge framework hanging around, especially on smaller projects just to aid in loose coupling.
Well I guess there are others thinking the same thing, enter Ninject.
Light weight, simple syntax, no bloat and apparently pretty fast.
Check it out if you want DI without all the bells and whistles that you will probably never use.
Wednesday, May 28, 2008
Still not unit testing?
Firstly: there is a new site up called DimeCasts.net that shows 10 minute crash courses on a given subject. So far the first bunch is really good, they hover around the 10 minute mark and are covering NUnit. So if you have not done any unit testing or want some reinforcement that how you are tackling TDD is correct, check DimeCasts out.
Secondly; BDD
As I work on a several side projects I come to realise how beneficial DDD, your Ubiquitous Language and BDD can be.
My "at work" project is so badly organised, especially in terms of communicating business ideas to code, these concepts could have saved the project. Its a subtle mind shift but a beneficial one. The biggest thing I see is the barriers DDD removes. It becomes less Us vs Them (i.e. Code Monkeys vs Suits) and much more about correctly defining the problems at hand and putting into a language that fits all intend audiences. BDD is not really a new way of think but again a subtle refinement of the DD practices and honing the language. I am going to pushing forward with these concepts with a pretty large scale project I may be tackling solo (initially). The business owners are completely non technical and are still fleshing the finer points of the business. To me these more agile practices should be a perfect fit for the on coming workload. :)
I may even venture into the BDD frameworks that support the processes
Friday, May 23, 2008
Bill Poole's SOA Blog
Unfortunately I did not actually get to work on any projects with Bill in my time at CC, but had contact at the dev meeting and social events. Fortunately the rest of the crew I worked with were of an outstanding calibre so I was learning form pretty much everyone I worked with anyway, it really was a great company.
Anyway, I have been reading Bill's blog over the last few months, and I must say it is one of the best SOA blogs I currently read. I enjoy Udi's insights but sometimes they are a bit too high level and abstract for me to really take anything away. Bill tends to use more concrete examples, while still keeping it general enough for the masses to absorb.
So check out Bill's blog if services, architecture and SOA in general interest you, I am sure you will be impressed.
Keep up the good writing Bill. :)
Thursday, May 22, 2008
TDD Wisdom
"So far, the best (most easily maintainable, most adaptive, most flexible) designs I've ever created were ones done with tests in mind. IMHO, tests are your first and best customer of your API and expose design smells quickly.
So please don’t dismiss 'testability' so easily as some secondary, ancillary concern because it's one of the best ways to flesh out potential problems in your design, rather than giving up and masking it by lifting the CLR's skirt and messing around in order to test your code."
So wise... like a miniature Buddha covered in hair...
Having a web presence
If the blog does not enable comments then there is no easy way of me to contact these guys.
I suppose there are a few level of anonymity:
No web presence: Does not know the net is ;)
No public web presence: No active blog, web site etc
Public and un-contactable: Possibly a blog or old posts on a mailing list archive with an invalid email address.
Public: Real details easily found. Usually these people also have an active blog or some sort of regular contact to the rest of the world.
Now I understand having a public profile takes effort. It can in fact be a hassle as you have a website or blog your have to maintain; you open yourself up to spam and other unwanted attention. However recently I have been meeting some very interesting and sometimes infamous people and I am genuinely surprised how many of them have
A) no really public presence such as a web site, a LinkedIn profile, Twitter account or even an active Blog
B) Or a web site that just sucks. I sometimes think none is better than crap, as Dad used to say “Do it properly or don’t do it all!”.
I do not consider my self a pioneer of the IT world nor someone that has any real public following, but was surprised how many people from the Alt.net community knew who I was (even if by my RhysC handle). If any of those guys wanted to find out details about me, I would like to think it would be pretty easy, and a few of them have. This is a good thing! I am a contractor! I want people to be able to find out about me, and when they do see my web site, I don’t want them to think. “Geee.. that sucks!”
So this is me laying it out, to you as a IT geek, sort it out! Especially if you are a contractor or a high profile senior IT employee. Get an online profile. Share with the world your thoughts. You didn’t get where you are by being a dumb ass, people may actually want to hear your thoughts, contact you, offer you a job… who knows
NOTE: oh yeah, my UK company is FullStack
and the Aussie company i work with is ArtemisWest. AW does need a bit of polish, however we have had some big things happen in personal lives so work goes on the back burner... we work to live, not the other way around!
Wednesday, May 21, 2008
SOA on a larger scale
http://udidahan.weblogs.us/2008/05/21/nservicebus-performance/
Where are my Visual Stuido templates?
As i install new stuff all the time, mainly just to kick the tyres, it is hard to point the finger at anything in particular...so iwont, either way it has pissed me off.
Any way if you find you have this issue:
devenv /installvstemplates
is the command to get you back on track.
This seems to happen when new templates have been added (ie you have added a new framework, just as a .net upgrade, or new test framwork etc
Tuesday, May 20, 2008
Python... the beginning
So I bought me a Python book and download Python*. That was all pretty painless.
The book is so far pretty good, well written, no junk I don’t care about and to the point.
The language seems pretty easy to pick up.. kinda fits with the “convention over config” line of thoughts with its white space approach… I guess if we are going to have white space why not make it part of the language?
Its scripty and OO-ish.. I can already see where this will fit into my development plans, and can see where Ayende has gone with Boo. These languages are great for file/text manipulation especially on the fly.
One mistake I made was paying for the book... well not really, it was cheap and I can read it on the tube, but for those who don’t like paying for stuff the latest version of Dive Into Python can be found here
Also if you are a CLR junkie then have a look at IronPython
2.0 should be released soon, till then I’ll stick with the correct release version of 1.1.1 (for now)
*IronPython... not real Python ;)
Monday, May 19, 2008
New strings to the bow...
For awhile now I have been umming and arrghing and generally weighing whether to learn a dynamic styled language and which one to learn… Well I have been fluffing around for too long.
I am going to learn Python (OMG not ruby!).
Why:
- It is supported on the CLR/DLR
- It is similar in syntax to Boo
- I want to learn Boo and be able to follow Ayendes post of DSLs
- Ayende uses Boo and he is smarter than me. I try to follow people that are leaders in their fields.
- I want a language to manipulate text that is better than c# or xslt… K
So time to get off my bum and do it. Any book recommendations?
Thursday, May 1, 2008
Time to Refactor
With the use of generics and properly implemented interfaces this has been pretty much completely removed from one of our projects… my question is why was it there in the first place?