Showing posts with label geeky stuff. Show all posts
Showing posts with label geeky stuff. Show all posts

Wednesday, February 4, 2009

Geeky Stuff: Damien Katz reveals his path to CouchDB

Here is a very interesting, inspirational and funny talk by Damien Katz in which he reveals how he left the rat-race only to enter it again some time later, on his own terms:

http://www.infoq.com/presentations/katz-couchdb-and-me

It makes me a) want to quit my job and be somebody and b) learn about CouchDB!

-BT

Monday, January 26, 2009

Geeky Stuff: Software Management 101 by RandsInRepose.com


It's late and I need to get to bed but I had to post this first, if only for my own information so I know where to find it later. It's an extraordinary blog post about software management and hits on just about every problem you are likely to run into as you move from being a software developer to being a software manager:

A Disclosure by Rands In Repose

If you are in software management, particularly if you are new to the game, you owe it to yourself to read this.

Enjoy,

-BT

Thursday, January 22, 2009

Geeky Stuff: Some Good (and free) Advice on Developing Software


Found this today and thought it was useful, it was written "a long time ago" by internet measures but still is very good and relevant if you develop software.

Enjoy!

-BT

(PS - Rob Pike is the guy in the foreground, Brian Kernighan is behind him)

Rob Pike on Complexity

Rule 1. You can't tell where a program is going to spend its time.
Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.

Rule 2. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.

Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.) For example, binary trees are always faster than splay trees for workaday problems.

Rule 4. Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.

The following data structures are a complete list for almost all practical programs:
array
linked list
hash table
binary tree

Of course, you must also be prepared to collect these into compound data structures. For instance, a symbol table might be implemented as a hash table containing linked lists of arrays of characters.

Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self­-evident. Data structures, not algorithms, are central to programming. (See Brooks p. 102.)

Rule 6. There is no Rule 6.

From the essay "Notes on Programming in C, Feb 21 1989" by Rob Pike

Wednesday, January 21, 2009

Geeky Stuff: Brian Kernighan lecture notes and stuff


You can find some of Brian Kernighan's (co-inventor of the C programming language and lecturer at Princeton) lecture notes here:

http://www.cs.princeton.edu/courses/archive/fall08/cos109/

By looking at the URL you can probably figure out how to get some of his notes for other courses, I'll leave that as an "exercise for the reader"! The stuff that I have read so far from the above link (much of which is in PDF) was very interesting and well-explained and would probably be a real help to anyone who is looking to get their feet wet in the IT world.

Enjoy!

-BT

Monday, August 25, 2008

You WILL get it wrong the first time

A good one by Tim Bray - don't feel bad if you mess up the first time because everybody does. Just keep it in mind when you give your project estimate...!

Read the article

-BT