@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 now finished my metathread on hypothetical developer tools for self-hosted maintenance of my hypothetical hardware-Internet Communicator! And with it I believe I've described practically all the software & hardware comprising an inclusive decolonial browser & operating system! Following existing web (no JS), internet, Unicode, Xiph, USB, AutoMerge, etc standards.

Its not simple, but I think the hypothetical hardware made it much simpler!

1/2

alcinnz, to random
@alcinnz@floss.social avatar

Some data available in our hypothetical hardware-Internet Communicator is very sensitive with privacy concerns far outweighing any desire to reprogram its use. So how'd I keep a close eye on who uses this raw data?

This would necessarily involve a close eye on any password managers, & unnecessarily any instant messengers.

I'm talking about data like the framebuffer, open windows, password vault, status LEDs/buzzer output, notifications (UX reasons), fingerprint scanner, etc.

1/4?

alcinnz, to random
@alcinnz@floss.social avatar

Resuming my study of Elf Utils' commands...

After initializing internationalization & parsing commandline flags elflint iterates over each arg transiently & carefully opening each given file, branching upon its subtype. Whilst aggregating errors.

For proper ELF files it retrieves the E header, outputs the filename, initializes LibEBL, validates the ELF headers, validates its P headers, validates its Sheaders, validates exception handlers if present are non-NULL, & cleans up.

1/5?

alcinnz, to random
@alcinnz@floss.social avatar

3 Layers of UI Interaction - Drew Powers:
https://pow.rs/blog/3-layers-of-ui-interaction/

Boosted by Robin Rendle "The Cascade":
https://csscade.com/three-layers-of-ui-interaction/

alcinnz, to random
@alcinnz@floss.social avatar

Yesterday I discussed how I'd build a codeforge for & upon our string-centric hardware (as well as clientside feedreader, crash reporter, & fallback crash reporter) comprising of a repo viewer & issue tracker. What else would we want to include in it?

We'd want to let you down the AutoMerge documents to fork them & attach them to issues to request they be merged. We may add a minor integration between the 2 components to merge with a click of a button, but that might not be worth it.

1/5?

alcinnz, to random
@alcinnz@floss.social avatar

Continuing my study of Elf Utils' commands...

After parsing commandline flags (I see internationalization but not its initialization) validating (in some cases, single) args remain elfcompress parses each remaining arg aggregating error codes, before tidying up!

For each it opens the given ELF file validating its kind & fstat(), retrieves the E, S, & P headers, considers calculating a last-offset based on that, & iterates over the ELF sections.

1/5?

alcinnz, to random
@alcinnz@floss.social avatar

We could get far on our hypothetical string-centric hardware collaborating peer-to-peer using the CRDT version control system I described the other day! But giving the project a central server (running on our custom hardware, lets say) can streamline development whilst adding quality control, so how'd we implement it?

We'll implement our "codeforge" as a suite of independent services, using an (as yet, proprietary) <form> control for authentication.

1/?

alcinnz, (edited ) to random
@alcinnz@floss.social avatar

Building pages from data in Eleventy - Cory Dransfeldt:
https://feedpress.me/link/23795/16692970/building-pages-from-data-in-eleventy

alcinnz, to random
@alcinnz@floss.social avatar

I want it all but, it is impossible - Ana Rodrigues:
https://ohhelloana.blog/i-want-it-all/

alcinnz, to random
@alcinnz@floss.social avatar

Diffing can be incredibly helpful for managing software! It can be used to retrofit CRDT support, monitor changes being made, guide how the software should be adjusted to match desired output(s), etc. Maybe for our Output Unit we'll have tool which autoruns & diffs a converter to guide its development, maybe adding automation where we find it worth the effort?

So how'd we implementing diffing on our string-centric hardware? Strings specifically? Its not trivial!

1/5?

alcinnz, to random
@alcinnz@floss.social avatar

There's a handful of strategies used we use to design "algorithms" for computing answers to mathematical problems.

We have "divide & conquer" algorithms which splits the problem into smaller parts, recurses to solve those subproblems, & combines the solutions.

We have "greedy" algorithms which solves a simpler version of the problem & keeps extending it until we've solved our problem.

1/2

alcinnz, to random
@alcinnz@floss.social avatar
alcinnz, to random
@alcinnz@floss.social avatar

Community Software: Building The Future Inside The Rotting Husk of The Past - Andrew Roach:
http://ajroach42.com/community-software-building-the-future-inside-the-rotting-husk-of-the-past/

alcinnz, to random
@alcinnz@floss.social avatar

Yesterday I discussed collaboratively editing text, but there's other things you might want to edit!

Implementation notes: I'd keep the data in RAM in its sorted & compressed form, only decompressing it transiently for processing & modifying. Zipping from columnar format into "edit" rows would be most involved step.

For instance we'd want to edit not only individual files but whole directories of them! And the attributes attached to each of its files!

1/?

alcinnz, to random
@alcinnz@floss.social avatar

Once again wishing the hypothetical device I've long been describing was real!

An OS & hardware focused specifically on the task of communicating with diverse people! Using existing protocols. Barely any apps!

Just today I introduced an editor framework to it so basically every editor has infinite undo, collaboration, & composability! (I wasn't responding to anything, just how the scheduling worked out...)

This a bit more "from scratch" than I'm capable of though...

alcinnz, to random
@alcinnz@floss.social avatar

Seeing all the encouragement to try "Linux" & the common pushbacks against it...

If you insist your existing apps should run on "Linux"... I'm impressed by how imperfectly well we've achieved this! Its significantly easier said then done.

To me its very much akin to saying "Don't blame people for driving when our infrastructure is built for cars". There too I'd say we shouldn't be driving.

alcinnz, to random
@alcinnz@floss.social avatar

Continuing my study of ELF Utils' commandline tools...

After initialization both I/O & internationalization as well as parsing commandline flags ar configures LibELF to a specified format version, parses/validates the commandline flags some more ensuring additional args remain, pops the archive name as a commandline arg, & branches over the subcommand specified by those flags.

This may output some help text via LibArgP. Or it may...

1/5? for today

alcinnz, to random
@alcinnz@floss.social avatar

Workshop in Barcelona: How to Build a Low-tech Website - Low Tech Magazine:
https://solar.lowtechmagazine.com/2024/05/workshop-in-barcelona-how-to-build-a-low-tech-website/

alcinnz, to random
@alcinnz@floss.social avatar

There's a widespread impression that "Linux" isn't user friendly. I say if you choose the right distro & desktop... I endorse elementary OS!

Despite what some will tell you, don't need to use the commandline!

(getting this out of my system without jumping down anyone's throats)

Incidentally, I encourage recommending something more specific than "Linux" to avoid giving others choice paralysis.

alcinnz, (edited ) to random
@alcinnz@floss.social avatar

To ensure this order independence, we must never incur a merge conflict! Instead we'd apply arbitrary yet deterministic priority based on peer IDs. With this peers can merge as frequently or infrequently as they like! Maybe we'd integrate this collaborative editing into the SRTP/XMPP videocalls I've established?

Our established text editor already logs a sequence of editing operations, which we can reformat into a text-CRDT by adding some provenance metadata.

2/3 for today!

alcinnz, to random
@alcinnz@floss.social avatar

ELF files can be queried from the commandline, so I'm starting studying thse tools!

After init'ing i18n & parsing commandline flags addr2line parses addresses from stdin or remaining commandline args. For each (if valid) it might parse trailing text, iterates over DWARF modules list is available to find the specified one, iterates over the module's ELF SCN headers to build a relocations table to locate given address & offset it. With possible postprocessing based on additional parsing.

1/?

alcinnz, to random
@alcinnz@floss.social avatar

I've described enough tooling to make it easy to individually implement software for our string-centric hardware on the device, but building an entire browser & OS as a solo-endeavour is inconceivable... So what tooling do we need to collaborate on it!

In just the past decade Computer Science brought us the concept of CRDTs! Which represents your document as a series of edits, which combine such that no matter in which order these edits you recieved we get the same result!

1/?

alcinnz, to random
@alcinnz@floss.social avatar

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

Some links from it...

Updating from macOS Ventura to Sonoma silently enables iCloud Keychain - Jeff Johnson:
https://lapcatsoftware.com/articles/2024/5/3.html

Google Cloud shows it can break things for lots of customers – not just one at a time - Simon Sharwood @ The Register:
https://www.theregister.com/2024/05/20/google_cloud_network_outage/

Complicated Sticks. - Stephen Farrugia:
https://fasterandworse.com/complicated-sticks/

alcinnz, to random
@alcinnz@floss.social avatar

Tangentially to current events...

Who's your favorite AI from fiction?

I say HERA (Michaela Swee) from Wolf359 in a heartbeat! You?

Go as obscure or mainstream as you want...

alcinnz, to random
@alcinnz@floss.social avatar

Code isn't the only thing which would be included in an the OS for our hardware-Internet Communicator! It'll need images, fonts, audio, voices, etc to communicate with you! Can we self-host much of this development too?

Up to a few thousand pixels, we could have a UI for setting the colour at any given pixel of an image (stored in Arithmetic Core) displayed onscreen. Probably worth sacrificing colour-depth for resolution. Include flood-fill!

1/3?

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