Sign in

Julio Merino

@jmmv.dev
248 followers 399 following 196 posts

Operating systems, build systems, and programming languages. Mostly Unix, Bazel, and Rust. Author of Blog System/5. Creator of EndBASIC, and more. jmmv.dev

PostsRepliesMedia
Julio Merino @jmmv.dev · 08/12/2025
A little over a week ago, I hinted at writing an article on my journey to take a couple of web services out of Azure Functions and to self-host them on FreeBSD. Well, here it is! Enjoy. jmmv.dev/2025/12/from...
jmmv.dev
From Azure Functions to FreeBSD - Julio Merino (jmmv.dev)
Putting FreeBSD’s “power to serve” motto to the test. On Thanksgiving morning, I woke up to one of my web services being unavailable. All HTTP requests failed with a “503 Service unavailable” error. I...
010
Julio Merino @jmmv.dev · 03/09/2025
The recording of my EndBASIC talk at BSDCan 2025 is now available: www.youtube.com/watch?v=WZFY... — Watch to learn about the inner makings of the "EndBASIC OS" RPI disk image. Thanks to the A/V team for getting it out!
youtube.com
An embedded dev kit for EndBASIC with NetBSD by Julio Merino
YouTube video by BSDCan
020
Julio Merino @jmmv.dev · 11/07/2025
Happy Friday! The instructions to build your very own EndBASIC microcomputer (aka the EndBOX), including links to components AND the very first public disk images 😱, are now available. Have fun! www.endbasic.dev/2025/07/endb...
endbasic.dev
EndBOX DIY kit now available - EndBASIC
Components to build the EndBOX I and the assembled EndBOX I Micro. About a month ago, I officially unveiled the EndBOX: a retro-style micro-computer designed to run the EndBOX OS. And what is the EndB...
010
Julio Merino @jmmv.dev · 03/07/2025
Instructions for the DIY kit ready and the very first release builds are in the oven. Interested in early, privileged access? coff.ee/jmmv !
TOC for the new EndBOX page that will show up in the EndBASIC website.
000
Julio Merino @jmmv.dev · 22/06/2025
Work on the EndBOX continues (and you've seen some of it via tweets here), so... here is the first weekly progress report! buymeacoffee.com/jmmv/weekly-...
buymeacoffee.com
Weekly progress report: 2025-06-22 — Julio Merino
Post by Julio Merino
000
Julio Merino @jmmv.dev · 08/06/2025
TIL about Tildes. Do any of you have an invite? I see the EndBOX has been shared there and I ought to engage!
100
Julio Merino @jmmv.dev · 06/06/2025
My talk about the OS powering the EndBOX is coming quick next week, so I had to rush getting this out so... I guess it's official now? www.endbasic.dev/2025/06/unve... Join me in this craziness and let's make it happen!
endbasic.dev
Unveiling the EndBOX - EndBASIC
Remember when turning a computer on meant instantly jumping into code? No bloat, no distractions—just you and a prompt? That’s the experience I’ve been working to bring back with the EndBOX: a small, ...
010
Julio Merino @jmmv.dev · 05/06/2025
This shall be the next piece of hardware to add support for! But… after the conference, and finishing the plan on what to actually do about producing this box “for real”.
000
Julio Merino @jmmv.dev · 04/06/2025
Time to resurface this! I found a draft update I prepared on Nov 8th to fix the text around username mapping and I published it now. I could not publish it back then because the CDN involved was being dumb and silently banned my updates due to a "dangerous substring".
000
Julio Merino @jmmv.dev · 03/06/2025
Ooooh look! Someone is featuring EndBASIC in their Game Development summer course! moosadee.gitlab.io/courses/camp...
moosadee.gitlab.io
Getting Started with Game Development
000
Julio Merino @jmmv.dev · 01/06/2025
After ALL morning of fighting DTBs, I finally got the WiFi on the Pi Zero 2 W to work on NetBSD. Perfect for showtime at BSDCan.
210
Julio Merino @jmmv.dev · 31/05/2025
The EndBASIC dev kit presentation for BSDCan ain't gonna write itself. Two weeks to go!
Screenshot of the "EndBASIC: My forever project" draft slide.
000
Julio Merino @jmmv.dev · 28/05/2025
I've been tinkering with 3D printing as a complete beginner for the last two weeks as you may have seen around here, so I wrote a thing. jmmv.dev/2025/05/begi...
jmmv.dev
Beginning 3D printing - Julio Merino (jmmv.dev)
Hello readers and sorry for the 2-month radio silence. I’ve been pretty busy at work, traveling during school breaks, hacking on EndBASIC when time permitted, and… as of two weeks ago… tinkering with ...
020
Julio Merino @jmmv.dev · 24/05/2025
It’s the weekend again so it’s time to continue iterating! Looking better now, I think? ☺️ … but the base warped again and I need to do some internal tweaks. Each iteration takes about 12 hours to print which doesn’t make it easy…
100
Julio Merino @jmmv.dev · 09/05/2025
Have you played VVVVVV? Did you know that its soundtrack is called PPPPPP? And... did you know that there is a metal remix called MMMMMM? I did not know the later and discovered it via the orange site! Amazing stuff. open.spotify.com/album/67mFUe...
open.spotify.com
Mmmmmm
Familyjules7x · Album · 2014 · 19 songs
000
Julio Merino @jmmv.dev · 07/05/2025
EndBASIC dev kit finally shaping up—literally. But this is my first 3D design+print, so bear with me...
100
Julio Merino @jmmv.dev · 04/05/2025
The SDL2-compat library in F42 (an SDL2 API shim on top of SDL3) isn't as "compat" as one would want, so I just wasted 2 hours figuring out why the EndBASIC console regression tests started failing 😒
000
Julio Merino @jmmv.dev · 03/05/2025
I hadn't booted Fedora on my laptop for a few months now. I did last week, upgraded to 42 KDE Plasma, and OH WOW. I forgot how fast everything feels compared to Win 11. And Fedora 42 works _really_ well, especially now that the KDE spin is official.
100
Julio Merino @jmmv.dev · 25/04/2025
Alrighty! I should have added this "project browser" a long time ago to the EndBASIC site... but better late than never. Next up: adding tiles for featured projects, with screenshots and the like.
100
Julio Merino @jmmv.dev · 24/04/2025
Got a cheapo luggage bag for the kid and, while packing, noticed this. Like… HTF does this happen?! The fix was two screws away but I wonder if this is why it was so cheap?
Lock installed in reverse, which makes it impossible to clip the zippers.
000
Julio Merino @jmmv.dev · 23/04/2025
Is that bump on the wall a trigger for a secret room? Or have I played too much Doom and Quake?
030
Julio Merino @jmmv.dev · 17/04/2025
For the Googlers and Xooglers around here… I found the Noogler hat store and the auth system building.
Noogler-like hats.Building with LOAS written on it.
020
Julio Merino @jmmv.dev · 16/04/2025
My brain wasn’t very happy trying to continue sleeping at 3am due to jet lag (but didn’t want to wake up either) and it ended up designing the next feature I have to add to EndBASIC. And it actually makes sense. Maybe I’ll have time to code it on the flight back home.
000
Julio Merino @jmmv.dev · 13/04/2025
This (via HN) looks like a great read for tomorrow's long flight. I've wanted to learn Elisp "properly" for a long time, but then... I've never actually felt the need to use it other than for configuration. "Coding my editor" is not how I think about it...
Table of contents of the "Emacs Lisp Elements" book.
010
Julio Merino @jmmv.dev · 11/04/2025
Aaah, the joys of using a non-mainstream OS: having to learn and understand random stuff when you most need it. Today's edition: how profiling works under the covers. TBF this is how I learned A LOT about systems ~25 years ago, but it gets old.
Screenshot of PR #265 against pprof-rs adding support for NetBSD/amd64.
110
Julio Merino @jmmv.dev · 10/04/2025
BSDCan is just 2 months away so that’s the time I’ve got to learn me some CAD and figure out 3D printing…
Small display on my hand with TinkedCAD in the background showing the same piece.
120
Julio Merino @jmmv.dev · 31/03/2025
Huh, I knew Debian's approach to packaging Rust apps was "weird", but I didn't know it allowed you to essentially develop without crates.io and network access. Pretty neat TBH. thomask.sdf.org/blog/2023/11...
Portion of the article that shows the config.toml content to use Debian's local registry.
030
Julio Merino @jmmv.dev · 30/03/2025
Back to basics tonight. I’ve tried many, many PNW IPAs, and there are very nice ones, but I still find them too… sweet or juicy.
Stone IPA next to a half empty glass.
000
Julio Merino @jmmv.dev · 28/03/2025
AI's take on what unifying code into a monorepo looks like. And this is after saying "please no graphs or diagrams", just a concept picture. lul wat
110
Reposted by Julio Merino
Cynthia Dunlop @cynthiadunlop.bsky.social · 26/03/2025
For your bsky following convenience... @justine.lol / @ak47.io / @hillelwayne.com / @danluu.com / @jmmv.dev / @ltratt.bsky.social / @eudoxia.bsky.social / @jaffray.bsky.social / @tanelpoder.com / @alexmillerdb.bsky.social / @andygrove.io / @muratdemirbas.bsky.social / @vanlightly.bsky.social
262
Julio Merino @jmmv.dev · 24/03/2025
Happy 10th anniversary, Bazel! It has been quite a ride and I hope you don't take what I wrote here in the wrong way. There is always room for even faster builds 🙃 jmmv.dev/2025/03/baze...
Cover image of "The next generation of Bazel builds".
220
Julio Merino @jmmv.dev · 24/03/2025
Playing with cloudflared to stop paying an unnecessary ~$30 monthly cloud bill. Because... I should be doing my taxes instead.
010
Julio Merino @jmmv.dev · 23/03/2025
It was really hard to find the date and only Gemini was able to guide me to a reliable source, but it seems like tomorrow marks the 10th anniversary of Bazel's public announcement—and I have a treat ready for you!
Cover of my upcoming article "The next generation of Bazel builds".
110
Julio Merino @jmmv.dev · 23/03/2025
I've somehow decided to try this "remap ESC to Caps Lock" thingy. And oh wow, it's so comfortable. But retraining my hands for the new keys (including not reaching for the Ctrl+[ clutch), will be difficult.
120
Julio Merino @jmmv.dev · 23/03/2025
The second book in the 8080 Books “series” is out. I read the first and it got pretty boring with all of the LLMs stuff. Not sure if I should get this one. Any reviews so far?
Cover of the A Platform Mindset book.
100
Julio Merino @jmmv.dev · 18/03/2025
Now with support for font and default colors selection, plus functional reboot and power off options!
010
Julio Merino @jmmv.dev · 17/03/2025
TIL that the V6 Unix shell came with a goto(1) binary to jump around. How it worked is "neat": the shell spawned goto(1) and _shared_ the descriptor of the running script with it. goto(1) then seek(2)-ed to the label, affecting the shell's next reads. v6sh.org
Screenshot of the linked article with the list of external utilities that the shell used.
000
Julio Merino @jmmv.dev · 15/03/2025
Not quite the same, but I get a similar vibe from the question style 😜 (The privilege separation via an RPC mechanism I was posting about yesterday works!)
Amstrad CPC BASIC after running "cat", which reports an error and three options "Retry, Ignore or Cancel?"EndBASIC after tying "end" to exit the interpreter, which provides three options as well to "Continue, Poewr off or Reboot".
020
Julio Merino @jmmv.dev · 14/03/2025
I'm having "fun" "over"engineering the EndBASIC dev kit image. Here, a sample of the new background daemon for privilege escalation that the shell calls into. But... why? The thought of running everything as root in an embedded device that may not get updates makes me uneasy.
Screenshot of a terminal with two panes. The top one shows the daemon running as root listening on a local socket and its log showing how it handled a SyncDisks RPC. The bottom one shows a netcat invocation of this RPC as a regular user.
000
Julio Merino @jmmv.dev · 13/03/2025
After two years in the making, we at Snowflake ❄️ have completed the migration of our build system to Bazel, leading to faster and reliable builds. Here is the recap of our journey. www.snowflake.com/en/engineeri...
snowflake.com
Fast and Reliable Builds at Snowflake with Bazel
Snowflake optimized its build system with Bazel, improving speed, reliability, and scalability for Java and C++ development while unifying the engineering experience.
120
Julio Merino @jmmv.dev · 12/03/2025
Well, I guess I'm going to @bsdcan.bsky.social this year 🙃. Now I need to push for the final stretch to get this toy ready for showtime!
Intro paragraph to the notification email I got: The BSDCan talk committee is pleased to announce that your abstract "An embedded "dev kit" for EndBASIC with NetBSD" with ID #77 has been accepted (Lecture 50 min). We are delighted that you will be contributing to the 20th annual BSDCan.
020
Julio Merino @jmmv.dev · 07/03/2025
And now I think I've found another tweak to support configuring the WiFi from _within_ EndBASIC as well (keeping the CONFIG.BAS accessible via the FAT partition) 😁 Weekend goal: make this work.
Diff of the config.bas file showing new entries in a wifi_networks array that is user-customizable.
000
Julio Merino @jmmv.dev · 07/03/2025
Oh wow. The handling of merge conflicts in a chain of commits with Jujutsu VCS is mindblowing-ly good.
120
Julio Merino @jmmv.dev · 01/03/2025
I had the day off and... I spent it flushing an article idea that was at the back of my mind and that I had been wanting to write for ~2 weeks. I'm not an expert on this topic but I think the content is a reasonable intro! Happy read and happy weekend! blogsystem5.substack.com/p/hardware-a...
blogsystem5.substack.com
Hardware autoconf: ACPI & Device Tree
An overview of how a Unix-like BSD kernel performs hardware discovery on x86 and ARM to bind device drivers to hardware devices
033
Julio Merino @jmmv.dev · 23/02/2025
This wall just needs a memory test counter next to it.
Energy Star logo on a wall, on top of a fire extinguisher.
010
Julio Merino @jmmv.dev · 21/02/2025
After the last painful weekend getting this to work… I spent the week cleaning up the code and the experience. All done! 😎 Next up: pairing the LCD with the Pi Zero, which is probably going to give me some grief…
110
Julio Merino @jmmv.dev · 21/02/2025
Based on recent articles and discussions, I _know_ I should spend some time mastering Jujutsu or Magit... but then I'm too comfortable with the Git CLI on a day-to-day basis and I can't make the time for either. I know I'm inefficient though.
100
Julio Merino @jmmv.dev · 20/02/2025
I was writing a parser, in Rust, to extract structured fields from a string. Think "driver:k1=v1,k2=v2,..." The parser was represented by a struct that, upon initialization, chunked the input string and stored it as various String objects. 🤔 Inefficient, yes. 🧵
100
Julio Merino @jmmv.dev · 16/02/2025
ALL MORNING spent in figuring out why I couldn’t make this LCD work on NetBSD while my code worked OK on Linux. It finally did the right thing just now so I’m released to go for a run.
150
Julio Merino @jmmv.dev · 13/02/2025
"Light" read for the long weekend ahead (for those of you that have one). ioctls, from Rust? Yes, they are possible! But they are tricky: in fact, this is the first time I've had to reach out for "unsafe" since I started learning the language 7 years ago. blogsystem5.substack.com/p/ioctls-rust
blogsystem5.substack.com
ioctls from Rust
Diving into what the ioctl system call is and how to invoke it from Rust
010