BLOG.GOOSE.LOVE

So, you want to contribute to Rust?

Note that I’m not the person with the most expertise in Rust contributions, but I’ve done my fair share of PRs, bug reports on the whole Rust compiler ecosystem. (261 at the time of writing) The first thing you need to know is how to use git and Rust, you can start learning git by a myriad of ways, so I can’t comment there, but the official Rust learning material is great and interactive, check it out.

I compared 14 hashing algorithms on Rust using Criterion

A vital piece of technologies in modern days is the hashing function, a function that takes in some input and returns a non-meaningful and unique output. (As you can see, there’s no pattern) As hash functions just take a sequence of bits, they are used in lots of scenarios. From vital (mostly builtin) structures like the HashMap, to authenticating users without storing their plain-text password, to detecting if a file has changed by storing its hash and checking it continuously.

Rust project goals & what's coming

The Rust organization is starting an initiative for “project goals”, in which every team submits a list of goals that they’d like to achieve in the coming months. I talked with my team on Zulip and got our hands dirty drafting a list of goals for 2024’s second half. You can read the final document here. After receiving feedback and merging a few PRs to the project goals repo, and receiving a general “πŸ‘” from the team, we’re adding “Optimizing Clippy & linting” to Rust’s RFC for project goals 2024H2.

The Clippy Performance Project (part one)

I’ve done several drafts of this post, and never settled on one in particular. They just got lost in the weeds. So today I’ll write the post that will finally be published talking about a project I’ve been keeping private for a while: The Clippy Performance Project! What’s Clippy? Clippy is the official Rust linter. A linter is a tool that serves to analyze and improve your code, commonly used within CI for ensuring consistency and good practices are maintained across a project.

In the defense of pet lampreys

The original version is available here (Spanish, PDF) As I promised in the last post, I’m here to (kinda late) deliver a text I made about a year ago! (I’ll try to keep the styles from the PDF hehe :3) As a retrospect: This writing is the rambling of a pretty mentally-unstable individual (as I was back then, I’ve been getting better for about a year now 🐱) who just decided to “let it loose” and decides to not filter the output as long as it’s entertaining.

Releasing artistic work: Announcement

Today’s post is more of an announcement than of a post in itself, but it comes with lore, so be prepared. The stories πŸ“– I have a few short stories written by a younger self that I’d like to be “immortalized”. They are short, usually in the 1 - 3 pages range, but interesting in a way that only a short experience could be. They try new things and the few people that had read them said pretty positive things, so I have no doubt that maybe someone here likes them as well.

I'm a Google Open Source award winner

I wasn’t planning on publishing this, but I just saw some other people talk about this and thought “why not?”. Google lets their employees choose one person (outside of Google) that they think were doing great things in the world of open source. And one person thought (Manish Goregaokar, A. K. A Manishearth) that I may be that person that deserves being recognized. Why? Β―\_(ツ)_/Β― So yeah, an email came to my inbox on Oct.

We have a new theme

Depending on when you discovered this blog, you may notice something different here… That’s right! A new theme. On the moment that you’re reading this, the new theme will already be deployed. Read this post on my BMC page for more information. Cookies and tracking If you’re from Europe, you probably noticed the lack of a cookies disclaimer or a privacy policy. This is because the last theme didn’t have tracking of things like visitor’s country of origin or similar.

I have some very cool updates...

Today, November 22nd, 2023, I have decided to set up a BuyMeACoffee profile. It’s pretty primitive yet, but hey, if someone doesn’t want their money to go through Microsoft’s hands but still support my work, that’s now an option. We even have a button! Look: I know, quite impressive! A new theme The website you’re looking at right now (unless you’ve decided to visit an old post, for some reason) is, while pretty customized, a premade theme.

idontlikeelitism

There’s this phenomenon on our society which makes relevant people get glorified in weird ways. A big chunk of current humanity sees these people almost as gods in their craft, and I think it’s pretty weird. A lot of times, this people get glorified just because we as humanity agree that they’re glorified. It’s a process that can be reversed when talking about modern-day people, but probably won’t for an already dead person.

Everything in this page is a Cat

Every single image, effect and filter except the original cat picture (see below) is generated using the image of a cat. No other asset is used. Yep, that background is just the same cat. There are no gradients, no images generated with some collage technique, no painting individual pixels. Just the kittycat. How? Turns out that there exists a somewhat underused feature on HMTL. That feature is the capability to define and use SVG filters.

Praising the status quo for fear of change

Fear of change is what drives a section of this society backwards. Conservativeness is, by definition, the desire to maintain the current state of something (in this case, society). It tends to distort this innocent fear into hatred as things change and their users contemplate the existence of new things. When people don’t know something, they tend to assume a set of characteristics. Depends on the person and the “thing” we’re talking about, but those assumptions may be positive or negative.

Living an entire life in the same room as always

Life was simple, a few years ago. I was (am) a student, I didn’t have really any friends, the people I knew were because they were friends from school. We were friends because they were the people I saw every day, 5 days every week. I didn’t talk to them, and they didn’t talk with me, I spend my days going to school, coming from school, eating with my family (not really saying anything, just hearing them talk), going to play some video games the whole afternoon, eating some dinner, again without saying anything and playing some more video games.

I make poor life choices

Maybe you’ve noticed that the domain name of my blog and about page isn’t blyxyas.github.io anymore, that’s because I decided to upgrade my internet level and buy my own domain name :D. So now this blog is available at blog.goose.love (I chose this name because I find it funny) and my personal site / internet business card / future portfolio is at goose.love. Maybe in the future, I’ll create a dating site for geese.

Stop putting weird things in your titles, please ❀️

I’m a frequent YouTube user, I’ve been watching videos as early as I can remember. If you are also a frequent YouTube user, you’ve probably seen content creators’ title style changing in real time. There was an era when everything was IN ALL CAPS. Then, Every Single Word Started Being Capitalized. Now, some videos simply don’t capitalize their videos as the stylistic choice. Do you remember when they used **ASTERISKS** as if they made the title bolder than it already is?

Crafting the best IDE theme to ever exist using science

An IDE theme is the group of colors that represent all elements in your editor. There are a lot of themes available in online marketplaces, you can even make your own! In this post, we’ll craft the best possible theme. We’ll only focus on eye strain and contrast (and maybe user’s feelings?). Not on ✨ aesthetics ✨ Ok, so we know that bright colors really affect eye-strain after a long period of time1 in a dark room.

Celeste is a masterpiece (I know, nothing new)

A few days ago I started playing Celeste, the tight platformer about climbing a mountain and meeting cool people in the process. Today we’ll talk about how Celeste achieves having so much personality and how it really changed me, on a personal level. I usually don’t talk about video games (because I don’t play a lot of them) but I want to make an exception today. ⚠️ This post contains spoilers Go play the game if you haven’t, it really is a great experience.

How `rustdoc` achieves a genius design

rustdoc is the tool used in the Rust ecosystem to generate documentation from the code. Generating documentation from code isn’t a new concept, but I find that rustdoc’s implementation is the best one yet. In this blog post, we’ll analyze other tools like it for other languages (Sphinx for Python, Doxygen for C++ and other, JSDoc for JavaScript and Godoc for Go) seeing examples from real-world projects in each one of them.

Encoding a Tic-Tac-Toe game state into a single number

Tic-Tac-Toe is a cool game when talking about Game Theory. It’s an adversarial game (where both players have opposite goals), in which a decision from each player influences the whole game state. Today, we’re going to learn how to encode a match of Tic-Tac-Toe in a single number by using Bitwise operations. Our requirements are: There cannot be any previous knowledge about the game. Only that number. That means that we cannot simply count each game state and assign an ID to it.