HNHacker News
TopNewBestAskShowJobs

zephraph

110 karma · joined September 22, 2016

Software engineer. Formerly Oxide, Artsy. Interested in making technology more humane and beneficial to society. Co-host of the devtools.fm podcast.

Reach out to me at hn@just-be.dev

submissionscomments
zephraph··on Can we have the day off?
here, here.
zephraph··on Trick users and bypass warnings – Modern SVG Clickjacking attacks
The SVG adder is art. Love it.
zephraph··on I see a future in jj
So excited for this. I talked to the ERSC folks last year about joining but it was a little early for me. Still incredibly excited about what they're building and glad to see one of my favorite people joining the effort.

Steve, if you come to NYC hit me up!

zephraph··on Using Deno as my game engine
Pretty cool! While I was at Recurse I took a stab at building a library like webview client mentioned in the post. https://github.com/zephraph/webview. Deno was my first target. I really enjoy deno's tooling overall, it's nice to be able to just import a server script as a URL and limit its permissions.
zephraph··on Mise: Monorepo Tasks
I'm really bullish on mise as a tool. It's quickly become one of my goto tools when starting a new project. Being able to have one config file to manage tools (node, python, rust, go, etc) as well as a simple makefile replacement makes it incredibly convenient. I pretty much always setup a `postinstall` hook so all someone has to do is `mise install` one of my projects and they'll get all the correct tool versions as well as having dependencies installed (like running `npm install`) automatically.

I feel it's significantly more practical than something like nix which feels like it has a steep learning curve.

zephraph··on Test-driven development with an LLM for fun and profit
Hey, yeah, this is a fun idea. I built a little toy llm-tdd loop as a Saturday morning side project a little while back: https://github.com/zephraph/llm-tdd.

This doesn't actually work out that well in practice though because the implementations the llm tended to generate were highly specific to pass the tests. There were several times it would cheat and just return hard coded strings that matched the expects of the tests. I'm sure better prompt engineering could help, but it was a fairly funny outcome.

Something I've found more valuable is generating the tests themselves. Obviously you don't wholesale rely on what's generated. Tests can have a certain activation energy just to figure out how to set up correctly (especially if you're in a new project). Having an LLM take a first pass at it and then ensuring it's well structured and testing important codepaths instead of implementation details makes it a lot faster to write tests.

zephraph··on Electrobun: Cross-platform desktop applications written in TypeScript
Ah, cool, that’s essentially what I’m doing too. Rust binary does the system interactions. I’m just using a pretty simple json RPC over stdio though.
zephraph··on Electrobun: Cross-platform desktop applications written in TypeScript
This is awesome! I built a similar tool as an experiment while at Recurse: https://github.com/zephraph/webview. Didn’t really do any heavy lifting though, just reused some of Tauri’s crates. Does Bun run on the same process as the GUI binding? OSX steals the main thread when rendering a native window which made me lean towards separating the processes. Still wonder if there’s a better way.
zephraph··on Memos: stick private notes on your email
The calendar is available in the sidebar (on desktop) which I tend to use quite often. On mobile if you swipe down it should hide the keyboard and you can switch to the calendar while keeping your draft open on the email tab.

I generally agree that the workflow could be improved though.

zephraph··on Oxide: Control plane data storage requirements
The RFD site is open source: https://github.com/oxidecomputer/rfd-site. Only some RFDs are public though (I used to work at Oxide)
zephraph··on Gravity Without Mass: UAH Study Proposes Alternative to Dark Matter
Ha, mine too! 2014
zephraph··on Unison Cloud
I've been wondering the same! Haven't really had the time to dig into stable content addressing (and I assume the loose semantics of something like JavaScript would make that exceedingly hard).
zephraph··on SudoLang: a programming language designed to collaborate with AI language models
I chatted with Eric on my podcast recently. It’s essentially just a special prompting syntax. The thing I found surprising is that it’s quite good at making chatbot like command interfaces. Hallucinations are still a problem but it still does a surprisingly good job of storing state between commands.

https://www.devtools.fm/episode/68 if anyone is interested in the ep

zephraph··on Lua: The Little Language That Could
Anytime Lua comes up I'm reminded of John Earnest's Lil scripting language[1]. It's inspired by Lua and Q, built for Decker[2] which is a re-imagined version of HyperCard. Generally though, I love lua for its embeddability and am extremely happy anytime I see someone chatting about integrating it. Modding and scripting in games was a tremendous motivation for me to dig more into programming and these approachable languages are a core aspect of that.

[1] https://beyondloom.com/decker/lil.html

[2] https://beyondloom.com/decker/

zephraph··on WebAssembly is eating the database?
dylibso, the company who posted this, built extism (mentioned by wikiwong)
zephraph··on Show HN: ScrapScript – A tiny functional language for sharable software
This is incredible. I’ve been thinking a lot about personal software systems and a hypothesis that I have is that simpler code sharing/versioning mechanisms is key to greater agency in programming environments. I’m already a huge fan of unison (we had Rúnar on devtoolsfm) so I’m eager to explore scrap further.
zephraph··on Astral
Congrats Charlie! Excited to see you launch and I wish you the best. Ruff is awesome and y'all are doing great work.
zephraph··on Codex – Find and Replace for Code
ast-grep is another tool along these lines that's worth checking out. Closer to semgrep than comby, but it's improving fairly rapidly.
zephraph··on Ledger Stax – Hardware wallet with eInk display for digital assets
I have no need for this device but it's definitely pretty. I love the wrap around e-ink. It looks kind of like an e-ink book cover. Cool project, gorgeous design. Would love to see more design iteration in different categories like this.
zephraph··on Ask HN: I'm in a rut. How did you get out of yours?
I'd echo a few sentiments already listed. This sounds a lot like burnout. Therapy is probably one of the first things I'd recommend, but I'll also note that finding a therapist when you're struggling with your mental health is a really hard thing to do... so be patient with yourself. If you find a therapist and you're not vibing with what they're saying or it makes you feel worse, drop them.

I was going through burnout in 2021. Took medical leave from work which helped somewhat. I went to a therapist that recommended keeping a positivity journal which absolutely exhausted me to even think about. Dropped them and found someone closer aligned to a medical context (through the same company that provided a psychiatrist that I also sought for adhd treatment). It helped, a lot.

Email is in my account if you'd like to talk more about it. I've got some resources I could send your way.

zephraph··on Ask HN: What technologies have made your life worse?
Smartphones have had a significantly negative impact on my overall mental health. There's no denying that some of the features they provide clearly give tremendous value namely maps, messaging, and media (pictures/videos). Outside of that and limited utilities it becomes this broadly unfocused time sink that takes copious amounts of self discipline and boundaries to control. Given as an industry we've become so capable at capturing and holding user's attention there's this constant mental fixation on our phones and the continual dopamine hits they provide.

The minimalist smartphone market is developing but still rather anemic in its offering. I continue to watch companies like humane and blloc to see if they can ultimately produce something that is more compelling. Time will tell, but I feel like this is a market we really need more investment in.

zephraph··on Ask HN: Recommendations for Good TUI Libraries (Text User Interface)?
In the node ecosystem there are a few interesting ones.

https://github.com/vadimdemedes/ink for writing TUIs with react. Here's a project I wrote using that: https://github.com/zephraph/solitaire. It's not as powerful as ncurses, but it works rather well.

If you want something more on par with ncurses try https://github.com/cronvel/terminal-kit

zephraph··on Google is buying Chelsea Market building for over $2B
Not at all. It's always packed with tourists. Most of my coworkers and I go outside of CM to eat because it's pretty pricy.
zephraph··on Google is buying Chelsea Market building for over $2B
Unfortunately that Thai place closed due to the rising cost of rent in the building. I work in the Food Network office in CM. For now, heh.
zephraph··on Webpack 2.2 – Release Candidate
Oh man! That exactly describes my 2016 experience. We spent the entire year working on a project at work. It started off with a lot of magic to make on-boarding other "non-technical" people easier. After the summer we began ditching magic for a simplistic approach.

The thing about magic is it's just as mystical when it breaks as it is when it works. That's why it's magic.

zephraph··on Vue 2.0 is here
Vue 2.0 released last week and it moved to using vdom for rendering.
zephraph··on Principles we use to write CSS for modern browsers
I think an important thing to note here is that this individual's team is very small. If you have a small team that closely collaborates then scaling things which take discipline (like CSS) becomes vastly simpler.

CSS is difficult because it takes so much effort to do things the "right" way. It requires a good set of linting and testing tools or constant vigilance to maintain a correct, robust system.

As the codebase or team grows the difficulty of that task increases. That, to me, is why CSS often viewed in a negative light.