HNHacker News
TopNewBestAskShowJobs

daeken

17,548 karma · joined March 21, 2008

Founder of DaeStar Emulation, previously of DigitalOcean, HackerOne, Optiv, Mozilla, Matasano Security, and a couple startups. My primary background is reverse-engineering, but my work is all over the board. My work has been featured in Forbes, H+ Magazine, Hacker Monthly (issue #10), EDN, and my mother's fridge. I've spoken at Defcon (2019), 44con (2019), and BlackHat (2012).

Nothing I say here is in any way representative of the views of my employer nor anyone else with whom I am affiliated.

My email is sera.brocious@gmail.com; feel free to contact me about anything, just include 'HN' in the subject, please.

I'm on HN Office Hours: http://hnofficehours.com/profile/daeken/

[ my public key: https://keybase.io/daeken; my proof: https://keybase.io/daeken/sigs/ci5oPW51-MaGySslf5iDROl1JIBimpAG596tsLH0Qi4 ]

submissionscomments
daeken··on Blanets and Weird Worlds
> a good chunk of the action of my work-in-progress Starter Pack is set on a terraformed Earth-mass moon orbiting a Hycean planet of roughly Neptune's mass orbiting its star in the triple phase zone for water (i.e. where water can exist as ice, liquid, or vapour). The moon in question has spin (presumably it got kicked off by a collision with another proto-moon while the moon system was forming), so a magnetosphere, and tides to keep plate tectonics going--but this time tides from its primary planet, not a large sub-moon of its own.

This makes me so curious as to the approach he's taking with this next book, in terms of the biology of creatures native to these bodies (if they exist). I've been thinking a lot about the approach Andy Weir took for the Eridians: start with the physical characteristics of the planet and reverse-engineer biology that was likely to be viable under those circumstances. As someone who typically writes hard sci-fi, I can't help but be drawn to that approach — too many worlds and environments are designed around the characters and it ends up feeling totally incoherent.

daeken··on Woman arrested after blocking delivery robot in Center City Philadelphia
No, she was arrested for disobeying police orders. But whether they're lawful orders or not is a different matter; strongly suspect that if this went to trial, she'd have a decent 1st amendment argument, which is why it won't go to trial. (ACAB, but also this is a pretty standard part of civil disobedience -- getting arrested is just part and parcel, for better and worse.)
daeken··on DraftKings is using AI to behaviorally target chronic gamblers
You can buy them on your phone in some states, e.g. Georgia. Their "scratch offs" look just like slot machines and give the same lovely dopamine spikes; used to drop $100 in every couple months when I just needed happy brain chemicals.
daeken··on Missouri governor orders guardrails on Flock cameras and ALPRs
Even better, honestly: a large bloom filter for the data, such that the likelihood of a collision is relatively low, then send it up to the server for a check. That way there are a small number of erroneous potential hits, but the list never needs to exist on-device.
daeken··on Everyone is building LLM routers, we deprecated ours
I just ask our fleet maintenance agent to configure the variants of the new model and then run the bakeoff. In a few hours, I get a doc containing exactly how it performed on my real tasks, against the other models we've benchmarked.

We don't do any "prompt engineering" to make specific models work better or worse, so this gives us a direct comparison that lets us objectively compare how they'll work in practice for different types of tasks.

Good enough to have guided multiple model swaps and measured increases in productivity.

daeken··on Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting
> I certainly do find new slang introduced by gen Z like "he got the riz!" to be quite cringey

This is interesting to me, if only because it's such a natural bit of slang. Given that it's a shortened form of "charisma", this one just Makes Sense to me! I figure it'd be incredibly cringe for me to use at my age, but it's a good term IMO.

daeken··on The 500k-ton typo: Why data center copper math doesn't add up
This sort of mistake is easy to make when you're mixing up your units; if they kept to one system of measure, it would've been trivial to catch, before or after release.
daeken··on JRR Tolkien reads from The Hobbit for 30 Minutes (1952)
Some people just prefer to listen. I read well and I read quite quickly -- I don't know how many books I've physically read, but it's gotta be in the high hundreds at least -- but over the past ~10 years I've switched primarily to audiobooks. Rather than being something that I enjoy while I'm doing something else, I typically do something mindless with my hands (weave chainmail, cross stitch, sew) in order to give my full attention to the book.
daeken··on NASA announces unprecedented return of sick ISS astronaut and crew
The astronaut in question may choose to disclose that they had the medical emergency and possibly its nature, but it seems wholly reasonable to not single them out (when it affects the whole mission) or disclose their medical status.
daeken··on Nightshade: Make images unsuitable for model training
I've been working in security for more than 20 years and have seen the deleterious effects of security through obscurity first-hand. Why does "adversarial engineering" rely on obscurity?
daeken··on Nightshade: Make images unsuitable for model training
> Real security systems don't publicize how they work.

175 years of history would disagree with you: https://en.wikipedia.org/wiki/Security_through_obscurity

daeken··on Comptime – C# meta-programming with compile-time code generation and evaluation
Yeah, I went with that approach for most of the code generation in the emulator I'm currently working on. Source generators handle a few core things, but more advanced compilation tasks went to just ahead of time generation; couldn't get my parser combinator library to play nicely with .NET Standard, so that was just a dead-end.
daeken··on Comptime – C# meta-programming with compile-time code generation and evaluation
I love (and heavily use) source generators, but the development experience is godawful. Working with the raw Roslyn types is painful at best and this is compounded by them having to be written against .NET Standard, severely limiting the use of newer .NET functionality.

Eventually I want to write a good baseline library to use for my source generators -- simplifying finding definitions with attributes, mapping types to System.Type, adding some basic pattern matching for structures -- but haven't found a way to do it that's general enough while being very useful.

daeken··on Comptime – C# meta-programming with compile-time code generation and evaluation
Boo and Nemerle both were really showing what was possible in .NET back in the early days. I still miss the metaprogramming they had, not to mention their pattern matching (which C# has closed the gap on, but is still way, way short.)
daeken··on Why xor eax, eax?
Back in 2005 or 2006, I was working at a little startup with "DVD Jon" Johansen and we'd have Quake 3 tournaments to break up the monotony of reverse-engineering and juggling storage infrastructure. His name was always "xor eax,eax" and I always just had to laugh at the idea of getting zeroed out by someone with that name. (Which happened a lot -- I was good, but he was much better!)
daeken··on S&box is now an open source game engine
The vast majority of non-text editing in game development isn't done in modeling or image manipulation apps, it's done via the game engine's editor. That's true whether you're using Unity, Unreal, Godot, or a homebrew engine.

There are the rare engines with no editor to speak of -- where things are either done programmatically or other textual definitions -- but they're very very very few and far between.

The engine itself doesn't have a UI, but working with any major engine without using their editor is functionally impossible.

daeken··on Building a Minimal Viable Armv7 Emulator from Scratch
So, it is possible to use the machine consumable forms of the ISA, but realistically you'll spend way longer fighting it than finding other strategies.

Years ago, I ended up creating my own aarch64 definition, which I use to generate disassemblers, interpreters, and recompilers (dynamic and static) automatically: https://github.com/daeken/SharpRetro/blob/main/Aarch64Genera...

It doesn't have perfect support, but it has served as an incredibly useful resource. I've since generalized it to work for other architectures, and that same repo has definitions for MIPS (specifically the PSX CPU), DMG, and the groundwork for an x86 core. The goal is to be able to define these once, then generate any future targets automatically.

daeken··on Apple Mini Apps Partner Program
> A qualifying mini app within the Mini Apps Partner Program is one that’s put out by a person or entity that’s not directly or indirectly controlled by you, nor under common control with you.

I don't understand; if it's put out by someone else, how do I participate?

daeken··on Ventoy: Create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI Files
Ventoy is a lifesaver. I dropped a 2TB NVMe drive into a USB-C enclosure and put it on there, along with all the OS installers, distros, and test utilities I commonly use. Probably used it a few dozen times since then and it's well and truly paid for itself!
daeken··on Greg Newby, CEO of Project Gutenberg Literary Archive Foundation, has died
I've become an unironic proponent of HE, the Human Era. For CE dates, we just add 10000 (I'm writing this from 12025). But for BCE dates, they're subtracted and it makes things so much clearer when it comes to telling how long ago something was. E.g. the sundial was invented around 6000 HE, steel was developed around 9000 HE.

Kurtzgesagt has a really great video about the subject: https://youtu.be/czgOWmtGVGs

There's also a timeline in HE that covers many major historical events: https://docs.wixstatic.com/ugd/71a711_295e365a6ec64d6ca7f87e...

daeken··on Space Elevator
Bolos are used for spin gravity in the first part, but that's very different from the rotovators used in the second part. Both in concept and design. The key point with the rotovator is that the tip is moving at ~0m/s relative to the body it's orbiting when it's at its nadir, allowing you to just hop/grab on.
daeken··on AV2 video codec delivers 30% lower bitrate than AV1, final spec due in late 2025
Back in ~2004, I worked on a project to define a codec virtual machine, with the goal of each file being able to reference the standard it was encoded against, along with a link to a reference decoder built for that VM. My thought was that you could compile that codec for the system you were running on and decode in software, or if a sufficient DSP or FPGA was available, target that.

While it worked, I don't think it ever left my machine. Never moved past software decoding -- I was a broke teen with no access to non-standard hardware. But the idea has stuck with me and feels more relevant than ever, with the proliferation of codecs we're seeing now.

It has the Sufficiently Smart Compiler problem baked in, but I tried to define things to be SIMD-native from the start (which could be split however it needed to be for the hardware) and I suspect it could work. Somehow.

daeken··on Datastar: Lightweight hypermedia framework for building interactive web apps
I mean, that seems ugly to me, but... Makes intuitive sense and is fine actually? Is HTML a rich language in which to embed stuff like this? No. Does this clearly get the point across? Yes.

[Edit: this should've actually been attached to the GP comment. I agree with the parent.]

daeken··on Nearly half of drivers killed in (Ohio County) crashes had THC in their blood
According to this, 16.5% of Ohio residents used a marijuana product in the last year in 2023: https://www.statista.com/statistics/723822/cannabis-use-with...

Hard to argue that's a small percentage.

daeken··on A platform-jumping prince – History of Prince of Persia's 1990s Ports
Not quite a cassette anymore, but in 2013 I was in the studio with some friends and we'd do initial downmixes to MP3 and bring them to the car. World of difference, just getting the less-ideal and more realistic listening experience.
daeken··on The 16-year odyssey it took to emulate the Pioneer LaserActive
Wow. This may be one of the most intense reverse-engineering (and honestly, engineering) efforts I've ever seen for an emulator project before. Capturing the raw LD image to this degree, being able to play it in reverse, etc -- absolutely brilliant. Truly fantastic work.
daeken··on Ask HN: Why hasn't x86 caught up with Apple M series?
Oh wow, I need to dig way deeper into this but wonderful resource - thanks!
daeken··on Ask HN: Why hasn't x86 caught up with Apple M series?
There's no AArch32 or Thumb support (A32/T32) on M-series chips. AArch64 (technically A64) is the only supported instruction set. Fun fact: this makes it impossible to run Mario Kart 8 via virtualization on Macs without software translation, since it's A32.

How much that does for efficiency I can't say, but I imagine it helps, especially given just how damn easy it is to decode.

daeken··on Why English doesn't use accents
(B2-ish Spanish learner here but) "ll" is pronounced in at least three variants that I know of: "y", "j", and something between "sh" and "ch". E.g. "llama" might be pronounced like (in English writing) "yama", "zhama", or "shama". The last one really threw me for a while; it's super common in Argentina at least.
daeken··on EverQuest
There's a musician named Richie Truxillo who made so many comedy songs about EQ back in the day, but your comment just reminded me of "Has Anybody Seen My Corpse." I haven't thought about corpse runs and dragging folks' corpses back to them in ages!
Page 1 of 34Next →