Skip to content

Archive for the 'Developing Software' Category

Running Rails with FastCGI on IIS

Posted in Ruby on Rails

With a little help from Mike Volodarksy’s tutorial I’m up and running with RubyOnRails using a native FastCGI implementation. This is a big deal because it’ll mean that Microsoft will provide a supported way of running Rails applications. In addition, PHP applications will be able to run with greater performance and reliability thanks to the work that Zend and other PHP devs have put into improving their Windows story.

This is a good job since I’m doing more work with these open source technologies at the moment since Microsoft have done little to improve the ASP.NET platform. For .NET developers, MonoRail is the only usable framework for development. Additions such as ASP.NET AJAX do little to make the platform better for the applications I am working on. The problem with AJAX is that it’s not an end in itself. You need to have a reason to use it and a design to match, or you end up on the road to poor performance and usability.

RailsConf Review

Posted in Developing Software, Ruby on Rails

My RailsConf photos on FlickrIt�s just over a week since I returned from the First International Rails Conference in Chicago and I’ve had some time to reflect on my experiences and put a few photos online. This was the first open source conference I have attended and it was a truly enlightening experience. I had the pleasure of meeting some very interesting people from Mike Bailey to Dave Thomas and Martin Fowler.

The crowd at RailsConf was very different from that at Microsoft events which I have regularly attended in recent years. This was refreshing but also a challenge as I’m not a UNIX guru by any means. It’s clear that there is little interest in the community to actively support Windows and provide a bridge for .NET developers to migrate. This schism is something that the veterans like Dave Thomas are looking to cross as there is a lot of time and effort invested in other technologies. DHH’s keynote address railed against support of XML Web Services and legacy database schemas. It will be interesting to see if ThoughtWorks, or another vendor, will step up and provide more support for working with enterprise technologies.

Deployment seemed to be a hot topic for all users at the conference and it was interesting to see the capabilities with Rails. Mike Clark’s talk on Capistrano was wonderfully presented. The simplicity of being able to pull together a build system which integrates source control and remote deployment was amazing. This is something that is sorely missed in the .NET community and could probably be built on top of NAnt in a less elegant way than Capistrano.

Jan Kneschke provided an interesting insight into building a Web server to handle a massive number of connections. His Web server, LightTPD, was popular with the Rails community due to its FastCGI implementation but now has competition from Mongrel. He’s planning on improving the mod_proxy support so that “Lighty” will work with Mongrel in a similar way to Apache.

On the final day of the conference, Stuart Holloway of Relevance, and former Java junkie at DevelopMentor, provides an insight into some of the Ruby techniques used by the Rails team. Stuart has spent a lot of time going through the Rails internals to figure out what the Rails core team has done to provide such cool functionality. Since I haven’t spent too much time with Ruby a lot of this was very deep, but the explanation of analogues in the Java world helped a lot. This talk provided me with a lot of food for thought and is the reason I signed up for RailsConf.

If you are interested in other sessions I attended, I’ve posted my incomplete notes for download.

Regards the venue, facilities, and catering I think that the RailsConf organisers did a good job. Providing wireless internet access for 550 people is not an easy task, and the fact I could check mail from time to time was good enough for me.

Overall RailsConf was an excellent event, and I’m lucky to have attended the first conference. RailsConf II is likely to be a lot bigger next May, and the overall feeling will be different. It will be really interesting if Mike, Oliver and Dei come along and we can catch up on a year of Rails development.

Waiting for DHH and O’Reilly hosting the next RailsConf!

Posted in Developing Software, Ruby on Rails

It’s been a great second day of presentations at RailsConf and I’m waiting with Mike Bailey and Jim Freeze for a speech from David Heinemeier Hansson. Chad Fowler has just announced that O’Reilly are hosting the next RailsConf. So book some time off for May 17-20, 2007 in Portland, Oregon!

RubyConf - Day One

Posted in Developing Software, Ruby on Rails

On Wednesday night I arrived in Chicago, IL for the first ever Ruby on Rails conference. My Southwest flight from Philly was delayed for two hours so I didn’t get to my hotel till 2.30am on Thursday. After less sleep than I had planned for, I went along to the Rails Guidebook. This was a cut down version of the Pragmatic Programmers course developed by Ruby legend Dave Thomas. Dave presented along with Mike Clark and they didn’t disappoint. If you ever get a chance to see these guys present make an effort to go see them, they are very entertaining. Thanks to Chad Fowler for enlightening me on the Ruby Gems system during the ‘installfest’!

Day one of the real conference kicked off today with a keynote from Dave Thomas on what he feels are areas where Rails can improve. He didn’t spend a long time covering it, but support for other data sources behind a model is an important addition. Having improved database key support would also be nice to have for those working with legacy systems.

The best sessions of the day were on Capistrano, a Rails deployment engine, and Asterisk. The integration of VoIP with Web applications is surprisingly simple with this open source platform. I felt the Open ID session was a miss because the information had been presented in a similar way to Dick Hardt’s identity presentation, and there was little on the Rails specifics.

A very useful notion from the world of Rails are migrations. These help you update your database based on changes to your application, and are very much automated by the platform. Unfortunately these are not fully transactional since MySql and friends do not have support for transactions around DDL. I wonder when they are going to catch up with SQL Server in this regard?

Crash reporting in Windows

Posted in Developing Software

Microsoft have been collecting crash data using a system known as Windows Error Reporting (”Dr Watson”) since the release of Windows XP (and possibly earlier). When a usermode error occurs in an application, a minidump and other pertinent is extracted. The user is then prompted as to whether they wish to report this information. After the reboot that follows a kernal mode error (bugcheck) you are prompted to send this information to a secure Microsoft server.

If the information is reported, a back end process does some analysis to see if it matches other error messages and might offer you some feedback. I’ve certainly benefited from this in the past, as a buggy D-Link driver caused numerous bugchecks (blue screens) and WER pointed me to a source of newer drivers.

I’ve observed the use of this feature by many people and there seems to be a fairly even split between those that send the crash data and those who cancel out. It appears that many people don’t provide feedback because they fear Microsoft getting getting access to private information. This fear is justifiable, but I think that Microsoft could encourage more people to submit bug reports if they improved their UI design and branding.

The current implementation on Windows XP and 2003 has these faults:

  • The UI is simplistic. Although it offers some information on why you might submit, it fails to reinforce the benefits.
  • Technical information cannot be easily copied to the clipboard. It would also be good to be able to save this to a file.
  • There is little help provided to help decipher the technical information provided.
  • Lack of Windows UI integration. If you are using a shared computer, an administrator cannot see all of the issues which have been submitted to spot problem applications. The settings for crash reporting are hidden away from most users in the system applet.
  • If you are offline you cannot submit a report.

Thankfully there are some improvements on the way. Windows Vista will include support for centralised crash reporting management, and improved UI. I will post a review of this in Beta 2 soon. Users of Office 2007 will notice that the bug and usage data collector is more advanced, and allows you to submit later. This is enabled when you sign up for the application improvement programme when prompted in the task notification area.

Behind the Weblog

Brian Lyttle - portrait photo by Sarah Gray ;)Brian Lyttle runs Source Foundry, a consultancy that specialises in Web development and content management. When he's not writing code and experimenting with the latest tools, you can find him honing his photography skills or helping Bill to improve his Mazda Miata.

I update my link blog regularly. It's powered by del.icio.us so you can subscribe to the RSS feed.

This Weblog is an experiment, and will focus on a broad range topics ranging from marketing to software, and anything else that comes to mind. These are my views and do not represent the views of any employer or client.

I'll be attending RailsConf 2006. Where will you be?

Archives

Useful links