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 Sri Lanka scrambles to restore power after monkey causes islandwide outage
Just a heads up to those clicking, the monkey is super dead in the photo.
daeken··on New SF public health chief was part of McKinsey opioid-marketing operation
The reason we hire established hackers for pentesting/red teaming is because the work is the same no matter which side you're on. This isn't the case with drug distribution or whatnot; like doesn't cure like when it comes to most problems. To me, this is akin to hiring a mass shooter to solve gun violence.
daeken··on The New York Stock Exchange to Launch NYSE Texas
I couldn't agree more. This is why I'm investing heavily in companies producing body bags; sure, people are going to die, but the upside for me could be in the five figures by the time it comes for me!
daeken··on Giant catapult sends satellites into space
When you have low gravity and little atmosphere, I can't imagine many scenarios where a spin launcher would be a better fit than a mass driver. One of the biggest problems with a mass driver on Earth is that you need to do it in a vacuum over a huge area, which isn't a problem with - say - launching from the moon. The spin launch approach makes some sense on Earth, given that you only have to build a (relatively) small vacuum chamber and a very well-timed airlock to let the payload get into the atmosphere.

But the counterweight issues, extreme G forces during spin-up, etc make it kind of a non-starter in my mind for other bodies; I'd love to hear arguments for it vs simple mass drivers off Earth.

daeken··on Supreme Court rules to uphold TikTok ban, setting stage for shutdown
I watch at least 2-3 10 minute videos on TikTok daily, and a large number of 5+ minute videos! There's an amazing amount of good content, and once the algorithm hones in on what you care about it gets surfaced for you.

Can't say I have insurance adjusters on my FYP, but I think that speaks to the power of the algorithm's targeting far more than it does the lack of content.

daeken··on Supreme Court rules to uphold TikTok ban, setting stage for shutdown
37 here and: yes.
daeken··on Fidget
I kinda tried doing this with a custom FDM slicer for SDFs a long while back. I hit some roadblocks, but the concept was pretty simple: slicers by definition need to know what exists in a 2d slice of a 3d object. So why not render an SDF directly as slices and then act on that? You're basically then just trying to turn a raster into a vector (a toolpath).

The code is simple and hacky as hell -- very much an experiment -- but I still think that it is a plausible route forward. https://github.com/daeken/AjaPrint

daeken··on Orbit by Mozilla
I don't think the Firefox OS team was ever bigger than maybe 100 people at the absolute most, and I feel like it was closer to half of that. Admittedly it's been over a decade since I left, so my recollection could be wrong, but it was never "most of the resources" by any metric.

It was a tiny percentage of the overall staff; I traveled to the Toronto office to work with some of the graphics devs (the area I primarily worked in) and the floor we were on easily had 200 people in that one -- relatively small -- location.

B2G/FFOS gets a lot of well-deserved hate -- I quit after a year -- but its impact has been wildly blown out of proportion.

daeken··on Bi-elliptic transfer orbit maneuver
For an intuitive example of where this is more efficient, consider plane changes. The delta-V for a plane change is 2 * sin(angular_change/2) * speed

The higher an orbit is, the slower you're going at apogee. If you're doing a large plane change, going even slower will save you a *ton* of delta-V, so you can transfer up to a much higher orbit, plane change at apogee, and then transfer down to your desired final orbit.

That's by far the most useful place for bielliptic transfers, not just going from one orbit to another on the same plane.

daeken··on Bi-elliptic transfer orbit maneuver
I have a simple implementation of a delta-V calculator for bielliptic transfers here if you want a quick look at the underlying math: https://github.com/daeken/OrbitalRingsBook/blob/main/space-t... -- the DeltaVForBiEllipticTransfer function. (The calculator widget in the book doesn't use it, but I was primarily using it for getting high orbits in an effort to minimize plane change delta-V for another calculation and this code inherited it. Also, you can actually play with the widget in action here, though again it's only using Hohmann transfers due to the low fuel requirements in play: https://ors.daeken.dev/space-travel.html)

Happy to explain the math in more detail, but the code is -- I think -- pretty self-explanatory.

Edit to add: this function doesn't calculate the initial lift to the higher orbit; that'd be the difference between the speed of your circular orbit and the perigee speed at the higher orbit.

daeken··on Personality Basins
Sadly, that `near` died in 2021 after a massive bullying campaign.
daeken··on SEC charges Nvidia with inadequate disclosures about impact of cryptomining
I've been doing a lot of ML training, particularly when my office is cold. Kills two birds with one stone.
daeken··on Mitmproxy 8
FWIW, Burp also does this. But I'm not sure I'd argue that it actually has a nicer UI ;)
daeken··on Horrifying PDF Experiments
Any chance you could get me some dxd files? I'd love to take a stab at reverse-engineering this and writing a direct converter to something standard. Feel free to email them to me (email in bio).
daeken··on Open Source does not mean “Includes Free Support”
> This is just basic human decency. If someone puts in effort to help you or contribute to something you've created, just be a decent person and respond to them. It costs you nothing. There's a difference between being entitled to something and just doing something because it's the right thing to do.

The idea that this costs them nothing is, well, garbage. It costs time and energy, of which many have a very limited supply. What might take you 5 minutes might take another an hour and leave them utterly drained.

daeken··on Stop using RSA (2019)
Based on what I billed out at at comparable shops, anywhere from $250-400/hr. Maybe $500 if one of their more crypto-focused people looks at it, but that'd be pretty unlikely for a whole codebase.
daeken··on Stop using RSA (2019)
Wut. This is just false. D-Wave provides the "quantum computers" that others have and they're completely irrelevant when it comes to breaking ECC (or RSA, for that matter; ECC is broken by a variant of Shor's algorithm, which is used to break RSA). They're quantum annealing chips, not general-purpose quantum computers; they literally can't run Shor's algorithm, now or ever.

We're orders of magnitudes out (qubit-wise, on real quantum computers) from breaking RSA or ECC in practice, and the difficulty level is on the same order for both.

daeken··on Show HN: A SQL database implemented purely in TypeScript type annotations
> I would love if a compiler expert could chime in here, but my understanding is you could never write a Typescript compiler that was “strongly” typed because there is no data structure that can efficiently represent arbitrary types like “4 Or An Object With An Attribute Set To 4” in any meaningful way.

(I don't consider myself a compiler expert by any means, but I've been doing it for nearly 20 years, so I feel relatively safe weighing in here.)

In short, if you were compiling a function like that for bare metal (or anything relatively like it), there would be no one function that takes in all of those types and acts on them. Instead, you would compile that function once for each combination of incoming types. The version that only takes the number 4 would not have any inputs at all and may end up entirely constant (depending on what it does, of course). It's then up to the caller to make sure the right variant is called. If you have strong types up the chain, this is easy and completely overhead-free -- they'll be compiled in their different versions, too. If you have a weaker type constraint (e.g. just any Number, rather than THE Number 4), then you'd do conditional dispatching at the call site.

For what it's worth, this is essentially how templates work in C++. It's also why compilation can take so damn long and can produce gigantic binaries, because when you have a function with 2 inputs of 4 different potential types each, you're up to 16 variants. Change that to 5 inputs of 4 different types and you're at 625 variants.

All that said, static compilation of TypeScript in its current form would be very difficult to make efficient, simply because JavaScript types in the abstract don't map nicely to hardware; Arrays can be extremely simple and linear or ungodly complex with holes and property overrides, and the 'right' thing to do with a Number is often different from the fast thing to do. That's why JITs are so valuable; they allow you to get around the ambiguity.

Edit to add: I should mention, it's possible you won't actually generate all combinations. You might know that certain combinations are impossible to hit due to other type constraints, or you might just know that they're unused (which leads to problems when you don't have the original function definitions to turn to; that's why C++ templates have to be in headers (I think that's true, at least? I might be wrong on that; I just use the magic, I don't understand it)).

daeken··on NeoAxis Game Engine 2020.5
It appears to still be based on OGRE. The native wrappers in the repo seem to bind all the key OGRE types into .NET.
daeken··on MSU Vice President of research & innovation Steve Hsu has been forced to resign
I mean, have you looked at the resources linked on the Twitter thread he links to in that post? To call it "damning" is an understatement.

It would be different if he came out now and said "here are the things I said then, here's why I said them, and here are the reasons those were problematic and wrong; I no longer align myself with those views." But instead, he dug in his heels saying that this comes down to suppressing scientific inquiry for ... not buying into eugenics.

daeken··on Signal app downloads spike as US protesters seek message encryption
Signal has video calls
daeken··on To defund the police, activists rewrote city budgets
Average police response time is 10 minutes. Violent criminals don't wait that long.

Edit: To be clear, this isn't a good reason to go out and buy a gun. We already know that the help isn't coming, which is why the police should focus on real crimes.

daeken··on Show HN: Unity MMORPG Boilerplate – Multiplayer in Unity Made Easy
EVE Online is still primarily one single shared environment, as far as I'm aware. They added instances for some content back in 2018 (from a quick Googling), but otherwise it's not sharded in any way, to my knowledge.
daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
.... Yes it does. That's literally why that Target was there. Did you read the link?

ETA:

> I'm simply not going to go firebomb it because I don't like it. There are plenty of things I really don't like. Do I firebomb them because I don't like them? Nope, I choose not to firebomb them. Because that's not something responsible citizens do, at least in my worldview.

I'm very, very glad that you and I have a voice in our communities/countries and don't need to resort to violence to get our message across. I'm not glad that the reason you and I have a voice and the people rioting in MN right now do not, is because we benefit from state violence and they are on the receiving end of it.

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
Does rioting destroy things? Yes. But read that sentence from me again: "People aren't rioting because they want to destroy things".

People are rioting because they see this as the only way forward, not because they want a new TV. They may get that TV in the process, but it's not the motivation.

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
To some extent, they were burned/looted/otherwise harmed because they were there. But on the other hand, you have things like this experimental Target whose whole purpose in that (very impoverished) neighborhood was to develop new LP techniques, aimed at putting more people of color in prison: https://twitter.com/IanColdwater/status/1265867904844693505

Target is complicit in this systemic disease; I have zero sympathy for them.

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
> Edit: the law defines the boundaries of what is acceptable outrage and what isn't.

https://en.wikipedia.org/wiki/Civil_Disobedience_(Thoreau)

"[i]t is not desirable to cultivate a respect for the law, so much as for the right. The only obligation which I have a right to assume is to do at any time what I think right.... Law never made men a whit more just; and, by means of their respect for it, even the well-disposed are daily made the agents of injustice."

ETA:

> Edit2: there is a world of difference between reasonable civil disobedience and firebombing your local Target.

What is "reasonable civil disobedience"? If that Target is only in the neighborhood because it's an experimental LP store put in an incredibly impoverished area so that they can develop better techniques for putting people of color in prison, is it suddenly reasonable? https://twitter.com/IanColdwater/status/1265867904844693505

Who are we to make that call, in either direction?

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
> Notice it's not the police station being burned down.

A police station was burned today.

https://www.nbcnews.com/news/us-news/protests-looting-erupt-...

https://www.cnn.com/us/live-news/george-floyd-protest-update...

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
> Downvote me into oblivion (like I see some folks already are - classy)

https://news.ycombinator.com/newsguidelines.html "Please don't comment about the voting on comments. It never does any good, and it makes boring reading."

daeken··on US customs and border protection is flying a surveillance drone over Minneapolis
> With all that's happening the last few days, please don't associate Minnesotans with the riots that have captured the attention of everyone.

I understand what you're going for, but this is a bad approach. People aren't rioting because they want to destroy things, they're rioting because they don't feel like they're being heard. What you're saying here reads as "don't listen to them, they don't represent us" which is ... exactly the point.

We need to collectively shut the hell up for 5 minutes and just listen. Maybe if we actually did that, these riots wouldn't be happening.

← PreviousPage 3 of 34Next →