Showing posts with label Books. Show all posts
Showing posts with label Books. Show all posts

Monday, August 15, 2022

Book Review: Clean Code

At KLAS Research I had one of my employees recommend that we get a bunch of copies of the book Clean Code by Robert C. Martin and give them out to all of the software developers on the team. Having never read the book, I picked up a copy from Amazon and it arrived at my house that very evening. I didn't even have to go to the local bookstore, which actually is one of my favorite activities. I wanted to read it before I recommended that the company purchase the $50 book.

I immediately started reading it and felt it had some great ideas that every software developer should learn. I recommended it to one of my engineers and she checked it out from the library before I even made the decision if it is worth getting for everyone. She found value and wisdom within its pages.

Ultimately I decided not the purchase copies for everyone on the team because it had a number of ideas that I disagree with. The book uses Java for almost all of the coding examples. It then goes on to say that there are very few differences between computer programming language choices and the principles in the book can be applied to the vast majority of them. I completely disagree. I am not a fan of Java because I think it requires too many lines of code to do anything useful. You can do so much more with Python in significantly fewer lines. Furthermore, while some of the suggestions in the book will help with Java, they are not needed for Python.

Computer programming languages all have their pros and cons, which is why there are so many of them. When it comes to data science, which is what I am doing now at Sony, most people choose between Python or R. Even then R is better for statistical computations while Python is better for machine learning and general-purpose programs. Java has its place too, but I wouldn't use it for data science as it is too cumbersome.

Going back to the book, Clean Code. I found it to be very helpful and it outlined a lot of concepts that will help you become a better coder. It talks about tried-and-true things like self-documenting variables and that if you have to use extensive comments to describe what your code is doing, you may want to rethink what you wrote. I also like the concept of when you fix bugs, to take that time to make the code simpler and easier to read. If you are looking to improve your own coding skills or are just getting into coding, the book will help you a lot. I'm not sure I can justify the high price for the book though and recommend finding it at the library or looking for a great deal on a used copy.

Thursday, July 28, 2022

Paper vs. Electronic Books

Last weekend I flew to Ohio with my wife to visit our son and his family. Before leaving on the trip I started reading a paper copy of a large book. I didn't want to carry the book on the flight as I packed in a small backpack. I had access to an electronic copy and so I put it on my phone. Then my wife and I headed off to the airport.

Waiting in airports and spending time on planes provides one with a lot of time to read. I probably spent 2 to 3 hours reading just on the way out. My screen was plenty large to read and I just had to scroll constantly. Interestingly, the chapters felt shorter on my electronic device. I also had no warning as I got close to the end of the chapter, which I didn't like. I did like that I could turn off my screen, put my phone in my pocket, and change seats or walk on the plane. With a physical book I would have had to put in a bookmark and try to remember which paragraph I stopped at when I started reading again.

I didn't get the chance to read while in Ohio, which didn't bother me as that meant I spent all of my time playing and doing more important things. Then it came time to fly home Sunday evening. I just opened my reader on the phone and picked up on the next chapter from where I left off. I had lots of time to read as the first flight was delayed an hour. I had a 3-hour layover and so it didn't stress me out. I read some more when I got to the intermediate airport and then watched a movie the rest of the way home after boarding my next flight.

Once home, it came time to go back to my paper book and update the bookmark in my physical copy. Doing so allowed me to visually see how much I had read on my trip. I instantly thought of how much better a physical book is than an electronic one. Then I realized if they are really better then why didn't I bring mine on the trip?

Ultimately I prefer physical books if I have the luxury of being at home and don't have to worry about lugging around anything. When I am traveling, I prefer electronic ones. You can carry many of them and you won't throw your back out because of them.

Monday, October 30, 2017

Enjoying a Solo Roadtrip

Thursday last week I drove my car from San Francisco back to Salt Lake. It is a trip I make about twice a year. Once I drive from Utah to California and then I drive the other way. I do it as I take a lot of vacation at the end of the calendar year and don't want to leave my car unused for such a long time. It is also a great time to do maintenance and take care of licensing.

There are a number of strategies I have used to combat boredom on the trip. On occasion I have enlisted one of my children to drive with me. My youngest daughter often shares with others about the time she flew to San Francisco and only stuck around for an hour or two before driving home. We had a fun time and listened to book on CD. We both enjoyed the fictional story and could talk about it as we drove the 11 hours.

Unfortunately my car is 17 years old and does not have a Bluetooth nor other type of audio connection. That eliminates being able to use a service like Audible. So before my trip on Thursday, I went to the local bookstore and purchased a non-fiction book on CD and loaded up the 6-disc changer in the trunk. At around the 5-hour mark, I swapped out CD's and loaded the remaining 3 as my book required 9 discs. The system works well but books on CD are more expensive than other sources or services.

My chosen listening material recounted the non-fictional story of Apollo 8. There are some familiar characters if you have seen the movie Apollo 13 and I enjoyed the references found in both. The story kept me entertained and the miles seemed to pass quickly. Of course, the 80-mile-per-hour speed limit in Utah and Nevada helped a lot too. If you find yourself wanting to go back and learn a bit about America's space program, I highly recommend the book. It is called "Apollo 8: The Thrilling Story of the First Mission to the Moon" by Jeffrey Kluger.

I plan to bring my car back to California after the new year as soon as I catch a weather window where I don't have to worry about snowstorms closing the freeway around Lake Tahoe. When I do, I will be sure to get another book to listen to. With enough warning, I can probably find a better source for the stories so I can play it from my smartphone instead of on CD. That should save me some money.

Thursday, September 17, 2015

Investing in a Video Game

Recently I finished playing a video game after about 40 hours of total game play time. I have to admit that I was sad when the game ended. It is not that the game had a bad ending. In fact, the ending made perfect sense and perfectly matched the game. After 40 hours of game play, I felt connected to the character I was playing. He was a part of me in that the choices made during the game were mine. I felt very invested in the character as well as the entire video game.

Once finished with the game, I started to think about where else I felt such a connection with a fictitious person. I love watching movies but they are usually only a few hours long. Sure there are sequels and prequels, but The Lord of the Rings trilogy maxes out at 9 hours, while the Harry Potter movies total around 19 hours.

Thinking about Harry Potter reminds me that the story started as a book series. My children grew up with me reading them the books at bedtime. The time it took to read those books easily surpasses the 40 hours of game play, yet I still don't feel invested in the characters the same way I do with those in my recently completed video game. With a book, all you can do is read about choices the author makes for the characters. My kids would often scream at the stupid choices certain characters in the book would make. With a video game, you get to make your own choices. As a result, you are much more invested in your character.

I am now ready to start my next video game adventure and picked up a dozen games at a recent clearance sale. I set aside 3 different games that came highly recommended and have them stashed by my video game console on my boat where I spend most of my weeknight evenings. Sure I could relax and read a good book or watch a few movies. Instead I plan to get wrapped up in another video game character and chart my own story. I'll let you know how it goes.


Friday, May 16, 2014

Online Updates

This morning I looked at my Android phone and noticed that it automatically updated 2 of my applications. Then I looked at my iPhone and noticed there are 7 applications that should be updated. Then I turned on my surround sound system and noticed it needed updating and so I did that. Once my surround sound completed, my son told me my PlayStation 4 also needs an update. I feel like I am in a never-ending cycle of updates.

I think it is great that all of these applications and devices can get updates when they are needed. I do think it is getting out of hand though. It seems like I can't turn on an electronic device, play a video game, or make a phone call without being told there is an update that needs to be installed.

I think I am going to read an old-fashioned book with real paper for pages. It may be outdated technology but it doesn't require any time to power up. It never runs out of batteries. Most importantly all major updates were included at time of printing, long before the book entered my house.

Friday, July 6, 2012

Why Are College Text Books So Boring?

I was busy minding my own business today when one of my coworkers engaged me in a very important conversation. He mentioned that there are some changes happening in the group that will require me to study up on my probability and statistics knowledge. There are one or two things that I remember about the subject from my days in college, most importantly that the O-ring failure on the Space Shuttle Challenger was a major topic of discussion. We also learned that lotteries are a tax for people that are bad at math.

Knowing that I will head into work on Monday with a need to know something more than basic definitions, I pulled out my old stats textbook and started going through it. What a bore. There must be some subliminal memories it stirred up because I immediately wanted to take a nap. Oh how I fondly remember sleeping in various rooms throughout the university's library. My particular favorite room was one with several fireplaces and overstuffed leather chairs, but I digress.

My coworker is also in the process of refreshing his probability and statistics knowledge. He recommended a different book and I have to say that it looks infinitely more interesting. I cannot yet recommend it because I have yet to see the entire book, however it does look promising. My coworker is enjoying it so much, he even has gone through and done the math examples in the first half of the book.

This has me asking the question: Why are college text books so boring? Maybe it is just the classes I had to take, but there are very few text books that I ever enjoyed reading. There is one that does come to mind though and it fits nicely with the theme of my Blog: The Soul of a New Machine by Tracy Kidder. It was suggested reading for one of my Electrical Engineering classes and took me two days to read. Sometimes professors do get it right but I believe that is more rare than common.

Thursday, November 5, 2009

Technical Books

Lately I have been working on a new software project that involves SQL Server Integration Services or SSIS as it is more commonly known. While I have extensive experience using Oracle and PostgreSQL databases, my SQL Server knowledge is somewhat shallow.

Yesterday I decided to make a quick run to the bookstore to see if there was a book or two that I could use to help me with one or two details on SSIS. I drove down and found two books. One was 400 pages and the other was 700. The difference in price was only $5.00 and so I did a quick scan of the index. I'm not sure if the larger book had a more comprehensive index or if it truly contained that much more material, but it seemed to be the better purchase. I was then back home with the entire roundtrip taking less than 30 minutes.

I got home and used the index to find the component of SSIS that I was working with and eagerly read. The book was a disappointment. It had no more information that I could figure out on my own by looking at the computer screen. There were no tips or tricks on how to get the tool to do more than what I was already doing. I was sad.

I used to love going to the bookstore and pick up technical books. In my office, I have three floor-to-ceiling bookshelves filled with computer-related books. Some I have even chapters chapters or been the technical editor. One I even wrote myself that was published by SAMS.

Yesterday was my first time back at the bookstore in quite a while and my experience with the SSIS book helped me understand why. Now that the Internet and World Wide Web have grown in size, it is generally where I go when I want to learn something new. With a few quick searches at Google or Bing, I can almost always find out what I need to know. When I couldn't find what I was looking for in the SSIS book, I did a quick search and found an example of what I was trying to accomplish.

Books are still a great place to get technical information. They are easy to carry and don't require an Internet connection to read. However, I think it is tough to compete with automated searches and up-to-date web sites. I still have my receipt so I think I will see if I can't get my money back on this SSIS book.