my recent reads..

Atomic Accidents: A History of Nuclear Meltdowns and Disasters; From the Ozark Mountains to Fukushima
Power Sources and Supplies: World Class Designs
Red Storm Rising
Locked On
Analog Circuits Cookbook
The Teeth Of The Tiger
Sharpe's Gold
Without Remorse
Practical Oscillator Handbook
Red Rabbit
Showing posts with label TechRead. Show all posts
Showing posts with label TechRead. Show all posts

Tuesday, June 02, 2009

Java Puzzlers


Apparently, Joshua Block and Neal Gafter started the "Java Puzzlers" idea at Oracle Open World 2001. I wish I was there.

Subsequently, they've turned it into a book
, and a website.

If you program in Java, this is truly a must-read book.

More on my tech blog.

Sunday, May 31, 2009

Zero Day Exploit


I picked out Rob Shein's Zero Day Exploit: Countdown to Darkness (Cyber-Fiction) at the library simply because it stuck out as an obvious "computer book" in the fiction section. I thought it had been mis-shelved and so it caught my eye.

I finished reading it because ... well, it is simply so bad as to have a kind of Ed Wood "B-movie" allure.

It is a pity, because the idea has promise: a fictionalised cyber-security thriller that can almost double as a vulnerability assessment and computer forensics text because of the detail it includes.

Unfortunately, the book would be better titled Zero Day FAIL!

In terms of the computer security technicalities, it is really light weight, making only cursory reference to just a few of the most routine security issues and tools, and describing a methodology that is far from leading practice. The author's main characters are meant to be save-the-world "white hat" geniuses, but they come across as bumbling script-kiddie amateurs. Stuck debugging a program because they mis-spelt "main"? Forgot there might be a firewall in place? Found a vulnerability on the first attempt by sending a stream of É, "because it is a character know to cause buffer overflows". Sheesh!




As a novel, I don't think I've ever read a book so in need of a good editor than this. Just about every aspect needs work or a complete re-write: character development; dialogue; story arc; climax and resolution.

And did I mention the plot? It goes from sublime to the ridiculous, and then just peters away..

Mind you, even well-known authors can fall into the "sublime to the ridiculous" plot trap. Take Eric Van Lustbader for example, writing Robert Ludlum's (TM) The Bourne Sanction. Whereas Ludlum was a true master at pulling together incredibly complex and outlandish plots while never for a moment losing the credulity of his audience, Van Lustbader always seems to miss the mark by a little. And as a reader, once you start questioning the realism of characters' behaviour and the uncanny role of coincidences, then the magic of the story is quickly extinguished and the author has lost you.

I mention The Bourne Sanction for one further reason: like Zero Day Exploit, it features terrorists attempting to distroy the petroleum distribution infrastructure of the US. And the one thing that Rob Shein should feel happy about is that his scenario for how this could be done is way more credible than what Van Lustbader cooked up for The Bourne Sanction (which made me think Van Lustbader was probably script-consulting on Speed 2 at the time)

So was Zero Day Exploit mis-shelved? You bet. They missed the bin by a mile!

Sunday, May 17, 2009

The Software Architect's Professsion


That was a happy age, before the days of architects, before the days of builders. -- Seneca c.4BC-65AD

I hesitated as I reached for The Software Architect's Profession: An Introduction (Software Architecture Series) on the library shelf.

Did I really want to read another treatise on the role of the software architect? Hasn't the term architect been so abused as to now be worthless, even downright counter-productive? In this, I think I am one with Jeff Atwood and Joel Spolsky who discussed the questionable value of the title "Software Architect" on StackOverflow podcast #44.


Nevertheless, my hand followed through. I think I was persuaded by the unimposing nature of this concise little 100-page book.

I was pleasantly surprised; this is a great little book for stimulating some thinking around the role of an architect for the advanced reader. But I worry that it attempts to position itself as "An Introduction". A novice, unprepared to read the text critically, may easily be mislead by the book's definitive statements about what a software architect is and what they do.

Personally, I believe the book is fundamentally flawed in three important aspects:

1. Are we really in Crisis because we lack a Software Architecture Profession?


Firstly, the premise that today's Crisis in Software...
[the] parade of failures and half-failures that has grown over the years as a result of a world without an established profession of software architecture

...is wholly unsupported by any direct evidence. The authors' central argument is of course flawed based on the appearance of a causal relationship where in fact only coincidence has been established beyond doubt. A number of well-known software runaways and failures are mentioned, but I don't know of any where the original case studies attributed the failure primarily to the lack of "an established profession of software architecture". The authors get around this problem by redefining the conclusions and suggesting that all faults may eventually be explained by architecture. It seems to me self-serving and circular.

2. A Flawed Analogy with Building Construction


Second, the authors attempt to reinforce their argument with the proposition that the analogy with building architecture is self-evident. Buildings need architects. Software is like building. Therefore software needs architects. Hmmm. I am reminded of Bernard Rudofsky's book "The Prodigious Builders" which celebrates the history of vernacular architecture. That is, architecture without Architects (unfortunately a stunningly boring book for what ought to be a highly inspirational subject).

I particularly disagree with the authors' contention that software is not developed: it is built (with a sense of finality). The Google-inspired trend towards the perpetual beta is the most visible evidence to the contrary. The authors object to the notion that to develop implies to unfold, uncover, and make known. On the contrary, I find this a most apt description of what we do within the software profession: the youth and continuing innovation within the field does mean that software development and the architecture it requires is more akin to exploration, invention and discovery than to a formalised application of the tried and true.

Strike two.

3. Premature Specialisation


I began to renew my hope for the book as it explored the historical foundations of architecture. Michelangelo can truly lay claim to the title of Architect ("master builder"); his work on St Peter's Basilica epitomizes the unltimate balance between function, beauty, and structure,

Vitruvius is famous for asserting in his book De architectura circa 50BC that a structure must exhibit the three qualities of firmitas, utilitas, venustas — that is, it must be strong or durable, useful, and beautiful. A sense of proportion and harmony is represented in Leonardo Da Vinci's famous illustration of Vitruvian Man.

Such ideas begin to shape the conventional definition of an architect. A master who not only understands structure, utility, and beauty in order to successfully render a design into plans, but has the practical experience to supervise their realisation through construction.

At this point, I think the authors are getting onto the right track. However they stumble at the last post by then inexplicably turning this into an argument for a limited and specialised concept of a "Software Architecture Profession", where the architect only retains responsibility for venustas (design/beauty). Utilitas (function/utility) is the client's problem, and firmitas (form, materials, logistics) is the province of the engineers, scientists and code monkeys.

Time for the Renaissance?


The authors' call for the codification and ossification of a software architecture practice is I think at least 50 years premature.

What an "Architect" needs to be concerned with is still going through successive waves of tumultuous change. Up to the green-screen era, computer system architecture necessarily had a strong hardware component. Come the GUIs and increasing processing power in the 90s, it seemed a singular focus on "software architecture" as a technical discipline was a valid vocation. Now the waves of web-driven innovation and the emergence of the "Rich Internet Application" is again challenging our notions of what architecture entails. And again, the "real world" is encroaching the pure software realm with the rise of increasingly powerful and widely available mobile computing platforms (think iPhone, Android), and the revolution in pervasive automation (think Arduino).

I think the Java Posse were spot on when they discussed the growing need for cross-fertilisation and collaboration between designers and developers on podcast #247 - Design and Engineering. This is a time of divergence, not convergence, in the business of producing software & technology-based systems.

In truth, I question how appropriate both words are in the term "Software Architect":
  • Software - it is perhaps only in the last 10-20 years that it has been possible to construct computer software at the level of complexity that warrants the existence of an architect in the classical sense. And I suspect that in another 10 years it will seem ludicrous to suggest that you can be an Architect of only software ("just a turn-of-the-century fad"). Software is just one component of a "built environment" that encompasses everything from the information infrastructure and systems technology to the psychology, art and design of human interaction; ultimately leading to a desired collaboration between people and machines in the context of real-world objectives.
  • Architect - the common use of the term in the computing field has stripped this word of it's more noble dimensions. No longer is the architect "the person with the vision and skill to make dreams a reality". They are more likely to be the person in the corner who produces nothing but paper, leaves no fingerprints on the pages of history, and is generally ignored by those who are really making things happen.


I don't know what you should call the people who have the experience and ability to lead others to do amazing things with the information technology we have at our disposal.

I'm just pretty sure that "Software Architect" doesn't even come close to being adequate. And building a "profession" around a woefully inadequate definition is a one-way ticket to irrelevance and obscurity.

Sunday, February 08, 2009

Web Form Design


I'm humming and hahing over some form designs at the moment. These days you have so many options, especially when you are getting smart with ajax and scriptaculous tricks.

Having options is always a double-edged sword. Yes, they allow you to do amazing things. But they provide a great recipe for procrastination.

.. just the situation where some thoughtful, concise guidance on leading practices from someone who knows their stuff can be a goldmine.

Thankfully I stumbled upon this great presentation on web form design by Luke Wroblewksi. It's a classic, and now I see he has a book out on the topic which instantly went on my "must read" list.

Sunday, November 30, 2008

Oracle Shell Scripting


I remember seeing Jon Emmons' announcement on the Oracle News Aggregator and I've had it in my "wanted" list on bookjetty for ages.

This week I discovered Jon's Oracle Shell Scripting: Linux and UNIX Programming for Oracle (Oracle In-Focus series) at the NLB and have just enjoyed a good read of it.

I wish more DBAs had read this book. In fact it should be mandatory to get an OCP certification!


Let's face it, most Oracle installations are running on a *nix variant, and you can't be a DBA if you are not comfortable at both the SQL*Plus and shell prompt. To be a good and efficient DBA in my book, I want to see evidence of thinking smart, and repetitive task automation. When I see so-called DBAs who are happy to type the same "select .. from v$.." query every day of their working life, I doubt their brain is switched on, and I find it really, really scary to think they have the sys/system passwords!

They say tool usage is a sure sign of advanced intelligence in birds. And the same applies to all of us in IT. The three examples I look for at an Oracle Database installation are:
  • RMAN
  • Grid Control
  • Shell scripts

If none of these are present, then I tend to presume the real DBA has long left the building. Even if you are using third-party alternatives, do you continue to re-evaluate the Oracle capabilities with each new release?

Jon Emmons' book is of course more focused than this. It perfectly fills a niche, with an approachable, practical and comprehensive coverage of shell scripting from a DBA's perspective.

I can see the ideal audience for this book is people who are reasonable familiar with Oracle administration but are new to shell scripting. This book will rapidly teach you all you need to know on the scripting side (and let you skip alot of stuff you can learn later).

In other words, if you are a DBA who has just been assigned to manage a Unix-based system for the first time in your career: get this book. Forget all the (great) general Linux/Unix/shell scripting books for now. Don't even think the Oracle docs will teach you what you need to know. Oracle Shell Scripting: Linux and UNIX Programming for Oracle (Oracle In-Focus series) is what you need!

If you are coming the other way though - an experienced Linux admin being told that from Monday you also need to manage an Oracle database - I'd say this book probably doesn't have much to teach you. There's much more you'd need to learn about Oracle first (after telling your manager he's crazy), and there are really no scripting tricks in the book that you shouldn't already know. The main benefit you get would probably be a few pages in chapter 6 that cover the tricks of using sqlplus in a shell script - all in one place rather than having to tease it out of the Oracle docs (see this related question on stackoverflow).

Saturday, September 20, 2008

Peopleware


Peopleware: Productive Projects and Teams by Tom DeMarco and Tim Lister is often cited as the classic software development management text; one that rightfully puts the focus on people.

So I had heard about it long before finally getting around to reading it recently.

It is a really good collection of insights, suggestions and anti-patterns that makes a great read, and good food for thought. Especially because it sweats the little things, like office furniture, interview techniques, and the evils of the telephone.

My favourite phrase in the book:
Management by Hysterical Optimism
Haven't we all seen that in action at some time? (unfortunately)

The authors do however take a little liberty in claiming the Hawthorne effect says people perform better when they're trying something new. Which I believe to be true, but isn't exactly what the Hawthorn effect is (people will be more productive when appreciated or when watched).

My report is not all good however. There more I read into the book, the more I felt the authors' advice was biased towards a certain ideal organisation that is I think by no means universally applicable.

In short: workers all strive to be master craftsmen; they provide their own motivation, vision and goals; management is best advised to just provide the creature comforts and get out of their way.

While many may relate to this (personally I do too), as a general theory of management I think it is a crock. In the 60's they would have called this 'flower power'. In the 50's it would have been labeled a 'communist conspiracy'.

No, I think the real world is a little more complex than that. But Peopleware nevertheless delivers a great deal of practical advice.

Seven False Hopes of Software Management


My favourite "list" from the book...
  • There is some new trick you've missed that could send productivity soaring

  • Other managers are getting gains of 100% or more

  • Technology is moving so swiftly that you're being passed by.

  • Changing languages will give you huge gains

  • Because of the backlog, you need to double productivity immediately

  • You automate everything else; isn't it about time to automate your development staff away?

  • Your people will work better if you put them under a lot of pressure

With a preference for the decimal system, I have the temerity to add:
  • Build it and they will come!

  • We just need a SOA architecture!

  • It's going to take too long/cost too much, so can you revise your estimates?

Sunday, September 14, 2008

Think Like a Rocket Scientist


I've been lax in my little posts about books I've read. One of the reasons is that I'm now addicted to bookjetty, which makes it sooo easy to track my reading and think "I'll review/blog it later". The other reason is simply time.

But reading Jim Longuski's The Seven Secrets of How to Think Like a Rocket Scientisthas prompted me into action again.

This is a great book on practical innovation, and generally just getting things done. Although it takes the "Rocket Scientist" as the model (understandable, since Longuski is one), it largely avoids the trap of being elitist and sycophantic. It's just an honest and thoughtful analysis of how rocket scientists work, and presented almost like a pattern language for knowledge workers.

The "seven secrets" are actually seven stages of the creative process, from the initial idea generation through to delivery. Each stage includes half a dozen or more "secrets" (or patterns), so the book is more like "The 50 Secrets of How to .."
  • Dream

  • Judge

  • Ask

  • Check

  • Simplify

  • Optimize

  • Do

The book is also littered with great quotes, has a bibliography that immediately adds many books to your "must read" list. Perhaps the best part is however Longuski's ladder of the "Greatest Sci-Fi Films of the Twentieth Century" gratuitously included in the appendix. Longuski clearly has some "issues" with Shuttle-era NASA, but when these intrude on the text, they just serve to highten the drama!
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius-and a lot of courage-to move in the opposite direction. -- Albert Einstein

When you find a good move, look for a better one. -- Dr Emanuel Lasker

Do. Or do not. There is no try. -- Jedi Master Yoda

It is often said you can lie with statistics. But-it's even easier to lie without them -- Jim Longuski


PS: I since wrote a reflection on this book called Code like a Rocket Scientist

Thursday, July 10, 2008

Designing the Obvious, the Moment, Not Thinking and how bad design can make you physically ill


I had a violent adverse reaction to the design vomit that is soshiok.sg
  • massive visual overload

  • poorly aliased graphics used instead of heading text

  • shockingly low-res advertising images (at least DBS have had the initial ads used on launch replaced)

  • "social networking features" that pervert the term, like submit a recipe that is an email link!!

  • Deserves a Daily Sucker award and should probably be renamed to soseow.sg

I could go on, but it just makes me choke. Best medicine: jump to hungrygowhere, who got there first and have done a vastly better job on the web site.

The other essential part of my recovery was to go back and luxuriate in the clarity of thought epitomised by Robert Hoekman's two books on design:

These are two books I think every web designer and, yes, every developer should read. Or have on a bookshelf in easy reach.

Designing the Moment is the one I find myself returning to. It takes a case study/cookbook approach and nuts out many of the issues in contemporary UI design. It's not an encyclopedia or complete reference - you will need to go elsewhere for that. But it does get you in the groove (in a "teach a man to fish.." kind of way). Even if my immediate design challenge is not directly addressed, it is great for getting in the right frame of mind for cutting through all the confusion and honing in on my core issues and purpose. It also contains the single best argument for using "sign in" rather than "login", and some great discussion of form alignment considerations.

Designing the Obvious is the first book, and contains the full discussion of Hoekman's philosophy of the obvious. You could probably get a web design job on the basis of studying this book alone! My only slight qualm is that while it presented a methodology and process for requirements analysis for example, it doesn't really give you a glimpse of other established practices and advice on how to harmonize in a larger and more diverse team situation.

This may sound like sacrilege, but I find these books even better than Steve Krug's Don't Make Me Think. Krug's book is great in its own right, but I feel that Hoekman has taken the art one step further. I'm sure he would agree with Isaac Newton:
If I have seen further it is by standing on the shoulders of giants..

But there's no doubt Don't Make Me Think has some great advice. Some of my favourites:
  • Don't use a mission statement as a Welcome blurb (aargh!!)

  • Usability testing on a budget. Spend one morning a month with a few testers. Debrief immediately over lunch. Act.

  • Mad magazine parody of the NYT tagline:
    All the News That Fits, We Print..





Sunday, June 22, 2008

Uncommon Sense: Out of the box thinking for an in the box world


Peter Cochrane's Uncommon Sense is an interesting collection of opinion pieces taken from his silicom.com blog through to around 2004. While you can read much of the material (and catch later articles) in his blog archives, the book does enhance the content will a liberal scattering of charts and also some additional commentary.

Some of the topics are evergreen, such as the failures of the education system, and the gap that often exists between the actual and the perceived in conventional wisdom. Some are specific to a point in time, like his pre-occupation with the 3G bandwidth auction debacle.

Certainly worth grabbing a copy for a thought provoking read, and ample encouragement to add his blog to my reader for continued entertainment.

Cochrane also has a nice practice of introducing many of his articles with a related quote. One of my favourites is from Douglas Adams:
Technology is the name we give to stuff that doesn't work properly yet.

Monday, June 16, 2008

bookjetty - a great new site to track, share, buy and borrow books

I've fallen in love with bookjetty, a great new site for books by Herryanto Siatono.

Although this blog is officially dedicated to prata (and always will be!), you can tell I use it to keep a diary of the books I'm reading. I probably always will, but I do try out all the "book tracking" sites, facebook apps and so on that I come across.

None have really jiggled my worm until I discovered bookjetty.

The killer feature for me is the great library integration on the site. It helps answer all the usual questions I have whenever I hear about a new book..


  • Have I already got it or read it before?

  • Does one of my friends have it? Maybe I can borrow it..

  • Can I get it from the local library?

  • Can I buy it online?

  • (oh, and if the last two steps fail, I may actually visit a real bookstore!)

The library catalogue checks work a treat - right within your booklist. I used this feature yesterday as I knew I would be heading to the library. Within 5 minutes on bookjetty I had added a few books I'd been interested in reading and found out that 3 of them were available and on the shelf at my local library. An hour later, I had them checked out.

The bookjetty developer(s?) have done a great job of integrating the libraries, especially considering that most are still running archaic web 0.1 systems which are not very mashup friendly. I've posted before about a kludge to do library lookups from an amazon page, but it never works very reliably because of the dumb library catalogue it needs to talk to, so I can appreciate some of the challenges they may have had.

And here's an example of how the library checks appear...


If you are into books, I heartily recommend you go and register at bookjetty and check it out!

Saturday, June 14, 2008

net.gain


..or "how to (try) and make the new economy work like the old one"

I recently borrowed John Hagel III and Arther G. Armstrong's Net Gain: Expanding Markets Through Virtual Communities from a colleague for a quick read.

It was published in 1997 by McKinsey & Company, and I must say it kinda shows. The book suffers from a myopic pre-occupation with the dual assumptions that:

  • organisations must race to establish virtual communities: the spoils will go to the fast and the bold
  • the aim is to profit from transactions conducted by the community while also garnering peerless customer loyalty


Ah, the golden days of the internet bubble! This is an interesting read if for no other reason than to see how far we have come; how much has been learnt, and how much we have yet to learn.

As I studied the authors' recipe for profitable community-building I found myself challenging the principle that success requires an imposition of control by an organisation: the company studies the market, decides what community should be built, writes a business case for it, and appoints the expert team to design, build, launch, and market the community.

This is an astonishing proposition given the book's initial premise:
The rise of virtual communities .. has set in motion an unprecedented shift in power from vendors of goods and services to the customers who buy them.

"Over my dead body!" I can hear the voices echoing from the boardroom - undoubtedly the prime audience for this book, which I think could reasonably be subtitled "how to (try) and make the new economy work like the old one".

The idea of a "community" that is both external to the organisation while remaining under its control permeates the book, and is perhaps the primary misconception that has taken the past 10 years to rethink and recognise for the oxymoron that it is.

This is closely related to the fundamental yet unspoken assumption of a hard boundary between the corporation and the customer/community. In parts of the book that consider the use of communities within the corporation, the emphasis is very much on within the corporation, or at most, between business partners.

My comments have been a little disparaging, and it is perhaps unfair to find fault in failing to predict the future accurately. It does mean that this book is now little more than a historical curiosity.

However, the book I would be very interested to read is a "10th anniversary rewrite". For my money, I'd say that's Wikinomics: How Mass Collaboration Changes Everything (any other recommendations? I'm keen to hear..)

For now, I think I'll let Geek and Poke have the last word...

Geek and Poke

Sunday, April 13, 2008

My Job Went to India (and all I got was this lousy book)


The title may be provocative, and immediately engender some strong reactions, but having just read My Job Went to Indiaby Chad Fowler, I'd strongly recommend you get past the emotions and read this book now!

It is actually a very sensitive and insightful treatment of career pressures of the modern age, and how to respond positively. Although primarily targetted at a those working in the software industry, the book is a great career coach for any white-collar information worker.

The book contains 52 very well-written pieces of advice, all introduced with some fascinating personal introspection.

Get it on your bookshelf! The sooner, the better.

Sunday, March 23, 2008

Isaac Newton


Sir Isaac Newton has a penchant for popping up in literature. Take Greg Keyes' Age of Unreason historical fantasy series for example, which starts with Newton's Cannon. Or Neal Stephenson's Quicksilver, the first book of Baroque Cycle. Even in popular fiction like The Da Vinci Code.

It soon becomes hard to separate fact from fiction. Was Newton an alchemist? [Yes] A member of The Priory of Sion? [No] A little bit mad? [Probably. And not helped by his experiments with mercury].

Needing a fix in reality, I picked up James Gleick's Isaac Newton. It is a wonderfully written account of Newton's life and accomplishments.

The picture is of a complex character. Extremely private and absorbed in his research into any and all questions relating to understanding the system of the world. He tended to keep his ideas from the public to avoid controversy, yet when his views are debated he is perhaps as bad as the worst for letting his ego get out of hand. He is famous for his feuds with the likes of Robert Hooke for primacy in optical theory, and Leibniz over the invention of calculus (Newton and Leibniz are generally agreed to have developed calculus independently, but that didn't prevent them both from scrapping over the issue to no end).

Newton's Wikipedia entry provides a good overview of the amazing range of his work. To understand more, James Gleick's book is an excellent place to start.

The Psychology of Everyday Things


POET - the familiar name that Donald A. Norman gave his 1988 classic "The Psychology of Everyday Things" which I recently picked up in the library. It has since been updated a little and reissued as The Design of Everyday Things. But I like POET.

There is, after all, great poetry to be found in the workings of even the simplest device. And when things are not so artfully conceived: great tragedy and boon for cranky geeks everywhere.

How can one not enjoy, for example, subjecting alarm clocks that have identical "snooze" and "reset" buttons to exemplary castigation? Or lambasting the purveyor of inappropriate door handles: those that are designed to "pull", but require a label that says "push" because that is the way the door swings?


Norman's approach is refreshing.
Humans do not always behave clumsily. Humans do not always err. But they do when the things they use are badly conceived and designed. Nonetheless, we still see human error blamed for all that befalls society.

Despite being published in 1988 and primarily drawing its examples from the world of simple electro-mechanical devices, the book's philosophy and advice is remarkably enduring.

It is all about user-centered design, and as relevant today as it was in Internet Prehistory. Norman posits Seven Principles of Design:
  1. Use both knowledge in the world and knowledge in the head
  2. simplify the structure of tasks
  3. Make things visible: bridge the gulfs of Execution and Evaluation
  4. Get the mappings right
  5. Exploit the power of contraints, both natural and artificial
  6. Design for error
  7. When all else fails, standardize

The Lego Heresy

I do take issue with one example however. Norman presents the case of a Lego police motorcycle model as an example of excellent design.

Why? The design cleverly exploits physical, semantic and cultural constraints so that there is basically only one construction solution.

Which is great if the objective is to make construction quick, easy and repeatable with a high degree of quality.

Great! Its teaching kids how to be highly productive assembly line workers.

And that is where I think Lego started to go badly wrong. New Lego, personified by custom molded pieces and kits that could only make one design, may win design awards.

But it does not serve it's purpose and it's users. The beauty and enjoyment in Classic Lego came from the very fact of its flexibility and lack of constraints. With a little squinting, it was possible to believe you could build anything. As Norman himself argues, there are situations where it is useful to pervert the design principles (such as with safety features).

Classic Lego is a perfect study in the appropriate application of Norman's principles in reverse, whereas New Lego is just a great way to waste money.

To mangle a famous quote..
Give a child a Lego Police Motorcycle Kit, and you have bought a few hours of peace.
Give a child a Lego Basic Bulk Set, and they are set for a lifetime.

Which would you prefer?

Saturday, March 08, 2008

Beginning Rails


Beginning Rails: From Novice to Professional by Jeffrey Hardy and Cloves Carneiro is one of the most approachable "learning rails" books I have found to date.

The writing is clear, and concepts are presented in a very readable way. I really appreciate the organisation of the book - they've done a great job of presenting key topic areas in a logical sequence that guides you up the learning curve without losing sight of the big picture.

Working through the examples right now...

Tuesday, February 26, 2008

Dreaming in Code


Scott Rosenberg's Dreaming in Code is the first book in a while that I have immediately wanted to go out and buy a few extra copies to give to friends. They would just so get it as a reflection on their current jobs!

The title Dreaming In Code is a bit misleading. At first I thought it was about coding practices - extreme flow state leading to fantasy debugging sessions in your sleep (been there!). But its not.

It's fascinating story following Mitch [Lotus 1-2-3] Kapor's quest to build a revolutionary PIM - Chandler - and the organisation he created to do it - OSAF.

At times, clearly a mild-to-massively disfunctional undertaking, but Rosenberg's reflective and honest reporting presents the situation in all its shades. Life is complex. It's not always so easy to 'pin the blame' for a project failure. Sometimes its not even so easy to tell if the project has failed, which is true for Chandler since it is still running!

What makes Rosenberg's book so engaging is that there are multiple layers to the story that speak to different interests.

On the one hand this is a ripping yarn about a high-risk startup. On another level the book reflects on contemporary management and software development practices. But its also the personal story of the very successful Mitch Kapor potentially facing the biggest failure of his career.

Overall, this makes for a compelling read for anyone in the business of software development.

Sunday, February 03, 2008

iTunes and DRM - Destroy Real Music

Ignatius Low gets nostalgic over music in it's physical form in an article for The Straits Times today (I still want a CD I can hold - Feb 3, 2008 - article is only available to online archive subscribers. ST hasn't quite caught up with the NYT yet!).

ABOUT a month ago, I made my first purchase from the Apple iTunes Store. It was a tedious and deliberate process, given that the iTunes Store hasn't been launched in Singapore yet, but it had to be done..

He goes on to question what would be lost if the world does move wholesale to digital downloads .. nostaligic memories of browsing for music with friends in the local record shop .. the personal stories forever tied to each CD or LP on your shelf.

Travelling and the Real Music Store Experience
Thankfully, we haven't totally lost the music store experience yet, although it is dominated by the major chains like HMV. I hope we never lose it. It would deprive me of one of the most enjoyable travel activities - whenever in a new city, I always try to make time for a few hours at a local music store to browse and buy. It is a great way to get a lock on the local music culture and discover some amazing artists.

DRM - The Worst Idea Ever Foistered on the Music Industry
There is a more insidious side to the whole digital download approach to purchasing music. Its called DRM - Digital Rights Management (or Destroy Real Music if you prefer). Still in use for most music on iTunes, DRM restricts your use to iTunes and iPod, and you only get 5 chances to register with another computer (like if you re-install or upgrade). Apple of course are not exactly forthright in telling you all this, prefering to regale you with all the benefits of digital downloads.

To make a LOTR analogy, its as if DRM is the poison holding Théodred under the spell of the wicked Wormtongue (read RIAA).

When I look at my record collection, I see the albums I inherited from my parents - even grandparents - and remember the thrill of exploring and learning to appreciate all this old and unusual music. I was the new generation rediscovering the musical gems of my elders, and I think a critical step towards musical maturity. It is how I found a place in my collection for Les Paul & Mary Ford, Duke Ellington and Fats Domino along side Iron Maiden, Madonna and Regurgitator.

If DRM and digital downloads become the way of the future, then this is one formative experience I will be unable to bequeath to any grandchildren I may be lucky enough to have.

The Dawn of a DRM-free Golden Age?
Thankfully, DRM seems to be on the way out - at least for music if not movies for the time being. And anyone who really cares about music should add their strength to kill it good and proper as soon as possible. EMI were perhaps the first major label to signal the trend, and break away from Wormtongue's spell.

The EMI move significantly bolstered Amazon's move on itunes with their DRM-free MP3 store (although in a perverse turn of logic, I can order physical CDs from Amazon yet because I live in Singapore I still cannot purchase their mp3 download versions. Go figure!)

Amazon's move was likely no insignificant factor in Apple now moving to dump DRM in their new iTunes Plus service (probably more correctly called iTunes Minus). Aple are still extremely coy in telling their users what's really going on (try searching for DRM on the iTunes site). I think it is scandalous how little information is provided to iTunes users about the DRM restrictions that are still applied to the majority of songs you can purchase on iTunes.

To put it simply: beware!
  • When you purchase music on iTunes, it is still DRM-locked, unless you are clearly given the iTunes Plus purchase option.
  • If you buy DRM-locked music on iTunes which is later made available unlocked in iTunes Plus, you can upgrade but you will have to pay for the privilege of getting you music purchases switched over (currently 40c per song or 30% of the album price)

Personally, I plan to stick to purchasing CDs, especially with so many available today at a nice price (like S$11.95 and up for recent chart albums). When amazon finally make the mp3 store available to me, I'll probably use that for the odd purchase (especially for individual tracks).

But iTunes? Sorry Apple. I love your iPods, but your support for DRM leaves such a bad taste that even now that you are reforming I will run a mile before willingly purchasing from your store.

One Night At The Call Centre


I had the chance to participate in a focus group for the NLB, and as a bonus got a book voucher to put to good use. Within a few minutes of walking into a bookshop, Chetan Bhagat's One Night At The Call Center caught my eye and was immediately locked-in as a purchase.

This is a refreshing read. In one night we meet Shyam and his call center collegues as they each face life: from a plagiaristic, useless boss who can't hold a real conversation with out using MBA jargon .. arranged marriages gone wrong .. manipulative mothers .. and a job that pays just well enough to suck you in and seduce you into giving up your dreams. It would easy to be cynical like Varun (Vroom):
We get paid well, fifteen thousand a month. Fuck, that's almost twleve dollars a day. Wow, I make as much a day as a US burger boy makes in two hours. Not bad for my college degree. Not bad at all

But this is really a book about hope, and what you are willing to sacrifice in pursuit of a better life. It's a story that transcends culture.

Near the end of the book, there's a self-referential discussion of which of two versions of a critical scene should have been used [don't worry, you'll understand how that makes sense when you read the book]. My only criticism of the book is that I think the author choses the wrong version! But it works well enough to not be a major detraction.

All up, a very good read. Highly recommended! I don't think you need to be into IT, outsourcing or Indian culture to "get it"; this is a book anyone would enjoy.

Wednesday, January 30, 2008

Tough Choices


I've heard all the stories about Carly Fiorina from friends in HP - no doubt mangled, misquoted and somewhat mysogynistic. All the ills of the company were by her hand of course.

Always found that a bit much to swallow, so when I saw her autobiography Touch Choices on the shelf I picked it up for a read.

I came away from the book with a much greater respect for the hard yards she has done to reach the top, although her rise to the top is a somewhat charmed path within a few large corporates. Which may explain why - although we get only one side of the story of course - she seems to have been so blindsided in the political manouvers that got her ousted from HP.

The book ends soon after her departure from HP, comtemplating where to go next and what she really values in life. And by then she had me won over; I think in truth a sincere, telented and hardworking person who really cares for the people she leads.

Thursday, November 15, 2007

SOA and WS-BPEL - here for review


I was kindly invited by Packt Publishing to review Yuli Vasiliev's new book SOA and WS-BPEL. The review copy just arrived today in time for a quick scan.

I'm immediately drawn by the fact that this is one book that clearly goes beyond smarchitectural blurgh and gets down to concrete details. The focus is on showing how you can create solutions with an open source or freely available toolset - specifically PHP and ActiveBPEL. And when it comes the database of course you expect MySQL, but I am very pleased to see that Yuli also gives full coverage of using (freely available) Oracle Database XE.

Looks like a few days of fun ahead as I work through the book in more detail. I'll be sure to post my review when I'm done.