Archive for October, 2007
Write your own Skype license agreement
Whilst installing the latest version of Skype on my Mac a few days ago I noticed something very unusual.
The text of the end user license agreement was editable.
Being that software companies claim these are legally binding agreements between them and the user perhaps I now own the rights to Skype after my little creative writing ;-)
Which would make me a rich man indeed, the cakes are on me!
[)amien
Moving home
I have been planning on moving my blog off my little Windows Shuttle PC at home onto a hosted service for some time and the latest flurry of activity followed by DSL line meltdown was enough to give me the nudge I needed to get the job done.
Rob Conery provided a useful .NET/Subsonic app to make the transition from Subtext about as painless as possible bar the obvious one of going with a PHP based solution when I know .NET is a better technology.
I simply felt the .NET blogging engines didn’t give me what I want right now and yes, I know I should be contributing to them to get them where I want them but I’m just so busy on various projects that if I was coding a blog in the evenings I wouldn’t be writing on it. Hopefully the great, and no doubt equally busy, guys behind those engines will forgive my little foray into WordPress for a while.
The non-blog parts of the web site (yes, there are some, with downloads, fonts, cursors, little tools and a mini-biography) will be integrated with the site shortly and the theme will probably gradually change to something more me. I also want to add a few extra things, the tag cloud and identicons for a start.
The title of this post also has a second meaning… yes, I’ve put an offer in on a house and will hopefully be taking possession in around 6 weeks providing nothing goes wrong.
Your invite to the house warming party will be in the post…
[)amien
Apology for the odd theme and sluggish speed
I’ve switched to a lightweight theme (300KB less per initial hit) whilst we are overloaded with requests from the excellent Daring Fireball regarding the font rendering philosophies post.
I’ve tried moving some images off site but it’s just typical this happens the week before I move to proper hosting. My poor home DSL line is melting!
Update
Things have calmed down and through a combination of moving images off-site, switching theme and enabling gzip compression for .js and .css the site has survived despite being overloaded at times through lack of bandwidth (CPU and RAM were just fine)
I’ll leave the theme as it is for now in case we get a second wave – the hits appear to come in waves as different time-zones hit different parts of their wake-up, get-to-work and get-home cycles.
The 60 day old post has now had 20,000 hits – about 19,500 of them within the last 24 hours. Slicing and dicing the stats in SQL reveal that my blog has been running for 977 days, consists of 263 blog posts averaging one post every 3.5 days. It has received 1239,51 hits in that time, a sixth of which were in the last 24 hours.
It’s amazing for so many people to read something I have written but as analytics is already pointing out fame is fleeting.
Here’s hoping a few of them decided to add me to their news reader :)
[)amien
Envy Code R preview #6 released with Visual Studio italics
A newer version of Envy Code R is available.
The last few days have been frantic ones putting the final touches to the next release of the Envy Code R typeface as I bring it closer to my idea of the perfect coding font.
Many glyphs have been redrawn, curves improved and a many additional characters and symbols added bringing the number of glyphs to 461 – enough to cover common European and US code pages including Windows/ISO 1250 & 1252 as well as MacOS Roman and a few others.
There was some interest in a bold variant and so once that was done I felt the urge to make an italic one too:

Phew!
As a bonus I’ve created a variant that overcomes Visual Studio’s aversion to italics by marking the italic font as bold. Choose ‘Envy Code R VS’ in the Font and Colors part of Visual Studio’s Options and choose bold wherever you want italics.
Here’s a sample at 10 point/ClearType with my own color scheme:

Yummy.
A few things to note:
- The new glyphs for accented characters, ligatures etc. might not be correct, they’re new to me
- Bitmaps are missing so if you don’t use smoothing/anti-aliasing/ClearType stick to the prior PR4 release
- Optimal size: Windows 10 point, Java 13 point and Mac OS X 12.5 point but looks good at larger sizes too
- Some glyphs will be improved (96?&) but others can’t (WwMm@) as there are no more pixels to play with
- At some sizes individual letters aren’t the right height, e.g. u,v,x at 12 point (damn hinting)
Download of this older version no longer available.
Feel free to leave comments and suggestions here (or better yet blog about it!)
[)amien
Investigating MonoRail
Fighting WinForms
I hate fighting with a technology to get it to do what I want because it means I either have the wrong expectation or wrong technology.
With web development I expect strict web standard support and clean code that is easy to maintain.
I am, therefore, tired of fighting with WebForms and seeing as I’m not prepared to change my expectation then the technology must change.
Looking at MonoRail
Ruby on Rails is very fast, elegant and powerful but comes with a bunch of unknowns. The IDE’s I’ve tried have been so-so, there is no support for IntelliSense so I’m forced to remember exact property and method names. There are concerns about performance and scalability and I find the Ruby language itself cryptic.
My current .NET environment has all these things, so what I’m really looking for is an alternative to the WebForms element itself. It also has a powerful framework, tons of samples, and C# is not only enjoyable but very in-demand :)
MonoRail seems to be just what I am looking for but there are a number of things keeping me away. I decided to spend an hour watching a screen cast on WinForms and MonoRail from Ayende @ Rahien’s blog. It calmed some concerns but raised a few others…
NHibernate mapping files
NHibernate provides the core ORM system within MonoRail and normally requires XML mapping files to do so.
I really don’t want or need another abstraction layer here – my tables are freshly modeled and represent my domain classes very well. Rails, Subsonic and LINQ to SQL are all happy to just do it/
Thankfully a project called ActiveWriter gives you a very LINQ to SQL-like experience in dragging tables off, changing names and properties if you want and doing the magic for you.
ActiveRecord template
I still don’t like this mix of static and instance methods providing some sort of split between what should really be two classes but I can live with it.
There is also a Repository<T> option mentioned which perhaps solves this, I shall have to investigate it further.
View engines
There are a number of view engines available for MonoRail but the primary ones are NVelocity and Brail.
As I already have C# and JavaScript in my project and I have no desire to add another language unless there is a good reason to do so. If they want to stop people writing too much view code then what is wrong with a subset of C#?
The template engines also mean giving up strong typing (everything is passed to the view in a type-less property bag accessed with a string key!) and a complete lack of IntelliSense (the demo stalls as fields are mistyped on occasion proving just how useful this is).
HTML injection
Yes, in this day and age HTML injection should be a long-dead concern and yet even the built in SmartGridComponent will happily squirt out data without encoding it and thus allowing data from anywhere to contain HTML ready to be injected into an unsuspecting page.
Ayende has investigated the issue now and is working on getting a fix into the tree.
[)amien