Sign in with Twitter

Username:

Patrick Walton @pcwalton San Francisco, CA

Research engineer at Mozilla

511 Following   10,599 Followers   9,930 Tweets

Joined Twitter 11/9/09


@jfbastien I would think that p would have to be null, but the uintptr casts make me unsure
7/8
2020
@steveklabnik Pathfinder is like this, but I don’t build at the top level and instead build individual packagesHow I’m building float layout in Servo layout 2020: Going down the list of rules in https://t.co/jh7ZLpfFyy, conver… https://t.co/P3lMBEcNTn
7/7
2020
Microsoft Research just released Project Freta, a free service for detecting evidence of OS and sensor sabotage, la… https://t.co/mFChXonWu8
Retweeted by Patrick Walton
7/6
2020
The fact that PF remains competitive with native CPU rasterizers even with a 6.8x penalty is definitely nice to see though :) @crzwdjk Here on native it’s 68ms CPU, 111ms GPU, CPU pipelined with GPU to hide latency. This is perfectly fine, b… https://t.co/abfyumejkH @crzwdjk Compute shader, mostly. Note that on this MacBook Pro on Intel GPU not having compute shader isn’t that b… https://t.co/Fm0qIHFuYiPathfinder’s D3D9-level backend renders the paris-30k test case in wasm with 6.8x slower CPU time than in native. S… https://t.co/HajxkW9WmH
7/5
2020
@antumbral @slightlylate Objective-C is a mess, but it’s hard to argue that it hasn’t been wildly successful. (Inc… https://t.co/WTTJPicry0 @GrantHusbands Canvas. @amccreight Amazing @pcwalton Around 20 years ago, I was modifying a Java solar system demo. Some bug I introduced caused some accumula… https://t.co/8HRpYjdEbn
Retweeted by Patrick WaltonBy the way, the WebGL app in question is pdf.js with a Pathfinder renderer. It's looking promising so far :)Debugging my untrusted WebGL app which reliably segfaults the Apple GPU kernel driver, panicking the kernel. Think I’m done for the day. @gsnedders I’d also put blame on Qualcomm for not making ARM CPUs that people want to actually buy… @Knarf93 Nothing works ever
7/4
2020
@jckarter @glaebhoerl @ManishEarth @maybechalmers Destructors also mean that things that look like tail calls often… https://t.co/Xvq9CuYLIUReally wish the wasm-bindgen workflow had better support for Parcel, because Webpack is such a pain.I expect WebGPU will help the Pathfinder browser use case a lot, because (1) wasm isn't quite as fast as native cod… https://t.co/cZlmHpBztTAdded an example of how to use Pathfinder in browser-based Rust apps via WebGL and wasm: https://t.co/wfWtFyv60I @cedumelo Not layout, no, though the Servo style system has been in Firefox for years now.The revamped Servo layout 2020 is some of the most pedantically type-safe Rust code I’ve ever worked with, and doin… https://t.co/8UsZJhmYcAJust a reminder of how prescient @BRIAN_____ continues to be with PKI issues: https://t.co/i9T9IXDunf If you're s… https://t.co/y8HmdBGN66
Retweeted by Patrick WaltonTIL: Some Go folks are using a WebGLified Pathfinder to do vector UI rendering. Cool to see Rust/Go/JS interop! https://t.co/YfOvnFS85K
7/3
2020
@crzwdjk I haven’t tested, but for fonts it’s probably the size at which being able to avoid touching blank areas o… https://t.co/5aPAcxl43YMore simply: even though Pathfinder’s performance means you *can* get away with rerendering everything from scratch… https://t.co/9qFqKypMCWNote that I want to make Pathfinder as fast as possible when rerendering vectors from scratch every frame. It’s jus… https://t.co/UvImVLiK8yRendering small 2D text as vectors from scratch every frame when scrolling or editing is a non-goal of Pathfinder.… https://t.co/fpY5IRSuOB @hilmargustafs I love the Rust community.It’d be cool if there were a Cargo.toml versions autocomplete plugin for VS Code so you could type e.g. “web-sys =“… https://t.co/3n69CBCVMD @whitequark the real cowardice is not calling it fargo
Retweeted by Patrick Waltonone of the things i like about rust is that it sometimes advances the state of the art even for people who will nev… https://t.co/0fvNLumlm7
Retweeted by Patrick Walton @mikeal And Skia. Skia is a nightmare to build…
7/2
2020
@jfbastien @UINT_MIN @ohunt Yeah, my understanding (which could be wrong) is that Adobe/Opera(?) wanted 100% featur… https://t.co/qEFxioe164For me becoming a senior engineer has meant learning not to be afraid to write hilariously dumb and slow code. Half… https://t.co/9VDmBQdPfC @UINT_MIN @ohunt The SVG standard has had support for raw sockets. The vector graphic format. Making raw network co… https://t.co/Vu2VPa1x6m
Retweeted by Patrick WaltonComputers are lazy. Real engineers make ASICs for every program. (And no writing Verilog either. Real engineers do… https://t.co/VAa3lqgE95
Retweeted by Patrick WaltonComputers are lazy. Real engineers make ASICs for every program. (And no writing Verilog either. Real engineers do… https://t.co/VAa3lqgE95
6/30
2020
In a way, Pathfinder D3D11/piet-gpu move us closer to the Display PostScript and XRENDER ideal: a client/server ren… https://t.co/aRDJN55hjJ
6/29
2020
@ManishEarth The California flag is objectively the best one, don’t @ meThat feeling when you realize all your Metal memory management has been built around *not* having an autorelease po… https://t.co/Qf5EvfGYsU @ManishEarth @littlecalculist Noooo, I hate implementing clip paths
6/27
2020
@reillyeon @w3c Slack was considered for Mozilla too. I’m glad Moz went for Matrix instead.Hard to overstate how much of a good call it was for Mozilla to move from IRC to Matrix.
6/26
2020
The fun part about all the right-wing social media alternatives professing to guarantee free speech is that they im… https://t.co/4BqM7kJY46
Retweeted by Patrick Walton @pcwalton @UINT_MIN Craig Federighi says No here https://t.co/xK4ofnV0ke
Retweeted by Patrick WaltonI assume this means no then. @UINT_MIN https://t.co/aVvwyFYzp1
6/25
2020
@geoffpursell It’s in progress! @zeuxcg @ID_AA_Carmack .@raphlinus’ work is even more sophisticated for tiling in fact https://t.co/ITilissVNa @zeuxcg @ID_AA_Carmack Pathfinder does something similar in Metal, in fact, building up lists of drawing commands per 16x16px tile. @UINT_MIN In theory one could use a kext to boot Linux, I guess, but what a hack. @Gok @larsberg_ (This is the best compilation strategy for dynamic languages too, but it’s hard to do this AOT, whe… https://t.co/odRMgBeoTi @Gok @larsberg_ I think it depends. AOT experiments for JS haven’t gone well. Perhaps I should be more specific: A… https://t.co/78RyGoTZ6j @larsberg_ I’ve heard that Apple has some magic optimizations implemented in their custom CPUs to accelerate indire… https://t.co/F2Aur0SGPX @larsberg_ Yeah, this is why I feel like fully dynamic languages are best implemented the good old Smalltalk (or JV… https://t.co/dIduiMnjT9Good thread. I’m pleasantly surprised to see aggressive Obj-C message optimization implemented. https://t.co/Hqbbz9lOlL
6/24
2020
If you've been curious about AVR on #rustlang, https://t.co/GsQQMOm9sc
Retweeted by Patrick WaltonThe compute shader path has finally landed in Pathfinder’s master branch! https://t.co/miFvC2X0miAnother naive Fibonacci language benchmark just appeared on HN. What are the chances of getting an LLVM patch acce… https://t.co/KF1ub7L9B1Has anyone managed to get any kexts loaded on macOS 11 beta yet? It asks me to approve even the ones it ships with… https://t.co/Q3hcSe6Swq
Retweeted by Patrick Walton @comex @johnregehr @jckarter @mycoliza To be clear I’m very sympathetic to the idea that everything from a single v… https://t.co/NkRxKmyXTN @comex @johnregehr @jckarter @mycoliza Yeah, I just think it would be nice if Apple wrote that tool. I’m not oppose… https://t.co/W7NOSs1xkaOpening iOS and Android up as truly open platforms with a genuinely level playing field between first party and thi… https://t.co/QhjcZdQmBU
Retweeted by Patrick Walton @comex @johnregehr @jckarter @mycoliza Yeah, the problem is reverse engineering, which I end up doing a lot… @UINT_MIN Since it’s for developers, I’d just be honest and say “Yes, this isn’t notarized because I want Apple to… https://t.co/kD8ggGuz8A @hikari_no_yume @DrywolfDev Metal Shading Language was an interesting experiment in trying to build a GPU language… https://t.co/LgISpna7z3 @johnregehr @mycoliza Guess we'd all better learn how to use these tools https://t.co/TgeR4efNgA @vvuk @slightlylate @mozilla Speaking only for myself here, I praised the decision because a small improvement to t… https://t.co/qW0I4BNMP5
6/23
2020
@filpizlo Like, sorry, I’m not here for the claim that an environment with fast locks is as easy to learn as an env… https://t.co/nxfBc6TS7O @filpizlo How many artists do you know who have written parallel code in Java? @hikari_no_yume Exactly! GLSL is surprisingly well-designed. @pcwalton C or C++ could have been the languages to write shaders in (actually, they /are/ the basis of some popula… https://t.co/1tjfUxxoNY
Retweeted by Patrick WaltonInteresting, I didn’t expect Apple to allow any third-party code to run in kernel mode at all. Nice to see ring 0 i… https://t.co/OCCREEhc7h @NikolaiVazquez It’s no different from Intel GPUs really.(I’m not so much referring to evaluating individual nodes in parallel as shading pixels in parallel.) @jfbastien Does any spreadsheet program actually evaluate in parallel though?I think it’s underappreciated how much work the graphics community has done to bring parallel programming to a wide… https://t.co/oUCdQff74tARM Macs will still support OpenGL and OpenCL https://t.co/A14sGVvzgc
Retweeted by Patrick WaltonSpecifically I could have seen them easily do something like "you can distribute x86 apps as you did before, but na… https://t.co/8cuKGsP7Jn @comex Not to mention NeXTStep/OPENSTEP used fat binaries with 4 architectures (m68k/x86/SPARC/something else). @CryZe107 Nightly onlyApropos nothing, Pathfinder has ARM SIMD support. :) @UINT_MIN And just as I tweet this… :) @UINT_MIN Hopefully at least there’s virtualization support, so you can get to ARM supervisor mode but not hypervisor mode.My biggest concern about the macOS ARM transition is that Apple will use the opportunity to move to a locked-down i… https://t.co/l1hmbXzV4k @matthew_d_green Safari has a commanding overall market share on macOS per my understanding, though I wouldn’t be s… https://t.co/I3a7FyAmUR @whitequark Darn, that’s unfortunate. @urhein Interesting idea :) Though we already have mrustc for that…Buried in this presentation: There’s a way to compile Rust and Go to C now! https://t.co/Ul2sdI4hz3So that happened ... #WWDC2020 #Firefox https://t.co/jfIBAcXAdj
Retweeted by Patrick WaltonMOVABS - Move To The Abyss
Retweeted by Patrick Walton
6/22
2020
You could fix that by tiling your polygon, but I’m pretty sure the tiles would have to overlap by 3σ pixels in ever… https://t.co/IZmYwEL5TnHaven’t proven this to myself, but I think there’s a closed-form formula for Gaussian blur for any 2D object that c… https://t.co/vxJ84GpRCRThomas made my @rustlang topfew port massively faster, partly by scaling linearly in the number of cores through th… https://t.co/ke896X5npX
Retweeted by Patrick WaltonThis thread reminded me that there’s an ongoing effort to support ebcdic source files in clang right now. https://t.co/Mi3pofMQhc
Retweeted by Patrick Walton
6/21
2020
One thing nobody tells you about programming in Rust is how much you'll accidentally learn about car maintenance as you google for things.
Retweeted by Patrick Walton @andreasgal Cool, thanks!(The alternative I can think of would be having something like a shared “staging” ring buffer in GPU-accessible CPU… https://t.co/51jnKaxUt2For discrete GPUs, OpenGL drivers traditionally (i.e. without any special flags) hold a copy of each buffer and tex… https://t.co/q9nuEReGCf @gcrickhudson @bradfitz @dgryski BTW I don’t think it’s a reason to avoid either language, but all I’m saying is th… https://t.co/7QIy9yuVaP
6/20
2020

0