It isn’t something I think about much but today I was a little astonished when I realized the Mac mini has been running for about 18 months. Not continuously. I did shut it down for about six hours once when I upgraded the memory at a friends house. Another time it was down for about four hours when I moved my office. Other than those ten hours of rest the mini has been restarted when Apple released updates to the OS that insist on a restart.
I just took a look around my work area to see what the most useful thing has been over the past week. It has been a rather long week since I’ve been studying for an exam. There is nothing I hate worse than exams. They are the least practical way to evaluate real knowledge that I can think of, but that is another story. What I found to be most useful is How to Prove It: A Structured Approach, a book that does a good job of presenting a very important skill for anyone working toward a degree in Computer Science (or math I imagine). I really wish I had known about this when I was getting my Bachelor’s degree. It would have helped a great deal with the “introductory” courses in discrete math, computer science theory, and graph theory.
It’s Friday and it seems like my last few posts have been quite serious (complete with references even) so today I’m just going to mention a few Web sites that are useful for doing research on doing research, and mention an interesting research workflow.
Much has been written about process improvement in the software industry. The SEI has developed the CMM (now known as CMMI) for about twenty years, yet according to a survey of 2000 government and commercial organizations about 50% are still CMM Level 2 or lower [1]. This is not surprising considering estimates of project failures typically run very high (some estimate over half). The higher levels of CMM are designed to insure repeatability of successes as well as identification of and improvement on failures, so we might assume that organizations operating at a higher CMM level have fewer failures. This leads to an interesting question. Why would a company not improve their process by means of application of CMM KPA’s or other forms of process improvement?
I was thinking about my claim that all development will move to the Mac when I realized that there is an obvious exception. The Artful Dodger. Why? In order to avoid responsibility, and reduce efficiency.
If I could only recommend one book that every software engineer must read it would NOT be The Pragmatic Programmer: From Journeyman to Master, but to be fair I’m not sure what it would be. I will say that when you graduate with a B.S. in Computer Science your university should send you a copy of this book.
(more…)
As a method of rating different items that I post reviews for I will use beers. Basically, I’ll relate the quality or enjoyment of the item to the equivalent enjoyment in beers. The scale will go from -5 beers being something that was really unenjoyable or of very low quality, to 5 beers being something that was very enjoyable, high quality, or simply something I can’t live without.