How Do I Write Good Code?

Eric Dietrich, over at DaedTech, explains how he writes good code.  It’s a post worth a read in full, but here is a summary:

  • Make it easy to change
  • Make it really readable
  • Make it work
  • Make it elegant
  • Learn from accomplished practitioners

He is also listing a few books to learn from (the Amazon links are those of Eric – I have no idea if they are affiliated or not, but if they are, he’ll get the credit, like he deserves):

O’Reilly Parody Book Generator

I have utmost respect for O’Reilly Media.   They’ve published numerous technology books, aggregate and shared plenty of human knowledge, and saved years in productivity and tonnes in pulled out hair.

But no matter how many books they will publish, there’s always the need for more.  Well, know that need is at least partially solved.  Not in the form of whole books, but at least in book covers.  With the help of the this parody book generator you too can become an author of whatever was that you wanted to share with the world.

Procrastination

Free Data Science Books

I came across a collection of free data science books:

Pulled from the web, here is a great collection of eBooks (most of which have a physical version that you can purchase on Amazon) written on the topics of Data Science, Business Analytics, Data Mining, Big Data, Machine Learning, Algorithms, Data Science Tools, and Programming Languages for Data Science.

Most notably, there are introductory books, handbooks, Hadoop guide, SQL books, social media data mining stuff, and d3 tips and tricks.  There’s also plenty on artificial intelligence and machine learning, but that’s too far out for me.

The Secrets of the FBI by Ronald Kessler

secrets_of_the_fbi

The Secrets of the FBI” is the second audio book by Ronald Kessler that I’ve listened to.  I enjoyed it much more than “In the President’s Secret Service“.  This one covers the history of the FBI in much more detail, and provides both insider’s perspective and a bird’s eye view of how the FBI was created, evolved and got the where it is now.

One thing that I found very interesting was how much an impact each of the directors had on the development of the FBI, and how different these were.   Also, descriptions of technology evolution in the FBI were particularly interesting to me.  The state of the computeres by the 9/11 was especially depressing.  I nearly couldn’t believe what I was hearing…

Overall, I’d recommend this book to anyone interested in law enforcement history, government projects, and special tactical units.

In the President’s Secret Service by Ronald Kessler

In-the-presidents-secret-service

Now that I drive plenty on a daily basis, I have a lot of time to listen to audio books.  I don’t have the routine or taste worked out yet, so my picks are rather random.  One of the first things that got onto my radar was “Inside the President’s Secret Service” by Ronald Kessler.

I do have a fascination with all kinds of special forces and units, so that was a quick pick.  Unfortunately, the book doesn’t go into too much detail of the Secret Service training (maybe because it is a Secret Service), but it does cover a bit of history and provides a bit of insight into what kind of a job a Secret Service agent has.  The rest of the book is dedicated to the different presidents and their families – how are they in real life, when the cameras aren’t rolling.  I don’t know how much of these are actually true, but it was still interesting to listen to and “compare notes”.  There were also some funny anecdotes in there.

As far as recommendations go, I wouldn’t suggest this book, unless you are completely out of ideas for anything else.  There are better ones.

The Architecture of Open Source Applications

The Architecture of Open Source Applications

Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another’s mistakes rather than building on one another’s successes.

Our goal is to change that. In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program’s major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, these books can help you too.

There is also the fourth book in the works – 500 lines or less.

Teach Yourself Programming in Ten Years

Teach Yourself Programming in Ten Years

The conclusion is that either people are in a big rush to learn about computers, or that computers are somehow fabulously easier to learn than anything else. There are no books on how to learn Beethoven, or Quantum Physics, or even Dog Grooming in a few days.