Pinned toot

I rewrote the three blog posts I had about my NES emulator into a single post with more depth.

It goes into some technical details of each of the CPU, graphics, and audio units. And a little reflection on using Rust.

And it has lots of gifs :)

ltriant.github.io/2019/11/22/n

Bought myself an Arduino clone and a starter electronics kit... Next year should be fun 😎

This may be old news, but today I discovered that playing the Star Wars soundtrack on Spotify results in an interesting track progress bar...

Day 11: Robot at Work. This was a pretty easy day, and there's already tons of animations on reddit, so here's another. My part 1 animation didn't produce anything as cool as the other projects though.

The irony of the comments in this reddit thread is incredible.

reddit.com/r/programming/comme

These are definitely things almost all customers care about. Yes some of them will they take time, but your customers matter.

Are these top of the priority list for a new start-up looking to deliver an MVP? No. But over time, these are some of the UX improvements that you should be targetting. Because your customers matter.

A lot of the chapters in AoSA discuss dealing with disk IO a lot.

Optimising a web server (or any multi-threaded system) for the disks you have is crucial, and not a thing you can hand-wave and ignore, as often happens now in the containerised world as these things get abstracted away even further from the developer.

It will eventually result in performance cancer.

Reading Architecture of Open Source Applications chapter on nginx: aosabook.org/en/nginx.html

It references Kegel's C10K page, which, several years ago, was the spark that led to understanding many of the layers below the code I wrote, leading to a wealth of knowledge on topics like non-blocking IO with select/poll/epoll, TCP corking, TCP no delay, and fun Linux syscalls like sendfile, readv/writev, and so much more.

kegel.com/c10k.html

It was a great reference at the time.

After hacking in the code to get day 9 to work, I cleaned up my Intcode VM so that it's (hopefully) more easily extendable with new opcodes and addressing modes. And if we need to add registers, and flags, and whatever else.

Finally getting around to day 7 of and the itertools crate really pulled through :)

I'm trying to write a plugin for a particular Java system, and holy shit I didn't realise Java was so damn horrible.

I have to implement several interfaces to do what I want to do, and I have to implement super super generic methods to satisfy these interfaces, and now I have ~30 methods in my class, of which only 1 contains any business logic that I care about.

All because Java doesn't have multiple inheritance, or allow default implementations in interfaces.

Fucking hell.

Our friend Chris finally did a write-up of his 16 core Z80 alternate future cyberdeck, and it is absolutely beyond bonkers:
chrisfenton.com/the-zedripper-

I love the soothing sound of my computer; busily buzzing away as I surf the web.

🐝 :blobheart:

#Computing #Hardware #Facts #Bees

Ah, I like a nice easy first day of Advent of Code. So nice collecting them stars :)

Decided that rather than restricting myself to using one language this year, I'm just gonna use whatever the hell I want each day.

When working with audio technical issues, pictures often tell a story better than your ears can.

Somebody asked me a question about a distortion effect in Famicom expansion audio device, and I had some ideas... but not until creating this graph could I see the truth of it.

Sigh... and now I feel like I need to go back and finish last year's puzzles.

Thinking about Advent of Code for this year. Still deciding whether I'll use a language I already know (Rust or Clojure), or whether I'll learn something new (Nim probably).

I'm not sure I wanna deal with the pressure of learning language stuff while also solving problems... think I'll just go with Rust.

Last year I chose to learn Scala along the way (which I promptly forgot once I got a job in Clojure), but never finished all of the puzzles. This was also partly because the puzzles were fucking hard.

Blinky plays! And so does Pong and Tetris and Lunar Lander.

Still a few quirks to figure out, but still happy.

Show more
Mastodon for Tech Folks

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!