Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ekidd
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
99 ms
·
511.
▲
by
ekidd
4y ago
> All it had to say was that rust tells you when you keep reference to on stack variable after it goes out of scope. That's the root cause, but it's not the interesting bit. The code in the article comes from a production com
512.
▲
by
ekidd
4y ago
I have run "cargo fuzz" (based on the AFL fuzzer) over a binary-format parsing library I wrote, generating roughly a billion inputs. Here's what I learned: 1. Rust does not protect you at compile time against "index ou
513.
▲
by
ekidd
4y ago
As someone with over a decade of professional C++ experience, here are some things your company might experience during this migration: - A dramatic reduction in runtime crashes, and a ~70% reduction in security vulnerabilities (based on Mi
514.
▲
by
ekidd
4y ago
As someone who uses a fair bit of Rust in production, here are my rules of thumb: - Rust is strongest where you need high performance, low latency, or low memory usage. If you're spinning up 20 machines to run a single data-crunching j
515.
▲
by
ekidd
4y ago
> Not sure how a hybrid approach will work. The hybrid approach works great. We use typed scripting languages for business logic and Rust CLI tools for "inner loops", and this balance gives us the best of both worlds. There i
516.
▲
by
ekidd
4y ago
I've been using async Rust in production for years. The learning curve is a little higher than I'd like. But it works great and it does everything we need it to. For an open source example, see https://www.dbcrossbar.or
517.
▲
by
ekidd
4y ago
I have also used Rust in a startup. With one major exception, it has been a huge win. Rust makes it incredibly easy to write fast CLI tools and special purpose servers. They're solid and pleasant to maintain. Refactoring is easy, and
518.
▲
by
ekidd
4y ago
> What I find truly bizarre is how many software engineers, who are aware of how much they earn and how long it really takes to make software, are so resistant to paying anything for tools that make their job easier and faster. The fir
519.
▲
by
ekidd
4y ago
In the article, the author said that none of the team has quit their day jobs yet. And this appeared to be their first significant fundraise. Their strategy critically depended on staying in the SMB market, not the enterprise market. And it
520.
▲
by
ekidd
4y ago
I suppose I should actually give more details. You probably already know most of this history. I was basically still a kid, working for a vendor in 1997, and my job was to write a library for manipulating SGML parse trees. Today, it would b
521.
▲
by
ekidd
4y ago
> Beyond SGML, what's really puzzling to me is that we keep on throwing mud against a wall to see what sticks, and every comp.sci. generation seem to reinvent everything from scratch without consideration what came before. I'
522.
▲
by
ekidd
4y ago
> Most of the pain here come from the unholy trifactor: combining async, lifetimes and dynamic dispatch with trait object closures; which is indeed very awkward in practice. Even in regular Rust, trying to get too clever with lifetimes
523.
▲
by
ekidd
4y ago
> While asnyc/await (and callbacks and promises before) solves an efficiency problem via compiler magic and language extensions, it's not obvious whether it's necessarily the best solution to the problem. The nice thing
524.
▲
by
ekidd
4y ago
One pattern that I've seen in recently-designed programming languages is to make type declarations mandatory for function arguments and return values, but to make them optional for local variables. In other words, these languages do no
525.
▲
by
ekidd
4y ago
> Those who find themselves on the other side of this power disparity would often prefer to risk a potentially buggy but inviolate contract than one which they expect to be abused against them. There is no way that AT&T, Comcast or
526.
▲
by
ekidd
4y ago
Much of that 286 thousand years (or whatever) was spent in band-level hunter-gather societies. These societies have a number of nice features: People tend to be healthy, and in good times they may only work 20 hours per week. But according
527.
▲
by
ekidd
4y ago
> And the majority of tech people have a hard time coping with the fact that there is something they can't grasp while some others do. What's hard to grasp? The "blockchain" is just a Merkle tree, like git, which much
528.
▲
by
ekidd
5y ago
Rust really doesn't do implicit numeric conversion, and I suspect it would be hard to retrofit. But you could write a function i(...) that promoted u8, etc, to usize: v[i(my_u8_index)] This could be implemented as a compile-ti
529.
▲
by
ekidd
5y ago
> Yes it was a game of whack-a-mole with syntax errors but at least it was a straight forward process to getting something to compile It also helps that Turbo Pascal was an extremely fast compiler for its time. So you could fix one error
530.
▲
by
ekidd
5y ago
> We should make one final rss format and switch to it. This was the motivation for creating the last several versions of RSS and Atom, if I remember correctly! Sometimes I wonder if the RSS situation was the original inspiration for ht
531.
▲
by
ekidd
5y ago
While that's certainly an excellent idea, it doesn't directly address any of the serious problems discussed in the article. Long-haul truckers appear to be independent contractors with zero market power relative to trucking firms.
532.
▲
by
ekidd
5y ago
> No one has innovated a cost effective way to update office ventilation properly, Ventilation is building infrastructure, and building infrastructure is difficult. To use a software analogy, it's sort of like saying, "Why hasn
533.
▲
by
ekidd
5y ago
Ah, thank you! That is it. Just as biting and dark as I remember it. Greg Egan also has a number of stories about people who rebelled against a "many worlds" universe by porting human cognition to run on "Quantum Single Proce
534.
▲
by
ekidd
5y ago
There's another short story out there which assumes that when you die in one branched universe, you survive in another. So in your subjective experience, you always survive, no matter how low the chances. But eventually your survival
535.
▲
by
ekidd
5y ago
> Seeing 5 for Rust and 3 for Go in the Stability section is weird for me as an experienced Go developer. While null pointers and such to happen, most of them are caught in the QA phase. As someone who writes a lot of production Rust cod
536.
▲
by
ekidd
5y ago
> The young generation who don't appreciate having democracy are bulking at democracy and choosing socialism. Contrary to what some people argue, "democracy versus no democracy" and "capitalism versus socialism versus
537.
▲
by
ekidd
5y ago
I feel like the pace of Rust language evolution slowed down significantly after the 2018 edition and the work on async shortly thereafter. Most of the more recent language changes feel like pretty minor ergonomic improvements, things which
538.
▲
by
ekidd
5y ago
> That's true, and you still might be stuck fighting politics to do it. Yeah, politics are kind of built into the human condition. You can't avoid them entirely, and even if you could, I'm not sure it would actually be
539.
▲
by
ekidd
5y ago
> But to say that work is not demanding and evaluation always political is very big generalization. Some hard projects go to people that can handle them ( or can't if you don't like them ). When that big project is over, there
540.
▲
by
ekidd
5y ago
My favorite laser safety poster, seen in a high-power laser lab: "WARNING: Do not stare into laser with remaining eye." There was, of course, a full set official warning posters as well. But that's the one I remember.
More ›