Late Nights at the Zoo review

Omaha’s Henry Doorly Zoo & Aquarium gives an exciting summary of their recurring Late Nights at the Zoo event:

“It’s a different crowd when the sun goes down. Come experience our version of nightlife at the most interesting cocktail hour in town. Adults 21 and over can join Omaha’s Henry Doorly Zoo and Aquarium for a relaxed evening of drinks, local food truck cuisine and wildlife as we host our Late Nights at the Zoo summer event series from 7 to 11 p.m. on select Thursday nights, May through September.”

Clearly, this sounds awesome.

I attended the final event of the 2019 series and unfortunately must report that Late Nights fell short of my expectations. This is not to say that I had a bad time, but I am left with little urge to attend in the future.

Crowds. The first thing we encountered was a set of substantial lines to enter the zoo as every individual had to have their ID checked prior to entry. Upon grinding through that slowdown, we were immediately confronted with more lines everywhere we looked: lines to buy drink tickets, lines to redeem drinks using said tickets, lines at every food truck. To the zoo’s credit, they had plenty of kiosks for ticket sales and drink stations throughout the park – so, you could find some low-trafficked options if you did a bit of scouting. The food trucks on the other hand were universally swarmed and we passed up many interesting options to avoid standing in long lines.

Drink selection. The event’s lion logo with martini glass as its nose and mouth is pretty sweet, but more accurate would be to replace the glass with a can of Miller Lite. I didn’t mind the $6-per-can price tag as I assume the money helps to support the zoo, but the beer selection was very disappointing. If I recall, the options were Coors, Miller Lite, Blue Moon (minus oranges), White Claw, and some kind of cider. Seeing this really let the wind out of my sails as I’d been looking forward to a payoff after working through the crowds; definitely a womp womp moment.

Animals. Some memorable sights: a distant rhino standing like a statue in the twilight, three female lions dozing in the darkness right next to the viewers, barely visible in the ambient light. However, the animals generally seemed to be more of an afterthought than I would have expected. Would have been great to receive some guidance on which animals are active at night, recommended exhibits, and perhaps some zookeepers hanging around to impart knowledge.

Blockades. The zoo is roughly arranged as a big loop. We wound up walking about 270 degrees around the loop to reach the second grouping of food trucks. When we decided to call it an evening, we looked to traverse the remaining 90 degrees to return to the main entrance. Unfortunately, we ran into some barricades manned by security staff; we were told apologetically that we needed to go all the way back around. I’m sure there are many good reasons for this arrangement, but not what you want to discover when you are ready to leave.


Ultimately, I was happy to see the zoo doing a ton of business and lots of folks having a good time. I think you would have a great experience if you rolled in there with a group of friends as an alternative to barhopping (if you could forgive the drink selection). As for myself, give me a bit more breathing room and some craft beers and you will see me lining up for another round.

Posted in Fun | Leave a comment

Pickleball win percentage serving first

I had a discussion recently where it was proposed that starting on defense (in doubles) is preferable to serving first because the defenders have an advantage. While the defense does have an advantage because they are able to wall off the kitchen first, I would like to prove that the choice to serve or receive makes no difference in outcome. I wound up using two methods:

Monte Carlo method

I wrote a program that simulates games in order to find the win percentages. You can get the code here. By default, the program assumes the two teams are evenly matched and runs 100,000 simulations:

./bin/console pickleball:serve

The program reports that both teams end up with a 50% win percentage, meaning that it doesn’t matter whether you serve first or second.

We can incorporate a defensive advantage of a few percentage points like this:

./bin/console pickleball:serve --defPct=5

In this scenario, each team will win 55% of points on defense and 45% on offense. The end result is still 50/50 in terms of wins.

Note that when running only 100,000 simulations, you might get a little fluctuation in the output.

I didn’t really understand why the odds would be even, so I wound up proving the result in a different way:

Mathematical “proof”

“Proof” is in quotes because this is not as rigorous as a true mathematical proof, but I think it gets the point across.

First I assume that the only time you would realize an advantage due to order of serves is if the order results in one team having more scoring opportunities than the other.

So consider a simple case of singles with Player A serving first against Player B. View the serving possessions like so:

A B A B A B A B A ...
1 2 3 4 5 6 7 8 9 ...

If you count the number of serving opportunities that A and B have had at any given point, you’ll see that the number will be even when the total number of possessions in even. But when the total is odd, Player A will always have one extra possession. So in this case, Player A does have an advantage due to serving first because half the time (any odd number) she will have had one more opportunity to score points than Player B.

Now let’s consider the more complex case of doubles, where Team A’s first server, A1, serves on the first possession before handing off to Team B. Here are the possessions:

A1 B1 B2 A1 A2 B1 B2 A1 A2 B1 B2 A1 A2 ...
1  2  3  4  5  6  7  8  9  10 11 12 13 ...

You’ll see that again the number of possessions per team is even when the total number is even. But what about the odd numbers? On 1, Team A has one additional possession; on 3, Team B has one additional possession; on 5, Team A is back to having one additional possession; on 7, Team B is up one, and we continue to alternate to infinity.

So 50% of the time (all even numbers), the teams are even. 25% of the time (half of all odd numbers), Team A has one additional possession. And 25% of the time (the other half of all odd numbers), Team B has one additional possession. Given these probabilities, both teams have an even chance of having one additional scoring possession at any random point in the game – therefore, neither team has an advantage due to serving first.

As to defensive advantage, I think that is irrelevant because just as the teams are even in serving possessions, they are also even in defensive possessions.

Conclusion

Assuming I haven’t botched the code and logic, the Pickleball method of giving only one serving possession to the starting team seems to perfectly balance what would otherwise be an advantage to the first servers. And just because the receiving team has an advantage on any given point doesn’t mean you are more likely to win the game if you start on defense.

Posted in Pickleball | 2 Comments

2001 Toyota Camry bumper cover support

Although I am not a gear head I took on the job of replacing my 2001 Toyota Camry’s front bumper myself. This involved navigating a maze of little plastic parts, the most confounding of which was the “bumper cover support”. This part sort of plugs in to the either side of the car, providing a resting place for the top of the bumper.

I knew what this part looked like in real life, but I didn’t know what it was called. I kept researching online, always ending up with this ridiculous cartoon drawing:

camry bumper cover support cartoon

The problem is that the part looks nothing like the drawing. Here is what the actual part looks like:

camry bumper cover support top

camry bumper cover support outer rotate

camry bumper cover support inner

I eventually took a chance and ordered the part because I thought it had to be the one. For anyone else messing around with old Camries, hopefully this helps to decode the images you see for this part. Enjoy your kanmuri!

Posted in Rants | Leave a comment

2014: Another round of busts

Not much has changed since 2013. Looks like I’ll finish the 2014 season 5-9 after starting with another weak draft:

Round 1, #7: WR Calvin Johnson. Thought this was a no-brainer, but injuries left me without his services during the meat of the season. He really only had 5 weeks when he produced like a WR1. I guess I can’t predict injuries, but I did think a WR was a safer pick than an RB. No QBs had been picked yet, so going with Aaron Rodgers or Peyton Manning would have been much better in hindsight. Getting really tired of burning my first pick each year.

Round 2, #26: QB Matt Ryan. I reached a bit here because quarterbacks were going fast and Ryan had a lot of buzz as an elite pick this season. He hasn’t been bad, but certainly not elite. Would have been a different season if I had gone {Aaron Rodgers, Julio Jones} with my first two picks.

Round 3, #39: RB Andre Ellington. Despite his injury last week, I still like this pick. Ellington has been on the cusp of a top 10 RB all season, which I think is great value for a 3rd round RB in a 16-team league.

Round 4, #58: WR Victor Cruz. Ugh, not that he was producing much prior to his season-ending injury, but I think there was potential for him to be a top 15 WR. As it was, injury erased my second WR, just like my first.

Round 5, #71: RB Bishop Sankey. This guy ended up way below the preseason expectations. Under 500 yards and only 2 touchdowns is not going to cut it for an RB2.

Round 6, #90: RB Lamar Miller. This wound up being a great speculative pick. An injury to Knowshown Moreno opened the door for Miller to hover just outside top 10 RB status. Definitely can’t complain about this one.

Round 7, #103: TE Jordan Reed. We don’t have to start a TE in our league, but as a UF fan I know that Reed can produce in the passing game. Injuries to Reed and miserable performances by RG3 made this a wasted pick.

Round 8, #122: RB Carlos Hyde. This was reasonable speculation, but Frank Gore stayed healthy and no timeshare ever emerged.

Round 9, #135: WR Rueben Randle. This was the wrong Giants WR2. Never stepping up after Cruz went down, and missing out on Odell Beckham Jr, I kept expecting something out of Randle and never got it.

Round 10, #154: WR Brandin Cooks. This was a nice pick late in the draft. Cooks helped cover the injuries to my other receivers… until he himself was injured.

Round 11, #167: WR Jordan Matthews. Matthews would have been a great find, if I had held onto him. At the beginning of the season I had good WR depth and it looked like Matthews wasn’t going to be too involved as a rookie. Now he’s a top 20 WR – something my battered squad could have definitely used.

In terms of free agents, I was able to get some value out of RB Ben Tate and WR Martavis Bryant, but not enough to overcome the lack of studs. I ended up around the middle of the pack in terms of fantasy point production, but second highest in points against, which certainly didn’t help. Injury or not, I think grabbing Calvin Johnson was a mis-pick. Given that situation again, I think a guaranteed stud QB would have been better.

Posted in Fantasy Football | Leave a comment

Apple backstabs customers with MacBook Pro 2011 GPU flaw

UPDATE: Apple has finally responded to this problem with a repair program. I was able to work with Apple to refund the $350 I paid to have my MBP fixed.

Apple really does not want to admit that its entire batch of Late 2011 MacBook Pros are lemons. In addition to the change.org petition, there is now a class-action suit which has been making the media rounds:

A massive thread in the Apple forums contains a huge gathering of unhappy customers. Here is one illustrating Apple’s stonewalling:

Called Apple Care today for the first time, and they’ve never heard of this problem. This is not a known issue. I pointed them to this forum and to the recent Time magazine article about the issue, nope, they’ve never heard of it. Even reached the head VIP tech support supervisor dude. Nope, never heard of any problems with the Macbook Pro 2011. So the answer to all your questions is “we’re all dreaming”.

Obviously Apple has done the calculations and decided that their best interests are served by settling a lawsuit (which I assume will be the eventual outcome) rather than admitting that hundreds of thousands (millions?) of their “pro” laptops have a hard expiration date.

There is no simple fix for the problem. What if we’re talking about one million laptops at $2,000 apiece – are they going to refund $2 billion dollars on machines that are out of warranty? No, they will stall, delay, and let the lawsuit play out. So years from now there will be something in the news about Apple settling some lawsuit on machines made way back in 2011, and that negative PR and settlement will be much less impactful than if they were to own up to the problem here in 2014.

Apple is one of those companies that you want to love, that you want to believe is not evil. But when put in a tight spot, the corporation has no qualms about snatching your wallet with one hand, and burying a knife in your back with the other.

Posted in OS X, Rants | Leave a comment

Hearthstone Arachnid Debrief (crawling with spoilers!)

This review was originally intended for the IHEARTHU.com website. After making some suggested refinements and being assured that the article would be published, I watched the days tick by until the release of the second Naxxramas wing made this review old news. Disappointed to not see it published, I can at least post it here in my blog for consumption by the Intertron.

Manflesh: It's what's for dinner

Does anything ever live up to the hype? Well, now that I think about it, I suppose the Lord of the Rings trilogy accomplished that feat.

Spoiler alert: Peter Jackson and an army of 10,000 CGI Uruk-hai do not await you in the Arachnid Quarter.

I will start positively by saying that this first wing of Naxxramas, like the rest of Hearthstone, has a gorgeous media presentation. [please pause here and wait 10 seconds before reading the next sentence]. I love the new board, the new sound effects, the voice acting, the card art – all of that lives up to the Blizzard standard. [again, please stop reading and stare into space for 10 seconds before moving to the next sentence]. The new cards look like a lot of fun and I think there is great potential to disrupt the current Ranked meta. [one one-thousand, two one-thousand, three one-thousand…]

Oh, and there was some lag.

Solo Adventures

While the influx of new cards was sorely needed, my excitement about Hearthstone’s first “solo adventure” stemmed from the new single player mode. Blizzard had stoked my appetite for months with previews and teaser content, leaving me ravenous to dig into the first of the Naxxramas wings. Wings in mind, I carried a plate of them dripping with teriyaki and honey mustard to my desk on the evening of the release. And with my left hand covered in dipping sauce, and my pristine right hand firmly on my trackball, I began to feed.

Normal Mode

In Normal mode you can use any deck to defeat the three enemy heroes offered up in the Arachnid Quarter. This mode shines not because of the gameplay, but because you are transfixed by the sheen of newly minted content. I was so busy clicking around the new board, listening to the enemy emotes, and analyzing the new cards that I blew through Normal mode without much thought to the actual duel. Given how Hearthstone tries to be accessible to everyone, I suppose it makes sense for these enemies to be pushovers. Most Rank 20 decks should plow through the Normal opponents with little difficulty. For the hardcore player, I would recommend turning off your competitive drive and just soaking in the new material.

Class Challenge Mode

The Class Challenge mode was what I had anticipated the most. Here was where I hoped to be solving an innovative series Hearthstone puzzles. Instead I was assigned a hero with a pretty solid pre-built deck, and given the task of dominating a lackluster AI enemy. Clearly these pre-built decks had been designed to give you big combos, but you won’t need them against these sorry opponents.

This was disappointing because a challenge mode has such great potential. For example, the pre-built deck concept could have been made more interesting by giving you incrementally weaker decks. Maybe after the first win, Kel’Thuzad pops up and replaces your Stampeding Kodos with Haunted Creepers. “Can you still win after you’ve been NERFED, mortal?

A checkmate-in-X-moves mode would also have made an interesting challenge. You’re given a starting board scenario, certain cards in your hand, certain draws over the next few turns, and told you have to kill the enemy hero in X turns. But as it was, this mode is rather vanilla and not really much of a “challenge”.

Heroic Mode

Heroic Bosses are extremely difficult

After reading the dire warnings about high degrees of difficulty, I steeled myself for what I assumed would be the Herculean trial of Heroic mode. And here I made a mistake. I analyzed the enemy’s OP hero power, and then quickly matched up the netdeck that would nullify that power. You can summon 4/4’s for 2 mana? Handlock beat Anub’Rekhan on the first try. You can punish me for having cards in my hand? Zoolock rushed the Grand Widow Faerlina down in two tries. You can Sap two minions for free every turn? I ran out of dust when trying to craft the Freeze Mage that would have undoubtedly owned Maexxna. And that was when I realized my mistake:

Netdecking these Heroics just isn’t much fun.

I had a great time customizing a Paladin deck to beat Maexxna, though it only took me two tries. For replay value maybe I’ll go back and make custom decks for the first two enemies as well. If you are a more serious Hearthstone player who wants to enjoy Heroic, I strongly advise shelving the netdecks.

Aside from netdecks being able to crush these Heroics, I was also disappointed in the AI. Maexxna blindly used its hero power every turn, sending my Novice Engineer back to my hand for infinite card draw. Artificial Intelligence is a difficult computing problem, but it speaks to a very weak implementation that can’t figure out that killing the Novice Engineer is better value than returning it to my hand.

Defeating all three Heroics ends unceremoniously with… nothing. You need to do some research to learn that after you defeat all Heroics over the entire course of Naxxramas, then you will receive a card back. That dubious reward plus 150 gold will buy you an Arena run.

Your reward: Jar Jar Binks

Despite my gripes, I enjoyed Heathstone’s new adventure and will certainly have no qualms about spending imaginary gold on the other wings. In terms of meeting the hype, think more along the lines of the Star Wars prequels rather than LOTR. The presentation is great, it’s a fun time, and as an added benefit you don’t have to contend with midi-chlorians or Jar Jar Binks.

Posted in Video Games | Leave a comment

How to fill your roster with draft busts

As the 2013 fantasy football season draws to a close, I am struggling to reconcile the amount of pre-draft research I did with how terrible my draft turned out to be. I began the season feeling like I had a great draft, happy with the value I was getting at nearly every position. But now at the close of Week 13, I’m 6-7 and lucky to be there given my draft.

KEEPER: RB Trent Richardson. It was between him and TE Jimmy Graham. As you’ll see I wound up getting Graham anyway, but spending my keeper on Richardson was a huge loss. With a 2012 season that included over 1300 yards and 12 touchdowns, how could I not keep him? All the experts had him in RB1 territory… seemed like a no-brainer. Maybe the lesson I can take from this is to consider an RB’s yards per carry – Richardson was at 3.6 YPC in 2012 which could maybe be a warning flag.

ROUND 2, #30: RB Steven Ridley. Here I thought I was building my team around two strong running backs. In terms of RBs, I passed over Eddie Lacy, Chris Johnson, and DeMarco Murray – all of whom turned out substantially better than Ridley. He now rides the bench due to fumbling issues, meaning that the 23rd-ranked RB’s value will fall even farther. I did have a doubt in the back of my mind about choosing a Patriots’ running back, but I deferred to expert consensus. He had 4 fumbles last year which is on the high side I guess – perhaps that is a stat I should consider going forward.

ROUND 3, #35: TE Jimmy Graham. My only high draft pick that turned out the way he was supposed to. Was really happy grabbing him in the third round of a 16-team draft.

ROUND 4, #62: WR Dwayne Bowe. That’s right, my WR1 turned out to be the league’s 43rd best receiver. Guys I passed over like Anquan Boldin, Antonio Brown, Jordy Nelson, and DeSean Jackson all have marked improvements on their 2012 stats, but Bowe will be lucky to match his modest production from last year. Maybe there was the expectation that Andy Reid would open up the Chiefs’ offense, allowing Bowe to time warp to 2010 when he went for over 1000 yards and 15 touchdowns. The better play here would have been to lock up QB Russell Wilson, realizing that I’d already lost my chance to get a pre-season WR1.

ROUND 5, #67: QB Eli Manning. Quarterbacks get snapped up quickly in this league, so I tend to punt a bit and go after reliable options with top 10 upside – like Manning should have been. What I got was the league’s 21st-ranked QB who is on pace to have his worst TD:INT ratio since his rookie season. So my punting strategy turned out to be a double-fail: I didn’t get value in the early rounds, and “reliable-with-upside” QB turned out to be “bye-week-fill-in-at-best”.

ROUND 6, #94: RB Ben Tate. Tate would have been a decent pick if he continues his current production and if I’d had the roster space to retain him.

ROUND 7, #99: WR Chris Givens. Worthless option, despite having had some pre-season promotion. Pickings were slim here, but guys like Alshon Jeffery and Michael Floyd were still available. I just didn’t hit the late round WR lotto.

Despite these disasters, I have a shot to finish .500 this year. I did grab WR Josh Gordon in Round 8 (who I traded away a few weeks ago for Russell Wilson), and RB Pierre Thomas in Round 10 who has outperformed my top two RB selections. Free agent WR Keenan Allen has helped out, as has RB Andre Brown who I grabbed prior to his return from injury.

Obviously I’d like to avoid a draft like this in the future, but I don’t think I made any significant blunders given the information that was available at the time. In the end I guess it’s just hard to strategize against bad luck.

Posted in Fantasy Football | Leave a comment

Cedar Point Halloweekends vs Universal Studios Halloween Horror Nights

These days my corporeal form exists closer to Sandusky, Ohio than to Orlando, Florida – meaning that Cedar Point’s Halloweekends is a more drivable distance than Universal Studio’s Halloween Horror Nights. Being a loyal HHN fan I was skeptical of Halloweekends, but this post gave me cause to give it a try.

I will bottom-line this as a Halloween connoisseur: Halloweekends at Cedar Point is a C+ compared to Halloween Horror Nights’ A+.

If you want the socks blasted off your feet by the ultimate Halloween experience, then HHN is where you must go. But if you’d rather have some decent Halloween flavor to complement an array of premium roller coasters, then Cedar Point should be your destination. Let me try to summarize in digestible Internet morsels:

Scare Zones: Cedar Point clearly put effort into their scare zones, but lacked the artistry you see at HHN. In Orlando a scare zone has a distinct, mesmerizing atmospheric presence, whereas Halloweekends feels more like a collection of fog machines, people in masks shouting at you, and green lights in your eyes. I will say that I liked Cedar Point’s concept of “extended” outdoor scare zones: lengthy paths that followed the theme of the zone.

Haunted Houses: you know when a local community group – a high school organization, a church, etc – puts together a surprisingly good haunted house? That’s about the level of a Cedar Point haunted house. Meanwhile an HHN haunted house is, well, a masterpiece. Design, props, effects, dialog, costumes, and “scare factor” are all at the highest level in Universal Studios.

Beer: this is a minor point, but HHN is not shy about selling you a beer. Vendors are everywhere, even in haunted house lines, to grant you a little buzz to accompany your experience. Cedar Point, being more family/youth-friendly, keeps alcohol consumption mostly out of sight.

Crowds: Cedar Point wins here, though peak times at both parks will see you standing in long lines. With HHN you really want to go on an off-night to make sure you have time to get to everything, whereas with Cedar Point you could probably go through all the Halloween content even on a Saturday night.

All things considered, Cedar Point’s Halloweekends is a solid, enjoyable experience. They had lots of Halloween content for children that would be ideal for families – something that HHN doesn’t really offer. My point is that you simply cannot put Halloweekends in the same category as Halloween Horror Nights. HHN is its own category – an elite tier that I suspect it shares with no one else.

And no, I’m not being paid by Universal Studios for writing this blog post, but I would not refuse an all-expenses paid trip to Orlando hint hint.

Posted in Fun | Leave a comment

MacAuthority customer service fail

One month ago I purchased a new 15″ MacBook Pro from MacAuthority. I then promptly dropped about $300 at crucial.com to bump my RAM to 8GB, and (more importantly) upgrade to an SSD. And yesterday I find out that the new MacBook Pro with Retina display is released.

If I had waited one month, then I could have spent the same amount of money to have a MacBook Pro with a better CPU, 512MB more VRAM, and the Retina display.

So I talk to the MacAuthority guys who tell me that Apple is my best bet for recourse. Apple tells me that maybe they would have made an exception for me, but since I didn’t purchase the MacBook through Apple, they won’t consider the possibility. I go back to MacAuthority and relay this information, my main argument being: if Apple is willing to work with me in situations like this while you are not, why would I ever purchase from you again?

I managed to go up the MacAuthority management chain a little bit and they made me the following offer: Nothing.

I understand from a business perspective of course. If MacAuthority accommodates me in some way, then they are left potentially needing to accommodate everyone they sold a Mac to in the past X months. The trick with getting your way in customer service is to explain that you are an exception and should be treated differently. MacAuthority decided not to treat me as an exception, which is certainly reasonable. The only downside for them is that I know a lot of programmers/techies who are Apple fans. I will do what I can to make sure that they never shop at MacAuthority.

If you are considering a purchase from MacAuthority, do NOT buy from them – this is coming from a person with many years of education and experience in IT. Never purchase anything from MacAuthority. Ever.

Posted in Rants | Leave a comment

How to check RAID status on an Intel board

I don’t want to dwell on how many hours I just wasted trying to get the status of an embedded RAID controller on an Intel S3420GP board running openSUSE 11.3. The solution is to avoid the dizzying array of software that Intel offers on their website, and instead use dmraid.

My understanding of this is a little shaky, but first you need to know where the controller is mapped. After some poking around the system, I came across this:

# ls -1 /dev/mapper
control
ddf1_MegaSR___R1__0
ddf1_MegaSR___R1__0_part1
ddf1_MegaSR___R1__0_part2
ddf1_MegaSR___R1__0_part3

I know my array has three partitions so it seemed intuitive that the device was named ddf1_MegaSR___R1__0. I was then able to get the status with:

# dmraid -s ddf1_MegaSR___R1__0
*** Group superset .ddf1_disks
--> Active Subset
name   : ddf1_MegaSR___R1__0
size   : 623046656
stride : 128
type   : mirror
status : ok
subsets: 0
devs   : 2
spares : 0

Unbelievably simple after I had waded through failed attempts at using Intel’s RAID Web Console 2, Intel’s Extensible Firmware Interface (EFI), Intel’s Damn? Platform Control Command Line Interface (DPCCLI), Intel’s Active System Console (IASC), and who knows what else.

Linux had the answer the entire time in a scriptable format. I’d feel bad for all that time I spent, except I’m too excited about finally being able to add this controller to the cronjob that tells me how my RAID arrays are doing every morning.

Posted in HOW-TOs, Linux | Leave a comment