The EV future is also autonomous

posted by Jeff | Tuesday, April 26, 2016, 9:39 PM | comments: 0

We decided last year to buy a Tesla Model S despite the cost, because we felt so strongly about going all-electric. It's the future. I know a few other owners, and none of us are wealthy, not by a long shot, but our enthusiasm for EV's is intense. I'm sure we all had our own justification (for science, American can-do, gadget fetish), but I know that being part of an amazing future is certainly part of it.

If you're watching certain headlines, then you know that there is a bigger vision in play for Tesla. It's an ambition shared by Google, probably Apple and maybe Detroit... self-driving autonomous cars. Sure, we were supposed to have flying cars by now, but traffic accidents are a problem because people suck at driving. Cars have been able to park themselves for a few years, and the Model S will do that. It also takes adaptive cruise control to the next level by also steering the car and changing lanes by simply clicking the turn signal. It's like magic.

Unfortunately, while the car ships with the hardware for all of this magic, the software is a $2,500 upgrade at the time of order, or $3k if you want it after the fact. It was hard enough to justify the car in the first place, so this was not an option I could justify. Tesla benefits from having as many people as possible using it though, because it records data and sends it back to the mothership for analysis. As a tease, they're offering a 30-day trial of the software, so I got to try it today. It blows my flipping mind. I don't trust it, and I can't believe that it works. But there it is.

This is our future. Think about it, there will come a day when you can drive without driving, and I suspect that the biggest problem won't be the technology, but government regulation. Made in the USA.

Death to merchant accounts

posted by Jeff | Monday, April 25, 2016, 3:00 PM | comments: 0

After 15 years, I am finally without a merchant account. These are the things that you once needed in order to accept credit cards. I first obtained one in 2001 when I started taking orders online for CoasterBuzz Club. I also used it when I had to essentially resell tickets for events we did. This arrangement resulted in three fees: A monthly fee for the account itself (plus an additional cost for the company that did the Internet gateway for the charging), a per-transaction fee and the discount fee, which is a percentage of the transaction. Collectively, this meant about $35, plus 3.7% + 25 cents on each transaction. That means even if I didn't take a single payment, I was spending $420 a year. After using three different banks over the years, it kept going up. Granted, if you process cards in person, swiping or using the chip, the discount rates are much lower, and if you're doing volume, the monthly fee basically doesn't exist. However, for someone who has never exceeded $10k in a year by very much (when I was selling tickets), it's way too much.

For the last few years, I was hoping that Square would finally open a gateway and start taking Internet-based transactions. They're the people who have been sending out the little swipe readers for phones for years. They finally did start doing ecommerce, recently I think, but the API and documentation aren't super clear. Then I noticed that Stripe was doing it, and you could literally be up and running in under an hour. Sure enough, the payment part of the code for the resurrected PointBuzz Premium took a half-hour tops. What's nice is they also generate receipts by email, and you can set the name to be anything you want on the credit card statements. Their discount rate is lower, but transaction fee higher, compared to Square, but it's basically a wash.

In any case, I'm really pleased with Stripe. They have tokenization and such available too, so you could do recurring charges if that was your thing. It's the speed to market that impressed me the most. They delay the first deposit by a week, but otherwise, it's remarkably fast to get started. Huge thumbs up.

Content has value, because you wouldn't be asking for it if that were not true

posted by Jeff | Tuesday, April 19, 2016, 3:00 PM | comments: 0

Musicians have easily taken the brunt of the abuse around the notion that content should be free. There is never ending irony in the idea that something sought out by people is simultaneously declared as having no value. Photographers seem to win second place in this realm, and a range of content creators, mostly on the Internet, make up the rest.

Today, a PR agency representing a major travel service was working on some kind of bullshit "listicle" piece that they were pitching to their client, and they wanted to use the data from the CoasterBuzz 100, which is the top 100 roller coasters in our database. This content is valuable to me for a lot of reasons. There was effort that went into calculating it and aggregating the data automatically, it's very frequently viewed by users, it has great search engine juice, etc. It's one of the few times I've actually achieved any of that by design. In any case, this is how the conversation went via email around the use of this content (some light editing for clarity). Watch how the change in tone happens...

Agency: Happy Tuesday! We were reaching out for permission to mention in our upcoming [client name removed] press release around summer travel. Please let us know if you need anything from us to make this happen! Thanks!

Me: I'm not sure you really need permission, but what's the context?

Agency: Ok, that's easy! We just want to cover our butts. We're putting together a summer index list that'll cover summer travel that includes beach destinations, national parks and amusement parks. We're using the CoasterBuzz rankings to figure out the amusement park rankings by number of top coasters.

Me: That's not a mention, that's reusing content. You'll have to be more specific about what you're going to do and how you will attribute the data to CoasterBuzz.

Agency: We're taking a list of top 50 cities in the US and using the CoasterBuzz rankings to help us identify the cities with the most top rated roller coasters. We'll mention that we used information from CoasterBuzz and link the list to the press release. Do you need further details?

Me: That's still vague and unsatisfying. The attribution doesn't really help me... you're just using content for free. I'm not OK with that.

Agency: I explained exactly how we're using the data in my previous email. [gives example]

We continue this for all 50 top cities in the US. We also pulled top rated beaches, identified whether or not they have a national park, their average weather, etc. From all of this data, we create a travel index for consumers to reference as they're thinking about their summer travels. Does that make sense?

We're also pitching this content to top tier consumer and travel media as well as distributing a national press release (which isn't cheap). We're essentially driving more eyeballs to the CoasterBuzz website and increasing potential traffic.

What terms would you be OK with?

MeIf you want to pay for use of the data, that would be fine, but I'm not interested in eyeballs. They don't pay for the hosting services or software. If that's something you can budget for, do let me know, otherwise, I'm not willing to allow the repackaging of our content.

AgencyWe'll look elsewhere.

Awesome, right? When you want something for free, there's nothing quite like making it sound like you're doing me a favor. I can assure you that after 17 years of doing this, it's not a favor. I've had mentions in the LA Times and on NPR, and I can assure you that there's no flood of traffic that comes from these mentions. And in those cases, at least it's around something newsworthy, not generating content for the purpose of marketing. What started as a "mention" was really redistribution of content for free.

Content has value. If it didn't, you wouldn't be asking for it.

Collaborate and contribute vs. order taking and kingdom guarding

posted by Jeff | Tuesday, April 19, 2016, 11:00 AM | comments: 0

I was chatting with a coworker yesterday about the various kinds of IT work environments that we've been in. It was largely in the context of the kind of influence we have, depending on our career stage. I was making the point that it's easier to "sneak in" the right things when you get further along, a perk that I've enjoyed a bit in recent years. There is definitely a difference in the flavor of environments that are out there, ranging from the full-on IT-as-innovator shop to the stodgy old heads-down status quo.

When I say "IT," really I mean the software end of things. The hardware and infrastructure side of things is a different beast, though this is slowly changing as more companies adopt a devops world of virtualized everything and stop buying racks full of silicon that they'll eventually throw away. On the software side of things, there tends to be two m.o.'s at play, and it's striking how infrequently the shops fall somewhere in between (at least in my experience).

The first is the world where IT is a collaborator and contributor to the business. Good ideas come from everywhere. The IT people are engaged and understand the context of the business, so everyone from a junior developer up through management is able to identify an opportunity and suggest it to the other parts of the business. Those other segments embrace the ideas, and together the ideas are refined to turn a drip of awesomesauce into a steady flow. These are the companies that end up doing truly great things.

The other end of the spectrum is where IT is relegated to a customer service organization. Its intention is to take orders as they come along, and guard the kingdoms that they've set up. The other business segments aren't interested in getting ideas or innovation from IT, and IT is happy to just keep its head down until called upon. It will tell the business "no!" because of "security!" and other reasons that sustain its kingdoms. People are hired not for their ability, but because they can conform to this model and not ask too many questions.

I don't have to explain which scenario is better for any business, but the cultural leap to get from passive IT to full collaborator is not an easy one to make. The old stereotypes of the socially challenged guys in the basement who set up your printer are hard to shake. It isn't just the perceptions outside of the basement either, because there's a self-fulfilling prophecy among many software workers that, "This is where we belong." But consider this: The software people of the world are indexing the world's information (Google), making social interaction more global (Facebook), teaching cars to drive themselves (Tesla)... why would you not want the same kinds of forces that are changing the world changing your business? If you don't enable this culture, your competition will.

Civic doody

posted by Jeff | Wednesday, April 13, 2016, 6:50 PM | comments: 0

I don't know if others had this experience, but in grade school in the Cleveland school system, in the early 80's, we had something called citizenship lessons, which I suppose would be more broadly classified under the realm of social studies. As early as grade three, I remember learning about the Western Reserve, and how the townships in Northern Ohio were drawn out. Of course, there were lessons about the bigger issues of how the federal government worked, too, but I found it all very interesting, and it was probably some of the most practical knowledge I gained in school.

I assume that they still teach this stuff in school, but either there's a retention problem or people just don't care. I think one of the most critical things about government, and participation in it, is understanding how it works. If recent political discourse is any indication, people have no f'ing clue.

For example, we're all familiar with the usual nonsense ranging from, "Obama is gonna take my guns," to, "Cruz is gonna repeal Obamacare." You shouldn't need to be a constitutional scholar to know that there's a Constitution, or that Congress makes (and repeals) laws, not presidents. The basic principles about the three branches of government seem completely lost in the discussion.

It isn't much better at the local level. People don't seem to know or care about the various districts and municipalities they're in. When I lived near Cleveland, we were in six separate taxing districts (city, school, county, library, park and vocational school). Here, we're not even in an incorporated municipality, something lost by our neighbors who call city hall for the town that we share a zip code with. (You would think as a homeowner one would want to know who they're paying taxes to, and what local issues will come up in the elections.)

My intention here isn't to say, "What a bunch of morons." I'm just frustrated that people won't engage at a basic level to understand their surroundings. I don't want to live in the movie Idiocracy.

(Sidebar: There's a certain irony that the immigrants that so many people don't want actually learn this stuff to become citizens.)

Another Azure outage, and why regional failover isn't straight forward

posted by Jeff | Saturday, April 9, 2016, 9:23 PM | comments: 0

It's been a rough month for my sites in the East US Azure region. On March 16, a network issue made it all fall down for about four hours. Today, on April 9, just a few weeks later, I've endured what might be the longest down time I've ever had in the 18 years I've had sites online, including the time an ISP had to move my aging server and fight a fire in the data center. It will probably be awhile until we see a root cause analysis (RCA), but the initial notes referred to a memory issue with storage. The sites were down for around 7.5 hours this time, and the rolling up time over the last 30 days is now down to 98.5%. That's not very good. Previous outages include the four hours on 3/16/16, two hours on 3/17/15, and two hours for the epic, multi-region failure on 11/20/14. Fortunately, none of these involved data loss, which is the thing that cloud services should achieve the most. I moved in to Azure about two years ago.

Here's the thing, I know firmly that CoasterBuzz and PointBuzz don't support life or launch rockets. The ad revenue lost is really not that much, which you could probably guess considering how much I complain about it. Still, the sites are an important time waster for a lot of people, and I've spent a lot of years trying to get some solid Google juice. When the sites are down, it harms the reputation of them for users and for search engine bots that are trying to figure out how important the sites are. There is a cost, even if it isn't financial.

My costs are lower, while my flexibility and toolbox are better since moving to Azure. No question about it. The hassle free and inexpensive nature of SQL databases in particular are huge, especially the backups and ability to roll back to previous points in time through the log. That said, the down time for all but the broken 2014 incident were regional issues, and the only way to get around that is to have everything duplicated and on standby in another region.

If the only issue was the apps themselves, this would be super easy to handle with Azure Traffic Manager. Sites go down, boom, they route to a different region. Where things get less obvious is when you have a database failure. Today's failure appears to have been caused by a failure of the underlying storage for the databases, so the apps returned 500 errors. In this case, ATM would presumably reroute traffic to my stand by region, where I would have the sites ready to go and pointing to the failover database, also in the other region.

In today's case, I'm not sure if that would have worked. The documentation says that the database failover won't happen until the primary database is listed as being "degraded," but for the entire 7.5 hours today, it was listed in the portal as being "online." It most certainly was not. The secondary database won't come online until the other fails. I assume I could manually force it, but I'm not sure. I'm also not sure what happens when the original comes back online in terms of synchronization, and designating it back as the primary. And what if the apps went down but the databases were fine? Traffic would roll to the other region, but wouldn't be able to connect to the local databases because they're not failed over (and no, I don't want to connect to a database across the country).

So really, there are two issues here. The first is the cost, which even for my little enterprise would add up a bit over the course of a year. The secondary databases in another region would add around $25 per month. Backup sites would cost another $75 a month. ATM cost would be negligible. An extra hundred bucks seems like an awful lot for what I'm trying to do. I did see a good hack suggestion that says you can put the backup sites in free mode, and manually scale up if you need them, then point ATM at them.

The second problem is that the automation is far from perfect. In the sites down, databases up scenario, it would fail. Today, if the databases were "online" but really not, it would fail. I wouldn't feel comfortable getting on a cruise knowing that while I'm at sea there could be a problem.

This is mostly academic, and I realize that. If I have to deal with a few hours now and then with the sites down, so be it. Like I said, they're unimportant time wasters. It's just that 98.5% uptime in the last 30 days sucks. I know they can do better.

When will things go horribly wrong?

posted by Jeff | Saturday, April 9, 2016, 3:34 PM | comments: 0

It's not lost on me that I've got a pretty good life. I've worked pretty hard for much of it, made changes where I could, and paid particularly close attention to the quality of people I allow into my life. I have a good job, have great friends, a darling wife and child. I'm not rich, but I do OK. This is what I think we generally aspire to, and I'm generally happy.

But then you hear about things that happen to other people, just arms length from you. Someone gets cancer, a child is hurt, a job is lost or a couple splits. You start to wonder when it will happen to you. I don't think this is an issue with having a morbid perspective or anything, but I do believe that one knows intense happiness because they've experienced intense pain. Once you know that's possible, I suppose you're on the look out for it.

At this stage of my life, it's not that I fear death. I got over that a long time ago. Now what I fear is not having enough time with my wife and child (or them with me, in the more worrisome scenarios). I hate all of that "everything happens for a reason" bullshit that people use to rationalize death. I found it freeing when I accepted that the only "reason" is that everyone eventually dies, period. I can't change that, so I'm not going to stress over it. But again, now it's just that I don't want to squander the time, or have it taken from me.

I know, this all sounds horribly pessimistic, but sometimes the brain goes where it goes. I like my happy bubble, and I don't think it's entirely unreasonable to want to stay in it. We've been without any serious and instantly scary challenges for a few years, and I'd like to keep it that way. As rational as I try to be, emotionally it's still possible to feel as though you're "due" bad things.

So if karma is a thing, hopefully I've got some good stuff stored up.

A remote day at work

posted by Jeff | Friday, April 8, 2016, 3:00 PM | comments: 0

At last weekend's Orlando Code Camp, we (as in, my employer) had a table in the common area set up to talk to people. One person asked what it was like to work remote, and the best I could describe is that it's "different." I think generally that there are more pros than cons, and as an employer, you aren't limited by geography to have the best people. Silly "command and control" environments are obsolete, and if anything, you are judged more fairly because you have nothing to show for your work other than the results. You don't get points for showing up if there isn't a place you're showing up. An entire book was written about why it's awesome.

But the question seemed to be more about how you work. I suppose it's different for everyone, but my routine goes something like this:

  • 7:30 a.m., roll into the home office, handle email, prepare for whatever is in store for the day.
  • 9 a.m., at some point during the hour, most of my projects have had our daily stand-up meeting. That's where each person on the team says what they did yesterday, what they will do today, and if they have impediments. This usually takes less than 10 minutes, and follow-up conversations happen after if necessary.
  • 10 a.m. - noon, somewhere in that window I typically shower if I didn't when I got up.
  • Lunch: Time and duration varies based on meetings. If I stay home to eat, most of the time I don't take a very long break, maybe 15 minutes. If things are slower, I may stream a show for background (The Daily Show is typical). If time permits, I'll go out for lunch, and it's not uncommon for Diana to come along. We've even gone into Walt Disney World a few times for lunch!
  • Afternoons tend to have the highest density of work, but they aren't without meetings.
  • I usually intend to wrap up by 5 p.m., but sometimes I don't realize what time it is and I go longer.

The weirdest thing about this is that it's not unusual to do actual work for more than 9 hours in a day, but it's also easier to fit in things like haircuts, a Christmas concert at school, or said Epcot for lunch. Since the job requires billing clients, I can see that total time, billable or otherwise, tends to average between 40 and 42 hours a week. All things considered, that works out consistently. Projects have budgets, so you can't usually arbitrarily work extra just because. I've put in longer weeks, but I don't think that has happened more than two or three times in two years.

My year working remote at Humana was pretty similar to this routine. The point of contrast is that I don't spend time in the car commuting. I'm not racing out of a building at 4:30 or getting in at the crack of dawn to avoid traffic. That time instead is spent working or having the flexibility to do life stuff. It's pretty fantastic.

We happen to have an Orlando office, so those of us who are Orlando based do try to come in Tuesdays and Thursdays. It varies, as I'll skip out when there are long meetings (in my case, sprint review and planning) or if I really need a little extra time out of the day. But it's a nice arrangement because I get to hang out with people and talk about work and be social. On those days, I tend to get there by 8:15 (beating traffic, mostly), and then leave in the afternoon whenever I'm at a logical stopping point. Then I finish at home until 5-something. I still tend to get a solid 8 hours of work done, no problem.

Can everyone work this way? I'm not sure. I don't think so. I find it very easy, and the collaboration tools and phones and screen sharing all make it work pretty well most of the time. It feels more efficient to me. I love "coming home" instantly and seeing my darling wife and child. Professionally, it's great to work with great people, all over the country.

Team Puzzoni at 7 years

posted by Jeff | Sunday, April 3, 2016, 10:25 PM | comments: 0

Tomorrow is already our 7th anniversary, and I can't believe it has already been that many years. Diana and I were married on the beach in 2009. I'm always saying how I celebrate our marriage every day, which sounds like b.s., but it's mostly true. (I mean, some days I'm sick or whatever, and I don't really celebrate anything.)

This year was another full of adventure for us. We sent our kid to kindergarten, took three cruises, bought a ridiculous car, had some health challenges, Diana worked part-time for the year and continued to build an impressive quilting audience online... never a dull moment. Sometimes I wonder if we should have more dull moments. Do other married couples have those?

Despite all of the adventure, I do feel like we have a pretty steady routine. There's a level of team work that steadily improves. I still think she does most of the work when it comes to Simon and the house and such, and the fact that we have settled into these 1950's gender roles makes me uncomfortable for reasons I can't explain. The love itself doesn't seem routine, which surprises me. I don't get "used to it," it still has the intensity one associates with newness, which is awesome.

I love that I have to wait up for Diana when she's working late, and love that I smile every morning waking up next to her. I'm pretty lucky to have landed someone so kind, beautiful and inspiring. She's amazing.





Developers: You have to share and mentor others, for the sake of our profession

posted by Jeff | Saturday, April 2, 2016, 10:41 PM | comments: 0

Again this year, I did a couple of talks at Orlando Code Camp, the amazingly awesome free mini-conference that our local user group, ONETUG, has been putting on for a decade now. I am again fascinated by the vibrancy of our community, and all of the people who volunteer their time to share knowledge. It's humbling and amazing. (My decks are on GitHub, by the way. I won't rehash the mentoring and career development stuff here.)

One of the talks that I did was about mentoring developers. It's something I'm passionate about, and I think it solves a problem that keeps getting worse. Our profession doesn't have enough people to do the work, and the experience and skill level in the pool that we do have isn't high enough. And if you dispense with the egos and hyperbole often associated with some segment of developers, you start to see the pattern that our work has more in common with classic trades than it does a truly academic pursuit. In other words, it's more like learning how to be an electrician or carpenter than it is learning to be a doctor. You need experienced people to teach you how to do the work, hands on.

With that in mind, mentoring has to be a part of our daily routine when we're in senior positions and when we're managers (assuming that we're managers who code). I didn't mention this in the talk, but I flatly reject the idea that we don't have time to do this. It's built in to everything we do, whether it's formal code reviews, pairing activities or informal talk about life. You can read all of the blog posts and StackOverflow answers in the world, but unless you have contextual, interactive opportunities with other humans, you won't gain the experience that you need to improve your skills.

That's why it's vitally important to get involved with something like a local code camp or user group. A strong technology market doesn't get strong just by having the right companies move in. It's ultimately composed of people that make work happen. If you're in any career stage where you feel like you have something to share, to pass on your experience, do it. The amount of work there is to do keeps growing, and the number of people who can do it isn't keeping pace. There's no need to protect your knowledge. Share it. Our profession depends on it.

25,000 EV miles

posted by Jeff | Tuesday, March 29, 2016, 2:30 PM | comments: 0

I noticed yesterday that about 7 months of being an all-EV family, and including the year prior, we have now logged 25,000 combined miles on our electric vehicles. That's a whole lot of driving! The 2015 Nissan Leaf came to us in August 2014, and the Tesla Model S in August 2015. The former is averaging a little under 1k miles per month, the latter just over.

There are a lot of things that I could tell you about driving EV's, but the biggest thing is that it's a whole lot of fun. I never want to go back to a gasoline car. Ever. It seems outright barbaric to drive something that makes thousands of little explosions every minute to make the car go. The feeling of even the Leaf giving you that instant torque is addictive. The unexpected point of joy is never going to gas stations. You just go home.

Late in the summer, we have to decide what to do with the Leaf, as its lease will be up. If we need to buy more time, my understanding is that Nissan is in no hurry to take back the cars (the new model has a bigger battery, negatively affecting resale), so we might be able to extend the lease a bit. So maybe we can get the new Chevy Bolt if it ships on time and in volume. We'd also consider the BMW i3, which has strangely had some lease deals that are competitive with the current Leaf. We'll do a reservation for a Tesla Model 3, but we're realistic in understanding that the actual delivery could be 18 months out, at best. Overall, the Leaf has been an excellent, maintenance-free car. It's a little tank, and perfect for commuting and daily use. It doesn't go long distances, but we don't need it to.

The Tesla is, of course, the best car ever made, or so one would assume given the reviews of the auto magazines and Consumer Reports. At the very least, it's the safest car ever made. For Thanksgiving, we proved out that road trips are a non-issue, but admittedly this is an advantage unique to Tesla because of the supercharger network. It's a comfortable car that showcases everything that technology is doing for driving. My only real complaint (other than the cost) is that it's a big car, and I'm not a fan of big cars. It sure can carry around a bunch of people and their stuff, and a robust Ikea trip is no big deal either. People staring at you is uncomfortable, however. I don't want the attention, I just want to drive a very capable electric car. At the 3-year sell-back option, I wouldn't rule out selling it, because the guaranteed price would be a positive equity situation, and in 2018, there will be more options (that cost less). If the Model 3 can use superchargers, I suspect that's the world we'll live in.

Beyond that, perhaps it's time to answer the frequently asked questions...

How long does it take to charge?

I hear this all of the time, and people think I'm being a dick when I answer, "I don't know." I really don't. I plug it in when I get home and that's that. We plug the Leaf into a standard 110 outlet, which is slow, but I know it charges about 5 miles per hour. Considering the rated range is only 70 miles (real life we get 80 to 100), we know it will finish before morning. Supercharging the Tesla is exceptionally fast, exceeding 300v/300a, but again, the time it takes is only when the battery has enough charge to get to the next supercharger. In practice, that was a 20-minute endeavor on our road trip, and most of that time was spent acquiring food or using a restroom.

Where do you charge it?

At home. The only time we ever charge in public is when we're doing a road trip, and use the "free" Tesla superchargers, or if there's a parking advantage. Otherwise, public charging infrastructure is mostly irrelevant. Home is your charging station.

Aren't you worried about running down the battery?

Aren't you worried about running out of gas? It's the same answer.

How long before you have to replace the battery?

Never. The Leaf is a 2-year lease, the Tesla has an 8-year, unlimited mile warranty on the battery and the motors. I'm not going to have that car in eight years.

But it's not big enough.

I hate that argument for any car. My parents had a Chevy Citation, and somehow the four of us managed to get around just fine. People today either overestimate the size of their children or they carry too much shit around. That said, the Leaf works fine for commutes, grocery shopping and the like. The Tesla hasn't had any issue carting around three adults, two children and all of their luggage, without even using the frunk. It handled a large Ikea run as well.

How does it affect your electric bill?

It depends on how much you drive. Our electricity costs around $0.124 per kWh, and the two cars average about 4 miles per kWh. So if we drive both cars 1,000 miles per month (which never happens), that's 500 kWh. That would be $62 in electricity. In practice, we spend $40 or less because we don't really do more than 1,500 miles combined per month. But if you want to compare to gasoline, driving a pair of reasonably efficient cars that do 30 mpg would be about 67 gallons. At $1.99 per gallon, that's $133. If your car is less efficient, say some giant SUV doing 15 mpg, you're now up to $266. I'm not saying this necessarily makes up for the cost of the car (it definitely doesn't in the case of the Model S), but that's what you're looking at. Our lease payment on the Leaf if $105, so the savings work out there. This will only continue to get better, and once we've got solar on the house... watch out.

Yeah, but your electricity is made by coal!

Actually, ours mostly comes from natural gas, but yeah, fossil fuel, I get the point. While I admire the long-term goal of reformed energy, mostly we drive EV's because they're amazing and more fun. Still, the economy of scale of centralized electric generation means that it's far more efficient than any one-off gasoline engine. This story only gets better as solar grows (it had a great year in 2015). Then you have interesting stories like Tesla making their battery factor self-sustaining on solar. They're exciting times. The electric car is a little ahead of the progress in electricity production, but not by much.



A "real" vacation

posted by Jeff | Tuesday, March 29, 2016, 12:12 PM | comments: 0

I think a lot about the importance of taking time off, and that initial six months after moving to Orlando without time off really wore on me. But now that I'm really thinking about it, Diana and I haven't taken a "real" vacation since our honeymoon to Hawaii. Seriously, we've taken a bunch of weekend cruises and trips to amusement parks up north, but that's not a week-long, hardcore vacation. We spent almost a week in Seattle after moving back to Cleveland, but that's more of a homecoming than a vacation. It's true... our last real vacation was Hawaii in 2009.

Now that I put it in that context, I guess it's no surprise that late last year we decided it was time to do it right, and take an extended trip. That trip is going to be a cruise, actually, but it's going to Alaska this summer. You can't really see glaciers splintering off into the ocean from land, and we do love cruising, so it was a natural fit. Most importantly, it was something we could do as a family. Then we had the late-breaking bonus that our Seattle family will be joining us, so that's super awesome.

There are a lot of big vacations that we've talked about. That I've sadly not been to Europe is a focus, though we can't figure out if that's something we can do without Simon or not. We definitely would like to return to Hawaii, since the weather was suboptimal on our last trip. My mental block for a long time has been about budgeting the time off. As I approached the end of last year realizing that I needed to take the last week off to avoid losing time (time off spent doing very little), I was ready to commit to something serious. Alaska was the something.

Starting in June, I'll start to accrue even more time (four weeks), so it's important that I look at vacation as essential, and plan for it. Long weekends aren't vacations, they're distractions. Sometimes you need to get out into the world for longer periods of time.

He's growing up too fast

posted by Jeff | Monday, March 28, 2016, 11:17 PM | comments: 0

Easily the hardest thing for me as a parent is to let my kid struggle a bit. This is probably doubly so because of Simon's ASD challenges. Mind you, two years after the official diagnosis, I'm amazed at how well he's adapted in certain ways. I'm also relieved that he's doing so well academically. But it seems like every day I have to let him suffer a bit, and fight the urge to "save" him from something. Tonight it was getting his long soccer socks off so he could shower (which I also defer entirely to him). He gives up too fast, and his fine motor skills are still behind, so the emotional plus physical struggle is definitely real, and I have to back off and let it happen.

Once he got into the shower, I crashed on his bed, within ear shot in case anything went totally wrong. I couldn't help but think about him sprawled out on the bed a few minutes before, because his physical appearance is... long. Or tall. We've noticed in photos lately that he's this tall, skinny kid, for being only 6. He's in the 90th percentile for height, already 48". My little boy isn't little anymore.

This was already setting in, particularly after someone mentioned on Facebook that he's one-third of the way to adulthood. In that context... I'm not even sure what to do with that. The first six years flew by. I mean, yeah, I can easily recall the sleep deprivation and such in the first two years, but now it seems like time is going by faster.

It seems like there's a pretty small window here. At school age, kids have opinions and personalities, and you can have conversations with them and good laughs. They also retain the affection and uninhibited love that children give. Simon loves to cuddle up with us when he's watching TV, and he'll climb into our bed (entirely too early) if we're not already up. He still wants to hold hands at theme parks. Those days will be gone soon, and that makes me incredibly sad.

I think a part of this subtle dread comes from needing a break from time to time. As adults, obviously, we want to do stuff for ourselves, and also spend important time with our spouse. So if the sadness about the kid growing up wasn't bad enough, then you feel kind of bad when you just want to get away from him for a bit knowing that the window of cuddly child-parent relationships is short. Trust me, after he was sick for a week, followed by spring break, these moments have been frequent lately.

The sense of urgency isn't all bad. I think that's why I've been so eager to take a big vacation this year with him. (Diana and I haven't taken a "real," long vacation since our honeymoon.) I'm not sure if he'll remember it necessarily, but I sure as hell will, and I look forward to creating those memories. In the mean time, I wish he would slow down a little.

Who would actually want to be president?

posted by Jeff | Monday, March 28, 2016, 5:42 PM | comments: 0

Diana and I recently finished watching The West Wing on Netflix. Well, I watched the Sorkin seasons and the last one, but she watched the entire series. I guess the middle part that I missed wasn't that great, but I did enjoy the parts that I saw. I mean, I love people walking and handing off papers while talking fast. While it's certainly a work of fiction, obviously, I suspect much of the context in terms of the decision making that the president has to make is pretty for real. It makes you loathe the idea of the people currently running taking the office, but also makes you wonder who would want the job at all.

If you're the president, people will live and die by your decisions. That's a really heavy burden (again, one that some are far too cavalier about). You have the constant stress of having to do what you believe is the right thing, and you should be considering how that rolls with what the American people expect of you. The pressure and stress have to be massive. I'm sure you've seen the before and after photos of the various presidents in our lifetime. It ages you.

You have to immediately question why anyone would want this job. That amount of responsibility and power associated with the position is enormous. That's actually one of the things that I loved about that TV show, in that the guy they got to run for president in the last few seasons was the "real deal." His motivation was one of public service. Of course, that kind of ideal is probably total fantasy in real life.

What saddens me is that the office itself has become such a joke as of late. I don't mean that in relation to the current or any past president, but in politics and news coverage and even from the standpoint of regular people on Facebook, no one respects the office itself anymore. Symbolically, it should be one of the greatest symbols of our democracy. Instead it is being used as the goal of agendas to incite fear and hate. It's a sad thing to see. I know we can be better than that.

Is twice the phone cost twice as good?

posted by Jeff | Saturday, March 26, 2016, 11:16 AM | comments: 0

There were two big phone launches recently: Apple's iPhone SE and Samsung's Galaxy s7. These are two premium products that people have gone pretty ape shit for, and that makes sense because people like nice things. The iPhone isn't terribly priced at $400, unless you consider that it's a smaller screen and has only 16 gb of storage. The Samsung is a staggering $800 from reputable retail. That's crazy.

I'm generally one who believes that you get what you pay for. Granted, my opinion varies based on the type of product. I've bought expensive cameras because they last me a decade and are excellent tools. Ditto for computers, which I've used for up to five years. I used to think this about phones to an extent, when most of the cost was buried in a service contract. Then, last fall, Diana and I bought Google's Nexus 5X for about $400 each. It isn't cheap, but off-contract, unlocked and not full of carrier and manufacturer software, it seemed like a good deal. We've been mostly thrilled with the phones.

This begs the question: Is a phone that costs twice as much, twice as good? I can't imagine any instance where that would be the case. If the phones can reasonably perform all of the (let's be honest) non-essential things that we do with them, and aren't intended to last more than a year or two anyway, why spend more? This question was already on my mind when we bought Diana a $50 phone early last year. Spending more doesn't really get you more.

I theorize that this is going to change soon. If Xiaomi does enter the US market, things are going to change pretty dramatically. They're building really nice phones at really low prices. It's strange that the competition isn't a bigger deal considering the size of the market.

In any case, me, the technology nerd, I'm content with something that isn't the top of the line when it comes to phones.

When I needed Kirsten Dunst

posted by Jeff | Friday, March 25, 2016, 4:30 PM | comments: 0

I heard a song that caused a flood of memories to come rushing back from 2005. That was not, as my dear friends know, a very easy year for me (you would never know it by reading my blog back then). That fall in particular was emotionally challenging, as I was learning to be single, and I wasn't very good at it.

In October of that year, Cameron Crowe's Elizabethtown came out, which was pretty exciting for me, as I had long believed that Crowe's Singles was the definitive movie of my college years. The film wasn't much of a hit, but it couldn't have been more appropriate for me. A guy is professionally and personally lost, and he needs a little help figuring out what's next, how to live in the world again. Kirsten Dunst plays Claire, a dorky but charming flight attendant he meets by chance. A temporary romance develops, as she challenges him to get beyond failure, let him know someone could appreciate him, and get him back to moving forward.

I needed a Kirsten Dunst as Claire at that point in my life. That movie sat with me for a long time, because it struck a lot of chords. As you might expect, I did not magically meet a Claire and hook up with her. The unfortunate thing about movies is that they're not real. However, from that point, and through the next 20 months or so, I met a combination of people that could compositely be considered my Claire. While I don't believe there is some cosmic force in the universe designing my fate, there have been a lot of the right people showing up at the right time in my life.

I'm grateful for my Kirsten Dunst's.

How to teach appreciation for what you have

posted by Jeff | Wednesday, March 23, 2016, 9:08 PM | comments: 0

Simon is getting a pretty incredible childhood. I mean, yeah, he's had a ton of attention from us, teachers and therapists so he can adapt around the ASD issues (with mostly phenomenal success, I would add), but I'm talking about quality of life. My kid gets to do a lot of stuff that most kids do not. He's been on eight cruises, and by now has been to Walt Disney World about a hundred times. We guess that he has flown at least 40,000 miles. He's six.

Keep in mind, I wouldn't consider him spoiled. He doesn't get to do whatever he wants, and we don't buy him stuff. To be fair, he doesn't really ask for stuff, but if he did, we wouldn't buy it for him. The only real misstep I think we've made is being too flexible about food. Other than that, I think he is generally not without limits. He isn't spoiled.

But he does get to do some pretty cool things that most kids do not. The Disney thing is partially a function of living so close. It would be weird to not buy access to it annually (as I hear the Magic Kingdom fireworks go off two miles from me). He doesn't seem to take it for granted. Heck, we've pulled him out of there for misbehavior. The issue I have is that I want him to appreciate how awesome it is that he gets to do this stuff. How do you teach humility for something like that? I don't want him to feel guilty or anything, I just want him to understand what he has. Perhaps this is something better understood for him at a later age.

Fortunately, he is a helper. He loves to help people with anything that he believes he can be successful at. My hope is that we can get him involved in charity work in his grade school years. I think that's a critical thing for him to learn, that solving problems requires action by people, regardless of scope, and that making that difference is one of the richest experiences we can have as human beings.

In the mean time, I hope we keep making good memories for him. I'm assuming of course that his memory will be a lot like mine (I probably remember too much of my childhood for my own well-being). He's had some challenges, but there's no shortage of fun in his life.

These aren't the notifications you're looking for

posted by Jeff | Tuesday, March 22, 2016, 8:24 PM | comments: 0

Scott Hanselman mentioned on Twitter that notifications (on devices) too easily get overwhelming. Mind you, his job is to be plugged in, and community online and in person is his thing. He's pretty damn good at what he does. For a power user of communication tools, I think he's right that there has to be a better way. But for most of us, I would argue that most of what we choose to be notified about is completely unnecessary, and maybe even a detriment to being present in our lives.

I've known people that have to be notified about every little "like" and message, and they never fail to be working in the middle of a cubicle farm unaware of the vibrate feature of their phone. Those people suck. I'm on the opposite end of the spectrum. My phone notifies me of voicemail, text messages and when the car is finished charging (via the Tesla or Chargepoint app, the latter in the case of the Leaf, because leaving it plugged in when not charging is kind of douchey). I will often have email visual notifications on (no vibrate), but generally only in cases where my work hours are more distributed because I'm cutting out in the middle of the day for errands or something. Do not disturb is on midnight to 8 a.m.

The truth is, nothing else is that important. I'll be notified when I proactively look at the source. The biggest time suck ever can be social media. My life isn't better by knowing instantly that someone liked a post on Facebook, Instagram or Twitter. It's just not. When it comes to email, especially if it comes in off hours, it can likely wait until morning. Other random stuff, like Amazon shipped my package, who cares?

I think it's kind of a weird time for us, because we allow technology to do stuff and never ask if it should. The constant drone of notifications is one of those situations. Allowing us to be notified, and therefore interrupted, by things that don't have a big return on investment, is probably not a good idea. It takes us out of the real, present moment that surrounds us, whether it be spending time with family or ordering a burrito. It can wait. Respect and engage with the humans that are in front of you first.

My Vaguely Asian Noodles®

posted by Jeff | Sunday, March 20, 2016, 6:55 PM | comments: 0

There are a lot of noodle dishes out there, a kind of mix tape of different recipes that presumably originate in Asia and have since been altered and messed with in American restaurants for years. There are two that I've had recently that I'm fond of, for different reasons. One is the pan Asian noodles from Kona Cafe at the Polynesian Village Resort at WDW. Mind you, I get it without the vegetables, but it's tasty stuff. Meanwhile, Napasorn, a Thai restaurant in downtown Orlando, has a pad see-ew that I'm very fond of. I like them for different reasons... the pan Asian is stir-fried with an interesting mix of what I imagine is brown sugar and soy sauce. Pad see-ew is more about the dark soy sauce with broccoli and bits of egg, and it uses flat rice noodles.

I started looking around at various recipes online because it's something I'd like to eat at home. I came up with the following, though this is revised from what I actually used on my first attempt. I didn't have peanut or sesame oil, so I used vegetable oil, and more of it. I didn't have egg noodles, so I used thin spaghetti. I didn't use fresh chicken either, which was my biggest mistake, because I had some precooked stuff from Schwan's in the freezer that I wasn't using for anything else. I didn't have rice vinegar, but I had some apple cider vinegar. Still, with the adjustments I've made, I think this could plausibly be delicious. I think I may consider adding broccoli to it as well, because it wouldn't kill me to get something green in me. Maybe add more garlic, too.

Vaguely Asian Noodles

  • 5 tbsp. soy sauce
  • 3 tbsp. brown sugar
  • 4 cloves minced garlic
  • 2 tbsp. rice vinegar
  • 1 tbsp. sesame or peanut oil
  • 1/2 tbsp. white wine
  • 1/4 tsp. chili powder
  • 1/2 tsp. ground ginger
  • 1/2 tsp. salt (if using low-sodium soy sauce)
  • 2 servings of egg noodles, cooked
  • about 2 cups of broccoli
  • 2 chicken breasts, cut into small chunks (or use 3 smaller breasts)
  • sesame seeds

Boil and drain the noodles. Whisk the ingredients together (except sesame seeds, noodles and chicken) to make sauce. Heat frying pan to medium heat. Lightly oil the pan, add chicken cut into small chunks, cook until it appears slightly cooked (don't overcook, as it will dry out). Put cooked noodles in frying pan, add sauce mixture and broccoli. Toss noodles and chicken in frying pan using tongs. Increase heat if you want to brown the noodles (you should). Sprinkle sesame seeds in just before you remove it from the heat.

Political denial is easier

posted by Jeff | Wednesday, March 16, 2016, 3:13 PM | comments: 0

I'm surprised at myself, how I've been mostly apolitical lately. I suppose there are a lot of reasons for that. Four years ago, it was easy to be against Romney because he was so non-specific about virtually everything in terms of policy, and while Obama may have failed to really lead on anything important, he was at least a known quantity with very spelled out positions on most issues. It's been a mixed bag of improvement under Obama, but most numbers work in his favor, according to the various fact-checking sites, and that's assuming you can even attribute the improvement to any president. (Remember how the Republicans all vowed to lower gas prices? They don't have control over that, and maybe that's why Obama rightfully isn't credited for sub-$2 prices.)

Now, I imagine I will still lean left, but only because of the trainwreck that is the GOP. It's easier to deny the existence of Donald Trump than it is to acknowledge him in any way. That a blatant fascist, racist, misogynist moron with no specific position on anything can dominate a party is a sad reflection of the party and the process. He has no respect for the Constitution. I mean, his opponents aren't much better, but what kind of fucked up world do we live in where the governor of Ohio is the most moderate and experienced person to govern? The GOP field has managed to bring fear-based politics to an entirely new level.

As for the Democrats, I'm not a fan of Clinton or Sanders, but while both also dwell in the politics of fear (fear of failure and corporations), at least they don't hate anyone. At the end of the day, morally, I would have to side with them just on the basic principles of human respect. What's really unfortunate is that Sanders wasn't more moderate, because I think if he was, he might be president. His position on taxation wouldn't affect me, but I think his solutions to education, and to a lesser degree healthcare, are fiscally reckless. And in the end, maybe it wouldn't have mattered, because there's no way in hell he could get anything he wanted to do through Congress anyway. Sure, the same could be said of Trump, but at the very least you don't have a bigot with launch codes in the Oval.

It's such a shitty situation that it's mentally easier to deny it exists. I'll still vote of course, but no one will be even remotely in category of my ideal candidate. I can't imagine I'm the only one who would describe the ideal that way.