Wednesday, September 25, 2019

How to Beat the Unseasonably High Temperatures in the Bay Area

Today is one of those really warm days in the Bay Area and everybody seems to be dying from the heat. I don't have air conditioning on my boat and so I really don't want to spend a sweltering evening on the water waiting for the temperature to fall to acceptable levels. I could stay at the office and play video games. Instead I am going to spend the next several hours on planes gathering frequent flyer miles.

Every year I look at how many miles I have flown and what frequent-flyer level that puts me at for my most traveled airlines. Last year I lost all of my perks on Delta but didn't really care. When I went to Disney World in May, I just made sure the purchase first class tickets on Delta. Then I didn't need to worry about if I got upgraded or not.

I generally fly on Alaska Airlines between Salt Lake and the Bay Area. I discovered that I wouldn't make the most elite level this year without a little help. When Alaska ran a sale for really inexpensive flights between SFO and LAX, I snapped up a few round trips for $101. That will push me over the top and next year I will reap the benefits.

So how do I decide if making the next level is worth the cost in flights? Easy, I look at the perks and assign a price to each one. When the perks outweigh the price for these extra tickets, I buy some inexpensive round trips. It is important to assign accurate values to each of the perks otherwise you can convince yourself to spend $20 for $10 worth of benefits. One example is the bonus miles awarded at the higher frequent-flyer level. In my mind I figured it was worth about 25,000 extra miles for the year. That is the equivalent of a domestic ticket anywhere Alaska flies. Rather than use my estimation, I calculated how much the benefit was worth this year and it turned out to only be around 15,000 miles. That is significantly less than my initial guess.

There are all sorts of tips and tricks to getting frequent flyer miles and reaching elite levels for the various loyalty programs. You can't be an elite member in more than one (or for a very rare group of people two) so it is important to pay attention to what your travel will be like in the future. If I was to quit flying for my job then tonight's flight would be wasted money. Fortunately I don't see that happening any time soon.

Tuesday, September 24, 2019

Revisiting Agile Development

A few years ago I wrote about Agile Development. Earlier this week I had an experienced that reinforced one of its principles: quick iterations. I have a project and have been given six months to complete it. I have another developer helping me and so we are meeting often to work on the deliverables. I thought we had a good start to our plan and sat down with my boss to go over some details.

My plan included installing some new software and migrating hundreds of people to the new system. I knew it would be a tough sell but that is how I planned to incorporate one of the most important goals of the project: world-wide access for all teams. My boss suggested using existing software and making small tweaks to bring teams on-board gradually. Rather than trying to get everyone onto the new software in a big push, we will make minor adjustments to the software that teams in one geographical location are already using. Then we will add another team midway through the schedule. Rather than trying to get the third and final group onboarded to new software that they are not familiar with, we will just copy data from our system to theirs and vice versa on a nightly basis.

My plan is much more comprehensive but runs the risk of being impossible. There is a chance that we will get to the end and not have anything working. This will extend the project for an unknown amount of time and could end up being a never-ending project. The new plan is incremental and allows us to have something to show every two weeks, which is our sprint length. If we are late on any of our deliverables, stakeholders will see the delays as they happen and be able to plan accordingly.

This weeks experience reminded me that even though I know software development principles, there are many ways to put them into practice and some are better than others. I need to remember not to focus on one goal at the expense of being able to get something done.

Monday, September 23, 2019

Setting up a New WiFi Access Point

My wife and kids have been complaining about the slow Internet at my house and so I had to take a look at it this weekend. When your kids are young, you can blow off their complaints about slow Internet access. When they know more than you do about computers it is time to listen and fix the problem. That is where I found myself on Saturday.

I couldn't understand what the family was talking about because my primary computer has a physical wire connected to our Internet router. Everything worked well for me. I even ran a speed test and got close to the physical limits of my hardware. Then I started running speed tests on other computers around the house that connect via WiFi. To keep things uniform, let's assume my max Internet connection is 100 Mbps (that's mega-bits per second, not to be confused with mega-bytes per second). Running an Internet speed test on my hardwired desktop results in a speed of 93 Mbps. The laptop next to my WiFi access point came in at a paltry 23 Mbps. The further away from my access point, the slower the speeds. That indicated I might want to update my WiFi access point. I headed down to the local Best Buy and spent $60 on a new piece of hardware.

Setting up a WiFi access point is not as simple as plugging in the hardware and turning it on. I had to turn off and on the cable modem and run a configuration program to let it set itself up. It only took a few moments and then I had things working to the point where I could run my speed tests. My hardwired desktop still had a result of 93 Mbps. Next I tested my laptop and it came in at 83 Mbps. That is significantly better than the 23 Mbps from before. Furthermore I was getting significantly better numbers on devices scattered throughout the house. The PS4 Pro in my TV room came in at 53 Mbps while the PS4 in my bedroom tested at 45 Mbps.

One thing I noticed is the degradation of the WiFi signal. My new WiFi access point actually comes with 2 access points: one at 2.4 GHz and the other at 5.0 GHz. The higher number frequency provides for faster speeds but has a range limitation. I can see the 2.4 GHz signal throughout the house but have to be fairly close to the access point to see the 5.0 GHz network. You'll want to remember that as you select where to place your WiFi access point should you be running through the same exercise. As my bedroom PS4 is furthest from the access point, it is stuck on the 2.4 GHz network as it can't see the 5.0 GHz one.

The final step for setting everything up was to configure my printers. I use IP printing with 2 laser printers (one black and white with the other color). All of the computers in the house expect the printers to be at fixed IP addresses and so I had to configure that in the new WiFi access point. It is easy enough to do and I completed it quickly. Now everything is set up.

I did all of this work while the rest of my family attended a wedding reception and so when everyone got home they noticed they couldn't get on the Internet. The old access point SID had disappeared. All anyone needed to do was look for one of the two new ones and reconnect. I do have to admit I chuckled every time I heard one of my kids exclaim, "Hey, what happened to the Internet?"

Thursday, September 19, 2019

Hard-Working Uber Drivers

I spent the first couple days of the week at Disneyland. Yesterday I didn't want to bother my wife and make her drive me to the Los Angeles International airport at 4:30 in the morning and so I took Uber. I think the $50 cost was worth it to my wife and two daughters who would have hated taking me at such an early hour.

I got in the car and started up my usual Uber conversation. I asked questions like, "How long have you been driving for Uber?" It came out that the driver would soon be quitting. He has 2 kids in college and has been driving to supplement his normal income to help pay tuition. His son will be graduating in December. It impressed me that my driver would wake up at 4am every day, drive to Disneyland, pick up a customer, and drive near the airport where he works his regular job. Then he would do the reverse each evening. He did this for his kids and I have to admire that.

With ride-share services such as Lyft or Uber, anyone with a car should have a job if they need one. My Wednesday morning driver realized that he needed a bit of extra money to help with his kids' college and signed up with Uber. He doesn't drive all day, every day. Instead he drives one trip in the morning to near where he works and then one in the evening. He also confessed to driving a few people on weekends as well. So if you find yourself needing a little extra spending money, take a page from this playbook and consider driving for Uber or Lyft.

Thursday, September 12, 2019

Avoid SFO for the Next 3 Weeks

Monday morning I flew from Salt Lake to San Francisco (SFO) for my weekly commute. As we got ready to board the plane, the captain came out and said we had a 2-hour delay. They unloaded the early boarders and then posted that the flight had been cancelled. My heart sank. Then the gate agent said that we would be heading to Oakland. So in the matter of 2 minutes, the flight went from on-time, to delayed, to cancelled, and then to a new destination. Personally I think the relief of not having the flight cancelled made the new destination much more palatable.

Once we arrived in Oakland, the airline paid for Uber to deliver me to my office. While the distance from Oakland to my office is significantly longer than from SFO, I thought the airline did a great job of taking care of their passengers (it is Alaska for those interested).

San Francisco is repairing one of their runways over the next 3 weeks. Unfortunately the repair cuts through 2 other runways and so they are down to a single runway instead of the usual four. The construction is expected to be completed on the 27th of September and until then air travel in and out of SFO is going to be painful.

Knowing about the construction I have been checking arriving flights from Salt Lake and departing flights in an attempt to guess where my flight this evening would depart. All the flights have left Salt Lake and gone to Oakland so I know that is a constant. Monday night's flight flew out of Oakland. Tuesday's flight made it out of SFO. Then last night's flight departed from San Jose. When I woke up this morning I didn't have a clue where I would be leaving from. I got to the office and got word that my flight was cancelled. I immediately called the airline and was told I could get on a 1pm flight through Portland. While I rebooked the flight, I got an e-mail saying my flight had been changed to San Jose. I got put back on my original flight and then figured out how to get to San Jose. The airline helped significantly and so I can't complain about them at all.

Ultimately the problem is that the runways in San Francisco need to be fixed and they determined now is the best time to make the fix. That has airlines scrambling to accommodate delays and cancellations. So if you can avoid SFO for the next 3 weeks, do yourself a favor and avoid it.

Tuesday, September 10, 2019

Using my Chromebook with my Ham Radio

Last weekend I had the pleasure of staying up all Friday night and helping with the Wasatch 100 ultra marathon. It is something my wife and I do every year around this time. We volunteer our evening and help provide the race officials with the times that runners enter and leave our checkpoint at the 63-mile mark known as Scott's Peak.

I have a portable ham-radio box that contains 2 different radios. One radio we use to communicate with race officials using voice. The second radio is connected to some additional equipment that allows us to send data to a server. Using both radios allows a lot of flexibility. Rather than tie up the airwaves speaking racer numbers and times, we just enter that into the computer and transmit it more efficiently. We still make a few mistakes and have to correct them but it is a lot better than doing everything by voice.

In years past, I have used a full-blown laptop as the computer to connect with the ham radio. This is because I have needed special software to interface everything. I started noticing others talk about using tablet computers and figured I could probably get away with using my Chromebook. While my laptop has a good 5-hour battery life, my Chromebook has more than 3 times that amount.

Using some spare time over Labor Day weekend, I connected my Chromebook to my radio gear and worked through all of the bugs to get everything functioning properly. I had to run through a number of different terminal programs as some will not interface directly with my USB connection but eventually I found one that worked. After using it for the evening, I will try to find something else for next year as it did have a problem or two. The most glaring one is that I could not set the backspace key to control-h like the radio software expected. Any time I made a mistake typing, I had to use the control-backspace combination and sometimes that didn't work. Given a bit more time, I'm sure I could have found a terminal program that worked better and will look into that for next year. On the PC I can just use Putty.

I have to say that I am happy I did a bit of playing around before the race. My Chromebook is significantly less expensive and much lighter than my laptop. It worked almost as well and we got our runner times entered efficiently. I wonder what I can do next year to improve our setup? I'm sure I will come up with something.

Thursday, September 5, 2019

A Second Ending to God of War on the PS4

I think I have decided to try and earn all of the trophies in God of War on the PS4. During the course of the game you need to collect a few artifacts and I know I missed a few from the beginning of the game. Last night I decided to go back to the beginning and see what I missed. I battled a few bad guys and collected a few of the artifacts. Then I walked into my home and had the option of taking a nap. I decided to give it a shot and discovered the 2nd ending to the game.

When I finished the game a few weeks ago, I watched as credits scrolled and then quickly dismissed them so I could continue playing. I thought I had completed the main story and patted myself on the back for a job well done. So imagine my surprise when I saw the second set of closing credits. Considering I work in the video game industry, I probably should have watched the credits to pay homage to any friends I know that may have worked on the game. Full disclosure: I probably know at least one or two people that worked on the game as that is just how this industry works.

The second closing scene before the credits makes it very clear that the developer, Santa Monica Studios is planning a sequel. I don't want to give away too much and so if you enjoyed the game but didn't see the second closing, go back to the start of the game and take a nap. You won't be disappointed.