Archive for the ‘Books’ Category

Outliers

Wednesday, November 18th, 2009

outliersI purchased Outliers while in America this year.

Funny book buying story: there was a 20% off sticker of the jacket, but no price tag. All books in New Zealand have a price sticker on the back, as they are the US or UK print runs shipped here. Thus I was looking for the price sticker, when it dawned on my that it might be the RRP.  I then had to search the book jacket for the RRP (it’s on the inside front cover). Felt a complete nob.

Anyway the book is good, I had read some reviews/out-takes that talked about the hockey/football teams, so I was hooked.

I found the rest of the book to be as insightful. The key idea being that success is not just the efforts of the successful, but also not completely up to fate, very much along the lines of: life is what we make of those chances we are presented. To be a true outlier you need both (fate and effort) to go your way in large doses.

It also showed once again that there is no get-rich quick, no magic formula. Just people becoming great via hard work.

Why Software Sucks…and What You Can Do About It

Saturday, October 3rd, 2009

I read Why Software Sucks by David Platt over a month ago, and have been wanting to blog about it since then.

Firstly the book is so true,  as an engineer I love control, doesn’t everybody?

No is the answer apparently, and once I got this, I have noticed myself asking questions like, what if I’m wrong? or more to the point, what if less is more?

There where some great quotes in the book, I read a few out to workmates, and they all nodded their heads (testers/managers). I’ve returned the book to the library, so I cannot share them with you.

But the biggest win was a few weeks ago, when discussion a feature in a meeting, one of the testers proposed a different and really stupid ugly way of presenting a concept to the user. I started on my usual, pros/cons discussion. But now taking a less control freak perspective, I slowly found more winning points on his design, and in fact mine had discovery problems (the biggest problem actually), which as a in-the-know person all made sense, but how would we teach the users this feature, or allow them to discover it and learn it.

After a 10 minutes of talking, I said “you win” and he had not said a thing. I’m now ok with it, because I concivnced myself his was the overall better option.

So there you go, a great read, well presented look into software, the mindsets that developers have (me me me) when building software, and how they are not the same people that actually use that software.

Book: Cost & Management Accounting: An Introduction

Saturday, August 15th, 2009

cost-and-management-accounting-an-introductionI have just finish reading Cost & Management Account: An Introduction by M. R. Mathews. I purchased this book off TradeMe six years ago. So it’s not been on my must read list, but I have slowly read it over the years.

The book is old 1981, but it’s still an interesting read.

Funest example in the book, starts like this:

Mole Ltd, installed a small desk computer on 1 May 1979 at a cost of $18,750 ….

how many K for small desk computer….

Also nice old-school 50 cents on the cover…

Book: Lex & Yacc

Saturday, June 27th, 2009

I picked up a copy of Lex & Yacc off TradeMe the yesterday, and I’m quite excited.

I’m hoping it will help me get my head around parser writing, for my still to-be revealed side project…

For a while now I have been working on a side project to add editor support for Erlang in Visual Studio.

I have a Google Code project for it, and it currently has syntax colour highlighting, but I was getting stuck with writing othe parser.

This is where the project has stalled over the last few months as I have been reading lots.

Originally I was basing my work on Lua Langage Pack for Visual Sudio. This package is a C# based plug-in that uses the CSTools project by Malcolm Crowe.

With the help of Code Project documents, MSDN and Blogs I slowly got a plug-in that has colour highlighting working (if you run it in the debug Visual Studio).

I was also reviewing how the IronPython project does it’s parser, but that used seemed to use python to do some parsing.. so

I then was trying to get Antlr to work, via AntlrWorks, but was banging my head on the debuggers limited support.

The next problem was how do I actually define the grammar for Erlang.

Erlang ships with a  grammar defined in yecc, it’s version-thing of yacc.  So I started translating this to Antrl but was getting left-right recursion errors, even though the problem was not the standard definition of left-right recursion problem.  Yecc is recursive decent as Erlang does recursion so well, but this was not playing well with Antlr. I then discovered I was looking at a subset of the Erlang gramma, and the full yecc gramma was huge, so hand translations was not an option.

So I then found the yecc grammar for yecc, and thought that I could hand roll a C# recursive decent parser for yecc, which would allow the auto-writing of a proper grammar for CSTools. But I wasn’t so keen on the .dll dependency of that tool chain.

I started reading the dragon book (Compilers: Principles, Techniques, and Tools) around this time, so was starting to get my head a little better positioned.

I then stumbled on to the Irony project which is a Visual Studio language development framework.  Eek they have most of what I was trying to workout how to-do, mostly worked out. But they have their own lex and yacc like tools.  This project also refers to the Visual Studio’s lex and yacc tools called MPLex and MPPG (distributed in the Visual Studio SDK)

I have just found that the newer version of the Lua project for Visual Studio 2008 uses the Irony project, and is hosted on CodePlex.

So I was getting keen again to work out how to use lex and yacc correctly, thus why when I saw this book for $3, I bid and anxiously waited to se if I’d win.  Of the 19 counted page view on the auction, 17 were mine.

So I’m half way through the first chapter and have just realised I don’t need to write a hand parser of yecc, I just need to write a lex parser that translates yecc to yacc, and rebuild that with MPPG to get a C# Erlang parser that is not hand rolled. Which means if the Erlang language changes, I can just re-run the whole process on the new gramma, and still be compliant.

New old books

Sunday, June 14th, 2009

The Christchurch City Library had their annual book sale on a few weekends ago.  I popped along, as it was held at the same venue I swim at each day.

The book sale is a two day event, and I actually went three times, first before my swim at 1pm, then again one hour later at 2pm and the last time on the Saturday at 1pm with my family.

The first visit was crowed, and the hall was full of trestles covered in books, one hour later half the books were gone, and the next day half again were gone. It was quite amazing, and also incredibly dirty feeling running your hand over the books to read the titles, while everybody else was doing the same thing.

poplAnyway, I picked up two books Programming C# 4th Ed by Jesse Liberty, because it was $2 and it never hurts to have a good reference book.  The other was Principles of Programming Languages 3rd Ed by Bruce J. Macleannan, as I really have been enjoying language/compiler books recently. Principles is a really good history of and why to it is that way type of book. A great read.