@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, to jenkins
@krinkle@fosstodon.org avatar

CI Dream

> In this world, CI as a SaaS feels like accidental complexity of midlayer mistake variety.

https://matklad.github.io/2023/12/24/ci-dream.html

#matklad #borgng #travis #zuul #jenkins

brion, to random

what's a functional programmer's favorite genre of indian dish?

curry

krinkle,
@krinkle@fosstodon.org avatar

@brion

Law & Order: SUV.

.. in which every victim was a citizen of car-dependent suburbia.

bert_hubert, to random
@bert_hubert@fosstodon.org avatar

So tomorrow there are national elections in The Netherlands and I need to acquaint you with two oddities. For one, we take our democracy entirely for granted so we mostly vote in.. garbage bins. Secondly, our ballots are HUGE as they list 28 parties and 1128 candidates (no joke). So we need to make good use of the space in the garbage bin. For this purpose, polling stations are equipped with the STEMBUSSTAMPER, specially designed to tamp down wayward ballots:

The stembusstamper is a longish piece of wood that fits through the slot meant for ballots. It allows one to tamp down wayward ballots so there is more room in the ballot box.

krinkle,
@krinkle@fosstodon.org avatar

@bert_hubert

It's a real-life game of "Where's Waldo" on our ballots. So many checkboxes. One is not like the others. (Except for blank votes!)

#verkiezingen #verkiezingen2023

TheDJ, to random
@TheDJ@mastodon.social avatar

He @webkit and @jensimmons Can we get some eye balls on printing lazy loaded elements ?

https://bugs.webkit.org/show_bug.cgi?id=224547

This is one of the blockers in adaptation of the loading attribute for Wikipedia, where printing still matters.

Chrome fixed this 1,5 years ago, so Safari is the only straggler (and Wikipedia has to wait a couple years more before they can actually use it after it is fixed)

#webkit #safari

krinkle,
@krinkle@fosstodon.org avatar

@TheDJ @jensimmons
@webkit

Fixing broken <img loading=lazy> for "Save as PDF" and other offline/print use cases would really help Wikipedia and all other powered sites.

pollita, to random

This issue continues to not age well.

krinkle,
@krinkle@fosstodon.org avatar

@pollita

There are still a bunch of PHP-6 books for sale. The optimism...

https://www.amazon.com/s?k=%22php+6%22

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

#CliveWearing #RealStories #amnesia

lapcatsoftware, to random
@lapcatsoftware@mastodon.social avatar

It’s unclear how exactly Apple can restrict sideloading to the EU. You can spoof IP addresses with VPNs, you can disable location services, and you don’t need to sign in to iCloud.

In any case, if Apple somehow manages to restrict it to the EU, then the majority of developers worldwide probably won’t participate in sideloading, because they still have to use the crApp Store elsewhere. I wonder how the EU would respond, if at all, to low usage by developers. https://mastodon.social/@macrumors/111402674411099188

krinkle,
@krinkle@fosstodon.org avatar

@lapcatsoftware

Hardware models already vary wildly by region due to radio antenna differences to optimise best for local market:

https://www.apple.com/iphone/cellular/

Do you know how the China/Taiwanese flag censorship works today? I assumed it similarly firmware based, but not sure? I imagine China wouldn't tolerate "set language to English" as way to get a Taiwanese emoji.

brion, to random

well i completely blanked on the command name for "git-review" and had to google for it with a bunch of roundabout search terms like "git gerrit pull request submit command wikimedia" :D

so i think it's time to put aside work catch-up for the day

krinkle,
@krinkle@fosstodon.org avatar

@brion

I usually type gogo<tab> to upload a patch.

> alias gogogerrit='git review -R'

https://github.com/Krinkle/dotfiles/blob/v2023.09/hosts/primary/index.bash#L375

#Gerrit

ianbetteridge, to random
@ianbetteridge@writing.exchange avatar

The images may be broken but this is still a legendarily great product review. https://lookrobot.co.uk/2013/01/14/the-panasonic-toughpad-press-conference/

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

How did Commander Keen do adaptive tiling, back in the 1980s? Explanation by Fabien Sanglard @fabinou:

https://fabiensanglard.net/ega/

Source code: https://github.com/keendreams/keen

#commanderkeen #RetroGaming

krinkle,
@krinkle@fosstodon.org avatar

Amazon sure squeezes the shit out of online book sales. Damn.

https://fabiensanglard.net/gebbdoom/

#amazon

krinkle, to random
@krinkle@fosstodon.org avatar

The Rainbow Connection analysed

This is one of my favourite songs. It occupies my brain for hours at a time, on a good day.

Tim Carmody @tim:
"""
It’s sung by a puppet, performed by someone who, for all his unbounded talents for voice and performance, can’t really sing. But I think it’s the greatest song ever written for a film.
"""

https://snarkmarket.com/2021/8283/

#muppets #RainbowConnection #KermitTheFrog #kermit #snarkmarket #lyrics

nolan, to random
@nolan@toot.cafe avatar

I'm not a Ruby developer, but I really enjoyed DHH's keynote at Rails World https://youtu.be/iqXjGiQ_D-A

I don't agree with all the specific points, but I really like the gonzo style of asking "Why not make everything radically simpler?" A lot of times in software we go for solutions that add 5% value but are 2x more complex (those numbers are made up).

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

@nolan

For Wikipedia, we pioneered a no-bundle approach in 2010, with a modpagespeed-like runtime transform in the MediaWiki PHP app.

At the time, sites often loaded unversioned unmodified separate script tags. Closure Compiler or cat+JSMin was state of the art.

We went with no bundle and web native-first. Introduced modules (npm wasn't known yet). And produce HTML that bundle/concat/minify on-the-fly in PHP, with (for prod) CDN/browser cache on top. Great local DX.

https://www.mediawiki.org/wiki/ResourceLoader/Architecture

krinkle,
@krinkle@fosstodon.org avatar

@nolan

Just finished watching. Wow, that resonates all the way thru. I've been unable to express it so succinctly.

A few months ago I re-envisioned docsearch along the same lines: https://github.com/jquery/typesense-minibar

  • no build step
  • no typescript
  • no minification for CSS or JS.
  • HTML-first progressive enhancement.
  • self-hosted single file.
  • no dependencies, plain JS, under 2kB.
  • feature complete.

Live on https://api.jquery.com and https://qunitjs.com (static site and WordPress respectively).

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

Offered without context:

"""
select a firm swede, the smaller in size the sweeter.
"""

Yep, kids are cute. Same in Scandinavia, I guess. Did you just say "firm"?

"""
medium size is best, depending on how you will use it.
"""

Wait what?

"""
avoid larger swedes as they can be bitter.
"""

Okay, this I can relate to, see also Greg Davies on Taskmaster. (I'm a tall Dutch person myself, we're not alll bitter!)

w96k, to random
@w96k@fosstodon.org avatar

Slicing php arrays suck so much. To slice both ends I need to calculate length of array and do some calculation on it instead of just putting second index there.

https://www.php.net/manual/en/function.array-slice.php

krinkle,
@krinkle@fosstodon.org avatar

@w96k

do you mean like array_slice($x, 2, count($x)-3)?

Both start and and support negative numbers directly so as to not need to do that.

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

All major browsers rely on a dark secret: the quirks where native code or the UA stylesheet is varied based on which site you're on.

They're a hell to debug if you're ever caught in one, but they make for interesting stories!

Example:
https://neugierig.org/software/chromium/notes/2009/08/mediawiki-workaround.html

Fix for SVN deadlink:
https://static-codereview.wikimedia.org/MediaWiki/53141.html

Source code of doom:
https://github.com/WebKit/WebKit/blob/main/Source/WebCore/page/Quirks.cpp

History:
https://github.com/WebKit/WebKit/commits/main/Source/WebCore/page/Quirks.cpp

#WebHistory #webkit #chromium #KHTML #MediaWiki #webcompat

krinkle, to random
@krinkle@fosstodon.org avatar

@jeresig Looks like your blog is having difficulty serving its RSS feed.

The advertised FeedBurner proxy appears to be serving an HTML error page as well (which in turn leads to an XML error) at https://feeds.feedburner.com/JohnResig

The presumed source at
https://johnresig.com/feed/ returns a (different) error.

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/

#infosec #webperf #OpenJS #foss #floss #Wikipedia

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

#matklad #ethics

brion, to random

i've noticed a lot of programming nerds straight up pronounce the $ on scripting-language style variables as the word "dollar"

i grew up pronouncing it as a glottal stop in my internal monolog :D

krinkle,
@krinkle@fosstodon.org avatar

@brion

The first 25 paragraphs, not particularly illuminating. It mentions obstructing airflow. I mean I know what that sounds like generally, [queue Bruce Willis/Jason Statham/Jack Bauer strangling people] lots of.. sounds!

Audio sample: "Ah A". ok...

Paragraph 26: "In English, the glottal stop occurs between the vowel sounds in uh-oh". Oh that!

It's the "bo'l o' wa'er" phenomenon: glottal stop, or should I say [lang=en-gb-cockney] glo'al stop?

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

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
#appsec #webdev #gpuzip

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.

brion, to random

fun fact: WebP supports two entirely unrelated compression types, VP8 intraframe compression (best for photo-like images) and "WebP Lossless" which is kinda like PNG with fancier filtering

Also, everybody hates WebP only because whether any given tool supports it is super hit-and-miss and web browsers / desktop operating systems don't make conversion to supported formats as transparent as you might hope.

And also because libwebp had a security vuln recently 🙃

krinkle,
@krinkle@fosstodon.org avatar

@brion

... With the narrow sweet spot webp seems to hold. https://siipo.la/blog/is-webp-really-better-than-jpeg

... and how hostile it is to any practical freedom and remixing by normal people.

.. WordPress rejecting it for output (input only) https://make.wordpress.org/core/2022/09/11/webp-in-core-for-6-1/

I wonder if we should turn it off from WMF's Varnish/Thumbor rules.

krinkle, to random
@krinkle@fosstodon.org avatar

@kostajh

Ten years and counting... switched to Silent Mode (or "Vibration Mode") after I got an iPhone 4S and not looked back. Very few apps are permitted badges or Notif Center presence, and Lock Screen limited to calendar events and VIPs. Sleep Mode scheduled every evening/night.

I occasionally run into a bug where some apps won't play audio tracks (mistaking it for mute even for user-initiated playback), but other than that, wouldn't want it any other way.

https://www.kostaharlan.net/posts/do-not-disturb/

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