Disclaimer: I am not an investment advisor. When I describe my own trading activities, it is not intended as advice or solicitation of any kind.

06 August 2015

Kubuntu 15.04 Repairs: KCalc + Numeric Keypad

The version of KCalc that ships with Kubuntu 15.04 ignores the numeric keypad, which renders it pretty much unusable unless you like hunt-and-pecking for numbers across the top row of your keyboard, or clicking on the screen like an 80-year-old. This is caused by a bug in the Qt 5.4.1 core libraries that ship with Kubuntu 15.04.

References:
KDE Bug #347459
KDE Bug #344638
Qt proposed patch

This bug was fixed in Qt 5.5.0, but of course Ubuntu won't repackage the newer Qt library until the next version comes out, which is months away. Until then, fuck you.

I'm sure there is a better way to accomplish this that won't cause trouble when I upgrade my Ubuntu revision-level, but I couldn't find it. And this definitely solved the problem. If you know of a better way, feel free to explain it in the comments.

Goal: install Qt 5.5 and make KCalc use it, but don't screw everything else up.


Step 1: Download and install Qt Creator 5.5.

You can do this is a non-root user. Go to the Qt website, and download Qt Creator. You can either step through their question and answer screens to assure them that you're not planning on breaking the LGPL, or simply use this link: Qt Creator Open Source Download Be sure to select the binary that is right for your version of Linux (32-bit or 64-bit). When you run the installer, go ahead and skip the Qt Account creation. This is more for developer users of Qt, which you are not. "Next" your way until it asks what components you want to install. You want these (yes I know my colors are wacky, deal with it):


Note that Tools/Qt Creator will also be selected and you can't unselect it. "Next" along and wait for the download to finish. Now you'll have a folder in your home directory, probably ~/Qt/, that contains the Qt 5.5 product set.

Step 2: Put the libraries somewhere accessible.

As root, copy the libs downloaded from Qt into /usr/local/lib/Qt5.5/. Assuming you stored it in ~/Qt/ during Step 1, the commands would be:

sudo mkdir -p /usr/local/lib/Qt5.5
cd ~/Qt/5.5/gcc_lib64/lib
sudo cp * /usr/local/lib/Qt5.5/

By putting them in /usr/local/lib, we're keeping them out of the upgrade path of apt-get and its brethren. This means you need to disconnect this hack once 15.10 comes out, but security updates shouldn't have any freak-outs in the interim.

Step 3: Have KCalc, and only KCalc, use the new libraries.

As root, edit /usr/share/applications/org.kde.kcalc.desktop. This is the system-wide launcher for KCalc, and is used as a base whenever the user customizes anything using the menu editor. Look for a line that says:
Exec=kcalc
Replace that sucker with:
Exec=LD_LIBRARY_PATH=/usr/local/lib/Qt5.5 kcalc

This causes Linux to set the LD_LIBRARY_PATH variable to point to your Qt 5.5.0 libraries before any other shared-library pathing is done. This is a hack, but it's the best you have unless you want to start recompiling things.

If you have already modified KCalc (changed its icon, etc) in the menu editor, look for a file with the same name in ~/.local/share/applications/ and make the same changes to it as well. If you have multiple users on your system, do them a favor and run a quick find on the /home tree and update any custom files they have, too. Or chuckle when they can't use the keypad. Whatever suits your personality.

Step 4: Bask in the Numeric Glory.

Launch KCalc by clicking on it, and verify that you can use the numeric keypad. If not, leave me a question in the comments and I will either help you, mock you, or ignore you, I promise.

04 June 2014

Chart Quiz

Click for a larger view
The chart above is of the S&P 500 futures contract, daily close prices, for the past year (ending with the current price today, 4 June 2014, as of the time of this blog post). The pink/yellow/green lines in the price pane are 100-day, 200-day, and 300-day moving averages of price.

In the next pane we have daily volume. Notice how in the circled area the volume is significantly lower than average. Below that we have an RSI (Relative Strength Index) indicator. This is an oscillating indicator, meaning that the value is always between 0 and 100. The purple horizontal lines through this oscillator pane are the oversold (lower) and overbought (higher) levels. Basically, a trader uses this graph to see if the futures contract has been increasing or decreasing in price lately. If it has been going up a lot, it can be argued that it's a good time to sell, and vice versa. As with any indicator, fortunes have been lost trading blindly along with its output. One has to treat it like another voice in the committee.

In the bottom pane, we have an ATR (Average True Range) indicator. This is a simplified measure of volatility: the value of the True Range as a moving average over 14 days. The higher the ATR, the higher the day-to-day volatility.

I don't think I have ever seen the price action, the volume, and two unrelated indicators line up like this before.

So here's the quiz. Is this chart:

  1. Indicating how healthy and bullish the market is?
  2. Scary as hell?
  3. Completely unrelated?

16 September 2013

The Flood

Overnight Thursday, September 12, the height of the week-long rain storm washed out a large number of roads and driveways in the Rist Canyon area. Other areas of the Front Range were getting hit even harder. By now everyone knows the tragedies that happened in Boulder, Lyons, Estes Park, and the Big Thompson Canyon. Since I live in Rist Canyon, and I participated directly in the relief efforts as a volunteer with the Rist Canyon Volunteer Fire Department (RCVFD), I'm focusing on that area.

After the High Park Fire last year, rain gauges were installed around our area and connected to a real-time monitoring website. About 2 hours before the power failed on Thursday night, that website showed we had received over 7 inches of rain in 48 hours. By Monday morning, it read over 12 inches in 7 days.

I spent every day, Friday through Sunday, with the fire department. I spent Friday on Rist Canyon Road, which was the most passable road out, but wasn't able to capture any pictures or videos. Luckily, other residents have done so and posted them. Below are just a few of those pictures. Links to all the sources are at the end of this post. In the case of the facebook links, you'll need to satisfy the security requirements (be the album owner's friend, a friend of a friend, etc). The RCVFD facebook album is public.

In Rist Canyon, we lost about half the road in one spot where tiny usually-dry Rist Creek came screaming down a resident's driveway, undercutting the road severely. In other locations, driveway culverts and bridges were completely erased, trapping residents in their homes. In a couple of cases, we had to throw or ladder supplies across Rist Creek. Stratton Park is one of our biggest branched-off communities, and was cut off for a couple of days while its intrepid residents rebuilt the washed-out road.

Half the road gone in Rist Canyon.
Luke throws supplies to a trapped resident.

Luke and Ruben use a ladder bridge to deliver more supplies.
Stratton Park Road completely washed away.
Expanding to the greater RCVFD response area, things got worse. There are two other roads out of our area: north on Stove Prairie Road to Co-14 and then down the Poudre Canyon, and south on Stove Prairie Road to Masonville and then east to Loveland. Both those routes were washed out completely.

That's me walking away from the North Stove Prairie wash-out.
South-bound is a no-go, too.
The worst location was the Buckhorn Canyon. This is a very rural, nearly wild, canyon community that is only partially served by electricity and phones. Many of the residents rely on solar or wind to provide their power. Luckily, that means that they tend to be very self-sufficient. Their self-sufficiency was put to the test when Buckhorn road washed out completely in multiple locations, trapping them.

Washout in the middle Buckhorn.

It looks like a river, but it's actually the main road.

The washout closest to pavement, the only one we could reach by vehicle.
The first immediate need in the Buckhorn was a little old lady who was on her 12th week of chemo and needed to get to town for her final treatment. She lived just the other side of the closest washout, so we mobilized the forces and helped her across. She absolutely refused to ride in an extraction basket, insisting to go under her own power except for the worst spots. There, she got rides in a jeep and in the arms of a couple of firefighters. Based on the look on her face, I would say she enjoyed both rides tremendously.

Our chemo patient gets a walk across a bridge, after a carry across a stream.
Ruben rides the bumper, chemo patient rides shotgun high and dry.
The next immediate need was the upper Buckhorn, which needed food, drinking water, and medical supplies. We had originally planned to fly these in by helicopter, but it rained most of the day on Sunday, grounding any hope of air operations. Instead, Ruben, Martin, Luke, and I took a couple of Jeeps around to the back side of the Buckhorn and delivered the needed supplies.

Luke has no trouble with an 18" deep mud-hole.
Ruben leads a supply vehicle across a makeshift bridge.
We ultimately had to winch it across with one of the jeeps.
Residents came from everywhere to thank us and receive their supplies.
A firefighter who lives in the area told us of another resident that needed some oxygen bottles, but he was up on Crystal Mountain, which had been deemed totally inaccessible. Ruben took this as a challenge, and we transferred the oxygen bottles to the jeeps. We climbed some roads that most people wouldn't take a horse up, let alone a vehicle, and traversed across on a two-track through some properties that may not even be on the map. It's pretty wild up there, and when we stopped to ask residents how they were doing, we were sure to shout our presence and who we were as we approached. Shoot-first is the primary home security measure in some parts of this area, and we didn't want to be mistaken for intruders.

Ruben and Martin lead the way up a jeep-only road.
We stayed in the jeep.
Luke follows Ruben down the road-now-creek.
Ruben readies the winch to open a locked gate.
On the way back we rendezvoused with a couple of residents that wanted to evacuate. We escorted them across the mud bog to make sure they were safe, and then headed home ourselves. It was a long day, but a very good day.

Ruben leads the evacuees out over the makeshift bridge.
The jeep crew poses with one of the evacuees (her husband is behind the camera).

Links to more photos and videos:


09 August 2013

Happy 2000

Welcome to the new millennium in the Year-a-Month project. I'm not sure how many more years this will continue, but I promise that it won't make it to 2100. No new bands this month, but it's a pretty busy month anyway.

Iron Maiden: Brave New World - Bruce Dickinson is back on this album, which makes Iron Maiden sound a little more like it should. Unfortunately, that's the only part of this album that really made me happy. I can't put my finger on it, but it just seemed uninspired and mechanical.
Pantera: Reinventing the Steel - The final album from Pantera before their break-up. Throughout their short time together (after the conversion from glam to metal), every album reached new heights of guitar rage. A few more years, and they would easily have topped my list; as it is, I'm going to miss them terribly among the revenue-guided garbage that characterized the early 2000s. Thanks for going out with a great album, guys. RIP, Dimebag.

Dio: Magica - Dio carries on the metal torch in Magica. It's got everything I like, so I suppose I should give him a little more respect, but it's hard to take him seriously when he's so cute and cuddly. The guy is like 5'2" and 100 pounds soaking wet. Apparently this is a concept album, but I didn't notice until I read about it on Wikipedia.
Overkill: Bloodletting - A little roster upheaval on this album, with the switching out of the lead guitarist. That's about all that is interesting with this album, though. It's pretty standard thrash metal, and sounds a lot like their other discs. Not bad, just not different.
Deftones: White Pony - This album is moodier than their last, and harder to get into. Nothing new from them until 2003, at which point I'll take a look at the Wikipedia write-up and decide if I want to continue with these guys.
Black Label Society: Stronger Than Death - The second effort from Zakk Wylde and his band Black Label Society is every bit as good as the first. It's amazing how much different these guys sound from Ozzy Osbourne, despite Wylde starting out as Ozzy's lead guitarist. The heavy guitar interspersed with mini-solos gets my head banging.
Motörhead: We Are Motörhead - These guys just never quit. Already they are dominating my MP3 random playlist. Sometimes, listing to MP3s in the car, I notice that it gets stuck in a Motörhead trap, playing Motörhead on every 3 songs out of 5 until I eventually get fed up and start skipping over them. This might be because of the vast number of albums in this band's discography. Between 1977 and 2013, Lemmy and the boys have recorded no fewer than 21 studio albums, averaging one every 1.7 years. That's an amazing record, especially considering they have probably had fewer than 21 sober days in that 37-year time span.

06 August 2013

Grays/Torreys Peaks

Diane and I hiked our very first 14er last weekend, and as a bonus we bagged a second peak. Grays Peak, and the nearby Torreys Peak, are the two most popular 14,000-foot peaks in Colorado, especially for first-timers like us. This is because they are very easy peaks to summit - Grays can be done with a Class 1 hike - and also because they are easy to get to from Denver. Just take I-70 west past Georgetown, jump off at the Bakersfield exit, and drive the terrifying Stevens Gulch Road up to the trailhead, and you're all set.

The Bakersfield exit is visible from Torreys Peak
The adventure started on Saturday right after a quick lunch in Denver. We headed out on I-70 and only a few miles down the road we ran into stop and go traffic. An illuminated sign said, "Slow Traffic from Floyd Hill to Idaho Springs", but we were about 5 miles from Floyd Hill. We sucked fumes along with all the other weekend warriors for an hour or so, and cranked it back up to the speed limit shortly after traversing the Idaho Springs tunnel. I've heard about I-70's epic weekend rush hour, but I hadn't experienced it until now.

The guide books all say that you should use a high-clearance vehicle on Stevens Gulch Road, and they are not kidding. We took the trail-rated Jeep Liberty, threw it in 4wd, and crawled up the rocky hole-covered 1-lane road. It was made even more exciting because we started our trek about 1pm on Saturday, just as the early Saturday morning hikers were breaking camp and heading back down. Several times we had to balance on the edge of a drop-off or back up a ways to find a wide spot to let a line of cars come down the opposite way. This also limited our ability to avoid some of the potholes and wash-outs. I heard a couple of scrapes on the undercarriage of the Jeep on the way up.

As we got close to the trailhead parking lot, we were shocked by the huge number of cars parked along the side of (ie in the middle of) the road. There must have been a thousand hikers on the site, based on the number of cars. We timed it well, though, getting there after Saturday morning folks had started to leave but before most of the Saturday evening folks had arrived. We were able to get a spot in the actual parking lot right next to a very nice campsite. We set up the tent in a light rain, and crammed all our sleeping gear into it just as the thunder started to rumble. We spent a lazy cozy hour or two reading and snoozing while the rain pattered on the tent.

A glimpse of Grays Peak from the trailhead Saturday afternoon as the weather rolled in
Picturesque Columbines at the trailhead
We had brought enough food to eat dinner in camp on Saturday night, as well as breakfast and lunch on Sunday. But about 4pm we decided to head into Silverthorne to pick up some dinner. I wasn't thrilled about trying to drive Stevens Gulch Road in the dark, so we hit up a Jimmy Johns and brought it back to camp. It wasn't all that different than the sandwich parts we had in the cooler, but I also got a Frappuchino out of it, so I wasn't complaining. Diane liked Silverthorne, too; this was her first visit to a real Colorado ski town.

Every campsite needs a bint

The alarm was set for 4:00 the next morning, so we hit the sack early. Our lullabies consisted of a barking dog and some idiot trying to split a firewood log with a camp shovel. He succeeded, broke the shovel, or gave up eventually; I didn't investigate which. The next morning we awoke in the pitch black, affixed headlamps, and started the process of fueling and gearing up for the hike ahead of us. I was hoping to be on the trail by 4:30, but I knew it was probably optimistic. Sure enough, we set out about 5:00. The beginning of the trail is very easy, which helps when you're navigating by headlamp. It wasn't long before we could see the mountains against a lightening sky, and about three quarters of a mile up the trail we rounded a bend and were finally able to see both peaks illuminated in the sunlight.

Grays (left) and Torreys (right) at sunrise

The trailhead is just about at the tree line, at 11,300 feet. Not far from the start, the pines fade out and the largest vegetation are shoulder-high bushes - I think mountain mohagony, but I'm not sure. These then dwindle in size and frequency until they disappear completely, yielding to alpine tundra. When the bushes were about waist high, still in the pitch black, we both decided that the longjohns that seemed like such a great idea back at camp were now a little on the warm side. Taking advantage of the bush cover as well as the dark, we took turns doing a costume change while the other stood guard at the trail. During my post, I must have talked to about 8 people. Pretty busy for 5:30 in the morning.

At about 12,000 feet, well into the tundra, we started hearing little squeaks from pikas. Every once in a while one would poke his head out and look at us, but the best picture I was able to capture was his little fat bottom disappearing into the rocks. So I had to settle for scenery, which doesn't flee from cameras.

American Pika (Wikipedia)

Morning light hits one of the mountains that frames the trail valley
Farther up the trail, the tundra starts to get patchier, and the broken rock piles become more frequent and continuous until eventually it's nothing but jumbled rocks above 13,500. We were really feeling the altitude at this point, and our pace slowed from a comfortable stroll to a plodding death march. The sun and the wind increased at about the same pace, which made further outfit adjustments unnecessary. Unusual for us, we were not passing anyone on the trail, and instead were the ones being passed. This was an indication that we were hiking right at our level of fitness.

Same mountain, 500 feet higher. The whole trail valley is visible to its right.

We started seeing the occasional hiker coming down at this point, although no one that had passed us on the way up, which was encouraging. I chatted with one for a couple of minutes as I stopped to rest and he stopped to put on sunscreen; he said he had set out at 2:00 that morning, and had watched the sunrise from the peak. Very impressive. We also had a runner go by on his way up the trail. He was visible running back down the trail later while we basked in the glory of the summit; talking with other hikers, it turned out he had run all the way from I-70 - a 12-mile round-trip run with an approximate 5000 foot elevation change, peaking at 14,278. Wow.

Cool rock formation next to the trail at the base of the Grays switchbacks

We summited Grays Peak at about 8:30, along with about 20 or 30 of our closest friends. We all hunkered down among the rock piles to escape the wind and had our lunches, chatting about how awesome this all was. We met lots of nice people, and traded picture-taking services freely. Everyone wants to commemorate their achievement, of course. There was an obsessive-compulsive lad there building up the rock cairns at the top into a continuous wall. Not quite sure what his problem was, but it was a little disconcerting having 50-lb rocks dropped on top of the pile I was leaning against.

The view, predictably, was amazing. The wind, predictably, was bitter-cold. The sky was the deepest blue I've ever seen. Words don't really do justice to the summit experience, and pictures can only approximate the panoramic magnificence that we all took in, open-mouthed. You really have to go there yourself, and yes, it's worth the effort.

One of the many amazing views from Grays Peak.
Looking down on Chihuahua Gulch from Grays Peak.
The lake which is the source of the stream is at 12,200 feet.
Diane provides proof-of-life for the kidnapping investigation.

After celebrating, resting, and eating on Grays, it was time to bag Torreys. This is done by taking a trail down the north face of Grays to the saddle that runs between it and Torreys, and then back up the other side. The bottom of the saddle clocks in at 13,750, and Torreys is only about 7 feet lower than Grays, so down we went 500 feet and then back up the same amount. The trail up Torreys is somewhat tougher than the Grays trail, but still easy enough. It is classified as a Class 2, but frankly the elevation was a much bigger factor than the trail difficulty. At Class 2, you're still hiking and not needing your hands, but it's steeper and you're taking larger steps up to get over rocks. Distance from Grays Peak to Torreys Peak: about 1 mile. Not doing it would be crazy.


Torreys Peak from Grays.
Note the trail running along the ridge of the saddle.

Grays Peak from the Torreys Peak trail.
Clearly visible are the switchbacks near the summit.
We think they should install a Grays-to-Torreys zipline.
Despite it being later in the day, the crowd at the Torreys summit was no larger than it was at Grays. Grays was getting busier, though. If you look closely at the picture above (click to enlarge), you can see the summit covered in tiny people. Back at Torreys, a couple of college students that we had summited both peaks with were taking pictures of each other jumping on the top of Torreys. It looked like they were having fun, but we were satisfied with just taking pictures with the sign proving we were there.

Proof of life, location, and date. Send the ransom, already!
After a little more time hanging out on Torreys, it was time to head down. The trail was a lot busier than it was on the way up. We noticed that the farther down the trail we got, the more casual the hikers seemed to be. By the time we dragged ourselves back to the trailhead, we were seeing T-Shirts and sandals on folks with no packs and limited water. I really hope they weren't determined to summit, especially considering the afternoon weather was about to get started again.

Hikers everywhere
We took the tent down in a light drizzle, and broke camp about 1:00 pm. Back down the treacherous Stevens Gulch Road, and onto the stop-and-go I-70 again, spending over an hour getting 10 miles back to Idaho Springs. To break up the suffering, we stopped in Georgetown and had calzones at the Alpine Grill - tasty! When we finally made it home, we were ready to sleep for days.

Satellite View of our trail

For more details and stats about the hike, see my Trimble Outdoors profile.

So, which one is next?

20 July 2013

Bullet-Dodging

Intel (INTC), IBM, and Xilinx (XLNX) all reported earnings last night. Being the pessimistic contrarian that I am, I intended to buy puts on all three of these companies. In fact I was working orders to buy puts on Monday, but didn't get filled. I like to buy the puts a couple of days early, because experience with Research in Motion (previously RIMM, now BBRY) has shown that option cost goes through the roof shortly before an earnings announcement. Apparently the market makers are aware that earnings announcements move stocks, and so are building more expected volatility into the vega. So I exchange a couple of days of market risk for lower implied volatility cost, as long as I feel I'm getting a good price for the options.

Anyway, I didn't get filled on Monday, and intended to place my orders again on Tuesday -- I don't believe in GTC for options entry orders, that's the way to get a really nasty surprise after forgetting about the orders. But life intervened, and it completely slipped my mind until last night long after the market close. I went ahead and checked the price action on those three stocks this morning, and this is what I found:

  • INTC opened at 23.47, down from its close of 24.15. Their earnings missed expectations by $0.005/share. My put would have increased in price by about 50% overnight.
  • IBM opened at 198.27, up from its close of 194.55. Their earnings were $3.97/share, crushing the expected $3.77/share. My put would have decreased in price by 67% overnight.
  • XLNX opened at 45 and rallied to 46 in the first 15 minutes of the trading day, up from its close of 43.53. Their earnings were 56c/share, handily beating estimates of 47c/share. By the time I got out of it, my put would have decreased in price by 75%.
That's a pretty big bullet my absent-mindedness helped me dodge! Just how big? Let's say I put $1000 into each of those positions:
  • INTC: $1000 * 50% profit = $500 profit
  • IBM: $1000 * 67% loss = $670 loss
  • XLNX: $1000 * 75% loss = $750 loss
  • Total Loss: $920 on a $3000 investment, or -31% overnight. Ouch.
Sometimes forgetfulness saves money.

09 July 2013

Happy 1999

I split 1999 in the Year-a-Month project into two separate months, because of the long list. To simplify things, I also simply skipped a month so I could do the full write-up all at once. I also skipped Satan's Child by Danzig, because I couldn't find it for a reasonable price. A lot of new stuff this month.

Acid King: Busse Woods - Busse Woods is a Cook County Forest Preserve near O'Hare Airport, just outside my old stomping grounds of Chicago. The members of Acid King used to hang out there as teenagers, and so this album and its title song is a tribute to that beloved era.
Black Label Society: Sonic Brew - Black Label Society is a new band this month. Its founder, Zakk Wylde, was Ozzy Osbourne's lead guitarist for several years. The guitar work is my favorite (by a long margin) aspect of Ozzy, so not surprisingly I'm really digging this album.
Dope: Felons and Revolutionaries - Dope is a new band this month. They also fall under the heading of "stoner metal", but they have a much harder sound than Acid King. I was able to get this album for free from Freegal, which is mighty nice.
Filter: Title of Record - This album is slightly heavier than the last, which of course means that I like it a little better. Not that I had any major problem with the first one, but heavier guitar sound is always welcome. Least favorite song, not surprisingly, was the big single: Take a Picture. Way too mainstream pop for my taste.
KoRn: Issues - Listening to this album immediately after Slipknot, I could almost picture the members of KoRn sitting around trying to figure out how to sound more mentally screwed up, while the members of Slipknot were just concentrating on shredding. They both are "issues" bands (no pun intended), but KoRn needs to step back into the music instead of just the image.
Megadeth: Risk - This album sucks. Mustaine apparently thought he could make more money by switching over to a more Alt Rock sound - maybe that's the reason for the title: he was risking the band's reputation on a genre change. Happily, things get heavier again with the next album.
Slipknot: Slipknot - Slipknot is a new band this month. I already own their 2004 album Vol 3: The Subliminal Verses. This first album actually follows a 1997 EP (Mate. Feed. Kill. Repeat.) that contained the track that gave Slipknot their name. The album Slipknot was voted the best debut album in the last 25 years. I agree. This stuff kills.
ZZ Top: XXX - ZZ Top continues their transition to a blues band with this album. As a blues sound, I dig the distorted guitar and bass lines. I'm not a huge blues fan myself, but I still found myself tapping my foot while listening to this album. I doubt I would pay money for this album, but getting it via Freegal from the library is OK with me.
Overkill: Necroshine - Overkill remains my go-to band for graveyard metal. I happened to listen to this album right after Megadeth, and it was a breath of fresh air by comparison. It did an excellent job of soothing away the alternative rock rage left with me by Mustaine and company.
Staind: Dysfunction - This album wins this month's Most Disturbing Cover Award, narrowly edging out Slipknot. Maybe I'm just in more of a Staind mood, but I enjoyed this one a lot more than the last one.