Intellectual Curiosity

Posted by Brian Tue, 19 Jan 2010 22:50:00 GMT

I am becoming more and more convinced that what separates a good employee in a knowledge industry from a mediocre one is simply intellectual curiosity. Let us take an example.

You are an analyst who also doubles as a tester when changes are pushed to the test environment. Every week changes are pushed to the test environment and you are responsible for testing some subset of these changes to make sure they actually work as expected and introduced no regressions. Given that this testing work is painful, what should you do when given this job?

  1. Find a new job.
  2. Find tools to reduce the pain.
  3. Manually slog through every week.

If your answer was A and you have another job lined up, good for you. You get a banana sticker. If your answer was B then you also get a banana sticker. If your answer was C then you get beaten a banana-shaped stick. Let’s look at why.

Last year I reviewed The Productive Programmer and the more I think about the more it sticks with me. One thing the Ford discusses is that computers are great at running repetitive tasks, but that the modern computer user sits there doing repetitive tasks anyways. If you are doing a repetitive task it is usually painful and that is why answer C above is so wrong.

In this case the testing is painful because it involves having to go through many web pages before reaching what is actually under test. There are two better options. One, ask the developers how they test it. Any developer worthy of the title will not be sitting there doing repetitive tasks to test his work. Chances are good that you can apply his knowledge to help with your testing as well. Second, research tools to go through the pages for you. There are quite a few of them out there and they can be used by a non-programmer with some training. I use Selenium myself.

A little intellectual curiosity goes a long way.

no comments

Back Up and Running

Posted by Brian Sat, 16 Jan 2010 15:50:00 GMT

The site is finally back up and running. I have had downtime before, but it was usually my fault. Not this time. On Sunday Bluehost upgraded MySQL on my shared hosting box from 5.0.85 to 5.1.42 (kudos to Bluehost chat support for quickly getting this information). This resulted in some short downtime, but everything should have come back up normally afterwards. Unfortunately the upgrade changed some paths that the MySQL 2.8 gem relies on. It took me about six hours of work over several days before I finally got the magical error message that Google was able to help me with. I love StackOverflow. Bascially, downgrading the MySQL gem to 2.7 fixed the problem. There is an issue on 64-bit machines with the 2.8 version of the gem that the MySQL upgrade exposed.

On the plus side I upgraded the blog to Typo 5.4.1 from 5.0.2 during the downtime. You should see some speed improvements on the site as a result.

Tags  | no comments

52 Books a Year Wrapup

Posted by Brian Fri, 08 Jan 2010 23:21:00 GMT

I’m done. Finally. At the beginning of 2009 I decided I wanted to concentrate on reading more. Sometime in the spring I got the idea to read 52 books in 52 weeks. Then early in the summer I got the idea of writing a review of each on this blog. At that point I had already read about twenty books and had few notes to show for it. With a flurry beginning in November I was able to finish writing a review for each.

I won’t be doing this again next year. Working full time and reading a book a week takes up a lot of time so I will probably cut my reading in about half (still far more than most people). I hope to use the time I save to write more on various topics and to get back into pyFish.

  1. Ubuntu Hacks
  2. Rapture For the Geeks
  3. The Black Swan
  4. The Gridlock Economy
  5. All Marketers Are Liars
  6. Electronics For Dummies
  7. Just How Stupid Are We?
  8. Linux Apache Web Server Administration
  9. Mother Night
  10. God Bless You Mr. Rosewater
  11. Slapstick, or Lonesome No More
  12. True Enough
  13. Second Nature
  14. The Botany of Desire
  15. Wampeters, Foma & Granfalloons
  16. The Thing on the Doorstep and Other Weird Stories
  17. The Joy of Work
  18. What Do You Call a Sociopath In a Cubicle
  19. Programming the Universe
  20. On Paradise Drive
  21. Satanism: The Seduction of America’s Youth
  22. Agile Estimating and Planning
  23. Programming in Python 3
  24. Necronomicon
  25. Cyber Rules
  26. Steppenwolf
  27. The Art of The Infinite
  28. Chain of Command
  29. Robot Visions
  30. The Art & Science of CSS
  31. CSS Cookbook
  32. Foundation Rails 2
  33. How to Win Friends & Influence People
  34. Snakes In Suits
  35. Reengineering the Corporation
  36. Same-Sex Unions in Premodern Europe
  37. The Double Helix
  38. Snow Crash
  39. Cryptonomicon
  40. Producing Open Source Software
  41. Another Day in the Frontal Lobe
  42. The Paradox of Choice
  43. Journey into the Heart
  44. The Gathering Storm
  45. If Chins Could Kill
  46. Flu
  47. Infection: The Uninvited Universe
  48. The Gunslinger
  49. The Antibiotic Paradox
  50. The Productive Programmer
  51. Blood
  52. The Age of Spiritual Machines

Posted in  | Tags  | no comments

52 Books a Year: #52 - The Age of Spiritual Machines

Posted by Brian Fri, 08 Jan 2010 00:58:00 GMT

The Age of Spiritual Machines: When Computers Exceed Human Intelligence
By Ray Kurzweil

3.5/5

My 52nd book of the year was Ray Kurzweil’s The Age of Spirtual Machines. Ray Kurzweil is an inventor and futurist who is best known for his ideas on the technological singularity. Despite the fact that theory states that after a certain point it is possible to predict the future that is precisely what Spiritual Machines attempts to do. The crux of Kurzweil’s argument is the Law of Accelerating Returns, which states that the pace of technological innovation is increasing at an exponential rate. By projecting these advances out for a hundred years he draws some startling conclusions about what life will be like by 2099. Overall, this book was very good. It was published in 1999 and Kurzweil makes many predictions for 2009. Instead of writing a coherent review I will instead list some of these and see how he did. There are a ton more in this book, but I am going only going to hit on some of them. Remember, these are all predictions made in 1999 for 2009.

Supercomputers will reach human brain speed.

The human brain can perform 20 million billion calculations/second. Supercomputers hit broke the petaflop barrier this past year. That means that the human brain still performs 20x more calculations/second. We are not there yet, but the goal is within reach. Kurzweil was probably a few years off with this prediction.

10-micron MRI

This one was blown away. In 2007 MRI resolution of 90 nanometers was achieved and resolutions of 3 microns are standard.

Virtual sex with a real person with full visual and auditory realism.

Not. Even. Close. Virtual reality is routinely predicted by futurists, but nothing ever comes of it.

Implementation of self-driving cars feasible

Progress has actually been pretty good with this. The DARPA Grand Challenge provided some high visibility to the technology and got good media exposure. Kurzweil only predicted that it would be feasible, which is the case. He probably realized the massive hurdles in infrastructure costs and liability for injury that will delay deployment for many years to come.

Most people have at least a dozen computers on them at all times networked into a “body LAN”

Nope. There are some small sub-cultures that promote living constantly hooked into several computers, but they are far from mainstream.

Most memory in portable devices will be electronic.

Right on with this one. Electronic memory is ubiquitous in portable devices. I haven’t heard of a new portable device with a hard drive in several years.

Most portable devices won’t have keyboards

It is difficult to tell if Kurzweil meant that the concept of the keyboard would be gone or just physical keyboards. If he meant physical keyboards, he is well on his way to being correct. If he meant the whole concept of a keyboard he is very wrong. Judging from his other predictions on voice recognition I am betting he meant the latter.

Privacy concerns will prevent people from storing data in the cloud.

This one is a mixed-bag. Privacy concerns definitely loom, but most people are oblivious to them. It will take a large security breach at a company like Google or Facebook to change this.

Cables are disappearing in favor of short-distance wireless for components, such as monitors, printers, keyboard, etc.

They are disappearing for those who want them too. Cables are still cheaper though and most do not care. With that being said, wireless connections for components are very common. This one was pretty easy though as the trend was beginning back in 1999.

Most text is created with continuous speech recognition, which is more accurate than human transcriptionists.

Very wrong. Most text is still typed into a keyboard as I am doing now. Some new services are coming online though, such as Google Voice’s voice transcription. Quality is still spotty at best, but should continue to improve. Far from being as accurate as a human transcriptionist though.

Advances in displays will bring higher resolution, higher contrast, larger viewing angle, and no flicker.

Advances here have been constant, with all of the above coming true. The picture quality of a modern HDTV far exceeds that of what was available for a reasonable price in 1999. He also predicted a rise of what we now call e-readers to take advantage of these advances.

Computer displays in eyeglasses.

These are an active area of research and prototyping, but I know of nothing that has made it to the consumer market yet. There seem to be some high end products out there (here for example) though.

Three-dimensional chips will be commonly used.

3-D chips are still in early research stages, with most estimates placing them at least a decade out. The most recent story I have seen is here.

Trillion calculations/second for $1000 PC

Not there yet. Wikipedia gives a speed of 76 billion calculations/second for an Intel Core i7 Extreme 965EE, which costs about $1000 currently. That doesn’t include the rest of the computer to go around it either.

Posted in  | Tags  | no comments

Links Changed

Posted by Brian Fri, 01 Jan 2010 18:10:00 GMT

I just noticed that due to a misconfiguration on my web server all links were being generated with a leading /typo-5.0.2. Woops. This has now been changed to /blog. All old links will be redirected appropriately.

Tags  | no comments

52 Books a Year: #51 - Blood

Posted by Brian Wed, 30 Dec 2009 18:08:00 GMT

Blood: An Epic History of Medicine and Commerce
By Douglass Starr

4/5

This was the last of my wife’s popular medical books that she picked up at the library book sale this summer. I ended up reading all of them before she read any. Chronicling the development of blood transfusions from ancient times through today, Blood tells an interesting story. Early transfusion methods and ideas look crude and odd in modern times. For example, early experiments involved transfusing blood from farm animals into patients in an attempt to change their personalities. Needless to say, this didn’t work.

The primary focus in Blood is on two subjects. First, Starr details the rise of the blood industry, mostly beginning with work done during World War II. This was focused on battlefield transfusions and led to the development of technology to separate plasma and to handle blood and its derivative products in bulk. From here the industry exploded, with a number of new blood derivatives entering the market, stretching the number of people who could be treated for each unit of blood given. These developments also led to blood products being combined in large vats of thousands of units, each from a different person, which led to the focus of the rest of the book.

Today the safety of blood transfusions is excellent. It is very rare for anybody to get sick from a blood transfusion, but that wasn’t the case until the 90’s. Before this tens of thousands of Americans contracted hepatitis from transfusions, many because of the large vats used to make derivative products. If one unit of the tens of thousands contains hepatitis the whole vat will be contaminated. This was a known issue for the industry, but there were no tests initially. When tests became available the industry deemed it not cost effective to test every unit. The turning point came when AIDS came on the scene. The clotting that hemophiliacs use is derived from blood products that are pooled into tens of thousands of units. By the 1980s standard hemophiliac treatment involved many injections on a regular basis of this clotting factor, which led to as many as fifty percent of hemophiliacs in some areas contracting AIDS. To compound the problem the industry refused to admit their was a problem, leading to many lawsuits. The details of the industry’s indecision were exposed in court.

Blood leaves the reader with a bad taste in their mouth. Many in the blood industry turned their back on those who were being treated by their products. They either refused to admit their was a problem or decided they couldn’t do anything about it. Many knew that it would effect the bottom line and chose to do nothing. If you are interested in how the blood industry developed, then Blood is an excellent read.

Posted in  | Tags ,  | no comments

52 Books a Year: #50 - The Productive Programmer

Posted by Brian Tue, 29 Dec 2009 18:47:00 GMT

The Productive Programmer
By Neal Ford

5/5

One of my biggest pet peeves is seeing programmers not learn how to use their tools. How you can use the same tools year-after-year and not even take the time to learn the hot keys for them strikes me as stupid. With this in mind (and with the recommendation of a co-worker) I read (his copy of) The Productive Programmer.

One of Ford’s points in The Productive Programmer is that computers excel at automating repetitive tasks, yet many programmers spend an absurd amount of time doing just that. Our skill set gives us the unique ability to use computers in a way drastically different than most people, yet many programmers never break the old habits they gained before becoming programmers. He also promotes the use of tools to enhance speed, such as an application launcher, and the use of macros and hot keys to speed up your use of applications you use everyday. He promotes the use of virtual desktops and multiple monitors to enhance focus.

This book inspired me to refine many things I was already doing. On Windows I am making more use of Launchy than ever for various tasks. On Linux I use Gnome-Do more than ever. I have four virtual desktops set up on Windows with Dexpot and four on Linux with the built-in functionality of Gnome. It reinforced several programming techniques I already follow, such as composed methods, and inspired me to look into using dynamic scripting languages more for everyday tasks.

With its heavy emphasis on Java and scripting languages the specific examples here won’t apply to every reader, but that isn’t what is important. The Productive Programmer reads more like a philosophy book, inspiring the reader to interact with their computer in a new, more productive way. A must read.

Posted in  | Tags  | no comments

52 Books a Year: #49 - The Antibiotic Paradox

Posted by Brian Mon, 28 Dec 2009 18:44:00 GMT

The Antibiotic Paradox: How the Misuse of Antibiotics Destroys Their Curative Powers
By Stuart B. Levy, M.D.

4/5

When penicillin was first made available to the public it was touted in the press as a miracle drug that would end disease, leading to it being used to treat many illnesses that it had no real power to cure. Even today many still go to the doctor demanding an antibiotic to treat a cold because they do not understand that antibiotics only treat bacterial diseases, not viral. Stuart Levy explores this misuse of antibiotics in The Antibiotic Paradox.

So what is the paradox exactly? The problem is that the more you use antibiotics the more useless they become. An antibiotic does not kill every bacteria it comes in contact with. Those that are left usually have some form of resistance that can be transferred to other bacteria. In effect the use of an antibiotic selects for ever greater resistance to that antibiotic. It gets worse though. Even though we have approximately 100 antibiotics to choose from many of them have similar enough chemical compositions that resistance to one will also confer some level of resistance to another.

This paradox is a problem even with responsible use of antibiotics and Levy makes clear that proper use of antibiotics should not be stopped. His problem is with unnecessary and incorrect use of antibiotics. The patient who demands antibiotics unnecessarily can cause resistance that effects all. The person who pops a few pills when he feels a little run down is selecting for resistance in his own body for no reason. The overuse of antibiotics in livestock as a growth promoter limits the types that can be used in people because resistance has already been selected for. The explosion in unnecessary usage of antibiotic products in the home paradoxically can make your home less safe.

Levy has crafted an excellent exploration of the consequences of the abuse of antibiotics in society. As the only drugs whose abuse can actually cause more disease in society, he pushes for regulation that splits them into their own class of drugs with regulation that recognizes the unique role they play. Along with Infection: The Uninvited Universe, give The Antibiotic Paradox to a hypochondriac friend near you.

Posted in  | Tags ,  | no comments

52 Books a Year: #48 - The Gunslinger

Posted by Brian Sun, 27 Dec 2009 19:41:00 GMT

The Gunslinger
By Stephen King

3/5

My brother is a big Stephen King fan so when I was out of reading material on a trip I grabbed The Gunslinger, the first book in King’s Dark Tower series, from him. His version is the revised and expanded edition, which contains 35 more pages than the original and some changes to be more consistent with the plot of the later books. King started this series without knowing where he wanted to go with it and mistakes were made.

Explanations as to what the hell is going on are slim. The book jumps right in with the protagonist, Roland, chasing after the man in black for unknown reasons. The next 300 pages start to fill in the details about who Roland is and why he is chasing the man in black, although the full reasons for the latter are still unclear. Along the way Roland picks up a child, who ends up getting caught up in his obsessive pursuit.

King was young when he wrote this and it shows in parts. The writing can be rough with a disconnected feel, although this may be just frustration from not knowing much of what is going on. The Gunslinger proves that it is possible to write a 300 page book that feels like a prologue. You finish feeling like nothing much has happened. After finishing this one my brother told me not to read the next without reading some other King’s book. Apparently the rest of the Dark Tower series ties in with his other novels meaning I will most likely embark on a massive Stephen King project next year.

Posted in  | Tags , ,  | no comments

52 Books a Year: #47 - Infection: The Uninvited Universe

Posted by Brian Sat, 26 Dec 2009 18:37:00 GMT

Infection: The Uninvited Universe
By Gerald N. Callahan

5/5

Absolutely fantastic. This is one the few non-fiction books that I have read this year that I would recommend to anybody. In Infection, Gerald Callahan describes how infection is what makes us human. From the helpful bacterial flora in our intestines to disease changing the course of history, infection shapes us and the world we live in.

The book is divided into three parts. The first covers good germs and is the most fascinating portion of the book. Starting from before birth, where bacteria in the birth canal (Lactobacilli) help prevent premature delivery. Proteins from breast milk serve as fertilizer for bacteria to populate the child’s intestines, an essential part of health. From here we learn about parasitic worms being used to treat diseases and the possible role of bacteria in mental health. The big point is that bacteria are not always the enemy and that extreme cleanliness can actually be to the detriment of your health. The last two sections of the book cover the role of bacteria in shaping the world as we know it and some diseases that could alter the course of history. These sections are also interesting, but not as much as the first.

Callahan’s writing is excellent. He mixes in stories from his own family and how bacteria shaped them. He strikes a nice balance between medical and popular that will appeal to a wide audience while still being informative. I highly recommend picking this up. It will help you rethink how you view the bacteria surrounding us.

Posted in  | Tags ,  | no comments