Hello bsd.cafe ๐Ÿคฉ!

I finally did it and moved to a more appropriate "home realm" for a #FreeBSD enthusiast. Thanks @stefano for offering this!

Moving followers worked flawlessly, restoring all my settings was pretty quick, but of course all my old toots are left on https://techhub.social/@zirias ๐Ÿ™ˆ

So I guess I'll introduce myself here by writing a little thread, adding a few of my works that someone *might* find interesting. But first a bit of "who am I":

I'm a "professional" software architect/developer (mostly #dotnet platform in the day job), FreeBSD hobby-admin and ports committer, #C64 fan (and occassionally coder and even musician), and apart from computers also interested in music (playing a few instruments myself), traveling, cooking, sometimes sports, sometimes politics ... but probably won't toot about any non-technical stuff (or, very very rarely).

Felix Palmen ๐Ÿ“ฏ (@[email protected])

733 Posts, 31 Following, 5 Followers ยท Dipl.inform., FreeBSD ports committer, musician, C64 fan/coder, hetero cis white male, not proud, no wing, no ally, leaning liberal/ecologist, pro facts/science

TechHub

Let's start with my most recent opensource dev-project:

#qXmoji is an #X11 #emoji #keyboard. Although it uses #Qt for its GUI, the mechanism to "type" emojis is pure X11. This means any X11 client can receive them (whether that client can correctly *display* them is an entirely different issue ๐Ÿ™ˆ) ... not even #XIM awarenesss is needed.

The mechanism to inject fake "emoji keyboard events" is quite hacky and dirty, but it works!

https://github.com/Zirias/qxmoji

Not sure whether I should add it to #FreeBSD ports, but if you want to try it, here's a patch for the ports tree:
https://people.freebsd.org/~zirias/patches/0001-x11-qxmoji-Add-new-port.patch

GitHub - Zirias/qxmoji: Barebones X11 emoji keyboard with Qt GUI

Barebones X11 emoji keyboard with Qt GUI. Contribute to Zirias/qxmoji development by creating an account on GitHub.

GitHub

Also quite recent: #dos2ansi. This is a very versatile converter for #MSDOS #ansiart (and other "text") files to a format using #Unicode and only standard #ANSI #SGR escape sequences, so, suitable for today's terminals like #xterm. It includes an ansiart viewer which is "just" a shellscript, leveraging dos2ansi, xterm, less and some nice original #IBM fonts to do its job. So, maybe something for the #retrocomputing fans.

https://github.com/Zirias/dos2ansi

Docs (manpages) are here:
https://zirias.github.io/dos2ansi/

As there was *some* interest, a #FreeBSD port is available: https://www.freshports.org/converters/dos2ansi

GitHub - Zirias/dos2ansi: Converter for old MS-DOS/ANSI.SYS text files

Converter for old MS-DOS/ANSI.SYS text files. Contribute to Zirias/dos2ansi development by creating an account on GitHub.

GitHub

Fun fact, if you're a #FreeBSD #desktop user, chances are you're already using the arguably tiniest of my opensource projects: unix-selfauth-helper ๐Ÿ˜Ž

https://github.com/Zirias/unix-selfauth-helper

It's needed for quite some popular "screen lockers" that just assume a (IMHO pretty dirty) #Linux (LinuxPAM) solution to be available.

GitHub - Zirias/unix-selfauth-helper: suid-root helper for pam_exec to allow self-authentication against local unix passwd database

suid-root helper for pam_exec to allow self-authentication against local unix passwd database - Zirias/unix-selfauth-helper

GitHub

Jumping to something completely different:

Unfortunately this project is stalled, I hope to find the time to continue it. Here's a #C64 conversion of an old #Amiga type-in game found in some german magazine (AmigaBASIC). It's pure #mos6502 #assembly and actually adds lots of features to the original (like a score, like music, like fast scrolling and fast movements ... btw the sound/music code is also hand-written, no tracker used).

So, here's #stoneage64, preview-2:
https://csdb.dk/release/?id=228828

Stoneage64 Preview 2

Commodore 64 Game Preview: Stoneage64 Preview 2 by Zirias. Released on 27 January 2023

Commodore 64 Scene Database

One of my "dream projects" (maybe after retirement ๐Ÿ™ˆ๐Ÿ˜) would be to create yet another  #C64 OS. One that works on a vanilla unextended machine.

There are quite a few around of course. To make something meaningful, you have to think about what could give #retrocomputing enthusiasts an excuse to use their breadbin once in a while ๐Ÿ˜

I think it should just support very basic #Internet service clients, like Email, IRC, BBS (via TCP), ... of course this means to require *one* hardware extension (apart from your obligatory floppy drive): Some #ethernet (or wifi) hardware. There are a few around, so "drivers" for those would be needed.

This sets the baseline of features required. Multitasking will probably be unavoidable (clients need to be able to do stuff "in the background", like e.g. respond to IRC PING messages). There's already a LOT of complexity attached to that requirement. You'll need an executable format with relocation info, and a program loader doing the relocation on startup of a new process. You'll need a concept how to deal with the tiny hardware stack (partition it, relying on apps not to overflow? copy it around on each context switch?). You'll need a concept how to dynamically allocate memory (probably just page-wise). And so on.

A windowing system IMHO makes no sense at all on that machine. The UI should focus on text (maybe a set of virtual consoles?). Support for GUI apps might be possible, but then only "full-screen". ๐Ÿค”

Well, just some thoughts, dreaming along ๐Ÿ˜„

Almost forgot to add *this* to my "hello thread": Although very rarely, I sometimes also write docs (howtos, whatever you want to call them).

Here's an old one trying to help newcomers to #programming in #C that are taking one of these very questionable programming courses that teach you to use `scanf()` to obtain user input (which is just a horrible idea):
https://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html

A beginners' guide away from scanf()

Maybe you'd like to use kerberized #NFS on #FreeBSD (client and server), but struggle with getting it to work?

If you use a #samba domain controller (with integrated #kerberos #KDC), it actually works very well, but there are somewhat surprising rough edges. This document might help:
https://sekrit.de/webdocs/freebsd/nfs-jail-kerberos-samba.html

Jailed and kerberized NFS with a samba AD DC

GeckOS - Wikipedia

@cenbe Sure, as I said, "There are quite a few around of course." ๐Ÿ˜‰

Definitely interesting that it offers both "stack strategies" I could think of. It's probably impossible to think of some OS without at least taking some inspiration from Unix, but I'm unsure offering all these "unix-like" features is a good idea on such a limited hardware platform ... ๐Ÿค”

@zirias
Everybody dreams of a job where all they have to type are emoji ๐Ÿคฉ๐Ÿ†