Like a lot of people (everyone?), I've certainly been frustrated by this election cycle. At first it was just the overall quality of the field, but lately it's more about the implication of some false equivalency of badness between the candidates. (Hint: One is a fascist and racist, which I consider infinitely worse than someone who sucks at information technology.) Regardless, I'm surprised at how I can't easily fit myself into a left or right box, and equally surprised that more people don't get like this with age. It seems like the logical conclusion that comes with life experience and data is to become more and more centrist, and yet that never seems to happen.
Regardless of this, I'm fully accepting that government is something I ultimately have to share with everyone else, so I'm not selfish or self-absorbed enough to think that any candidate should be exactly what I want or else. The loudest people in the electorate seem not to get this.
This can feel a little lonely at times. When you try to argue with people on the Internets, for example, you find yourself arguing against some idea or principle, but not because you believe the exact opposite. People aren't prepared for this, because they treat politics like a sports rivalry.
For example, I'm endlessly frustrated with people complaining about executive salaries. They make emotional arguments that those salaries would materially affect the cost of whatever they sell (they don't). There's a feeling that no one should make millions when they're responsible for billions of dollars in business. Some feel it's immoral to be highly paid for achieving something. Sure, schmucks and failures don't deserve to be well paid, but that doesn't mean every person with "chief" in their title is evil, incompetent or doesn't deserve what they make. On a related note, I'm tired of hearing about student loans, in part because I paid mine off, with interest rates three to four times higher than "kids today," and also because incurring debt is a choice that one makes, to assume that risk. These are very right-leaning sentiments.
I go the other way, too. I fail to see how single-payer systems, public options and the like would be terrible for healthcare. Heck, the UK is outright proud of their system. The fact that we pay more per capita for healthcare than any other country, by an enormous margin, and fall somewhere around 30 in life expectancy, sure seems like we're doing it wrong. I'm also all for immigration, because I've worked with amazing immigrants, and they've also founded some of my favorite companies, like Google and Tesla. More importantly, it's the basis for most of our nation's development, especially during the industrial revolution and following the world wars. These tend to be very left-leaning sentiments.
If those things aren't seemingly conflicting in ideology, I have even less use for the two major parties. Both have a long history of getting us into armed conflicts abroad that piss people off and inevitably lead to power vacuums that empower bad people (from the recent Iraq War to the arming of the Mujahideen in Afghanistan in the 80's). The Republicans think trickle-down is a thing, and want to cut taxes but spend more on the military. The Democrats want to spend on entitlements and public works, though if I'm being honest, I suppose there are worse things to spend on, and Bill was the only president in my lifetime to have a balanced budget. I do lean more left in terms of the parties, but not because of any real policy issues as much as the GOP has somehow bred this nutty right-wing faction that makes it OK to hate on minorities. "Conservative" has been co-opted by hateful people, which is unfortunate.
At the beginning of the year, I wrote about what I think the ideal candidate looks like, and I think it's about the same.
Now that everyone who shouldn't find out via the Internet knows, it's safe to say out loud that I've decided after two and a half years to leave AgileThought for a new gig. I'm going to a small, local company that is about to start its largest growth spurt, where I'll run software engineering and product development.
This is easily one of the hardest decisions I've had to make, arguably harder than leaving Microsoft (which was stupid, by the way). AT has a lot of the things that people in this line of work crave: Excellent people, interesting work, fair salary and benefits, and a fair amount of stability and momentum. It's completely unusual, in a good way. I've had a number of consecutive fantastic successes, so I could argue that it's a comfortable place to be. Did I mention that I love working with the people there? Why would I leave that?
Earlier in the year, I started to become very contemplative about my long-term view. I've told the story before that when I left the broadcast world, I largely let career happen to me, instead of actively managing it. When things started to really suck in 2009, in a crappy job market, I promised myself not to do that anymore. So the contemplation led to the conclusion that my strengths really have been around executing the end to end process of making software, from vision to shipping, involving everything from technical leadership to administrative guidance. What I want to do more of is apply those skills to something longer term, something more product oriented. My biggest professional growth periods have been in product oriented situations (Insurance.com, Microsoft). AT operates on a consulting model, so the opportunity for building stuff over the course of more than six months is pretty rare. That's what I'm itching for. I'm not leaving because of some flaw with the company. Seriously, if you need custom bits, I would recommend them every day of the week.
I spent a long time vetting the new company, as I'm sure the owner did me, before pulling the trigger. It's not that there is enormous risk in the job market, there's only risk in leaving something safe and relatively predictable. But this new gig scratches the itch, to be at the helm of something that will grow and evolve. I'm sold on what the team has done so far, and its commitment. It's going to be hard work, but it will be exciting.
So here's to the next chapter. I'm going to miss the AT people, because they're pretty amazing. Fortunately, it's a small community, and I'm sure I'll see them at the various local events.
I was looking at my phone today, a Nexus 5X, and realized that I've had it for a year now. It seems like I bought it more recently than that. Of course, I had my previous phone, a Lumia 920, for three years, so I suppose it is relatively "new." At the time I bought the Nexus, I was thinking it would mostly be a little experiment while I waited for a new awesome Windows Phone. But after just a few days, I realized that it was more than good enough. Either that, or I now consider phones the way I have most cars, most of my life, that good enough is good enough.
Some of my criticisms from my v7 review are still valid, even with the newer release, but none are that big of a deal in the bigger picture. Actually, now that the camera app starts almost instantly, my only real complaint is that it won't read my texts to me in the car and let me reply via voice. Maybe there is something that does that, and I just don't know about it.
My concern now is that Google has brought to us the Pixel, while ditching the Nexus brand. By every account, the Pixel is an amazing, premium phone, and it's priced like an iPhone. That's a bummer, because the Nexus I bought last year is an extraordinary value at $400. Simply put, even the newer iPhone (and the Pixel) is not $250 better. My phone may be plastic on the back, but the camera is objectively about as good and the screen I would argue is actually better, or higher resolution at least. With the days of contracts and subsidized phones gone, and the real price up front and obvious, the price matters now. I think $650 is too much for a phone.
For now, it doesn't matter, because I'm fairly content with my phone, but a year from now, or if I have an accident with it, I'll certainly be looking. I'm fairly content with Android, but only if it's updated in real time and not by the whim of carriers or manufacturers. That means it's Google or nothing. I'm hopeful that the prices come down in the next year.
Getting back to the OS itself, for a moment, I'm actually thrilled to see apps adhering to Google's Material Design standard. It's a pretty good standard from the company that brought us the ugly mess that is Gmail. Seeing more apps adopt the look is a win, and it has even bled on to the web in some cases. That's all good. I can't say that I've been as thrilled with the iOS evolution (as seen via our iPads), especially the design language that makes buttons all look like text. I really despise that. Facebook continues to defy that, fortunately, with buttons and links in bold. Plus iOS still doesn't have the equivalent of live tiles or widgets that sit inline with the launcher. What year is this?
I'm surprised that I'm satisfied, but I imagine that's largely because all of my previous Android experience was with earlier, crappier versions of the OS, covered with extra crap from carriers and manufacturers. At its core, it's a pretty solid OS. I still think Windows is better, but it doesn't matter since the half-dozen apps I've grown to use don't exist there. And that's saying something, because I still contend that the browser is the most important app.
Maybe it was just the joy of the transition of moving to Orlando, working for a theme park company, and finally being rid of my first house, but 2013 was an incredibly epic year. And while it was awesome for those reasons, it was one of the best annual playlists I've ever built. It was the year that The Naked And Famous' In Rolling Waves came out, an album that is easily one of my favorites of all time. I really liked their first, Passive Me, Aggressive You, but I was struck by the way Waves instantly pulled me in, start to finish. It's so flipping good. Having to wait three years for this year's Simple Forms was torture. By the way, they're also amazing live.
The new album didn't immediately grab me. To be fair, I love the band so much, and had such high expectations, that there's no way they could easily top an album that I consider "best ever" among my collection. The truth is, Simple Forms is really good, just not as good as In Rolling Waves. It's interesting that the leads, Alisa and Thom, apparently broke up during the making of this album, or maybe before it, so you wonder what effect that had. What's different? It's probably a taste thing on my part, but the songs pay more attention to melody, and spend less time with electronic production and texture (and wonderful noise). That makes sense in a lot of ways, because both singers are quite frankly much better than they were in the first album. They make smooth pop vocals seem effortless. This seems to result in shorter songs though, as the album is only 10 songs clocking in at 40 minutes. Waves was 13 songs at 55 minutes, and Passive was 13 songs at 49 minutes.
Like I said, it's not a bad album, it's just different while still sounding like the band, which is something that I like about all of my favorite bands (Garbage comes to mind). "Higher," the first single, immediately pulled me in (which may have also affected my expectations for the album). It's classic T/N/A/F. "Backslide" is the signature male vocal track of the album, with fantastic percussion. "The Runners" actually invokes the sound of "Punching In A Dream." The album has the kind of strong finish you hope for in what I consider the strongest song on the album. "Rotten" slowly builds with one of Alisa's sweetest vocals so far, and it has one of those wonderful moody textures underneath that I love the band for. It hits the bridge, then builds several rounds of vocals layered in with noisy guitars, and it's glorious.
It took a few listens, but I love the album. It may not be as good as the last one, but that's OK. It's still really good.
Last weekend, we did our tenth Disney cruise. It was a very nice, if somewhat short, retreat that I desperately needed. Ten cruises means we're officially platinum Castaway Club members, which comes with a few nice perks (chief among them "free" dinner upgrades to Palo, concierge check-in, first crack at booking extras and new itineraries, merchandise discounts and officer receptions). When we booked our first one for early 2013, I wasn't even sure I would like cruising. But here we are. My concern prior to that first one was the expense, because it's not cheap, and I wasn't sure I got the value. Maybe others still wouldn't see the value in it, but I'm hooked.
We finally got off to an itinerary that wasn't the Bahamas this year when we went to Alaska. I may describe that trip as life changing, but all of these trips deliver on the thing that I most want out of a vacation: Blissful disconnection and lack of responsibility. Seriously, people tell me where I need to be to eat and do stuff, and aside from posting a few photos on Facebook via a few megabytes of crappy satellite Internet, there is no outside world. I'm able to be completely present and with my darling little family. It's awesome. I'm sure that there are less expensive ways to achieve this, but this really works for me. As a father and husband, I happily accept my obligation to be a provider, because I love my little family, but having others completely take care of me in every way is a welcome thing to enjoy sometimes.
And despite some periodic difficulties with being a parent, even on cruises, we've been able to make some fantastic memories. Even on this one, our beach day got rained out, hardcore, around 2 p.m., but we had some great laughs about it. Cruises for us have been a great environment to remember to laugh more.
What's next? We're not really sure. We've been in the continuous cycle, since our second cruise, of having advanced booking placeholders set (refundable). They take a little of your money, and you get 10% off the next cruise, plus an onboard credit of $100-200 depending on the length (maybe more for longer trips, I'm not sure). That's no joke... we saved about $800 on our Alaska trip. We've got two in the queue, because often the time periods overlap when you book way out. We're considering finally doing a long one in the Caribbean next year, hopefully one with San Juan if it works out. We'd like to do a short one on the Wonder this winter, which I think for the first time will sail out of Canaveral instead of Miami. That's the ship we did Alaska on, and it's in dry dock right now getting a massive overhaul and a new Frozen stage show.
I feel fortunate for being able to do this, and I hope I'm teaching Simon not to take the opportunity for granted. He's a lucky kid.
Of all the things that worried me about Simon's ASD diagnosis, none were worse than the idea that he would not be emotionally engaged in an outward way. Fortunately, that isn't how things went. He might be socially awkward in some ways, but he is definitely very emotional and has a lot of love to give. As much as I compare myself to him at that age, he is far more outwardly emotional, but at least equally intense.
In that sense, it's amazing how upset he can get, often in unexpected ways. Over the weekend, on our cruise, we saw Pete's Dragon, and there were several parts in the movie where he completely went into sob mode. On our last night, as I was tucking him in, I asked if he had fun on the cruise, and his face turned to a frown, Tiger covered his eyes, and he began to cry because we had to leave the ship. Conversely, we coincidentally cruised with the family of Simon's best friend from school, and the intense joy in his face when we encountered them was amazing.
Simon's intense emotions I'm sure will be a mixed bag for him, as they have been for me. What I do hope is that he has more room for intense interpersonal relationships, an area where I have serious limits. My romantic relationships have all been super intense, along with a handful of other friendships, but beyond that I've simply never been able to commit to lesser, more trivial interactions (something I'm sure has been interpreted as an aloofness).
Being emotional is arguably the thing that most makes us human, and as much as I wish I could reduce it to brain chemistry, it's what makes us alive, if sometimes miserable. Therapists love to talk about "emotional batteries," and where our limits lie before requiring recharging. I hope my little guy has large batteries.
The weekend before last, we took our second significant EV road trip, the first one being for Thanksgiving of last year up to North Carolina. By "road trip," I mean driving any kind of significant distance that involves staying overnight. I suppose technically that would include my work holiday party last year, which was in Clearwater, but having to stop for five minutes at the Brandon supercharger doesn't really make it an extended drive.
This trip was also to NC, for my in-laws' wedding. They live west of Asheville a bit. The tricky thing this time was some last minute changes to the itinerary. Originally we were planning to drive up the I-95 corridor, stopping in Santee, SC where there's a supercharger across from the hotel. The timing would have put us about 12 hours ahead of Hurricane Matthew, and in the middle of the mass exodus from the coast. That obviously was not going to work. So instead of leaving that Thursday morning, we left Wednesday night and went up I-75 toward Atlanta instead, well out of range from the storm. We stopped in a little town called Perry, GA, and got kind of lucky. It was sold out by the time we got there, as evacuees were even making their way that far west/north without a direct line from the coast. I guess I wasn't entirely surprised, because I couldn't find much of anything in Atlanta, either.
Our first night had stops at the chargers in Lake City, FL and Tifton, GA. The next morning we made what I consider a safety stop in Macon, GA, which we might have been able to skip if I was comfortable with the unknowns around Atlanta traffic. It turns out that this was a good move, because the traffic was terrible, and the navigation redirected us twice before getting into Atlanta proper, where we had lunch in Atlantic Station, a trendy mixed use deal north of downtown. From there we stopped only in Greenville before getting to Maggie Valley, NC. We did actually back track to the Asheville charger the next day while buying shoes, coffee and bedding at the adjacent outlet mall. That charger wasn't open yet last year, but we could top off and slow charge at my in-laws' house (we weren't staying there this time).
For the trip back home, we decided to stick to our original plan toward the coast. In retrospect, this may have been riskier than necessary, because by Sunday/Monday, parts of the coast were definitely far from functional. My biggest concern was Santee, because on Saturday the charger there was down, according to the car's navigation. Indeed, when we arrived, the hotel said they were without power for a bit. The number of giant trees down in the area was staggering, and I've never seen anything like that. The reverse exodus of people heading back home made I-26 slow, but again, the car routed us around the worst of it.
The second day, from Santee to home, also showed how rough things were in places. Kingston, GA, could be a totally optional stop for us, provided we charged very high in Savannah, to get us to St. Augustine. But we wanted to stop there knowing there were a few decent food options. Turns out they were in pretty bad shape there. Cellular service was spotty to gone for both the car and our own phones (which makes sense, because Tesla apparently uses AT&T in the US). Half the restaurants were closed or serving subsets of their menus due to a lack of fresh produce and I'm guessing water supply issues since none of them had soda, only bottled water. I feel like we were lucky that the chargers were up.
All things considered, the network did not fail us. I'm not sure why, but I expect it to be more fragile. We got to see some interesting new places, so that was a plus. We also got to see a Model X in the wild, which probably made Simon's day. The only real trade-off we've had in these trips in an EV is that we have to be specific about where we stop, and plan for it a bit. We don't stop more or less, just in specific places. Oh, and I suppose we need to have a Tesla, which is only a compromise in that it's too expensive.
Hurricane Matthew ended up being mostly an inconvenience for Central Florida, fortunately, but it was close. At one point the odds were about 2 in 3 that the eye of the storm would cross over Cape Canaveral, which would have put 80+ mph winds through downtown Orlando. It ended up sliding about 30 miles east, and that made a huge difference. Haiti and the Bahamas weren't so lucky, and the Carolinas are still recovering from flooding.
Our neighborhood topped around 40 mph sustained winds, with gusts up to 60. Some smaller trees went down here and there, but it wasn't serious. Again, had the storm moved even a few dozen miles west, we would have had a lot more damage even in our area. The thing is, we weren't home. We were up in Maggie Valley, NC for my in-laws' wedding. The difficult thing for me is that the storm was trending toward land right up until the last day, and I felt like I needed to be home for it. We rolled the dice and it fortunately moved east, so by late Friday, I was feeling relieved.
My first real tropical experience was in 2008, when Diana and I were running around the gulf coast near Ft. Myers, shopping for our wedding location. Fay landed on the coast barely down to a tropical storm. It was interesting for sure. No long-term power outage for my father-in-law's house, where we were staying.
Being inland reduces risk, and with new construction, our house is intended to withstand 140 mph winds (the low end of a category 4 direct hit), but I'm not interested in experiencing that. Hurricane Charley hit Orlando directly in 2004, and I remember flying in after and seeing the tarps on roofs. Fortunately that's unusual, but it's certainly possible.
Last weekend, we were up in North Carolina, specifically west of Asheville, for my in-laws' wedding. We've been up there for Thanksgiving or Christmas for most of the last four years, and it's a beautiful place to visit in the fall. We only had a small taste of fall color this time, but even with the misty rain, it was a beautiful place to be. I particularly like my in-laws' place, as it's always warm and inviting, though for obvious reasons we didn't stay there this time.
It got me to thinking about what I consider my "happy places," where I'm most at ease, relaxed and happy. I do love where I live, but it's not really somewhere I can retreat to since I also work there. I actually love being in my home office, but as is the case with anyone, there are days where you just don't want to engage with work. So for me, that place in the neighborhood of Blue Ridge Parkway is an annual retreat, and place of peace.
In recent years, I've come to really love being on a Disney cruise ship. Seven of our cruises have been the same itinerary, the 3-night loop to the Bahamas (and one for 4 days, with the extra day at sea). This is admittedly not very exotic, but it's enormously convenient since we're an hour from Port Canaveral. One trip was out of Vancouver to Alaska, and it was one of my best vacations ever. Once onboard, I don't really have to think about anything. People will bring you stuff, you're entertained as much as you want to be, they tell you when and where to eat... I feel taken care of in a way that you can't in everyday life. It's fantastic escapism.
I also love Hawaii, and kind of hate myself for not going back more frequently than my honeymoons. That's one in 2000 and one in 2009. The second time was actually suboptimal because of the ridiculous cold front and rain that hung out there, and I had a minor fever/flu thing going for like 36 hours. Still, it's the most beautiful place I've ever been to. Kauai in particular is nothing short of breathtaking, everywhere. It's not really the cost that has made it hard to go back, it's the distance. I want to go back, maybe in another year or two, when Simon is a little older.
Back in the mainland, visiting Cedar Point is a happy place, more so now because I no longer live close to it. I don't care about the rides really, I just like staying there on the property, and watching Simon do his thing. There are also many opportunities to see great friends that I don't see very often.
Believe it or not, even after more than three years of living next door, visiting Walt Disney World is still special. I still don't take it for granted, and as Simon gradually agrees to ride more things, it keeps getting better. I'm still a sucker for seeing Illuminations at Epcot, getting Dolewhip at the Polynesian, and meeting friends from all over the country as they descend on Orange County.
The hard thing is finding the happy places I haven't seen yet. I'm very intent to travel to more places I haven't seen, but in a minor holding pattern because I have a young child.
I'm thankful for having the opportunities I have to be in these great places. I need to spend more time in my happy places.
I was talking with a friend today about how it seems like we get into ruts in one part of our life or another, where we seem to fight and struggle against forces on a daily basis. The struggle sucks the energy out of you and you end up being mentally exhausted. I associate it with those scenes in movies where someone is drowning, and finally they just let go and give in to it, and momentarily find peace. (Spoiler alert, they also die, which is a real drag.)
It's not easy to stop struggling, because it's like admitting defeat. Worse yet, our culture has always put a totally strange value in struggle and suffering. It only "builds character" if it doesn't completely bring you down. Struggle is overrated. It should be avoided, not celebrated. And if you have to, maybe the drowning isn't so bad. You know, if you don't die because of it.
I know, this totally sounds abstract, and you might imagine that I, or someone I know, is currently struggling against something. Someone is always struggling, and for the most part, the struggle fades and we move on. But there have been a few times in my life where I finally gave in, stopped fighting. Well, maybe it was twice. Both of those times, I was in a bad place, and I gave up. There was an immediate feeling of relief, followed by a grieving period around the things I felt that beat me. (One personal, one professional issue, at various times, both well behind me now.)
Seeing people struggle is hard, and I certainly don't enjoy struggling myself.
Parenthood has not been the most fun thing since Simon started school. We've had a fair amount of discomfort that involves some of the regular defiant 6-year-old stuff, and some ASD-related stuff to make it more interesting. He has been obsessively playing with the "rides" has has constructed across the playroom floor, and doing anything to break that focus (namely homework) causes him distress. Random routine changes, that flexibility problem, can set him off too. He had a mini-meltdown when a substitute bus driver went the wrong way. He continues to struggle with cause and effect, with consequences.
When Saturday rolled around, Diana spent the day getting her learning on, so that left Simon and I to entertain ourselves. It was a beautiful day, because Florida, and I figured we would go out to Disney's Hollywood Studios, because lately he seems to get a lot of joy from that. I scored Fastpasses for the afternoon, and didn't indicate we would go at all. I wanted to see how his behavior was for the morning. I was spending some time working on one of my projects as well, so there was potential for conflict if he wasn't getting the time he felt he needed from me. He was doing everything I asked and being pleasant, so before lunch, I told him we would go to DHS provided he ate all of his lunch (we've almost got the won't-eat-the-crust thing beat).
Knowing full well it might be a bad idea, I booked our first pass to be on Tower of Terror, or as he calls it, "the elevators." We've been trying to get him on that ride for probably close to two years, as long as he's been 40 inches. I told him about our other two passes... Toy Story Midway Mania and Star Tours... but didn't offer the big reveal until we were on the midway. I calmly explained that he didn't have to ride it, but if he did, I would take him to the Lego Store after we were done, and he could pick any sub-$20 set he wanted. I'm not proud of the bribery, but appealing to his sense of Legolove was a worthwhile strategic risk. To my shock, he agreed.
While in the short Fastpass queue, Simon indicated that he was "getting very worried," and asked if I would text Mommy after to let her know he did it, because she would be very proud of him. I did my best to distract him by pointing out how dirty the "hotel" lobby was, and the stuff in the "basement," and of course his most favorite thing, the ordering of the seats and rows in loading the ride. Yes, you bet the signs and instructions appeal to our ASD tendencies.
Not surprisingly, he loved the ride, and he couldn't stop talking about it. He talked the ear off of a cast member about it over at Star Tours, and I'm so glad that the pixie-dust-snorting people will indulge a kid like that. We had a little ice cream, where he was surprisingly zen about the melting and dripping in the hot afternoon. He got deep into what he saw as the mechanical aspects of Toy Story. He even (correctly) predicted which water fountain would be coldest. Indeed, that he could use a water fountain at all feels like a small miracle not possible six months ago.
He was shockingly flexible about where we sat on the parking tram, another frequent issue, and at the Lego Store, he found the set he identified as a "like" several months ago (I confirmed with the photo, still on my phone), and we quickly got out after he told the cashier all about his ride on Tower of Terror.
That evening, he slowed down a bit, and may have had a minor fever as he began fighting a sore throat, but there was no fighting over getting pajamas on or going to bed. It was, end-to-end, a good day. I don't remember the last time we had one of those.
If I could summarize parenting at this stage, it's the constant battle to both fight and encourage independence, while firmly keeping an understanding that you love your kid. And I know I trivialize our ASD experience as minor compared to those of other parents, but sometimes the singular focus and inflexibility, and especially the lack of empathy for certain social contracts, sometimes makes me think about the dreaded "n-word" (that is, "normal"). Simon is who he is, and that's a smart, loving little boy. Every kid has unique challenges, and I imagine every parent feels a little beat down from time to time. That's why I'm thankful when we have a really good day like we did on Saturday.
I'm at a point now where POP Forums is mostly ported to ASP.NET Core, and I'm super happy with it. I've done some minor tweaks here and there, but mostly it's the "old" code running in the context of the new framework. I mentioned before that my intention is not to really add a ton of features for this release, but I do want to make it capable of scaling out, which is to say run on multiple nodes. I haven't done any real sniffing on SQL performance or anything, but I noticed that I had some free, simple load testing available as part of my free-level Visual Studio Team Services account, so that seemed convenient.
I want POP Forums to be capable of running across multiple nodes (scale out, as opposed to scale up, which is just faster hardware). Getting it there involves a few straight forward changes:
The incentive to run multiple nodes isn't strictly about scale, it's also about redundancy. Do apps fail in a bad way very often? Honestly, it hasn't happened for me ever. In the cloud, you only need redundancy for the few minutes where an instance's software is being updated. I speculate that I've encountered this at weird times (my stuff only runs on a single instance), when the app either slowed to a crawl or wasn't responsive.
Writing a cache provider for Redis was pretty straight forward. I spun up to two instances in my Azure dev environment, and with some debugging info I exposed, could see requests coming from both instances. I had to turn off the request routing affinity, but even then, it seems to stick to a particular instance based on IP for awhile. More on that in a minute. I've started to go down the road of hybrid caching. There are some things that almost never change, chief among them is the "URL names," the SEO-friendly forum names that map to forum ID's appearing in the URL's, and the object graphs that describe the view and post permissions per forum. I was storing these values in the local memory cache ("long term") and sending messages via Redis' pub/sub messaging to both commit them to local cache and invalidate them. I think what I'm going to do is adopt StackOverflow's architecture of an L1/L2 cache. Cached data only crosses the wire if and when it's needed, but collectively is only fetched from the database once.
The first thing I did was run some load tests against the app in a single instance, using various app service and database configurations, and all of them ran without any exceptions logged. This was using the VSTS load testing, which is kind of a blunt instrument though, at "250 users," because it doesn't appear to space out requests. The tests result in tens of thousands of requests in a single minute, which wouldn't happen for 250 actual users unless they read really fast. If I set up just "5 users," using the lowest app service and database, it results in comfortable average response times of 49ms and an RPS of 35. That's a real life equivalent of 400-ish unique users in my experience.
|App Service||Database||Average response time||Requests per second|
|S1 (1 core)||B (5 DTU's)||2.5 sec||261|
|S2 (2 cores)||S0 (10 DTU's)||2.5 sec||316|
|S3 (4 cores)||S1 (20 DTU's)||1.5 sec||522|
Honestly, these results were better than I expected. That's almost 2 million usable requests per hour, and you can go higher on the database if you had to push more through it. The app service certainly had plenty of overhead to work with.
Next up, I switched to the Redis cache and spun up three instances. This is where things got... not great. The first problem is that I couldn't really do an accurate test, because the load balancing mechanism does not spread the load very well. It appears to route to the same instance based on IP, even when the routing affinity is turned off. When you're using VM's in Azure, the affinity mechanism has three modes, the last of which essentially round-robins the requests, even if they're from the same IP. I am not certain if there's any way to force this with App Services the way you do VM's. The bottom line is that I couldn't really test this across three nodes.
The second problem is that I was logging a ton of Redis timeouts. If the Redis call fails, I catch the exception and let the app read from the database (and further cause issues by trying to write the data back to the cache). I'm using the Stackexchange.Redis client. I left it at the default of 1 second to timeout. As best as I can tell from the exception, it's an issue with the client queuing up more requests than it can handle, because the resources of the Redis instance aren't even remotely stressed. The log entries indicate long queues for the client, in the thousands, even when I set it to allow asynchronous, non-serial responses. I'm still trying to work this problem. It seems strange that the client can't handle a large volume of calls. I can increase the timeout a little, but it still fails, and if you get to two seconds, you might as well be calling from the database. I'm sure going to the SO cache architecture will mitigate this as well.
Performance and scale problems are fun, provided you're working in a solid code base. I'm not sure I would entirely call POP Forums solid, because it really is an evolutionary mess after 15 years or so (from ASP to WebForms to MVC, with a lot of recycled code), but at least the various concerns are generally well-factored. This is all largely academic for me, because none of the sites that I run require enormous scale. I need to find someone to use the app in more extreme circumstances. Maybe I need to see if I still know anyone over in MSDN for those forums. Having worked in that code years ago, I know how much work it needs.
I finally went to a doctor this week for what's supposed to be an annual physical. My last one was in 2012, so that's way too long in between. It's included in pretty much all insurance, so it's silly not to take advantage of it. Growing up, I saw a lot of doctors because I had that issue that many boys have where they don't go to the bathroom, and in holding it in stretch out their colon until it just seeps out crap. Nothing like involuntarily crapping your pants until you're 10. That soured me on doctors a bit. In any case, heading toward middle-age, certainly I need to be paying attention.
The good news is that there's nothing particularly unexpected. The blood work came back all normal. What isn't normal is the stuff associated with weight: LDL is a little high, triglycerides are a little high, blood pressure might be a little high (I guess any one sitting isn't a great indicator, need more data). So while my BMI suggests that I'm too short, I can't really move that lever, and I have to move the weight lever. I haven't been very active the last two months. so none of the results are surprising. It has been a combination of work stress stealing brain cycles, Florida summer hotness and generally poor priorities. There isn't any mystery about the changes I need to make.
I've gone through a number of gradual stages in getting where I need to be. The first one came in 2005 with the life crisis of separation, flavored with consulting job dissatisfaction. The good thing that came out of that was "full-time" high school volleyball coaching, because I was burning obscene calories almost every day. I dropped almost 30 pounds that year. The next year or so I put about 10-ish back on. I blame dating. For someone untrained as I was in eating, you get comfortable when someone wants to play with your naughty bits.
Moving to Seattle and having a baby caused a fair amount of stress eating in the '09-'10 winter, but the weight gain was temporary. Moving to Florida in 2013 got me motivated again, because sun, and I got back down to my 2005 weight. I've been up and down from that point since, and only around 4 pounds over that right now.
Each of these stages of being healthier were rooted in long-term behavior changes. Before I ever started to get my shit together in 2005, I stopped eating beef. It wasn't some political thing, I just ate way too much of it, and not eating it at all I associate with feeling better. That was the year that I got portion control down, and to this day I can't eat too much without feeling lethargic. Since then I have over time been able to get certain things in moderation, like soda consumption. I still as a percentage lean too much on carbohydrates, because I love potatoes, but I never have packaged dessert food and rarely buy chips (and when I do, I put a few in a small bowl). I do like to knock down some Pei Wei or Tijuana Flats once a week, but I try to be reasonable.
The exercise side has been harder, because I hate exercise for the sake of exercise. I don't have an excuse. When it's not so damn hot, I will walk a couple of miles in the morning, and that's where I've fallen off the horse a bit. I also like to play tennis, but it's hard to make time for that, or I don't prioritize it. It should be easier with Simon in school. What I just can't do is go to a gym and exercise. It's boring in a way I can't reconcile.
So while my eating is pretty consistent, if not perfect, it's the physical activity side where I have inconsistent habits. The habits are getting better, just not in a wholly sudden way. I'm OK with that. I haven't been the guy wearing 38" pants in over a decade.
I did a podcast interview at work today. They've been doing a series of these for awhile now, profiling various people in the company, I imagine as a means to build our reputation and brand. I think it's a good idea, because I work with some pretty great people, and collectively I think we're really good at what we do. But it got me to thinking about the podcast I used to do for CoasterBuzz. We stopped doing it about four years ago. I really enjoyed it, in part because it reminded me of the good old (poor) days of working in radio, and mostly because I got to virtually hang out with a very dispersed group of people that I've met over the years that I really enjoy hanging out with.
What I find interesting about that circle of people is that none of us are at the level of roller coaster nerd that we were then. Not that I've surveyed that gang, but I imagine that life has generally changed for us quite a bit, and so have our priorities. Some of us have kids, our interests have changed, and I think there may have been a fair amount of fatigue that set in. I was pretty hardcore about traveling to parks and what not in the early oughts, but as the decade wore on, I think there was a level of sameness. I know people who travel all over the world to hit as many rides as possible, but I'm barely motivated to visit the next state for something not that different from what I've been on before.
Even when we were doing the podcast, we had more fun talking about stuff in the peripheral, about the business and travel and often things that were completely unrelated. The deep fascination with the rides themselves isn't there, because again, sameness I think. When I actually spent a year working for a theme park company, there weren't really any big surprises, having observed them for more than a decade, but even when it's something you're passionate about, it's funny how you don't necessarily want to take it home from work.
The other thing is that the community got weird. I mean, it was always weird, but I'm talking a different kind of weird. When I was all giddy about the construction of Millennium Force in late 1999, I hung out with a bunch of dorks that would meet up at a park, ride a bunch, have some beers and share excitement about whatever was going up. A few years later, all that seemed to matter to people was the perks they thought they deserved as members of clubs, and people counting how many rides they had. Online community was even more weird, and the attention I got for running sites made me uncomfortable in the way that stalkers showed up at my radio appearances back in the day. I never wanted to be the CoasterBuzz guy, I just wanted the site to be a thing people liked to use.
What about the sites? PointBuzz (then Guide to The Point) was something I started in order to share photos and content. Regardless of the time and effort we have to devote to it, I'm sure Walt and I will keep it going indefinitely, with peaks and valleys of improvements (I think our second version famously took five years). That thing has been around for 18 years! CoasterBuzz has shifted in purpose many times. In 2000 I wanted to rule the online community. By 2005, I got tired of generating content, and apparently so did everyone else because the hundreds of niche sites went away. That was the year that ad revenue peaked. In 2010, my interest in maintaining community was probably at an all-time low (I was just-married, had a child, moved cross-country, started working for MSFT and had two houses to sell), but the site was still a proving ground for technology to me. By 2013, my interest returned, but I didn't feel like I could ethically commit to it while working at a theme park company. Today it's back to a proving ground, largely for my open source project, but it sees 50% more unique users than it did in 2010 (go figure), and ad revenue has stabilized, even if it's a third of what it was in 2005. Outside of the software, I doubt I average more than an hour per week maintaining it, so there's no reason to stop.
I still love roller coasters, of course, and I'm hoping that Simon also latches on to more of them now that he's 48-ish inches tall. I can see getting back into it as he gets older. For now, I feel like life is pretty full, in a good way, but not likely to include a lot of coasters beyond Big Thunder Mountain Railroad. I think I got into it for the people, and while the riding may not be as frequent, I still know all of the people.
While there were not a ton of things that I liked about living in Northeast Ohio in the final years I was there, especially after Seattle, there's no doubt that Halloweekends at Cedar Point was pretty much the best thing ever. Fall Friday evenings at the park were magical in a way that I couldn't quite explain. It wasn't the attractions, per se, but the combination of good friends, the cooler weather, the color in the trees, the decorations and the smells associated with that time of year. We loved it.
Now we're entering our fourth fall in Orange County. I'm sure that I don't have to tell you that Disney does fall stuff as well. A lot of it is the decorations, and they do have a special extra-ticket event in September and October at Magic Kingdom, but we've never gone. The cruise line is also doing Halloween stuff, and we'll do that again this year. What we do enjoy, to an extraordinary degree, is the International Food & Wine Festival at Epcot. This may illustrate completely how my priorities have changed, but the bottom line is that this may be one of my favorite things to do in the fall. This year, the event lasts a full two months!
Weather down here doesn't feel like "fall" in the Midwest sense until late December at best, and that's OK. F&W is obviously mostly about food, but as much as I dislike crowds at theme parks, there is definitely a certain enthusiasm and energy at Epcot during the festival. Much of the food is the kind of thing you can only get at fancy restaurants, and while there aren't a ton of things I'll eat (because I don't eat red meat), there are about a half-dozen main course type foods that I do enjoy. Then pile on the drinks and desserts, and I'm a happy camper. If that were not enough, the music lineup gets better every year. This year there are at least five acts that I want to see, chief among them is Toad The Wet Sprocket, which I have not seen since the late 90's, and they were one of my favorites.
Not only is this year a longer festival, but they've added a ton. There are several completely new pavilions, including one that does exotic chocolate desserts, and the overall drink selection is extraordinary. Way more ciders this year, as well as hard soda floats. There's little question that I will piss away a lot of money this year (pun possibly intended).
One of the best things, and this is how spoiled I am, is that it's a pretty easy lunch outing. With Simon in school, Diana and I can run out there for lunch, and be back in 90 minutes without feeling particularly rushed. When work isn't super busy, it's easy to do this. That's a nice lifestyle perk for where we live.
The delicious hard orange soda float
Chocolate raspberry torte, and nitro chocolate and almond (without the almond) truffle. The truffle is actually chocolate mousse dropped into a vat of liquid nitrogen, then smashed on the plate and drizzled with caramel sauce.
"The kind of control you're attempting simply is... it's not possible." - Ian Malcolm, Jurassic Park
One of the great themes of that first dinosaur park movie is one about the conflict of chaos and control. The two things are by definition at odds. Nature and the environment are influenced by many variables, and when you add the input of humanity, it gets even more chaotic. The beautiful thing about complex systems is that it's so hard to predict an outcome, let alone control it.
Life itself is very much a complex system. I've been very contemplative of life lately, something I tend to do every few years, and it's remarkable to think about how one thing or another set off a chain of events that led to where I am. It's even more remarkable to think about how one different little thing may have produced a radically different outcome.
This crazy amount of chaos is one of the reasons that I think it's important to embrace chaos. We all have things that are within our control, but many more that we do not. I think we can get into ruts where we are constantly fighting the chaos to assert control, and we're not really free from it until we let go a bit. I can't imagine being a super Type-A personality, because like Jurassic Park, the kind of control they attempt simply is not possible. I think if I were to generalize about Type-A people that I've known, most are miserable. Imagine if they could embrace the chaos a bit, let go of the control.
Embracing chaos doesn't mean that you simply wander about the earth aimlessly. Just the other day I wrote about mastering your own destiny. What I'm saying is that you might be able to check all of the boxes of what you believed you must achieve, and life will likely still be kind of a messy and chaotic thing. Exerting control has its limitations.
It's probably hard to see how the chaos impacts your life at a young age. When I look at life in 5-year increments, and I've had four since college now, I get it. I could not have foreseen much of the important details of my life five years prior to those milestones. I mean, not even close. Five years from now, I know that I'll be five years older, and hopefully I will have saved a little money, but I can't predict much more than that. It's not for a lack of desired control... I have goals and aspirations... it's just that chaos will intervene.
The old interview question about, "Where do you see yourself in five years?" is total bullshit. It doesn't matter. It won't likely turn out like that, and frankly the reality is often just as good or better.
Reading the tech sites, I was enduring my annual surprise that people are willing to spend $650 on a phone every year. I commented about it on Facebook, and a friend of mine, who is probably right about this sort of the thing a lot of the time, suggested that I was "developing an almost robot-like pragmatic view on life." I chuckled, because it isn't far from the truth... sometimes.
Sometimes, I say, because given the stupid car that I have and my obsession with cruises, I'm obviously not pragmatic with everything. Come to think of it, the same friend helped me rationalize the car by suggesting it enabled memorable experiences, and therefore does not contradict my "experiences not stuff" m.o. I'm also free wheeling with cash when it comes to charitable giving, buying a friend lunch, tipping high and generally disregarding the cost of any leisure travel. No roboticness there!
But for whatever reason, yeah, there are certain categories of things where I enforce a realistic and largely data-driven view of the world. The phone thing, that's just a perception that it's wasteful, that the annual expense doesn't make life $650 better. That's weird of me to say, because God knows I've been known to have a gadget problem. But if I wasn't driving electric vehicles for science, I'd be content to drive a sensible Prius. I don't need a bigger house, either, even if I could afford it. Ikea furniture is perfectly functional to me. Working remotely is efficient.
I wasn't always this way. I'm pretty sure it's because I messed around a lot in my 20's and made poor decisions, and now I'm trying to overcompensate for that. In my head at least, I've acquired enough data and seen enough to make what I see as logical decisions. I suppose I need to remember that such pragmatism is what put me back in Cleveland, and we all know that was a terrible idea.
Diana was quite literally wrestling a quilt that she's been working on tonight, so I figured it might be a good time to sit down at the computer and continue my recent binge of learning and coding. We had a serious line of storms roll through, apparently associated with the tropical depression that just landed, and without a lot of lightning I decided to go hang out on the patio. Really epic downpours and a nice breeze. The rain has stopped, and when my neighbor's air conditioning isn't on, there's a pleasant sound of dripping and critters. Right now, I'm hearing the end, and seeing the flashes in the sky, of the Halloween Party version of the fireworks at Magic Kingdom. The distant sound of the train whistle I'm sure isn't far behind. It's a lovely night for the senses.
If there is anything I could identify as being a critical quality of life issue, it's the ability to be outside. Living in Florida means that you can do that pretty much all year. I'm not saying you can't go out in places that have real winter, but it's not particularly fun or comfortable, and can in fact be fatal. Yeah, you can ski and such, but I'm talking about leaving your home without putting on a parka.
Sure, summer can be pretty hot. Late-June to early-September, the heat gets a little old by August, and it feels a little gross if you're outside for extended periods. It's still not terrible, and when you're enjoying "jacket weather" in January, you know, because it's just under 70, there's no arguing that the summer hotness is totally worth it. Wear your sunscreen, stay hydrated, and it's all good.
As rainy (or misty, to be more accurate) as Seattle could be in the winter, I have to say that being outside was pretty easy to do there as well. When I worked on the Microsoft campus, the people I hung out with had a lunch rotation among various buildings, and it was never a big deal to get out and walk, all year. Heck, we had walking trails in the "woods" at the edge of campus, and I wasn't afraid to use them any time of year. Of course, in the summer it was 74 and sunny pretty much every day, Poppins perfect even. Being outside generally put you in view of those beautiful mountains, too.
This just wasn't the scene, growing up in the Midwest. Fall was the most wonderful time of the year, with the cool weather, the smells, the colorful trees... and then there was November. It may not have snowed right away, but it was coming. The trees appear dead. The skies turn gray for days on end, and temperatures take a dump. You may finally get a glimmer of warm weather in March, but you might get snow, too. That's a solid four plus months of coldness that forces you inside, and it sucks. I don't know if I could ever go back to that. I did once, and it was awful.
The bottom line for me is that I need to live where I can be outside as much as possible. I'm not even really a big outdoor activity kind of guy (unless you count theme parks), I just like having the fresh air.
I'm totally hooked on Mr. Robot, that show on USA. It would be a pretty intense show if it was only about the place of corporations and government and computers, but it also throws in plenty of mental illness, deep philosophical questions, sex and strong themes of identity. I'm only a few episodes into the second season, but it's going in the direction of understanding what you want your future to be, and making it happen.
Making your future is a subject that's near and dear to me, because I spent the first dozen years or so of my post-college life kind of meandering and allowing the future to mostly happen to me. I made a few deliberate moves, chief among them changing careers, but mostly I was avoiding any specific action, or even thinking about what I wanted my future to be. I suppose it's because I figured that it would just be obvious, and happen like a Cameron Crowe movie (most of which I've been obsessed with). You'll have a coming-of-age moment, the future will be clear, and you'll be making out with the girl when the credits roll. Seriously, that's how most Crowe movies end.
After I met Diana in 2007, you could start to see the economy go kind of sideways. For the most part, I liked the people at my job, though I couldn't see where it was going. Two and a half years in, when the layoffs started, I kept hearing this theme about how it was an opportunity. I spent the next year or so wading in and out of "opportunities," until I realized that I was falling into old patterns. I was letting life happen to me again. I had to start dreaming and being deliberate in making my future.
It turns out that my future making resulted in a whole lot of moving around. There's no question that I was happier for this action. I made some mistakes, but none of them were irreversible. Making your future requires defining it, and acting on it, yes, but what the last six years have taught me is that you have to be OK with being wrong about your goals and your actions. You have to challenge your assumptions and your normal.
Where am I going with this? I think I haven't been deliberate enough in defining my future lately. I'm comfortable, and sometimes comfort breeds complacency. In those first dozen grownup years, I equated comfort with happiness. I have to better understand what I want to be as a parent, a husband and a professional, and go there.
As a cautionary tale, I have to admit that the future that we get is rarely what we dreamed, even when we are deliberate in our actions. That's a pretty crazy thing to think about. I'm suggesting that you have to make your future in a world where it doesn't go the way you expect. That might be because we're too specific in our expectations. If I split up my life into five-year chunks, I'm never where I thought I would be from one to the next. I look around me today and have a total Talking Heads moment and ask, "Well, how did I get here?" The answer is the actions I took got me here, it's just not the expected "here." I would argue that it's probably better than what I expected. Time, experience, circumstances and maybe just dumb luck have a way of refining your future in exciting ways.
There are two groups of people in the US that definitely fall into the "hurting" category, and we hear about them all of the time in this election cycle. The first group are minorities, and African-Americans in particular. There isn't a lot of mystery about why they're hurting given our nation's history of institutional racism, and the socioeconomic problems around it. But the other group, the working poor, is a more complicated problem that I'm still learning about. It's not as simple as a group of people who make poor decisions, and raising minimum wage isn't the simple solution either.
In a discussion on Facebook, a guy I vaguely know online responded to a friend's post commenting that he often wondered why he didn't have a nicer car, or live in a nicer house, etc. His phrasing struck me as interesting, in that he said he no longer believed in "the American dream." I took this to mean that the things he didn't have were the American dream.
That got me to thinking about our expectations, as a culture and as a society. That Americans are characterized as generally materialistic is not surprising. Our rabid consumerism is arguably out of control, and I think it has really screwed up our definition of normal. Maybe it wasn't a "good" normal even when I was a kid. That definition was about a degree, a nice house, two cars, two kids and fat pensions. My suspicion is that it's the nuance in that definition that has changed, because the minimum viable way to live is actually just having shelter, food to eat, healthcare and a job.
I'm probably not the right person to talk about this, seeing as how I drive an electric car and live in the suburbs in a McMansion (is it still called that under 3k sq. ft.?), but external factors aside, I wouldn't be here if I didn't challenge the notion of what the dream is supposed to be. I subscribed to that vision in my 20's, bought crap that I didn't need on credit and tried to adhere to a lifestyle that probably had little to do with what I actually needed. As soon as I had a little money, I rushed to buy a house. When the economy took a dump, twice in the oughts, I eventually learned that maintaining this version of the dream was not sustainable. I imagine the jarring experience of divorce reinforced this.
There is some anecdotal evidence that the classic dream is not the goal it used to be. Many 20 somethings are hoarding cash and living college-style. Small homes (and tiny homes!) are becoming trendy. Some people even, gasp, hang on to their smart phones for more than a year!
Challenging the dream that was defined as stuff and status was something I should have done 10 years earlier than I did, but it has made a huge difference in the quality of my life. I may have been able to course-correct only because I work in a fairly lucrative field. I live comfortably, but I have no desire to live at a more expensive level even though I could. Living expensive is not something to confuse with quality of life. Living expensive as possible should not be the goal.