Tuesday, October 30, 2018

Buy, Rent, or Borrow Computing Power for Machine Learning

I am going through an interesting exercise at work. There are a number of us going through a Reinforcement Learning book and we all want to play with the code described in the various chapters. While I have the luxury of having a Linux machine sitting under my desk, others are not so fortunate. One of my coworkers has a rather large Linux box with a lot of computing power and so several people are running the exercises there. Unfortunately it can only handle about 3 really large jobs concurrently and so we are looking at other options for getting compute power for our Machine Learning exercises.

We tried the first solution by buying a large computer but there are a number of problems associated with that. I explained the first being that we are limited to about 3 people using it at the same time. the resources are fixed and don't scale well. The second problem is we have to maintain that computer. During one particularly large job, the computer stopped running at 4am and we have no idea why. We believe it might have been a hardware failure because the logs just suddenly stopped recording anything. It would be nice to have someone monitoring the computer 24 hours a day but that is not possible. Especially for a simple learning exercise.

The next option is to rent space on a cloud service such as Amazon (AWS), Google (GCE), or Microsoft (Azure). We do not require graphics processing units (GPUs) and so we can get enough computing power for all our experiments for around $650/month. We will take 2 to 3 months to read the book and would require about $2,000. That is significantly less than the price we paid for buying the computer mentioned previously. Furthermore the hardware will scale nicely. If we want to run more experiments, we increase the number of servers we rent. When we don't need them any more, we shut them down and don't pay to keep them running.

Finally there is the option of borrowing computing power. There are a number of other groups within the company that have spare compute cycles we could use for our learning exercises. This is the ideal solution if we only factor in cost. However the reality is that someone could be kicked off the hardware when other higher-priority tasks need to run instead or the problem of spreading out experiments evenly across the company.

We will probably end up renting servers from one of the public cloud companies as it seems to strike the balance between being cost effective and least troublesome. Your situation may be different and it is always worth considering all 3 options.

Monday, October 29, 2018

What to Play This Holiday Season

It feels like there are more high-quality video games being released than I can possibly play right now. I have such a huge stack of games to play I am having trouble figuring out how to get them all in. Right now I am trying to complete Far Cry 5 and rather than trying to do everything I will just do the basic minimum to get to the end of the game so I can move on to some of these other exciting games just released or soon to be released.

The sequel to one of my favorite video games was released on Friday last week and I will pick up my copy from a friend with ties to Rockstar Games. Yes, I am talking about Red Dead Redemption 2. I do want to finish Far Cry 5 before I start and so as soon as I can get back to my boat this evening, I will power through the final stages of that game.

There is also Spiderman that released back in September and has a lot of fans. My son completed the game, purchased the DLC, and has finished the first of 3 installments of the DLC. He really enjoyed the game. I don't know when I will get to that but it is on my list.

While I am currently playing Far Cry 5 on my sailboat when in the Bay Area, I am also trying to finish Detroit: Become Human back at home in Utah. I don't mind playing that game while at home because my wife likes to sit on the couch and watch me play. That is one of those games that is more movie with a few interactions than an action adventure game like most of the other games I play.

Looking ahead, there are a number of games to be released before Christmas that I also need to add to my playlist. Fallout 76 looks graphically amazing and should be an exciting follow-up to Fallout 4. Then Battlefield 5 gets released a week later. I really enjoyed Battlefield One and jumping forward in time to WWII will make for an interesting game. All of these should keep me busy through New Year's Day. Then there is a huge schedule of great games being released next year. So many games but so little time.


Saturday, October 27, 2018

YouTube to the Rescue

Three years ago when we bought my wife's Jeep Wrangler we saved a lot of money by getting it with just a soft top. Then earlier this year we decided to pay the $2000 and get a hard top as well. Now as we get closer to winter, I thought I would install all the wiring and plumbing for the hard top.

I ordered the kit from Mopar and it didn't come with printed instructions. It came with a CDROM. I pulled up the instructions a few weeks ago and printed them out so I didn't have to keep a computer near me as I worked on the Jeep. My hands always seem to get dirty when I work on cars and I don't want to get my computer dirty as well.

I started working on the wiring at 9:30 this morning and quickly ran into problems. So I pulled up YouTube and found a video of someone else installing the the hard top kit for his Wrangler. I watched the beginning of the video and found a quick solution to the first problem: use a pre-run wire to pull the wiring harness through the firewall. Going back to my printed instructions, no mention of a helper wire could be found but I did discover that your run the wiring from the inside of the car into the engine compartment. Had I read the instructions more carefully I would have figured out the trick with the wire. The video did help though.

Working on the car took all day. I did stop for lunch, dinner, and to make a run to Home Depot to pick up a T50 bit for my socket set and a siphon hose so I could empty the windshield wiper fluid. At dinner, I thought about calling it a day and finishing up next weekend. Then I realized that I just wanted to be done and so I pushed through. I finished up at around 8:30. Yes, the job took me 11 hours. Any time I got stuck, I would go back in the house, wash my hands, and continue watching the YouTube video.

Having an online resource to help get through the tough spots made my job a lot easier. Unfortunately it didn't solve all of my problems. Both the printed instructions and YouTube video were for a 4-door Jeep while my wife's is only a 2-door. While I had a few shortcuts I could take, there were a few times I stood there scratching my head wondering what to do next. The video also missed a few tricks that I would have liked to know. Ultimately I am glad I had the help.

Friday, October 26, 2018

We Learn by Doing

Thursday I spent the afternoon in a First Aid, CPR, and AED class. My office provided it free of charge to those of us willing to take the time to get trained and certified. This is something I try to do every couple of years but had let my certification lapse. One important thing I took away from the course is the importance of practice.

CPR is one of those skills that everyone should know but nobody should ever want to have to use. I have a close friend who had to use it on a work associate. Things worked out and the person survived. My buddy went to visit him in the hospital and apologized for breaking the guy's ribs. The survivor didn't mind as being alive sure beats being dead.

I have practiced CPR on a purpose built dummy but it is always good to get a refresher. Everyone in my class on Thursday had his or her own practice dummy and we all simulated giving CPR at the same time. While it is not the same as doing it on a real person, it is a lot better than simply talking about the procedure.

So what does this have to do with computers and technology? Lots. I am currently going through a book on Reinforcement Learning (a sub-topic of Machine Learning) and there are a lot of examples in it. Rather than simply reading about the process, it is important to work with a computer at the same time I am going through the book. Practicing what I read is really vital to my understanding of the topic. So if you find yourself trying to learn a new technology, don't just read about it, practice using it and you will learn more in the process.

Sunday, October 21, 2018

Children And Technology

Have you ever noticed how the previous generation always seems to be more knowledgeable when it comes to technology. In the 1980's, VCR's always seemed to be blinking 12:00 and the joke was to have your kid set the clock so it would show the correct time. Then the joke changed into having your kid help you with your computer. Now it is having your kid help you with your smartphone. Yesterday I got a call from my son that emphasizes just how true that is.

My grandson has always enjoyed mimicking my son typing on the computer. He also enjoys stealing his parents' smartphones and playing with them. Recently he figured out how to press the "Home" button on his Mom's (my daughter-in-law) iPhone. When Siri asks how she can help, he instructs, "Call Dad." Siri dutifully obeys and call's my daughter-in-law's father. To give perspective, my grandson is not quite 18-months old and has just started creating 2-word sentences.

I think my grandson has a ways to go to pass my son when it comes to understanding technology. So far he is on the right track though and I don't think it will take that long.

Friday, October 19, 2018

Paper or Electronic Boarding Pass

Yesterday I went to print my airplane boarding pass at the office before heading to the airport. One of my good friends seemed surprised that I didn't just send the boarding pass to my phone. He knows me as a technically-savvy guy and figured an electronic boarding pass on the phone is better than a printed one.

This is a discussion I have with several of my frequent flyer buddies all the time. Some of us prefer paper tickets while others prefer electronic ones. While I can't speak for everyone I can tell you why I prefer paper boarding passes: They are faster when going through TSA. When you spend as much time at an airport as I do, you start to notice that the people who slow down the security line are those trying to pull up their electronic tickets on their phones. The rest of us are stuck waiting behind them and even though we are not that much slower, it sure feels like it.

What is even worse is when a family tries to go through security and all of the tickets are on Dad or Mom's phone. You might as well just lie down and take a nap.

There is a secret if you insist on keeping your boarding pass on your phone. When you initially load the boarding pass onto your phone, look at it and take a screen shot being sure to capture the 2-dimensional bard code. Then you don't have to worry about having a fast network connection or where to pull up your boarding pass. Just bring up the screen shot and you will get through security without delay.

The second reason I prefer a paper boarding pass over using my phone is that the ticket readers take longer with a phone than with a piece of paper. Last night I boarded my flight from San Francisco to Salt Lake and my paper ticket scanned two to three times faster than Alex's who used his phone.

Now the detractors of paper tickets tout that they are not wasting paper by printing a ticket and they have a point. If saving paper is high on your list of priorities, then use the screenshot trick. As for me, I look for other ways of saving paper. Two pieces of paper a week is not that much. Also, paper does grow on trees.

Thursday, October 18, 2018

Cleaning an Old Computer

For the past several years I have had an unused computer sitting under my desk at work. The power supply failed and I never bothered to replace it. Instead my company just got me a new Linux desktop and my change in responsibilities meant that I didn't need anything off the old one. This week I finally got tired of having a useless computer and so I had our IT department take the old computer away. I also asked them to pull the hard drive out and see if we could pull anything off it. They couldn't and so I resigned myself to have lost anything of importance off that computer. As a last-ditch effort, we put the drive in a new computer and tried to boot it. Guess what? That worked.

Going through the files on the old computer disk felt like traveling back in time. It reminded me of how my current work is so different from the work I originally got hired to do. My old disk had about 57 Gigabytes of files. I sorted through it rather quickly and copied import stuff to my relatively new Linux box. Anything that I knew I didn't need, I deleted. Then just to be safe, I saved everything else and will put it in a safe place in case I need it again.

Cleaning off an old computer is something I usual when I get a new one. I often find that I place more value in stuff I won't actually need. Having my useless computer sitting under my desk helped me realize that I should be a lot more discerning the next time I have to clean up an old computer. After all, if I have not needed something in a 2-year period, chances are I won't need it any time soon.

Wednesday, October 17, 2018

International WiFi Calling

I had the pleasure of spending last week in Fiji with my wife on a nice vacation. While some people don't care about mobile phone charges when traveling internationally, it is something that concerns me. For this trip I tried something new and it worked very well.

When I boarded my flight in Los Angeles, I made sure to put my phone into airplane mode. Then I turned back on the WiFi. When I arrived at my hotel in Fiji, I just connected to the hotel's WiFi internet and could easily make calls home without worrying about any extra charges being added to my monthly bill.

Those that do a lot of international travel probably have a mobile plan that provides for inexpensive usage outside the United States. That is what I have with the phone provided by my company. As I rarely travel internationally for pleasure I don't have anything like that for my personal phone. That being said, I still probably only saved myself about $10 in extra charges using WiFi calling instead of just turning off airplane mode and using my phone normally. If you are like me and appreciate saving $10 then this is a good trick to know.

Friday, October 5, 2018

Lightning

Last night I flew into Salt Lake and when we landed we couldn't pull up to the gate because of a lightning storm. In my 20+ years of air travel, I have never been delayed because of active lightning and so this is not a common occurrence. When the pilot made the announcement that the ground crew could not come outside to direct the plane to the gate, I understood. Unfortunately not everyone on the plane did.

My wife grew up the the Seattle area and spent a good part of her childhood playing outside in the rain. Up there they have cloud-to-cloud lightning and so nobody came inside during a thunderstorm. Here in Utah, as well as other parts of the country, we have ground lightning and that will kill you.

Lightning is one of the more unpredictable forces of nature. We try to control its path through the use of lightning rods but the reality is that lightning will go wherever it wants and there is not much we can do about it. Should you be caught outside and can see lightning go from the sky to the ground, your best bet is to go inside a building or car (as long as it is not a soft-top convertible). Buildings are safe because they will generally keep the lightning away from the middle, which is where you want to be. Cars are safe, not because of the rubber tires but because the electrical charge will stay on the outside of the car body. Planes are equally safe and so sitting outside did not pose any danger to us passengers.

So why are people told to turn off and unplug computers during lightning storms? The best explanation is that your house electrical system is not compatible with the high voltages produced by lightning. If your house gets hit by lightning, the electricity will try to find a way to ground. All of the copper plumbing pipes and electrical wiring make a great path to ground and so lightning will seek it out. If your computer equipment is plugged in and/or has a wired network connection, part of the lightning strike will get into your computer and fry everything. More than likely you will have to replace everything that is electrical in your house should it be struck by lightning.

Going back to the poor ground crew that met our plane last night. I had one vocal passenger behind me ignorant of lightning danger. With all the water on the tarmac, a strike could happen a fair distance from one of the workers yet the person could still receive a lethal shock. While I would have liked to disembark the plane sooner, I would not wanted to have risked the life of ground crew.

Tuesday, October 2, 2018

Entertaining an Infant

Yesterday I had the chance to bring my grandson from Utah to California on my weekly commute. He spent the week splitting time between both his maternal and paternal grandparents while his mom and dad vacationed in Europe. As my grandson is only 15-months old, I didn't need to pay any extra airfare to bring him with me.

As a frequent flyer, I know it can be a huge annoyance when someone brings an unruly child on the flight. I always pack earplugs just in case there is a noisy kid sitting close by. I didn't want to subject my fellow travelers to a screaming toddler, especially since we were sitting in First Class. Unfortunately the flight didn't start out too well. I had to wake my grandson up early so we could catch our flight. That made him a little grumpy. We got on the plane and he kept making a lot of noise. Not nice noises but screaming noises. The kind that annoy everyone. I started to worry that my fellow passengers would throw us off if I didn't come up with a way to quiet him down.

My son and his wife had sent us a number of videos throughout their trip and we tried to reciprocate by sending videos of their son. To quiet the upset toddler, I pulled out my phone and started showing him videos of his dad. That helped a bit and then I started a 20-second video where my grandson wanders around the living room and then falls on his bum. For some strange reason, the little boy loved watching the video of himself falling down. He would laugh every time. We watched the video 30 to 40 times before the flight even left the ground. Each time, my grandson would laugh hysterically watching himself stumble. We watched it so many times I grew afraid that we would chew through my phone's battery before we landed in San Francisco.

After about the 40th time of watching the video, the plane started rolling down the runway and we climbed into the air. We had a bit of turbulence all the way to 39,000 feet and that gently rocked my grandson to sleep. He then slept the entire flight.

If you find yourself preparing for a long flight with a toddler, you might want to take a few videos of the child before heading to the airport. Hopefully you find one that makes the kid laugh. It may help keep your fellow passengers from asking you to ride on the wing.