I wanted to play a bit more with transparencies on a more game-like scenario, so I did a very small side scroller demo like a space shooter intro segment where the planet is being destroyed.

I think it turned out quite nice, almost looks like a real game.😛

Also, I recently played the Europa demo, and that made me really want to do something with a fade to white... I use too much fade to black.



It's been a long time since the original announcement, but I'm quite hyped to see that Retro-bit finally released their Saturn Pro Controller.

Yes, it looks a bit cramped, but I think it's the only controller in the market with 6 face buttons, 4 shoulder buttons and 2 analog sticks (the Duke comes close, but only has 2 shoulder buttons).

This should work pretty well as a controller that works with (almost) all retro games. So even if it's not as comfortable, it still sounds like a great pick.🙂

Sharing in case someone else was also looking for something like this.

Took some time (mostly on the plane) to try follow @ckipp@hachyderm.io 's "An intro to Flow Fields in Scala".

Not exactly the same - I couldn't get my Perlin noise implementation to look good and I added some bloom - but I think it's still in the same spirit.

JS Demo: https://joaocosta.eu/Demos/Flow/

Code: https://gist.github.com/JD557/1ed8e0111313cb77a04d8c77719d3bbd

Flow Fields Demo joaocosta.eu

I was just reading some HN comments regarding rLCDs as an alternative to e-ink displays for desktop computers.

It might be a good alternative, and I'm sure that the technology has advanced a lot in the last 25 years, but I feel like I'm in a bizarro alternate dimension where everyone is touting the GameBoy screen as the next big thing in display technology, and backlit LCDs are the awful thing of the past. 😄

João Costa shared 6 months ago

An problem that has been bothering me for the some months now: The MyVodafone app has not been adjusted for inflation (at least in Portugal).

Comparing the "Yorn" phone plans from 2015/2018/2021/2023:

  • 2015: €1.80/wk (~€7/month), €2.35/wk (~€9/month), €3.90/wk (~16€/month)
  • 2018: €2.25/wk (~€9/month), €3.99/wk (~16€/month)
  • 2021: €2.75/wk (~€11/month), €3.99/wk (~16€/month), €4.99/wk (~20€/month)
  • 2023: €2.95/wk (~€12/month), €4.10/wk (~16€/month), €5.30/wk (~21€/month), €6.35/wk (~25€/month)

Meanwhile, the payment options are still €5/€10/€15 - which were OK for ~2015 prices, but now pretty much all plans require you to charge a custom amount.

I wonder if this is an oversight or if there's some fear that changing the values will make more users aware of the price changes.🤔

João Costa shared 6 months ago

Just moved this server from Contabo to Hetzner.

I've been having quite some technical problems lately (which might have been my fault), but this time it felt particularly bad:

  • Rebooting the instance from the UI didn't fix the problem
  • I couldn't connect to the machine via SSH or VNC
  • The "rescue" option didn't work (I still couldn't connect to the machine with the rescue image running)

I contacted support which, to their credit, responded in a timely manner, and apparently they just rebooted the machine and things just stated working. 🤷

So, overall I think their offer might be pretty good if you don't need uptime guarantees (e.g. if you just want to host a minecraft server or something), but I'm not sure if I can keep trusting it to host this blog.

Either way, I'm now on a smaller instance (since Hetzner is a bit more expensive), so maybe things will blow up... Hopefully not🤞

Took a quick break from InterIm development to work on Minart.

Finally got transparencies to work, and the performance doesn't seem that bad. I can get multiple moving particles on the screen with no problems.🙂

To be honest, I picked this up now because I spent way too much time searching for bitmap fonts without transparency for my InterIm demos. That's a thing of the past now.


This weekend I was playing around with InterIm to try out some new features (asRefs macro) and some old ones that were not really tested (custom render ops), so I decided to build a drum machine! 🎵

The API could still use some improvements, but this is getting to an almost usable state. 🙂

Font: Spleen by Frederic Cambus (https://github.com/fcambus/spleen) Drum Samples: Free Pipe Pack by Goldbaby (https://www.goldbaby.co.nz/freestuff.html)

404 error www.goldbaby.co.nz
João Costa shared 8 months ago
João Costa shared 8 months ago
João Costa shared 8 months ago

Just released InterIm, an immediate mode GUI library in pure Scala: https://github.com/JD557/interim

Published to JVM/JS/Native and backend agnostic: You give it the current input state and it returns a set of basic operations for you to render.

You can play around with an online example in https://joaocosta.eu/Demos/InterIm/


Today I was playing a bit with immediate mode GUIs, trying to port the code from https://solhsa.com/imgui/.

This actually worked pretty well and, while still pretty imperative, I was able to hide some of the ugly mutable code with Scala 3 context functions.

For fun, I also made sure that the code received a structure with inputs and returned a sequence of operations that need to be interpreted. That way it is completely backend agnostic (like microui).

Maybe I'll clean it up a bit (at least to add text support) and open source it. 🙂


OK, I finally took the time to version control all custom changes that I have in this instance: https://github.com/JD557/microblog.pub

I needed to do this anyway to comply with AGPL. I'm posting this note just in case someone comes looking for the link - I should probably add the link to the footer, but that's something for the future.

João Costa shared 10 months ago
João Costa shared 11 months ago
João Costa shared 11 months ago
João Costa shared 11 months ago