Thwump

Thwump.

The first time you feel it your blood goes cold. The hair on the back of your neck might stand up. Your pulse almost certainly rises quickly, which does nothing to help.

You sit perfectly still. You're probably holding your breath, but you don't realize it. Like your rising pulse, this also does nothing to help.

You wait expectantly, but nothing happens.

You go back to what you were doing. Maybe you were working at your desk, or mending a garment, or working in the garage. As you work on the task at hand, the thwump fades away, and your current task regains your focus.

Then it happens again: Thwump.

Any hope you had that the first occurrence was a fluke, or perhaps just a figment of your imagination, is gone. That thwump truly happened; there can be no doubt about it. If the first thwump made your blood run cold, the second fills it with icebergs.

Those thwumps that you felt were right in the center of your chest, or maybe a little to the left. They were about as hard as someone flicking your sternum, but it came from the inside.

That thwump was your heart, and that thwump was not a normal heartbeat.

At this point you are almost certainly wondering if you're having a heart attack. You're not, but it's hard to imagine that one would feel any different.

You're probably breaking out in a sweat, and as frightened as you have ever been. If you're young, you're wondering how this could be happening to you at this age. In any case, as you sit at your desk you're wondering if this cubicle is going to be the last thing you'll ever see.

But, like the first one, the second thwump fades, and time passes. The third one follows at another random interval, maybe shortly after the second, perhaps not for several hours.

That first day, you'll probably only experience a few. If you haven't already gone to the emergency room by the evening of the first day, you'll probably sleep that night, though rather fitfully. The lack of sleep the next day does nothing to help the symptoms.

If you haven't made a cardiologist appointment (thwump) by the next morning, it won't be long before you do.

When you have your appointment with the cardiologist, you'll receive an EKG that says everything is normal. You'll wonder if the cardiologist understands what normal actually means.

Your cardiologist will ask you to explain your "symptoms", perhaps asking in such a way as to imply that you probably don't even have a heart in that chest anyway. You'll feel stupid, because when this first happened you were sure you're dying, but here you are a few days later an, honestly, you feel pretty okay.

You'll do a stress test, which involves running on a treadmill with a series of electrodes taped to your chest monitoring your heart while you run. It might even involve an ultrasound of your heart at the same time.

You'll wear a "halter pack", which is a heart monitor that you wear all day under your clothes, gathering data. You'll have a button to press every time you experience your "symptoms." You'll press the button several times, but those thwumps never seem to happen at quite the frequency they do when you aren't wearing the monitoring equipment.

A few days or weeks later, your cardiologist will come into the room with a smile to let you know that "everything is fine" and that it's "probably just PVCs.” She'll say just in that way that makes you pretty sure she's wondering why you're in this office in the first place.

"There's really nothing to worry about. They aren't harmful. Cut back on caffeine, alcohol, and stress. Get more sleep and exercise."

You have three kids and thwump your own business, and now your heart seems to need to remind you randomly that it's still in your chest, though frankly, it'd rather be doing something else. Stress? What stress?

Oh the way home you're wondering how you're going to adj-thwump-just.

For the next few days you'll probably find yourself sitting in your chair for a long while, just waiting for that next thwump to kick you in the chest.

Eventually you really do adjust. When you survive enough thwumps without any obvious side effects, you start to believe your cardiologist. You Google PVC too much, read too many articles, but start to realize that you probably will survive this thwump just fine.

Hopefully, you find some ways to cut back on stress and increase sleep and exercise. Prayer, meditation, and relaxation techniques are actually very helpful in this regard.

While you might be able to adjust to these irregular heartbeats, it's impossible to get used to the feeling of your heart kicking you in the chest when you least expect it.

If you're able to make some lifestyle changes, you can go weeks or months without experiencing that kick. You might even start to forget that it can happen.

Then, one day, when you're making your coffee in the morning, you'll be reminded of your mortality in the way know one else around you will know.

Thwump.


While taken from my own experiences, people with PVCs can experience a wide array of symptoms, and for some people the condition can be debilitating. Thankfully that has not been the case for me up to this point.

I have found that there are 2 main contributors to my PVCs: lack of sleep, and anxiety, the latter of which is often amplified by the former.

Getting regular sleep has taken on a new priority for me, which has meant giving up on certain things I'd rather do to ensure that I don't miss out on a good night's rest whenever possible.

Dealing with stress and anxiety is a large enough topic that it deserves its own post, but I can summarize my approach by saying that I now take specific steps to try to get ahead of anxiety rather than waiting for symptoms to crop up and force my hand.

If you suffer with PVCs and feel the isolation that can come along with that, I hope you'll find someone to talk to. If you don't have anyone in your life you can confide in, I'd be happy to talk.

Dallas 18B20 Temp Sensors on an RPi2

I've have a handful of Raspberry Pis around, and several of them have Dallas 18B20 temperature sensors connected for data collection. Up to this point I've used all of them in 3-wire mode (Vcc, Data, Ground).

I just recieved my first Raspberry Pi 2 yesterday, and went to connect it to a network of 4 sensors to replace an Arduino I was previously using.

I ran into a few snags. Here are my notes:

1. Device Tree vs Modprobe

The old way to get this all working was to setup the modules to load, either after boot via sudo modprobe w1-gpio etc, or setting those up to load on boot.

The new way to do this is via Device Tree. You can read all about the changes here. The changes are myriad, as are the reasons behind them.

In any case, to get things working I added this to my /boot/config.txt:

dtoverlay=w1-gpio,gpiopin=17,pullup=on

2. Using parasitic mode without an external pull-up resistor just didn't work.

In 3-wire mode I've never needed to use an external pull-up resistor to get things to work on the RPi. That wasn't the case with the parasitic mode. I had to use a 4.7k pull-up.

3. The built-in kernel driver only supports loading the 1-wire bus on a single pin at a time.

I had 4 sensors, and I had hoped to run 4 separate networks. My experience has been that more networks is typically more reliable than many sensors on a single network.

At this time, that isn't possible without compiling your own kernel. I had to wire all 4 of my sensors together into a single star-network. Thankfully, the sensors have proven to be reliably pinged so far.

4. A few references that were helpful for me.

https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=65137

https://www.kernel.org/doc/Documentation/w1/w1.generic

https://superpiboy.files.wordpress.com/2014/07/raspberry-pi-rev2-gpio-pinout.jpg

https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97314

https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=98407

https://github.com/raspberrypi/firmware/issues/348

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=97216&sid=4a4e0a6dcf11c1dbdf8c60552f75f11d&start=50

https://github.com/raspberrypi/firmware/issues/338#issuecomment-71920412

http://wiringpi.com/

Apple Watch, Two Weeks In

It's been 2 weeks since my 42mm Apple Watch Sport arrived. (So much for not "getting one immediately", I know). So far the experience has been mostly great.

At this point I'm dividing my thoughts into three categories: Frustrations, Delights, and Hopes.

Frustrations

  • I had to do a full un-pair then
  • re-pair of the watch (which is basically a restore from scratch), 2 times in the first week. I think this was at least in part due to some weird bug in one of the apps I was attempting to write for the watch, since the symptoms disappeared with I disabled some "clever" code I was using.
  • Related to the need to restore, there have been a few times where some very obviously 1.0 bugs showed their heads. For example, sometimes the time doesn't show when you raise your arm, or shows only for a half second or so before disappearing.
  • I went on a 1-hour walk, using the workout app, and got no credit for it in the activity app.
  • If I wearing the watch loosly and doing something else, like the dishes, or working outside, it's possible to miss the taps; they aren't as strong as I would have expected in some cases.
  • The app icons are just too hard to tap.
  • Too much functionality is hidden behind Force Taps. I find myself force tapping everything, just to see if there's a hidden feature.
  • Glances are basically useless because they don't update in the background. So you go to glance at a glance and instead you have to have an awkward and lingering stare while it tries to update itself.
  • My two favorites watch faces so far, Solar and Motion, don't allow any complications to be added.
  • Siri doesn't auto-send a dictated response, you still have to tap to "Send" on the screen. It would be really nice if there was a sort of cancelable count-down timer on the send button, so you could see that Siri got the text correct, then just drop your wrist and let it send in the background.
  • Having the side button open your favorite contacts seems like a complete waste. I'd much prefer it launch a favorite app or glance.
  • Sometimes opening an app is just slooooooow.
  • "Hey Siri" doesn't always work (doesn't bring up Siri). Which is made even more frustrating because when it does work, the speech recognition is excellent.

Delights

  • The faces are much nicer than I expected. The demos really did not do them justice.
  • I love being able to change the face from day to day or hour to hour.
  • I love the activity tracking. It's actually affecting my behavior, getting me to be a bit more active. Hopefully that sticks.
  • The heart rate and workout tracking has been great. I love the data that it's collecting (I'm kind of a data nerd, to say the least).
  • The battery lasts way more than a day. I go to bed with about 40% charge remaining every day.
  • It not too small, not too big.
  • The bands are very nice. I'm still looking forward to more 3rd party options, but the mechanism for changing them is fantastic, and the ones Apple has made are very nice.
  • Opening your garage door from your wrist is just fun.
  • Seeing who's at your front door on your wrist is also just fun.
  • Dictation on the watch is very, very good.
  • "Hey Siri, Set a timer for 20 minutes" when your hands are full is very convenient.
  • Not wondering if I missed a notification, since I can glance at my wrist and see that there isn't a red dot. This has led me to leave my phone in my pocket or on the table much more than I expected.
  • Being able to respond to an iMessage while driving, without having to take hands off the wheel, is great.
  • The taps on the wrist when navigation is running are Just Right.
  • Sports scores updates on your write with a glance is great.
  • "Hey Siri, Add milk to my Grocery List"

Hopes

  • Increased stability. It really isn't bad, but there are enough rough edges that I'm looking forward to versions 2, 3, 4...
  • Customization of the side button functionality.
  • More watch faces, please.
  • More customization of watch faces.
  • 3rd party app complications.
  • Auto-updating glances in the background.
  • Native or Native-esque apps. No more spinning dots please.
  • I hope my favorite Grocery List app, AnyList, gets an app on the watch.
  • Oddly enough, I kinda wish it had an LED you could use as a flashlight.
  • I hope to be able to set the watch face to use 24 hour time (maybe this is possible and I've missed it so far).
  • I hope that nice 3rd party bands become available soon.

Glide

Glide is really interesting. The basic idea is that you fill a dropbox folder full of content, and the service generates a beautiful app for you from the content. The elevator pitch is "Hypercard for iOS".

I'm not sure if Glide will be successful, but I have no doubt that at some point something is going to be developed that allows just about anyone to create a basic mobile app that looks good and Just Works.

Something like Wordpress for mobile.

It's also clear that the low-end of the custom App Consulting market, which has been dwindling for years through consolidation and evaporation of profit, will finally be dead.

(Of course, when the custom App Consulting market dies, a new market for building all these one-off Wordpress-ish apps will spout up).