The spare Macbook Pro battery burst overnight. It was sitting on my desk fully charged.
I’m glad it wasn’t in the laptop.
Quick comment… Everyone in the family has multiple devices— phones, tablets, game consoles, computers— and these tend to make network connections that linger. If you have a firewall like I do, the default TCP and UDP timeouts are probably too high (often 3600 seconds) and when everyone is around on the weekend you get poor performance and strange complaints about how things don’t work. Separately, I have an OBI100 VoIP device providing phone to the house. The OBI100 has a default SIP registration period of 60 seconds and re-registers after half the interval, this is a bit too frequent so I have mine set to 300 seconds. As I’ve found, if the firewall expires the connection quickly you can end up with what looks like a valid registration at the SIP provider and can make outgoing calls but incoming calls fail. I’ve worked around it by expiring connections at 360 seconds for TCP and 180 seconds for UDP.
Four and a half months ago I began training in Krav Maga to raise my fitness and to pick up a bit after laying off martial arts for fifteen years. In addition to my three days a week regime of running, sit-ups, pull-ups, and push-ups, I train Krav Maga three days a week. This past weekend I took and passed my level 1 test and I feel like I took a level in Badass. The test was tougher than my expectation, harder than the warnings I heard from the other students and harder than I’d estimated from the youtube videos I’d seen. We were warned that if anyone didn’t push hard enough, didn’t check and guard after our moves, or didn’t drop the pad and guard at a transition we would do extra burpees. That didn’t happen. It still pushed me completely past what I thought was exhaustion while still being able to fight.
The test began with a warm-up and then we spent sixty or seventy minutes doing full speed, 80-90% force combatives and defenses. We covered everything we’ve done in class— hammer fists, straight punches, combinations, elbows with a forward burst, elbows to the side, high, and low, groin kicks, stomp kicks, round-house kicks, kicks with an advance, knees, ground defense, ground kicks, pluck and buck defense for a ground choke, clearing and getting away safely from the ground, inside and outside defenses. After the techniques we did rounds of partnered “band sprints”, where you wrap a belt around your waist and drag your partner as you drive with your legs, and knee strike drives. There were three thirty-second breaks to change pads and sip water over the whole test and I was grateful for every one of those pauses.
Then came the reality-based defense portion of the test. Our assistant instructor donned a riot suit and I stood in the middle of the mat with my eyes closed while music blasted. He attacked and I defended, fighting my way clear. After each I’d drop and do three push-up burpees before returning to the center of the mat to wait for the next situation. I can’t remember which ones he did except for the headlock from the right side and the pushing front choke. I only remember those because I was really surprised at how hard he nailed me.
At some point in this sequence of attacks the assistant instructor took me to the ground and I struggled to fight him off. I remember thinking he’s smaller than me and not gripping, I don’t feel anything on my limbs, just weight on my back and shoulder, I should be able to just stand up and turn shrugging him off so I can use my elbows and kicks but my legs wouldn’t work right. In the exhaustion I was going on automatic. My instructor yelled something like “fight out!” so I drove my hand into the face mask and hook-punched at my attacker’s kidneys and ribs until I slipped out and could hammer punch his back and neck. I could barely pull up to a defensive posture by this point but there was at least one more attack, I can’t remember.
When the cycle was over, I did ten more push-up burpees. I was panting, I was bruised (including a nice abrasion on my check and occular orbit from either a headbutt or contacting the mat, I don’t know which), but I had passed.
I decided to really dig into Ruby and its ecosystem. It’s quick to get things started using RVM and the language is fun (and for what it’s worth, on my system Ruby 1.9.3 is slightly faster than Perl 5.12 on my favorite trivial string parsing test of extracting fields from 500,000 lines of Apache combined log) but coming from Python and Perl I find frustrating quirks in the tools. Today’s example is that the debugger is broken on 1.9.x and searching turns up hundreds of “fixes” that don’t work or only build for specific releases of ruby and the dependencies. I realize it isn’t “core”— there is a debug module in the 1.9.3 stdlib that is kind of undocumented— but it is the sort of thing you expect to work or get flagged as broken. It seems that the authors/maintainers of the debugger gave up on it, but Gabriel Horner has a fork that works.
It’s been sixty days without cable television and so far no one in the house misses it. The TiVo had been recording a blank signal for a week after the last firmware update went out to the cable decoders so I knew it was time to cut the cord. As a family we just don’t watch, preferring to spend our time reading or fiddling with our portable devices. Netflix and Amazon Prime on the Roku are sufficient video entertainment.
It’s quite a savings. We didn’t have anything extravagant— expanded digital TV, two decoders, phone over cable, and internet service— but the bill was slowly creeping upward until it broke $200 per month when the provider expired the last discount and began charging a rental fee for their cable modem. New customers pay $99 and their customer service was not helpful. Enough. I set up a pay-as-you-go account with voip.ms and ported my existing number during a promotion for $10, so it runs me $10-$12 a month for usage including e911, CallerID, and a second DID. I replaced their modem with one I purchased and bumped the internet service up a tier and my monthly for internet is $55. I might spring for a HDTV antenna and ATSC receiver (my old LCD flat panel is strictly a monitor, no tuner) so I can get local channels but that’s not urgent.
We’ve had telephone service through the local cable company for the past four years in a digital tv-phone-internet package. The “digital voice” service from Time Warner is voice-over-DOCIS but otherwise unexceptional and runs on the same cable network as the TV and internet services. We’ve seen our monthly price of the package climbing up and annual offers to new customers for the same package sliding down and received very little satisfaction from customer service. The whole bundle costs too much for the value we get. Cutting cable is a topic for the future, but I think I can do better for our very modest home phone usage.
I bought an Obihai OBi100 VoIP device. A colleague raved about how great his was and I found it selling new for less than $50 with tax and shipping. The first thing that struck me was how tiny it is, pictured here with a pack of gum and a pen for comparison:
The device is about the size of a deck of playing cards, but a bit thicker. The second thing to know is that once it picks up an IP address with DHCP, the web-based interface offers both a “wizard” guided setup and a do-it-yourself mode where you input the configuration. I spent an hour reading the PDF documentation and forums on the vendor site, fiddling with Google two-step authentication, setting QoS on my router, and flashing the device with the most recent firmware before setting it up. The “wizard” is, at least for me, easier and I had the device working perfectly inbound and outbound as line #2 on my desk phone with Google Voice in five minutes.
My next step is to select a SIP provider and configure it as a second service.