Top all-time · #1321
pcwalton
Personal blog · pcwalton.github.ioprogrammingsystems
pcwalton is a personal blog at pcwalton.github.io about programming and systems. Since 2013, 53 different Hacker News readers have linked it 65 times, most often “Revamped Parallel Layout in Servo”. No feed was found, so read it on the site itself.
Rarely recommended · 0 of 40 sampled comments recommend it?
Why HN links it
HN readers link pcwalton's blog, which covers Rust's design history (removing garbage collection, typestate), Servo's parallel layout, and WebRender and Firefox graphics plans.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Revamped Parallel Layout in Servo6 people · 7 mentions · first linked 2014-02-26
- Pathfinder, a fast GPU-based font rasterizer in Rust5 people · 5 mentions · first linked 2017-02-14
- /_posts/2013-06-02-removing-garbage-collection-from-the-rust-language.html5 people · 5 mentions · first linked 2022-09-21
- Removing garbage collection from the Rust language5 people · 5 mentions · first linked 2013-06-03
- /slides/webrender-talk-022016/4 people · 4 mentions · first linked 2016-02-25
- Performance of sequential Rust programs4 people · 4 mentions · first linked 2013-04-18
- Removing Garbage Collection from the Rust Language (2013)3 people · 3 mentions · first linked 2020-12-23
- /blog/2012/12/26/typestate-is-dead/3 people · 3 mentions · first linked 2015-01-09
- /2018/12/07/plans-for-2019.html2 people · 4 mentions · first linked 2018-12-11
- /2012/12/26/typestate-is-dead.html2 people · 2 mentions · first linked 2018-12-24
What Hacker News says?
The Rust compiler doesn't produce warnings out of zealotry, but rather as a consequence of pre-1.0 historical decisions. Note that Rust doesn't use any syntax in pattern matching contexts to distinguish between bindings and enum variants. In pre-1.0 versions of Rust, this created footguns where an author might think they were matching on an enum, but the compiler was actually parsing it as a catch-all binding that w…
Comment linking /_posts/2012-06-03-maximally-minimal-classes-for-rust.html
on “Greppability is an underrated code metric”Submitted Pathfinder, a fast GPU-based font rasterizer in Rust as a story · 384 points
HN discussionI'm guessing this and power issues are due to the non-native compositer which pcwalton wants to fix in 2019 https://pcwalton.github.io/2018/12/07/plans-for-2019.html
Comment linking /2018/12/07/plans-for-2019.html
on “Firefox 64 Released”Submitted Removing garbage collection from the Rust language as a story · 242 points
HN discussionThis is a very old post, but you can encode many uses of typestate pretty easily: http://pcwalton.github.io/blog/2012/12/26/typestate-is-dead/ It'd be great for someone to write a more up-to-date version of this post!
Comment linking /blog/2012/12/26/typestate-is-dead/
on “Announcing Rust 1.0 Alpha”Submitted Performance of sequential Rust programs as a story · 66 points
HN discussionhttps://bugzilla.mozilla.org/show_bug.cgi?id=909760 and https://bugzilla.mozilla.org/show_bug.cgi?id=1104146 are the issues for downloading which are 4 and 6 years old. Chrome and Safari support keyboard multimedia keys to play/pause video and audio which firefox does not. Picture in Picture is not available on Firefox. Pinch and double tap gestures to zoom are not available. Scrolling does not follow system convent…
Comment linking /2018/12/07/plans-for-2019.html
on “Firefox 66.0 Aims to Reduce Online Annoyances”Submitted Typestate Is Dead, Long Live Typestate (2012) as a story · 16 points
HN discussionRust used to have a lot of stuff built into the language, including garbage collection![0] I think that a long time ago they chose to move stuff out into libraries so that Rust could be a serious competitor to C++. https://pcwalton.github.io/2013/06/02/removing-garbage-colle...
Comment linking /2013/06/02/removing-garbage-collection-from-the-rust-language.html
on “Tokio 1.0 – async runtime for Rust”Submitted Safe Manual Memory Management as a story · 8 points
HN discussionhttps://pcwalton.github.io/_posts/2013-06-02-removing-garbag... This came 2 years after C++11 was finalized, which introduced RAII memory management, threads, range loops and much more, and is the basis for modern C++. Of course, there are pros and cons to keeping backwards compatibility with old code. Personally I think it's an amazing technical achievement that the same code written in 1987 still works. Particular…
Comment linking /_posts/2013-06-02-removing-garbage-collection-from-the-rust-language.html
on “It's time to halt starting any new projects in C/C++”Submitted Revamped Parallel Layout in Servo as a story · 7 points
HN discussionI wonder if this is due to not using the native compositor which they are looking at fixing this year. See "Adding support for native OS compositors to WebRender" at https://pcwalton.github.io/2018/12/07/plans-for-2019.html
Comment linking /2018/12/07/plans-for-2019.html
on “Firefox 65.0 released”Submitted A hard case for memory safety as a story · 4 points
HN discussionI've only seen people complain about WebRender on Mac. Looks like the cause is known and looking to be fixed this year [1]. [1] See "Adding support for native OS compositors to WebRender" on https://pcwalton.github.io/2018/12/07/plans-for-2019.html
Comment linking /2018/12/07/plans-for-2019.html
on “Firefox 65.0 released”Submitted `Cxx-Async` as a story · 2 points
HN discussion"Glyphs—rasterized on CPU with Quartz or FreeType (for now)"[0] 0: http://pcwalton.github.io/slides/webrender-talk-022016/
Comment linking /slides/webrender-talk-022016/
on “Mozilla Webrender: rendering any webpage at several hundred FPS”Submitted `Cxx-Async` as a story · 2 points
HN discussionI think these are the slides: http://pcwalton.github.io/slides/webrender-talk-022016/
Comment linking /slides/webrender-talk-022016/
on “Mozilla Webrender: rendering any webpage at several hundred FPS”Submitted Removing Garbage Collection from the Rust Language (2013) as a story · 2 points
HN discussion> Rust fully supports this case with arenas. Please supply evidence (aka. code) to back your one-liners. I assume you're talking about libextra/arena.rs. It's very straightforward; there's a big comment at the top of the file, so I don't have to point out how primitive or sophisticated it is. > And that's why the new scheduler is written in Rust. You're talking about libstd/rt/sched.rs. So it uses the UnsafeAtomicRc…
Comment linking /blog/2013/04/18/performance-of-sequential-rust-programs/
on “The Future of Programming”Submitted Pcwalton’s Plans for 2019 as a story · 2 points
HN discussion> Let's take a couple of simple examples of when manual memory management is helpful: > > - implement a complex data structure that requires a lot of memory: you can request a chunk of memory from the kernel, do an area-allocation and choose to allocate/free on your own terms. Rust fully supports this case with arenas. > - implement a performant concurrency model. You essentially need some sort of scheduler to give…
Comment linking /blog/2013/04/18/performance-of-sequential-rust-programs/
on “The Future of Programming”Submitted Drawing CSS Box Shadows in WebRender as a story · 2 points
HN discussionI have a blog post from last year on the topic: http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-...
Comment linking /blog/2014/02/25/revamped-parallel-layout-in-servo/
on ““The colored boxes indicate which CPU core performed layout for each node””Submitted Removing Garbage Collection from the Rust Language (2013) as a story · 1 points
HN discussionThe funny thing is that rust used to have things like garbage collection. For the kind of language Rust wanted to be, removing them was a good change. But there could always be a world where it kept them. https://pcwalton.github.io/_posts/2013-06-02-removing-garbag...
Comment linking /_posts/2013-06-02-removing-garbage-collection-from-the-rust-language.html
on “Dada, an experimental new programming language”Submitted Revamped Parallel Layout in Servo as a story · 1 points
HN discussionNo, this feature has existed a long time. Here's a post from 2012 showing it's use: http://pcwalton.github.io/blog/2012/08/08/a-gentle-introduct...
Comment linking /blog/2012/08/08/a-gentle-introduction-to-traits-in-rust/
on “Things Rust shipped without”Submitted Rust: which pointer should I use? as a story · 1 points
HN discussion