Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
stuhood
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
stuhood
6y ago
To spawn a sync function from an async context you use https://docs.rs/tokio/1.3.0/tokio/task/fn.spawn_blocking.htm... .
32.
▲
Fast Incremental Builds with Speculation and Cancellation
(blog.pantsbuild.org)
5 points
by
stuhood
6y ago
|
0 comments
33.
▲
by
stuhood
6y ago
Thanks for the kind words! > What's the performance impact of dependency inference on `pants dependencies`? There are two components to inferring dependencies: 1) Extracting dependencies from the code being built (in Python this mea
34.
▲
by
stuhood
6y ago
Hey folks! As mentioned in the post: file level dependency inference allows for dependency lists that are 30% smaller (improving cache hit rates), even while removing 90% of boilerplate from `BUILD` files. Happy to answer any questions!
35.
▲
Dependency inference in Pants 2.0.0: Precise caching without the boilerplate
(blog.pantsbuild.org)
8 points
by
stuhood
6y ago
|
3 comments
36.
▲
by
stuhood
6y ago
Hey folks! We'd love to answer any questions you might have, here or in Slack (linked from the post.) In particular, it's worth noting that 2.0.0 is a ground-up overhaul of Pants with a Rust core (but that wouldn't quite fit
37.
▲
Pants 2.0.0 released – Concurrently cache and orchestrate modern Python builds
(blog.pantsbuild.org)
19 points
by
stuhood
6y ago
|
3 comments
38.
▲
by
stuhood
6y ago
Great post. A point that neither this article nor the recent ninja retrospective ( http://neugierig.org/software/blog/2020/05/ninja.html ) touch on though is that hashing of files is an important step if y
39.
▲
by
stuhood
6y ago
There isn't, but that's a good idea. At a very high level, the v2 engine is "Skyframe but using async Rust". All filesystem access, snapshotting, UI, and networking is in Rust, and we use the Bazel remote execution API t
40.
▲
by
stuhood
6y ago
Great experience report: thank you! Wanted to point out that the Pants project has been focusing on widening that happy path recently (...by narrowing its focus to Python-only in the short term), and is ramping up to ship a 2.0. This page c
41.
▲
by
stuhood
6y ago
Can use `impl Trait` I think? ``` fn foo(s: impl AsRef<str>) ```
42.
▲
by
stuhood
6y ago
Hello! To add a bit of context: the Pants Build project has been managed by a non-profit 501c6 organization for the last few years, and is wholly independent from Twitter. In the last year, Twitter has contributed less than half of the chan
43.
▲
by
stuhood
6y ago
Hello! To add a bit of context: the Pants Build project has been managed by a non-profit 501c6 organization for the last few years, and is wholly independent from Twitter. In the last year, Twitter has contributed less than half of the chan
44.
▲
by
stuhood
6y ago
Hello! To add a bit of context: the Pants Build project has been managed by a non-profit 501c6 organization for the last few years, and is wholly independent from Twitter. In the last year, Twitter has contributed less than half of the chan
45.
▲
by
stuhood
7y ago
I think that that makes it fairly similar to Rust's approach then... compiler support for suspension, and cooperative scheduling.
46.
▲
by
stuhood
7y ago
The thing that makes it safe to use mutation in the context of a transient is that you can know with certainty that you have exclusive access to the value (because no other viewer has observed it yet). This is also what borrow checking can
47.
▲
by
stuhood
7y ago
Borrow checking allows even structures that support mutation to be safely (checked by the compiler) treated as immutable, and thus as values. Clojure also recognizes the connection between ownership and mutability in its "transients&
48.
▲
by
stuhood
7y ago
> When immutable values (whether it's the number 5 or a record, or whatever) are used with a pure function then the returned value can be essentially a direct replacement for the function invocation, making the operation essentially
49.
▲
by
stuhood
7y ago
Immutability is very helpful, and the connection between values and identity is illuminating. But there have been very important developments in programming languages since this post/page was written: notably, the introduction of "
50.
▲
Pants build tool completes migration to Python 3
(enterprise.foursquare.com)
5 points
by
stuhood
7y ago
|
0 comments
51.
▲
by
stuhood
9y ago
This is a really interesting thought. In the presence of must-use types, you'd imagine that types with side effecting Drop impls (like files), would want to migrate to eventually being used/consumed by a "close" method.
52.
▲
by
stuhood
10y ago
Twitter is not moving away from Scala. And the internal adoption of Java 8 has not had an appreciable impact on the growth of the Scala codebase.
53.
▲
by
stuhood
10y ago
Nice. Could imagine this as a realtime renderer for http://zipkin.io/
54.
▲
by
stuhood
10y ago
Twitter is not moving away from Scala. Scala continues to grow at a faster rate internally then any other language, and is ~50% of Twitter's backend codebase.
55.
▲
The Pants build system has reached 1.0.0
(pantsbuild.org)
18 points
by
stuhood
10y ago
|
0 comments
56.
▲
by
stuhood
11y ago
There is little-to-no actor composition in this post, except that which is hidden by the framework that they've implementated... instead, it describes using the methods of an interface to communicate between your implementation, and th
57.
▲
by
stuhood
11y ago
When you look at how the composibility of Futures/Promises make both sideffecting and transformation tasks like monitoring completely trivial, it becomes really hard to accept the actor model as a reasonable choice.
58.
▲
by
stuhood
11y ago
Ah, sorry. Even the article I linked is potentially stale. Things seem to be moving quickly. The "near majority" statement was based on unconfirmed reports that another large pool has hopped onboard: https://twitter.com
59.
▲
by
stuhood
11y ago
This article is already stale: a near majority of the network has voted for BIP100 in the last few days. http://bitcoinist.net/block-size-debate-takes-turn-f2pool-re...
60.
▲
by
stuhood
11y ago
In scala, the body of a match expression is a PartialFunction, and PartialFunctions compose similarly.
More ›