Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

cliffle

@cliffle@hachyderm.io
mastodon 4.7.3
  • Open on hachyderm.io

Chaotic good artificer/ranger, sending you drive-by bugfix pull requests while sitting in a tree in the middle of nowhere.

My psych degree hasn't stopped me from regularly getting nerd-sniped into writing operating systems.

Making reliable things from unreliable parts, currently at Oxide Computer, previously Loon/GoogleX, NativeClient, etc

bad at (but occasionally posting in): español, (简体)中文, nederlands

he/him - Berkeley, CA

2149 Followers
87 Following
50 Posts
Joined November 15, 2022
Webbywebs:
https://cliffle.com/
Codes:
https://github.com/cbiffle
Embedded widgets for sale:
https://www.lectronz.com/stores/owl-lol
Heading photo alt text:
A photo of me as a 10-year-old leaning against a sign that reads Dangerous Cliff
Open post
cliffle @cliffle@hachyderm.io
· 2d ago

I feel like Bryan's blog post buries the lede a little bit here with its choice of headline -- yeah Oxide took more money, but, the important thing is why:

We've been quietly profitable since the start of the year and have been receiving more orders than we can fill.

In this current economy of "give me more money so I can light it on fire" and companies filing to IPO proud to spend $3 to make $1, it's nice to be able to tell investors "if you give us some more money, we will make it a larger number in the near future."

https://oxide.computer/blog/our-445m-series-d

Our $445M Series D | Oxide Computer Company
Oxide Computer Company

Our $445M Series D | Oxide Computer Company

Our Series D round of financing.

28
3
4
0
Open post
cliffle @cliffle@hachyderm.io
· 2d ago

In honor of Spooky Season, a PicoCalc horror vignette!

"Oh I see you've got a graphics thing running on your PicoCalc, let me just ... oh ... oh no ... WHERE IS ITS BRAIN‽ YOU MONSTER 😱"

(I thought it would be a nice body for my Forth machine, so I'm prototyping before building a Pico-sized module)

16
0
3
0
Open post
cliffle @cliffle@hachyderm.io
· 3d ago

RE: https://nondeterministic.computer/@mjg59/117406074421025473

This is a great thread on the complexity of secure hibernate.

I think a lot of people have a habit of looking at secure boot and these defenses as being anti user. They're not. We really need to rename userland.

Userland is where every website runs. The kernel is the program that you, the user, use to defend yourself from userland. Secure boot ensures it isn't subverted against your will.

Nondeterministic Computer

Matthew Garrett (@mjg59@nondeterministic.computer)

Brief intro into why hibernate support is disabled On Linux when secure boot is enabled! The goal of secure boot is to prevent malware from getting into your kernel, by performing cryptographic validation of the bootloader and kernel during the boot process. If malware tampers with that (and it does! Search for "bootkits") then secure boot ensures that the boot fails and you can fall back to good components instead.

20
1
4
0
Open post
cliffle @cliffle@hachyderm.io
· 1mo ago
Boosted by @trending@homestead.social
Physical therapist: "Do you have any resistance bands at home?" Me: "Are you thinking more Rage Against The Machine, or, like, Woody Guthrie?" Physical therapist: 😑
973
22
419
3
Open post
cliffle @cliffle@hachyderm.io
· 3d ago

I'm not sure which of you needs to hear this, but:

lrzsz-sx has at some point started defaulting to YMODEM. You have to add -X to get actual OG XMODEM.

Yeah, no idea. But that's why your firmware transfer is failing.

7
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2d ago

Any KiCad 10 users out there who can tell me why pressing a key repeatedly, fast, only recognizes the first press until a delay elapses?

(Edit: I appear to have gotten 10.0.5 which has an input bug! Thanks @remmy@social.treehouse.systems )

Like, open schematic, select item, start moving, then press R-R-R to rotate it three times... it rotates only once if you press too quickly. Some kind of type-ahead search in the hotkey mechanism maybe?

The part that really bothers me is that this affects cursor keys, when nudging things around manually. Have to press. them. slowly.

(answers to some of the likely questions in the replies)

#kicad

3
3
4
0
Open post
cliffle @cliffle@hachyderm.io
· 5d ago

Been letting my Mandarin lapse this year, but, it appears I remember how to say "I don't eat beef" intelligibly 👍

(Trying a new knife cut noodle place, around here they're often from Chengdu and put beef in everything)

2
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
My partner's been running a D&D campaign for our friend group for ~4 years now. A plot point had us moving 38 years forward in time (fae stuff). So obviously she's worked out the inflation rate and redone the equipment cost lists.
41
2
11
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@mxshift@social.treehouse.systems @wez@social.treehouse.systems and it doesn't help, IMO, that code review has never been the fun part. It's way more cognitively draining, at least for me, to pick over code with a fine toothed comb looking for issues, instead of creating something. This is why I like review systems that emphasize trust and accountability -- like, "oh, Rick wrote this, I'm going to check that it reads well and make sure I don't see a much simpler option, but I don't need to go full Reflections On Trusting Trust." But without a person, I don't know how to achieve trust and accountability, so every review has to be on max settings.
56
3
17
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago

I am bewildered and disappointed to report that Android's onboard emoji search stops working if you have a flaky Internet connection.

Meaning, it is not local.

Meaning, they're going out to the goddamn Internet to see if any of O(1000) records match the word "fish."

I can't even.

25
4
3
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago

Kinda want to write a bot that just replies to any really long, unsolicited, probably-LLM-generated pull request with this picture of me at, like, five

19
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 3w ago
Replying to
@ekuber@hachyderm.io ideally OCaml over Haskell -- Haskell experience tends to make people want to aggressively overgeneralize things, like defining algorithms in terms of very abstract Monad/Monoid typeclasess that are hard to express well in Rust.
3
3
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago

In the early 90s, PKWare offered their Data Compression Library as a way to put basic compression into other applications. It uses a different algorithm from PKZIP. I encountered it because it's used by the proprietary recipe program that my mom used, and I've been recovering her database.

Turns out it's had an input-controlled buffer overrun since, well, forever! The library itself won't produce streams with the property required to trigger it, but it also doesn't defend against them.

But, because of the specifics of how its structs are laid out, it's probably not usefully exploitable. (The overrun stomps on a section of the input buffer that isn't likely to be used again.)

9
1
1
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Me: "By ensuring that illegal states can't be represented and expressing the logic as a total function, we can easily reason about what the computer can and cannot do when it hits this point." The rest of my industry, sometimes: "Please. I beg you. Stop producing output about goblins. You are supposed to produce code. Why are there goblins." https://arstechnica.com/ai/2026/04/openai-codex-system-prompt-includes-explicit-directive-to-never-talk-about-goblins/
OpenAI Codex system prompt includes explicit directive to "never talk about goblins"
Ars Technica

OpenAI Codex system prompt includes explicit directive to "never talk about goblins"

Directions also include system instructions to act like "you have a vivid inner life."

41
5
17
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago

RE: https://hachyderm.io/@mjk/117044034810143202

"Why do they need to keep raising money?" ask the commenters.

Ah, I see you're from software!

Hachyderm.io

Matt Keeter (@mjk@hachyderm.io)

congrats to the HN commentariat for having an entire thread about Oxide without mentioning the compensation model I thought I'd never see the day 🥲 https://news.ycombinator.com/item?id=49174407

7
2
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@soatok@furry.engineer so I guess the question becomes: Is Alan Turing fan fiction... Turing-complete?
11
0
3
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Since Rust still doesn't implement Default for [u8; 2048], I find myself pulling in the (fantastic) zerocopy crate just to get new_zeroed. Because zerocopy::FromZeroes is _absolutely_ implemented for arrays of all sizes, unlike Default.
6
4
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@petrillic@hachyderm.io Me, 2006: oh man leaving this industry means I'll never have to sftp a pgp'd fixed format ebcdic record file again Me, 2026: y'know actually
7
5
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@rmi@cloudisland.nz I was delighted to see that quoted, I knew both Ka-Ping Yee and Mark S Miller from security work at Google. Terrifying, isn't it? Code review won't save us.
3
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago

An oldie but a goodie: https://existentialcomics.com/comic/259

Good thing this is purely a thought experiment, right?

...right?

A Dialogue on Freedom
existentialcomics.com

A Dialogue on Freedom

A philosophy webcomic about the inevitable anguish of living a brief life in an absurd world. Also Jokes

8
0
1
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@knickish@hachyderm.io @penguin42@mastodon.org.uk close -- a lot of older standard library traits aren't implemented for arbitrary arrays, because the ability to express... impl MyTrait for [T; N] was stabilized ~5 years after Rust 1.0, and sneaking such an impl in for old traits has backwards compatibility concerns. I've paged out the details beyond that. But those back-compat concerns don't affect non-std crates like zerocopy that are willing to ship breaking changes.
2
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 3mo ago
Replying to
Probably the closest thing to a "pre-processing" step right now is: there are a few institutions who only let me download monthly data in PDF format. (Looking at you, Betterment.) I use the standard-ish Unix pdftotext tool to convert these into text files, and then parse them with an annoying-to-maintain PEG grammar. But I don't want to depend on tools like that being in the path, _or_ on their output being stable, so I do the conversion to text when the PDF file appears and then check it into the repo alongside the original PDF (in case I need to regenerate it due to a bug). ...also I don't necessarily recommend parsing statement PDFs. Sometimes they change arbitrarily. Betterment used to provide CSV and I just haven't had the spoons to migrate away yet.
3
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
For whatever reason, adding emoji output to command line tools makes me very happy. The column on the left gives the number of potentially legal guesses at each step; the emoji next to that is the confidence indicator.
8
2
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago

Well, Tindie has been back up for a few days but is still refusing to pay out money owed, so... I've set all my products to 0-in-stock and attempted to redirect buyers to my Lectronz storefront.

Amusingly, they won't let me set my store banner message to include a Lectronz URL. I bet it blocks any URL, but, given how much trust they've squandered, this isn't a great look.

#tindie

7
0
2
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
twice
7
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Of Helix's various quirks and limitations, I think its incredibly low key "lol I decided not to save even though you just asked me to" warning on the very bottom line of the screen is the one that messes me up the most.
6
5
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago

RE: https://mastodon.social/@grimalkina/116477568123660243

I'm excited to read this. You might be too.

Mastodon

Cat Hicks (@grimalkina@mastodon.social)

And was just reminded to post this, lol, here's my book!!! The Psychology of Software Teams, it's coming out in July, you can already pre-order it at some online retailers, and it has a WHOLE CHAPTER on "The Performance Paradox" to help you become a *resilient* high performer :) https://www.routledge.com/The-Psychology-of-Software-Teams/Hicks/p/book/9781032963389

6
0
2
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
Alright, this thing is doing too good and might need to be put down for safety. 🟨⬜🟨⬜🟩 slate ⬜🟨⬜🟨⬜ nairu 🟩🟩🟩🟩🟩 arose
5
4
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
heheheheh Had a flash of insight and added a search algorithm that is willing to break previously-learned constraints. This is something I see advanced human players (like my partner) do. So now it is doing things like ⬜⬜🟩⬜⬜ slate ⬜🟩⬜⬜⬜ brick 🟨⬜🟨🟨🟨 donga 🟩🟩🟩🟩🟩 grand and ⬜⬜⬜⬜🟩 slate 🟨🟨⬜⬜⬜ ruing 🟩🟩🟩🟩🟩 crude
5
9
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
Turns out, an "endgame" heuristic I had put into place was misfiring and causing the solver to avoid potentially-impossible choices (when I had intended it to only avoid them in the last guess). Fixed: ⬜⬜⬜🟨⬜ slate → 271 left ⬜⬜⬜⬜🟨 point → 15 left ⬜⬜🟨🟨🟩 mouth → 5 left 🟨⬜⬜⬜🟨 caked → 1 left 🟩🟩🟩🟩🟩 dutch (CAKED in guess 4 is not a possible solution to the puzzle, which was shown in guess 1 to not contain A or E. But, it precisely disambiguates between the 5 possible remaining choices.) The overall solve rate is now 99.6%, missing only: baker bezel biddy boxer dolly ferry roger rower taffy
4
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
Alright, we are starting to see press discussion of this "scheduled outage" 🤡 https://www.hackster.io/news/supplyframe-sells-tindie-now-in-its-second-week-of-site-outage-to-parties-unknown-17603dfb88b9
Supplyframe Sells Tindie, Now in Its Second Week of Site Outage, to Parties Unknown
Hackster.io

Supplyframe Sells Tindie, Now in Its Second Week of Site Outage, to Parties Unknown

Radio silence from owners both new and old has Tindie's users worried, but its social media manager promises good things are coming.

4
0
1
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
Choosing one of those words that I'm familiar with (DUTCH) and checking the output caused me to notice something. ⬜⬜⬜🟨⬜ slate ⬜⬜⬜⬜🟨 point ⬜⬜🟨🟨🟩 mouth ⬜🟩🟩🟩🟩 cutch ⬜🟩🟩🟩🟩 kutch ⬜🟩🟩🟩🟩 butch After MOUTH it's got a set of _UTCH words. Normally when the remaining possibilities differ in one letter position, you want to find a word that is a legal guess and contains as many of those letters as possible, even if it can't be a valid guess. Instead it's iterating through each possibility, which is how you run out of turns.
3
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 3mo ago
Replying to

@mrtazz@chaos.social yeah, if I'm being honest, I mostly maintain my own accounting software for emotional reasons.

  1. It's kind of fun.
  2. It helps me have a sense of control in an area (finances) where I'm prone to anxiety.
  3. Because of that anxiety, it's pretty easy to knock me off my rhythm of keeping my financial data off to date, so it's nice to know that the tools will only change when I change them.
1
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
@petrillic this is approximately how the site would behave if the "new owners" were ransomware.
2
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
@CosmicHorror huh, I hadn't noticed that, believe it or not. It's a side effect of the search strategy that I didn't explicitly design for. 😆
2
0
1
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
*deep breath* bezel biddy bobby boozy boxer bunny cello corer daunt dolly drown dutch eking erode excel ferry goofy hatch heist hippy hunky hutch jaunt jazzy jumpy kitty leggy nanny patch pinky pound pupal pushy roger rower sassy scram taffy taker tatty tight willy woozy
1
2
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
@joe @dysfun hmmmm Helix does appear to allow undo across reload. I feel like it didn't in the past, but maybe I was holding it wrong. So that's something.
1
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
Update: Tindie worked for long enough that I was able to fill my order. What does not work, however, is disbursement. So Tindie's just holding my money. How long? Well, they say "ASAP," but they also said this was a scheduled outage. So.
1
1
1
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
@gray17 From the description of hard mode I just found online, I think switching this solver between normal and hard is ~1 line of code. (Just changes whether it can pull choices out of its arse, or whether it has to work with the non-eliminated option set per the current green/yellow tiles.)
1
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
Replying to
@soatok@furry.engineer ...that does not appear to be the consensus answer from the poll
0
4
0
0
Open post
cliffle @cliffle@hachyderm.io
· 5mo ago
Replying to
@galaxis I had not, because Tindie are not actually emailing anyone or explaining wtf is going on.
0
0
0
0
Open post
cliffle @cliffle@hachyderm.io
· 3mo ago
Replying to
@mere@infosec.exchange well it sounds like we should keep in touch! 😄 I took a look at the format last night, the best reference I could find was actually hledger's docs: https://hledger.org/1.52/hledger.html#journal-cheatsheet It seems pretty reasonable, and in a lot of ways cleaner than what I've got. It also has a _lot_ of features, far more than I currently support. (In particular I don't support multiple currencies or cost-basis tracking.) But a subset of it might be useful! It sounds like the Ledger family of tools is based on a model of taking a source file, like a CSV, and importing it by modifying a journal file (in Ledger's format), so that you can assign transactions to accounts and add tags and stuff. That's reasonable! But I'm doing something a little bit different: I'm trying to check in the exact files from banks or credit cards or whatever, unmodified, and use them as the source material without duplicating their contents anywhere. So I have sidecar files to add metadata, but the CSV/XLS/PDF/QDF file is always the source of truth. Is this a good idea? I don't know! It's been working for me so far, but wanting to do this is why I haven't seriously attempted using any of the PTA-family of tools. No shade, they seem great.
hledger.org

hledger manual (1.52) - hledger

plain text accounting, made easy

0
1
0
0
Open post
cliffle @cliffle@hachyderm.io
· 2mo ago
This post captures a lot of my discomfort with generating code using LLMs: you might review it today, but so far everyone I know stops reviewing it eventually. https://dustycloud.org/blog/faulty-towers-vibe-sickness-and-the-vibe-bobsled/ Seriously considering dusting off my degree, I could start being useful in about two years of school plus supervision.
dustycloud.org

Faulty Towers, vibe sickness, and the vibe bobsled -- Dustycloud Brainstorms

0
6
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Pricing
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 23:43:23 UTC