Rasmus Andersson

47.1K posts

Rasmus Andersson banner
Rasmus Andersson

Rasmus Andersson

@rsms

Adventures in software & design. Founder of @playbit_, designer of Inter, @Figma, @Spotify. Eng & design @Facebook

Berkeley Katılım Mart 2007
2.9K Takip Edilen89.9K Takipçiler
Rasmus Andersson
@DylanMcD8 Most likely a custom job, based on a font. If I was the designer making the symbols for that wheel I wouldn’t just type text with a font; I’d make 103 handmade versions of each and dream about them and ask all my coworkers about them and print them and never feel truly confident
English
0
0
6
882
Dylan
Dylan@DylanMcD8·
Would anyone happen to know the font used for the "menu" button on the iPod 1st/2nd gen?
Dylan tweet mediaDylan tweet media
English
19
5
201
18K
Rasmus Andersson retweetledi
Tony Fadell
Tony Fadell@tfadell·
Convenient, but not connected. I'm seeing more iPods, point-and-shoot cameras, flip phones, and CD players than I have in years. This isn't nostalgia. It's a reaction to a world of endless notifications and unlimited choice. When we built the iPod, the goal was simple: make listening to music effortless. The best technology disappears into the experience. It doesn't constantly interrupt it. The next wave of innovation won't be about doing more. It will be about helping people focus on what matters most. Great read from Nancy Walecki in @TheAtlantic theatlantic.com/health/2026/07…
English
36
50
397
47.1K
Rasmus Andersson
@UltraLinx It’s kind of pretty in a “memento pebble” kind of way but otherwise terrible. Polished surface means high friction, low profile means you get on the express lane to RSI
English
1
0
9
1.2K
Oliur
Oliur@UltraLinx·
Let me present you the best mouse ever made. It has an omnidirectional scrolling input on top.
Oliur tweet media
Nico@nico_jeannen

Been using @Logitech MX Masters for the past few years and the quality is absolute trash I've had 5 so far. EVERY SINGLE ONE breaks after ~6 months of use with the EXACT SAME ISSUE (the left click stops working). Any good alternative to this junkware? The #1 things I need are the ability to horizontal scroll, all the buttons (eg, to easily move between desktops, as well as being able to swap between devices easily.

English
88
4
509
116.3K
Rasmus Andersson
@nico_jeannen @Logitech Same. And the Logitech app might be the single worst piece of software I’ve ever used (outside of the web world.) I’d happily pay 4x more for a better-quality product with fewer features
English
0
0
5
725
Nico
Nico@nico_jeannen·
Been using @Logitech MX Masters for the past few years and the quality is absolute trash I've had 5 so far. EVERY SINGLE ONE breaks after ~6 months of use with the EXACT SAME ISSUE (the left click stops working). Any good alternative to this junkware? The #1 things I need are the ability to horizontal scroll, all the buttons (eg, to easily move between desktops, as well as being able to swap between devices easily.
Nico tweet media
English
102
1
59
143.3K
Rasmus Andersson
@kevintwohy Yesss! Physical boxes for software is like Toy Story for toys — it gives software some form of life it doesn’t otherwise have
English
0
1
7
1.1K
Rasmus Andersson retweetledi
Design Everywhere
Design Everywhere@dsgnevrywhr·
New York Magazine by Susanna Hayward.
English
176
1.4K
20.7K
6.4M
Kelly Sommers
Kelly Sommers@kellabyte·
Everyone that cares about perf should follow @lemire. One of my fav follows of all time I was intro to his work 2016 via Cliff Moon - first implementer of Amazon Dynamo outside Amazon I believe As a French Canadian it makes me smile to see such excellence at a Canadian school
English
3
2
100
12.6K
Rasmus Andersson
@mimestream I was a little confused by this. Would be clearer to say >=26 (26+ makes it sound like you may need a version after 26, not including 26, but I think you mean it like people’s age “30+” is used in English)
Rasmus Andersson tweet media
English
1
0
1
188
Mimestream
Mimestream@mimestream·
If you think you might have missed our email, log in to accounts.mimestream.com. There should be a banner inviting you to join the TestFlight beta at the top of the page, if your account meets the current invite criteria (been a customer for at least 12 months).
English
1
1
3
1.5K
Mimestream
Mimestream@mimestream·
Another batch of invites just went out for the Mimestream iOS TestFlight 🎉 Thanks to everyone who's been testing and sharing feedback over the last several months. It's made a huge difference! 🙏 We're in the final stretch now. There's still work to do, but we're getting closer!
Mimestream tweet media
English
7
2
62
22.7K
Matt DesLauriers
Matt DesLauriers@mattdesl·
splatting 5000+ 2D vector shapes—far exceeding the current state of the art in speed and fit, I believe. on same hardware: ours: ~2 minutes, 36.17 PSNR Bézier splatting: ~20 minutes, 32.22 PSNR
English
5
5
134
10K
Mitchell Hashimoto
Mitchell Hashimoto@mitchellh·
Ghostty is getting automatic scrollback compression, resulting in 70 to 90% less physical memory usage. It happens incrementally when idle, so it had no measurable effect on IO throughput. I'm not aware of any other mainstream terminal that does this. Demo video below! The gains let us increase the default scrollback limit from 10MB to 50MB, because on average a full scrollback will still compress smaller than the prior limit. More history, for free. ("Unlimited", disk-paged history is on the roadmap too) Let's talk about cool implementation details, cause this was fun. First, the data structure and memory layout ("PageList") I wrote two years ago finally pays off! One of its traits is that screen memory is backed by a linked list of page-aligned, page-sized (or page-multiple-sized) blocks. Because each block is page-aligned and page-sized, we can use madvise to discard its physical backing while keeping the virtual address space reserved. Compressed pages therefore disappear from resident memory, but decompression is still guaranteed because the address space remains valid and we simply fault new pages back in as needed. We use the same trick for our memory pools, too. Unallocated pool pages don't count as resident memory, saving another couple of MB per terminal. This functionality is also available to libghostty-vt consumers via new `ghostty_terminal_compress` APIs. The consumer decides when the appropriate time to compress is and the APIs advise on compressability.
English
64
96
3K
157.7K
Marcin Ignac
Marcin Ignac@marcinignac·
@rsms Very nice. What kind of renderer is it? I mean what level of abstraction does it operate on? A gpu wrapper or some proper scene/render graph? No WebAssembly.promising() in Safari TP means it won't run there for a while or is this something that can be polyfilled somehow?
English
2
0
0
640
Rasmus Andersson
If you have a EDR/HDR display, try this little mesh gradient Playbit demo on desktop in Chrome playbit.app/demo/ (only works in chrome and safari dev preview since we use async wasm) Built with our new wide-gamut webgpu renderer, shipping in a few weeks
English
17
11
324
33.4K
Rasmus Andersson
The renderer is implemented in webgpu and uses a few pipelines, with one “happy path” uber shader + pipeline (no pipeline switching unless there’s complex masking or blending.) User-facing API is batch-of-command-array (you can see it in the example source code posted in reply tweet.) No graph or scene, just a stack. You do push/pop for blend groups, affine transformation, masking and set-texture. You can use standard webgpu.h to do custom webgpu and composite the result as a texture (or bypass our render entirely and just take over the OS window surface for webgpu.)
English
0
0
4
220
Rasmus Andersson retweetledi
James Shedden
James Shedden@jamesshedden·
If you missed my recent post, I'm still making a game and excited by my progress so far in bringing my style to life. I'm thinking something like Webfishing in my art style and am considering a Kickstarter to buy me time to work on this. Mailing list in replies for updates!
English
5
29
487
11.5K
Rasmus Andersson retweetledi
Rasmus Andersson
@henrikberggren We should be doing the opposite: looking at the world as a playground, not as something “serious”
English
3
0
10
999
Henrik
Henrik@henrikberggren·
Why are we adding "Engineer" to every function? Are we that bad at building software so that we require engineers to configure every tool?
English
2
0
6
1.6K