Monday, January 31, 2022

Smartphones at Disneyland

I know it is winter and I never like to leave home during ski season but I spent last week at Disneyland. My son gave his two kids a trip to the "Happiest place on Earth" for Christmas and allowed me and my wife to tag along. As it was our grandchildren's first visit; we had to go. Now that I am back, I can say I didn't mind taking a few days off from skiing. We have not had snow for a few weeks and the mountains could use a fresh coat of paint.

We arrived Sunday evening and prepared for our first trip into the park on Monday. I made sure to print out our tickets as well as the QR codes for our reservations as they are required for the park. I like having printed copies of things but that is the old-fashioned way of doing things. Before leaving home I had also loaded the Disneyland app onto my smartphone and that held the keys to the kingdom (pun intended). All I really needed to do was to just log into the app with the same e-mail I had made my reservations and everything transferred over. That is what my son did he didn't have to worry about carrying a bunch of paper printouts.

For those who have not been to Disneyland in a long time, Fast Pass no longer exists. Instead you have the option of paying $20 per day and getting access to Genie+. That allows you to use your smartphone and reserve a spot in line for most of the rides. We didn't understand that and quickly discovered that not getting Genie+ meant waiting in long lines even during off season when the lines are not supposed to be that long. 

For the second day of the trip we headed to California Adventure. Unfortunately there are not a lot of rides that benefit from Genie+ so we opted not to purchase the $20 feature. In hindsight, I think we made the right decision but I have come to hate standing in line.

We headed back to Disneyland on the third day and once inside the park immediately purchased the Genie+ feature. Then we booked our first ride at Space Mountain right at 9am, when the park opened. As we had a 2-year old that couldn't ride the roller coasters, we then used the baby-swap feature to ride immediately again. That allowed 4 of us to jump to the front of the line, swap a guardian for the little one, and 4 of us to ride again. We probably rode twice as many rides on Wednesday as we did on Monday.

The Disneyland app is not just useful for jumping to the beginning of lines. We used it to discover that the ride whose line we were in had broken down. Sometimes that spurred us to jump out of line and go somewhere else. You can also use the app to order food and have it ready when you go by the restaurant.

I am fairly technical and am not afraid to use my smartphone to its full potential. There are quite a few Disneyland guests that aren't so comfortable with technology and I had to wonder how they enjoyed the park. My guess is they get one of the younger members of their party to take care of streamlining their visit with the help of technology. While I am not a fan of the Disneyland app, it did cut down on a lot of waiting and I appreciated that.

Wednesday, January 26, 2022

Comforts

Today I had an interesting discussion with my oldest son's wife about comfort blankets we carry as adults. Her dad has spent the last two and a half years in the Philippines and she laughed at some of the things he brought with him. Today's conversation started with the 31 pairs of pants he brought and then she talked about a patch of turf he brought from one of his favorite football stadiums. I mentioned that he probably brought it because it is a source of comfort. Her own two kids carry blankets whenever they come to stay at our house for the same reason. She agreed.

We then talked about comforts others carry. Mine is my laptop. I feel a lot of insecurity when I travel without one. As I don't have one at the moment due to being between jobs, I have been carrying a Chromebook I got for free that is quickly reaching its end of life. Sure I could use my phone to do the same things but I really like having a full-sized keyboard. When I visited my youngest son in Ohio last month, I didn't need to bring a computer but I still carried that Chromebook with me.

My daughter-in-law remarked that her smartphone is her comfort. She says that she justifies it as a means for others to communicate with her but it also helps with any anxiety she may have. My son agrees and believes his phone serves the same purpose as his son's and daughter's blankets.

So think about it. What is your source of comfort? What is something you will take with you when you travel to sooth anxiety or provide some level of comfort? I'm sure we all have something even if it is a favorite pair of shoes.


Sunday, January 23, 2022

Uber vs. Lyft

Today I tried to use Lyft for the first time instead of Uber. In the past I have used Uber as my preferred ride service but my son told me to give Lyft a try. He has both apps on his smartphone and told me that Lyft would save me $15 today. So I loaded up the app on my phone, put in my credit-card information and hailed a ride for me, my wife, and grandson.

Both Uber and Lyft applications look very similar. Yes, there are differences but they are mostly cosmetic and otherwise behave the same. You have choices for different levels of service and know the number of people you can squeeze into the car. This is very important as there were 3 of us. You can also see the driver's rating and where he/she is on a map in relation to your location.

I could see that our driver was getting close to us and then he disappeared. The Lyft app then told us it would locate another driver. We waited for about 5 minutes and it told us nobody wanted to give us a ride. We then had to reschedule a new driver. I went in and tried to schedule another ride and the price increased by $10. I then switched to Uber and put in our destination. The price was half of what Lyft wanted and so I booked the ride with Uber. Furthermore, we had waited 15 minutes for Lyft already and the Uber driver would arrive in 2 minutes.

I'll be the first to admit that you can't base your opinion for a company on one unfavorable experience. I will also say that I have had an Uber driver get close to picking me up only to cancel at the last minute and make me order a new ride. That being said, I am probably never going to use Lyft again. Uber has treated me well in the past and I think they have gained my loyalty. Besides, I am not traveling nearly as much as I used to and I don't really need Lyft or Uber services as much as I used to. Today was just one of those exceptions.

Wednesday, January 19, 2022

A Year of Stock Trading

At the beginning of 2021 I decided to get back into the stock market after a decade absence. As it has been a full year, I thought I would report on my results so far. I have to confess that the stock market is down today. Creating this post on Monday would have yielded much better results.

When I created my online trading account, I really had one goal: do better than a regular savings account. So far I am up 33% which blows the savings account interest out of the water. I don't guarantee this result for everyone. In fact, I got quite lucky with on of my early stock picks: Ford (F). It is a funny story and worth repeating.

There are a number of stocks the provide additional benefits instead of just owning a piece of the company. If you own a single share of Disney stock, you can send them something like $30 and they will send you a gold-looking stock certificate worthy of framing. Ford has the benefit of if you own a minimum of 100 shares and hold them for at least 6 months, you can call investor relations and they will give you employee pricing on any of their vehicles. Last year the stock was at $8.52/share. So for the meager investment of $852, I could save thousands off a new car. I have yet to use that benefit but today the stock closed at $22.45/share. My original investment is up 163%. This is an anomaly and not all of my investments have done so well.

When originally looked at investing, I read that indexed funds can be a good way to diversify and that Russell 3000 (VTHR) fund was doing something like 15% over a 6-month period. That seemed promising to me and so I invested a few shares at $171.15/share. Today it closed at $203.84 for an increase of 19%. That isn't as good as 15% over 6 months but it is still pretty good.

I have also lost money on several stocks. My wife got excited about Redfin (RDFN) and Pinterest (PINS). At her urging I purchased 3 shares of each. In all fairness to her, the stocks were exciting at the time and were at all-time highs. Remember the adage about buying low and selling high? Well I keep waiting for the stocks to rebound before I sell them. Needless to say I am down about 65% for each of them. Fortunately those are the anomalies in my portfolio and I am ahead, as mentioned at the beginning.

Unfortunately past performance is no guarantee of future and so I can't rely on another 33% for next year. Having made a bit of money in the past year though makes it easier to keep my money in the stock market. I've definitely beaten my original goal.

Thursday, January 6, 2022

The Art of Debugging

I mentioned in a previous post that I am in the process of creating a prototype web application using React. Unfortunately I am also learning how to debug my React code. I created a base version of the application using the tutorial I mentioned in my previous post. Once I got all of that working, I started expanding.

React takes the code you write and compiles the code so that it runs quickly. This compile step is where I find a lot of errors. I have a console window open that spits out a bunch of important information each time I save a file using my interactive development environment (IDE). Sometimes I will get errors and other times I get warnings. While the code is supposed to run with warnings, it generally means something is wrong and is best to fix it. Otherwise your application may not behave exactly as you thought it should.

The worst problems I have encountered are runtime errors. That means my code compiles just fine but the application doesn't look right or doesn't render at all. The first such problem that took me a while to solve involved the HTML break tag. I had a picture and wanted to have a caption underneath it. To make everything look clean, I laid out everything in a table. To get the layout perfect, I used a test HTML page and then just transferred everything to React when I was happy. I didn't know that React treats the break tag a little different and required a slash in the tag. Instead of using <br>, I had to use <br />. That looks pretty simple, right? Well it broke the whole application. Instead of seeing a funny-looking table, I didn't see anything. In order to find the offending tag, I had to copy each part of the HTML table into React and discover when things stopped working.

Today I ran into another problem. I have a button component that looks very integrated with the entire site. It is something I copied from the tutorial mentioned earlier. The guy giving the tutorial didn't bother to do anything special with the button other than to have it jump to a single page. I have put a number of those buttons all over the place but no matter which button you click on, it goes to the same page. Today I wanted to connect one of the buttons to a different page. I looked through the code and figured out a way to make it happen. Unfortunately when I added the code, it broke everything. Not a single page would load. It turns out that by adding the destination page as a parameter to the button, I broke every instance of that button. Seeing as I had a button on the heading of every page and on the footer, that should have been a sign to add the destination page as a parameter to all of the buttons in the application. Once I did that, everything started working again.

The Internet has been very helpful in solving a number of problems. I tried to embed a YouTube video into my application only to get an error from my browser saying that it can't show the video as a security precaution. A quick search showed that I needed to add a library to React and then things started working great.

I'm sure there will be many more problems I run across, but so far I have been able to solve them in a timely fashion. If I feel I am spending too much time on an issue, I put it on hold and work on something else. Sometimes I will go for a walk and the solution will come to me. Ultimately there are a number of tricks to debugging computer programs and it doesn't matter if you are coding in Python or React. I suppose the most important trick is to not get frustrated. I'm still working on that one.