Oops! Something went sideways.

Looks like the styling got goofed up. Sorry about that, unless it's what you wanted. If this isn't what you were looking for, try force refreshing your page. You can do that by pressing Shift + F5, or holding Shift and clicking on the "reload" icon. (It's the weird circle arrow thing "⟳" just above this page, usually next to where it says https://blog.unitedheroes.net...)

isn't quite ashamed enough to present

jr conlin's ink stained banana

:: ev-iDunno….

tl;dr: Electric cars are nice toys that are not quite practical enough for me.

i drive a 12 year old Outback that has about 96,000 miles on it. This makes it “low mileage” and i like to think i keep it in pretty good shape. Even though it’s a Subaru and the life span on those things is amazing, it’s still a pretty good idea to look around at car options every decade or so.

While considering a more modern vehicle, there are three key items i consider kinda required at this point:

  1. Back up camera. It’s kind of a stupid thing, and i know how to set my mirrors and all, but i’ve driven cars with the camera and damn if it’s not useful.
  2. Crash avoidance. This can either be lane assist or city crash avoidance, but in any case, i’d like the car to be able to spot things i don’t. i’ve not had that as a problem, yet, but if there are going to be cameras on the car already, seems like a good follow up.
  3. Integrated Smart Phone environment Car UIs suck, the built in navigation systems are terrible, and they’ll never update as often as the pocket computer i haul around everywhere. It’s just bad design for auto makers not to include Android Auto or whatever iPhones do.

Recently, i got a hair about getting an electric. While i’m ok with reducing my carbon footprint, it also seems like a reasonable thing to do since there’s less parts to go horribly wrong. Since i don’t make enough to impulse buy a car, i wanted to do a fair bit of research on whatever the hell i’m dropping potentially half a years salary on. (i know, silly me. Not really into the California Mansion1 idea.) Still, doing the research kinda shows that things are not quite ready.

The first thing that kinda surprised me was the power problem. i’m not talking about range, since cars like Tesla and Chevy make cars that can do 200+ miles on a full battery, i’m talking more about what to do after you’ve driven 200+ miles. Turns out, that can be a tricky question.

Let’s say that you decide to drive your brand new electric from San Jose to Pismo Beach. It’s a trip of about 200 miles down 101, so you’re probably going to need to power up. Ok, so where do you do that?

There’s no real standardization for the sort of power socket a car maker picks, so there’s about five different types. From what i’ve read, there’s the Tesla plug, “J Plug” J1772 and the J1772-Combo (for fast chargers) and the CHAdeMO. Tesla plugs pretty much are only for Teslas, CHAdeMO plugs are pretty much only for Nissan Leafs, and the J1772 type plugs are for most of the rest. i’m also going to bet that the charging protocols are wildly different between each of those. You can buy an adapters for most of these plugs, apparently.

Those paying attention may note that i said five plugs. The fifth type of plug is the only plug that’s US standard for all vehicles. It’s a 220v 20Amp Nema 5-20, like what you’d plug an electric dryer into.

i’ve been told that some charging station outlets also sport a Nema 6-50, which is a 240Volt/50Amp instead of a 120V/20A circuit. That would speed things along a good deal.

It’s also the slowest option and requires you to haul around whatever charging dongle you got with your car. If you left your power dongle at home, you can get another one send to you for around $350.

You can also get conversion dongles for most of these outlets, so in theory you’d have something for any situation. Not super ideal, but workable at least.

Of course, each of those plugs carries different charging times. If you have all day (literally, and then add a few hours) you can fully recharge using a Nema 5-20 in something like 30+ hours. A Nema 6-50 in about 10 hours. Whatever Level2 option you’re using will recharge you in about 8 hours, and the “fast charge” will get you back on the road in 4. That is, provided someone else isn’t already plugged into the one fast charger already. i’ll note that it’s $.10 a minute, so figure spending $18 for a full charge. Not terrible. It cost about that much to fill up my Mom’s Prius after driving it from Leesburg, Va to Fenwick Island, DE and back.

So, probably not a good Road Trip car. Granted, driving from San Jose to see my brother is about 120 miles, so charging would still be A Good Idea, and i can hope a pleasant 2 mile walk from the charging depot to where he lives.

That’s fine, it’s more for driving short trips in city traffic.

For that, i’ll admit that things would be a bit better. It’d be my commuter in the winter when i can’t really ride my bike to work or once every other week or so to charge it up at work. My company pays for the power for that (they’ve very nice) but it does also raise an interesting question. San Jose has a lot of charging stations. Not all work, or are available all the time, and as i noted, they’re best if you’re somewhere you don’t mind being for an hour or so. i can charge at home, if i’m willing to either install a charging station for $1000 (provided it has the right plug). Of course, i normally park my car out in my driveway. My garage is also my laundry room so the other car sits on the opposite side of the garage.

Still, not terrible, but what iced things was actually driving one. i test drove a Chevy Bolt for a few reasons. i’ve no real interest in trying a Tesla. i expect there to be some differences, but from what i experienced, i don’t think they really matter.

Pros:

  • One pedal driving was kind of nice and surprisingly intuitive. Mind you, i tend to drive like that already. i’m reasonably good at putting space between myself and the car ahead of me so i don’t really use my brake all that often. This just kinda felt like the next step.
  • The car was nice and zippy. i’d have no problem merging into traffic on busier streets, even if my battery life would have other opinions about that.
  • It had all three of the things i was looking for.

Cons:

  • Not really super comfy. This was a weird one. i get that the seats aren’t automatic for weight reasons, but they also didn’t really seem particularly well padded. They kinda felt like office chairs. This was particularly notable in the back seat. i will say that there was plenty of headroom and the interior felt “spacious” enough, but i’d expect that with a vehicle that’s front wheel drive.
  • The “hand brake” gimmick is as counter intuitive as the one pedal is intuitive. The pedal feels like it has higher braking “resolution” than the paddle button. When i tried pressing the button it felt like it would start slowing, then aggressively brake the longer i held it, regardless of what pressure i used. i’d feel sorry for any passengers that either were, or were about to be carsick.
  • Slow final braking. This was also odd to me. i get regen braking, but the final bit of brake felt like i really had to press down to get it to engage. Considering how much the vehicle wanted to capture momentum, that last bit struck me as odd. Using one pedal, i didn’t have that problem, but i could also see where i really don’t want to get used to the way that car handles. i’d pretty much ruin the other car.
  • The power reasons above.

So, where does that leave me?

Electric cars are nice, but i can’t shake the feeling that they’re still very much toys. Damn pricey toys, but toys. i kid around that i’ve already got an electric vehicle, and that’s proving to be more true than i’d prefer. If i had to get a vehicle right now and was only going to be using it around town, i’d consider an electric. For a while at least. It’ll be interesting to me to see how poorly this post ages.

i still really wish that Subaru made a hybrid, but that’s probably not going to happen for a while. Looks like they feature the auto engine start/stop at least.

1 A California Mansion is a really expensive car you drive around because there’s no hope at all at affording even a burned down house.

:: Con-frigguration

If it’s a static value, it probably belongs in a configuration file.

That’s one of my golden rules of programming, and it’s generally saved my ass. Mostly because someone else sometime else decides that something isn’t quite as permanent as they said it was and it changes. (That was for the benefit of the two or three folk out there that don’t use config files.) Still, after nearly half a century of coding, we still have terrible ideas about configuration files.

The worst offender, by far, is the horrible programming language masquerading as a config file. These seem to be en vogue again. Such as “yaml” format:

  - alias: "Morning kitchen on"
    trigger:
        platform: time
        at: "06:45:00"
    condition:
        condition: and
        conditions:
          - condition: time
            weekday:
               - mon
               - tue
               - wed
               - thu
               - fri
          - condition: sun
            before: sunrise
    action:
        service: homeassistant.turn_on
        entity_id:
            - group.lights

That’s from my Home Assistant configuration file to turn the lights on in the morning if they need to. Home Assistant is written in Python, and i don’t really want to pick on it because it’s really good. If anything, the config system being bad just stands out that much more. i can’t tell you how much easier it would have been to just code up the python function.

import time
def MorningLight():
    now = time.localtime()
    if (now.tm_wday in range(1,6) and 
            (now.tm_hour == 6 and now.tm_min in range(45, 59)) and
            time.time() < homeassistant.sensor_state("sun.sunrise")):
        homeassistant.turn_on("group.lights")

Hell, make some convenience functions and it's shorter.

def MorningLight():
     homeassistant.set_state(
         "switch.OfficeLight",
         (homeassistant.time_between( 
             "06:45 AM",
             homeassistant.sensor_value("sun.sunrise")) and
          homeassistant.is_weekday()))

Yes, this proposes that the individual know python. They’re programming. It’s ok to use the same language you’re using. Forcing the user to learn some convoluted semi-language syntax that is even more alien, doesn’t have countless free tutorials and books, and a vibrant support system, isn’t helpful.

There is literally zero difference between the above yaml version and this:

♥️alias🍳"Morning kitchen on"
🐸trigger🍳
🐸🐸platform🍳time
🐸🐸🐸at🍳"06:45:00"
🐸condition🍳
🐸🐸condition🍳and
🐸🐸conditions🍳
🐸🐸🐸♥️condition🍳time
🐸🐸weekday🍳
🐸🐸🐸♥️mon
🐸🐸🐸♥️tue
🐸🐸🐸♥️wed
🐸🐸🐸♥️thu
🐸🐸🐸♥️fri
🐸🐸🐸♥️condition🍳sun
🐸🐸before🍳sunrise
🐸action🍳
🐸🐸service🍳homeassistant.turn_on
🐸🐸entity_id🍳
🐸🐸🐸♥️group.lights

Actually, i’d argue that it’s clearer because the “🐸” are visibly defined rather than just whitespace (tabs? spaces? tabs+spaces? 🤷‍♀)

We keep insisting on doing this. Sure, that wheel is pretty and all, but what we really need is to make something that rolls on the ground around an axis.

What’s frankly hilarious to me is that programmers have even beaten multiple paths to the “give the customer a simple programming language” route (Lua, Javascript, Visual Basic, etc.) and STILL we come up with crappier solutions. Hell, at one point i was writing a shopping site in a custom XML based language. Someone, quite possibly multiple people, not only thought that was a good idea, but took a significant amount of time to prototype, develop, implement, test, and document that.

Stop it. Just, stop it.

Stop trying to shoe horn a horrible solution to an obvious problem.

If you’ve got static values you need to set, use a simple key-value config system. Maybe allow for sections if it’s super complicated, but also consider that perhaps divvying things up might also be a viable solution. Windows, Unix, and yeah, even Macs all do this, and they work pretty well for exceptionally complex systems. (i’ve got my complaints about Windows Registry tables cross references, but at least i’m not writing XML if statements.)

If you need templates, use an established template system. HTML is no party, but it works, and there’s library support for it. If you want to grant programmatic access to users, give them a damn programming language. And not one that you created in your Junior systems class and got a “C-“.

Granted, if you’re building a complex virtual machine like a web browser, then rules are quite different. Chances are exceptionally good, though, you’re not.

Yes, this means trusting your users. Yes, this also may mean giving up the dream of providing a configuration system safe for 6 year olds. Granted, you could also give them Scratch, so there’s that.

(Dammit, now this means i need to submit a patch to HomeAssistant that actually replaces the crappy config system with an actual programming system, doesn’t it?)

:: The Internet of Less Than Shit

i’ve been making my home a bit smarter.

Mind you, this is not what you’d expect me to say. i’m paranoid. The idea of opening up my house to a remote exploit because some company forgot to use encryption is very much unlike me. Hell, i put my cable box and guest devices on their own, isolated subnet. What the hell am i thinking?

i’m thinking that i don’t need to go out to the internet.

The guiding principle i have is to not require external connectivity where and when possible. While things can talk to the outside world, i discourage it. Enter Z-Wave.

Z-Wave is an interesting semi-proprietary protocol that allows devices to talk to each other. What makes it useful to me is that those devices can talk to a managing hub. What makes it REALLY interesting to me is that i can run an open source package on a Raspberry Pi that lets me control the devices. Data never leaves my local net.

What makes it super-duper interesting is that many of these devices are advertised as “works with Amazon Alexa”. i don’t have an Alexa in my house, but it’s becoming the clear winner in the “voice controller” market. This means that there will be a lot of controllers out there that will be talking Z-Wave, including light switches, outlets, thermostats, door sensors, and more that can integrate into my device network.

Again, and delightfully, none of that info needs to leave my LAN.

The very nice thing is that there are a few different open hubs i can use. Currently, i’m using Home Assistant. It’s nice, but absolutely not end user friendly. It’s a typical dev app and requires lots of weirdly formatted files, obscure naming conventions, reboots, and other fiddly bits. Mozilla is also working on a less fiddly version called IoT, which promises to be more noob friendly, but it’s still very much in pre-beta.

Still, i’ll admit that having control of my house (and remote control thanks to the glory of SSH tunnelling) is rather nice.

Now, if i can only figure out how to read directly from my solar panel controller and the SleepNumber bed, i’ll be all set.

:: Goin’ Solar

Recently, i had solar installed on my roof. It’s not a huge system, but it covers my average daily need of about 4KWh. It cost me about what a brand new economy car would have, and i understand that i’m in a fairly privileged position, both in the ability to have solar panels installed, and the ability to afford them.

The reason was pretty simple: my electric power rates had hiked up in the past few years and i expected to be at home a bit more. If i could reduce that cost down, there’s no reason i shouldn’t. There are other reasons i considered them, like the fact that i live in earthquake country and having panels means that i’d have some power available 1, and the panels would provide some shade to keep my metal roof from overheating2, but honestly, not forking over $100+ a month was really the major draw.

And, yeah, i get that i’m late to the game on this. i’m ok with that. Cutting edge tech on these sorts of things is foolish. You want something that’s had the kinks worked out and is reliable as hell for the 30+ years they’ll be running.

So, i find it kinda hilarious that there’s a growing backlash about roof top solar.

Part of the problem is that power companies built way the heck too much generation capacity. i can’t really fault them, Natural Gas is cheap thanks to the current glut, and not a lot of folks saw the residential solar panel growth happening the 10 or so years ago that these plants were authorized. Still, residential solar is a fraction of the power generated daily. It does, however, mean that the return on all those bright, shiny, and new power plants won’t be quite as great and it’ll take a few more years before they become profitable. Hooray! Power is a commodity and subject to supply and demand.

Which kinda leads to the next point. Residential power generation is kind of a fluke. Let’s ignore solar, and say that i’ve somehow created a tiny universe filled with residents who step on pedals in order to provide me Watts to spare. In the era before smart meters, i’d plug that in and the analog meter would literally run backwards. The power company would come by every month, read the meter, and wonder how to deal with consuming negative KWh. The simple solution, because not a lot of folks were creating tiny power-plant universes, was to just credit at the same rate they charged and move on. Some months i’d owe, others i’d collect as i fed the excess power back into the grid for my neighbors to use.

This is because the grid doesn’t really care where the power comes from, just that it’s there. It could come from coal plants, gas, wind-turbines, really anything that can send electrons along a path at the proper AC frequency.

So, i’m a little confused by articles like this which state:

Utilities argue that rules allowing private solar customers to sell excess power back to the grid at the retail price — a practice known as net metering — can be unfair to homeowners who do not want or cannot afford their own solar installations.

Uhm, what? They’re using power, from the grid. The same grid i’m feeding. They’re writing the same check, just that the power company is acting as a broker rather than the generator.

What’s more, i was required by the power company to install a “smart meter”. Meaning that unlike the analog predecessor, this sucker knows exactly when and how much i am either using or contributing. This means that i could be charged/credited fairly accurately, based off 15 minute increments over the course of the day. Since folks in my neighborhood have been told they’ll be hit with a $120 annual fine if they refuse getting smart meters, i’m guessing that it’s just a matter of time before even the most ardent folks concede and get one. So, yeah, the power company has/will have a stunningly accurate accounting of power patterns for this locale, minus some of the fun of long lines and massive substations.

So, you know what? i’m also 100% ok with not getting residential power prices for the power i’m generating. Yeah, it means that it’ll take longer before my system “pays for itself”, but as stated above, not really the goal. Plus, i know some folks with hilariously huge arrays on their roofs will be pissed, but just like the power company and their now less useful LP plants, Welcome to commodity based markets, bitches!


1So, yeah, fun fact. Solar needs to be able to sense the grid to operate. Otherwise they shut off because they don’t want to barbecue linesmen that might be working on the outage. You can solve that with a battery, but most of those are crap right now so not happening for a few years.

2It’s not a lot, but i’ll take what i can.

:: The Process of Process

For a while, there was a fad for software engineers to rebel against “Process”.

They hated the fact that there were rules and procedures for things and wanted the freedom to make code. They wanted to run free among the linkers and cuddle up to garbage collectors, i presume.

Yeah, i wasn’t one of those types.

You see, i also cook. i understand that a good meal generally doesn’t happen by wandering into the kitchen and seeing what happens. It involves thinking about what meals you’re going to eat up to a week ago when you’re making a grocery list. It involves setting up a clean workspace, making sure tools are ready, and performing the steps. Mind you, while there’s some “drudgery”, it’s not much, and hey, there’s meat, fire & knives, so that’s a bonus.

But yeah, one of the keys of good, actually fun, cooking is that “organization will set you free”. Having ingredients ready to go when you need them is amazing. Pinch dishes are cheap as hell and make your life so, so much better. (You can get dozens at the local Goodwill or Dollar Store for just a few bucks.)

So, yeah, it makes sense that you have some level of process for coding. You want to understand what you’re building, have the tools and tests set up, and then have check lists so you don’t forget something. Because if you don’t you ABSOLUTELY will forget something. Plus, having a checklist is one less thing to spend precious memory dealing with. Heck, pilots have lots of them, and frankly, they help them stay focused on, you know, flying.

Of course, no process is ever really finalized and all process is subject to review and updating. You should never have to fight a process, it should be smooth and nearly second nature. If a process doesn’t work, it should be changed.

Sorry, just spent some time creating some additional process in order to capture data that we were ignoring because we forgot to capture it.

Granted, getting folks to follow process is harder.

Blogs of note
personal Christopher Conlin USMC memoirs of hydrogen guy rhapsodic.org Henriette's Herbal Blog
geek ultramookie

Powered by WordPress
Hosted on Dreamhost.