Posts

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 believe that you shouldn't need JavaScript, & that you don't need it as much as many seem to think!

This is not to say "don't use JS", it is to say "avoid relying on it"!

alcinnz, to random
@alcinnz@floss.social avatar

Yesterday I described hardware for a map/filter/reduce database reading from flash storage, so how'd we write to that flash storage?

The trick hardware designers use for writing to flash memory is that if you manufacturing the insulating walls to the exact right ultra-thinness (and we have a large enough positive charge to attract it) electron probability can "tunnel" from the data wires to an isolated circuit. And stay there for decades!

1/3?

alcinnz,
@alcinnz@floss.social avatar

The catch is that flash memory can be a bit too good at storing electrons, which in practice means they wear out over time. So operating systems or firmware need to minimize & spread out writes increasing its longevity.

To minimize writes we add some "RAM" chips which stores the data in transient memory cells made from capacitors (with a counter circuit & latch to periodically recharge them). Once we've filled a "block" with data (or we're losing power) we can write it to flash memory.

2/3?

alcinnz,
@alcinnz@floss.social avatar

If these "blocks" are spread across all the different wafers that'll speed up the concurrent processing over these tables!

To spread the writes out I'd wait for the flash chips to fill up before running queries to read out all still-live rows via RAM so we can throw out the stale data & overwrite it with the compacted live data. A compacting GC!

Prior to this I'd only overwrite the rows to flag them as stale, once a certain transaction's committed. Thus speeding up transactions!

3/3.2?

alcinnz, to random
@alcinnz@floss.social avatar

A line of code saved is a line of code earned - Go Make Things:
https://gomakethings.com/a-line-of-code-saved-is-a-line-of-code-earned/

alcinnz, to random
@alcinnz@floss.social avatar

Beware the cloud of hype - Jay Hoffmann "The History of the Web":
https://thehistoryoftheweb.com/beware-the-cloud-of-hype/

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

Links (4 June 2024) - Baldur Bjarnason:
https://www.baldurbjarnason.com/2024/links-19/

Some AI links from it...

Trust - Jeremy Keith "adactio":
https://adactio.com/journal/21160

Information is Relational - Emily Bender "Mystery AI Hype Theater 3000":
https://buttondown.email/maiht3k/archive/information-is-relational/

How it feels to get an AI email from a friend - Neven Mrgan:
https://mrgan.com/ai-email-from-a-friend/

Despite buzz, generative AI tools such as ChatGPT see minimal daily use, survey finds - Imane El Atillah @ EuroNews:
https://www.euronews.com/next/2024/05/29/despite-buzz-generative-ai-tools-like-chatgpt-see-minimal-daily-use-survey-finds

alcinnz,
@alcinnz@floss.social avatar

Links from Bjarnason's linkdump discussing the Google leak...

Google won’t comment on a potentially massive leak of its search algorithm documentation - Mia Sato @ The Verge:
https://www.theverge.com/2024/5/28/24166177/google-search-ranking-algorithm-leak-documents-link-seo

An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them - Rand Fishkin @ Spark Toro:
https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/?ref=platformer.news

Google Search’s Internal Engineering Documentation Has Leaked - Mike King @ Pull Rank:
https://ipullrank.com/google-algo-leak

alcinnz,
@alcinnz@floss.social avatar

Regarding the Google leak I'll concur with @Seirdy : I don't trust any conclusions from these leaks as to how Google uses these metrics they gather.
Apparently it included docs, but we all know quickly those get out of date!

And for a final webdev link...

Engineering for Slow Internet - brr:
https://brr.fyi/posts/engineering-for-slow-internet

I actually think I reshared practically links from https://github.com/vkohaupt/vokoscreenNG this time...

alcinnz, to random
@alcinnz@floss.social avatar

I finally got my rewritten FontConfig language bindings passing their fuzz tests!

Mostly this is adding conditions under which FontConfig errors out, so I should go in & do a better job enforcing them...

alcinnz, to random
@alcinnz@floss.social avatar

As I engage with my local community it really strikes me...

My training in software development provides a solid grounding in Systems Theory. That is: Social systems aren't all that different from software systems, only there isn't source code to treat as a point of truth. We're stuck theorizing based on (if we're lucky) imperfect documentation.

And I also think that the "low coupling, high cohesion" systems we software devs strive for are also ideal in social systems.

alcinnz, to random
@alcinnz@floss.social avatar

Yesterday I established that compiling SQL queries & many of the more tangential features of a relational database can be framed as queries themselves, just on internal tables which we already know the schema of. So today: How do we read the desired data?

The common approach today is to store extra electrons between a transistor & its enable wire, I'll get into how we write those electrons tomorrow! Now that we've mastered the technique, it can store enough data for most non-archivists!

1/?

alcinnz,
@alcinnz@floss.social avatar

We've even refined our circuits fine enough to read back analogue data stored in this "flash" memory, though I strongly suspect there's limits to how cost-effective this strategy will be to further refine.

Stuff a silicon wafer full of these flash storage cells in 3D adding a decoder, place multiple such wafers in the same microchip package, & place multiple microchips into the hardware until we've got enough storage to meet your needs!

2/?

alcinnz,
@alcinnz@floss.social avatar

For each of those flash wafers I'd include a CPU core with very little memory, separating data (read from Flash) vs code (uploaded by CPU). Thus letting it evaluating any filters, column-extraction, & synopsizing it wants!

I'd want it to be able to handle strings, ints, & floats including non-trivial maths like multiply, divide, & remainder. Then again minimal & segregated code storage can allow for a simpler instruction-decoding pipeline without branch prediction!

3/4!

alcinnz, to random
@alcinnz@floss.social avatar

Taking an initial look at PeePDF...

It rolls its own AES decryptionn. Not great, but at least its decently well tested & they didn't roll their own encryption...

They vendor utils to format terminal output.

As well as utils for evaluating (via terminal command) or analyzing embedded JavaScript.

0.5/0.5 Proper study of PeePDF's central code tomorrow!

alcinnz, to random
@alcinnz@floss.social avatar

A common web component learning blunder - Dave Rupert:
https://daverupert.com/2024/05/cold-turkey-wont-fix-your-javascript-addiction/
Boosted by Robin Rendle "The Cascade":
https://csscade.com/a-common-web-component-learning-blunder/

The Gap - Ahmad Shadeed:
https://ishadeed.com/article/the-gap/
Boosted by Robin Rendle "The Cascade":
https://csscade.com/the-gap/

Hints & Suggestions - Miriam Suzanne @ International Symposium on Making Web Sites Real Good:
https://invidious.private.coffee/watch?v=iLxJ6PtuF9M&si=UmqNz2JfyDfWh0pN&t=4191 (Youtube via Invidious)
Boosted by Robin Rendle "The Cascade":
https://csscade.com/hints-and-suggestions/
Great talk, must see for any webdev!

alcinnz, to random
@alcinnz@floss.social avatar

New zine: How Git Works! - Julia Evans:
https://jvns.ca/blog/2024/04/25/new-zine--how-git-works-/

alcinnz, to random
@alcinnz@floss.social avatar

Every dependency is a potential vulnerability - Go Make Things:
https://gomakethings.com/every-dependency-is-a-potential-vulnerability/

alcinnz, to random
@alcinnz@floss.social avatar

The tech industry likes to portray itself as pursuing linear "progress", but to me it feels a lot more cyclical than linear...

I've started describing my position as: I'm a rock in the ocean. The tide wants to keep dragging me in & out, whereas I try to stay steady.

For all the talk about "constant change" I reckon "illusion of change" is a good meme to spread...

alcinnz,
@alcinnz@floss.social avatar

Could it be that this illusion of change is having the effect of keeping people too busy to effect real change?

alcinnz, to random
@alcinnz@floss.social avatar

Having recently finished discussing how I'd implement a web browser (and server) from the hardware on up, how'd do the same for a relational SQL database?

To start I'd have a central processor parse the SQL sent to this machine, & compile it in reference to queries upon some internal tables. The architecture of this central processor (whether x86, ARM, RISCV, 6502,or my hypothetical string-centric design) doesn't really matter, we're not asking much of it.

1/3?

alcinnz,
@alcinnz@floss.social avatar

Its worth digging into those "internal tables" some more.

This would include tables listing all the tables & table-columns in the database, with or without including themselves. Aside from needing to assume its schema, these'll be queried like any other table. Maybe like PostgreSQL we'll store code for processing the different data types in yet more tables?

Additionally there'd be tables for "views" which we'd parse to subqueries. As well as user accounts & access rights.

2/3?

alcinnz,
@alcinnz@floss.social avatar

Finally I'd include a table of precompiled "triggers" to run before or after the query itself.

So compiling a query to run involves running several other queries! How'd we evaluate these queries?

Lets see the data is stored in flash memory, that should be plenty for most people today! Which allows me to say: What if we paired every flash wafer with a (RISC64fim?) CPU core?

We'd want non-trivial ALUs to process the common SQL types, but barely any RAM. Separating code from data.

3/3today!

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