Category Archives: Books

5 Books to make you stupider

Well, after a week of investigation, I’ve settled on a social network for books: Shelfari. It’s attractive, easy-to-use, easy to manipulate many books at once, they have a mobile version, and I have one friend on it (who invited me).

 Goodreads.com also looked nice, and it almost won. bookwormr.com, the one I originally found was just too immature at this point. I’m also wondering what features are going to set it apart from the pack, especially when there are so many well-established sites that do the same thing.

Meanwhile, if you want to read some books that will definitely NOT make you smarter, check out 5 Books that can actually make you stupider.

Visit my Shelfari page.

 

Technorati Tags: ,

Popularity: 6% [?]

Online reading list – bookwormr

I found a great site I wanted to share with everybody: bookwormr.

To explain:

I’ve got 3 large books on my nightstand at the moment:

  • Scotland: The Story of a Nation – Magnus Magnusson – Much of my heritage is Scottish, and I got intensely interested in Scottish history during our trip to Edinburgh last year.
  • Code Complete – Steve McConnell – I’ve read this before, but it’s a good book to review every year or so and pick up new tips.
  • The Complete Grimm’s Fairy Tales – there are many variations on this book. I have a very old, out-of-print edition. I read a few of these a week–they’re mostly quite short.

Those are all fairly large books and I’ve been working on them simultaneously. Meanwhile, I keep getting book recommendations from various places (blogs, podcasts, family). It’s to the point where if I don’t write them down, I’ll forget. I’ve sort-of kept track of books I want to read on my shelf, in an Outlook note, in e-mails to myself, but I was in need of a central repository for this.

So I stumbled upon bookwormr, which is (almost) exactly what I want.

It’s still in its infancy stages, but I think it shows great promise. And it is usable now, despite some rough edges. The owner seems very amenable to suggestions via the blog.

How it works:

  • Search for books (it uses Amazon as its database)
  • Add them to one of your three lists (already read, reading, want to read)
  • You can tag, review, and rate the books.
  • See what others are reading.

The author also has a wordpress plug-in and a Facebook app to go along with it. I’m going to try out both.

Features I’d like to see:

  • Easier way to add multiple books at a time
  • Ability to sort lists according to a ranking system of my own (the author is planning on adding the ability to sort on author, title, book rating overall)

Update: here’s my bookwormr profile.

Technorati Tags: ,,

Popularity: 5% [?]

20 Things to do when the Internet goes down

Even if the Internet connection goes out, your computer does not become a dumb brick. There were days these last few days where I didn’t bother turning it on. Then I realized all the things I could still do.

(My home Internet connection finally came back this morning. I’m bit upset that they didn’t figure it out earlier. It turned out that the first technician grossly misdiagnosed the problem. He put in an order for a new drop to be put in. Turned out it was just a broken modem. Why didn’t they try that earlier? Worse, why didn’t I think of it earlier. To be honest, I did think of it, but didn’t push it. Now I just need to get my money back from Comcast.)

Without further ado, here’s my suggestions for what to do when the Internet goes out:

On the computer:

  1. Organize photos in Picasa – I have nearly 6,000 photos on my computer. Many of them need to be deleted, organized, tagged, labeled, e-mailed, etc. (Yes, e-mailed–I can queue them in Outlook until the connection comes back).
  2. Organize My Documents – I’ve let My Documents folder get very messy. Lots of files that don’t need to be there anymore. Others need to be filed, or re-filed.
  3. Organize e-mail – I’ve got hundreds of folders in Outlook. I’ve tried to keep my Inbox empty and put things into @Action, @Someday, or @WaitingFor folders before they find a permanent home, but sometimes it still gets out of hand.
  4. Organize and fill in information in Windows Media Player. I still have music tagged with the wrong genre…
  5. Program. I’ve got two major programming projects I’m working on. They don’t depend on the Internet. The Internet is NICE if you need to learn something, but there’s always plenty of stuff to do that doesn’t require it. Write unit tests, run code coverage, design graphics, do all the other stuff if you must.
  6. Write e-mails to family. Long ones. Your mom will thank you.
  7. Catch up on podcasts. I got through ten episodes of Ask a Ninja, and nearly all backlogged podcasts. Now I’ll have a flood when I sync tonight.
  8. Write blog entries. I use Windows Live Writer. I should have done more of this.
  9. Play a game.
  10. Better, write a game.
  11. Setup appointments and events in Outlook for the next year.
  12. Read some classic programming texts.
  13. General computer maintenance. Defrag your disk, delete temp files, delete old installation files you haven’t used in 5 years (yes, I have some of those…). Use DiskSlicer to find where your space is going.
  14. Do long-avoided projects. I have approximately 20 hours of audio I need to edit and split into tracks. I’ve been putting it off for a very long time.

Off the Computer:

  1. Practice the piano.
  2. Read books. I’ve just started Cryptonomicon by Neal Stephenson. Very good, so far. Go buy it. If you’re a geek, you’ll like it. How can you not love a 2 page diversion into the mathematics of when a bike chain will interfere with a broken spoke and fall off? Other than the geekiness, it’s a good story.
  3. Learn to cook a new dish.
  4. Do crosswords.
  5. Exercise.
  6. Relax.

Or just go to the library and use the Internet. I only did this a few times, despite it being within walking distance from where I live.

Technorati Tags: ,,,,,,

Popularity: 6% [?]

The Effective Software Developer’s Book List

What books should all serious developers read and study? This is a list of books that I have either found particularly helpful in my own growth as a programmer, or that are popular on various required-reading lists. I have bolded books I consider absolute required reading (probably multiple times) for all software developers.

I’ve gathered these books from multiple sources, beginning with Steve McConnell’s list in the back of Code Complete.

By the way, just because a book is listed in the Introductory section does not mean you shouldn’t read it because you’re advanced.

Why the Have I Read? column? To keep me honest, and to serve as my own checklist.

(Updated 11/28 – PeopleWare)
(Updated 12/7 – Design of Everyday Things)
(Updated 1/26 – Beautiful Code, Essay section)
(Updated 6/3 – Pragmatic Unit Testing in C# with NUnit)

Introductory


Book


Have I Read?

Code Complete: A Practical Handbook of Software Construction
Steve McConnell
Y
Conceptual Blockbusting: A Guide to Better Ideas
James L. Adams
 
Programming Pearls (2nd Edition) (ACM Press)
Jon Bentley
Y
Facts and Fallacies of Software Engineering
Robert Glass
 
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt and David Thomas
Y
Object-Oriented Design Heuristics
Arther Riel
Y
UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) (The Addison-Wesley Object Technology Series)
Martin Fowler
 
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Craig Larman
 
Refactoring Workbook
William Wake
 
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
Frederick Brooks
Y
Introduction to Algorithms
Thomas Cormen
 

Intermediate

Book Have I Read?
Software Configuration Management Patterns: Effective Teamwork, Practical Integration
Stephen Berczuk and Brad Appleton
 
Software Creativity 2.0
Robert Glass
 
Testing Computer Software, 2nd Edition
Cem Kaner, Jack Falk, Hung Q. Nguyen
 
Rapid Development
Steve McConnell
 
Software Requirements, Second Edition
Karl Wiegers
 
“Manager’s Handbook for Software Development” (PDF)
NASA Goddard Space Flight Center
 
Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series)
Martin Fowler
 
Test Driven Development: By Example (The Addison-Wesley Signature Series)
Kent Beck
Y
Pragmatic Unit Testing in C# with NUnit, 2nd Edition
Andy Hunt, Dave Thomas, Matt Hargett
Y
Refactoring to Patterns (The Addison-Wesley Signature Series)
Joshua Kerievsky
 
Head First Design Patterns (Head First)
Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra
 
User Stories Applied: For Agile Software Development (The Addison-Wesley Signature Series)
Mike Cohn
 
Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Robert Martin
 
Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
Jimmy Nilsson
 
Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series)
Kent Beck
 
The Design of Everyday Things
Donald A. Norman
Y
Beautiful Code: Leading Programmers Explain How They Think  

Professional

Book Have I Read?
Software Architecture in Practice (2nd Edition) (The SEI Series in Software Engineering)
Len Bass, Paul Clements, and Rick Kazman
 
Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series)
Martin Fowler
Y
Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)
Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides
Y
Principles Of Software Engineering Management
Tom Gilb
 
Writing Solid Code
Steve Maguire
 
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans
 
Working Effectively with Legacy Code (Robert C. Martin Series)
Michael Feathers
 
Agile Estimating and Planning (Robert C. Martin Series)
Mike Cohn
 
Lean Software Development: An Agile Toolkit (The Agile Software Development Series)
Mary Poppendieck and Tom Poppendieck
 
Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series)
Mary Poppendieck and Tom Poppendieck
 

Essays

Essay Have I Read?
Teach Yourself Programming in Ten Years
Peter Norvig
Y
They Write the Right Stuff
Charles Fishman
Y
The Humble Programmer
Edsger Dikstra
Y

Management

Book Have I Read?
Peopleware: Productive Projects and Teams
Tom DeMarco
Y

Windows

Book Have I Read?
Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server(TM) 2003, Windows XP, and Windows 2000 (Pro-Developer)
Mark Russinovich and David Solomon
Y
Programming Windows, Fifth Edition
Charles Petzold
Y
Programming Applications for Microsoft Windows
Jeff Richter
Y
Programming Windows With MFC
Jeff Prosise
Y

.Net

Book Have I Read?
Inside C#, Second Edition
Tom Archer and Andrew Whitechapel
Y
CLR via C#, Second Edition (Pro Developer)
Jeff Richter
Y

Technorati Tags: , , ,

Popularity: 21% [?]

Farewell, Robert Jordan

According to his blog, Robert Jordan passed away yesterday. He fought a tough illness for quite a while. I became a big fan of The Wheel of Time a few years ago and forced myself to stop reading the books until the final one comes out.

I loved the books because they were immense, detailed, complex, and very engaging. He was in the middle of writing it, and he has left notes and given an oral narration of the end of the series, but it just won’t be the same.

Popularity: 2% [?]

Fahrenheit 451

I just read the book Fahrenheit 451 by Ray Bradbury. This is the first time I’ve read it, never having come across it in school, like most people seem to. To me, it was the greatest argument against getting a TV. My wife and I decided towards the beginning of our marriage to never subscribe to cable TV. My parents never did while I was growing up. We will probably get a TV at some point, but it won’t be hooked up to anything but a DVD player.

The theme of the book was not exactly what I expected: I had always heard it was about government censorship, and it is–sort of. The more important theme running through it is the danger of intellectual laziness. It portrayed a world where various minority groups demand that offensive books be banned, eventually leading to the solution of burning nearly all non-trivial books (operating manuals and such).

The point is that the problem started with the people, not the government. They demanded softer forms of entertainment: TV in it current form, comics, music. And all of those media were dumbed down to the point of banality as well.

Those media don’t HAVE to be so mindless, but in their present form they largely are. Books that challenge or expand our thinking are crucial parts of our society and personal development. This is something I’ve been taught since a very young age–and it’s why I’ve got about 2,000 books in my home right now, waiting to be read or re-read, and why I can’t resist buying a new book almost every month!

Popularity: 4% [?]

Code Complete 2

I finally bought myself a copy of Steve McConnell’s Code Complete, 2nd Edition. I’ve read about a third of it so far and love it. It’s by far the most practical and useful book on programming I have ever read.

But how to learn it all? Sure, an experience programmer will pick up many of these ideas over time, but how can I start implementing ALL of them?

I think my plan is to read it through once, and then while I sit at my desk at work (or home), leave it open to a random page so I can think about the displayed topic.

Popularity: 4% [?]