@krinkle@fosstodon.org
@krinkle@fosstodon.org avatar

krinkle

@krinkle@fosstodon.org

Dutch geek from Enschede living in London.

Principal Engineer at Wikimedia Foundation, https://fosstodon.org/@qunit project lead, jQuery Infra (OpenJSF) https://social.lfx.dev/@jquery, W3C Web Performance, ♥️ FLOSS.

Creative interests: linguistics, music, photography. Work interests: performance, web standards, UI design, digital privacy and security.

Avatar photo by Niek Hidding.

#webperf #PHP #mediawiki #wikipedia #qunit #nederlands #music #muziek #fedi22

Formerly at mastodon.technology (2019-2022).

This profile is from a federated server and may be incomplete. Browse more on the original instance.

krinkle, (edited ) to webdev
@krinkle@fosstodon.org avatar

"Google Sites" now supports embedding images.

What you want: <img style="margin: 0 auto;">

What you get:

  • ~100 HTML elements, including 57 unique CSS class names across 83 attributes, 30 hidden DIVs, 3 iframes, 2 external script tags, 2 inline script tags, and 1 actual <img> tag.
  • the <img> is inside an iframe, nested 3 (!) levels of iframes deep.
  • an image cut off in both X and Y directions.
  • not one, but two unwanted scrollbars.

krinkle, (edited ) to php
@krinkle@fosstodon.org avatar

WordPress now automatically adds the fetchpriority=high attribute to the image it determines likely to be the LCP image. This prioritizes the image ahead of the browser computing page layout, and typically improves LCP by 5-10%.

https://make.wordpress.org/core/2023/07/13/image-performance-enhancements-in-wordpress-6-3/

This follows from 2 years ago, when analysis showed native <img loading=lazy> makes browsers delay even above-the-fold visible images, regressing the Largest Contentful Paint metric.

https://make.wordpress.org/core/2021/12/29/enhanced-lazy-loading-performance-in-5-9/

krinkle, to php
@krinkle@fosstodon.org avatar

DuckDuckGo has opinions.

Time to upgrade your servers!

slightlyoff, to random
@slightlyoff@toot.cafe avatar

TIL that Wikipedia publishes their browser stats; a goldmine!

https://analytics.wikimedia.org/dashboards/browsers/#all-sites-by-os-and-browser

krinkle, (edited )
@krinkle@fosstodon.org avatar

@slightlyoff

You can use this Wikipedia dataset to plot adoption rate of new browser releases:

https://codepen.io/Krinkle/full/OJoVqXm

Prior analysis: https://timotijhof.net/posts/2023/browser-adoption/

krinkle, to random
@krinkle@fosstodon.org avatar

Fastly uses the H2O reverse proxy for fast and secure TLS termination over QUIC, HTTP/3, HTTP/2, and 1.1.

The project site compares its benchmarks only to Nginx. I'd love to see a more recent comparison that includes ATS (Apache Traffic Server), HAProxy, and Varnish/Hitch as fellow reverse proxies for TLS termination.

https://www.fastly.com/blog/tls-more-secure-always-fast

via @devs and https://ieji.de/@SolSoCoG/109392993726218659

krinkle, to infosec
@krinkle@fosstodon.org avatar

How does Wikimedia approach security and performance?

We're quite selective in our dependencies and often audit the sources ourselves. Progressive enhancement makes for a blazing fast and accessible site, and, I argue, it's also the cheaper choice in the long run!

Read more over @openjsf:

https://openjsf.org/blog/2023/10/05/wikimedia-case-study/

krinkle, to Wikipedia
@krinkle@fosstodon.org avatar

Best sentence of the Wikipedia article about temperance activist Carrie Nation:

“Her methods escalated from simple protests to serenading saloon patrons with hymns accompanied by a hand organ, to greeting bartenders with pointed remarks such as, ‘Good morning, destroyer of men’s souls'.”

https://en.wikipedia.org/wiki/Carrie_Nation

via https://juliawise.net/how-bad-is-alcohol/

krinkle, to legal
@krinkle@fosstodon.org avatar

Herbert B. Dixon Jr. (former DC Supreme Court judge) provides examples of some embarrassing redaction failures as part of public court document filings:

"""
Unfortunately, when such a document is converted to PDF format, the text merely appears to be hidden by the black rectangular boxes [..]
"""

https://www.americanbar.org/groups/judicial/publications/judges_journal/2019/spring/embarrassing-redaction-failures/

(via Matthew Butterick's "What we can deduce from a leaked PDF" https://matthewbutterick.com/chron/what-we-can-deduce-from-a-leaked-pdf.html )

krinkle, to random
@krinkle@fosstodon.org avatar

Making The Indian Rupee Work For Humans and Databases

Marco Gaspari, at Etsy:

"""
Technically, the rupee is like the US or Canadian dollar: it has a fractional denomination equivalent to the penny, called a paisa. But paisa are [..] no longer in circulation.

In practice, the rupee is more like the yen, its own (non-fractional) denomination.
"""

https://www.etsy.com/codeascraft/indian-rupee-users-database

krinkle, to til
@krinkle@fosstodon.org avatar

Apparently there's a a cross-over between Magento and Twitter.

In 2011, when eBay acquired Magento (an open source e-commerce CMS), it was intended to become part of eBay's "X Commerce Group" at www.x.com. No doubt a domain eBay had inherited from the time where Musk was involved.

Today, that domain of course redirects to Twitter.com.

https://techcrunch.com/2011/06/23/ebay-acquired-magento-for-over-180-million-but-not-everyone-is-smiling/

https://en.wikipedia.org/wiki/Magento

krinkle, to Ethics
@krinkle@fosstodon.org avatar

What are the ethical expectations of an open source project? by Alex Kladov

https://matklad.github.io/2023/10/18/obligations.html

krinkle, to random
@krinkle@fosstodon.org avatar

Recall 10-second Tom? Background character in "50 First Dates", the 2004 rom-com starring Adam Sandler and Drew Barrymore.

He's a punchline to comfort the main character who "merely" has a one-day memory.

But, do you know the real story of Clive Wearing? British music producer who has severe retrograde amnesia for over 20 years. He has a 7-second memory...

Watch the first three minutes to get the gist.

https://youtu.be/k_P7Y0-wgos?feature=shared

https://en.wikipedia.org/wiki/Clive_Wearing

krinkle, (edited ) to Youtube
@krinkle@fosstodon.org avatar

Basically, an Uzbekistan TV channel used part of a film by Blender Studio. Another artist also embedded part of that same film (both legal under CC license).

The TV company's rant-a-scam "copyright protection" agency semi-automatically reports the artist's video to YouTube as illegal copy of its TV content, despite holding no copyright to do so, and wins. The artist had to risk a channel strike to appeal - and still lost.

https://torrentfreak.com/company-hijacks-blenders-cc-by-licensed-film-youtube-strikes-user-221205/

@torrentfreak

krinkle, (edited ) to random
@krinkle@fosstodon.org avatar

Steve Jobs in 2010 internal email:

> digital hub [..] moving from PC to cloud
> * we invented Digital Hub concept [..] for all your contacts, calendars, bookmarks, photos, music, videos
> * PC now just another client alongside iPhone, iPad, iPod
> * Apple is in danger of hanging on to old paradigm too long (innovator's dilemma)
> * Google and Microsoft are further along [..], but haven't quite figured it out.

Interesting to see it all spelled out (§14).

https://www.theverge.com/c/22611236/epic-v-apple-emails-project-liberty-app-store-schiller-sweeney-cook-jobs

krinkle, (edited ) to random
@krinkle@fosstodon.org avatar

Difficult.

Difficult is a cult centered around the exchange of Diffie–Hellman public keys. Its members are primarily known for their interest in obscure cryptographic inventions.

krinkle, to linguistics
@krinkle@fosstodon.org avatar

🐓 "The chickens come home to roost."

This proverb means that a bad deed or unsolved problem will eventually return to the person causing it.

So..., why chickens? Turns out, "Chickens didn't enter the scene until the 19th century".

Origin:
https://www.phrases.org.uk/meanings/chickens-come-home-to-roost.html

By the way, the literal meaning is:
https://en.wikipedia.org/wiki/Communal_roosting

#english #linguistics #IsItASoupMetaphor #ShowerThoughts

krinkle, to webdev
@krinkle@fosstodon.org avatar

Breakdown of GPU attack:

  • Cross-origin iframe should be opaque (can't see fetch response, DOM, or draw to canvas).
  • CSS filters on iframe to skew 1 pixel into 2000px black/white square.
  • Draw complex SVGs (>16ms).
  • Observe time between requestAnimationFrame calls.
  • Repeat for 30 min.
  • Deduce that render speed might imply the GPU saw similarity (think GZIP) between your SVG and the iframe pixel elsewhere onscreen.

https://arstechnica.com/security/2023/09/gpus-from-all-major-suppliers-are-vulnerable-to-new-pixel-stealing-attack/

https://www.hertzbleed.com/gpu.zip/GPU-zip.pdf

krinkle, to webdev
@krinkle@fosstodon.org avatar

Blogroll, it's been a while!

Below are my feed subs (I use NetNewsWire), which help me stay informed and keep learning every day (as fullstack dev interested in web, UX, and perf).

https://gist.github.com/Krinkle/e0d13f84b91e829afffa7b27822482be

krinkle, to random
@krinkle@fosstodon.org avatar

Peter Whiting, on companies that offer you to sell your own personal data:

"""
If you know that a thief will steal your watch tomorrow so you offer it up today in return for a quarter, the core problem has not been solved. In fact, you have shown the robber a way to steal from you without even needing to mug you in the first place.
"""

https://nullpxl.com/post/should_you_sell_your_personal_data/

krinkle, to random
@krinkle@fosstodon.org avatar

1998: <div onclick="foo(bar)"></div>

2023: <VeryNiceDiv onClick={foo(this.bar)} />

Ah... the progress we've made.

🥸

The former was of course never best practice. It was poor separation of concerns to mix JS in your content.

Btw, did you know that the former actually checks local props/methods first?

Native event attributes are evaluated in an implicit 'with(this){}' block. That's why stuff like <textarea onclick="select()"> or <input onblur="alert(value)"> works even without 'this'.

krinkle, to firefox
@krinkle@fosstodon.org avatar

SpiderMonkey Newsletter (Firefox 116-117) by @SpiderMonkey:

https://spidermonkey.dev/blog/2023/08/07/newsletter-firefox-116-117.html

"""
We added a fast path for JSON.stringify.
[..]
We’ve disabled Spectre mitigations in Fission content processes (Nightly-only for now).
"""

Interesting to see the initial generation of Spectre mitigations slowly come down, regaining some perf losses.

Also awesome progress on Speedometer 2, now on par with Chrome! https://mozilla.social/@stevetex/110696689018983577

simevidas, to random
@simevidas@mastodon.social avatar

In German and Croatian, vote = voice. It’s the same word.

🇩🇪 Meine Stimme an der Wahl.
🇭🇷 Moj glas na izborima.

In these languages, my vote in the election = my voice in the election.

krinkle, (edited )
@krinkle@fosstodon.org avatar

@simevidas

From Wiktionary:
> voice, from [..] Old French (voiz). Displaced native [..] Old English (stefn) [..]

"stefn" came from Proto-Germanic stebnō, and would eventuelly become German "Stimme".

The same root entered English as "steven", and is still used in the idiom "even steven" (to have an equal voice/vote).

vote/voice share no root, but English does have "say" which can mean vote (I have no say in this, I have an equal say on the matter).

https://en.wiktionary.org/wiki/voice

lapcatsoftware, to random
@lapcatsoftware@mastodon.social avatar

WWDC 2004: Redmond, start your photocopiers.

WWDC 2024: Redmond, we’ve started copying your Copilot.

krinkle,
@krinkle@fosstodon.org avatar

@lapcatsoftware

I immediately hear the Bertrand's voice, and vice versa, the way I know to recognise his voice is because I remember how he said this very sentence.

He did an educational video on LLMs recently on his truly empty 20yo YT account:

https://youtu.be/QwtyIDmhxh4?feature=shared

chris, to random
@chris@mastodon.chriswiegman.com avatar

Oh great... As if it isn’t bad enough that I have to clear every single mention notification twice in Ivory (and there is no way to turn off the rest of the notifications)... now even going to each tab no longer clears them and I need to quit the app entirely to do so.

I think it's time I put all my computers away... in the trashcan.

krinkle,
@krinkle@fosstodon.org avatar
krinkle, (edited ) to random
@krinkle@fosstodon.org avatar

"When the pyramids were being built, there were still woolly mammoths."

Ah, another great mystery revealed about the pyramids. It was the mammoths all along! 🦣

via @jkottke

https://kottke.org/14/02/unlikely-simultaneous-historical-events

Learn more: https://en.wikipedia.org/wiki/Woolly_mammoth#Extinction

krinkle, (edited )
@krinkle@fosstodon.org avatar

Speaking of the Seven Wonders.

The wonders co-existed less than 60 years!

When this list formed around 100-200 BC, the pyramids were as old to them, as the list itself is to us now. Some 2000 years in both directions!

The newest wonder, Colossus of Rhodes, had only been built a few decades before the list started to circulate, and by the time the list reached its current format of seven wonders, the statue was already in ruins for several decades more.

https://en.wikipedia.org/wiki/Seven_Wonders_of_the_Ancient_World

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