@alcinnz@floss.social
@alcinnz@floss.social avatar

alcinnz

@alcinnz@floss.social

A browser developer posting mostly about how free software projects work, and occasionally about climate change.

Though I do enjoy german board games given an opponent.

Pronouns: he/him

This profile is from a federated server and may be incomplete. Browse more on the original instance.

alcinnz, to random
@alcinnz@floss.social avatar

I've been fuzz-testing my FontConfig language bindings...

Turns out I was never iterating over the charsets correctly... Glad to know! Quite a clunky API I'm ending up fixing!

0x4d6165, to random
@0x4d6165@wanderingwires.net avatar

Don't wanna use Go cause it's corporate interested in but annoyed by Rust because it's compiler is so heavy common lisp is cool but doing some basic modern stuff in it is kinda annoying ughhhhh. Where is the good programming language.

alcinnz,
@alcinnz@floss.social avatar

@0x4d6165 Should I rattle off a few relatively obscure languages I'm enjoying, or are you happy venting?

alcinnz,
@alcinnz@floss.social avatar

@0x4d6165 Haskell's a neat language, but it has to be applied to the right problems. Something compute heavy! Shares many of the same ideas with Rust, but much older, & garbage collected.

I've had some fun with Lua, which is basically the simplest scripting language. Like JavaScript if it was allowed to stay itself!

There's Julia which is fast (official implemented is JITed) & has great standard library for numerical computation.

I've also been reading Vale Lang's blog, quite interesting.

alcinnz, to random
@alcinnz@floss.social avatar

We'd want our hardware-Internet Communicate to speak as many languages as we can, I even went out of my way to write an entire metathread ensuring it can render them all! So we'd want to reimplement Gettext!

Except... It turns out it to be practically builtin to this hypothetical string-centric hardware!

The primary runtime component is a "dictionary" in persistent flash memory mapping from untranslated strings to translated ones, which the Parsing Unit was partially designed for!

1/4?

alcinnz,
@alcinnz@floss.social avatar

Since the Parsing Unit can match string patterns... We can incorporate quantities into our keys (handled a bit different than Gettext, but probably more legible for many languages), as well as the desired locale(s). The Parsing Unit can be programmed to use the first supported one!

As for formatting the looked-up strings... The Parsing Unit already expects to find those under each key. Syntactically we may end up passing pre-formatted strings as keys, but the Parsing Unit can cope.

2/4?

alcinnz,
@alcinnz@floss.social avatar

All we'd need to add for run-time is a standardized filepath listing your desired locales (which would also be uploaded to servers as an HTTP header), as well as some UIs to configure & reconfigure it!

For buildtime we'd want a suite of mostly-trivial tools to extract, analyze, edit, & compile translations. Which would mostly be converting from one format to another (keeping limited data) with or without callbacks, precisely the sort of code this hardware was designed for!

3/4?

alcinnz,
@alcinnz@floss.social avatar

Skipping the more trivial xgettext, msginit, msgcat, msgconv, msggrep, msgfilter, msgattrib, msgen, msgexec, equivalents...

msguniq, msgcomm, & msgcmp would gather dictionaries from parsed "string catalogues" to process.

We'd want a command for unioning (like msgmerge) translated strings with an updated list of strings to be translated, for which we'd need to build dictionaries followed by an intersection & both differences. Marking now-unused translations in case they're later needed.

4/5?

alcinnz,
@alcinnz@floss.social avatar

We'd want to render these translation catalogues to a webform, & back from the form submission, to make it editting them user-friendly! Include suggested translations from other catalogues or machine translation running on the AI coprocessor. Displaying various translator notes.

We'd want to host a variation of this webform as a webservice, with a bit more bureaucracy, so its more readily translated by more people

P.S. I forgot msgfmt, msgunfmt, & statistics in my list of trivial ones.

5/5Fin

alcinnz,
@alcinnz@floss.social avatar

P.P.S. With this setup, even the BIOS would have little excuse to not be fully internationalized! Given we've compressed a large enough font into it... Without incurring much complexity in decompression & rendering... That could be an interesting puzzle!

(for someone other than me?)

5.5/5 Truly fin! Tomorrow: Media editing!

alcinnz, to random
@alcinnz@floss.social avatar

Playing with Infinity in CSS - Will Boyd "Coder's Block":
https://codersblock.com/blog/playing-with-infinity-in-css/

Robin Rendle's boost:
https://www.csscade.com/playing-with-infinity-in-css

alcinnz, to random
@alcinnz@floss.social avatar

We can have a different web - Molly White "[Citation Needed]":
https://www.citationneeded.news/we-can-have-a-different-web/

alcinnz, to random
@alcinnz@floss.social avatar

Imagining State in Programs - Simon Safar quoting Charles Simonyi:
https://simonsafar.com/2024/imagining_state/

alcinnz, to random
@alcinnz@floss.social avatar

We Are the Curators of the Web - Barry Hess:
https://bjhess.com/posts/we-are-the-curators-of-the-web

I'm doing my part! And had to get more creative sense searchengines began enshittifying.

alcinnz, to random
@alcinnz@floss.social avatar
alcinnz, to random
@alcinnz@floss.social avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • magazineikmin
  • Youngstown
  • khanakhh
  • ngwrru68w68
  • slotface
  • ethstaker
  • mdbf
  • everett
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • cisconetworking
  • rosin
  • JUstTest
  • Durango
  • GTA5RPClips
  • anitta
  • tester
  • tacticalgear
  • InstantRegret
  • normalnudes
  • osvaldo12
  • cubers
  • provamag3
  • modclub
  • Leos
  • lostlight
  • All magazines