tomaka Profile picture
@rustlang, graphics programming, now the guy responsible for the peer-to-peer networking at @paritytech. NOT A BL*CKCH*IN PERSON. Real name is Pierre Krieger.
Dec 12, 2021 12 tweets 2 min read
My two cents on this whole log4j2 thing:

Open source maintainers have no obligation whatsoever to maintain their code just because it's used by other people. If you use open source code and it has a bug, fix it yourself.

(thread) I believe in openly sharing code, because code is just information. You write a piece of code that does a specific thing, and others who happen to be in need of a piece of code that does this specific thing can use it.
Dec 1, 2021 16 tweets 3 min read
I get occasionally asked how I manage to be so productive at programming, so here's a 101.

🧵 Your main goal when programming isn't so much to write code that works, but to write code that you know will be easy to adjust.

Each part of the design of your program should have some degree of stability (explicitly or in your head).

Only build layer on top of stable things.
Jun 13, 2021 12 tweets 2 min read
Imagine if we changed the school system. Every time you successfully pass a test, you get one "diploma point". After having accumulated a certain number of diploma points, you can go to the next year.

Some time passes, and some smart students start thinking "well, I always... ...have A+s all the time, but there's only one test a week, I wish I got my diploma sooner but I can only accumulate 1 DP/week". So they successfully lobby the school administration to let students exchange diploma points.

They start borrowing DPs from other students, so that
Feb 29, 2020 23 tweets 3 min read
On this Saturday afternoon, I thought I'd write up what I consider a healthy open source environment and what is good open source code. Most of it is common knowledge, but I thought I'd write down a list. (1/23) Almost all of the discussions, whether it is about bugs or about the project's roadmap, should be done publicly in issues. This allows everybody to be part of conversations, even when they were not initially part of it. (2/23)
Oct 27, 2019 19 tweets 3 min read
Small thread about why command buffers in vulkano (a Rust library that wraps around Vulkan) are so complicated. Let's take an example situation to illustrate:

You allocate two buffers A and B, then you write the content of buffer A (in your program), then you want to ask the GPU to copy the content of buffer A to buffer B.
Oct 6, 2018 11 tweets 3 min read
Small thread about a #rustlang #libp2p design mistake I made.

When you write, for example an HTTP server, each connection is handled on its own, and all of them are handled concurrently.

If multiple connections need mutable access to something, you lock a mutex. Using a mutex is not a problem, because you don't care in which order requests in multiple different connections are being handled, and therefore you don't care whether connection A locks the mutex first or connection B.

But in a peer to peer environment, it's different.