Today I learned about Emacs’s table handling. Start with a mess:

| *Name* | *Type* | *Flavor* |
|--|--|--|
| Orange | Fruit | Orangeish |
| Water | Liquid | N/A |
| Pineapple | Armored fruit | Summer |

Run M-x table-recognize and press TAB. Now you have:

| *Name*    | *Type*        | *Flavor*  |
|-----------|---------------|-----------|
| Orange    | Fruit         | Orangeish |
| Water     | Liquid        | N/A       |
| Pineapple | Armored fruit | Summer    |

❤️

Literally every time I open the CA DMV digital drivers license app:

  1. “You need to refresh your license!” Fine.
  2. “To do that, you need to log back into the DMV website!” Alright.
  3. “Your password is expired. You need to update it!” Ugh, really, whatever.
  4. “System Unavailable”. throws phone

Every. Time. If I ever try to use this to board a flight, I’m so sorry for the people behind me in line that day.

If I bought this, “everyday" would mean “…for the rest of my life, and you’ll have to bury me in it.”

Picture of a normal-looking shirt:
&10;
&10;“Best everyday v-neck t-shirt
&10;
&10;$15,202 at its website
&10;
&10;Pros:
&10;
&10;+ Buttery soft fabric
&10;
&10;+ Has a hint of stretch to move freely
&10;
&10;Cons:
&10;
&10;x Not the most stylish pick”
&10;
&10;Not mentioned:
&10;
&10;+ Grants the ability to fly

Sometimes Rust makes me so happy. I wrote this over the weekend:

let embedded_data = include_bytes!("../static/data.bin");
let my_set: HashSet<&[u8]> = embedded_data[7..].chunks(10).collect();

It does this:

  1. Read a binary file and embed it in the final executable as an array of bytes.
  2. Create a HashSet (Python folks: a set() of items of a specific type) where each element is an array of bytes.
  3. Skip the first 7 bytes of the binary file using Python-like slice notation.
  4. Create an iterator that emits 10-byte portions of the rest of the file, one at a time.
  5. Collect all the values from that iterator into… oh!, a HashSet<&[u8]> because Rust can tell what the type of the target variable is, so why make me repeat myself?

Rust isn’t magic. Other languages can do similar things if you poke at them enough. It’s more that 2 lines of builtin Rust can readably implement a reasonably sophisticated set of operations that get compiled into a static executable. That’s a very pleasant combination of features.

Today’s spam starts:

How are you doing? I’ve been following you on LinkedIn for a while now and wanted to reach out to say that I absolutely love your background. I have a Business Opportunity that I would like to discuss with you for mutual benefit.

That’s a new one for me.

My wife took a vow to put up with me 25 years ago today. Since then, she’s been my ride-or-die best friend through our many grand adventures. We didn’t always know how they’d work out. We’ve always gotten through them together. I know there’s nothing too big for us to face side by side.

Here’s to the next 25, my love, and all the others after that.

Project dream 1:

  • Toss and turn all night, thinking of a million things to be done, going in deep to solve some hard problems.
  • Wake up and remember none of that exists. Relax. Laugh.

Project dream 2:

  • Same as above.
  • Remember, oh yes it does.
  • Desperately make notes before it goes all Xanadu to your Coleridge.
  • Sit in a cold, panicked sweat for a little while.

It’s been a long week already, it’s Tuesday, and I haven’t even returned to work yet.

We survived Def Con. Barely. It was about as much fun as I’m physically able to tolerate in 1 week. Highlights:

  • Meeting many online friends and finding out they’re all delightful in person.
  • Seeing it all through my first-time-attendee wife’s eyes as we meandered through it all.
  • Coordinating, conspiring, and scheming face-to-face.
  • Being on the team taking 2nd-place in the EFF Tech Trivia contest.
  • Oh yeah, the parties.

We’re both happy, grinning, utterly exhausted, energized, and ready for next year.