- Posted by liammclennan on June 15, 2009
After my earlier attempt to achieve a four-hour work week failed I decided to actually read Timothy Ferriss's book.
Firstly, I have to say that the book's goal is ambitions. The reader is asked to re-evaluate her life and confirm that her goals match her actions. Is the relentless accumulation of money, to finance acquisitions we don't need (or really want), the best use of our time?
The book is full of wise quotations such as this one from Thoreau:
"A man is rich in proportion to the number of things he can afford to let alone."
Mr Ferriss would have made a great hippy. His advice is to define your goals and pursue them, at the expense of wealth accumulation and career progression. In fact he advocates not having a career at all, but rather a semi-automatic, location-independent source of cash flow. In other words, build a business that does not require you to work on it and spend the profits doing whatever excites you.
I have three criticisms: a lot of the author's advice is immoral, the book completely lacks focus and a lot of difficult steps are implied to be trivial. When I say that the author's advice is immoral I am referring largely to his advice to employees, which is to negotiate an offsite working arrangement, become more efficient to achieve more in less time and then work as little as you can get away with without telling your boss. There are perhaps a dozen other places in the book where the author recommends blatant dishonesty as the fastest means to achieving your goals.
The book lacks focus because it is Mr Ferriss's advice on what to do with your life. It covers: deciding what you should really be doing with your time, building a business that does not require you to run it, outsourcing your life and low cost travel. It is the chapters on outsourcing where I really felt that the author was making a difficult thing trivial. As someone with a lot of experience outsourcing I believe that it is hard, so hard that I don't do it anymore. As an independent software developer with more work that I can comfortable manage I should be the perfect candidate to outsource my work and take a permanent vacation. However finding a competent provider and managing their work has repeatedly been a nightmare more trouble than worth. I am not saying it is impossible, just that it is much harder than Timothy Ferriss suggests and if people take his advice without understanding the challenges they will get burned.
Having said all that, I love the book. I like it so much that I will soon read it again, just to pickup all the bits that I feel like I missed on the first reading. The author's call to re-evaluate our priorities in the light of our mortality is just what I needed. This was the right book at the right time for me. I could feel myself slipping into what he calls the 'bald man in a red BMW syndrome', meaning one who accumulates for the sake of accumulation, stuck in a cycle of perpetually escalating consumerism.
I shall end this as I began, with one of the book's quotes from Thoreau:
"I also have in mind that seemingly wealthy, but most terribly impoverished class of all, who have accumulated dross, but know not how to use it, or get rid of it, and thus have forged their own golden or silver fetters."
- Posted by liammclennan on June 1, 2009
Summary
I think I will begin with the summary so that you don't have to read the rest unless you are curious. The title is approrpriate. This book is not nearly as advanced as Asp.net MVC in Action. It is more suitable for an inexperienced audience. Having said that it is a good, broad introduction to asp.net mvc. If you already completed a project with asp.net mvc you probably already know most of what this book covers. If you are just starting with asp.net mvc then reading this book will introduce you to most of the required concepts far more efficiently than reading dozens of blog posts and msdn articles.
Chapters 1 & 2
The book begins with a simplified treatment of the MVC pattern. It is the usual content that unfortunately doesn't deal with why a person would want to use the MVC pattern. The author nicely explains why a person would want to use ASP.NET MVC by talking about the design goals of the framework.
The comparison of MVC to webforms is actually pretty good. I could not detect the usual bias one way or the other.
Chapter 3 Handling Interactions
Chapter 3 covers the basic interactions between controllers and views. A sidebar in this chapter introduces the Model-View-ViewModel concept.
Chapter 4 Components in the MVC framework
This chapter is a walk-through of the request lifecycle, including the extensibility options. It also includes information about models, views and controllers.
Chapter 5 Routing
Covers the basics of routing. How urls are mapped to actions, how to generate urls and how to constrain routes values.
Chapter 6 Customizing & Extending the ASP.NET MVC Framework
The action filter example is the ultimate AOP cliche - logging. The coverage of custom action results and custom views is informative.
Chapter 7 Using Existing ASP.NET Features
This chapter is a recap of ASP.NET features. TempData is also explained.
Chapter 8 AJAX and ASP.NET MVC
The javascript style is not good (obtrusive procedural javascript) but perhaps that is acceptable since this is not a book about javascript. I love the coverage of using jQuery with JsonResult. This is one of my favourite techniques when using ASP.NET MVC.
Chapter 9 Testing
Until I reached chapter nine I thought testing had been neglected, but in fact it gets a whole chapter! Again complete coverage would require a book of its own so the author makes a valiant attempt to cover this issue in a chapter. Mocking is demonstrated with the Moq framework which is impressive, although I don't think it fits very well with the rest of the book which seems to be aimed at beginners.
Chapter 10 Hosting & Deployment
Chapter 10 covers the less glamorous, but still important, topic of deployment. The discussion of classic and integrated modes in IIS 7 is interesting. The troublesome issue of Asp.Net MVC on IIS 6 is dealt with sufficiently.
The book ends with a number of appendixes, including one that describes cartrackr, the author's example asp.net mvc application.
- Posted by liammclennan on March 8, 2009
Stephen King wrote about his preference for listening to AC/DC and other loud rock when he is working. Many developers also like to listen to music as they work but are stuck with the disgraceful desktop speakers that came bundled with their PC. If there is one thing I can't stand, it's bad sound.
A few years ago I upgraded my desktop speakers to a pair of Behringer MS20s. While they are technically low-end studio monitors the MS20s make great desktop speakers. They include a built-in 20W RMS amplifier as well as both analog and digital inputs (coax and optical).

Initially they had a muddy bottom end that was caused by vibrations being transferred to my desk. The desk was functioning as a large, poorly designed bass woofer that ruined the sound. I cut an eraser into eight pieces, put one piece under each corner of each speaker, and the problem largely disappeared. If you care about your desktop sound then the MS20 are great value at around AU$160 for the pair. They also work well for voip applications. Here is how mine are setup:

- Posted by liammclennan on February 24, 2009
Like many developers, 2008 was a big year for me. I worked a lot of hours and completed some work that I am very proud of. However, around October I developed pain in both my wrists, particularly the right. Since the career that I love depends on being able to use a keyboard and a mouse, I was concerned. In september I took a two week holiday, hoping that some rest time would heal the injury.
When I came back the pain was still there. Using a mouse was particularly painful. Google suggested I try a trackball mouse. I bought a Logitech trackman because it was well reviewed.
The mouse is beautifully designed, with a solid, smooth and free rolling ball. The build quality is average; feeling a bit like a kids toy. It takes a bit of getting used to and you will never be as fast or as accurate as with a regular mouse. However it does seem to help with the pain and it is quite useable. Another advantage is that it requires less desk space because it does not need to move during use.
I have also aquired a Microsoft Ergonomic Natural 4000 keyboard to see if that helps. Expect a review in a few weeks time.