221 results for "":
Reading files the hard way - Part 2 (x86 asm, linux kernel)
Looking at that latest mental model, it’s.. a bit suspicious that every program ends up calling the same set of functions. It’s almost like something different happens when calling those.
Are those even regular functions? Can we step through them with a debugger?
If we run our stdio-powered C program in gdb, and break on read, we can
confirm that we indeed end up calling a read function (which is called
__GI___libc_read here, but oh well):
Using the Shipyard private crate registry with Docker
Wait wait wait, so we’re not talking about nix yet?
Well, no! The service we have is pretty simple, and I want to complicate things a bit, to show how things would work in both the Dockerfile and the nix scenario.
And because I don’t like contrived examples, we’re going to do something somewhat real-world: we’re going to geo-locate visitors, and track how many visits we get from each country.
Celebrating Mario Maker
I’ve been watching a lot of Super Mario Maker videos this past month. Probably a hundred hours! This game is like a world onto itself, and it was fascinating to learn its design language and patterns.
With Super Mario Maker 2 coming out soon, I thought I’d show off some of the cool stuff I’ve seen, to celebrate Mario Maker.
We’ll start with some basic elements of Mario Maker (with screenshots), and then move on to a lot of video clips showing cool stuff.
Introducing arborium, a tree-sitter distribution
About two weeks ago I entered a discussion with the docs.rs team about, basically, why we have to look at this:
When we could be looking at this:
And of course, as always, there are reasons why things are the way they are. In an effort to understand those reasons, I opened a GitHub issue which resulted in a short but productive discussion.
I walked away discouraged, and then decided to, reasons be damned, attack this problem from three different angles.
Getting in and out of trouble with Rust futures
I started experimenting with asynchronous Rust code back when futures 0.1
was all we had - before async/await. I was a Rust baby then (I’m at least
a toddler now), so I quickly drowned in a sea of .and_then, .map_err
and Either<A, B>.
But that’s all in the past! I guess!
Now everything is fine, and things go smoothly. For the most part. But even
with async/await, there are still some cases where the compiler diagnostics are,
just, so much.
Does Dioxus spark joy?
Note: this article is adapted from a presentation I gave at a Rust Paris Meetup — that’s why it sounds a little different than usual. Enjoy!
Good evening! Tonight, I will attempt to answer the question: Does Dioxus spark joy? Or at the very least, whimsy.
What’s Dioxus, you ask? It is first and foremost a name that is quote: “legally not inspired by any Pokémon”.
Beware the Google Password Manager
Hey internet! So, someone broke into some of my accounts.
I’m taking entire responsibility for this - there’s the part where I fucked up, and if I didn’t fuck up, then none of this would’ve happened.
But there’s also the part where a series of design decisions from various vendors combined into the perfect storm for me.
And we’re going to talk about both! Separately! And calmly.
Catching up with async Rust
In December 2023, a minor miracle happened: async fn in traits shipped.
As of Rust 1.39, we already had free-standing async functions:
pub async fn read_hosts () -> eyre:: Result < Vec < u8 >> {
// etc.
}
…and async functions in impl blocks:
impl HostReader {
pub async fn read_hosts ( & self ) -> eyre:: Result < Vec < u8 >>
Just paying Figma $15/month because nothing else fucking works
My family wasn’t poor by any stretch of the imagination, but I was raised to avoid spending money whenever possible.
I was also taught “it’s a poor craftsman that blames their tools”, which apparently means “take responsibility for your fuckups”, but, to young-me, definitely sounded more like “you don’t deserve nice things”.
I was also taught from an early age that I was born a sinner, incapable of doing good by myself, and that all the earthly things were temptations, sent by the devil to corrupt me (further I guess?) but also temporary, and that I shouldn’t attach myself.