@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

Doctorow's article from Tuesday (I read it yesterday) made heavy reference to his fight at the W3C against EME (their DRM standard).

That brings me back... Frustrating times! The arguments defending EME felt spurious as they accused us of being spurious. Splitting meaningless hairs over whether EME is DRM in-and-of itself. In the end advertising EME as being DRM.

Under the insistence that Flash needed to die, & the Web required Netflix et al.

alcinnz,
@alcinnz@floss.social avatar

The way I think about DRM: Its an (injust) law masquarading as technology.

It would've been great if W3C took a stance, but in attempting to be neutral they sided with the status quo. At the very least we made it utterly clear this is controversial!

And I think those championing it know what they're meant to believe, but not why. In practice DRM isn't meant to constrain audiences directly, its meant to constrain developers of playback hardware/software. Shaping technological reality.

2/1!

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

Choose your fighter (match 2)!

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

Choose your fighter (final match)!

alcinnz, to random
@alcinnz@floss.social avatar

My text is fully linkified! Tomorrow I'll gather up my remaining threads discussing LibPoppler (and now /dev/random) then publish everything!

Of particular note, here's some thorough notes on WiFi which don't require handing over your details: https://howiwifi.com/2020/07/13/802-11-frame-types-and-formats/

alcinnz, to random
@alcinnz@floss.social avatar

OpenSSL (which I've now confirmed that I've finished studying) relies on sourcing truly random inputs an attacker cannot predict. Linux provides this via the /dev/random device-file!

The source code I'm reading has some good comments: https://lxr.missinglinkelectronics.com/linux/drivers/char/random.c

The central add-rotate-xor hashing (+ fastpath) function here is a variation on CRC checks, apparently not cryptographically-secure but rapid enough to be called upon every CPU interrupt. May be wrapped in logging and/or mutexes.

1/?

alcinnz,
@alcinnz@floss.social avatar

There's a mutex-locked callback list, possibly called upon reseed.

That hashing function is wrapped in several more-public APIs so kernel-space (or even userspace) drivers can feed in more randomness from outside the computer itself. A lower-bound on the amount of randomness Linux has is estimated (mutex-protected), but that's barely relevant beyond bootup. The amount of "entropy" in the pool always increases, you can't make it less random except by looking at kernel memory!

2/3?

alcinnz,
@alcinnz@floss.social avatar

The core /dev/random logic implements some of its own fallback entropy harvesters (from e.g. timers, better than nothing!), with most of the code going into the public APIs.

When returning entropy (mutex-protected & logged) out of this pool it SHA1 hashes a computed number of bits & (is this needed?) subtracts off a certain amount of estimated entropy. This hash is mixed back into the entropy pool to ensure it remains unknown.

Exposes /dev/[u]random dev files & a getrandom() syscall.

3/3Fin

alcinnz, to random
@alcinnz@floss.social avatar

Omnivore App Accessibility and Low Vision - Veroniiiica:
https://veroniiiica.com/omnivore-app-accessibility-and-low-vision/

Wakelet Accessibility Features For Low Vision:
https://veroniiiica.com/wakelet-accessibility-features-for-low-vision/

alcinnz, to random
@alcinnz@floss.social avatar

Photographic comparison: Is the Kobo Libra Colour display worse than the Kobo Libra 2? - John Goerzen:
https://changelog.complete.org/archives/10671-photographic-comparison-is-the-kobo-libra-colour-display-worse-than-the-kobo-libra-2

alcinnz, to random
@alcinnz@floss.social avatar

Why use Web Components over traditional DOM manipulation? - Go Make Things:
https://gomakethings.com/why-use-web-components-over-traditional-dom-manipulation/

alcinnz, to random
@alcinnz@floss.social avatar

All error messages are necessarily bad to some degree - Gabriella Gonzalez:
https://www.haskellforall.com/2024/05/all-error-messages-are-necessarily-bad.html

alcinnz, to random
@alcinnz@floss.social avatar

On guestbooks - Manuel Moreale:
https://manuelmoreale.com/@/page/25583Thdp8L1dO0C

alcinnz, to random
@alcinnz@floss.social avatar

Oblivian - Olivia Colman @ Make My Money Matter (UK):
https://iv.datura.network/watch?v=EeZwnnOkrvw (YouTube via Invidious)

alcinnz, to random
@alcinnz@floss.social avatar

Improving my self-hosted scrobbling implementation - Cory Dransfeldt:
https://feedpress.me/link/23795/16676730/improving-my-self-hosted-scrobbling-implementation

alcinnz, to random
@alcinnz@floss.social avatar

Too Much Trouble To Bother - Michael Lucas:
https://mwl.io/archives/23575

alcinnz, to random
@alcinnz@floss.social avatar

CSS specificity and the cascade - Go Make Things:
https://gomakethings.com/css-specificity-and-the-cascade/

Endorsing...

Misconceptions about CSS Specificity - Bramus:
https://www.bram.us/2024/05/05/misconceptions-about-css-specificity/

&

Don’t Fear the Cascade - Mayank:
https://conf.11ty.dev/2024/dont-fear-the-cascade/

alcinnz, to random
@alcinnz@floss.social avatar

Pluralistic: The disenshittified internet starts with loyal "user agents" (07 May 2024) - Cory Doctorow:
https://pluralistic.net/2024/05/07/treacherous-computing/

Pretty much describes what gets me into browser dev... I'm sure we all think we know what's best for users though...

alcinnz, to random
@alcinnz@floss.social avatar

I strongly desire to see a UBI, or any other measure which means we don't require money to live!

Aside from a position that people shouldn't need to show their value to society in order to live... Looking at my own industry I think capitalists with the funds to spend are generally doing an atrocious job making these judgments!

(there's exceptions which prove the rule)

mia, to random
@mia@void.rehab avatar

so, you've seen ™ and ™️ before. but like. why are there two. well, i have an explanation! the answer is: FE0F

first, unicode. unicode is a standard definition of a bunch of codepoints, where a codepoint is just a number with meaning. for example, unicode codepoint U+263A refers to ☺︎, or "White Smiling Face", and U+1F431 refers to 🐱, or "Cat Face"

so, lets start by looking at the codepoints for ™. decoding it, it becomes the codepoint U+2122, referred to as "Trade Mark Sign". this was added in unicode 1.1 in 1993, a decent time ago!

next, the codepoints for ™️. decoding it, we get two codepoints! U+2122 (™︎) and U+FE0F. wait. who is FE0F. why is he in my emoji

well, unicode isn't as simple as a series of codepoints that refer to single characters. take a look at é̗ for example. this is three codepoints, U+0065 (Latin Small Letter E), U+0301 (Combining Acute Accent), and U+0317 (Combining Acute Accent Below). the first codepoint is simple enough, it's just e. the next two, however, are combining codepoints. this means that they combine with the codepoint before them to modify it. U+0301 adds an acute accent above the previous codepoint, and U+0317 adds an acute accent below the previous codepoint. this example specifically isn't very useful (i don't know any language with a é̗ character beyond conlangs), but it becomes very useful for languages that use a lot of diacritics. imagine if we had to make a new set of characters for each set of possible diacritics! big waste of space, we shouldn't have done that!

so, what is U+FE0F? well, it's a special codepoint called "Variation Selector-16". variation selectors are a reserved block of 16 unicode codepoints. only some have been defined, but among those currently in use are U+FE0E (VS15) and U+FE0F (VS16). from wikipedia: "VS15 and VS16 are reserved to request that a character should be displayed as text or as an emoji respectively." so, what's happening with ™️ is that it's combining a U+2122 (™) and a U+FE0F (Variant Selector-16) to create an emoji version of ™. they're the same character, just that one has been instructed to become an emoji!

also, for the interested, here's the word "unicode" with a shit ton of combining characters: ù́̂̃̄̅̆̇̈̉n̖̗̘̙̐̑̒̓̔̕i̡̢̧̨̠̣̤̥̦̩c̴̵̶̷̸̰̱̲̳̹ò͇͈͉́͂̓̈́͆ͅd͓͔͕͖͙͐͑͒͗͘eͣͤͥͦͧͨͩ͢͠͡. what appears to be seven letters is actually 77 codepoints, taking up 147 bytes when encoded in utf-8. or 156 in utf-16. or 312 in utf-32. why does anyone use utf-16 if it's longer? historical reasons :3

TL;DR: ™️ is ™︎ but instructed to be an emoji

alcinnz,
@alcinnz@floss.social avatar

@argv_minus_one @coolbean @mia We'd use that warp drive to travel back in time so there'd be less code for us to rewrite!

alcinnz, to random
@alcinnz@floss.social avatar

I'm linking heavily to https://www.timeanddate.com/ since searching these topics is difficult, everyone else takes these concepts for granted!

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

Developer's PSA: The way you & your culture do things isn't the way everyone does things! Be wary of cultural constructs, no matter how basic they may seem!

Time & dates. Text. Punctuation. Names. Addresses. Iconography.

What else am I forgetting?

P.S. This is also a politics PSA. Very topical to NZ right now!

alcinnz,
@alcinnz@floss.social avatar

Local politics prompts to me to add "food" to this list...

Apparently sushi is "woke" according to toplevel ministers!

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

I'll run a few polls to see how many of my followers have heard some of my favourite shows.

Vote for all of you've listened to!

alcinnz,
@alcinnz@floss.social avatar

Ranking (my selection of) indie-published shows by your votes:

  1. Welcome to Night Vale
  2. Blender Open Movies
  3. Pepper & Carrot
  4. Lackadaisy
  5. The Magnus Archives
  6. The Bright Sessions
  7. ars Paradoxica
  8. The Red Panda Adventures
  9. Wolf359
  10. Magus Elgar
  11. Scurry
  12. Zero Hours
  13. Hi Nay

You seem to love Night Vale's absurdity...

I strongly endorse all these! Please check them out!

I'll highlight ars Paradoxica. Kristen DiMercurio excels at voicing an engineer, & I like the themes...

alcinnz,
@alcinnz@floss.social avatar

@paoloredaelli Not to my knowledge.

They all have their own websites though! Easily searchable, even in the enshittification.

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