Archive for the ‘Uncategorized’ Category

Carista OBD2 + Tundra 2022

Thursday, October 27th, 2022

You should wear your seatbelt.

I should wear my seatbelt.

No argument there, but my new Tundra has the most annoying seatbelt alarm I’ve ever experienced. It’s loud and it literally never stops. There are, sometimes, legit reasons to silence an alarm like that, like putting groceries on the passenger seat.

I think I should be able to alter anything I own. It’s my damn truck.

I rolled the dice on ordering a Carista OBD2.

It was just $29.99 for a little physical device that plugins into a port under the dashboard of the truck and allowed me to change otherwise inaccessible settings, like the seatbelt alarm.

To my surprise and delight, it was super easy to use and worked.

I plugged it in, downloaded the iOS app, and it connected right away. To actually change a setting I needed a subscription. They say they have a free trial but I didn’t see that option and had to pay another $9.99 for a month. Happy to pay it, as the other options I looked at were way more expensive.

Turning off the alarms was as easy as toggling a switch and pressing the save button.

One more that was very satisfying to change? Turning off the fake “V8” engine sound they pipe into the truck, which is apparently a way to mitigate the feeling that the “downgrade” from V8 to V6 makes the truck have less balls or whatever.

All of these settings are otherwise impossible to change via the menus and such available in the trucks interfaces themselves.

Tundra 2020 ➡️ Tundra 2022

Wednesday, October 26th, 2022

I had a three-year lease on a Toyota Tundra and had the 2020 model. It came due and I had to make a decision on what to do next.

Interestingly, the 2022 Tundra has been hugely updated, and I was compelled enough to pull the trigger in that direction.

A List of Things That Are Much Nicer on My New 2022 Tundra

The screen. Wow! It’s way bigger! Nearly as big as the screen in our Tesla. It’s big. It’s bright.

The built-in software on it is… good? It’s, incredibly to me, well-designed. Don’t really expect that from rando car manufacturers these days. I’m glad they stepped it up so quickly.

Honestly, if it was the exact same truck as the 2020 but with this screen it might have been enough for me to buy the 2022. I think the screen in a car is a big deal.

Cameras! It has cameras all over the place. The backup camera is obviously the most useful, and the big improvement there is that it has that view where it looks like it sent out a drone over the truck to point downward (but is actually stitched together from various cameras with adjusted angles).

There are all sorts of options for what cameras to be looking at at any given time. I don’t find a ton of utility in most of them just yet, but maybe their day will come. If you did a lot of parallel parking, perhaps the side/front cameras would be more useful to you. Still pleased.

One thing I turned off right away though was the “auto” flopping into camera mode whenever you are coming to a stop. Not a good default, as it’s not terribly useful.

Even the rearview mirror is a screen. It can be just a mirror, but one flip and it’s turned into video mode.

It’s… kinda cool? I dunno I don’t leave it on all the time as I find it a little weird. I’ll have to see if the night mode is useful or what.

The main point I can see is that the camera is mounted up toward the roof of the back of the truck. So if you piled crap in the bed of your truck up to that point but no higher, the mirror would be blocked but the camera wouldn’t be, so you’d still have rearview vision.

The rearview mirror also has garage door buttons on it you can program, which I really like (avoids having the actual garage door opener mounted somewhere awkward). My old truck didn’t have that.

Speaking of software, the mobile app is actually useful now.

For example, it’ll send me a push notification if I forgot to lock it, and allow me to lock it. It’s got remote start (although the annoying thing still exists where when you get to your car and open the door, it shuts off.) It even reminds me where I parked.

It’s not amazing (feels laggy, for one), but it’s actually pretty useful. Well done, Toyota.

The paid-for services seem a bit of a mess though. Is the remote start just a thing I get for free, or is that some trial thing I’ll have to pay for later? The truck is on a free trial of the Wi-Fi, but… I can’t even tell if it’s working. Why would I need that when my phone has internet? Is it better? Why are there like 3 other possible paid plans? I kinda don’t get it.

The charging pad. There is one now! Works mostly just fine with my iPhone 13. You just rest it in a little area below the screen. It’s Qi, whatever that is.

My only gripe right now is that it tends to disconnect and connect a bit sporadically. It’s not rock solid just put your phone here and it will charge scenario.

Carplay worked on my old Tundra, but now it works wirelessly, which is very nice. It doesn’t even have to be on the charging pad. It’s fairly easy to switch back to the Toyota software (it appears as an icon on the home screen), and important notifications show up on top of Carplay. It’s all pretty nicely considered. It’s got Android Auto too, of course, those tend to roll together these days. That would have mattered when Miranda was on a Pixel, but she’s switched back to iPhone.

That “home” view on Carplay, which is relatively new, where you can view the map and the current song/podcast, is super clutch.

Even though Carplay works without a USB connection and you don’t need USB to charge either, there are still USB plugs. Five of them all told. That’s probably good — in case I get sick of the finicky charging pad. I also have a hunch that wired charging is faster.

The plug on the dashboard is USB-A, which feels a little old school, but inside the console box thing there is another USB-A and a USB-C connector.

In the back seat, there is also a USB-A and USB-C. Having both options is kinda nice actually, at the moment.

The back seat also has a straight-up power outlet, which can come in awful handy (example: charging my DSLR camera battery on the way to something because I forgot to do it before I left).

That console between the front seats? It’s got some nice touches. There are little coin holder slots, which is such a tiny thing, but obviously, we’re going to end up with change in our car, so it might as well be organized and accessible. You also don’t have to open the console box at the big main hinge, there is a little slider to move back to access the stuff in the front. That’s a nice touch, so if the passenger needs to get in there, they don’t have to do the whole excuse me could you move your arm thing.

There is a HUD now. Eh, nice to have I suppose.

I’ve got (faux) leather seats now, which I was worried would be too chilly in the winter. Winter hasn’t quite arrived, so we’ll see, but so far I like the look and feel of them better than my old cloth seats. I’m hoping they will be easier to keep clean as well.

Speaking of the seats, they have lumbar support now which I’m finding awfully nice right now with an injured back. Especially with the heating. The seats actually have both heating and cooling on both the driver and passenger sides.

The truck also remembers seat position based on “driver profile”. When you get in/out, it moves the seat backward, when you get in, it puts it back to your desired spot. I haven’t tried setting up multiple profiles yet, but I imagine it works either via key fob or app (or either?).

There are running boards and they are automatically opened and closed. It’s kinda neat! My old truck had running boards too that actually looked a little cooler and were permanently out, but they were less functional than these in the sense that these are just a clear nice flat stepping surface, so I’ll say this is an upgrade.

The steering wheel has a billion things on it.

Not heated, though. Miranda’s old Tahoe had that and it was awesome.

Perhaps the biggest change that a lot of people hone in on is that it’s a V6 engine now instead of a V8. I think that worried a lot of meatheads that it’s now underpowered or something. I don’t even care enough to look into it. Apparently it was big enough of a deal that Toyota pipes the sound of a V8 through the audio system at appropriate times, which is bonkers. I think I’ve found a way to turn that off and control internal features like that, which I’ll do another blog post on.

The new engine / drivetrain whatnot also has given birth to “driving modes”. I can flip it from “Comfort” to “Normal” to “Sport” and “Sport+” … and maybe I’m forgetting one or two others. I’m probably going to leave it on “Normal” as I don’t feel a big difference in day-to-day usage.

Curious about the gas mileage? Well, it’s friggin awful as you might suspect. I get about 11 miles to the gallon. I also drive so little I don’t lose sleep over it. I put less than 3,000 miles a year on a car, as proven by the last 5 years or so. They say it’s 18 city / 24 highway but… no.

My old truck had a lift kit and pretty big tires on it. No lift kit this time around, nor oversized tires. I went with upgrade K02 tires that were highly recommended and workable in the winter. So overall the truck feels “smaller” and I’m very fine with that. Perhaps a smidge easier to park.

Storage. This is huge to me. Trucks, despite being generally enormous, generally have way less storage than cars. There is no trunk! You can put a lockbox in the bed, but they aren’t very easy to access and you’re limiting the use of the bed.

In this new model, the back seats lift up to a storage bin. Great idea.

My old truck had bed liner/protector stuff on it, which was nice so you’re not scratching up and making ugly the bed, but it was an upgrade thing I had to buy. Came standard on this truck.

Two more niceties in the bed:

Tiny thing: hold mode. If you’re sitting at a stop light waiting, rather than keeping your foot on the break, you can press the hold mode button and you’ll stay stopped until you press the gas. Clever little feature.

Double moon roof! Goes all the way to the back seat.

The side rearview mirrors tilt downward when you reverse. That is, if you have the mirror controller set to L or R, which is a weird caveat. But it’s still a nice little feature. The point is that when you’re reversing it’s nice to see a little lower than normal, to make sure you’re not backing over your kid’s bike or whatever.

The side rearview mirrors also fold inward when you park and turn off the car, which is nice. Just puts them in less danger. My local carwash requires they fold in before carwashes, and that’s a tap of a button now.

Yeah black really does show all the dirt. Oh well.

There is this lane assist thing now which bitches at you if you get to close to a marked line on a road. Not my favorite, but it does work pretty well. There is an extra bitchy mode that will literally turn the steering wheel for you if you encroach on a line. I tried to like it but I couldn’t get there.

There is no manual parking brake at all. You park, it puts it on, you unpark, it takes it off. It’s weird to me that there is literally no manual control of it at all.

There are physical window shades in the back seats you can pull up and hook on the top of the window well to help block the sun. Hey, why not, could be the difference between being trapped with the sun blasting on you back there or not. The front seats have the typical visor shade things.

One thing is worse! The window out to the bed of the truck doesn’t go down anymore. Sad trombone, I thought that was a neat little feature in the past.

So far: 👍. Nice truck.

So is React good or not or what.

Wednesday, October 26th, 2022

Papa bear’s porridge: The self-fulfilling prophecy of React.

React isn’t great at anything except being popular.

Mama bear’s porridge: Get in Zoomer, We’re Saving React

Most next-gen React spin-offs strike me as universally regressive, not progressive.

Baby bear? It’s a trick: both of them kinda argue both sides. Josh argues that it’s not that React is awful, it’s that the alternatives are better. Steven argues that React does so little, the way it does what it does is actually good.

(Also see François Zaninotto’s React I Love You, But You’re Bringing Me Down which makes some other nice points.)

Myself, I haven’t been overwhelmingly convinced that any other JavaScript view-specific framework is tremendously better than React. But I also haven’t much more than Hello, World-ed with any of them either, so my opinion isn’t wildly informed.

For love or money

Wednesday, October 26th, 2022

Almost anything in life, you could always have a little better. Your car could be fancier, your sheets could be softer, your boat could be longer, your TV could be brighter, and your whiskey could be older.

But there are some things where an upgrade just isn’t possible.

If you’re drinking a Coke (let’s call it it a Mexican Coke because of that glorious cane sugar flavor), that’s the best Coke you can get in the whole world. For love or money, there is no better Coke.

Some consumer electronics are this way now too. As I write, if you have a maxed-out iPhone 14 or Pixel 7, that’s the best phone you can have. For love or money, there is no better phone. Same with the latest video game consoles.

I just think it’s fun to think about things in this category. What else? Heinz ketchup? Hidden Valley ranch? Shave ice? A CodePen PRO account?


Tuesday, October 25th, 2022

It was at WWDC22 that Apple talked about adding support for passkeys. They seem like a Very Big Deal because they literally replace passwords for login and are better in every way. And crucially, it’s not some Apple-only thing, but an open standard (FIDO). I only bring up Apple first because I’m an Apple kinda guy, but passkeys are Chrome/Android also. Adam Langley has a nice developer-focused guide on implementing them.

I thought it would be good to have a blog post about them in these here early days so I can look back on it and be like wow yeah that really was the beginning of a big shift or wow weird that we thought that was gonna take hold. Hoping for the former.

Breakpoint, the term.

Monday, October 24th, 2022

Ethan was digging around trying to find the origin of the term breakpoint as it relates to media queries in web design. It’s such a classic term now, it’s weird the term never appeared in Ethan’s first article or talk on the subject of Responsive Web Design.

I showed the article to Miranda, who was on the Boston Globe redesign project with Ethan, which is a possibility for where the term entered the parlance, and she had some thoughts. Because the Boston Globe thing was a media project, the term “above the fold” was unavoidable. We tend to laugh that off these days, as we know users scroll and it’s just not the same thing as a literal fold in a literal newspaper. Media people took that variety of prioritization extremely seriously. But prioritizing information is still important today, of course. You could think of “above the fold” as a breakpoint, “the fold” being “the break” — the moment when information is sorted between important and less important. It’s not a stretch then to think of a media query breakpoint, which re-juggles content, as being a similar moment of having to decide which information is more important than other.

Anyway, I was just thinking about this all again because I ran across an article that uses the term so clearly and naturally. “CSS Breakpoints” or “Responsive Breakpoints” are very natural terms and everybody in the industry knows exactly what you mean. In that article, a literal <BreakpointVisualizer> was created, stretching the term into literal code.

I do wonder if the term will last into the Container Query Era though. There was such a temptation to make a “standardized” set of breakpoints for a design (as silly as that might seem) where having, for example, five named breakpoints somehow felt like a strong move. Container Queries is likely to put that notion to bed. Better to shift around layout at sizes that are relevant to individual components, not the whole page. We’ll just have to see if the term “breakpoint” lives in that context or not.

Comfort Work

Sunday, October 23rd, 2022

Austin Kleon:

Comfort work is work that I do when I don’t know what else to do.

I know I need to work, but I don’t know what I should be working on, or I can’t work on the thing I should be working on because I’m too tired or depressed or otherwise unmotivated.

Comfort work must be comforting and it must be actual work. This sounds simple, but it’s an odd combination. Comfort work is work I’ve done before that I know I can do, but it still must present enough of a challenge to be considered actual work.

That’s always been blogging and tinkering with personal websites for me. I’ve turned blogging into money before, so I think it counts as work.

Dining Room Table from CRAFTD

Saturday, October 22nd, 2022

Miranda had it custom-made by a local fella named Tristan who runs a nice woodshop here in Bend. His video as he completed it:


Friday, October 21st, 2022

Websites tend to fall apart over time. Which is weird, because as Dave put it in a recent ShopTalk Show… “they are saved to disk as 1’s and 0’s”.

One way they fall apart is going offline, which happens to dare I say most websites. The design of this very website has a “random” button on it right now. If you click it and land on a post from 5 years ago or more, the chances the links on it go to where they were originally intended to are not good.

If the websites require any resources outside of themselves, those can go away too. Images, fonts, really any other URL linked to. Not to mention the code that produces the website. Try spinning up a website locally you haven’t touched in 3 years and see if it just spins right up (it won’t).

But even if a website is still online, it can still rot. Andrew Walpole reflected on all this in his post Digital Entropy. A website at perfect rest is still affected by, for example, user expectations over time.

Closely related is the ever changing landscape of user expectations. This happens less gradually, and appears more in what we like to call, Innovation. When someone builds a new way to do something, or a new something all-together that we had not yet exactly realized before and the experience has a disruptive effect on the consumer. It changes minds; your code recodes them.

The Shared Element Transition API is FLIPping Cool

Friday, October 21st, 2022

I’ve been eyeing up the The Shared Element Transition API 👀 because it looks tremendously cool. With it, you can animate individual elements across different pages even when the browser does an entirely fresh page load. Sweet. I suppose I should say “MPA” (Multi-Page App), but ughgkh it feels weird to give such a fancy acronym to just “the normal way websites work”.

With just a little reading and playing, I’m a fan because:

There is a ton to know about this API that is beyond me, but I did have a looksie at one specific thing that caught my eye: the page doesn’t actually have to change to use this API. I’m following in Miriam Suzanne’s footsteps here as she did the same in the article Every Transition is a Page Transition? It’s just some extra bonus points for this API. She explains:

Shared-element transitions are designed to work with standard web navigation across multiple page loads, as well as page transitions in ‘single-page’ apps (often called SPAs). While many SPAs have similar features built-in, a web platform approach requires less code, and will result in better, more consistent performance. In either case, the stated goal is to help with transitions from one ‘page’ to the next – but SPAs (by definition) recreate the effect of a page-load without ever leaving the page. We might update the URL and replace the entire contents of the page, but from a browser perspective there is no change from one document to another.

Since SPA transitions are supported, and SPA navigation happens entirely in-page, a ‘page’ in this case is just any given state of the document. We can capture the state of things at one moment, define that as the starting page, make any changes we want, and define the results as our ending page – then animate between them.

Look how simple the core API is:

const transition = document.createDocumentTransition(); transition.start(() => { // Update the DOM // Change classes or attributes which then new CSS applies! // Move/animate stuff with JavaScript! // Add/remove/edit whatever in the DOM! // Whatever! });
Code language: JavaScript (javascript)

And, low and behold, things in the DOM will animate to their new position. Or do a fade-out / fade-in thing by default if it’s not just a position/size change.

That “animate to their new position” thing is ✨ magic ✨. That’s what FLIP animations are! Except now we don’t need to do all that logic ourselves of saving information about the current state of the DOM and animating the difference. The browser can do all that for us.

The Greensock library has a FLIP plugin. Here’s me playing with that to animate a very simple image gallery thing:

Conceptually, its:

That’s basically the same thing essentially as the shared elements transition API!

So here’s me than attempting to get the new API to work for the exact same use case:

It works?! Amazing.

Here’s a video if you don’t use Chrome or can’t be bothered to turn on a flag:

My Ideal Electric Bike

Friday, October 21st, 2022

I have a Specialized Vado right now and I love it! I’ve ridden it for three seasons and I’ll probably hang onto it for quite a while. It’s essentially like this:

Except mine has a big orange kids seat mounted on the back of it.

A handful of things I like about it:

A few months back, my wife bought a Tern. It’s essentially like this:

Except it’s got a basket in the front and a “clubhouse” on the back which is like bench seat with bars all the way around it to hold on to.

She really likes it, and I’m jealous of it for a few reasons:

It’s not my favorite because I don’t love the mini tires (they both look weird and feel weird to me) and it feels underpowered to me (the hill up to our house is still a bitch to ride up even on full power).

So now that I’ve had hands-on experience with several different electric bikes, it’s fun to think about what my ideal electric bike would be.

I’m not sure if I’d ever be able to get everything on my list, much like my ideal TV, but it’s still fun to think about. And if I get the itch to replace my Vado, I can come back to this blog post and remember all the things I’ve thought about.

The Riese & Müller Multicharger is pretty sweet and checks a lot of boxes:

Isn’t it weird there is no standards-based declarative way to put a chunk of HTML inside other HTML?

Thursday, October 20th, 2022

Part of Douglas Bowman’s 20-year retrospective on what is considered to be one of the first major standard-based (no tables, CSS in tow) commercial websites:

In HotWired’s early days, many of the network’s pages were coded by hand as static HTML. A simple update to the navigation meant using a text editor’s search/replace function across hundreds of files. But as the engineering team progressed, they took advantage of server-side includes for common components, and crude frameworks that could be considered early content management systems began to emerge. 20 years later

We needed HTML includes 20 years ago! And we definitely still do. I’m well aware there are tons of ways to accomplish it, it just seems like web standards would have plucked that one off long ago.

« Older Entries Newer Entries »