roman
@hi@romanzolotarev.com
99 following, 438 followers
Been working on flutton - a tiny low-code framework for #pico8. My son had been drawing little Mario levels using the sprite and map editor and wanted to get things moving - so I made this. He's not ready for code yet, but sprite flags provide a fun and easy way for him to build little games.
I still have lots I'd like to add but it is useable and you can try it out with on pico-8-edu
https://github.com/Powersaurus/flutton
@hi yeah I think since each bunny takes a few shorts, after 8000 bunnies, I think it starts storing them over the program data.
A complete neovim type editor might be tricky, but a basic should definitely be in the realm of the possible.
@d6 wrote a little editor in that same vein you could look at for an example: https://git.phial.org/d6/nxu/raw/branch/main/femto.tal
p.s. to make it clear i was talking about #openbsd /usr/bin/vi --- it's tiny. neovim is huge :)
start with ed, then ex, then vi
edit: but when you do the jump from vi to vim, replace vimscript with uxn
@hi @cerement And implementing an entire programming language. https://m.youtube.com/watch?v=Rou26TpUG0Y
now we can confirms all 8,000 bunnies can fit inside a single #uxn vm.
p.s. in the background, ps -o %cpu,rss runs in a loop
I've been working on a little something for the past few days, and it's finally usable :D
![media-1]
introducing…. gopher.tal!
https://codeberg.org/notchoc/gopher.tal
it's a lightweight (~3.2kb) gopher client that tries to be as unsurprising as possible
features:
would you be better off using w3m/bopher? probably
is this still a web browser written in assembly? hell yeah!
OpenBSD wasn't able to run snac stable on this machine, it crashed after a few requests with "illegal instruction".
#snac #snac2 #fediverse #activitypub #NetBSD #OpenBSD #retrocomputing #retroserver #retrohardware #pentiumii #pentium2 #oldhardware
- do you want to use google to sign in?
- do you want to add a passkey?
- do you want to add a 2FA token?
- we know you have 2FA but we've sent you an email instead
- this login attempt seems suspicious we've sent you a text about it
- can you click on these buses?
- you failed to click on the buses click on these bicycles instead
- should we save these details for next time?
- do you accept these trackers?
- you can opt out but we've decided it's legitimate interest anyway
- would you like to see a list of our 847 partners we share your data with?
- can we send you desktop notifications?
- can we access your location?
- do you want 10% off for signing up to the mailing list?
- do you want me to translate this page?
- hi I'm your friendly chatbot how can I help?
- oh no you can't buy this, reach out to us for a quote!
- do you want—
I'm tired boss
Got dragged into interesting conversations today, I realized that a few people in my surroundings are at a loss when it comes to proofreading without complex toolchains, or an internet connection.
@rek has written an excellent little guide on how to install and use stardict! Give it a shot, it has been my go-to for years. The synonyms support is especially powerful.
https://kokorobot.ca/site/spellbook#terminaldict
#honkers ; does anybody know what happened to Ted?
Also does anybody have an up-to-date clone of honk? it appears the version i'm running is newer than the version i have the source for and the wayback machine doesn't have consistent snapshots of the source :<
server.json set timeline_purge_days to 7."Entries in the timeline older that this numbersee also
of days are purged. If you don't want any timeline
purging and enjoy your data drives fill up with old
crap and finally burst in flames, you can disable
purging by setting this to 0"
number of files generated by snac is huge, but i don't care that much anymore.
$ du -hd0 /var/snaci like snac a lot: i run my own server and client, i can modify css (and i do tweak it often, i can modify the source code---didn't get to that yet ;)
133M /var/snac
$ find /var/snac | wc -l
35603
sometimes i use snac command line, but mostly snac web ui and nothing else.
someday maybe i'll try to build some minimalist #activitypub server, but looks like a lot of work :)
see also
activitypub-single-php-file by @Edent@mastodon.social
@rek I love it when we get to get rid of packages and replace them with
*checks notes*
a 2000 bytes program.
a {
display: inline-block;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
}
hello, pico-8-edu.com :)Each #OpenBSD virtual machine hosting #Git repositories on the #GameOfTrees Hub is configured by editing the gotsys.conf configuration file.
We run a live demo which shows configuration examples to help new users with getting started: https://demo.gothub.org/
<style>see also
body {
filter: url(#x);
}
svg {
display: none;
}
</style>
<svg width="0" height="0">
<filter id="x">
<feturbulence
basefrequency="1 2"></feturbulence>
<fedisplacementmap
in="SourceGraphic"
scale="2"></fedisplacementmap>
</filter>
</svg>
html { font: 20px sans-serif; max-width: 40rem; padding: 0.5rem; }
html { font: 20px sans-serif; max-width: 40rem; padding: 0.4rem; }
img { max-width: 100%; border-radius: 0.4rem; }
for #snac2 i still have like a hundred lines of css, but i think i can ditch at least a half of ithtml { font-family: sans-serif; max-width: 40rem; margin: 1rem auto; }
img { max-width: 100%; border-radius: 0.4rem; }
@media (max-width: 40rem) { pre { overflow-x: auto; } }
left twitter ages ago and never found anything else that stuck. just restarted my instance recently, and i'm really enjoying it ❤️
powered by @gothub@exquisite.social
gothub feels so right:
i'm glad to support gothub, and if you're looking for a neat place to host your repositories, give it a shot:
$ ssh signup@gothub.org#gameoftrees #openbsd
it captures exactly how i feel about the state of the internet and it's heartening to see someone building good old homepages with such care and love ❤️
\ (^_^) /
i understand you need to generate a new keypair and then sign your new public key with old one and propagate to the network... how do you practically do that?
as i read more reviews, i'm realizing just how much breaks when leaving the iphone ecosystem. apple has so many hooks in my setup... :(
...and it's time to rethink this setup
The Game of Trees Hub is now hosting an #OpenBSD #Git repository mirror:
The repositories available on our mirror contain the same data as already available at the openbsd accounts on Codeberg and Github but we do not rely on these other sites for updates. Repository updates are regularly being pushed to us directly from Canada.
heavy traffic caused by people updating their #snac2 instances :)
Minor tweak to improve signature key retrieving for some Wordpress configurations.
Fixed web UI incorrect links to actor public pages for some configurations.
Fixed mismatch in the accounts being followed number in the public and people pages.
Notifications can be filtered by category (contributed by byte).
Dates are shown adjusted to the account's time zone (contributed by dandelions).
Configurable limit for poll items (contributed by dandelions).
Fixed incorrect scope when editing a post (contributed by dandelions).
Change the strip_exif logic to work with the already existing OpenBSD sandbox (contributed by oxzi).
Mastodon API: Add poll creation (contributed by davidrv00), fixed a voting bug (contributed by davidrv00), added a fix to verify_credentials (contributed by ag-eitilt).
Updated Czech, German, Brazilian Portuguese, Spanish translations (contributed by pmjv, zen, daltux).
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
cyberdeck update/upgrade ^-^ started messing around with this again since i've been too depressed to be online. i wrote a new blog post about this, some linux things, and other end of the year life stuff ¯\_(ツ)_/¯ read it here: https://ellesho.me/page/website/now/#meet-me-at-the-apt
Ever wondered what the kernel actually does during boot? Well here is one example. Daily Source Reading: what does #OpenBSD do during boot?
https://blog.wollwage.com/2026/20260217-daily-source-reading-kernel-main.html
@hi consider me someone who asked. I have appreciated you setup sharing, including on your older site. Thanks for posting!
@grunfink@comam.es, thanks again for snac ❤️
just created an account on steam and bought the games, but there is no way to download *.p8 files. i'll try to find a friend with paypal tomorrow ;)
Modern #CSS code snippets, side by side with the old hacks they replace.
"Stop writing CSS like it's 2015."
Might squeeze in one final feature before finalising picoCAD 2
🎨 Palette - load from disk as well as a few built in ones
📐 Vertices - merge vertices and delete
📥 Export - something other than OBJ, like gltf or fbx
Thoughts?
updated /var/snac/data/server.json
"cssurls": [ "/style.css", "/snac.css" ],while keeping
/var/snac/data/styles.css empty, otherwise snac re-creates it with default styles... :)Thinking about design of a potential issue-tracker/code-review tool for @gothub and trying to account for the fact that allowing text to be entered into a website is becoming increasingly dangerous these days with way too much potential for spam and abuse by bots.
Currently our web UI is entirely read-only and perhaps there is value in keeping it that way?
This means communication needs to happen out of band somehow. Currently we don't offer anything. We should at least offer mailing lists to offer at least one way for projects to communicate. But mailing lists are a poor medium for keeping a structured, persistent, and searchable record of information about a software project. On the other hand letting anyone add arbitrary information is becoming a nightmare for both us as a hosting provider and our users who maintain public projects.
I end up asking myself what if the only way to have information show up on a project's main web presence was if a project maintainer pulled data from a git repository of someone who wants to report an issue or add review comments. Would that cause too much friction?
updated
also for testing purposes it generates an index pages with total size of all photos in bytes. loving it!
If the site works in a browser and has an app, use the browser. If a site forces you to use an app for things that can be accomplished in a browser, you should be questioning it.
The #fedimap is a map of the Fediverse users. Everyone can mark or unmark themselves.
Here's how you add yourself:
• Grab your coordinates by clicking on a location on https://fedimap.de/en/
• Don't use your exact location obviously 😉
• Send a private message to @fedimap with your coordinates like this:
• @fedimap !in 54.88889467,23.93083513
Done!
Looking forward to meet people in #brussels 😀
The project's code is https://codeberg.org/Lioh/Fedimap.
TIL: prefix your personal shell commands with "," https://rhodesmill.org/brandon/2009/commands-with-comma/
why am I only learning this now 🥲
Loneliness is the biggest disease of our time. What do you do for yourself and for others to combat it?
What a strange time. I just read this sentence in an article about an HTTP client:
"Lightweight : Just 157~ KB in size"
Sorry but 157 KB is NOT lightweight. Especially for an alternative to "fetch".
The early Web had a quality that has been lost ever since: it was *simple*
Download #httpd , #netscape write some #html by hand and boom, the concept of a networked digital society is born.
It first started going pear shaped with #LAMP . The complexity of a full blown database was not justified for most use cases. As proven decades later by the popularity of #sqlite and #ssg approaches.
The final blow was when #bigtech got into the act. Immense complexity for the simplest things became a moat
Wondering if #PhanpySocial users know that the composer can be minimized or popped out as a separate window (only on desktop)? 🤔
We should all get used to no longer saying "GitHub" but "Microsoft AI GitHub" just so it's clearer where your code lies and for what purpose.
There are a few nicer feelings than being emailed by someone whose blog you read that tells you that they read your blog as well. I love the #indieweb.
I'm so unbelievably addicted to the #Indieweb / #smallweb.
To feed my addiction, I have found yet another search machine that finds non-commercial sites. Send help! https://marginalia-search.com/explore
All your personal sites are SO COOL. Drop yours below, please! twitch twitch
Learning raycasting. This feels like another one of those game dev milestones. #picotron as ever
also please boost and/or recommend any cool capsules ❤️
🦾 Can my SPARC server host a website? // Darko Mesaroš,
「 TL;DR: I’m hosting a website on a 25-year-old Sun Netra X1 SPARC server running OpenBSD 7.8. The setup includes: Noctua fan mods for quiet operation, httpd serving static HTML/CSS, OpenBSD’s pf firewall with default-deny rules, and Cloudflare tunnels to expose it safely without port forwarding. The server pulls ~55MB of RAM and serves pages from my garage 」
https://rup12.net/posts/can-my-sparc-server-host-my-website/
It's so weird that a lot of people think the quality of software is measured in how often it gets updated—it's literally the opposite.
falling into a rabbit hole…
at least my html pages mostly text and easy to convert to #gemini
It feels like developers are currently split into two groups that do not really understand what the other group is talking about:
One group tries to reduce their dependency on Big Tech by switching to alternative search engines, code forges, map providers, operating systems…
And the other group is trying to increase their dependency on Big Tech by adopting agentic and/or vibe coding.
Oh, did I say that those 2 hours of 200 requests per seconds, unnoticed from a user perspective, landed on an #OpenBSD VPS running on an OpenBSD host using OpenBSD virtualization program?
And they say OpenBSD is slow… But I’m biaised.
I've just published Snk on itch.io for Playdate owners. For free. If you play, tell me about your experience, or if you have any problems, I'll be happy to help.
You can download it here: https://gunbolt.itch.io/snk
RE: https://hachyderm.io/@thomasfuchs/116040934611280426
Btw you can literally throw a PHP page on a web server and it will work.
Nothing about web development has actually changed that much except that it’s much easier to make eloborate designs with less CSS than ever and also you probably don’t need any 3rd party libraries to do pretty stunning interactivity stuff.
You know, a glass teletype. That toy that kids keep calling a "monitor," even though we all know monitors are reference speakers used in audio production.
I had the privilege of penning an article for the latest issue of Good Internet Magazine!
It is all about the process of making and experiencing art and how friction and inefficiency needn’t be dirty procurances to avoid and evade.
https://goodinternetmagazine.com/rebelling-against-efficiency/
If you enjoy this article, you might consider picking up the physical print copy of the magazine, which you can buy on the site. A proper palpable paper printing of passionate prose for your pleasant perusal.
> "Many personal website owners
deliberately choose inefficient methods
for updating their sites. They write
HTML by hand, upload files directly
via FTP, or maintain static sites that
require manual intervention for even
simple changes. These choices would
be considered backwards in a
professional context, but they serve
important psychological and creative
functions"
by @vale, in the current #GoodInternet issue.
i try to push shell as far as it reasonably goes. for most tasks, sh, find, grep, sed, and cut is more than enough. only when things become truly complex or painfully slow do i reach for another language.
i used to care a lot about strict portability, but in practice i only run my scripts on macos and #openbsd. that simplifies things: if shellcheck is happy, i'm happy. i'm 99% sure my scripts work on other unix-like systems, but i don't feel the need to check.
what really draws me to shell is that it's always there. it's part of the base system, requires no extra installation, and the runtime has been stable for decades. that stability translates directly into confidence: shell scripts feel future-proof.
i know i can run something like ssg.sh ten years from now and it will still work --- certainly on #openbsd, and hopefully on macos too. there's no dependency churn, no worrying about the "right" version of python or ruby, and no hoping the ecosystem hasn't moved on.
it just runs.
basedir with tar or copied a few files from user?i'm thinking how to make smallest possible backups...
html_count: 5
html_size: 1102841
ico_count: 1
ico_size: 1218
id_count: 2
id_size: 10
idx_count: 10416
idx_size: 633369
json_count: 12490
json_size: 50926543
lst_count: 1
lst_size: 33
pid_count: 1
pid_size: 6
png_count: 9
png_size: 557101
tag_count: 2180
tag_size: 21400
txt_count: 7
txt_size: 88
other_count: 669
other_size: 257034
*_size in bytes
but over 30% of nodes have >1 hardlinks
#snac2 is very unixy :)
$ du -hd0 /var/snac && find /var/snac | wc -lmeanwhile #rss feed is just 9999 bytes
61.8M /var/snac
9532
$
$ curl -s https://romanzolotarev.com/pub/hi.rss | wc -cthanks #snac2 for great defaults and working perfectly out of the box ❤️
9999
https://romanzolotarev.com/pub/hi
becomes
https://romanzolotarev.com/pub/hi.rss
how cool is that? 😎
+260% file count
+16% space
$ du -hd0 /var/snac/data && find /var/snac | wc -lstill okayish for a #selfhosting project
71.5M /var/snac/data
26230
i use shell scripts to configure and deploy a few #openbsd servers:
@h3artbl33d @opentechfan rdist rocks! when you don't screw it up.
At the moment we use it sync our 4 DNS VMs. In the past we also managed a cluster of relayd VMs.
https://openbsd.amsterdam/blog/rdist-1-when-ansible-is-too-much.html
| yes, for myself and other people: | 12 |
| yes, just for myself: | 32 |
| no, but maybe in the future: | 38 |
| no: | 38 |
Closed
@hi ah, I question I just cannot resist!
I have my own instances of #Gotosocial, #snac2, and... #honk, all for my own use.
All running as jails on a FreeBSD box with an 8 core Ryzen 7 and 32GB memory, but those 3 jails, plus a couple of others only really utilise about 4-5GB.
@hi running GTS on a little VM on some old hardware I already had.
It’s super easy to maintain and so reliable. Highly recommended.
Thank you very much for your awesome work, @grunfink@comam.es 🙂
The time is probably right.
Back in 2022, when I was still using iOS, I wasn’t completely happy with the Fediverse apps that were available. I was mostly using Akkoma, and the interface I liked the most was actually its web UI, even on mobile. So I started playing with Xcode and put together the foundations of an app tailored to my needs.
A lot has changed since then and today we have great alternatives like IceCubes, Mona, Ivory, etc. Each one has strengths and weaknesses though, so I picked up my old project again and kept pushing it forward.
So I’m happy to announce that my app will finally see the light: I’ve been using it for the past few days and, in my spare time, I’m fixing bugs and adding missing features. I’m building it around my own needs, so it doesn’t have to “appeal to everyone”. I wouldn’t call it opinionated, but it’s definitely targeted.
The app will have one key trait: #snac2 support will be a first-class feature, not an incidental one. Many apps, especially on iOS, support snac as a side effect, but the experience is often not optimal. In this case, the choice is deliberate and it strictly follows the Mastodon API support implemented by snac. So snac will work properly (within the limits of the platform, of course).
Among the features already implemented: the app is minimal and lightweight (under 10 MB, including debug code), easy on RAM, and privacy-first (for example it strips EXIF data from media before posting, so the server will never see it). On snac it also cleans up the "Boosted by Aoderelay" messages that appear when using a relay, removes the character limit, and supports posting in Markdown.
I also added support for Apple Intelligence to generate alt text, both for the media I post and for media posted by others that is missing alt text.
Everything is processed locally through Apple APIs and only on supported devices. The results aren't amazing, Apple Intelligence is extremely limited, but in my opinion it's the only privacy-friendly and ethical way to approach it. And of course, you can disable it.
On Mastodon it supports all the main features: lists, quote posts, granular notifications (you can choose what you want for each category), notification grouping, multi-account support, and it works.
It's still missing a few things (block, etc.) and has some bugs, which I’m spotting as I keep using it.
As soon as it's stable enough, I'll invite a few people to test it. I still haven't fully decided how I'll distribute it: an Apple Developer account has a yearly cost, and I hope to reuse it for other projects too. So this app might be paid, with a trial period, but if possible (I still need to check what’s feasible) I'd like it to be free if you connect to one of the BSD Cafe instances, illumos Cafe, or any snac instance, including your own.
I don't know how long it will take before it's ready... but I can already tell you what it will be called.
It already has a name, and it's... MastoBlaster.
This name was chosen for personal reasons, and also because of its similarity to Master Blaster by Stevie Wonder, which even today feels relevant and fitting for the Fediverse.
Stay tuned!
#MastoBlaster #Fediverse #Mastodon #iOS #FediverseApp #Announcement #Apple #snac #snac2 #BSDCafe #illumosCafe
# rcctl stop snacthen restore:
# cd /var/snac
# tar -cpf /tmp/snac data
# rcctl start snac
# rcctl stop snacor is there a way to backup/restore while it's running?
# cd /var/snac
# tar -xpf /tmp/snac.tgz
# rcctl start snac
any plans to use sqlite or some other database?
also thank you for creating #snac2. i love it!
We have spun up 5 new VMs during the last 48 hours. Some were booked by known friends of ours, some booked by new friends we have never met before. Welcome on board!
History