HNHacker News
TopNewBestAskShowJobs

chromakode

1,356 karma · joined January 14, 2009

https://chromako.de

[ my public key: https://keybase.io/chromakode; my proof: https://keybase.io/chromakode/sigs/nFpAsIHIVcgbEadoZp9xiJARI42gFf02iXmRm3k6seo ]

submissionscomments
chromakode··on Saying No
Saying no without attempting to negotiate first also comes off as childish, and affects the outcome of future negotiations because it demonstrates an unwillingness to compromise.
chromakode··on Interview with Boris Cherny [video]
Code is a fantastic way to capture requirements, particularly iterative product discoveries over time. It's much easier to start with a manifestation of the requirements (and tests of invariants) than starting from base principles.
chromakode··on Microsoft Comic Chat is now open source
For me it's the gradients and dark gray backgrounds.
chromakode··on JPEG Compression
The DCT is a cool primitive. By extracting the low frequency coefficients, you can get a compact blurry representation of an image. This is used by preload thumbnail algorithms like blurhash and thumbhash. It's also used by some image watermarking techniques to target changes to a detail level that will be less affected by scaling or re-encoding.

I made a notebook a few years back which lets you play with / filter the DCT coefficients of an image: https://observablehq.com/d/167d8f3368a6d602

chromakode··on Show HN: I Was Here – Draw on street view, others can find your drawings
I don't recall any lawsuits, but whytheluckystiff made one 20 years ago. https://ruby-talk.ruby-lang.narkive.com/buiXXTZh/what-is-hoo...
chromakode··on Human brains are preconfigured with instructions for understanding the world
Nature recently posted an interesting video [1] about what causes developing hearts to have their first beat. The gist is that eventually random electrical noise triggers a propagating wave which is then continued and repeated by the cellular automation nature of heart tissue. You don't need as much software if your system is composed of emergent properties.

[1]: https://youtu.be/SIMS2h5QsZU

chromakode··on Ton Roosendaal to step down as Blender chairman and CEO
Ton is a personal hero of mine. When I was a kid, I wanted to be a 3d animator because of Ton. I discovered Blender in the early 2000s as a kid. It was my first exposure to digital art tools because it was free. When Blender open sourced in 2002 it was a massive gift to kids around the world like me. (Ton was kind enough to reply to an email of mine at the time thanking him!)

Ton and Blender have brought so much value to the world by making world-class creation tools available to everyone. Blender is one of the most successful open source projects of all time -- going from an underdog project notorious for difficult to use UI to a polished, ubiquitous, industry shaping tool. And never losing sight of the art; it still brings a huge smile to my face when Blender ships another Open Movie. Nearly ~25 years later, thank you again Ton.

chromakode··on What to expect from Debian/Trixie
For users with SSDs, saving the write wear seems like a desirable default.
chromakode··on New colors without shooting lasers into your eyes
In my experience these are after exposures from lines of text. They get blurred together into indistinct lines because your eye focus moves between words, superimposing them.
chromakode··on Writing a Gimp 3.0 Plugin
Blender has done this since Dec 2000.
chromakode··on ZFS 2.3 released with ZFS raidz expansion
I replicate my entire filesystem to a local NAS every 10 minutes using zrepl. This has already saved my bacon once when a WD_BLACK SN850 suddenly died on me [1]. It's also recovered code from some classic git blunders. It shouldn't be possible any more to lose data to user error or single device failure. We have the technology.

[1]: https://chromakode.com/post/zfs-recovery-with-zrepl/

chromakode··on Webtop – Alpine,Ubuntu,Fedora,and Arch containers containing full desktop envs
Selkies[1] is another interesting project in this space. It uses webrtc for low latency streaming and remote desktop suitable for gaming in the browser.

[1]: https://selkies-project.github.io/selkies-gstreamer/

chromakode··on I am rich and have no idea what to do
Sounds like a good time to engage a professional coach or therapist, if you haven't already. Particularly to deep dive on the questions asked at the end of the post. In my experience, I often stalemate these kinds of internal debates on my own, but having a second player in the mix got me out of the gridlock.
chromakode··on It is hard to recommend Google Cloud
Migrating out of this mess caused me downtime.

Squarespace's domain panel crashed with a nondescript error when I tried to update nameservers prior to transferring out, and they shut off the Google nameservers as soon as the transfer went through on their side. To add insult to injury, Squarespace makes you wait 5 days for a transfer, with no way to expedite -- and in my case, they waited 6 days, taking me offline on a Friday night. This was the worst experience I've ever had using a domain service.

chromakode··on Fobos SDR: High-Quality Radio for Hobbyists, Researchers and Professionals
rtlamr! https://github.com/bemasher/rtlamr
chromakode··on StarBook 7 14" Linux Laptop with Intel Core Ultra 7, 4K, Up to 96GB 5.6GHz RAM
For any serious work I'm using hjkl.
chromakode··on GNU Justified Public License
My favorite part:

If you develop a new program, and you want it to be of the 100% possible use to the public, the best way to achieve this 100% is to make it 1000% free software which everyone can redistribute and 100% change under 100% these terms.

chromakode··on Statement from Scarlett Johansson on the OpenAI "Sky" voice
So, what would they have done if she accepted? Claimed that the existing training of the Sky voice was voiced by her?
chromakode··on The Downfall of DeviantArt
Keybase always performed crypto on-device using their open source client written in Go. What not-your-keys not-your-crypto setup are you referring to?
chromakode··on Branded types for TypeScript
Alternatively for the case of id strings with known prefixes, a unique feature of TypeScript is you can use template string literal types:

https://www.kravchyk.com/adding-type-safety-to-object-ids-ty...

chromakode··on Development Notes from xkcd's "Machine"
April fool's at xkcd is a special occasion where external folks join xkcd to build an experimental interactive comic.

Edit: I've updated the first para of the post to hopefully clarify this better

chromakode··on Disaster Recovery with ZFS and Zrepl
Residential fiber internet is a lovely thing :D
chromakode··on Disaster Recovery with ZFS and Zrepl
Funny story -- when I was working on the xkcd Machine comic, I actually used the ZFS snapshots to rescue data. I accidentally blew away some early physics prototype code and fished it out of /.zfs/snapshot.
chromakode··on Disaster Recovery with ZFS and Zrepl
It's part of the 3-2-1 rule: https://www.backblaze.com/blog/the-3-2-1-backup-strategy/

My mid term goal is to trade offsite replication with a friend for automatically replicating the offsite portion of important things.

chromakode··on Development Notes from xkcd's "Machine"
Agreed. DOM started as a prototype and I stayed on it primarily for dev speed due to momentum (and some React DX things -- I checked out the Pixi React binding but decided not to go down that rabbit hole). It's amazing how efficient Pixi is!
chromakode··on Development Notes from xkcd's "Machine"
Umwelt! Explain xkcd has a great writeup on it: https://www.explainxkcd.com/wiki/index.php/1037:_Umwelt
chromakode··on Development Notes from xkcd's "Machine"
I saw yours! We do inevitably bias for tiles with some content in them, since otherwise the viewing experience would be quite boring. :)
chromakode··on Development Notes from xkcd's "Machine"
We gave each ball different physical properties. Yellow balls are light and have lots of air drag. Green balls are massive. Red balls are very bouncy. This allows physical sorters to be designed.
chromakode··on Disillusioned with Deno
Yep! It requires ESM, which had other knock on effects in my codebase, IIRC with Lexical. I needed to hack around this a bit for Deno's module system as well (using esm.sh to preprocess Lexical) but it was a much nicer DX.
chromakode··on Disillusioned with Deno
I got thoroughly frustrated with Deno on a side project for similar reasons (leaky node compat abstractions, kludgey interop between code that does IO the Deno way and Node modules, immature Deno stdlib, undermaintained Deno libraries, spooky bugs). I lost a lot of time to figuring out how to make things work the Deno way.

Then I spent a day switching my codebase back to Node. I was struck by how much worse my code got. The Deno code made use of niceties like top level await and import maps. I needed to resort to a bundler to dedup instances of Y.js between my backend and Lexical. The Deno libraries tended have cleaner APIs (e.g. Oak vs. Koa).

After I took a step back, I scrapped the Node rework and accepted my misgivings with Deno, for now. Going back to Node was kind of like playing an older game; the graphics were great at the time but now that I've seen what a 2023 backend Typescript codebase looks like, I don't want to go back.

Page 1 of 6Next →