RSSAmplifier

Blog

sin-ack's writings

Recent content on sin-ack's writings

sin-ack.github.ioRSS feed ↗12 posts

Latest posts

What We Take For Granted

This is the lightning(-ish) talk I gave at TigerBeetle 1000x World Tour Belgrade , transcribed to article form. Huge thanks to Ludwig for hosting the event and the TigerBeetle folks for setting it up. The slides are available in PDF format as well .

AoC 2022 in ZigSelf, day 2

The second day of Advent of Code was also rather easy on the question side, like day 1. Rather, the hard part was reading the question. :^) Here’s the solution in ZigSelf .

AoC 2022 in ZigSelf, day 1

Hi there. I had mentioned that I would be solving AoC puzzles this year with ZigSelf. I plan to commit to it as much as possible, but no promises. :^) The first day of AoC has always been quite easy, and today is no exception, so this was rather simple.

The inner workings of ZigSelf's actor model

Hi there. I wanted to do a series of deep dives about various parts of ZigSelf in order to give others a more thorough explanation of how everything works, and also as a braindump in order to verify my thinking. The first post I wanted to make is regarding ZigSelf’s implementation of the actor model, as it’s the feature I believe is one of the most interesting aspects of the language.

That Time I Tried Porting Zig to SerenityOS

This was a talk I gave at the Software You Can Love 2022 conference. You can find the slides right here (PDF) . Today I want to tell you a story about the time I ported the Zig compiler to SerenityOS. I’m going to tell you a bit about what my motivation was to do this. Then I’ll explain the steps I took and the various challenges I faced (there were a lot of those!). We’re going…

ZigSelf Update, August 2022

Hi there. It’s been quite a while since I posted here, mostly due to real life responsibilities. I’m planning on making monthly updates here from now on so that I can showcase the new things that are in ZigSelf. For the first update though, let’s play some catch-up.

ZigSelf: An implementation of Self in Zig

Hello there. I have not posted in a while, and not without good reason. In my first article I had mentioned that I was going to make posts about my own implementation of Self called mySelf. That project never took off, and my interest shifted to other things. I had largely forgotten about it, but then LangJam happened. LangJam LangJam is a programming jam that works similar to game jams, but…

How malloc broke Serenity's JPGLoader, or: how to win the lottery

I got the chance to investigate an interesting bug in SerenityOS this week. It was related to the decoding of JPG images in the operating system. For some reason, when a JPG image is viewed, it comes out like this: Lenna, showing up with incorrect colors. Weird, huh? Also seems like a simple confusion of RGB vs. BGR. And sure enough, making the following change on JPGLoader.cpp : - const Color…

A look at Self's object system

When I first introduced Self , I mentioned that Self is a programming language which employs prototype-based inheritance ; it does not depend on a class-instance distinction to facilitate object-oriented programming, but rather, it uses a prototype object from which copies are created. The methods associated with a prototype is stored in a traits object which is just another object storing methods…

An introduction to Morphic: Self's UI toolkit

In my previous two posts, I talked about Self as the language, and the system which allows it to serialize objects into text format. Now let’s talk about another big part of Self, which is the programming environment and the UI toolkit that it is created from: Morphic.

Self Transporter: how to share your Self code

In my previous post , I talked about Self and gave a general tour of the language and the programming environment. I mentioned that Self was an image-based programming language. Of course, if you want to develop a Self application with multiple people, an image is not suitable for collaborating (except in real-time – we’ll come back to that in a later post). Your Self image contains…

A tour of Self

Hey there. This is the first post I will be making here, and I wanted to give a tour of Self before making posts about my current implementation, mySelf. Throughout this post, I will be showing examples from the regular implementation of the Self programming environment, available here . What is Self? To quote the Self language homepage : Self is a prototype-based dynamic object-oriented…