Graham Christensen Profile Banner
Graham Christensen Profile
Graham Christensen

@grhmc

5,058
Followers
1,376
Following
260
Media
4,342
Statuses

Realizing Nix's future with flakes with , at @DeterminateSys . he/him. 📻 NO5IG

Berkshire County, MA
Joined May 2007
Don't wanna be here? Send us removal request.
@grhmc
Graham Christensen
16 days
My neck. My back.
@al3rez
Alireza Bashiri
17 days
What stops you from working 4 hours straight in a coffee shop?
Tweet media one
2K
108
3K
19
133
3K
@grhmc
Graham Christensen
1 year
Every so often I remember shell’s line-continuation character “\” is “just” escaping the newline that comes next in the bytes and I lose some brain cells.
33
78
818
@grhmc
Graham Christensen
5 months
average rust developer reading the average blog post about base64 in rust
Tweet media one
6
44
517
@grhmc
Graham Christensen
2 months
ceiling is being raised. cursor's copilot helped us write "superhuman code" for a critical feature. We can read this code, but VERY few engineers out there could write it from scratch.
Tweet media one
14
32
286
@grhmc
Graham Christensen
4 months
Meet Io.
Tweet media one
37
1
221
@grhmc
Graham Christensen
7 months
Question for men: I recently found out that some men think about broken dependencies at least once a day. Like a library that changed its api. Or a program, broken on Apple Silicon. Menfolk, do you all do this?
24
15
214
@grhmc
Graham Christensen
1 month
Incredible. And by pure luck, NixOS isn’t vulnerable.
@Dixie3Flatline
Kat 2fragz Cosgrove
1 month
xz/liblzma appears to include a backdoor that allows for SSH server compromise yike
2
27
142
8
13
203
@grhmc
Graham Christensen
1 month
for all the trans women in Rust, you'd think there'd be a little less <T>
5
19
202
@grhmc
Graham Christensen
8 months
When is someone going to deliver what everyone wants, and make sqlite a column type in postgres?
13
18
201
@grhmc
Graham Christensen
6 months
What's the catch with Amazon Coupons? Why do I need to tick this box to get $5 off, what am I giving up? In what way is this customer-obsessed?
Tweet media one
16
3
191
@grhmc
Graham Christensen
4 months
One of my favorite feature requests ever reported: closing multiple blocks by repeating “n” in end. Like ennnnnd.
@grhmc
Graham Christensen
4 months
2
2
44
8
20
174
@grhmc
Graham Christensen
8 months
This step of installing Ubuntu Server is slick.
Tweet media one
6
10
157
@grhmc
Graham Christensen
11 months
Thinking about that time NixOS was accidentally creating multi-megabyte shebangs: In one case I saw, the shebang was 35 megabytes due to some funny quadratic behavior.
5
18
152
@grhmc
Graham Christensen
5 months
As a younger engineer who’d just read Clean Code, I distinctly remember a point where I was afraid to have code that did the interesting thing. I’d tie myself in knots of ceremony and bullshit to avoid the part that was important and valuable. Tasteless.
5
13
150
@grhmc
Graham Christensen
1 year
More FOSS software should have telemetry. The developers of that software should feel free to make opinionated choices based on that information to make their software better.
9
14
148
@grhmc
Graham Christensen
10 months
@Venusonfire1 @hankgreen I agree. That’s why I recommend planning (and implementing) the deaths of your loved ones: so you can book a seat next to each other.
1
0
147
@grhmc
Graham Christensen
11 months
@EoinHiggins_ Unfortunately I didn’t get him to bite.
1
0
139
@grhmc
Graham Christensen
4 months
Desktop security is decades behind.
@sweis
Steve Weis
4 months
This iMessage exploit is crazy. TrueType vulnerability that has existed since the 90s, 2 kernel exploits, a browser exploit, and an undocumented hardware feature that was not used in shipped software:
Tweet media one
74
1K
6K
4
5
134
@grhmc
Graham Christensen
6 months
I’ve unfortunately become the guy who writes “what we deliver ➡️ value” on a whiteboard as if it means something. Is the Patagonia vest automatically delivered or do I have to order it?
Tweet media one
16
3
127
@grhmc
Graham Christensen
7 months
I finally did it: I migrated back from Hey to Fastmail. If you were wondering how confident I was in Hey: I never stopped paying for Fastmail.
4
2
117
@grhmc
Graham Christensen
1 year
`hostname` is a relatively straightforward program without specific performance requirements. And yet it’s source code is a terror. Y’all, we’ve learned things since the old days. We probably SHOULD be replacing the old because it is old.
7
2
112
@grhmc
Graham Christensen
1 month
@aarondfrancis Buy fewer candles and avocado toast (sigh.)
1
0
107
@grhmc
Graham Christensen
8 months
@nixos_org This seems a bit reactionary without a policy of how to handle sponsorships. Anduril isn’t going to stop using nixos, and sponsorship presumably doesn’t shape the agenda of the foundation or community. Why shouldn’t they be allowed to be sponsors?
3
0
108
@grhmc
Graham Christensen
2 months
@jamonholmgren This y looks like it is ready (even begging…) for new components to be slotted in. The old one didn’t have design room for additional components.
2
3
104
@grhmc
Graham Christensen
2 months
@avaitopiper No. Cookies are limited to 4kb. Probably local storage for offline support.
2
2
104
@grhmc
Graham Christensen
6 months
Computer people love to setup a fancy mic + boom setup to sound as good as possible, but has anyone considered it'd be more aesthetic and based to sound worse?
Tweet media one
9
9
100
@grhmc
Graham Christensen
1 month
Tweet media one
@esrtweet
Eric S. Raymond
1 month
An observation I left out of my earlier thread on the xz back door: Autotools. Must. Die. The complexity and obscurity of autotools build recipes was essential to the way the malicious code was concealed and inserted in the release tarball.
40
202
2K
4
8
101
@grhmc
Graham Christensen
1 year
It is over for this place. Bsky's first discourse and main character is so overwhelmingly unhinged and top tier, this place cannot possibly keep up. Way to go, @IanColdwater .
3
1
100
@grhmc
Graham Christensen
6 months
@gcouprie Someone should really make a crate for this so we don't need so much code duplication.
5
0
98
@grhmc
Graham Christensen
2 months
@fasterthanlime as with all questions of this shape, you don’t want to know
1
3
94
@grhmc
Graham Christensen
2 months
A surreal experience: Opening a brand new Mac straight from Apple, logging in, and seeing Nix already installed. MDM + the Determinate Nix Installer for macOS is brilliant.
6
6
94
@grhmc
Graham Christensen
4 months
@SwiftOnSecurity Another thing: everything is 2-3x more expensive when it’s 19” wide. And the form factor actually sucks badly for at home use cases unless you truly have A Lot of hardware and are going to overpay for a bunch of shelves and whatnot.
7
0
92
@grhmc
Graham Christensen
10 months
I see no reason C++ shouldn't make ` ` (a space) an overridable operator.
@Lucretiel
Lucretiel 🦀
10 months
It’s me, I’ve overloaded the comma operator. It’s one of the worst crimes I’ve ever committed. I embedded an entire lisp directly into C++ syntax by using an overloaded comma to assemble s-exprs.
12
25
372
7
4
88
@grhmc
Graham Christensen
11 months
I love nix + rust + for how quickly I can make and iterate on a prototype service doing complicated things against AWS. Two hours and my non-trivial prototype is done.
2
4
85
@grhmc
Graham Christensen
10 months
@Venusonfire1 @hankgreen They blocked me! I didn’t even ask to swap seats!
0
0
84
@grhmc
Graham Christensen
1 month
Popular opinion: now’s the time for heather adkins to open their wallet.
@argvee
Heather Adkins - Ꜻ - Spes consilium non est
1 month
Unpopular opinion: now's the time for us to get serious about measuring open-source projects using SLSA, and getting everyone to Level 4 with mandatory 2-party code reviews.
18
18
98
2
5
80
@grhmc
Graham Christensen
11 months
Integrating OIDC to verify a request came from a trusted GitHub action run was so easy, it should be table stakes for CI integration tools.
4
9
79
@grhmc
Graham Christensen
2 months
@bdowney @Max_Somerset @jdcmedlock @William48759211 It may be some random person putting it up. It isn’t hard to make signs like this.
2
0
79
@grhmc
Graham Christensen
6 months
hey so is this anything? Get in my @'s if you have any opinions.
Tweet media one
23
3
76
@grhmc
Graham Christensen
5 months
I think this is like @Tailscale 's "A frustratingly simple VPN."
Tweet media one
1
3
78
@grhmc
Graham Christensen
10 months
@NotABigJerk It took me a solid minute to realize he wasn’t being earnest. What a guy.
0
0
74
@grhmc
Graham Christensen
4 months
Nix, duh.
@ccccjjjjeeee
Christopher Ehrlich
4 months
Which technology is this?
Tweet media one
893
71
1K
3
1
75
@grhmc
Graham Christensen
7 months
Folks: Apple's cables are a blatant money-grab Apple:
@JonBruner
Jon Bruner
7 months
The cable is a work of art. 20 separate wires, 10 of them coaxially shielded. The wires and their shields are soldered to the PCBA separately. It’s all protected by a strain-relief fitting that’s crimped in from 8 directions.
Tweet media one
Tweet media two
Tweet media three
8
49
1K
1
6
72
@grhmc
Graham Christensen
4 months
Happy Christmas to the fellow Santa’s out there.
Tweet media one
2
1
72
@grhmc
Graham Christensen
10 months
My father-in-law is a mechanic. He is insanely gifted. We were in a shop together years ago and I asked him what it would cost to build it today. I will never forget his answer… “We can’t, we don’t know how to do it.”
Tweet media one
8
0
68
@grhmc
Graham Christensen
6 months
I'm surprised that a member of the Nix team -- ostensibly aligned on the adoption and stabilization of flakes -- is part of an effort to move away from Flakes in NixOS projects:
11
0
62
@grhmc
Graham Christensen
8 months
understandable. understandable.
Tweet media one
4
0
63
@grhmc
Graham Christensen
6 months
Today I have written: * Nix * Rust * Go * C++ * Typescript * Bash * Emails some days just tickle the brain in all the right ways.
7
0
62
@grhmc
Graham Christensen
1 year
Follow me for more takes on shells, why I adore them, and am simultaneously repulsed. Horrendous but I can’t stop loving it.
1
0
63
@grhmc
Graham Christensen
8 months
@luciascarlet Honestly, bootstrap was such an important thing for the world. It helped so many places make “pretty ok” pages when they’d have done something insanely bad left to their own devices.
0
1
57
@grhmc
Graham Christensen
1 year
`ps` should fit in a tweet PID COMMAND 1 init 141 systemd-journald 144 systemd-udevd 150 systemd-resolved 164 agent 219 \_ ps xf 182 systemd-logind 184 systemd-networkd 188 dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
6
0
54
@grhmc
Graham Christensen
4 months
Aws for S3 + cloudfront, for everything else.
@ibuildthecloud
Darren Shepherd
5 months
I've been using AWS a lot over the last year and I'm not kidding, we've hit peak AWS and it's essential for the industry to start a "post AWS" phase. It's required for us to continue to innovate.
20
19
205
6
3
53
@grhmc
Graham Christensen
4 months
@nolanmilnes @jes5199 @flarn2006 Not entirely a coincidence …
0
0
53
@grhmc
Graham Christensen
1 year
It is wild how quickly writing a set of GitHub Action workflows goes from "eh, it's fine" to a personal hell.
7
2
54
@grhmc
Graham Christensen
11 months
Got something sick working tonight: 30-50% faster CI runs for #nix on GitHub actions with 1 line of yaml, for free.
3
2
53
@grhmc
Graham Christensen
10 months
My father-in-law is a senior principal engineer to the CTO. He is insanely gifted. We were together years ago and I asked him what it would cost to build their stack again today. I will never forget his answer… “We can’t, we don’t know how to do it.” Should have used Nix imho.
0
3
52
@grhmc
Graham Christensen
8 months
"The life-changing magic of using bigger GitHub Actions runners" This one-line diff + configuring it in the web UI cut the deploy time from 18 to 2 minutes: - runs-on: ubuntu-22.04 + runs-on: UbuntuLatest32Cores128G
6
3
51
@grhmc
Graham Christensen
6 months
It's hard to believe we hit 1,000,000 Nix installs. By the looks of it, we'll be at 2,000,000 before we know it.
@DeterminateSys
Determinate Systems
6 months
A million Nix installations ago, we ditched Bash and debuted the Determinate Nix Installer — written in Rust for maintainability and reliability. To celebrate installing Nix over a million times, we looked at some lessons we've learned along the way.
Tweet media one
3
12
100
2
5
51
@grhmc
Graham Christensen
11 months
"As usual the upgrade was infinitely less painful than any other distro." #NixOS
6
5
50
@grhmc
Graham Christensen
10 months
Last year we adopted the “one sentence per line” coding standard and I gotta say, it’s a great one.
5
2
50
@grhmc
Graham Christensen
2 months
For all the discussion about if Anduril is welcome or not welcome to NixCon, there exists a fundamental misunderstanding: Anduril is part of the Nix community by virtue of using and contributing to Nix.
6
3
49
@grhmc
Graham Christensen
6 months
Getting macOS code signing, installer signing, and notarization / stapling working in CI was a bear but we got it going! Can’t wait to get this installer into more users’ hands. If you want to securely deploy Nix to macOS, come beta test it? 🙏
7
11
49
@grhmc
Graham Christensen
7 months
After this tweet the networking team had Twitter taken away and nobody ever saw them again.
@AS36459
GitHub Network Ops
2 years
a little something we have in the works
Tweet media one
28
73
358
1
6
49
@grhmc
Graham Christensen
1 month
Tweet media one
3
1
49
@grhmc
Graham Christensen
10 months
I find it very concerning that @GitHub disappears users and their important contribution history without notice. Most recently, @joepie91 . To me, this raises great concerns for the longevity of important history of open source software projects.
8
10
47
@grhmc
Graham Christensen
10 months
Perpetual respect for the Rust ecosystem writing crates like url::Url which takes the time to implement Origin () which takes the care to have both serializations (ascii_serialization, unicode_serialization) unambiguously helping me be do the right thing.
2
3
48
@grhmc
Graham Christensen
5 months
100% of software is just a fancy replacement for somebody’s lookup table.
@leostera
Leandro
5 months
80% of types are just a fancy replacement of somebody's if (x != null)
8
0
41
3
1
47
@grhmc
Graham Christensen
6 months
@ChShersh I care about delivering value to users and customers.
1
0
47
@grhmc
Graham Christensen
8 months
@neysofu Luckily folks on my team get paid a bit more than $7/h, so I think it’ll pay off.
1
1
46
@grhmc
Graham Christensen
1 year
A lot of FOSS users have libertarian leaning values around software. As a FOSS user, I’m kind of tired of it. Get that telemetry! Make your stuff better! Compete on more equal footing with well funded proprietary software which surely has good data! (Or don’t, it’s your project.)
1
2
45
@grhmc
Graham Christensen
9 months
Today's launch was fantastic, better than I'd imagined. I couldn't be more proud of my team today -- and we've got more coming. Flakes just keep getting hotter and better and we're here to get it done.
4
5
46
@grhmc
Graham Christensen
5 months
@KaliszAd Just the absolutely stunning and brilliant good work from @DrawsMiguel :
1
3
45
@grhmc
Graham Christensen
11 months
It’s a problem that building an OS / bootable image is slow. Slow enough we added containers on top without really solving the lower level. Part of the problem is gatekeeping what is inside the OS, leading to too much of the wrong thing — no matter who you are.
4
5
45
@grhmc
Graham Christensen
4 months
2
2
44
@grhmc
Graham Christensen
8 months
Anyone else drop a quadratic loop into some code and mutter "I'll see you later..." optimistically hoping it becomes a good problem?
7
1
44
@grhmc
Graham Christensen
5 months
I was reluctant to post this, but in the end my resistance was low.
Tweet media one
9
0
43
@grhmc
Graham Christensen
8 months
Some exhausted post-NixCon cabin on a lake Ted Kaczynski vibes going on over here.
Tweet media one
10
0
43
@grhmc
Graham Christensen
12 days
The Berkshires is OP as a work from home region.
Tweet media one
2
0
43
@grhmc
Graham Christensen
11 months
Apparently my yard grows morels and I’ve just been mowing them down for years.
Tweet media one
5
0
42
@grhmc
Graham Christensen
25 days
Since forming DetSys, I’ve had a number of perspective shifts that sometimes leave me spinning. But I’m comfortable owning it. One of those is about what it means to be inclusive. I used to have a fairly specific view of inclusivity around race, gender, sexuality, and similar.
6
3
42
@grhmc
Graham Christensen
6 months
Tweet media one
8
3
42
@grhmc
Graham Christensen
6 months
Can I just say it is insane to be pushing the adoption of a 40 year old version control system?
@volt4ire
Robert Barat 🌹
6 months
Thanks, Digital Markets Act!
Tweet media one
2
1
5
6
0
41
@grhmc
Graham Christensen
1 month
@__phantomderp I ask this with curiosity and interest, not malice. Why do you work so hard to improve C? What drives you? Why do you feel it is worth doing? (These are meant to be probing q’s, again — not to say you should stop.)
3
0
41
@grhmc
Graham Christensen
7 months
I’m like 90% sure I solved a major UX issue with Nix. Running tests overnight and we’ll see in the AM…
6
0
40
@grhmc
Graham Christensen
10 days
This is the way, and why Nix is the future. LTS is expensive tech debt you pay for twice.
@mipsytipsy
Charity Majors
13 days
"if you are not migrating, you are stagnating" our systems exist in a state of entropy; everything is constantly getting a little bit worse, all the time. the only way you can get a leap on things is by migrating. 🌈✨
1
25
158
2
4
43
@grhmc
Graham Christensen
1 year
I’m going to pay for these takes at tomorrow’s standup.
1
0
39
@grhmc
Graham Christensen
7 months
Thanks to @pingiun_ , who confirmed the upcoming release of the Determinate Nix Installer will persist through macOS upgrades. Finally squashing a bug that has plagued Nix users for years.
Tweet media one
2
5
39
@grhmc
Graham Christensen
1 year
The Determinate Nix Installer is switching to use Nix's auto-uid-allocation. This makes the install *much* faster and less intrusive. We've tested it pretty well, but to be safe, we'll be rolling it out to 5% of users to start.
4
3
39
@grhmc
Graham Christensen
8 months
Going on vacation. See y’all in a week. Don’t burn open source to the ground while I’m gone, okay?
3
2
38
@grhmc
Graham Christensen
3 months
@mycoliza This guy can’t see the strategic value to the nation of having ubiquitous fiber infrastructure .
1
0
36
@grhmc
Graham Christensen
5 months
Bits of code are better when they do "one thing", but defining that "one thing" is hard -- and why unix's philosophy is not as cut and dry as folks like. For example, systemd _is_ one thing.
4
0
37
@grhmc
Graham Christensen
6 months
@mycoliza I’m literally zero of those things but as a man I feel my opinion has been implicitly asked for, and apple’s reminders app is really very good for this stuff.
2
0
36
@grhmc
Graham Christensen
11 days
I'm excited for Eelco's upstreaming of our flake regression test suite: This is one of @DeterminateSys ' efforts to proactively verify & validate Nix releases before the Determinate Nix installer updates, maintaining our flake stability guarantee.
1
4
38
@grhmc
Graham Christensen
10 months
Y’all, it’s here.
@DeterminateSys
Determinate Systems
10 months
We're extremely excited to introduce the Magic Nix Cache, a GitHub Action that will dramatically speed up your Nix workflow runs with a single line of YAML. No signup, SaaS membership, or additional Nix config required.
5
25
108
4
0
37
@grhmc
Graham Christensen
8 months
How about some off-grid island time before NixCon? I’m so excited to see folks again.
Tweet media one
0
0
36
@grhmc
Graham Christensen
5 months
Now that I rewrote the upstream profile scripts in Rust, the Determinate Nix Installer can support loads of login shells out of the box. I've tested my escaping code on all of these: bash, dash, elvish, fish, ion, ksh, nushell, powershell, rc, sh, tcsh, zsh.
2
3
36