↓ Skip to main content

Posts

2007

Best book for Ruby on Rails

·531 words·3 mins
During last two weeks I have been reading and playing a lot with Rails. Now I am in the state where I think I started to "get it" and understand how things work under the surface. Which means I am ready actually start using the framework for real work and become proficient as I get my hands dirty. To get to this state, absolutely essential and by far the best book is the classic one - Agile Web development with Rails co-authored by the original Rails designer and one of the Pragmatic Programmers. Like other books, the first part is sort of step-by-step code tutorial, which leads you through creation of a Rails application, shows you how you access data, create UI, use scaffolding, etc etc. Unlike other books, this does not stop there and the second part of the book is an excellent coverage of Rails internals - ActiveRecord, ActiveView and templating system. Very well written and offering great balance between covering important features without becoming reference manual.

It's all about numbers

·163 words·1 min
Imagine if somebody got copyright on a number 32. You could not say any more on a Web page that you use 32 bit OS because you were not allowed to use the number. You could not even write thirty two, or 0x20... Could not send a card for 32nd birthday. Sounds crazy, right ? But exactly this is happening. Somebody is trying to claim exclusive ownership of one number and sending take-down letters, law threats to those you have it posted on their web sites or blogs.

Fixing broken ASP.NET development environment

I had again the not-so infrequent pleasure of setting up fresh copy of Windows development stack. We were moving few machines between projects and to make sure that no forgotten source files are left on the harddisk, we reformatted and reinstalled Windows from scratch. It is usually good idea anyway, because developers like to install strange tools and utilities and generally customize machines to their own taste, which tend to be unique and is seldom shared.

Microsoft is getting more dynamic

·279 words·2 mins
at least as the programming language languages are concerned. One of the things that will be presented on the MIX07 is Dynamic Language Runtime, a new platform suitable to host high level, dynamic languages such as Python and Ruby. For Python, there is already pretty decent .NET implementation - namely IronPython. What is coming now is IronPython 2.0 based on the DLR as well as - yesss - IronRuby. It is great that this is happening. In Java world, JRuby is very close to being full implementation of the language. The speed of the JRuby is still not quite in the proximity of the C implementation, but the large selling point of JRuby is its capability of deploying Ruby application (or even a Rails application) inside Tomcat or any other Java Web container. This removes largest obstacle of using Ruby in enterprise environment - namely being "new" and not approved platform. When the .NET runtime will be able to host Ruby code, acceptance in enterprise space will be even higher.

Few interesting links

·23 words·1 min
Repository of presentations - http://www.slideshare.net/ on variety of topics. Specialize code-only search engine: http://www.krugle.com/ New Google product on vertical search - Google Co-op.

New great podcast

·280 words·2 mins
Running out of Security Now! and TWIT episodes, I have subscribed and started listening to few newly discovered podcasts. I have started to listen to the .NET specific one from Scott Hanselman named Hanselminutes. There are couple of factors that makes it better that other geeky blogs out there. First reason is the content quality. There is very high signal-to-noise ratio, pretty much all content counts and both guys in addition to being smart are quite good at achieving right balance between keeping on topic and spontaneity.

Accessing SQL Server 2005 from Ruby

·232 words·2 mins
The natural gravity of our environment keeps pulling me out of scripting and Ruby world back to .Net zone :-). Out of curiosity, I looked into how easy or hard is it to access other database from Ruby, than the default MySQL which dominates all books, samples and tutorials. I have found three ways (at least), one likely platform independent and two Windows only. The platform independent requires module ADO.rb and works with the DBI interface. This sounds very similar to the way how Perl used to access databases, so I put this at the end of the list (some details are here). First Windows only methods used ODBC - no, thanks. Configuring machine specific data sources is not the way I wanted.

In praise of the polyglot

·136 words·1 min
If you've ever envied the ability of multilingual friends to bridge language gaps wherever they travel or gained new appreciation for your native language by learning a new one, then you can probably see the advantage of being a programming language polyglot. Developer polyglots travel the IT world more freely than do monolinguists (sure that they can apply their skills in any environment), and they also tend to better appreciate the programming language called home, because among other things they know the roots from which that home is sprung. Isn't it time you became a polyglot?

One more reason to like TWIT

·176 words·1 min
As it happens, both my most favorite podcasters - Leo Laporte as well as Steve Gibson are passionate e-book readers. They have both purchased and are (mostly) happy users of the Sony PRS-500 aka Sony Reader in addition to several other platforms - (Palm, Pocket PC). In the latest podcasts - both in TWIT as well as Security Now!, the eBooks and eReader got quite some publicity :-). Both had similar experience with PDF format on PRS-500 as myself - but Steve mentioned the PDF re-flowing the document to make it better suites for small screen - something I have looked into but did not get it working quite right. The preferred approach to using Reader is RTF format - which again, matches my impressions.

Four quadrants of uncertainty

·1023 words·5 mins
(a followup to discussion last week) In every outsourced software project you have four large areas: your customer, the business vertical you are writing software for, your implementation team and the technology foundation or platform you are using. Two of these areas are on "internal" side of your organization (team and technology), two of them are on external - your customer side (business domain and customer organization). Two are more micro level in the sense that they have strong human interaction aspect (customer and team) and two are more macrolevel and less personal (business domain and technology). For that reason, you can represent these areas as quadrants using two axis micro/macro and internal/external: micro+internal = team, micro+external = customer, macro+internal = platform, macro+external = business domain.The degree of risk in the project is proportional to how many of these quadrants are actually unknown or new. Why is that ?