, Friday, 11 December 2009 4:19 PM (Category: Books
I have a book list that I have collected from various sources. Almost all of these I have, and I have read. These are the ones I recommend.
Developers - General
- Aho & Ullman - Foundations Of Computer Science
- Jon Bentley - Programming Pearls
- Jason Cohen - Best Kept Secrets of Peer Code Review
- Chad Fowler - My Job Went To India And All I Got Was This Lousy Book
- Robert Glass - Facts and Fallacies of Software Engineering
- Hunt & Thomas - The Pragmatic Programmer
- Kernighan & Pike - The Practice Of Programming
- Kernighan & Plauger - The Elements Of Programming Style
- Kernighan & Plauger - Software Tools
- Thomas A. Limoncelli - Time-Management for System Administrators
- Steve Maguire - Writing Solid Code
- Steve Maguire - Debugging the Development Process
- Jim & Michele McCarthy - Dynamics Of Software Development
- Steve McConnell - Rapid Development
- Steve McConnell - Code Complete (both editions)
- Steve McConnell - Software Project Survival Guide
- Charles Petzold - Code
- PJ Plauger - Programming On Purpose
- SAM's - Testing Computer Software
- Peter Seibel - Coders At Work
- Joel Spolsky - Joel On Software
- Joel Spolsky - More Joel On Software
- Joel Spolsky - Smart And Gets Things Done
- Joel Spolsky - Best Software Writing I
- Joel Spolsky - Best Software Writing II
- Bruce Schneier - Applied Cryptography 2nd Edition
- Subramaniam & Hunt - Practices of an Agile Developer
- Ed Yourdon - Death March
- Ed Yourdon - Classics In Software Engineering
Developers - Unix
- Donahoo & Calvert - The Pocket Guide to TCP/IP Sockets C Version
- Kernighan & Pike - The Unix Programming Environment
- Jerry Peek, Tim O'Reilly & Mike Loukides - UNIX Power Tools
- Eric Raymond - The Art Of Unix Programming
- Marc Rochkind - Advanced Unix Programming
- WR Stevens - Advanced Programming in the Unix Environment
- WR Stevens - TCP/IP Illustrated Volume 1
- WR Stevens - TCP/IP Illustrated Volume 2
- WR Stevens - Unix Network Programming
Developers - C
- Allen Holub - Enough Rope To Shoot Yourself In The Foot
- Werner Feibel - Using ANSI C In Unix
- Kernighan & Richie - The C Programming Language
- Kyle Loudon - Mastering Algorithms With C
- Steve Maguire - Writing Solid Code
- Henry Warren - Hacker's Delight
Developers - Database
- Dyer - MySQL In A Nutshell
- Michael Hernandez - Database Design For Mere Mortals
- Michael Hernandez - SQL Queries For Mere Mortals
Developers - Perl
- Christiansen & Torkington - Perl Cookbook (Sheep Book)
- Damian Conway - Perl Best Practices
- Orwant, Hietaniemi & Macdonald - Mastering Algorithms with Perl
- Wall, Christiansen & Orwant - Programming Perl (Camel Book)
Developers - Python, Ruby and PHP
I need to expand this.
Developers - Tools
- Jeffrey Friedl - Mastering Regular Expressions
- O'Reilly - Version Control with Subversion
- Alan Cooper - About Face (earlier editions)
- Alan Cooper - The Inmates are Running the Asylum
- Steve Krug - Don't Make Me Think
- Philip Greenspun - Philip and Alex's Guide to Web Publishing
- Donald Norman - The Design of Everyday Things
- Joel Spolsky - User Interface Design for Programmers
- Bruce Tognazzini - Tog on Software Design
- Robin Williams - The Non-Designer's Design Book
- Robert Austin - Measuring and Managing Performance in Organizations
- Fred Brooks - The Mythical Man Month
- Tom DeMarco - Peopleware
- Michael Lopp - Managing Humans
For managing your life
- Dale Carnegie - How to Win Friends and Influence People
- Robert Cialdini - The Psychology of Persuasion
- Stephen Covey - The 7 Habits of Highly Effective People
- Fisher & Ury - Getting to Yes
- Ron Hale-Evans - Mind Performance Hacks (O'Reilly)
- Andy Hunt - Pragmatic Thinking & Learning - Refactor Your Wetware
- Burton Malkiel - A Random Walk Down Wall Street
For starting a business
- Robert Anthony - Essentials of Accounting
- Merrill Chapman - In Search of Stupidity (things to avoid)
- Michael Cusumano - The Business of Software
- Michael Gerber - The E-Myth Revisited
- Jeffrey Gitomer - The Little Red Book Of Selling
- Paul Hawken - Growing A Business
- Guy Kawasaki - The Art of the Start
- Jessica Livingston - Founders At Work
- Latzko & Saunders - Four Days with Dr. Deming
- Geoffrey Moore - Crossing the Chasm (marketing)
- Gerald Weinberg - The Secrets of Consulting
- Paul Graham - Hackers and Painters
- Eric Raymond - The Cathedral and the Bazaar
- Clay Shirky - Here Comes Everybody
- Clay Shirky - Voices from the Net
- Emmanuel Goldstein - The Best of 2600 [A Hacker Odyssey]
- Clifford Stoll - The Cuckoo's Egg
- Clifford Stoll - Silicon Snake Oil
History & Insider looks at businesses
(You can overdose on these, so I get them only if I can get them for a dollar
- Tom Ashbrook - The Leap: A Memoir of Love and Madness in the Internet Gold Rush
- David Bank - How Bill Gates Fumbled the Future of Microsoft
- John Battelle - The Search (Google)
- Douglas Coupland - Microserfs (Microsoft)
- Robert Cringely - Accidental Empires
- Michael Cusumano - Competing on Internet Time (Netscape)
- Mike Daisey - 21 Dog Years (Amazon)
- Michael Dell - Direct from Dell
- Charles Ferguson - High Stakes, No Prisoners (FrontPage)
- Randy Hertzfeld - Revolution in the Valley (Mac)
- Eric Jackson - The Paypal Wars
- Kait & Weiss - Digital Hustlers
- Philip J. Kaplan - F'd Companies: Spectacular Dot-Com Flameouts
- Guy Kawasaki - The Macintosh Way
- Tracy Kidder - The Soul Of A New Machine
- David Kuo - dot.bomb
- Fred Lager - Ben & Jerry's: The Inside Scoop
- Ross Laver - Random Excess (Corel)
- Tim Berners-Lee - Weaving the Web
- Michael Lewis - The New New Thing (SGI)
- James Marcus - Amazonia (Amazon)
- Quittner & Slatella - Speeding the Net (Netscape)
- Edgar Schein - DEC Is Dead, Long Live DEC
- Robert Slater - Microsoft Rebooted
- Taylor, Schroeder & Doerr - Inside Intuit (Quicken)
- Linus Torvalds - Just For Fun
- Mike Wilson - The Difference Between God and Larry Ellison (Oracle)
- Michael Wolff - Burn Rate
- G Pascal Zachary - Showstopper! (Windows NT)
, Thursday, 10 December 2009 12:57 AM (Category: Music
In 2008, I joined lala.com. It was a CD trading site. I traded out about 800 CDs that I often wondered why I had bought, and I got in about 800 CDs that I wanted, or was willing to experiment with. I listened to a lot of music that was new to me.
Early 2009, Lala started to change focus and pushed the CD trading back a bit while they built up the music streaming business. CD trading pretty much dried up. I shifted my CD trading to SwapCD.com and MusicBoomerang.com.
After that, I got about 5 cds through Lala for the rest of 2009, while I got several hundred through the other two sites. Lala was not so good for trading any more.
Two days ago, Apple announced they had bought Lala.
I went to the Lala site to check if I had any trading credits left. It was pretty hard to check that, as Lala always kept your trading status pretty secret. (That was one thing I really liked about SwapaCD and MusicBoomerang - your trading status was transparent.) When I went to the trading section of Lala, there was an announcement that trading was gone. They had made the final transition to an all streaming business and the trading was done. One thing they did do was make our have and wants lists available for download. That was very good of them.
, Wednesday, 09 December 2009 11:38 PM (Category: Music
Now that my Slackware installations are up to date, and I saw a new version of Amarok come through, I thought I would check out Amarok again. I started it up, and it brought my whole system to a crawl while it looked for music to play. I couldn't even change focus away from Amarok for a while. Eventually it found all the music, and it stopped hogging my system and I could do things again. Let's see, what's new?
Nope, it's still the same. Still no dynamic playlists the way they used to have them. and every now and then it just hogs the whole computer, everything else stops while it looks at the hard disk.
That's a shame. It used to be a great music player, and now it's awful. It hogs the system, and has lost all the things that made it so good. I'll go back to aTunes again.
, Wednesday, 09 December 2009 4:13 PM (Category: Apple
I recently got asked by a rowing buddy what computer he should buy. I have written about this earlier. There have been more developments.
When asked this question, I asked him questions back. "What software do you use on your computer?" And I was told repeatedly that he only used a mailing list program to generate printing labels. After I had asked this question several times and quizzed him in different ways, and I always got the same answer, I recommended a Mac. He bought a Mac.
I have already described the saga of getting his mailing list moved to his Mac, and getting his email changed over to the Mac. I thought it was all over and he could get on with a new life in Mac-world. Then I got a phone call. He ordered the UPS program for his mailing that goes with the printed labels, and it's Windows only. And the UPS guy said that all businesses only use Windows and it's surprising to hear that he has a Mac and wants to do business stuff with it. In all his years, he's never heard of anyone who wants to do business on a Mac or wants the UPS software on a Mac. So now my friend asks how can he get the UPS software running on his Mac?
Now I have a lot of problems with this. After asking more questions, I discover that my friend installs the latest version of the UPS software on his computer each year about this time. He remembers every year to phone up and order the latest version. Yet when I asked repeatedly if he uses any other software on his computer, he couldn't remember the UPS software. If he had told me this when I asked, and I had found that it was Windows only, it would have been a no-brainer. I would have told him to buy a new Windows PC, and I would have whistled while I walked away from the mess because I don't do Windows. But no, he forget to mention it so I recommended Mac, and now, somehow, it's my responsibility to solve his problems.
Oh, and he's got a lot of names and addresses stored in the old UPS software, and he would like to NOT lose them.
I'm not going to fuss with dual boot and all the other crap you can do to get Windows running on Mac. My friend has enough trouble running one single computer, and I am not going to open up a can of worms that requires my lifetime support of his system. I suggested he keep his old Windows PC and install the UPS software on it. He agreed, sadly. But that involves me going round again and attempting to do the installation. So there goes another Saturday morning. I tried to install the UPS software on his old PC, but the installation refused to take place because something was wrong with the PC. It appeared to not be running Microsoft SQL Something. So I tried to run the older already-installed version of the UPS software and it very specifically told us that it could not find Microsoft SQL Something. I know nothing about this. I recommended he take the PC to a Microsoft specialist and get them to either fix the missing SQL Something, or do a reinstall in the hope that the SQL Something magically reappear.
My friend did this and the people at BestBuy said it would take 3 days and $200 and it wasn't worth doing. He would be better off buying a new PC. My friend did not want to spend that much money. The BestBuy geeks suggested he install the UPS software somewhere else, like his PC at work. My friend thought this was a great idea because it cost no money, and he did it, and it all worked fine and he was happy. Problem solved.
Here's my problem with this. Because I suggested a Mac, I have spent about 8 hours working on my friend's Mac and PC, finishing his upgrades and trying to get his data over. If I charged $50 an hour for this, my friend would not have gone down this route. He would have found someone else to do it for him for free, I would have had an extra eight hours of my life to spend on things that benefit me, and I would have had a lot less aggravation. There would have been one less Mac convert, but he's a reluctant Mac convert now because he's finding more stuff that is Windows only that he relies on. He should have remembered this when I asked him, many times, before I recommended a Mac.
So here's what is in my future. Anytime anyone asks me to recommend a computer, I am going to pretend I did not hear the question and I will walk away. If anyone asks if I can help with their installations or conversions, unless it involves only Slackware Linux, I will have to refuse because "that's all I know". I am not going to recommend anything or help with anything. I don't have many hours left to me, and I am not going to waste them dealing with Windows. Or Mac. And especially not for free.
, Wednesday, 09 December 2009 3:51 PM (Category: Linux
I decided to experiment with the new (to me) slackpkg way of keeping Slackware up to date. My home server was Slackware 12.2. I decided to see if slackpkg could get it up to Slackware 13.0. I tried it. It was a dismal failure.
Once I determined that I had rendered the server unusable, I installed Slackware 13.0 on it, configured it and got it all working again, and then used slackpkg to get it up to date. It worked fine.
So I have learnt an important lesson. Don't try and jump versions with slackpkg. I'll opt for the safer upgrade path in future.