welp
@sunshowers.io
(gender)queer transsexual / they/them / eng @oxide.computer / atheist and scientific humanist / π¦ #rustlang / https://nexte.st / https://sunshowers.io also on mastodon: @rain@hachyderm.io / https://hachyderm.io/@rain
welp
Meet three scientists who said no to Epstein. The warning signs included a web search, a motherβs doubts, and inklings of a βsexist attitudeβ www.science.org/content/arti...
neat thing is, you can use them in both newtype and serde(with) modes
took some code I had sitting around and put it up on crates.io
as a high achiever type I remember the first time I ever got a C, in college. it was absolutely devastating for like 15 minutes then I started up Mass Effect and forgot about it lol
of all the shit happening in the world right now, the lumbering mammoth reconfiguration of the world's economy because of a -15% drop in crude oil supply is scary as fuck dude
Arnab (Indian Tucker Carlson) is comparing Hegseth to Goering LMAO
It is kind of wild how people think they know more about how to write a font rendering library than Behdad fucking Esfahbod. Severe case of Dunning-Kruger
Weβre going to build the hyperreal simulacrum so much, you may even get tired of the simulacrum! Youβre going to say βPlease Mr. Baudrillard, I have a headache. Please, donβt simulate so much. This is getting terrible.β And Iβm going to say βNo, we have to build the hyperreal simulacrum.β Youβre gonna say βPlease.β I said βNope, nope. Weβre gonna keep building the simulacrum.β
π
## Source control * Use **Jujutsu (`jj`)** for all source control operations. * **Never** use `jj edit`. Always use `jj new`. * **Never** squash unless explicitly instructed. The human must review all changes before squashing. * When viewing diffs, use `jj diff --git` for git-style diffs or `jj diff --stat` for summary diffs. Plain `jj diff` is misleading without color.
the sum total of my instructions. claude uses jj all the time now
## Source control * Use **Jujutsu (`jj`)** for all source control operations. * **Never** use `jj edit`. Always use `jj new`. * **Never** squash unless explicitly instructed. The human must review all changes before squashing. * When viewing diffs, use `jj diff --git` for git-style diffs or `jj diff --stat` for summary diffs. Plain `jj diff` is misleading without color.
the sum total of my instructions. claude uses jj all the time now
Loving the per-key RGB firmware branch on my Glove80
this kind of thing is why nextest feels so nice to use. there was a lot of code typing involved in it
internally, this is modeled as a ladder of severities. you can go up the ladder but not down. there's an M x N matrix of (current state, event). there's also a decision table of whether output should be shown after cancellations (nextest hides output after a ctrl-c, but not after a SIGTERM)
oh another one. cancelling runs:
* a test fails and --no-fail-fast isn't passed in
* the user hits ctrl-c (waits for running tests to exit but doesn't schedule new ones)
* (on unix) nextest receives a SIGTERM etc
* second ctrl-c because a test is stuck
* third ctrl-c because nextest is stuck
Come work with me!
We now have an open position to join my team @oxide.computer.
Feel free to reach out if you have any questions.
I think so, the real skills have always been in understanding what to make and how to make it. Serious explorations tend to involve a lot of considered and rejected alternatives, whether in your head, on paper, or as code
every single one of these possibilities happens in practice. every single one is modeled as an independent struct field or enum variant. this is why nextest can produce so many helpful messages
I do all this without complaining because that is what my users deserve
with nextest, a test can:
* succeed
* fail
* leak handles and succeed
* leak handles and fail
* fail because it leaked handles
* be slow
* time out
* fail to be started
* abort with a Unix signal
* abort with a Windows error code
* have an I/O error reading output
* be cancelled
* be retried
if you don't believe typing out code is a time sink, you're probably doing less of this kind of domain modeling than your users deserve
Writing out a universe of structs and enums to handle every single domain possibility is not automatable in any deterministic fashion. it is very high value work, because it results in nextest feeling so nice to use. it is also incredibly time consuming. I welcome any assistance in that process
in cargo-nextest I've written > 5k lines of error and event type definitions by hand β just struct and enum definitions, zero functional code. no shortcuts, just a lot of patient modeling of every single possibility. Claude makes this way more tractable and pleasant to do
* people are talking past each other in a way that is very incurious
* curiosity is one of the most distinctive parts of humanity and a primary driver of human progress
* typing out code is definitely one of several time sinks, if you take your job seriously and spend a lot of time exploring options
* it is not the only time sink, but it is one
* claude can help explore a design space in a less committal fashion
* this makes the harder parts of eng more tractable
Constraint satisfaction
It's out! jj 0.39.0! today! now! RIGHT NOW!!! github.com/jj-vcs/jj/re...
Marc Andreesen said on a podcast that there was no point being a socially responsible wealthy person anymore because βthe bargainβ had been broken and you would be criticized no matter what, because he melted his brain following random Twitter accounts (he followed me for a bit). Too big a risk!
Yeah like to put things in perspective, the damage done by Sergey Brinβs ex-wife single handedly funding large segments of the anti-vax movement probably undid shitloads of positive public health work done through philanthropy. The ability to use that money for evil shit is just far greater.
hate it here. oakland is NOT part of silicon valley