@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

In our hypothetical string-centric hardware the "Parsing Unit" would perform most of the computation, including all control flow for the Output Unit! So how'd we program this Parsing Unit?

Its microcode would use bitmask addressing, consulting lookuptables for all active states. Whilst updating appropriate preprocessing registers, pushing/popping a stack, & synthesizes Output Unit opcodes.

Except that circuit won't scale to any non-trivial syntax...

1/6?

alcinnz,
@alcinnz@floss.social avatar

So I'd have it concurrently prefetch & predecode a convenient & compact machine code in a rigid structure amenable to prefetching. It'd be worth including string literals here!

Upon that I'd bundle some firmware into the CPU including:

  • A mainloop dispatching events & interpreting much (but certainly not all) of the Output Unit's opcodes.
  • Prepare a callstack for a new process, returning to the mainloop.
  • Enforce Output Unit's object capabilities upon the Parsing Unit.

2/5?

alcinnz,
@alcinnz@floss.social avatar

But most significantly there'd be firmware for a splicing new rules (with different object-capabilities enforced) into an existing program, running optimizations (topic for tomorrow!) where we inevitably overflow the rigid structure we can hope to prefetch/predecode. Enforcing those object-capabilities would involve rewriting certain opcodes.

A Linker (early-boot) would prefetch additional parsers from persistant storage, adding initial Output Unit code to recursively decode & link them!

3/5?

moftasa, to random
@moftasa@mastodon.online avatar

Google search is going to suck so hard with this new AI update. We need a new search engine for the web that is run by librarians like pubmed but not run by the US gov.

(DDG is Bing which is also rubbish. Please don't suggest Kagi, it is very expensive for people living outside developed countries. Also its results suck for anything outside software and technology. Marginalia is tiny and is very biased towards the anglosphere).

alcinnz,
@alcinnz@floss.social avatar

@moftasa Reliability isn't great, but I'm getting great results out of https://stract.com !

TODO: Actually look into Stract works...

jonikorpi, to random
@jonikorpi@mastodon.gamedev.place avatar

Sooo how do we protect the web from AI-enshittification? A new search engine? Perhaps powered by human curation? Easier self-publishing via better social media? Something else?

alcinnz,
@alcinnz@floss.social avatar

@jonikorpi All of the above?

For a search engine, I'm enjoying https://searchmysite.net/ ...

alcinnz, to random
@alcinnz@floss.social avatar

Resuming yesterday's study of Linux's [f]init_module() syscalls they next allocate some per-CPU (rabbithole) sections surrounded by validation, initializes a couple linkedlists & atomic refcount, initializes a sysfs mutex, repeatedly linear-scans the ELF headers to store common (yet optional) sections in properties, validates version numbers are provided, & calls all setup callbacks (if any) on global "modinfo attrs" providing data from the executable.

1/4?

alcinnz,
@alcinnz@floss.social avatar

Then it iterates over the symbols branching over their type. "Common" ones (except __gnu_lto) triggers errors, "abs" ones are logged, "live patches" are left alone, & "undef" ones binary searches various symboltables from the executable fallingback to the corresponding symboltables in other loaded modules surrounded by locks & considering warning about unresolved symbols. Any other symbol type gets memory allocated for it, per-CPU or not.

2/4?

alcinnz,
@alcinnz@floss.social avatar

Another iteration over ELF headers resolves remaining symbols by linear-scanning Linux's more general symboltables whilst updating some CPU-specific "relocation" datastructures.

Some postprocessing involving sorting an "extable", copying CPU-specific data into place, expose the symbols arrays to be linked against other modules, & some CPU-specific postprocessing.

Then CPU-specific code flushing the instruction cache so these newly-loaded instructions can be fetched.

3/3 Fin for today!

alcinnz, to random
@alcinnz@floss.social avatar

Higher RAII, and the Seven Arcane Uses of Linear Types - Evan Ovadia:
https://verdagon.dev/blog/higher-raii-uses-linear-types

alcinnz, to random
@alcinnz@floss.social avatar

The wrong way to do Web Components - Go Make Things:
https://gomakethings.com/the-wrong-way-to-do-web-components/

alcinnz, to random
@alcinnz@floss.social avatar

Adding Replies & Reactions to My Guestbook - Kev Quirk:
https://kevquirk.com/adding-replies-reactions-to-my-guestbook

alcinnz, to random
@alcinnz@floss.social avatar

Adding Replies & Reactions to My Guestbook - Heather Burns:
https://heatherburns.tech/2024/05/14/so-youve-got-to-read-a-1200-page-consultation/

alcinnz, to random
@alcinnz@floss.social avatar

Lou Plummer's personal site "Living Out Load":
https://louplummer.lol/

alcinnz, to random
@alcinnz@floss.social avatar

Links and photos (13 May 2024) - Baldur Bjarnason:
https://www.baldurbjarnason.com/2024/links-16/

Some links from it...

Weekly Roundup #3 — Possum Edition - Ryan Trimble:
https://ryantrimble.com/blog/weekly-roundup-3/
Enjoying The 11ty International Symposium on Making Web Sites Real Good, which I'm starting to watch the full thing now!

Browsers imply noopener for links in new tab - Ben Werdmuller:
https://werd.io/view/663b7748988d4c0888057fd2

The tech industry doesn't deserve optimism it has earned skepticism - Cory Dransfeldt:
https://coryd.dev/posts/2024/the-tech-industry-doesnt-deserve-optimism-it-has-earned-skepticism/

alcinnz,
@alcinnz@floss.social avatar

Some more Bjarnason's linkdump...

Modularity: Enabling Interoperability and Competition - Mark Nottingham:
https://www.mnot.net/blog/2024/05/10/design-rules-vol-one
Endorsing Design Rules Volume 1: The Power of Modularity by Carliss Y. Baldwin and Kim B. Clark to politicians: https://direct.mit.edu/books/book/1856/Design-RulesThe-Power-of-Modularity

Modern WordPress - Yikes! - David Bushell:
https://dbushell.com/2024/05/07/modern-wordpress-themes-yikes/

More Layoffs for the Flutter team - r/flutter:
https://old.reddit.com/r/FlutterDev/comments/1cduhra/more_layoffs_for_the_flutter_team/
Showing the anxiety Google's earning.

Declarative Design - adactio:
https://adactio.com/articles/21110

alcinnz,
@alcinnz@floss.social avatar

A last link from Bjarnason's linkdump...

CSS Color Modules and Changes, Part I - Apple Annie:
https://weblog.anniegreens.lol/2024/05/css-color-modules-and-changes-part-i

I boosted the links most related to software development, see https://www.baldurbjarnason.com/2024/links-16/ for more links & commentary!

alcinnz, to random
@alcinnz@floss.social avatar

I'm a little surprised noone picked up on me mention that Linux vendors compression libraries into kernel-space, & asked "does that include XZ?".

The answer is: Depending on build flags, yes!

alcinnz, to random
@alcinnz@floss.social avatar

A Brief History Of Programming Artists - Adrian Kosmaczewski:
https://deprogrammaticaipsum.com/a-brief-history-of-programming-artists/

rysiek, (edited ) to random
@rysiek@mstdn.social avatar

"ChatGPT [prompt] consumes (…) up to 25 times more than a Google search"
https://www.brusselstimes.com/1042696/chatgpt-consumes-25-times-more-energy-than-google

> Making sure your electricity comes from wind, solar or nuclear power is a logical first step. Google itself, for example, says it has been running entirely on green electricity since 2015.

Story misses a crucial point:

👉 The goal isn't just to add green power. The goal is to emit less CO2!

New green capacity needs to replace old dirty stuff. Not be gobbled up by new data centers for AI.

🧵

alcinnz,
@alcinnz@floss.social avatar

@rysiek From having worked for a cloud service provider... I doubt anyone's using 100% green energy whilst maintaining their uptime.

Most datacenters have fallback diesel generators they avoid using.

DrHyde, to linux
@DrHyde@fosstodon.org avatar

Dear #Linux users, I maintain a piece of software whose purpose is to detect what OS, and what variation on an OS, it is running on. Right now, it can tell the difference between generic Linux, generic Debian-a-like, real Debian, Devuan, and Ubuntu. I am too lazy to set up every other distribution in existence in VMs, so would be every so thankful if you could let me know what distro you use, and past a copy of its /etc/os-release file to somewhere like https://pastebin.com/

alcinnz,
@alcinnz@floss.social avatar

@DrHyde I'm on elementary OS, & will be upgrading to a new version whenever that comes out.

https://pastebin.com/b2vAXZ5b

alcinnz, to random
@alcinnz@floss.social avatar

The key I find to understanding CSS: Knowing its philosophy, its politics.

In the 1990s webdevs were demanding webdesign. CSS was introduced to steer them towards achieving their webdesigns in a way which embraces the web's "universiality". Instead of abusing tables & images.

Its that dream I share that webpages could "look" beautiful in any conceivable device, given it has a browser.

CSS isn't perfect, it hasn't achieved this dream yet. But the core ideas are great!

alcinnz,
@alcinnz@floss.social avatar

@hnapel There should be more!

petealexharris, to random
@petealexharris@mastodon.scot avatar

It occurs to me what might be the reason why western authorities are reacting so brutally to protests against genocide in Gaza.

I doubt it's specifically some strategic need to keep Israel as an ally.

I think they're UNEASY that significant popular opinion suddenly objects to tens of thousands of brown people dying far away, if only in this one case.

They weren't expecting that to happen.

Their climate change strategy kind of hinges on us not caring about that.

alcinnz,
@alcinnz@floss.social avatar

@petealexharris This explanation is the one which makes the most sense to me...

Though I am tempted to quip: What climate change strategy? It unfortunately barely exists!

I'm presuming you're refining to the mining for electrification?

alcinnz, to random
@alcinnz@floss.social avatar

In our string-centric processor The Output Unit would be our primary communications hub. It wouldn't be all that capable alone, but combined with the Parsing Unit (amongst other coprocessors) it can readily handle most string-processing tasks! How'd we program it?

I'll explore bottom-up.

It'd have various types of "streams" between which we can copy data with optional Lempel-Ziv decompression, as well as sizing, IDing, closing, & "instantiating" (meaning depends on stream type) them.

1/4?

alcinnz,
@alcinnz@floss.social avatar

In early boot I'd build upon Process streams to introduce "File/Directory" streams interacting with an external flash storage device as if it were a network server. Upon this I'd build a Linker script which parses filepaths out of the executables to prepopulate object-capabilities environment with the appropriate files/etc.

And have a Parser script which rewrites textual operators into the Output Unit's flattened opcodes. This would introduce a literal type, surrounded by nil bytes.

3/3.1!

alcinnz,
@alcinnz@floss.social avatar

The text editor would have special support for marking up string literals so we don't need to include escape characters, instead using text formatting & nil bytes.

A "run" action would open all the output yielded from executing the program being edited (including Arithmetic Core code & normally-voided logs) in new tabs/windows.

3.5/3.5 Fin for today! Tomorrow: Parsing Unit!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • tacticalgear
  • khanakhh
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • everett
  • ngwrru68w68
  • Durango
  • megavids
  • InstantRegret
  • cubers
  • GTA5RPClips
  • cisconetworking
  • ethstaker
  • osvaldo12
  • modclub
  • normalnudes
  • provamag3
  • tester
  • anitta
  • Leos
  • lostlight
  • All magazines