London Calling

Ramblings of a software architect in London.

Personal

Sending E-Mails (the longer than usual story)

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

Very interesting article (fewer and farther between unfortunately these days) from Jeff Atwood about some of their experiences with building Stack Overflow and sending out mails and having them actually arrive! Quite pertinent as I’m currently working in a similar area.

Essentially, firstly send mail from your client to: check-auth@verifier.port25.com and get a free report on basically what you’re missing from your setup. You can do this over and over again to get a picture for how you’re progressing.

Obviously the article goes into detail, but in summary:

1. Make sure the computer sending the email has a Reverse PTR record

2. Configure DomainKeys Identified Mail in your DNS and code

3. Set up a SenderID record in your DNS

Basically they are all a combination of adding the correct TXT and PTR records to your domain names, as well as generating a public/private key pair, signing your mails with the private one and making the public part available via DNS.

They use a commercial piece of software called Mailbee.NET to do the signing work, but this is possible using good old SmtpClient with something like this: http://tinisles.blogspot.com/2009/09/sending-dkim-email-from-c.html.

Not production code by any stretch of the imagination, and some of the work he does to build a CN and do the actual signing could be done using the built-in BCL classes but you get the picture. I’ll post again when I have this working.

ASP.NET MVC vs. Ruby on Rails

http://anders.janmyr.com/2010/04/aspnet-mvc-vs-rails3.html

Quite an interesting article on this, if extremely biased towards RoR.

A few salient points:

  • RoR is entirely command line based, ASP MVC is obviously more tied to Visual Studio (although I would debate that as you could do everything by command line, ms build and notepad)
  • Very similar in all basic respects.
  • No analysis of more important and “edgy” factors such as model binding (ASP MVC is very good at this) and validation frameworks.
  • I’m still jealous in some respects of RoR DB migrations – I wonder if there is a .NET based port of this going anywhere? I should lend a hand if so.
  • Routing is a tie, both good.
  • Pretty much parity beyond that (at least as far as the article is concerned).

iTunes 9 Live Playlists and “limit” options

More for my own reference really, but this might be useful to others – certainly been driving me mad enough over the last few weeks!

I’ve got an iTouch 64Gb and have previously been synching it with iTunes 8.x without issue, but on upgrade to 9, all of my “most played”, “most recently added” etc playlists suddenly show random tracks (on the handset only).

This is down to the issues described at: http://discussions.info.apple.com/thread.jspa?threadID=2227108&tstart=1.

Basically, to cut a long story short, you need to add this option to each playlist with a “limit” set:

image

Re-sync and voila, life is sane again. That said the performance and literary of niggly bugs with iTunes (as well as the heavy handed updater) is getting on my nerves. Roll on Windows Mobile 7!

First Post…

Huge immense cliche I know but this is the first post to my new blog, the last one of which died an awful horrible stagnating death!

I hope to be concentrating on C# / ASP.NET / architecture tips and snippets that will hopefully come in useful to people and also as a place for me to store things that I might not otherwise remember myself!