HNHacker News
TopNewBestAskShowJobs

dochtman

8,663 karma · joined August 2, 2010

Professional Rust maintainer.

https://dirkjan.ochtman.nl/ https://github.com/djc https://xavamedia.nl/

[ my public key: https://keybase.io/djc; my proof: https://keybase.io/djc/sigs/8IkleSSBN9hhCZWqkfDndLYhEEfanUDBVDQdS_hqH9U ]

submissionscomments
dochtman··on Some reasons to work on productivity and velocity
Both bloggers know each other (this is pretty obvious if you read some of their online stuff), so Dan Luu probably reviewed the other post early and thought it interesting enough to add his own take.
dochtman··on So You Want to Rust the Linux Kernel?
unsafe code blocks are required to uphold the invariants of the safe Rust code surrounding it. So yes, if you fail to uphold those invariants (and that's proven to be pretty tricky), your program is not safe.

My experience is that you hardly ever need unsafe Rust code. If your ownership model doesn't the borrow checker, there are of course also other avenues like ref counts or even an actual garbage collecter (which you can chose to apply only to values whose ownership situation is not aligned with the stack). Only when those options are unable to give you the performance you want you'll need to reach for unsafe code.

Other scenarios where you'll need unsafe might include things like SIMD (although safe wrappers exist) or FFI, but hopefully we'll evolve the Rust ecosystem over time to concentrate the unsafe code in a few places by building abstractions, where they are thoroughly reviewed and well tested.

dochtman··on Hierarchical Navigable Small Worlds
We're mainly using it to find related names in the set of domains available from aftermarkets. We're using the fastText word vectors from Facebook for this. We haven't done any work specifically to deal with typos, although that's on our list.
dochtman··on Hierarchical Navigable Small Worlds
I wrote an HNSW implementation in pure Rust:

https://github.com/InstantDomain/instant-distance

It works pretty well for us at InstantDomainSearch.

I like to think that this is a fairly idiomatic Rust implementation so it might be easier to follow than Facebook's FAISS. It's kinda similar in design to FAISS, so I think it might achieve similar performance, though we haven't spent enough time benchmarking yet.

dochtman··on Response to 'Call for Review: Decentralized Identifiers (DIDs) v1.0'
Does anyone have links to the Google and Microsoft reviews mentioned in this email?

Browsing the last 6 months of public-new-work archives doesn't seem to yield many other reviews of the DID proposal.

dochtman··on A notable JavaScript developer shamelessly copied one of my most downloaded nod
IIUC lack of attribution in this case is enough to invoke GitHub's DMCA process against the violating repo.
dochtman··on Structural pattern matching in Python 3.10
List comprehensions date from Python 2.0 (October 2000), decorators from 2.4 (November 2004) -- so both of those are from when people called it "executable pseudocode", right? At the least there's a big discontinuity before the walrus operator appears (3.8, October 2019).

I was once an avid Python user, but I switched to mostly Rust a few years ago and now write very little Python. A while ago I wrote some not quite trivial script-like code in Python, but ended up converting it to Rust before it finished running. The attraction of Python used to be that it was simple, but I now value robustness (through the type system in particular) much more than simplicity of the language.

dochtman··on I refuse to let Amazon define Rust
I for one would be interested in a worked example for how you think this could be better, maybe as part of the internals thread?

https://internals.rust-lang.org/t/blog-post-rustacean-princi...

dochtman··on Fast Rust Builds
I only use feature flags for features that require an additional dependency, or for features that really require a whole lot of extra code.
dochtman··on What the Heck Happened to Rollerblading? (2017)
Yes, homophobia is a thing even in NL; what I think the GP post was trying to point out is that there’s been no connection between inline skating and any particular sexual orientation in NL. That rings true to me as another Dutchman who owns inline skates (though only for three years).
dochtman··on Snap: A microkernel approach to host networking (2019)
It’s not just Fly IIRC, the official macOS Wireguard also relies on userland Wireguard (wireguard-go), as does Tailscale.
dochtman··on Snap: A microkernel approach to host networking (2019)
Rush sounds interesting, but the README is pretty sparse. Do you know more context/background?
dochtman··on What's bad about Julia?
I mostly live in the Rust world, not the Python world, but I worked on two Python packages wrapping over my own Rust libraries and it's been pretty great.

https://github.com/InstantDomain/instant-distance https://github.com/InstantDomain/instant-segment

dochtman··on What's bad about Julia?
Writing Python packages in Rust with PyO3 is pretty awesome, though.
dochtman··on What's bad about Julia?
Your praise for Rust combined with the list of Julia problems left me curious what you find redeems Julia even though it has all these problems.
dochtman··on Ask HN: GitHub Actions/webhooks broken for you to?
Huh, they're running now. I guess it's "just" being very slow.
dochtman··on Ask HN: Do software engineers have leverage?
I don’t find the browser example particularly compelling. In the case that Firefox/Chrome would have been closed source (but free to use), the web browser history might have been largely similar. Flash/ActiveX/Silverlight would still have lost even if they were open source.
dochtman··on Prossimo – Memory safety for the Internet's most critical infrastructure
See also https://github.com/uutils/coreutils/
dochtman··on The Document Culture of Amazon
Is this common across the industry, or mostly used at Amazon? I’ve been a professional software engineer for 20 year and read a lot of HN, but I think I haven’t seen this particular acronym around much (I think I would usually call these people “domain experts”).
dochtman··on Neal Stephenson – Announcing Termination Shock
Do you think Seveneves is weaker than Fall? That seems like a really hard sell to me.
dochtman··on Neal Stephenson – Announcing Termination Shock
https://dirkjan.ochtman.nl/writing/2018/07/15/science-fictio...
dochtman··on Rust 1.x seems to not always be backward compatible in practice
I think I’ve noticed that cargo install would pick up newer semver-compatible versions than what was in the lockfile unless I passed —-locked explicitly, which seemed surprising to me.
dochtman··on Using aligned word vectors for instant translations with Python and Rust
I have a fair bit of experience writing Rust code and the current status is totally deliberate. I find module file sizes of about 400-800 lines of code optimal in terms of my ability to find things vs the unnecessary complexity of having to skip around files when changing something that touches an API boundary.
dochtman··on Eternally five years away? No, batteries are improving under your nose
If you look at the chart in this article, it looks like energy density has been on a linear rather than exponential path for the last three decades.
dochtman··on Ask HN: What kind of chair are you using for WFH?
Working from home.
dochtman··on Security keys are now supported for SSH Git operations
I use Secretive to authenticate to SSH (including GitHub) with my Mac’s TouchID. Feels like this is (almost) as secure, while being more convenient (no extra hardware required). Of course it is a Mac-only solution.
dochtman··on Boosting upload speed and improving Windows' TCP stack
QUIC does run in user space, and also uses congestion controllers running inside the QUIC stack, in user space.

(I work on a QUIC implementation in Rust.)

dochtman··on Ask HN: How to attract perm Snr Engs when the contract market is so lucrative?
I don't know your context, but here are some thoughts on what I've seen/experienced:

Allow remote work -- European rates are much lower than Silicon Valley rates even now, and I imagine the same might be true for other parts of the world.

Flexible working hours -- as a parent with kids, my current contracting arrangement for about 25 hours per week works quite well, and it's unattractive to me to return to a regular 40-hours (let alone 50-60 hours).

Paid time off -- I believe in the US it is still common for people to only get like 2-3 weeks off, or get "unlimited time off" deals that, apparently, often come down to the same thing because of social pressure. For comparison, here in the Netherlands, 5 weeks is table stakes, and I take at least 6.

Interesting tech stack -- in the Rust world that I participate in, there is a lot of discussion about the lack of jobs (especially outside the blockchain industry), so if you can offer something that is more novel, that might help.

All of this assumes that you can't easily change your organization's mission or product, which of course might be another way to attract folks.

dochtman··on KDE Connect: Enabling communication between all your devices
Is there documentations of the protocols used for this?
dochtman··on Preparing Rustls for Wider Adoption
If you reply here, I'm happy to relay your comments to that issue.
← PreviousPage 5 of 23Next →