@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.

molly0xfff, to web
@molly0xfff@hachyderm.io avatar

If you've ever found yourself missing the "good old days" of the , what is it that you miss? (Interpret "it" broadly: specific websites? types of activities? feelings? etc.) And approximately when were those good old days?

No wrong answers — I'm working on an article and wanted to get some outside thoughts.

alcinnz,
@alcinnz@floss.social avatar

@molly0xfff Websurfing! The ability to jump from link to link as topics interest me!

That's the one thing which to me feels like it really has disappeared. Even on blogs, its rare for me to find them linking the concepts they discuss, & if they do its to previous articles of theirs.

Wikipedia seems to be the last bastion of it! Though that's also internal links.

I try to make up for this, give my readers a taste of what I miss. But that just informs me of how difficult linkifying is!

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

Passkeys: A Shattered Dream - William Brown "Firstyear's blog-a-log":
https://fy.blackhats.net.au/blog/2024-04-26-passkeys-a-shattered-dream/

From the outside, a lot of this looks like bikeshedding over threat models (personally I don't care for attestation, but I see why that's in there now). Which yes, easily gets coopted into lock-in.

Passwords (aka "shared secrets") are a poor solution for webservice authenticates, & I hope password managers like BitWarden can do away with most of their issues whilst paving the path away from them!

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

Popquiz: Which component of an OS is the most complex?

I could relate this to my hardware-browser hypothetical, but that's pretty irrelevant.

(I'm leaving off scheduling, since that's as complex or simple as you want it)

alcinnz, to random
@alcinnz@floss.social avatar

Something I love about exploring what it'd take to build a browser from scratch hardware on up, is merely the question: What's the simplest possible hardware & operating system? Whilst still being inclusive?

It took me about a year, but I think I've almost finished an answer...

The most banal software in our lives is the most complex! For good reason!
Yet those who don't know better are more impressed by neural networks & blockchains than text renderers.

(askew echoing of a boost)

alcinnz, to random
@alcinnz@floss.social avatar

The most complex task a computer pertakes in: Communication!
With other software & machines, & especially with you on the otherhand!

The actual computation we ask of them , when its not just datastorage or sending messages, is typically trivial.
Thin clients are never that thin...

This I find is the crucial piece to understanding computing.

alcinnz, to random
@alcinnz@floss.social avatar

We Need To Rewild The Internet - Maria Farrell AND Robin Berjon @ Noema:
https://www.noemamag.com/we-need-to-rewild-the-internet/

Making version noir - Ahn V N:
https://anhvn.com/posts/2024/making-version-noir/

alcinnz, to random
@alcinnz@floss.social avatar

React, Electron, and LLMs have a common purpose: the labour arbitrage theory of dev tool popularity - Baldur Bjarnason:
https://www.baldurbjarnason.com/2024/react-electron-llms-labour-arbitrage/

alcinnz, to random
@alcinnz@floss.social avatar

Something I've been very aware of which is very visible in OpenSSL: The core computations (in OpenSSL's case: Cryptography) is trivial; communicating it with other software, machines, or with us humans is complex!

Then again cryptography is never the core computation we want from computers (if you don't have something you want to communicate you don't have something to encrypt). Yet it's one of the largest components of Linux From Scratch!

It adds confidentiality.

1/tangentially 2

alcinnz,
@alcinnz@floss.social avatar

Reading OpenSSL brings up a question to me relating my hardware-browser hypothetical:

Even the most rudimentary CPU can easily handle symmetric encryption, but what about asymmetric encryption? What's the simplest hardware I could hypothetically-add to occasionally handle public/private key crypto?

Another question: What's the best filesystem? How/why?

I might weave your answers into my webpages...

2 tangentially/2

alcinnz, to random
@alcinnz@floss.social avatar

To satisfy some curiosity I've been reading up on DVI as public-standard hi-res display protocol. To hear tell HDMI & DisplayPort essentially add audio & DRM (probably also removes blanking intervals) with a new connector, I'm open to being told otherwise.

DVI uses 4 pairs of twisted wires (trick for high-speed data transfer shared by USB) for 3 primary colours & a clock. Or double that for double the bandwidth! Between 25.175 MHz & 7.92 Gbit/s.

https://glenwing.github.io/docs/DVI-1.0.pdf
https://en.wikipedia.org/wiki/Digital_Visual_Interface#Technical_overview

alcinnz, to random
@alcinnz@floss.social avatar

If nothing else encourages us (the opensource community) to adopt more respectful norms, please let the fact that it is a social-engineering vulnerability do so!

There's a few fixes which could've addressed the hostile takeover of XZ, but none seems likely...

I'll retreat to the fantasy of building a whole new computing system...

alcinnz, to random
@alcinnz@floss.social avatar

Notes, Links, and Photos (8 April 2024) - Baldur Bjarnason:
https://www.baldurbjarnason.com/2024/links-11/

Some links from it...

Don't modernize your code just for the heck of it - Go Make Things:
https://gomakethings.com/dont-modernize-your-code-just-for-the-heck-of-it/

Substack Is Setting Writers Up For A Twitter-Style Implosion - Andrea Grimes "Home With the Armadillo":
https://homewiththearmadillo.blog/2024/04/02/substack-is-setting-writers-up-for-a-twitter-style-implosion/

You Are All On The Hobbyists Maintainers' Turf Now - Thomas Depierre "Software Maxims":
https://www.softwaremaxims.com/blog/open-source-hobbyists-turf

alcinnz, to random
@alcinnz@floss.social avatar

One aspect of my hardware-browser (now an Internet Communicator) hypothetical I want to highlight: Even as a bare-bones system & as skeptical as I am about the AI hype, I've incorporated hardware-accelerated machine learning!

Speech recognition.
Text prediction.
Machine translation.

AI isn't the future, it is the present. And it is mundane.

1/2

alcinnz,
@alcinnz@floss.social avatar

Incidentally (since my hypothetical thrives on constraints, keeping it interesting) I've written that I'd use an energy-efficient analog design resembling flash memory.

Such a chip would prefer us to have a handful of small models, which we update only occasionally. Whilst firmware usually abstracts this concern from us, writes slowly wears down flash memory.

2/2

alcinnz, to random
@alcinnz@floss.social avatar

What would you like to learn from me? - Baldur Bjarnason:
https://www.baldurbjarnason.com/2024/what-would-you-like-to-learn-from-me/

alcinnz, to random
@alcinnz@floss.social avatar

PDF is a paginated vector image format commonly treated as a document format especially by bureaucracies both public & private (due to how much it resembles what they're used to). And as such you've probably been required to use PDFs.

Personally I'm not a fan since it maintains the limitations of physical documents, & I know long-experienced devs who has much of the same gripes for PDFs as I have for the web.

But PDF appears to know its audience fairly-well, I'll say that for it!

1/?

alcinnz, to random
@alcinnz@floss.social avatar

Hey, who wants to learn browser engine development? What language would you choose?

I'm keen to mentor based on my experience building my own!

Payment appreciated but not required. My preference would be to converse over email, but you choose the medium.

alcinnz, to random
@alcinnz@floss.social avatar

Printing music with CSS Grid - Stephen Band "Cruncher":
https://cruncher.ch/blog/printing-music-with-css-grid/

alcinnz, to random
@alcinnz@floss.social avatar

If anyone wants to discuss fuzzers (or profilers)...

I'd love to plan how I'd design ones for my hypothetical hardware!

Takers?

alcinnz, to random
@alcinnz@floss.social avatar

Over the next month I'll discuss how to extend my hypothetical hardware-browser to support text-editing! But today: Text entry!

On a laptop or desktop we enter text using numerous labeled buttons (called "keys"). These share wires for reduced expense at the (non, given modern transistor densities) cost of extra disambiguation logic.

This info is reformatted & uploaded to the main processor to be parsed according to user config & the "keyboard"'s structural metadata.

1/4

alcinnz,
@alcinnz@floss.social avatar

Maintaining a 2nd copy of the text in the parsing unit could speed up read-out, at the risk of bugs. Useful for longer documents.

The main cost would be laying out the new text, with preparsing necessary to cut down the lookuptables used during layout to a size for which I don't need complex caching. Might as well add syntax highlighting here!

This may periodically tweak the size of ancestor boxes, triggering following siblings to reposition.

Should be able to finish within a frame!

4/4Fin

alcinnz,
@alcinnz@floss.social avatar

Depending on the form-factor those alternate text-entry approaches can be yet another parser around the entered text (amongst other input), integrating with the window manager & outputting both tentative & finalized text.

Regardless of how text is entered we need to display it!

So maybe splice the text into a pull-pipeline, pre-parse the text, send it to the Layout Coprocessor, lay it out, adjust ancestor sizes, reposition subsequent siblings, & output sprites via Compositor.

3/4!

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

I'm curious how compelling my hardware-Internet Communicator hypothetical is!

So: Given the opportunity to implement TCP/IP, HTML/CSS, (not JS, makes the hypothetical less interesting), Gemini, XMPP, eMail JPEG, PNG, WOFF, Xiph media, DVI, USB, etc from scratch on a novel string-centric CPU (with a couple coprocessors) designed specifically for it... Would you be interested?

Respond to expand on what interests you, or if there's an alternate computer architecture which interests you more.

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

Follow-up polls from last week: You've been recruited to reimplement a web browser & internet communicator from (nearly) scratch, hardware on up! Choose (only) 1 job!

This will be split across multiple polls. I prefer if you only vote in one.

alcinnz, to random
@alcinnz@floss.social avatar

OpenSSL has an encoding & decoding sublibrary wrapping it's buffered I/O sublib, as well as a choice of backend formats. Adding a fair bit of abstraction improving resilience.

There's another sublib "engine" managing (various) methodtables, which powers the (de)serializers the last one abstracts. Abstractions are lighter here, but certainly not absent.

There's a sublib aggregate all the error-codes defined elsewhere.

1/5?

alcinnz,
@alcinnz@floss.social avatar

OpenSSL has an ESS-format certificate parser building upon ASN.

There's a complex sublib implementing EVP encryption, by wrapping various other cyphers (possibly tweaked) exposing a common interface implementing various cryptographic operations.

FFC is centres on modulo-exponentiation, additoin, & comparison on big numbers.

HMAC wraps EVP digests.

HPKE also wraps EVP, with a lot more complexity.

OpneSSL has a basic (synchronous) HTTP(S) client, & URL parser.

2/3 for today!

alcinnz, to random
@alcinnz@floss.social avatar

Once emails have reached your inbox, how do you download them? An early protocol for this (which assumed you have a single device) is Post Office Protocol (POP, RFC 937), which got refined by later standards to have decent security & performance. How'd we implement it in our hypothetical hardware-Internet Communicator?

Periodically we'd open a connection to the server (generally with encryption) sending a HELLO command with your credentials to get a message count.

1/2?

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

An open UI design question here: How would we weave email inboxes into our system UI? Are they just bookmarks? Do we resort to having an "app", like I've been avoiding doing so?

I like @HerraBRE 's MailPile ideas!

Any email UI you like?

Note (addendum): When discussing notifications I discussed listing received notifications by unread status, time, & contact. I'd apply that here!

2.5/2.5 Fin for today! Tomorrow: IMAP!

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