@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

The latest Trope Talks video has Red discussing "trickster heroes", & it strikes me that these are quite reliably the heroes to appeal to me!

She gave examples of the TV shows Leverage & Columbo, as well as various gods, Bugs Bunny, Briar Rabbit, & Spiderman.

Off the top of my head I'd add The Doctor, The Red Panda, & Rocky from Lackadaisy.

Any more examples you like?

weirdwriter, to tech

Can we retire the notion of old people fearing technology? Because I just had three cases where five seniors didn't understand why I was excited about tech as they were.

They were excited about the possibilities tech could give the world, even after they are long gone. I explained I was very disillusioned with how the whole tech sector exploits marginalized people and exploits workers. I looked at the recent iPads coming out and said, no thanks because I have what I need. It works, and these new features don't justify the price investment for me. The very five seniors all marked it on their calendars to order the new tech or pre order the new tech.

I explained that what I have works for me so I don't need new tech. I geeked up my tech so that it runs new and gets everybody to think it's new.

Of course, the subject went to AI. Everyone knows I'm against AI on here and online, especially the labor practices and the profit seeking grab... anyway, the seniors were utterly baffled as to why I wouldn't be happy about AI.

These aren't tech illiterate seniors, either. They can tell me the difference between a GB and a TB and one of them knows a little about servers but that's basically it. They can't host their own email server or anything but they know tech.

Even one said, you know what? My grandson is like you. He's younger than you are and he actually doesn't like technology at all!

To prove to them AI had some really big flaws, I loaded up an LLM with a voice input. They could use a Microphone to speak into it.

I told all my friends with non American dialects to speak into the microphone, but don't try to sound American.

That's when, for example, GPT and other LLM's fell short. The others were amazed because they thought, well, AI would at least cover different dialects.

But the AI's understood the dialects I'd say about 40% of the time, but to be fair, I was in a hall with a lot of echos and doors slamming, etc.

There are tech people that salivate over the death of all humans, and how no more computer stuff will be done by humans ever again, but these seniors aren't like that at all.

Still, they were just flabbergasted that because I was a tech guru that I am far, far, far, less excited about tech than they were.

I am glad I did the little voice demonstration though! I tried a number of American dialects. It couldn't even understand a southern accent well, and that's American English! Imagine how awful the others were!

alcinnz,
@alcinnz@floss.social avatar

@JonnyT That describes me!

@weirdwriter

alcinnz, to random
@alcinnz@floss.social avatar

How about a tool where you take some sample input, annotate with an approximation of the desired Abstract Syntax Tree, & it'll generate a parser? By merging rules to match each sample string for each rule?

A postprocessing pass would generalize away from any overfitting, auto-incorporating a Unicode library to steer devs in the right direction. Where that Unicode library would be code-generated indirectly from Unicode's datafiles via this very tool!

2/4?

alcinnz,
@alcinnz@floss.social avatar

Listing the different inputs a parser can parse could be invaluable for debugging! To keep the different "paths" through the graph separate, I reckon the Parsing Unit would need to emulate itself... By parsing all paths from strings 1 byte shorter, & for each looking up the appropriate state(s) whose edges we should interpret to produce more output & the input for the next iteration, with or without avoiding cycles. Until we reach a target state or length.

3/4?

alcinnz,
@alcinnz@floss.social avatar

Alternatively we could use recursion & the datastack until parser-close to perform a depth-first search, I'd probably include that in the firmware to first-pass list the sorted keys inserted into a parser! Values would need to be validated to filter down to the real entries.

The optimization passes could also be repurposed to warn devs about any cluttered code.

And we'd want an alternative view upon the code... Tomorrow!

4/4 Fin for today!

alcinnz, to random
@alcinnz@floss.social avatar

Whilst the Parsing Unit would arguably be the centre of our string-centric processors, the code its designed to run is of the sort I IRL find tedious to write. So, inspired by our optimization techniques, what tools might help make it enjoyable?

Since we have techniques to merge parsing rules & optimize them for (in this case) human legibility, what if the Parsing Unit could directly or indirectly write its own code, based on sample inputs & outputs?

1/4?

alcinnz, to random
@alcinnz@floss.social avatar

When we're loading additional code into Linux, we'll inevitably want to remove it again! So how does Linux's delete_module syscall work?

After checking access control, copying & resolving parameters into kernelspace, logging, grabbing appropriate locks, & validating those parameters delete_module() decrements the module's refcount, calls its exit function, notifies registered callbacks, for each "livepatch" adjusts CPU datastructures whilst calling callbacks, calls debugging hook, ...

1/2?

alcinnz,
@alcinnz@floss.social avatar

... waits for async tasks to finish, copies out names, frees all of the module's memory including its Sysfs files & some CPU-specific data, & awakens paused tasks (rabbithole).

1.2/1.2 Fin for today! Break tomorrow to skim the rest of this code directly related to loadable modules... Then pdfid!

alcinnz, to random
@alcinnz@floss.social avatar

Rebuilding my homelab: Suffering as a service - Xe:
https://xeiaso.net/blog/2024/homelab-v2/

alcinnz, to random
@alcinnz@floss.social avatar

Adventures in self-hosting data - Cory Dransfeldt:
https://feedpress.me/link/23795/16683075/adventures-in-self-hosting-data

alcinnz, to random
@alcinnz@floss.social avatar

Curation, search, and the future of the web - Manuel Moreale:
https://manuelmoreale.com/@/page/dgFsATFjz1pt8bKZ

alcinnz, to random
@alcinnz@floss.social avatar

Search is dead — long live curation - Cory Dransfeldt:
https://feedpress.me/link/23795/16683117/search-is-dead-long-live-curation

Links to...

The Revenge of the Home Page - Kyle Chayka @ The New Yorker:
https://www.newyorker.com/culture/infinite-scroll/the-revenge-of-the-home-page

alcinnz, to random
@alcinnz@floss.social avatar

45: Abusing the Protocol - Michael Lucas:
https://mwl.io/archives/23579

alcinnz, to random
@alcinnz@floss.social avatar

Bailey Miller's personal sites:
https://baileycmiller.com/
https://absurdity.today/

alcinnz, to random
@alcinnz@floss.social avatar

What about Lit for Web Components? - Go Make Things:
https://gomakethings.com/what-about-lit-for-web-components/

alcinnz, to random
@alcinnz@floss.social avatar

I've now extended my fuzz-testing to see whether I can reliably convert between Haskell & C datastructures for FontConfig.

The fuzz-testing is triggering OOM errors. And there's a couple cases where its reasonably rejecting invalid data...

alcinnz, to random
@alcinnz@floss.social avatar

Interesting... The "Stract" search engine is an OpenSource NLNet-funded project! Nice!

I still have questions, but now it seems I'll have to read the code to answer them...

https://stract.com is slowly replacing DDG for me!

alcinnz, to random
@alcinnz@floss.social avatar

I so often see people argue about JavaScript frameworks being easier to learn than HTML/CSS, whilst showing they've never bothered to actually learn HTML/CSS!

I think they're making things harder on themselves, not easier.

alcinnz, to random
@alcinnz@floss.social avatar

In our hypothetical string-centric hardware basically all the unpredictable memory accesses to the Parsing Unit's instruction prefetch/predocode. Yet there's only so much it'd be able to handle a time, hence we'd periodically need to optimize the Parsing Unit's code to fit in a rigid structure we can hope to prefetch/predocode!

We'd implement a smaller-scale firmware version triggered upon inserting new rules into existing parsers, & a larger-scale version as part of the compiler.

1/6?

alcinnz,
@alcinnz@floss.social avatar

A similar technique could gather all states reachable along the same label (& maybe several optional "eta" edges) from the same starting states. Rearrange the output into a renaming table, & we could turn our "NFA" into a "DFA" . Then again our hardware handles NFAs fine...

However if we convert our inverse-NFA into a DFA & uninvert it that'll remove plenty of redundancy & tidy up trailing branches! Inverting the graph may be a 2-step process populating a mapping before reformatting it.

3/6?

alcinnz,
@alcinnz@floss.social avatar

If we thus fail to shrink the code, next we'd turn our attention to finding the best place to split it! Ideally we'd split it into "connected components" so once we transition out of a subgraph we won't return to it.

An algorithm which suits this hardware would remove an arbitrary edge & examine which states are still reachable from each states it connected. If its reachable from both we'd ideally keep that subgraph together, recursing to split up the other 0-3 subgraphs (if too large).

4/5?

alcinnz,
@alcinnz@floss.social avatar

If the connected components remain too large, we'd need to heuristically choose a less-ideal split point. I'd aim to minimize the number of external edges, to make room for more to be added later. But mostly the choice would be quite arbitrary.

Talking about external edges... Especially after these optimization They could help indicate which other subgraphs should be merged together!

However if a single state imports to many edges, the machinecode would need to give up on prefetching!

5/5Fin!

alcinnz,
@alcinnz@floss.social avatar

Addendum: These optimizations would be implemented in firmware (the bulk of it!) primarily to power tries! Hence they'd need to use the Arithmetic Core's RAM instead for analysis, which might get a little tight...

Using those tries to reimplement a larger-scale version as part of compilation would free devs from needing to consider the hardware limits.

5.5/5 Truly fin! Tomorrow: Parsing Unit dev tools

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

New twist on the polls which just ended...

Choose your fighter!

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

Some clear 1st & 2nd place winners from these polls! So lets pair them off!

This poll will give our finalist!

In the tightest of these polls Cecil Palmer (Cecil Bladwin) from Night Vale won with 5 votes of 13. You like your absurdity!

The "timepieces" invented by Dr Sally Grissom (the excellent Kristen DiMercurio) in ars Paradoxica with a whole 7 of 15 votes!

Mari (Motzie Dapul) from Hi Nay won with 7 of 16 votes!

alcinnz,
@alcinnz@floss.social avatar

And a poll for the runner-up!

Lackadaisy's cats, with the main trio being Rocky Rickaby (Michael Kovach in cartoons), Calvin McMurray (Belsheber Rusape), & Ivy Pepper (Lisa Reimold) got 3 of 13 votes. With a rival gang consisting of Mordecai Heller (SungWon Cho), Serafine Savoy (Benni Latham), & Nicodeme Savoy (Malcolm Ray).

It tied with The Magnus Archives' living fear, can't credit a voice actor.

Caleb Michaels (Briggon Snow) got 4/15 votes.

Magus Elgar (William Violinus) got 6/16 votes.

alcinnz,
@alcinnz@floss.social avatar

P.S. I kind of wonder how the results would've turned out if I listed "psychiatrist for superhumans" instead of "empath". Different character from that show, perhaps the more main character...

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