Sign in

MichaelJW

@michaeljw.bsky.social
15 followers 70 following 28 posts

michaeljameswilliams.com

PostsRepliesMedia
Reposted by MichaelJW
Alfred Reinold Baudisch @alfredbaudisch.com · 26/09/2026
Live here: library.pardallgames.com
library.pardallgames.com
Pardall Games: Explore EVERY SINGLE ASSET from PS1 and N64 games
2,757 models, textures, animations, sprites from PS1 and N64 games. Explore them in 3D in the browser.
12597222
Reposted by MichaelJW
Everest Pipkin @everest.bsky.social · 29/09/2026
Handcoded in HTML, CSS and Javascript and running locally, Scrubjay is usable for research, collection, game-building, website construction or simply to hold little fragments of digital things, in the same way that you hold a pebble in your palm on a walk.
232580
Reposted by MichaelJW
Robin Linacre @robinlinacre.bsky.social · 28/09/2026
We're very pleased to release Splink 5, which is now more scalable, faster to train models and lighter to install. You can find more details about the release here: moj-analytical-services.github.io/splink/blog/...
064
MichaelJW @michaeljw.bsky.social · 26/09/2026
'twas ever thus mcfunley.com/whom-the-god...
mcfunley.com
Whom the Gods Would Destroy, They First Give Real-time Analytics
000
MichaelJW @michaeljw.bsky.social · 22/09/2026
"I know people who ask ChatGPT what the date is, or what simple maths problems are ... We have completely detached our sense of what makes a good solution to a problem - it is easier to waste ten times as much on an answer you didn't have to think about instead." Great post.
010
Reposted by MichaelJW
Owen Goss @owengoss.com · 20/09/2026
I was playing around with a dithered RGB shader, and swapped out all the green pixels for white ones, and got this. The wild thing is there are only black, white, red, and blue pixels in these scene. The orange, yellow, and green are an illusion! The 2nd image is a close up of the "green" sphere.
A very pixelated looking 3D scene with different coloured blocks and spheres in it. It looks like there are blocks that are red, orange, yellow, green, blue, and purple, but it's rendered using only pixels that are black, white, red, and blue.Very zoomed in view of part of the images showing chunky pixels that are black, white, red, and blue.
2153
Reposted by MichaelJW
Matthew Morete @matthewmorete.com · 19/09/2026
A pixel dissolve generator! codepen.io/editor/matth... I've tried to make this effect 10 different ways at this point and it usually requires a mountain of code. An encoded PNG, wrapped in an encoded SVG with 'image-rendering:pixelated' is a very fun CSS trick and way way more compact.
codepen.io
Pixel Dissolve Mask Generator
A code demo by Matthew Morete created on CodePen
071
Reposted by MichaelJW
Kenney @kenney.nl · 19/09/2026
Great news! Kenney Game Assets All-in-1 is finally coming to Steam ✨ Enjoy local pricing, automatic updates and a brand new companion app asset browser. Wishlist to support the bundle, it helps a lot! store.steampowered.com/app/4059160/...
720932
Reposted by MichaelJW
Brendon Chung @blendogames.bsky.social · 14/09/2026
I wrote about how Skin Deep's "Highlighter System" works -- automatically detecting events in the world and showcasing them to the player: blendogames.com/news/post/20...
725174
Reposted by MichaelJW
Simon P. Couch @simonpcouch.com · 09/09/2026
RUN ML MODELS DIRECTLY IN YOUR DATABASE
0156
Reposted by MichaelJW
Edd Coates | Game UI Database @eddcoates.bsky.social · 13/09/2026
I'm pleased to announce that around 200 pages' worth of tutorial resources are coming to the Game UI Database for FREE via a brand new blog. No ads. No paywalls. No email signups. Here's a preview of the first piece dropping next week, all about crafting cross-platform control schemes and layouts!
6705251
Reposted by MichaelJW
Josh W. Comeau @joshwcomeau.com · 12/09/2026
Love this project from @kaleidosium.my.id. It's an introduction to HTML/CSS specifically for artists. 😄 Tailored educational resources like this are the best. We can construct way better explanations for things when we can anchor it to a shared fundamental base of knowledge, vs. a general audience.
modern-html-and-css-for-artists.netlify.app
Modern HTML & CSS Guide for Artists
A craft-focused, two-part guide covering modern HTML and CSS fundamentals for artists and other creatives.
2486
MichaelJW @michaeljw.bsky.social · 12/09/2026
love this
011
Reposted by MichaelJW
kepano @stephango.com · 10/09/2026
This is Knap. It's a new language I created that turns data into Markdown. Knap should feel familiar and comes with a wonderfully pleasant syntax to modify and format plain text.
942550
MichaelJW @michaeljw.bsky.social · 08/09/2026
Kenney is still a legend
040
Reposted by MichaelJW
bunp @bunp.bsky.social · 05/09/2026
Lots of polish to showcase this week; distance fog, colored outlines, outline integration with cloud shader, steady progress on day/night cycle. #screenshotsaturday #gamedev #indiedev
211210
Reposted by MichaelJW
ceej @ceej.online · 05/09/2026
I keep repeating this fun fact to people while they stare at me with feigned interest: “helicopter” is a compound word, but probably not in the way you think! it’s made up of “helico” as in, “spiral,” from the Greek “helix” and “pter” as in “wing,” like in pterodactyl!!
542100249
Reposted by MichaelJW
Jake Archibald @jakearchibald.com · 04/09/2026
Playing around with an idea: responsive code. The build script creates up to 5 versions of each code sample using Prettier, and a container query displays the right one. Brotli means the filesize overhead is very small. Live demo: jakearchibald.com/2026/css-cus...
1728928
Reposted by MichaelJW
Matt Henderson @matthen.com · 26/08/2026
To tell if a maze is solvable, just hang it by its corners If it tears into pieces, you’ve found a solution
694118857
Reposted by MichaelJW
Novelty Cistern @noveltycistern.bsky.social · 22/08/2026
CHEKHOV'S GOT A GUN CHEKHOV'S GOT A GUN WHAT WILL THE CLIMAX BEEEEE WHEN WE HIT ACT THREEEEEEE
7753147
Reposted by MichaelJW
Piccalilli @piccalil.li · 19/08/2026
We challenged Alistair to write this and boy, did they deliver! www.mohkohn.co.uk/writing/html...
mohkohn.co.uk
How building an HTML-first site doubled our users overnight
My client was a utility company, and they had a big problem...
0171
Reposted by MichaelJW
Rebane @rebane2001.bsky.social · 11/08/2026
i love seeing creative qr code designs, so i made this guide explaining what tricks you can (and can't!) do with qr codes while still keeping them very much readable have fun and make cool stuff!!
(ADVANCED) Guide to (not) fucking up qr codes
...while still making them look cool asf!
by Lyra Rebane

(1) Just have the QR code as-is, works the best!

(2) But leave some white padding, otherwise some scanners can't scan the code!

(3) Recolor the code using a light and dark color!

(4) But don't invert the colors, some scanners can't handle this.

Everything tested with: GrapheneOS, Samsung, iOS, Binary Eye

Page 1/4(1) Depending on the error correction you can cover up to 30% of the data in the QR code. This will make the QR harder to scan, but it should still work on all scanners.

(2) But this only applies to the data and ec (green). You can also cover one of the format info parts (yellow)

(3) Counter-intuitively, it also only applies to entire codewords (bytes) at once. Therefore you should make sure to never mess up over 30% of the codewords, even by a single pixel!

(4) For example, I added a sneaky one pixel thick worm onto this QR code, which makes it unscannable!

(5) But this QR code I added that chonky snake with a pride scarf onto remains perfectly readable!

Page 2/4(1) To scan QR codes, scanners will first find the three locators (blue) and then use the zebras (red) to create a grid over the code.

(2) This means that you can stretch, skew, or rotate your codes because the grid still stays intact!
Don't go too overboard with this, as some scanners can't handle extreme transformations.
Pretty much just make sure that straight lines can still be drawn!

(3) However, transformations that don't retain the grid - such as bends - can make the QR code unreadable. Keep this in mind when putting your QR codes on curved real world objects, such as posts and pipes.

(4) If you need to draw curved lines for a grid, the code cannot be scanned.

Note: the GrapheneOS stock Camera app might struggle with certain skews/rotations

Page 3/4
(1) QR code scanners use the grid to pinpoint the center parts of pixels, which means that the rest of the pixel does not matter!

(2) This means that you can shape your pixels however you want, provided that the middle stays unchanged.

(3) Or you can fill the rest of the QR code with a different image or even pure noise!
Note that a QR code like this could break after resizing or image compression, so use with caution!

(4) As with the other tricks, this reduces scannability, so make sure to test it with multiple devices, especially if you’re combining all of the tricks into one ultra QR code!

(5) This example still scans, but may not work properly or reliably everywhere!

Page 4/4
9368133
Reposted by MichaelJW
New-Cleckit Dominie @ncdominie.bsky.social · 28/07/2026
This is just to say I have OCRed the text thet was in tne arch:ve and whicb yov were prabaldy seamhing for "breahtast" Fargme ms fheg mem debo:w5 sb ?mccf mmb 5c oc1b
7778522571
Reposted by MichaelJW
Per Axbom @axbom.com · 23/07/2026
The most honest and believable analysis of the OpenAI / Hugging Face event that I have read thus far: www.linkedin.com/pulse/didnt-...
linkedin.com
It Didn't Wake Up. It Also Didn't "Just Follow Instructions."
A technical reading of the OpenAI-Hugging Face incident, and a method for reading claims like it Two framings of the July 2026 OpenAI-Hugging Face incident are circulating, and both are wrong. The fir...
1115
Reposted by MichaelJW
Cyd Harrell @cydharrell.bsky.social · 18/07/2026
an idea's been rolling around in my head about how what we lose with assuming everyone wants "answers" & not search results is similar to what we lose when "route" is the only kind of map we encounter I won't get the academic terms right, but it's some version of skipping an essential abstraction
1535575
Reposted by MichaelJW
Pavel @spavel.bsky.social · 12/07/2026
When I read "frictionless" writing, my eyes glaze over and my brain shuts off. Afterwards, I find that not only have I retained nothing, but I also felt nothing. The writing that sticks with you is spicy, salty, sour, sweet. It jolts you awake, and the words linger for a long time afterwards.
612016
Reposted by MichaelJW
Colin Spacetwinks @spacetwinks.bsky.social · 05/06/2026
orson welles if he lived several more decades: This game supports and uses an autosave feature. Please do not turn off the power or close the game when the autosave icon is displayed. ...Now you want me to do a 'funny' take. Why? For what purpose. Am I informing the players or am I entertainment.
730963
Reposted by MichaelJW
Calle Börstell @cborstell.bsky.social · 04/06/2026
The quote "Actually, Frankenstein is the doctor, the monster is Frankenstein's Monster" but crossed out and replaced with "Actually, ggplot is the function, the package is ggplot 2"
111726
Reposted by MichaelJW
Eryk Salvaggio @eryk.bsky.social · 31/05/2026
Where does the “it’s not x, it’s y” come from? It’s not only training data: LLMs are trained to use language to arrive at “answers.” Whatever we’re incentivizing and disincentivizing in our use of language when we resist “sounding like AI” has big implications for students, and for human thought.
mail.cyberneticforests.com
It's Not Just X. It's Y.
Against the Quantification of Integrity When the measure of language becomes its target, it ceases to be good language. 💡Nerd Rating: 1/5. I discuss the origins of certain linguistic tics in LLMs a...
713048
Reposted by MichaelJW
Kevin Powell @kevinpowell.co · 21/05/2026
If you don't have time to read it, the tl;dr is, if there are educational content creators you value, let them know. They might write, make videos, or anything else. Times are tough, and talented people are fading away. A few encouraging words from a real person can make a huge difference.
18514
Reposted by MichaelJW
Kevin Powell @kevinpowell.co · 21/05/2026
More and more people I deeply respect and have learned a lot from over the years feel like they are speaking into a void, to the point where they are losing motivation to continue making content, which got me to write my first post on my site in over a year... www.kevinpowell.co/article/tell...
3030078
Reposted by MichaelJW
Tyler King @tyleraking.com · 09/05/2026
This website shows you what your browser is leaking about you. sinceyouarrived.world/taken
sinceyouarrived.world
taken.
A web page that tells you what your browser gave away the moment you arrived. No login, no form, no permission. Most pages do this. None of them tell you.
491483734
MichaelJW @michaeljw.bsky.social · 07/05/2026
I've been known to use the former; adding the latter to my idolect now.
011
MichaelJW @michaeljw.bsky.social · 02/05/2026
Great thread - and I really like the term "porridge" used like this
031
Reposted by MichaelJW
Josh W. Comeau @joshwcomeau.com · 30/04/2026
✨ I just released a new (free!) tool for creating custom Bézier curves! courses.joshwcomeau.com/tools/bezier It has one special feature that I haven’t seen anywhere else, and it allows us to do something pretty cool. 🧵
827543
Reposted by MichaelJW
Supper Mario Broth @mariobrothblog.bsky.social · 01/05/2026
Some areas in Paper Mario feature a rim lighting effect that is achieved in a manner that is extremely simple for the surprisingly effective results it produces, being simply shifting around a shadow copy of the sprite.
The rim lighting effect in Paper Mario is created in an extremely simple manner.
[the sprites are taken, copied, recolored black, then the black version is offset, made transparent, and trimmed to the original sprite]
Note how this coincidentally results in a realistic shadow of the cap on Mario's face because the shadow is just the brim recolored black
Source: info: YouTube user @JasperRLZ, youtube.com/watch?v=K3OrK0nvWCg; presentation by Supper Mario Broth
6671751358
MichaelJW @michaeljw.bsky.social · 27/04/2026
Oh I kinda love this
000
Reposted by MichaelJW
Josh W. Comeau @joshwcomeau.com · 26/04/2026
✨ Tomorrow’s the day! After 18+ months of work, Whimsical Animations will be releasing to the public. 😄 I just sent a FAQ about the course to everyone on my newsletter. If you have any questions about it, they might be answered here:
joshwcomeau.com
Tomorrow’s the day! • Josh W. Comeau
Friendly tutorials for developers. Focus on React, CSS, Animation, and more!
410617
MichaelJW @michaeljw.bsky.social · 25/04/2026
I'd watch this Moneyball sequel
000
Reposted by MichaelJW
Goh_billy @gohbilly.bsky.social · 22/04/2026
A selection of floor burgers from various beat 'em up games.
131323380
Reposted by MichaelJW
Ben Collins @bencollins.bsky.social · 20/04/2026
With the help of the Sandy Hook families, The Onion has reached a long-awaited deal to take over InfoWars. We've enlisted the help of @timheidecker.bsky.social, who will be InfoWars' Creative Director. Please stand by for more.
816335427973
MichaelJW @michaeljw.bsky.social · 16/04/2026
Fascinating paper. "For example, P1 shared, “I was just trying to frame a sentence in my mind when I saw the suggestion.” This speed often outpaced participants’ own ideation and sentence planning."
020
Reposted by MichaelJW
derek guy @dieworkwear.bsky.social · 15/04/2026
Here is an easy solution: Food stains are humiliating, as they suggest you're a little baby who can't feed themselves. Oil stains, such as those you'd get from working on your car, suggest you're tough, independent, and skilled. Thus, simply cover your food stains with used motor oil.
A white garment with some kind of food stain. Humiliating. A pair of dirty hands rest on a car engine. Rough, tough, cool.
745080710
MichaelJW @michaeljw.bsky.social · 15/04/2026
Picked up a nice little frame for the four-leafed clover I found when I was 11.
A (somewhat withered) four leaf clover in a blue frame, next to a stoppered jar of "anti-gullibility potion" from Margate's Crab Museum.
000
MichaelJW @michaeljw.bsky.social · 11/04/2026
When I was an editor, I had a rule: no "Betteridge" headlines. I mean, come on.
000
Reposted by MichaelJW
Eize Basa @eizebasa.baby · 05/04/2026
“I will NOT sacrifice the Oxford comma. We've made too many compromises already; too many retreats. They assimilate the em dash and we fall back. They capture ‘not just X but y’ and we fall back. Not again. The line must be drawn here! This far, no further!”
I know the tweet is Al generated when they use " ," before and.
16475132091
Reposted by MichaelJW
Liz Neeley @lizneeley.bsky.social · 04/04/2026
I know a lot of researchers who should know AAT exists. “A disabled-led, unapologetically intersectional transcription and closed captioning social enterprise offering transcription support for researchers, by researchers.”
03830
Reposted by MichaelJW
Olivia Guest · Ολίβια Γκεστ @olivia.science · 10/10/2025
important on LLMs for academics: 1️⃣ LLMs are usefully seen as lossy content-addressable systems 2️⃣ we can't automatically detect plagiarism 3️⃣ LLMs automate plagiarism & paper mills 4️⃣ we must protect literature from pollution 5️⃣ LLM use is a CoI 6️⃣ prompts do not cause output in authorial sense
5 Ghostwriter in the Machine
A unique selling point of these systems is conversing and writing in a human-like way. This is imminently understandable, although wrong-headed, when one realises these are systems that
essentially function as lossy2
content-addressable memory: when
input is given, the output generated by the model is text that
stochastically matches the input text. The reason text at the output looks novel is because by design the AI product performs
an automated version of what is known as mosaic or patchwork
plagiarism (Baždarić, 2013) — due to the nature of input masking and next token prediction, the output essentially uses similar words in similar orders to what it has been exposed to. This
makes the automated flagging of plagiarism unlikely, which is
also true when students or colleagues perform this type of copypaste and then thesaurus trick, and true when so-called AI plagiarism detectors falsely claim to detect AI-produced text (Edwards, 2023a). This aspect of LLM-based AI products can be
seen as an automation of plagiarism and especially of the research paper mill (Guest, 2025; Guest, Suarez, et al., 2025; van
Rooij, 2022): the “churn[ing] out [of] fake or poor-quality journal papers” (Sanderson, 2024; Committee on Publication Ethics,Either way, even if
the courts decide in the favour of companies, we should not allow
these companies with vested interests to write our papers (Fisher
et al., 2025), or to filter what we include in our papers. Because
it is not the case that we only operate based on legal precedents,
but also on our own ethical values and scientific integrity codes
(ALLEA, 2023; KNAW et al., 2018), and we have a direct duty to
protect, as with previous crises and in general, the literature from
pollution. In other words, the same issues as in previous sections
play out here, where essentially now every paper produced using
chatbot output must declare a conflict of interest, since the output text can be biased in subtle or direct ways by the company
who owns the bot (see Table 2).
Seen in the right light — AI products understood as contentaddressable systems — we see that framing the user, the academic
in this case, as the creator of the bot’s output is misplaced. The
input does not cause the output in an authorial sense, much like
input to a library search engine does not cause relevant articles
and books to be written (Guest, 2025). The respective authors
wrote those, not the search query!
1428137
Reposted by MichaelJW
Nicola Rennie @nrennie.bsky.social · 27/03/2026
🎉 ggauto is now on CRAN 🎉 An #RStats package that selects better chart types, and provides more accessible styling for #ggplot2 plots 📊 Blog post explaining why I made it and how it works: nrennie.rbind.io/blog/introdu... #DataViz
nrennie.rbind.io
Introducing ggauto: automating better charts – Nicola Rennie
The ggauto package is an opinionated ggplot2 extension package that aims to help people make better charts by default. This blog post explains why it exists and how it works.
719361