7000km Without Gas: The Ioniq 5

In March we were lucky enough to buy a Hyundai Ioniq 5.

We replaced a 2008 Toyota Matrix 5 speed that frankly, we loved. It was reliable, not too costly to drive or maintain, and had a ridiculous amount of cargo capacity for a car its size. It was a manual transmission, which I still think is a greatly enjoyable way to drive a car. I am horribly biased in favour of this car of course -- it's the car I learned how to drive in. It's the car I brought my first child home in.

We replaced it however because we needed just a bit more room. With a baby seat behind the passenger seat the passenger was forced to have their knees touching the dashboard, an unpleasant experience, and so when we knew our second child was in the cards we knew we would need a little more room. So car shopping began.

(Side note: There's a whole self-flagellating paragraph about cars, climate, pedestrian deaths etc that I probably could write here -- but suffice it to say, the life I have is one where a car is necessary, even if I wish that weren't the case)

Car Shopping

I was very convinced that I wanted a fully electric vehicle, and so I pretty much immediately focused our search down to only those. We managed to test drive a few options.

The first electric car we managed to test drive was the Volvo XC40 Recharge. Our test drive of this was very funny; while we knew intellectually that EVs have huge torque, it wasn't until my wife floored it getting onto a highway onramp, thwacking my skull against the headrest by surprise, that it was really bodily known how much power these cars have. The Volvo had a really interesting Google powered infotainment system (though, Google's penchant for cancelling projects gave us a lot of pause with that), which included a neat in-dash map system.

Despite on the exterior being quite a bit larger than the Toyota, it was surprising to discover that on the interior, the car felt the same size as the Toyota; considering we wanted more room, this and the fairly high price eliminated the XC40 from contention. Part of the reason is it didn't have more room is that it was a shared platform car -- the XC40 Recharge was an electrified version of the regular XC40. As a result, the interior spaces were shaped to allow things like driveshafts to impinge, reducing available room. I did enjoy the Volvo though, and I am intrigued by the EX30, which wasn't even announced when we were shopping.

The next car we got to drive was the Tesla Model 3. Realistically we were actually looking at the Model Y, but we got to at least try to Model 3.

Driving a Tesla is a very interesting experience. The 1-pedal driving in it is legitimately very well done, and it felt fine as a test drive car. However, the giant screen in the middle and lack of buttons was an immediate turn off. We didn't hate the Tesla, but we weren't super impressed, and the price for the Model Y we'd actually buy was high (and fluctuated hugely during the time we were looking!)

We also tried a Kona Electric. It was actually almost perfect; it felt good to drive, was priced right (and we could have picked one off the lot that day), had normal buttons for things like climate control. Unfortunately, despite side-by-side being almost the same size as the Toyota Matrix, it was clearly smaller on the interior, which was the opposite of what we were looking for.

The Ioniq 5

We actually never saw an Ioniq 5 in person until after we pre-ordered it, but it hit many of our desired requirements:

  • It was larger than the Matrix, but was definitely not enormously larger.
  • It was an electric-first platform; this tends to translate to more efficient use of interior space.
  • It has extremely fast charging support, a very reasonable range.
  • It came in an AWD configuration. We were trying to avoid rear-wheel drive only cars due to our living in a wintery place.
  • Its pricing was high, but not extremely high, and it was eligible for the federal iZEV incentive.

After we pre-ordered the car we did finally get to test drive one, which helped cement it as the right choice. It was actually bigger; it wasn't enormous, it drove fine (though, our test drive was abbreviated... the dealership had high demand for it, and only a relatively slow charger, and so by the time we got to try it out it only 5% battery and so they asked us not to take it too far).

Waiting

We pre-ordered our Ioniq 5 in November of 2021 -- should really have done it a month or two earlier, but we hemmed and hawed about it for a while.

The car arrived 17 months later, in March of 2023. Supply chain issues due to COVID and the war in Ukraine each introduced delays. 17 months delay meant that ultimately we'd ended up spending 7 months with two children in the Matrix. It was manageable, but tight, and we definitely were ready for a little more room when the time came.

Still some snow in March!

Living with the i5

In the vast majority of ways, the i5 has worked out perfectly. Life with an electric car has been very nice. The quiet, the lack of smell, all have been nice bonuses.

I've particularly enjoyed:

Charging At Home

When we first got the car, we spent the first month and a half using the slow trickle-charger. With this charger, it takes more than 60 hours to fill the car, and so we simply took to plugging in the car whenever we got home. This mostly worked out -- we weren't road tripping at the time. Once we let the car get a bit lower than we were comfortable with, so I topped it back up at a DC fast charger.

Eventually, we got a Level 2 charger which can charge the car from 20% to 80% in about 6 hours. At this point, we have taken to mostly charging the car about once a week.

Driver Assistance Features

Coming from the Toyota Matrix there's a huge amount of new driver assistance features. Writing about all of them would be too much, but two stand out as very helpful: Lane-keeping and adaptive cruise control. These help hugely when doing a long road trip; lane keeping means the car will keep itself in lane (even following curves) and adaptive cruise control will adjust the car's speed to ensure a set distance is maintained between yourself and a car ahead of you.

In some, GPS mediated, circumstances these two combine to provide what's called in the manual HDA2, which is "highway driving assist" -- HDA2 adds to the car the ability to change lanes by itself, merely by turning on the indicator.

These features are purely SAE Level 1 self-driving, however even that is sufficient the cause me a little discomfort. Sustained monitoring is hard, and so for myself I use the feature only when I too am turning the wheel -- effectively using it as 'smart' power-steering.

Road Tripping

We've now down two road trips in the car. The first to Jasper was about 350km one way, the second to the southern Rockies was about 700km.

Both trips were fairly smooth; the challenges all emphasized preparation and route planning. Unfortunately, we're still not at a point yet where fast chargers are so frequent you can simply assume one will be where you want to stop. The chargers we used mostly were fine, but did have one peculiar charging session. Given the number of road tripping horror stories, I'm happy to report we definitely aren't one of them.

One worry I had was the infrequency of chargers faster than 50kW; but it turns out that 50kW is pretty fine unless you're trying to do a very short stop with a very low battery. Most places we were out of the car for 45 minutes at minimum, and for a number of our stops we ended up charging up to 100% just because we ended up puttering around at a restaurant longer than originally planned. I think it would be cool to hit a 150kW+ charger, but unless you're pushing yourself hard, I don't think it's a -necessity-.

Honestly, the biggest challenge road-tripping with the i5 is the sloped trunk hatch; I'm sure it dramatically improves aerodynamics, but really consumes a lot of what was storage space in the Toyota Matrix, and so we found that packing luggage in was definitely more challenging than it had been for us in the Matrix.

Issues Encountered

As with all things, we've encountered some issues. So far zero show-stoppers, but in the interests of disclosure and remembrance:

  • Level 2 Charging at home has to happen with the car set to 'medium' speed (8.9kW). At high speed, internet forums suggest that the car's charge port seems to overheat which stops charging, and then it doesn't restart. Frustrating, but that is still more than fast enough for home charging. (Edit This has now been fixed)
  • The car has memory seat positions linked to a 'user profile'. For some unknown reason, infrequently the car will forget to change seat position.
  • In general, the car's 'user profile' system is shockingly slow to respond to changes. The car boots and is ready to drive in maybe two or three seconds, but getting the infotainment system to switch user profiles can take 30 or more seconds.
  • We've encountered one parking lot in the city where the car wont recognize its fob and refuses to lock the doors or start the car.

Features Untested:

The car has features we still haven't even tried out:

  • Parking assist for automatic parallel and reverse parking
  • Garage Door opening

Mechanical Sympathy

Driving the EV is nice; the ability to go fast fast is an experience only supercar drivers and people who own electric cars get to experience. However, driving the Ioniq 5 I doubt I'll ever feel the same level of 'mechanical sympathy' that I felt driving the Toyota. In the Toyota, you drove by feel and by ear; you could tell how fast you were going by knowing what gear you were in and what the engine sounded like. You knew when to change gears by how the acceleration felt and the sounds the engine made. It was a fully engaging experience. Driving an EV so far feels like... well, you've got a pedal labelled go... and you go. The Ioniq 5 also has a pair of paddles behind the steering wheel that you can use to select regeneration levels, and bring the car to a stop with; but it's not the same at all.

Conclusion

This blog post has taken way too long to write -- it was originally titled "5000km without gas", and I started writing it around the 4000km mark...

In summary: Seems so far to be a great car, fulfilling all the things we had set out to get; as in most things these days it’s software that lets it down.

Good Information

I done goofed, and found this fantastic Edmonton based Jazz Band “Good Information” immediately after they played the Edmonton Jazz Festival, rather than before. So alas, I missed my opportunity to see them. Hopefully just for now.

Given them a listen:

Very excited to hear they’re putting together more music with an expected album this summer.

Crossing an AI Rubicon: Image Generation

(This is the second in a post series that starts here)

My story with Image Generation starts with DALL-E, and so I will start there. I then cover Stable Diffusion and Midjourney before heading into some thoughts — It’s hard to call what I have a conclusion, since I feel so utterly inconclusive about this technology. (Note: Many of the galleries below have captions and commentary)

DALL-E 2

A painting of single poplar tree in fall with leaves falling, lit just before golden hour, that evokes feelings of nostalgia and warmth. This was the prompt that gave me my first result from DALL-E that made me go "oh shit."

It's not a perfect painting; there's certainly some oddities… but this looked way better than it had any right to be.

How did I get here?

I was creating slides for my CMPUT 229 class, and I was discussing one of my favourite assembly mnemonics, eieio, which always puts the song "Old Macdonald" in my head. The slide was a bit barren, so I thought, it would be nice to have some art for this. I'd just been reading a bit about DALL-E, and so I signed up for an account, and after a bit of trial and error had an image I could use for my class.

“A fine art painting of a farmer holding a microprocessor"'

The experience of playing with DALL-E was interesting. The prompts they display on the front page are often very simple things, producing surprisingly coherent results. In reality, excellent results seem to take a bit more effort than the simple prompts they propose — that or this is a question of luck, and access to many many generations for the same prompt.

DALL-E intrigued me heavily, so I played with it, up to the limit provided by their free credits. If you’re even remotely interested in this stuff, I’d encourage you to play with this as well. Even if you find the whole idea viscerally upsetting, it’s worth playing to figure out the strengths and weaknesses — and to be sure, there are weaknesses.

Of course, I opened this post being impressed: There certainly were a few results I found impressive. Even in failure, DALL-E often produced images that were nevertheless aesthetically pleasing (for example, I quite like the failed John Constable painting above).

Unfortunately, the limited credits that came for free with DALL-E limited my ability to explore these systems. I sought out other choices, and the obvious next thing to explore was…

Stable Diffusion

Stable Diffusion is an image generation where the model has been released publicly; this has lead to a number of implementations of the algorithms and apps that have wrapped everything up making it possible to do local generation.

My experience with Stable Diffusion has largely been that the results are not quite up to par with what DALL-E can provide. Partially this is because the model is optimized for producing 512x512 images, where DALL-E does 1024x1024. But more generally I’ve found that prompts the produce lovely results in DALL-E don’t produce results nearly of the same quality with Stable Diffusion.

Having said that, the ability to iterate has been interesting. I’ve played with two wrappers around Stable Diffusion; DiffusionBee and Draw Things AI (very powerful, but I’m not going to lie, the interface is baffling), as well as a python library (the one that powers DiffusionBee I think?)

Perhaps the most interesting thing I’ve found with these tools is the ability to play with parameters. For example, you can use the randomness generation seed, but vary your prompt, to interesting effect:

Notice how the composition mostly stays the same; this is side effect of the same starting seed. Using a command line version of Stable Diffusion, I have done a bit of larger scale experimentation with prompt changing while holding the seed still, producing some interesting effects

“Still life of hydrangeas, artist born around X”, for X in [1400, 2025] in 25 year increments…

Another interesting parameter exposed by these tools is the “guidance” parameter, which as I understand it controls how much the model tries to take your prompt into account. Using 0 (don’t care about my prompt) has produced some wild images:

Midjourney

Midjourney is hard for me to write about, because I don’t understand it. It’s extremely clear they’re doing something clever, as Midjourney can often produce the most remarkable images from the simplest of prompts. Take a brief look through the Midjourney showcase, or look at these (deservedly!) New York Times Feature Article worthy images. Yet I have no idea how or why it works the way it does. I also find it painful to explore, as the interface (at least for free users) is a very noisy set of hundreds of channels on Discord; nothing like experimenting in public.

Despite the discomfort of working in public, it’s interesting to see what others produce. Some prompts are simple, some are complex, but I’m almost uniformly impressed by the results produced by Midjourney.

If I were an artist, Midjourney would be what scared me most — it’s clearly pulling modern styles from artists and reproducing them, sometimes with upsetting fidelity; showing Andrea the gallery and she said “it reminds me of my instagram feed”.

Someone described AI art as "discovery"; which does feel at least a bit apt; having said that, Midjourney has torqued itself incredibly to hit certain aesthetics with minimalist prompts.

Conclusions

It seems pretty clear that the ability to generate “good enough” art is going to have some very wide ranging impacts. As I said in my first post; the discussion of this is extremely challenging to separate from Capitalism. Some people are going to lose their jobs; more as these models get better. Will new jobs be created as a result? It seems to me that this is yet another automation that eliminates a class of jobs, making a smaller number of more valuable positions; another brick on the pedal of inequality.

I haven’t even touched on the questions of art and artistry here: Are the products of these systems art? Art prompt writers artists? Perhaps another post for another day…

Assorted Observations & Notes

  • My understanding of Stable Diffusion is that the model was trained on a data set released by LAION. There are a couple of tools to explore the data set used to train Stable Diffusion. I’ve played with this one, described here (note, there is NSFW content). Something that truly surprised me was the low quality of the captions. I had really expected that to provide good results the models would need excellent structured captions, yet it’s clearly not the case.

  • All these models thrive on the constraints provided by giving them an artist to ape. Looking at galleries of AI generated art, like the Midjourney Showcase and you’ll see a good number of the prompts including artists by name, sometimes many of them. For some reason “by Van Gogh” doesn’t nauseate me nearly the way “by Greg Rutkowski” does: this may just be the question of Capitalism again. There are already horrifying stories of models trained on single artists.

  • In a sense, my feelings about these programs are not directly affected by how they’re implemented; yet I find myself compelled to figure more out. I have only a rough understanding at the moment of how these systems are trained and deployed.

  • These models are far from the end of this work; Google has Imagen, Imagen Video, and Imagen Editor baking. Impressive results. The section on “Limitations and Societal Impact” is a worthwhile read: “There are several ethical challenges facing text-to-image research broadly. We offer a more detailed exploration of these challenges in our paper and offer a summarized version here. First, downstream applications of text-to-image models are varied and may impact society in complex ways. The potential risks of misuse raise concerns regarding responsible open-sourcing of code and demos. At this time we have decided not to release code or a public demo.”