Installing Portaudio for Racket on Windows

I recently wanted to play with some procedural audio generation in Racket. So, after some research, I found that there’s a port of the cross-platform audio I/O library Portaudio. However, installing it through raco was not doing the job for me, on Windows. I investigated the issue and figure a problem with the compiled libraries that were out of date with the Racket interface and then I rebuilt it and submitted to another repository.

My First Gameboy

It is 2023 and I got my first Gameboy. My parents never had the finnancial condition to get me one when I was a kid, and to be really honest, nor did most of the families of my street friends and school colleagues. It was probably only by the early 2000’s when I first heard about it. Pok√©mon Yellow was the reason I downloaded my first emulator and pirate roms.

Analog is a Privilege

I recently posted about my rather recent hobby of film photography. Since I moved to Germany, I’ve been thinking a lot about the current rise of analog technologies and what that means. I’m from Brazil and I lived there for 28 years of my life. I left for Ireland in 2019 and now have been living in Germany for almost four years, and the culture clash has been a profound and impactful experience for me.

Lisp Adventures #2 - One, Two, Three... Infinity

Imagine you want to count the sum of the numbers from 1 to 1,000,000,000 (one billion). If you come from an imperative programming background, you might be already thinking on a loop and what number type to hold that value. You might come up with something similar to this if you’re writing C: uint64_t sum = 0; for (int i = 1; i <= 1000000000; i++) sum += i; printf("%lu\n", sum); Good, it runs quite fast and we get the solution.

Investigating a touch screen issue on the Steam Deck

Last year I bought a Steam Deck to play the long list of games in my Steam library, most of which I got from indie bundles. The idea of being able to play even the ones targeting mouse and keyboard in the comfort of my bed with very ergonomic controls sounded amazing. Another reason was to explore a bit the technology behind this miraculous mobile device that can play Elden Ring in solid 30fps, on Linux!

Retrospective 2022

For the last few years I’ve been writing a tweet in the end of the year with some of my life achievements, projects and professional changes. This year, based on other blogs I read, I decided to make a more complete post and include also other interesting things like some of the book I read and events that happened this year. — Bruno Croci (@CrociDB) January 15, 2023 Projects Blog This is, of course, one of the most important project and achievement of this year: I finally decided to write more to this blog.

Lisp Adventures #1 - Racket: A brainfuck interpreter

Lisp is the second oldest programming language and is considered one of the most powerful, despite the fact that it is absolutely the most simple. I’ve always had admiration for it, but never quite got into it because it seems that, except for Clojure, there was no other popular version of lisp with real-world use. And I really don’t like anything related to Java–which is a shame because I think Scala is also a fantastic language, but that’s subject for another text.

One Year of Film Photography

Photography has been in my life forever. Probably started with my dad, who had an old film camera to take photos of our family. I remember the camera sitting there, on the highest possible shelf in the living room, so the kids wouldn’t try to take it. And I also remember how often I did that when nobody was looking just so I could trigger the flash and pretend I’m a photographer.

Rendering Doom With Emojis

It seems that creating a doom port, or hacking doom in general, is a common place for programmers. If you search for “doom port” on github, it’s inspiring how diverse projects you can find. The fact that the source code for the game is completely open and self-contained (meaning it doesn’t require dependencies) contributes a lot for this. Back in 2020, I had an idea of a simple project to render doom using emojis because of some other doom renderer I saw on Twitter.

A story about a mobile game's economy and git blame

Years ago, back when people still used personal computers, Social Games were a thing. You would log into Facebook on your desktop to play video games. Mostly farm management or bejeweled-like puzzle games. You’d have to log in multiple times a day because you didn’t want to miss the perfect moment to harvest your pumpkins or let the cool presents that your friends sent you rotten. You open the game, and the browser stutters a bit, after all, the Flash Plugin is a bit heavy for this computer, huh?