I see folks building bedrock-type abstractions more and more these days and adding on @tbsp's list, I tried to gather every single virtual machine designed explicitly to fend of bitrot or digital obsolesce by targeting a frozen specification I could think of.
I was wondering, I'm sure I must have forgotten some, if you can think of one that is not on the list, could you please let me know!
https://wiki.xxiivv.com/site/virtual_machines.html
@neauoire
I think this is an excellent basis. I'm thinking we could build a bedrock VM and have some set of applications that will always work. (spoiler alert this was the original vision for what became Java) I wonder if we had targeted a 'terminal' rather than a 'window system' if we could have pulled that off.
@ChuckMcManis @tbsp I think so too!
I don't think targeting a terminal rather than a framebuffer is necessarily easier, I thought about adding Java, but the scale is pretty large. I had Scheme-48 in my list, but I took it off, I wasn't sure if it was a good candidate or not.
@neauoire @ChuckMcManis @tbsp bedrock to me says it should be (reasonable) for one person to implement. JVM and CLR feel more like "universal runtimes" which I'd call a "superset" of bedrock runtimes.
@and @neauoire @ChuckMcManis @tbsp it's possible java 1.0 (pre JIT, pre HotSpot, pre-gigantic standard library, pre-fancy-types) might qualify. it was simpler, but no one targets that anymore.
more than a technical argument i think you can judge how "bedrock" a VM design is by something like:
B = M / (U + 1)
where M is the number of distinct implementers and U is the number of distinct users.
you can tell the JDK/CLR are not very good bedrocks because is M is pretty small and U is gigantic. i would argue scheme is actually pretty good by this metric.
@d6 @and @ChuckMcManis @tbsp scheme-48 was named like that after being implemented in 48 hours, but I looked at the size of the thing, and there's NOO WAYY-
@neauoire @and @ChuckMcManis @tbsp in fairness i bet you could implement varvara-48 or uxn-48 in a way most other people couldn't. i don't think this was their first (or second or third) scheme. they probably felt justified in grabbing preexisting work they did.
@d6 @and @ChuckMcManis @tbsp yeah maybe, do you think it fits? I personally think Scheme-48 seems(from the outside anyways) pretty robust, in a.. cómo se dice.. permacomputing-sort of way
@d6 @and @neauoire @ChuckMcManis @tbsp I think porting an 2.x version of the java-smartcard spec is the best option for a tiny-JVM
https://en.wikipedia.org/wiki/Java_Card
It limits code size to 64k, has a smaller most efficient encoding of Java bytecode and its standard library is limited to the bare essentials for java code to run. And it uses a super old version of the java bytecode (Version 2), so nearly every java interpreter is backwards compatible with it
@angelwood @d6 @and @ChuckMcManis @tbsp I need to look into this some more, but do you think there's a java compiler that runs on the java card, capable of compiling Java?
@neauoire @d6 @and @ChuckMcManis @tbsp There is usually around 4-32kb of RAM on a smartcard so that wouldnt be an issue with a handcrafted java compiler. but it would not be suprized if code is not allowed to execute newly generated code as a security mechanism to protect the private crypto secrets it stores
@neauoire ok just double checked and there is no way for an applet to compile and install its own new applet
> There are also programming-model limitations. For instance a loaded library class can no longer be extended in the card; it is implicitly made final.
https://www.oracle.com/java/technologies/java-card/javacard1.html
thats a bumer :/
@angelwood without being to run the artifact, have you found a compiler that could run on 64kb of memory? I'd love to give that as an example during my talk at Oredev next month!
@neauoire @angelwood If this is 64K of *addressable* memory, meaning you can load code into memory from slower, larger storage, then it can definitely work.
If everything (code and data) has to fit into 64K, then I think the compiler will have to be for a subset even for java 1.0
@wim_v12e @angelwood I wasn't able to find one that I could run, I found some compilers that didn't work with the VMs, and VMs with no compilers that would match their specs. There's a LOT of toy implementations of early Java out there, this is awesome. Unfortunately, not a lot with working code.
@neauoire
Weirdly, I was an expert witness at a patent case where I testified that because smart cards did not compile Java you couldn't say that they "ran Java".
@ChuckMcManis @angelwood @d6 @and @tbsp but does Java have a compiler that could run on something as memory restricted as the java cards?
@neauoire @ChuckMcManis @d6 @and @tbsp I tried compiling one of the ""tiny"" java compilers (janino) and it would be WAY to big.....
but maybe one for a simpler language that compiles down to javacard-specific Bytecode? its just a stackmachine afterall
@neauoire This is timely! I've been been playing with my own "heavily uxn and bedrock inspired" setup, but without much expertise outside of my dabbling with uxn so i will steal more inspiration from these ~
I've been tinkering with leaning into the self-modifying code angle, as that is compelling to me. So far I've shoved both stacks into the addressable memory space as an experiment but haven't made it much farther than that.
I think I mentioned this before, but trying to write my own flavour of uxn-ish bytecode has made me really appreciate the layout of your opcodes in that table. It is art~
@mvu amazing! I'm eager to add it up on the list, if you document it and put it online :) Have fun, and SMC is so fun, I'm happy you're going that way as well!
@neauoire PICO-8, Picotron.
@neauoire Nga's link is broken.. I was curious about the name as it's a bit sus at a glance,, 😅
@neauoire @tbsp I have a soft spot for QVM, the Quake Virtual Machine. It's not quite bedrock yet, but it could get there. I've recently started exploring writing an LLVM backend for it so I can use modern C++. It would be interesting to standardize a set of syscalls that make it useful for general software development…
@neauoire @tbsp Love to see my little xyw listed there 😊😍 Although it is mostly stack-oriented, it does have four registers as well, so I am wondering if it would be considered a sort of stack/register hybrid VM, if there is such a thing. The assembler is modeled after Uxn and Bedrock though, so concatenative syntax just with different opcodes.
And WOW! I didn't know there were that many little VMs!
@neauoire @tbsp I did make one a few years ago, inspired by varavara but using a slight variation of the GreenArray's F18a chip opcodes. The code is not up as I moved from git to fossil, but I could put it back up sometime this week or the next. The documentation still seems up: https://blazebone.com/pochi/
The goal was less fighting bit rot (although I assumed it was inherent to making a small scale VM) and more about experimenting with ColorForth and seeing how lean things could get.
Development is currently paused for an indefinite amount of time, but if you ever want to add it to your table, here is the tech specs: The Pochi VM is a 32 bits dual stack machine with (for now) 52 six bits opcodes, 7 registers, (for now) 256KB of RAM with a variable amount of devices.
@neauoire @iooioio ilo is definitely a better fit for this list than nga was. If you want a similar short description to some of the others, maybe something like "64K cells of memory, 8 devices, two stacks, 30 opcodes". While it's mostly known for running konilo, I do have a few non-forth systems running on it as well.
@neauoire @tbsp @crc Would my Transputer emulation system qualify? https://devzendo.github.io/parachute/
@OpenBSDAms that Linux thing I got, but are you sure you are not Microsoft OBSesseD?
@kuba very sure! The closest we get to M$ is email from outlook.com and the odd xls/doc. And you get a VM for 365, days.
@OpenBSDAms Did some servers fall over again? I guess right now you're just " Amsterdam".
Making games and throwing them back through the time machine.
Uxn68 emulator by @d6.
https://phial.org/d6/uxn68k/
One of the first game we ever published for #Uxn was Donsol, five years ago, to celebrate, we've made a whole new version of the game with new monster sprites, better resolution and animations.
We had originally made it with the Playdate in mind, but they didn't want it so we're making available to play it directly in the itchio page, or via your favourite Uxn emulator!
https://hundredrabbits.itch.io/donsol
We hope that you enjoy it.
Have a good autumn. :)
Rek & Dev
@mario_afk @bd they said it was too unclear, the game rules were not explicit enough. Which is fair, it's a weird game, and the rules are weird too.
But it's not really an issue, I think one of the main advantage of targetting uxn in this case, is that it's completely dissociated from the playdate's choice, and that we can just turn around and release the same binary everywhere else.
Had we wrote this natively for the playdate, I would have been a bit disappointed, having to rewrite it and all, but like this, it's no problem, which is kindda neat!
@neauoire Extremely cool and I enjoyed figuring it out, thank you for making and releasing it!!
Bug report or maybe I'm misunderstanding: is the deck supposed to be a single standard one? Found some duplicate cards, and beat a run with zero jokers encountered
@errorinn WHAT!? haha, no that's not normal at all.
Damn, I'm gonna have to double check this. This is not normal X) Thanks for catching this Erinn, I've played up with the logic a bit today, I'll make sure the deck is sound, I must have broken something..
Thank you for playing and finding this bug ^__^
@errorinn I've been trying to replicate this and I was wondering, did you get these broken shuffles once, or did you get them often?
@neauoire Hard to say because it's not easy to keep track of the cards, but once I noticed I was able to get that screenshot immediately on my next game. Will try a few more and see what I can spot for you
@neauoire I can get a clearly broken shuffle maybe 1-in-6 runs. I've never gotten one right after relaunching the game but that might be coincidence.
@neauoire 1-in-6 not counting the times I get a Donsol and no shields in the first hand, anyway 😂
@neauoire Have also discovered that leaving rooms repeatedly can get the game stuck in a glitch-loop. Here's one where all I press is ctrl to start, alt to leave, and the bug triggers from no further input. Have to refresh to fix
@neauoire OMG, the animation is awesome. I spent hours playing donsol a few years ago. This is a fantastic way to commemorate it.
@neauoire I checked out your itch.io page, only to find out that I bought this nearly a decade ago. I'm embarassed to say that I have no memory of it. I will rectify that.
And what a surprise to see that you have ROMs for NES! And DS, and GBA, and 3DS! I'm putting this on all my devices.
@GamesMissed It's our "hello world" kind of game, whenever we try a new platform, this game tends to be the first thing we write to learn the platform :)
OK. Today is the day I switch from Linux being my daily driver (which it has for a few years now), to #freebsd. Wish me luck. :-)
You know, having your own solar is pretty damn good on _any_ day — but when electricity prices are 5-6 times the average (surging to over half an euro per kilowatt-hour) it sure feels fkn great to have your own solar panels/batteries to cover all your electricity/heating and even car charging needs without having to touch the grid at all. 👀
And sure enough, with winter also coming are the shorter, gloomier - and much colder - days where solar won't help us a ton up north (especially with snow/frost obscuring the panels), but we will still have our batteries which means we'll be able to take the edge off by charging the battery in lower cost periods and using the stored electricity when costs are spiking.
With the large-scale deployment of gridscale solar in recent years, it can often feel like having your own solar is "redundant" - why well, "if there is good weather with abundant sun, electricity is cheap anyway and in bad weather my solar panels won't help much anyway!". And, you know, in a perfect world without a data center boom and widespread sabotage of undersea power interconnects and no climate change effects hindering power production...that might have been true. But having your own battery is magical, and a 10kWh battery is not much larger than a hallway shoe rack, apartments aren't excluded, they don't need "loads of unshaded sun-facing space on a facade that might be protected by zoning laws".
You know how the home solar panel boom has forced utilities to recon with the insufficiencies of the grid infrastructure? I keep wondering what'd happen if suddenly a 10kWh battery has manifested in every home and people started switching in droves to market electricity pricing...
@hi in my opinion some aspects of fp are useful when writing C (consts are great, pure functions, functional pointers), but for a full fp experience you need tco, garbage collection (and it means no hardened OpenBSD malloc for you). Libraries-wise Glib will give you some useful structures using native malloc, but bdwgc for example is not going to use it, and because it's conservative, performance will be abysmal.
Why use C? OCaml is right there, works great on OpenBSD
i'd like to keep things as simple as possible, and c works out of the box in #opensbd. i'll try sticking with native malloc and see how far i can get
@hi well, fp simplicity for the developer comes at a cost for underlying platform, but I get the idea. sys/queue.h and sys/tree.h have some structures you might find useful.
It might depend on how you go about it and what you expect of it. Basic anonymous-functions might be possible (depending on the version of C), but closures (and managing their storage lifetime) might be more challenging.
map: doable with macros (the sys/queue.h header has good examples of things like the *_FOREACH macros). They tend to be macros because the exact method of iteration would differ depending on the data-structure over which you're iterating (iterating over a single-linked-list is different from iterating breadth-first over a tree is different from iterating depth-first over a tree, all of which are different from iterating over a trie or btree)
reduce: I'd have to think a bit harder on that, but I suspect it would involve similar FOREACH-style macros
immutability/pure functions: using "const" on appropriate functions/parameters and ensuring that you don't modify parameters. There might be some complexity if you're trying to support older C standards (IIRC, the ability to return non-simple types from functions was added later), so they might end up being semi-pure functions where a parameter is used to designate the function-output location for more complex data-types like structs/unions
recursion: has always been there in C 🙂
Feeling sad about AI
https://video.infosec.exchange/w/rYgQFwrqs9mpWydyoUCakY
I talk about why I've been feeling sad and encourage myself and you to feel some hope.
Transcript: https://artificialworlds.net/blog/2026/09/11/feeling-sad-about-ai/
#japanese_jesus gospel
@prahou mr foldymobilek!
@ozzelot it hates itself!
@moses_izumi @ozzelot i thought the "everything wrong with" was the bit where they somehow convinced you to buy the same thing every year for the past 20.
@prahou the facial expression on the folding mobilek! 
@alderwick they hate each other!
@prahou Ah, so the criticism of “it's two smartphones stuck together” applies literally here 
@Ralph that's a lot of assuming from your end. the *phone* has nothing to do with what he's saying.
stay prayed up.
This is calming.
https://hundredrabbits.itch.io/legs
@neauoire can orca control this or vice versa #showerthoughts
@calutron it could yeah, what kind of controls do you imagine?
@neauoire something about them just feels like they rhyme? haha. It makes me want different blocks to emit different tones when the color passes through. Or maybe more like a simple visualizer where the orca midi is making blocks appear and disappear
@calutron well, wireworld is pretty cool for making wires, it could do something like this:
https://www.youtube.com/watch?v=m5kT47US7ek&list=RDm5kT47US7ek&start_radio=1
Would you rather...
| look good: | 0 |
| feel good: | 8 |
| be good: | 8 |
@ashwin It was a bit of a conflict between Feel Good and Be Good, but I realized that, in order for me to Feel good, I have to also Be good and even Do good. So "Feel Good" it is.
What's your primary pointer input method?
| Mouse: | 199 |
| Trackpad: | 136 |
| Touchscreen: | 12 |
| Pen/Pencil: | 5 |
Closed
@bigzaphod honestly can’t pick one…absolutely depends on what I’m doing.
Mouse for PC FPS/RTS, trackpad for general computing, touchscreen for phone/tablets.
@prahou when you write your colors in hex/rgba/hsl/oklch, you engage in invention of new colors. Who gave you the right to do so? This practice is reserved for trained specialists, who created and registered named colors. Any free use of digits for this purpose must be outlawed.
@prahou@merveilles.town No, the metric system is better because it doesn't require me to do algebraic trigonometry to covert from one unit to another. Just add 0s to the right or to the left.
@cody look, a new color! 5f87ff0
@prahou color is a concept completely made up by trichromats, i don’t care what you believe in, just don’t push it on me!
Yes, but if you "train your brain properly," then you'll actually be able to "see" each precise color, from knowing and seeing its HTML hex code!
@JeffGrigg @prahou There's actually a Wordle-style game about this. I can be fairly good at it. I wasn't today though. Way more red in that color than I expected.
@corbden @JeffGrigg this is awesome, but also against my religion.
boosting does not mean endorsement!!!!
@prahou @corbden @JeffGrigg
I got Hexcodle #1119 in 4! Score: 70%
✅⏫🔽⏫🔽🔽
✅✅✅🔽🔼🔼
✅✅✅✅🔽✅
✅✅✅✅✅✅
@prahou@merveilles.town I don't know what my favorite color is in non hex :c
@CinnamonCatYurilover tell me
@prahou there are 16^6 colors, and they all got a name
Inspired by Terry Pratchett
Fixed a bug in the notification page that made snac hang forever while trying to read abnormally big files.
Improved support for text-only web browsers: it's now possible to configure a set of web browser user-agent strings that will receive simpler HTML in the private timeline web UI. Basically, it consists in avoiding details / summary HTML tags as much as possible.
Added some fixes to media proxy code.
Fixed EmojiReact code to allow any emoticon defined in emojis.json, not only those with colon-wrapped identifiers.
Fixed a bug in notification filtering (paging was sometimes incorrect).
Added a notification filter for Webmentions.
Mastodon API: Don't return reactions count as string (contributed by mkljczk), implemented GET /v1/media (contributed by clairemont).
Fixed bug in documentation examples (contributed by Sprite_tm).
Updated Ukrainian and Russian translations (contributed by wincentbalin and koru).
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
Fixed a bug in the notification page that made snac hang forever while trying to read abnormally big files.Some users had detected very big files (caused by probably intentionally malicious posts) in the notification area that made it unaccesible. The fix consists in a) taking care that those humungous files are no longer created, and b) if they already exist, they are ignored.
Thanks for the FreeBSD port!
BTW, this seems important enough to justify a CVE, doesn't it? I intend to work on backporting the fix to the version we ship on Debian stable.
Did you know that on Unix-like systems it is generally possible to search across man (manual) pages with a command apropos? E.g. apropos wifi on my freshly installed NetBSD finds me documentation for the available network drivers, and a very helpful page afterboot that explains, among other things, how to connect to WiFi (and then install software from binary packages).
| Yes: | 221 |
| TIL, thanks: | 307 |
Closed
I used Unix-like systems for a long time, but I only learned about apropos a couple of years ago. 😓 i should've had RTFM
@nina_kali_nina Ironically the best way to find out about the `apropos` tool would have been the `apropos` tool
(You can also access it with `man -k`)
@mcc it doesn't work (right) after midnight, right?
@nina_kali_nina @mcc oh that sounds awfully familiar… yeah, looks like they fixed that “bug” last year - https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030
@nina_kali_nina That was one of the very very few commands I knew when I started playing with Unix-like systems.
I think I also knew about ls, cd, cat, more, sed and man. Everything else I found from apropos searches. :)
@nina_kali_nina the manual used to be a lot smaller, you could read all of it, or of not all, a good chunk. I learnt of a lot of Unix back in the day by doing "ls /bin /usr/bin" and doing man thing on each one. That and some man 1 intro.
@drj yep. I've read all the man pages of ДЕМОС ( Soviet BSD derivative https://en.wikipedia.org/wiki/DEMOS ) back when I started my *nix journey. I wonder if it had apropos in it and I simply forgot about it, or it's a new thing
@nina_kali_nina my first Unix was SunOS 4.0/4.1 ish in 1992, and that had it. I always though it was "not very Unix" to have a whole command that was the same as man -k.
@drj I just checked the manual I've read, it explains apropos but it didn't left a lasting impression, unlike whatis and just the option of grepping through stuff
@nina_kali_nina I find it's WAY more useful (and simultaneously advertised) on BSDs -- OpenBSD is what initially taught me about it, in their similar first boot document.
Coherent and exhaustive documentation for the whole platform is one of the nice bits of the BSDs, too. Being able to find out how to configure my specific quirky video chipset on an old compaq laptop 100% from the man page, entirely offline, on OpenBSD was kind of a highlight of that experience, and apropos absolutely helped
@nina_kali_nina If you're truly lazy, you can use `man -k` instead of `apropos` to save one keystroke.
@miodvallat @nina_kali_nina or `whatis`, which should be the same as `man -k` but maybe easier to remember?
@miah it's not the same on my system; whatis only searches for man page names, not the content
@nina_kali_nina @miah @miodvallat
Yeah, different.
When I run "whatis whatis" I get one response. When I run "apropos whatis" I get a lot of responses, including "apropos", "whatis", "man", "makemandb", and others
@nina_kali_nina It's funny, I knew it was a command but I never actually got around to learning what it does!
@nina_kali_nina to be fair, so many linux distros avoid installing many of the manual pages by default unlike most *BSD base install sets. Documentation should always be included by default not the other way around.
@cararemixed this!!
@nina_kali_nina @cararemixed There is that. See also my parallel rant on the commercial unixes (some of whom only shipped online manuals (as electronic manuals on the system were called) as a paid extra).
There is also the fact that GNU, which supplies most of the basic Linux userland utilities, are ideologically opposed to man pages.
@nina_kali_nina the issue i had was simply discoverability
yeah there might be detailed documentation on how to do things, but if you can't find it it's almost useless
@nina_kali_nina that saved my ass so many times, both personally and professionally. One of the most useful tools together with the more recent tldr
@nina_kali_nina 🤓☝️ Apropos as a command stems from the Lisp lineage (iirc Interlisp being the first to have it) all the way back in the 1970s.
@shinmera @nina_kali_nina yo @interlisp is this true boss? Interlisp was the first Lisp to have apropos? (I'm not doubting it, just aware that you might be able to chip in reliably)
@drj We have no evidence Interlisp had APROPOS prior to the early 1980s.
The 1983 edition of the Interlisp Reference Manual did list the function but it was missing from the 1974 and 1978 editions, and prior to that from the BBN Lisp manuals. This is a strong indication APROPOS was a late addition to Interlisp.
APROPOS was not listed in the 1983 Maclisp manual by @kentpitman Kent Pitman, either.
@interlisp @drj @kentpitman @shinmera it means Unix apropos is earlier, 1979: https://manpages.bsd.lv/history.html#tools_1977_man
@nina_kali_nina APROPOS was most probably introducerad by JonL on ITS. Somewhere before 1978 or there about.
@nina_kali_nina APROPOS is listed in the MIT Lisp Machine Manual, Second Preliminary Version, January 1979.
https://www.bitsavers.org/pdf/mit/cadr/Weinreb_Moon-Lisp_Machine_Manual_Jan_1979.pdf#page=268
@nina_kali_nina
One could RTFM until the heat-death of the universe and still not have learned everything about Unix
@nina_kali_nina @DelilahTech “man -k” (keyword) is a synonym, which I find easier to type and remember.
@nina_kali_nina it was actually how i learnt the word "apropos"; well, yknow, coming across the command and then looking it up in a dictionary.
Oh no, wait, now i am telling you this story, i think it actually might be from "M-x apropos" from micro-emacs, a lightweight emacs-like that i used on the Atari ST.
@nina_kali_nina I'm lazy though and learned early on that man -k does essentially the same thing. So when man foo fails I just run it again with -k
@nina_kali_nina I know it in theory, but every time I actually need it, I have forgotten what the command is 
@jana wonderful people on the fedi say that man man nowadays mentions it, and it sure does on my system
@nina_kali_nina Also:
man info
info man
man bash
@rojun no bashing allowed around here 👋
(people at my previous job called me a "bash witch" sometimes, it's really weird not to have it installed, but here we are)
@nina_kali_nina Yes! I have also since learned that some Linux distros don’t install all the man pages for the software they install (or distribute them as separate packages - this is often the case with Perl). Apropos can’t help you if the man pages are missing! 😠
@nina_kali_nina When I bought the CDs for Slackware Linux, like thirty-something years ago, they came with a massive manual. A physical book I mean. I'm quite sure it mentioned also apropos.
Today what's like, launch a do-it-all web installer and wait to set -maybe- the root password?
Then google for instructions about anything? So to have some cut and paste actions, and finally get lost in some overly complex web development environment.
@nina_kali_nina I assumed this was just as basic info as "man (command)" will show how the said command works.
And since man is often basically just the barebones list of parameters and brief examples, "info (command)" gives you a lot longer explanation.
@nina_kali_nina yeah, but I just use `man -k`, it's stupid to learn and type a new name for the same command
@nina_kali_nina this is cool, thanks for sharing!
FWIW, I have a hard time spelling "apropos", so I also just learned that man -k does the same thing (at least on macOS). For example, man -k wifi gives the same result as apropos wifi.
AND the argument can be a regular expression! The example in the manual is
$ man -k '\<copy\>.*archive'
Thanks for making me aware of this! Very useful!
Remember when 📱 were invented and didn't have much RAM so they ran one program at a time, and the programs were designed so when you switched away they'd remember what they were doing and resume it when you came back? And then the 📱 got a LOT of RAM so now multiple programs can run until RAM ran out and one got ejected? And then the programs started taking up so much RAM only one can run at a time? And then it turned out the programs no longer remember what they were doing when they get ejected?
OK, our little computer/server/NAS is online at Crowd Supply: https://www.crowdsupply.com/mnt-research/mnt-station
The main idea was to have a high-end enclosure for the classic MNT Reform mainboard to give it a second life, but you can as well build an open hardware computer from the parts.
We're also publishing 3D printable versions of the cases, and there will be more photos and use case details in upcoming campaign posts.
The Chat // Have a nice chat unencumbered by the meaning of real words. Made for #picojam26 https://itch.io/jam/picojam26/entries (thanks for organising, @illuminesce !)
Play online: https://www.lexaloffle.com/bbs/?pid=194820#p
Or from #picotron terminal: > bbs://thechat.p64
When your compiler knows what to compile without giving it arguments, and when the operating system knows what artifact to run without having to tell it. 
Don’t move buttons from under the mouse.
Thanks @The2lb3oz4dr10grOfHedgehogs for the video
Reading @j-g00da's comics via @jn's zine viewer on Uxn. Fits the medium like a glove.
https://codeberg.org/neuschaefer/dreams/releases
https://kamiokan.de/
Very cool!
An NES homebrew ROM showing live ADSB aircraft traffic, fed over serial through controller port 2 on real NES hardware. A companion app does the networking the NES can't, then streams it to the NES.
I am seriously considering switching back from Neovim to nvi. I constantly vacillate between the richness and bloat of Neovim and the scarcity and minimalism of nvi. Sure, Neovim does have some nice features. But is it worth this huge increase in complexity? The size of Neovim's codebase is probably like 20 times that of nvi's, while its benefits seem rather marginal to me (based on my way of using it - your mileage may vary).
We always add, add, add instead of subtract, subtract, subtract...
On Friday, my son asked me why C++ is better if the Python version of the code is simpler. He specifically had asked about a "hello world" example, so we wrote both examples together. They both run instantly, so it's not a great comparison. I showed him how to tell which is faster with the `time` command. We also talked about the difference between the work that Python and C++ are doing. I'm pretty sure he understands what we talked about, but who knows?
█▓▒░ 𝗣𝗜𝗖𝗢⬩𝟭𝗞 𝗝𝗔𝗠 𝟮𝟬𝟮𝟲 ░▒▓█
🌐 https://itch.io/jam/pico-1k-2026
WHAT?
👨💻 Make #Pico8 (or #Picotron) Games/Demos/Tools in ≤ 1KB
WHEN?
📅 SEP 1ˢᵗ-30ᵗʰ 2026
Hope to see you at #Pico1k jam! 🤓
Our new Amsterdam servers are live. The EU can now be the primary home for Fastmail data, and like our US locations, it's our own hardware, racked and run by our own people. Nothing rented from a big cloud provider.
Already a customer? Switch regions in your settings. Thinking about it? You choose your region at signup.
Our CEO Bron's post walks through exactly what lives where, because we figure you'd read the fine print anyway.
https://www.fastmail.com/blog/fastmail-offers-eu-data-region
basically, my meter shows the net value across all phases, while the electric company counts import and export separately and charges for both. so instead of having almost zero import, the actual import was much higher...
trying to configure my inverter to balance the phases better
exported over one mwh at peak hours. can't wait for the next electricity bill... :)
More surreal rendering tests for #picotron 0.3.1, this time with tline3d textures x colour tables. Notes and gif:
https://www.lexaloffle.com/bbs/?pid=193908#p
like = you run it on server
boost = you run it on desktop/laptop :)
❤️
I'm using OpenBSD on little servers only for a private case not on a public way, and less on a professional way ( I don't work in IT I'm just curious about it ).
One machine is a little NAS and another is a homelab hosting actually a snac instance and a postgresql service.
Also my 20 years old computer, I'm actually use, works well on desktop with OpenBSD thanks to dwm :)
"coding is solved" they said
"use AI" they said
me working on OpenBSD writing C: dead software walking
https://rsadowski.de/posts/2026/dead-software-walking-relayd-and-httpd/
Checking that quad boundaries join up with no holes or overlaps. This one kind of reminds me of a colour plate from an 80s siggraph paper. #picotron
Apple keeps releasing new and more expensive hardware that folks want us to support but we can't even afford to buy the new stuff ourselves to test it on.
I mean.. my iPad is an M1. My iPhone is still a 14. And my Mac is an M1 Max. So... I'm a few years behind over here across the board.
Now there's talk of a foldable iPhone? I'll probably need a second mortgage for it which wouldn't be a good idea because I don't know if selling apps will even survive another year.
The math isn't mathing.
I know I shouldn't be surprised that it just works as is, but still cool, I can build compile uxn binaries directly inside dos.
wcl -bt=dos -ml -fe=bin/uxnmol.exe src/uxnmol.c
📢 EuroBSDCon2026: The Schedule is Here! 😈⛳️🐡
The schedule is now published!!
You can find it at: https://events.eurobsdcon.org/2026/schedule/
Grab your tickets 🎟️ at https://tickets.eurobsdcon.org/eurobsdcon/brussels/
For everything else, peek at https://2026.eurobsdcon.org/
More information is added all the time.
EuroBSDCon 2026 in Brussels, Belgium 🇧🇪
September 09-13, 2026
#RUNBSD #FreeBSD #NetBSD #OpenBSD #EuroBSDCon #EuroBSDCon2026 #BSD #Conference #Register
cons
having all my tools within arm's reach has been an amazing boost to my productivity. more importantly, it brings me peace of mind because i actually know where my things are now... ❤️
i think i own too many things, but i guess that's the price you pay for living in the middle of nowhere
i'm finally getting all my boxes sorted and everything organized for the first time since i moved in last year
Everything I Know About Making Art On The Computer I Learned From @prahou.
https://triapul.cz/automa/i_did_not_kill_stanley_lieber
https://rabbits.srht.site/decadv/
#occ2026
Five years ago(as of June 8th), I decided to give up on Acme and make my own text-editor. The plan was to make something I'd use for the rest of my life, improve it as I went along. It was to be written in this new language, and my list of ideas for it included a ton of extremely bizarre UX choices I hadn't really tested for my own. But if we ignore the more quirky esoteric things about it, there was two pretty simple choices made for it:
Undo depth: zero.
Largest file: 64kb minus the editor's own size.
Undo is probably the easiest one to understand. As you'd expect, some other mechanism emerged to take its place, I wouldn't just let it eat up my work each time I made a mistake. What ended up replacing it was being able to append and cut off chunks of snarf buffers, when I have something I might want to keep, I push it the top of the snarf file. When I'm satisfied with the change, I pop it off, or add something else on top. This has served me well enough, I figured that if I ever needed undo I might add it, but the occasion never came!
As of today, Left sits at 17677 bytes, which means I can edit a file, at most, a 45kb long file. This turned out to be less of an issue than I expected, mostly it made it so I split projects into chunks, but more importantly, it means that every single byte of the editor has to be accounted for. If I add something, I know its cost and the cost is directly making for a worse editor. This has been a constant force of optimization and code hygiene over the years.
A new MNT Pocket Reform mini laptop variant with Quasar 6490 (Qualcomm QCS6490) processor module (8GB RAM / 128GB UFS) preinstalled is now available in our shop: https://shop.mntre.com/products/mnt-pocket-reform
Enjoy!
just took some pictures of the new MNT Pocket Keyboard (small standalone USB-C keyboard with integrated optical trackball and RGB backlight) that's coming to our shop at some point next week. the case is a mix of aluminum (top plate) and Multi Jet Fusion printed Nylon (HP PA 12 S). in my opinion it feels really nice in the hands. open source hardware, of course.
need to find something or write a little wrapper for ffplay
@hi I used to use this https://www.tumfatig.net/2022/pikvm-using-a-raspberry-pi-zero-2w/
It was quite nice. I also used it to record the "OpenBSD workstation" :)
current setup:
openbsd -- usb dac -- amp -- speakersnext up: make everything more user-friendly or teach my family how to use the command line ;)
openbsd -- hdmi tv
then i discovered that openbsd doesn't support audio over hdmi and my openbsd server doesn't have analog audio output, obviously.
my tv had been connected to a stereo amplifier anyway, so my setup is actually even better now: a dedicated usb dac connected directly to the amplifier.
also, lots of cables :)
at least the dac box can draw power from my server over the same usb cable.
very excited to switch to fully local streaming ❤️
I Did Not Kill Stanley Lieber: How to draw (with 9front)
The penultimate paper on paint(1) and the 9front art machine.
https://triapul.cz/automa/i_did_not_kill_stanley_lieber
#unix_surrealism #plan9 #9front #art #guide #computers #oldcomputerchallenge
We really appreciate the work done on the TLS settings in relayd(8) and httpd(8).
It makes it even easier to get a tried and tested secure connection to your favorite OS and service!
"Both relayd(8) and httpd(8) now have the "secure" list of allowed crypto methods for HTTPS, which include TLSv1.3 and the TLSv1.2 AEAD cipher suites.
The previous list was "HIGH:!aNULL" which contain non-perfect-forward-security methods and this change may cause old clients to not be able to connect."
Source: https://undeadly.org/cgi?action=article;sid=20260629165750
Hat Tip to @sizeofvoid and others!
it's easy to script everything. wrote a script to download the latest version of routeros and upgrade all my mikrotik devices: routers, modems, access points (via capsman)
and when you need gui then winbox is amazing too. nice solid ui and it's only getting better over time
now considering good old woodworking instead...
any good cnc machines that can produce small parts?
any similar machines? (also made in eu)
pretty much all other code i ever wrote is long gone
it detects the intel hd audio and attaches azalia(4), but only the internal realtek alc257 codec is found.
there is no hdmi audio codec, no audio1, and mixerctl -a only shows the internal speaker/headphone outputs. the external display works over hdmi, but there is no way to select hdmi audio because no hdmi audio device is detected.
is hdmi audio expected to work with openbsd 7.9? if it should work, are there any additional diagnostics steps i should try?
ESS9038K2M 32-bit
up to dsd256, pcm up to 32b/768kHz
kudos to deltahedra ❤️
i just want to replace it with a few scripts and plain text logs. feels like all i need is to fetch price and weather forecasts and pull/push some modbus registers...
what do you use for your smart homes?
similar to this setup, but with a trackpad not a mouse...
any ideas?
now i'm looking for m.2 modules (lte/5g and wifi ap) compatible with #openbsd. any recommendations?
It rained tropically all day yesterday, so we didn't wander the woods, I stayed in and worked on my little OpenFirmware-inspired operating system.
It's capable enough that I've added it to uxn11 and uxn2, accessible with F4. A perfect little tool bounce in and out of roms, set a screen size for roms that don't, rename/delete files, peek at metadata, etc..
@hi If you have a disk that you're happy to have mounted read-only, then https://stable.rcesoftware.com/resflash/ could be useful!
next up: build own micro-grid and automate export to the grid based on price and weather forecasts
i was thinking about a rowing machine for long time, but was not sure if there is enough space for it in my tiny home gym. this end up very well: rowerg is quite compact and light.
it's not as fun as running outdoors, but there are many pros for me:
so far we've presold 12x MNT Quasar 6490 modules, that's 50% of what we need to kick off the first batch. feel free to send me some promo ideas. should i make a video showing the general performance? who would be your favorite reviewer for the Quasar Pocket Reform?
i'm very happy to present the first release of the Barebox bootloader tailored for MNT Pocket Reform with RK3588 processor, bringing you an advanced bootloader with graphics and comfy shell: https://source.mnt.re/reform/mnt-reform-barebox/-/releases/2026-06-18
this is the culmination of an 8-months part time effort, mostly by @ailurux who ported all the missing display drivers and did a lot of bugfixing and polishing, with some little spikes by myself here and there. also thanks to @a3f for the friendly support navigating @barebox code.
@ailurux @a3f @barebox we also have a fixup script for booting the current OpenBSD aarch64 image including instructions to get started: https://source.mnt.re/reform/mnt-reform-barebox/-/blob/main/README-mnt.md#booting-openbsd
can't remember if i shared this fun computer thing i made
it's a lil toy for interactively exploring 1-bit dither — including my beloved Atkinson dither from the MacPaint era — by playing with it like it's a board game
try it here, but note there's zero instruction and the UI is full of secrets: https://www.inkandswitch.com/tangents/dither-explorer/
or, more fun, watch me explain how it works by saying words and moving my hands a lot: https://www.youtube.com/watch?v=9vZcmWhTeOM&list=PLCC8lmauZTzeEP7mIsOOI4HKeeyBN2rIy&index=5&t=114s
trip out, have fun <3
The Dillo browser has an excellent directory of bookmarks! If you have ideas that might be a good fit, suggest them at the bottom of the page.
https://dir.dillo-browser.org/
$719 color
$619 mono
I was missing a good image viewer to flip through folders with hundreds of chr and icn pixelart files, so I wrote one!
https://git.sr.ht/~rabbits/uxn-utils/tree/main/item/gui/image/src/image.tal
Someone just demonstrated that the entire Uxn toolchain can be reconstructed from nothing but a POSIX shell, xxd and sed. It's down to taking 34 minutes to build the Uxntal assembler.
bootstrap: https://joe.cz/uxn/uxn1b-drifloon.txt
repo: https://gitlab.com/racketeer/uxnsh
#uxn
OpenBSD 7.9 will be deployed on the hosts as soon as possible!
We want to wait for the first errata to appear.
21 new VMs were added and 61 VMs were renewed.
We donated €1125 to the #OpenBSD Foundation, €66755 since we started.
Thank you, our users, and OpenBSD developers for an awesome OS!
Stay safe, healthy & sane!
#RUNBSD in 2026
Illustrated tear-downs and break-downs of everyday products, like mechanical pencils, lighters and pez dispensers, that you may have taken for granted. Drawn by Bryan Macomber, a mechanical engineer and artist.
A really neat idea.
it works! it's just a bit smol on this high res screen
# pkg_add qutebrowser#openbsd
got X running, but xrandr -o won't budge, need to figure out how to make a xorg.conf (this feels extremely retro) or how to install some wayland compositor
I made a zine, it's called Fractions Are Everything, it invites the reader into looking at fractions a little differently.
The typesetting is done entirely in #Uxn.
BTW if you're looking for an open hardware, repairable laptop made by a small team in berlin with no venture capital, maybe MNT Reform Next could be interesting for you: https://www.crowdsupply.com/mnt/mnt-reform-next
@mntmn really wish I had new-laptop money right now 😭 I absolutely love everything about these MNT devices. One of these days I'll be able to grab one.
Mechanical Keyboard:
Standard stagger, 80 keys
Kailh Choc Brown switches
N-key rollover
Raspberry Pi RP2040 controller
QMK keyboard firmware?
Oh man, if they made it about 1cm wider it could have a standard 60% keyboard layout. Maybe even fit a low profile GH60 board. But no, the keyboard is 14.5u wide.