@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

Perhaps the most vital dev tools for our hypothethetical string-centric hardware would be those for converting from a human-legible form (stick to text status-quo since this hardware is string-centric, caveat) to what each of our coprocessors can reasonable be expected to understand!

And back! Though I'd minimize the need for that by shipping updates as source code where I can.

Also tools to run these programs, providing an intuition over their behaviour.

Topics for next several days!

1/4?

alcinnz,
@alcinnz@floss.social avatar

The Graphics Compositor & SFX coprocessors would be primarily programmed by the Output Unit using compiletime constants. As would the Arithmetic Core, with the aid of a special "label" type.

To aid debugging that Arithmetic Core I'd probably end up creating a tool which has the Input Preprocessor emulate its RAM, triggered by user input or a periodic timer. So we can stepwise debug the program, and view its entire state! As well as a disassembler rendering arrows for control flow.
2/3?

ajroach42, to random
@ajroach42@retro.social avatar

The problem with federated alternatives to centralized services (and also one of the main problems with centralized services which lead people to look for an alternative) is Discovery.

Etsy and Twitch and YouTube provide an audience, supposedly. With the right pitch (and the right advertising dollars) you can get your own slice of that audience. (For as long as the algorithm graces you, and as long as you're willing to stomach the other things your viewers will be algorithmically suggested.)

alcinnz,
@alcinnz@floss.social avatar

@ajroach42 As best as I can tell from existing examples: Community groups! Letting their best work spread beyond their community.

Still there's the problem of finding these communities, & today that tends to happen on these centralized services...

alcinnz, to random
@alcinnz@floss.social avatar

To load additional code into kernel-space, you can use various commandline tools which call the appropriate syscalls & device files. With the kmod command dispatching to the appropriate subcommand.

After parsing commandline flags insmod converts remaining arguments into a multi-string, & constructs a Module object to (with preprocessing) call the init_module syscall.

There's someadditional logging infrastructure, which might write to Syslog.

1/3?

alcinnz,
@alcinnz@floss.social avatar

After validating no further args are given lsmod parses each line of /proc/modules (via LibKMod) & iterates over the linkedlist to serialize textual output. Any benefit here beyond cat /proc/modules?

After parsing commandline flags (filling in missing args with uname) depmod constructs some directory paths to consult, validates a dependency files/directory, initializes various objects, iterates over a given file (one format or another) gathering symbols to link into a hashmap, ...
2/4

alcinnz,
@alcinnz@floss.social avatar

... loads all the config files & a directory of modules OR loads the modules listed in commandline args, converts the modules hashmap into an array, parses a modules.order file consulting the hashmap, computes a topological sort of dependencies from the gathered collections, & outputs the results in a choice of format.

After parsing flags filling in missing onesmodinfo builds a KMod context & iterates over remaining args (which it validates exist) loading their modules in 1 of 3 ways.

3/4?

alcinnz,
@alcinnz@floss.social avatar

For each of those modinfos modinfo serializes various info LibKMod has parsed from device files.

After parsing commandline flags modprobe initializes logging, fills in missing parameters, initializes a LibKMod context having it parse its "resources", & runs a chosen subsubcommand.

These subcommands may output various properties of the LibKMod context, output loaded version numbers, output a module's symbols, or hand off to rmmod or insmod.

4/5?

alcinnz,
@alcinnz@floss.social avatar

After parsing commandline flags rmmod initializes a LibKMod context & iterates over remaining commandline args (validating they exist) leading each given module in 1 of 2 ways. Calling the delete_module syscall on each via a light LibKMod wrapper.

After parsing commandline flags static-nodes opens modules.devname device file directly & an output file, to parse the modules.devname to reformat into a chosen format.

5/5 Fin for today! Tomorrow: Kernel-side!

alcinnz, to random
@alcinnz@floss.social avatar

Detect JavaScript Support - Robin Rendle "The Cascade":
https://www.csscade.com/detect-javascript-support

Detect JavaScript Support in CSS - Ryan Mulligan:
https://ryanmulligan.dev/blog/detect-js-support-in-css/

alcinnz, to random
@alcinnz@floss.social avatar

Alternatives to Open Source - Simon Safar:
https://simonsafar.com/2024/source_available/

alcinnz, to random
@alcinnz@floss.social avatar

The CPU That Will Never Die - Matt Lee @ Tedium:
https://feed.tedium.co/link/15204/16679426/zilog-z80-history

alcinnz, to random
@alcinnz@floss.social avatar

Unleash the power of scroll-driven animations - The Cascade:
https://www.csscade.com/unleash-the-power-of-scroll-driven-animations

Scroll-driven Animations - Bramus Van Damme:
https://scroll-driven-animations.style/

Introduction | Unleash the power of Scroll-Driven Animations (1/10) - Chrome for Developers:
https://invidious.protokolla.fi/watch?v=5noL_qFobm0 (YouTube via Invidious)

alcinnz, to random
@alcinnz@floss.social avatar

Something I frequently find about many openweb-original shows: Many seem to be very good at doing their research!

I'm not the best to judge this, but those set in the past frequently seem to capture their time periods well. Certainly judging by her editor's notes Tracy Butler holds her Lackadaisy to high standards!

And when they tackle science, the technobabble passes my scrutiny. The Red Panda Adventures is an exception in that it emulates 1930s technobabble, see previous point.

alcinnz, to random
@alcinnz@floss.social avatar

Over spent the past year I explored how I'd build a browser truly from scratch, hardware on up, over the next month or so I'll explore tooling to help us build this!

Can we self-host the development? Without pulling in other OSs, being self reliant?

Not for the AI models (text prediction, speech recognition, machine translation, etc) since that would require faster hardware. The AI coprocessor I described would get worn out training itself.

1/3?

alcinnz,
@alcinnz@floss.social avatar

And not initially: Before we can write software on our device we'd already need most of this software already running on it! Unless...

The easiest way to get started is probably to hook the device up to external hardware or (ideally) software terminal (via RS232 over USB?)! Giving us text entry & rendering (with retro flair!) as well as the ability paste text from the web, filesystems, or text editors before we reimplement these things for ourselves as we gain self-reliance!

2/3!

alcinnz,
@alcinnz@floss.social avatar

In designing these dev tools I'll strive to make the software easy to study & (minor caveats) modify on-device, whilst hindering the ability for others (whom you interact with over the internet) to claim that control for themselves.

I won't extend the hardware to aid implementing these dev tools, since they're not the main point of the device. Though at times I will discuss "clever hacks".

3/3 Fin for today! Tomorrow: Introduce compilers & code-runners.

alcinnz, to random
@alcinnz@floss.social avatar

As a massive project Linux is split into several mostly-but-not-really-independent "modules" which get dynamically linked together as the kernel is running! Userspace (rarely) generally initiate this via the topic of today's study: LibKMod!

There's an iterator over the multistring in a modules.builtin.modinfo file. It may use OpenSSL to check cryptographic signatures. It implements a doubly-linked list datastructure. There's a parser & builder for KMod options.

1/2?

alcinnz,
@alcinnz@floss.social avatar

LibKMod may parse binary ELF files to simplify the work done in (hostile) kernel-space. There's a layer integrating a runtime-choice of decompression libraries, in case the kernel doesn't support these formats. There's abstractions around files, including memory-mapped BTree lookups.

Perhaps one of the 2 most central sourcecode files models & parses a ref-counted kernel-module object, abstracting those support routines & certain device files, & e.g. the init_module syscall.

2/3!

alcinnz,
@alcinnz@floss.social avatar

The other main file (aside from implementing some logging infrastructure) defines a ref-counted "context" object with accessors some of which may be sourced from device files, & queries collections via various device files with in-process caching.

2.5/2.5 Fin for today! Tomorrow: KMod commands, then: kernelspace side!

alcinnz, to random
@alcinnz@floss.social avatar

Hints & Suggestions (First, Do No Harm) - Miriamme Suzanne @ The 11ty International Symposium on Making Web Sites Real Good:
https://yt.drgnz.club/watch?v=iLxJ6PtuF9M&t=4191s (YouTube via Invidious)
Endorsed by Robin Rendle "The Cascade":
https://www.csscade.com/hints-and-suggestions

alcinnz, to random
@alcinnz@floss.social avatar

Against the commercial internet - Cory Dransfeldt:
https://feedpress.me/link/23795/16678902/against-the-commercial-web

alcinnz, to random
@alcinnz@floss.social avatar

Calculating all possible rankings for The Circle USA Season 6 - Kevin Gal:
https://kevingal.com/blog/thecircle.html

alcinnz, to random
@alcinnz@floss.social avatar

Web Components Demystified by Scott Jehl:
https://www.kickstarter.com/projects/scott-jehl/web-components-demystified (Kickstarter)
Robin Rendle "The Cascade"'s excited:
https://www.csscade.com/web-components-demystified

Applying P3 colours on an existing project - Andy Bell "Piccalilli":
https://piccalil.li/blog/applying-p3-colours-on-an-existing-project/
Endorsed by Robin Rendle "The Cascade":
https://www.csscade.com/applying-p3-colors

alcinnz, to random
@alcinnz@floss.social avatar

Sharing too much about too little - Manuel Moreale:
https://manuelmoreale.com/@/page/WPBTSuKkUg3HjS9d

alcinnz, to random
@alcinnz@floss.social avatar

If you oppose DRM, I encourage you to explore what's been made officially available without it! Pay for it if you can! Share it with your friends.

Broaden your entertainment horizons! How about make your own?

There's plenty to choose from!

Please don't suggest "piracy": I'm not opposing it but as political action it backfires...

If ars Paradoxica can become as much of a must-hear as Back to the Future is a must see, that'd undermine Hollywood's narrative of why they need DRM!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • tester
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • Youngstown
  • slotface
  • hgfsjryuu7
  • mdbf
  • vwfavf
  • kavyap
  • tsrsr
  • ngwrru68w68
  • PowerRangers
  • DreamBathrooms
  • Leos
  • everett
  • Durango
  • osvaldo12
  • khanakhh
  • ethstaker
  • rosin
  • cubers
  • tacticalgear
  • GTA5RPClips
  • normalnudes
  • cisconetworking
  • modclub
  • anitta
  • All magazines