Thursday, November 28, 2013

Juniper Network Connect and Mac OS

I run a Macbook Pro to do a lot of my software development. When I work from home I have to connect to the company VPN to push code updates to the repository server - which is done with the Juniper Network Connect client. Occasionally the VPN client will connect and then disconnect after five seconds with a message that begins with, "Your computer's routing table has changed...". There is some discussion of this on the 'tubes, but no one seems to have a solution in hand. I managed to solve it on my own.

The error message is correct, something is updating my machine's routing tables after the VPN connection is made. The simplest way to figure out what is doing this is to start killing processes until the VPN connection starts working - which you do with the "Activity Monitor" application (Macintosh HD -> Applications -> Utilities -> Activity Monitor).

After some experimentation, it appears as if VMWare Fusion may be the culprit. I say "may" because I ended up killing several other processes at the same time, so I cannot be certain that VMWare Fusion was the right one. However, in reading forum posts from others who have had this problem, VMWare Fusion seems to pop up quite often during the discussion.

Also, two other issues of note:

Running the VPN client from within a VMWare instance seems to work all of the time. Even when this is happening within the base Mac OS.

YMMV, but I usually have really messed up DNS settings once the VPN client disconnects. This can be solved by issuing the following two commands in the terminal:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Tuesday, October 01, 2013

Chrome Annoyance

I am writing some code that involves the use of embedded Jetty 9 (Jetty as a POJO). To start with, I was doing some basic testing with a handler that would print a message to the console and then do a Thread.sleep(10000). The idea was to get it sleep long enough for me to kick off a bunch of requests (web browser tabs to start, eventually graduating to a curl script) to see how well Jetty 9 handled simultaneous requests.

No matter what I seemed to do, I could not get my code to respond to simultaneous requests. The requests always seemed to pass through serially. To make things worse, I just happened to be doing this development on a Windows 7 machine - which makes it pretty much impossible to sniff traffic on the localhost interface (yes, I know there are some possible ways to do that, but they are unreliable). So I was working in the blind and nothing seemed to be working...

Finally I managed to find the answer here. The problem was not my code, it was the Chrome Browser. Apparently you cannot open the same URL on multiple tabs at the same time. I fired up Firefox (pun intended) and everything worked like a champ.

So ah... What is the deal Google?

Thursday, September 19, 2013

PRP Therapy

I was diagnosed with a split tear in my left Peroneal Brevis. My guess is that it was an old Soccer injury that got lit up by all of the training. My options were surgery, or something a bit newer called PRP Therapy. Surgery was the least preferable because it leaves me unable to train for six months. PRP - which stands for Platelet Rich Plasma, enables the body to heal the split on its own. It is about 70% effective and is far less invasive, enabling me to get back to training in weeks rather than months.

The key problem with Tendons is that they have limited blood flow, which makes repair unlikely when damage exceeds certain limits. The lack of blood flow means that injuries do not get the benefit of the rich set of growth factors found in blood Platelets. PRP fixes that problem by injecting your own blood Platelets into the damaged area. The Platelets rapidly differentiate into growth factors that build a Collagen matrix. That Collagen matrix goes through a bunch of changes from one type of Collagen to another, eventually leaving you with a fully repaired Tendon.

In practice, PRP is pretty simple stuff. They draw a small vial of your blood and spin it down in a centrifuge. The bottom layer is all of your red and white blood cells, and the top layer is a yellowish substance that contains all of the Platelets and other stuff that your body uses to heal itself on a regular basis. When they showed me my vial of centrifuged blood, it appeared as if nearly half of the vial was Platelet "goo". The doctor mixed some of the Platelet solution with Calcium Carbonate fluid, to prevent clotting, and then injected it into the split. She was guided to the split by a Sonogram (made by Sonosite - that apparently costs $60,000).

Interestingly, the doctor was able to clearly see the injury with the sonogram, which made me wonder why I had to get an MRI for this injury in the first place. She told me that it was because the Sonogram device was very expensive, and it takes a lot of skill to use it in this manner. But she also agreed that things probably needed to change simply from a cost standpoint. An MRI costs $2000 ($1000 with insurance discounts), and a Sonogram is only about $150. She also indicated that they are training all of their new Fellows to diagnose injuries with a Sonogram.

I had the injection today, and am now in an air cast boot for the next two weeks while the first phase of healing happens. I will not lie, the injection stung a little. They used Lidocaine at the injection site, but I later found out that Lidocaine can inhibit the Platelet action, so they do not anesthetize the Tendon itself. Normally the only painful part of most procedures is the initial stick of Lidocaine. The secondary sting took me by surprise. Had I known it was coming I would have been able to ignore it - it really was not that bad.

Once the first phase of healing is complete, the next phase involves swimming, or light bike riding, in addition to the normal daily walking around. The second phase is supposed to last about two weeks and helps the collagen matrix go from a disorganized bunch of new cells, to a carefully aligned set of cells that will eventually heal into full fledged tendon material. At the four week point I can ease back into some cardio work with the Elliptical, and then the doctor sees me again at the six week point. If all goes well, I should be able to ease back into running after six or so weeks.

Not exactly the way I wanted to spend the Fall, but it sure does beat being out of commission for six months...


Air cast boot being inspected by Cisco...