Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jamwt
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
jamwt
6y ago
> That's an unusual claim It's really... not. For people that have actually written big things in Rust. We keep repeating it, but we try to cautiously, tread carefully, lest we be accused of being part of this dreaded Evangelis
32.
▲
by
jamwt
6y ago
> And if I write a "Rust: The Bad Parts", believe me, I'll be mentioning panicking. This is why `panic=abort` should be the default, and the whole unwind-and-try-to-keep-the-world-sound path should be opt-in. Then panic is
33.
▲
by
jamwt
6y ago
> People are happy to pay AWS Many of them are not. We have serious vendor lock-in now, where a very few companies are gatekeepers to almost any business that runs on the internet. And their margins are _enormous_ on this business. It en
34.
▲
by
jamwt
7y ago
It's using the Rust native arrow library, from the DataFusion project. So nope, pure rust. https://github.com/apache/arrow/tree/master/rust/arrow
35.
▲
by
jamwt
7y ago
It's... been hyper for years and is still hyper. Reqwest is an ergonomic wrapper on top of hyper if you want a higher-level API with less control. Among the Rust ecosystem things to gripe about, this is a odd one. async_std vs. tokio i
36.
▲
by
jamwt
7y ago
Ouch, pretty dismal take on Dropbox. > they have never been profitable Technically true, but mostly b/c of stock comp. Free cash flow positive for quite awhile: https://www.macrotrends.net/stocks/charts/DBX
37.
▲
What Not to Do in Rust
(blog.sentry.io)
1 points
by
jamwt
7y ago
|
0 comments
38.
▲
by
jamwt
8y ago
> I like Rust but it really irks me when people pretend it is as easy as C++. It isn't. It is much harder No it's not. "hard" is not single dimensional. "hard" to write your first hello world? No, both are
39.
▲
by
jamwt
10y ago
Sorry, not super familiar with Syncthing. It's definitely not impossible to do better than Dropbox, but to some degree, as in all things, it's a function of engineering resources, telemetry, and usage. We've likely put 25-10
40.
▲
by
jamwt
10y ago
Just a heads up: that almost certainly means SyncThing is failing to recognize some classes of conflicts and concurrency races, and is destroying some changes. Doing this right is a hard problem. I know they can be a pain to deal with, but
41.
▲
by
jamwt
10y ago
Yes, hate, hate NDEBUG. Such a terrible idea to disable assertions.
42.
▲
by
jamwt
10y ago
I didn't say it was! I said it was an "excellent choice". Right?
43.
▲
by
jamwt
10y ago
Yep, that's what I meant about "large". If you have a large project, with many developers you're going to want types + generics to maintain it over the many-years and 100,000s to millions of SLOC life.
44.
▲
by
jamwt
10y ago
I'm not saying unproductive. I'm saying, we need to be realistic. Compared to, say, Python, it's nowhere close. Compared to C++, Java, or even Go, it's anywhere from competitive to significantly better.
45.
▲
by
jamwt
10y ago
If your primary goal is productivity, I don't think rust will ever be the right language for you. If you want to remain relatively productive while building things that are one or more of (large, fast, safe), it's an excellent c
46.
▲
by
jamwt
10y ago
Hmm... you guys sure have pretty thoroughly sanitized all references to Stud at this point in code, documentation, READMEs, etc. :-(
47.
▲
by
jamwt
10y ago
Rust: https://gist.github.com/jamwt/60f66f0fd27d349fe460051e55e79a... (Also submitted to blog author.)
48.
▲
by
jamwt
10y ago
> Things like placeholders (infinite) Yep, we're definitely aware of MS's placeholders. Infinite is different in several key ways, not the least of which is that it is cross-platform. And doing this well on Mac is particularl
49.
▲
by
jamwt
10y ago
I'm a sync quality engineer at Dropbox--on the team that writes and maintains the sync engine. So caveat, I'm clearly quite biased. :-) > They don't do anything that their competitors (OneDrive, Box, Google Drive, etc.)
50.
▲
by
jamwt
10y ago
> The "software majors" do not. Not really true. Most or all of them do for the right candidate. They're not super vocal about it, though.
51.
▲
by
jamwt
10y ago
Purely OPVault! We've got pretty good OPVault support going, but your guys' RPC protocol is not open, right? Between mini and the browser plugins?
52.
▲
by
jamwt
10y ago
Coincidentally, a bunch of Dropboxers are working on a version of 1Password for Linux written in Rust (it's Dropbox's "Hack Week" right now). Hopefully we can open source it soon. Looking good so far!
53.
▲
by
jamwt
10y ago
> Would you be able to give more details as to how you use disks as raw block devices, bypassing the filesystem? For example, the kind of abstraction layers you use, their interfaces and methods, disk layout of extents, metadata layout,
54.
▲
by
jamwt
10y ago
Thanks! We're expanding our use of Rust into even more bold endeavours, details soon. Based on our experience with it in the last 1.5 years, stick with it, it will return your effort many times over in the medium-long run. Then again,
55.
▲
by
jamwt
10y ago
Python 2 isn't going anywhere so long as the multi-million line 2.X codebases at big tech companies exist. Every big Python codebase I'm aware of is 2.x.
56.
▲
by
jamwt
10y ago
Nope, honestly. Go is dropbox's primary infrastructure programming language. There's an extensive internal library/culture/toolset around go, so it made the most sense to use that.
57.
▲
by
jamwt
10y ago
These systems are of such a scale that the materials/power/real estate costs dwarf the engineering people costs. The tradeoff, it depends on your business and your team, your risk tolerance, time scales. But a rule of thumb might
58.
▲
by
jamwt
10y ago
(We actually only rebuilt two components in Rust--most of Magic Pocket is still go.) Memory usage/control, easy FFI with C, safety/correctness of code. Those were the big advantages for our projects. Edit: deterministic destructi
59.
▲
by
jamwt
10y ago
We're going to go into detail on that (the OSD component) in a future blog post... but short version, yep, it's a custom "filesystem" directly done on the block device.
60.
▲
Go bindings to RUst's REgex engine
(github.com)
3 points
by
jamwt
10y ago
|
0 comments
More ›