Saturday, November 06, 2021

Disney Genie+ review: tips, tricks and how does it compare to FastPass

This article is based on my experience traveling to Disney World for 4 days in Oct 30 through Nov 2nd, 2021 (still during the pandemic) for a family of 4 with the Park Hopper option and Genie+ service added.

What is Disney Genie+ Service in a nutshell?

Disney Genie+ in a nutshell, is a way for Disney to charge you for what FastPass used to be. The FastPass is now called either Genie+ Lightning Lane (included with Genie+) or Individual Lightning Lane (additional cost). 

There are however some key differences:

  1. It is not free, it costs $15 per day per person.
  2. Not every ride that was included in FastPass is included with Genie+, specifically the 2 most “popular” rides per park are not included (more on that later).
  3. You cannot book 30 days in advanced (or 60 with Disney Resort reservation), instead you book the same day at 7am local time and you must have a valid reservation for that park (more on that later)


Rules of engagement

There are similar rules as FastPass:
  • You can only book one LightningLane every 2 hours or until you use your pass (whichever comes first).
  • You can book a second LightningLane 2 hours after park opening
  • Unlike FastPass you cannot use LightningLane for the same ride on the same day.
  • You are allowed to book overlapping times (this used to be a FastPass restriction) - there is a trick to get 2 active LightningLane passes at a time (more on that later)
  • You must have a valid park reservation to book a LightningLane in that park, unless you have ParkHopper and the LightningLane time is after 2pm.

The application experience

Along with the launch of the Disney Genie Service, Disney released a new version of their Disney World experience. The Disney Genie Service is supposed to be a “genie” that suggests the best things to do based on some input you provide. In my opinion they tried to pack too much in the app and the genie is really not that smart, making the app experience worse specially when it comes to the FastApp experience.

There is a new screen called the "Tip board" this will display the estimated wait times as well as the next Genie+ Lightning Lane availability times for one park. This is convenient if you are trying to decide what to do next, but if you are trying to get on one specific ride, there is no such a view anymore. 


With the FastPass experience you used to be able to refresh the screen to view the latest FastPass availability time. You could just pull down to refresh and the time will occasionally change, either due to cancellations during the day or because it was filling up during the morning. My biggest complain is that there is no option to change to the latest time available. You actually have to first cancel your Lightning Lane reservation by going into a different screen then come back via either the map view or Tip Board screen. By the time you do that, the time that was available will often change and you risk losing the reservation you already had. You used to be able to do this with the FastPass experience and it was a way to sneak into a better time. My take is that this will be added to the app later on.


The Lightning Lane experience

The line experience is virtually the same as with FastPass. Where there used to be FastPass lanes/signs, they are now called Lightning Lane. I would say lines may be slightly shorter than before now that they are no longer included and not everybody is paying for it, but it wasn't something significantly different as before.

What is Individual Lightning Lane?

There are 2 rides per park that are not included with Genie+. These rides are presumably the ones with the most demand in each park, which means Disney could arbitrarily change them in the future. The fees for these rides are dynamic and can vary from $9 to $15. The good news is that you do not need to buy Genie+ to buy these individual rides. The Individual Lightning Lane rides available at the time of writing (with approximate price offered at the time):
  • Magic Kingdom
    • Seven Dwarfs Mine Train ($12)
    • Space Mountian ($9)
  • Epcot
    • Frozen Ever After ($9)
    • Remy's Ratatouille Adventure ($15)
  • Hollywood Studios
    • Rise of the Resistance ($15)
    • Mickey & Minnie Runaway train ($12)
  • Animal Kingdom
    • Expedition Everest ($8)
    • Avatar Flight of Passage ($12)
Another restriction I noticed is that the 7am booking time appears to be available only for Disney Hotel Resort guests, otherwise it is available for purchase at 9am or at park opening time.

Although we didn't pay for Individual Lightning Lane this time, the only 2 exceptions I would consider are these (both will sell out within hours so don't wait too long for purchasing): 
  • Remy's Ratatouille Adventure - in case you are not able to get into the virtual queue
  • Rise of the Resistance - if you are not willing to wait 90+ minutes in line or are running short on time.

What is Virtual Queue?

At this point time, it is just one of 2 ways you can get into the Ratatouille ride (the other one being paying for the Individual Lightning Lane). In my opinion is something Disney is experimenting with. If you cannot get into the Virtual Queue either at 7am or 1pm then you are out of luck, unless you're willing (while still available) to pay for Lightning Lane. My only complaint about Virtual Queue, is that for any other ride at Disney, if you're willing to wait in line regardless of wait time, you can get on the ride without paying, except for this one. You also have to still wait approximately 30 minutes in the physical line once your turn to line up comes up.

Genie+ Tips and tricks

  • You can actually get 2 active Lightning Lane tickets at a time, if you book a pass for something that is 2 hrs after opening time. After that 2-hr period you will be able to book a second pass and it will let you keep both active (with the same rules in place, i.e. you can only get a new one after using either one or within 2hrs). For example if you got a 2pm pass for Slinky Dog Dash, and the park opened at 9am, at 11am you could get a second LightningLane pass. This is a good strategy if you got to the park early since that is when the lines have the lowest wait time.
  • Similar to FastPass, you can only book your next pass until you scan the second Lightning Lane checkpoint (there are 2 per ride): one at the entrance and the other one before merging with the rest of the line.
  • Even though you can’t swap to another Genie+ available time for a ride within the same screen, in my experience it was worth risking losing your turn and frequently “refresh” the tip board screen for a better time. I was actually able to get a 9:50am time for the Slinky dog ride around 7:20am even though the best time I got around 7am was 2pm.
  • I noticed if you keep refreshing the window time keeps gradually getting worse but after a few “refreshes” it seems to reset to an earlier time. This may only apply in the morning, not necessarily later in the day as some Genie+ LL will get “sold out”
  • The Individual Lightning Lane passes for the most popular rides, i.e. "Rise of the Resistance" and "Remy's Ratatouille Adventure" will get sold out early in the day, so if you’re considering buying it and get a good time, don’t risk it and take it.

Strategies to minimize your time in line for the Individual Lightning Lane rides

I chose not to pay for any of the Individual LightningLane as I was already paying enough for the Genie+ pass and ParkHopper tickets. I stayed at a Disney Resort for 2 nights so I was able to leverage some of the resort benefits for 3 days. This is what we did to be able to minimize our wait time in line and be able to ride all of the Individual Lightning Lane rides (your mileage may vary):
  • Day 1: Magic Kingdom
    • We got inside the park around 30 minutes after opening time. We headed straight into Seven Dwarfs Mine train as it had a wait time of 40 minutes and we knew that was going to be as good as it gets. We waited around 35 minutes which was fairly reasonable. The other good time to get into this ride is right around the fireworks time, wait times can be as low as 20 minutes or less.
    • For Space Mountain we noticed the time was more variable. We tried going around 2pm when it was 40 minutes, but it was unfortunately broken, so we came back about 2 hours later, and waited around 45 minutes in line.


  • Day 2: Hollywood Studios
    • For Mickey & Minnie’s Runaway Railroad, the best time to get in is in the morning, wait times were as low as 30 minutes at opening time. We ended up going around 2pm when the wait time was around 45 minutes. It seem too much at the time, but I was pleasantly surprised. This ride is worth even longer wait time. It is one of the 3 new trackless rides at Disney World (along with Rise of the Resistance and Ratatouille). You’ll really enjoy it!
    • To get into "Rise of Resistance", since we were checking into a Disney Resort that day we were able to use the "early entry" admission, i.e. 30 minutes before opening time (9am). We got into the park around 8:40am and were in line around 8:50am when the advertised time was around 50minutes. We ended up doing around 40 minutes in line and this ride is definitely worth the wait time even if it's 2 hours.



  • Day 3: EPCOT, Animal Kingdom and back to Epcot
    • I had reservations for Epcot and joined the Virtual Queue right at 7am and got group 63 with an estimated wait time of 6 hours! This ended up being a hight estimate, as we got our turn to join the queue at 2:30pm, i.e. 4.5 hrs after park opening time. You get one hour to join the line, so avoid going outside the park close as your turn approaches. I noticed that there were around 163 groups per day before the passes are fully allocated and if you do not get in the queue on the 7am shift, there is another opportunity to get into the queue by 1pm.


    • I monitored the wait times (5-15 minutes) and noticed that they were very low for Everest Expedition right before closing time (6-7pm). We decided to hop and arrived into Animal Kingdom around 5:15, when the wait time was at 20 minutes. Unfortunately the ride was temporarily closed right before we got to the ride. We decide to go to Avatar Flight of Passage and barely made it back to Everest right past 7pm, but we were able to ride it twice with no wait time even though the park was already closed.


    • For Avatar Flight of Passage we got in line around 5:40pm and the wait time was 65 minutes. We ended up doing over 70 minutes, but we had done this ride before and knew it was worth it.
  • Day 4: Hollywood Studios (half day)
    • We decided to go back to Rise of the Resistance one more time. We got into the park entrance closer to 9am and even the resort entrance had a line. We entered the park right after 9am so we had to rush to the ride. By the time we got there, the ride was temporarily closed (bad luck). We went to Toy Story Mania (normal line) and then used a Genie+ LL entrance we had at 9:50am for Slink Dog Dash. We got back to the Resistance ride shortly after 10am and the wait time was already at 95 minutes. We ended up waiting in line close to 2hrs but this was our last ride for this trip and definitely worth the wait!


My verdict: is it worth paying for Genie+?

Compared to other parks, $15 per day seems inexpensive for line skipping, however for multi-day tickets or larger families it may be cost prohibitive. It was only a matter of time before Disney started charging for "FastPass" and the pandemic was a convenient timing to do this after "FastPass" was paused and by rebranding it as Genie+. In my opinion, they should discount the price for longer multi-day tickets similar to how they do for the base ticket price. Also there is nothing stopping Disney from increasing the price, specially if they have high demand for it. 

From my experience from this trip and given the current cost for a 4-day ticket and a family of 4, the time savings justified paying for Genie+ and I would still recommend it. If you are only going 1-3 days, they I would strongly recommend it. For over tickets over 4 days, I will likely skip buying it, as you will have more time to wait in line.


Tuesday, May 11, 2021

How to get headless chromium to launch from a pipeline using ubi8 image

My goal was to be able to run unit tests from a pipeline for the Angular's "Tour of Heroes" tutorial application which use Karma Jasmine framework. In this case the pipeline was built using Tekton to deploy to a Red Hat OpenShift cluster. 

Step 1: Change Karma Browser Configuration to use Headless Chromium

Launching the unit tests locally was not an issue because I had Chrome installed locally, but in order to get this to work in a pipeline we need to switch to a Headless browser configuration. This can be accomplished by updating karma.conf.js as follows. This configuration prunes all interactivity, not all of these settings are necessary, but these will work both locally and from the pipeline task:

   reporters: ['progress'],

    port: 9876,

    colors: true,

    logLevel: config.LOG_INFO,

    autoWatch: false,

    browserNoActivityTimeout: 30000,

    browsers: ['ChromiumHeadlessNoSandbox'],

    customLaunchers: {

      ChromiumHeadlessNoSandbox: {

          base: 'ChromiumHeadless',

          flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-translate', '--disable-extensions', '--remote-debugging-port=9223']

      }

    },    

    singleRun: true,

    restartOnFileChange: false


Step 2: Add Puppeteer to the project

With these changes the local tests were running headless successfully, however they were still failing because they still need a browser binary downloaded. Our pipeline was using the ubi8/nodejs-12 image to run npm tasks. All of the npm tasks (e.g. install, lint, build) were running successfully, except for the test task. One easy solution would have been to install chromium into a modified image using a Dockerfile with ubi8/nodejs-12 as the base. Unfortunately the chrome download url was not whitelisted from the pipeline server and could not go that route. 

This led us to using puppeteer. Puppeteer is a node library which allows you to test using headless chromium. One of the features that we needed is that it downloads the chromium binary.

Step 2.1: Add puppeteer as a dev dependency

Puppeteer can be easily added as a development dependency by adding it to package.json within devDependencies section:

   "puppeteer": "^9.1.0",

Step 2.2: Export download host for puppeteer

This may not be an issue locally, but in case npm install gets stuck downloading puppeteer, this can be addressed by adding this download host environment variable prior to running npm install (ensure this is added to the pipeline task as well):


      export PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors 


Step 2.3: Update karma configuration to use puppeteer

Update karma.conf.js with the following changes:

  • Require puppeteer
  • Export the path to the Chromium executable
  • Wait for chromium to launch (i.e. to ensure it is downloaded if applicable)

 const puppeteer = require('puppeteer');

  process.env.CHROMIUM_BIN = puppeteer.executablePath();

  (async () => {

    const browser = await puppeteer.launch({

      args: ['--no-sandbox', '--disable-setuid-sandbox'],

    });

  })();

Step 3: Add required Linux libraries to ubi8 image

At this point npm test should execute successfully with puppeteer and headless chromium. However tests were failing in our pipeline due to missing Linux libraries in the ubi8 required to run chromium:

06 05 2021 20:58:47.098:ERROR [launcher]: Cannot start ChromiumHeadless /workspace/source/node_modules/puppeteer/.local-chromium/linux-869685/chrome-linux/chrome: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory

To troubleshoot this error the following commands were instrumental:

Command #1 (from troubleshooting puppeteer)

This command will help troubleshoot which libraries are missing in one shot versus adding one library at a time and getting a different error. You can get the path to local-chromium by echoing the output of puppeteer.executablePath() - it should be very similar to the one below except for the linux version number:

ldd /workspace/source/node_modules/puppeteer/.local-chromium/linux-869685/chrome-linux/chrome | grep not

Command #2 (from troubleshooting puppeteer)

The second command that was helpful was to run yum whatprovides on each missing library from the Dockerfile building the custom image. The only caveat is that in a few cases what provides resolved to the i686 library and that did not provide the missing library instead I had to switch to the x86_64 library version.

yum what provides libnss3.so

Magic Dockerfile

The hardest part of this task was to arrive to the correct Dockerfile. After iterating through the commands above, we arrived to the right dockerfile what allowed Puppeteer running headless chromium successfully:

FROM registry.access.redhat.com/ubi8/nodejs-12:latest

USER root

RUN yum install -y alsa-lib.x86_64 atk.x86_64 cups-libs.x86_64 gtk3.x86_64 \

    libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 \

    libXext.x86_64 libXi.x86_64 libXrandr.x86_64 libXScrnSaver.x86_64 \

    libXtst.x86_64 pango.x86_64 xorg-x11-fonts-Type1 libdrm-2.4.101-1.el8.x86_64 \

    mesa-libgbm-20.1.4-1.el8.x86_64 libxshmfence-1.3-2.el8.x86_64 nss.i686 \

    && yum update -y && yum clean all 

USER 1001

Hopefully this guides saves some time for others trying to get this to work on a ubi8 image!



Thursday, May 16, 2019

Spring Integration demo for exposing a SOAP Web Service which consumes another Web Service

Even in 2019, we often still need to develop SOAP based web services due to the need to integrate with legacy applications still using them. It was hard to find code samples that use Spring Integration with Java DSL using Spring Boot to expose/consume SOAP based web services. I put together an example which uses all of the above:
  1. initial branch shows an initial implementation of a web service exposed using spring-ws, Spring Boot and Java DSL. This was loosely based on the "Producing a SOAP web service" getting started guide.
  2. inboundgateway branch takes the initial branch and converts it to using Spring Integration classes (i.e. MarshallingWebServiceInboundGateway and MessageChannel). Credit to tomask79's spring boot web service integration repo which was one of few sample codes I found to expose a SOAP service using Spring Integration with Java DSL. In particular this commit will show you how easy it is to go from Spring-WS to a Spring Integration implementation.
  3. outboundgateway branch introduces a MarshallingWebServiceOutboundGateway to call into another SOAP web service to get order details. It also introduces the use of @EnableIntegrationGraphController annotation to build a visualization of the flow using spring-flow-si

The visualization tool output is fairly impressive:


However, I'm not convinced Spring Integration is the best fit for this particular use case, i.e. integration flows primarily between web services and some JMS services. Here are some of the things I did not like:
  1. Code flow becomes hard to follow. Flows are connected primarily via channels. I introduced a ChannelNames class with constants to make it easier to follow the flow, but even with this, I had to find usages of the constant and then navigate to those classes.
  2. The request/response web service methods had to be decoupled into a "request" (request channel) and "response" (reply channel) method. I posted this question in StackOverflow and even though this method could be combined using a MessageGateway, it is not the ideal way of implementing this with Spring Integration. Even with the diagram above, you cannot tell that orderInboundGateway is a 2-way flow, instead it appears a one-way flow.
Don't get me wrong, I liked several aspects of Spring Integration and I would find it useful for other scenarios, but it seems for this one, the complexity introduced outweighs some of the benefits. 

Please chime in the comments if you've successfully implemented similar scenarios with Spring Integration!

Saturday, December 03, 2016

Can running help heal Plantar Fasciitis?

PF stands for Plantar Fasciitis, but in my opinion it should just be called "Pain in the Foot" because that's really what it is, just an annoying pain in the foot that won't go away for months. I hope you never have it, but if you do, here are some helpful tips and suggestions to help you heal and get better soon!

How did I get it?

It is relatively easy to self diagnose plantar fasciitis. If after reading common symptoms, you feel like "that's exactly what I have!", then you most likely have plantar fasciitis: "stabbing pain (in the foot) that usually occurs with your very first steps in the morning. Once your foot limbers up, the pain of plantar fasciitis normally decreases, but it may return after long periods of standing or after getting up from a seated position."

For me one of my burning questions was how did I get it? and how do I prevent from making it worse and prevent from getting it again after healing? I'm not exactly sure how I got it, but I know it got noticeably worse after returning from a 2 week vacation. I am a frequent runner. I run 4-6 days a week and I try very hard to not go over 3 days without running. In this last vacation I went 7 days without running. I think I had symptoms before my vacation, I just did not realize that it was plantar fasciitis because I never had it before. Upon returning from vacation as I attempted to get back to my normal running routine, it was pretty evident I had plantar fasciitis. I only had it on my right foot, but I've heard is possible to get it on both feet at the same time (ouch!).

What I tried?

The first thing I tried based on the fact that running is a common cause of plantar fasciitis was to stop running for a few days. That didn't help, and in fact it seemed to make it worse. When I told a runner friend about my problem, he told me he had it before and that I needed to do stretching exercises to strengthen my fascia. I think I tried almost everything that was suggested to me. From my experience the first step is to get the pain under control, then focus on what will heal you in the long term. Here is a summary of the things I tried and that helped me the most:

  • Icing
    • This was one of the recommendations from my orthopedist and also from a fellow runner that went through this. Icing helps specially with relief. I learned that you don't necessarily have to do it right after running, you can do it at the end of the day, but you should do it at least 5 to 20 minutes per day.
  • Ibuprofen
    • Pain killers are a must for relief. Usually 1-2 per day was enough for me, but the goal is gradually wean off from taking them, so that you know the pain is going away because you're healing. Keeping a log can help you track improvement (e.g. level of discomfort and whether you took pain killers that day).
  • Heel cups
    • I was a bit skeptic about this, but a runner friend recommended it as well as my orthopedist. I was specifically recommended these ones by Dr. Scholl's Pain Relief Orthotics for Heel. You can find them at Target and most pharmacy stores and easily identify them by the "Plantar Fasciitis" label on them. I ended up buying 2-3 pairs and just putting them on the shoes I wore the most. My friend recommended me using them on my running shoes as well, which I tried, but abandoned after a few days as it felt awkward while running.
  • Peppermint oil
    • This was probably the most unconventional thing I tried from "typical" PF remedies. Specifically I tried Doterra oils. They have a product call Deepblue which is special for muscular pain relief, but the most effective for relief for me was a mix of their peppermint oil with lavender oil (one drop of each mixed with fractionated coconut oil).
  • Stretching exercises.
    • This helped me heal the most, although not immediately. The stretch exercise I would recommend the most is stretching your calf by leaning towards a wall or post. This is an exercise you should be doing as a runner anyway, both before and after running, but you can also do this throughout the day. The other 2 exercises I recommend are shown on this picture: pulling your toes towards you and picking up a towel with your toes.

  • Foot Rolling exercises
    • I first tried a foot massage roller, however I wouldn't recommend buying one unless you already have one. Instead what worked best for me was putting a bottle of water on the freezer, and then use that for rolling your foot. This way you kill two birds with one stone: you are effectively icing while rolling your foot at the same time!
  • Night splint
    • I was hesitant to try this, but my orthopedist recommended it. What the night splint helps with is to keep your feet from stretching over night which is what triggers the morning pain. The night splint keeps your foot at a 90 degree angle which is extremely hard to maintain consciously once you fall asleep. Using the splint can be very uncomfortable at first, but you will gradually get used to it. The Futuro Night Plantar Fasciitis is what I used.
  • Reduce pace/long distance running
    • This should be an obvious one, but "your mileage may vary" on this one. For me this meant going from a 9 min/mi pace to about 10 min/mi and from 30+ miles/week to 20+ miles/week. The great news is that I didn't have to stop running altogether and in fact going multiple days without running seemed to make things worse. This also meant that I had to compromise from running my fifth consecutive Pittsburgh Full Marathon. I could have probably done it, but did not want to risk getting worse and opted for running the Half Marathon instead, which ended up being a wise decision.
  • See a doctor (specially if you are not getting better)
    • When I reached out to my primary doctor he sent me a list of exercises to try first and asked me to visit him if I didn't get better. Since I wasn't getting better I decided to see an orthopedist in my area. The orthopedist did an x-ray to rule out I did not have a bone fracture, which I didn't. Other than that, there was not much value in seeing the doctor. He did not even asked how I got it. I had to volunteer the fact that I was a runner and even then he did not ask how much/frequent I ran. His estimate is that it would take me 2 months to heal, he was off by 3 months, but I did follow on a couple of his recommendations (night splint and icing/stretching more frequently), which eventually helped.
  • Try changing running shoes
    • After not getting better, I tried this suggestion and went into a running store for a shoe fitting, which I had never done before. This turned out to be a great suggestion. If you've read some of my earlier posts you'll find out that I'm a big proponent of minimalist running shoes. For the past few years I've been running with the same model of running shoes: Nike Free 3.0 (different generations of the 3.0 model), which are almost zero drop minimalist shoes from Nike. I tried multiple shoes and the ones that fit the best by far were the Mizuno Wave Rider 18. These shoes have a much ticker sole that I would have ever considered, but they have much better support and really liked how they feel when running and still use them even after healing.
  • (Lots of) Patience and keeping a log
    • Be (very) patient. There are days in which you feel you're doing better and then for no obvious reason you start feeling worse again. That's what bothered me the most about this. I could take a couple days of rest and not feel any better. I also went for a few long runs an felt great. Sometimes there was no obvious correlation into how I felt and what I tried. I think keeping a daily log would have helped. In this log you should track how you felt that day, whether you took pain killers how much you ran and any activities (other than running) you performed. There could be a lot of variation from day to day, but the goal is to feel better each week while still doing some activity and reducing the amount of pain killers you take.

How can you tell you're getting better?

Another burning question was how to tell I was actually getting better and whether I would ever get back to "normal". Healing completely takes time, in most cases months. In my case it was about 6 months before I could say I was back to normal. But by month 4, I could say I was mostly healed, i.e. the pain and discomfort was mostly gone, but I could still occasionally feel discomfort and mild pain which was concerning as I was afraid to get worse again. Keeping a running log certainly helps. In my case I use the Nike Running app. During my healing months (Jan-Apr) I was still able to get around 100 miles on average, which is pretty good, but I had to compromise on pace. My average pace gradually improved getting back to normal by April:

  • Jan: 9'59", Feb: 9'54", Mar: 9'24", Apr: 9'01", May: 9'03"




The pain was not completely gone by April. I still remember feeling some discomfort in June when walking barefoot. But by July/August I don't remember having any bad days. For me the ultimate proof that I was healed was to be able to run a marathon again without any pain, which I was able to do on August 28th in Mexico City!




Can running really heal plantar fasciitis? 

Running by itself won't heal you, but it can definitely help heal as long as your don't over do it (by running too much or too fast) and I have empirical evidence to support this. The key to healing PF is by strengthening the fascia. Stretching exercises will help the most with this. This is what is most contradictory about PF. Resting is typically needed to heal muscle injuries. With PF resting too much can actually make the pain worse and resting on its own won't help you heal. Running can be a way to strengthen the fascia, as long as you don't over do it and do it properly (i.e. with a good running form, appropriate running shoes, etc.). Because healing can usually take months, you need to be VERY patient. Do not feel discouraged if you are not improving immediately. The pain and discomfort will eventually go away. Learn to listen to your body and you will gradually learn what can help you the most!


Thursday, June 09, 2016

How to replace Nissan Leaf rear wiper blade

This information pertains to the 2013 Nissan Leaf, however I believe this applies also to at least model years 2011-2015 since the part number has not changed. Part number for the wiper blade is: 287903NF0A, online price ranges from $12-$15.

Surprisingly, I could not find a video or detailed guide on how to do this, the closest most relevant thread I found was this.

I took some pictures that hopefully guide others on how to replace the blade, but it is extremely easy.

First snap out at by pulling the blade away at a approximate 90 degree angle, if it doesn't feel like it's coming out, just pull harder.





















This picture shows how the blade aligns:



Here is another alignment picture as I was snapping the new one back in:


You snap by pushing it hard back in, again approximately 90 degree angle and watching for the proper alignment.

Sunday, January 24, 2016

Electric Car (EV) Charging Stations in Pittsburgh and surrounding areas

This blog lists my review of the best EV charging locations* (a.k.a as EVSEs) in Pittsburgh, PA and surroundings. This is not a comprehensive list of stations. If you are looking for a more comprehensive list of stations, the top authority, in my experience, is plugshare (also available as iOS and Android mobile applications). Plugshare beats the other popular option: chargepoint by far, in terms of being up to date, providing helpful (e.g. picture, location, number and type of chargers) and accurate information as well as user reviews/comments. Plugshare lets EV owners "check into" a location (to let other users the charger is being used), as well as sharing private chargers.

* To get some terminology out of the way: the proper name for a EV charger or EV charging station is an EVSE: "Electric Vehicle Supply Equipment". The charger is actually on board your electric vehicle, and hence called the "on-board charger".

Dowtown Pittsburgh (including North Shore)

1. Grant Street Transportation Center - Red Garage

  • Pros:
    • VIP Parking. The chargers are located immediately after entering the lot.
    • There are FOUR (4) Level 2 chargers and they are free to use (with your paid parking)! From the times I've parked there I've only seen 2 cars using them at most. Each charger has its own parking spot. 
    • At the time of this writing (Jan 2016), this station had a PlugShare of 10.
  • Cons:
    • Parking is expensive, $16 for a 6+ hrs on a weekday. However this is typical for parking downtown. Also as a downtown commuter, this parking rarely gets full.
    • You MUST enter the RED garage. There is an adjacent BLUE garage that is almost identical but they are not connected. The blue garage does not have any chargers at the time of this writing.

2. Carnegie Science Center

  • Pros:
    • Provides VIP Parking (directly across from the parking booth). Even when the lot is full and cars are sent to their adjacent lot, ask the attendant if the charger is available and they will let you in. 
    • It's free (included in the cost of the parking): $3 for Carnegie Museums Members, $5 for non-members and $7 for commuter parking.
  • Cons:
    • There is only ONE charger.
    • Even at $7 is the best deal for commuter parking with charging included downtown, however there is no guarantee it will be available for you.
    • Only convenient if you are visiting the museum.

3. Convention Center


  • Pros:
    • Free (included with the cost of parking).
    • Convenient location for downtown destinations.
  • Cons:
    • Parking is expensive (~$20 on a weekday)
    • Only 2 stations and they will usually be taken on weekdays, so you cannot rely on them being available on business hours. 
    • They are generally available on weekends.

Others worth mentioning:
  1. First Avenue Garage
    • This is likely the least expensive commuter parking ($12 for 4hr+) downtown with a free charge included. Although the garage is at one end of downtown, it is right next to the T station.
  2. USX Tower Garage
    • Charger is NOT free (and somewhat expensive). Parking is also very expensive. I believe there is only one charger here, hence the low Plugshare score (4.6), based on the comments many users have not been able to charge because it was already taken.
  3. Station Square Garage
    • Similar to the USX Tower charger, this would be very convenient except it is not free and there is only one charger.

East (Oakland, Monroeville)

1. Carnegie Mellon University Electric Garage


    • Pros:
      • 8 Level 2 charging stations + 1 Tesla HPWC.
      • FREE to charge and FREE to park (up to 4 hours).
      • Convenient location (Oakland - in between Carnegie Mellon and University of Pittsburgh)
      • Open to the public, not just Carnegie Mellon University staff/students
    • Cons:
      • Before 2015 the Electric Garage parking spots were available to the public. This means that you could park here after you were done charging or if there were no charging spots available. The parking spots (not next to the chargers) in the lot now require a parking permit which is available only to CMU students/staff. It is still pretty convenient if you only need to park for 4 hrs or less while charging.
      • In spite of having 8 stations, CMU students/staff love EV cars, so it is very common to find all chargers taken on regular business hours.

2. Bakery Square

    • Pros:
      • 4 ChargePoint Stations. This means you can check via the ChargePoint app if the stations are in use.
      • FREE (included in the cost of parking). This parking lot, as I remember is not very expensive and I believe it is free during evenings and weekends.
    • Cons:
      • This is the parking lot for Google Pittsburgh, so even though they have 4 stations the 4 stations may be in use on regular business hours.

3. Carnegie Museum of Natural History

  • Pros:
    • FREE (included with parking). Parking is relatively expensive, i.e. within average for the Oakland area.
    • VIP parking, located very close to Museum back entrance.
    • Convenient location.
  • Cons:
    • Only one station available.
    • Very close to the Electric Garage, so I would park at the Garage unless all stations were taken.

4. Pittsburgh Zoo

  • Pros:
    • FREE!
    • VIP Parking! Even on a crowded day, if the station is available, you can get a parking spot very close to the Zoo entrance.
  • Cons:
    • Only one station available

Others worth mentioning:
  1. Giant Eagle Monroeville
    • The Monroeville area seems kind of low in terms of charging stations. However if you need to head this is a good place to charge (2 stations available). Other options include UPMC East and car dealers (you should normally ask for their permission to charge).

North Area (Wexford, Warrendale, etc)

  • Pros:
    • 2 Level 2 (GE) stations available
    • FREE!
  • Cons:
    • The stations are not marked as reserved for EVs, instead they are reachable within the 4 adjacent parking spots to the charger. However on a busy day (e.g. Saturday morning) you may find all 8 parking spots next to the 2 stations taken because they are pretty close to the entrance. From my experience if I'm really in need of a charge I just need to drive around 5-10 minutes for one of the spots to free up.


  • Pros:
    • 2 Level 2 (Eaton) stations available.
    • FREE
  • Cons:
    • The Eaton stations are not compatible with Nissan Leaf 2013 and newer. This is because Giant Eagle has neglected to upgrade the firmware version on the station, they have had a sign indicating they are working on getting the system updated since 2014. You can still charge but you will need to push the reset button on the stations multiple times (can vary between 3-10 times) until it eventually will start charging.
    • Located by the Pharmacy side, i.e. not VIP parking.
Others worth mentioning:
  1. Cranberry TESLA SuperCharger
    • They have 6 super chargers. These are obviously for TESLA cars only. If you own a TESLA these are the only SuperChargers in the area. They are conveniently located near the intersection of 76 and 79, so if you are traveling by Pittsburgh this is the place to stop. They are behind a Residence Inn, next to a Quaker Steak Lube. There is a Starbucks next door as well.
  2. Eaton Warrendale
    • They have one the few CHAdeMOs (DC quick chargers) in the area. This is outside the Eaton office in Warrendale, PA, but according to the PlugShare user comments, they are open to the public and free of charge. They also have 2 Level 2 (J17772) stations. I believe they are in the ChargePoint network so you will need a ChargePoint account to use it (also free).

West (Robinson Township, Airport area)

1. The Mall of Robinson
  • Pros:
    • 4 Level 2 (Eaton) chargers with dedicated parking spots! They have 4, so it's unlikely they will be all used. This is by the way, the only mall in the area with EV chargers (Ross Park Mall should follow their lead). 
    • FREE
    • VIP parking, located next to the Food Court entrance.
  • Cons:
    • None really, except that it's a very valid excuse for my wife to spend more time at the mall =)

2. Market District Settler's Ridge

  • Pros:
    • 2 Level 2 chargers.
    • FREE
    • Unlike to the Wexford location, based on a comment on Plugshare dated Oct 2014, it appears Giant Eagle has upgraded the firmware on these units: "At long last they have fixed one of the two stations here to work with the 6.6kw on board chargers on 2013 and newer Leafs.". Subsequent comments indicate both of them have been fixed.
    • Cons:
      • These chargers are close to the LA Fitness and Cinemark theatre, so it's likely these chargers may be used by non Giant Eagle customers (also based on Plugshare comments).
    Other worth mentioning:
    1. Sunoco Pittsburgh Airport
      • This has a CHAdeMo (quick charger) in the area along with 2 Level 2 chargers. Starting in 2016 they now charge via the Greenlots app ($2/hr) for Level 2 and ($10/hr) for quick charger, which is not cheap at all. I will only consider charging here in case of emergency.
    2. Pittsburgh Airport
      • The chargers at the Airport are a joke. They are 110v outlets available only on the short term parking, so they are not practical at all unless you are staying several hours at the short term parking.

    South (South Hills, Washington, PA)

    1. Tanger Outlets at Washington, PA
    • Pros:
      • 4 Level 2 chargers
      • FREE
      • VIP Parking. This I would also consider as a con, since I was expecting ICE drivers to not respect these parking spots on heavy shopping days, but I can vouch from personal experience that these spots were not ICEd even on Black Friday (2015).
    • Cons:
      • None really, other than too convenient for shoppers =)
    Others worth mentioning:

    I will try to keep this list updated, feel free to share about other stations as they become available in your comments below!