Deleting my Vercel account felt so good ๐
30.09.2025 13:50 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0@rossm92.bsky.social
๐ด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ Into making websites. http://djen.co // http://rossmcmillan.co.uk
Deleting my Vercel account felt so good ๐
30.09.2025 13:50 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Have always been SNP 1, Sc Greens 2 when voting but that might switch around next time. Hoping @ross-greer.bsky.social and @gillianmacmsp.bsky.social take a leaf out of Zack's book and get out talking to people across Scotland to expose Reform. Should be a full-time job doing this imo, priority #1.
30.09.2025 09:57 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Draw the line. Join the Green Party today โคต๏ธ
join.greenparty.org.uk?utm_source=s...
Came here to say this. CodeIgniter was mind blowing, and gave me that a-ha moment: "So this is how advanced sites are built".
31.07.2025 10:08 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Is the red torso all one piece? Looks really big. Regardless, would love to see a video on the methods you use to print big things.
29.07.2025 12:29 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0I had a smart plug working great for around 5 years till recently when I needed to reset it. Had to download an app, reset my password, accept new T&Cs, and log in, all for it to still not work. Will be buying more Zigbee devices from now on to get around that. Keeps everything local
28.07.2025 14:01 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0Glastonbury is not the story.
The Genocide is.
๐ค - With Andrew Marr.
Screenshot showing my spam inbox happily at zero.
Have spam emails calmed down for everyone? I used to get dozens every day, but now only get about one per week. Makes it easy to keep even the spam inbox at zero, while keeping an eye out for false positives (or false negatives?)
17.06.2025 08:33 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0An apology to Keir Starmer:
26.05.2025 10:08 โ ๐ 762 ๐ 323 ๐ฌ 43 ๐ 40This is a new image from #JWST.
The bright points with spikes are stars in the Milky Way.
Everything else is a galaxy.
Everything. Else. Is. A. Galaxy.
At this juncture Iโd like to point out:
* weโre on the brink of a golden age of medical healing
* thereโs enough money in the world to solve every problem in the world
* a united approach could stop the climate crisis
But a small group of sociopaths seeking personal power are going to throw it away.
A side-by-side comparison of an image of Stefan on stage with a mural of St. Mungo in Glasgow, which bear a striking resemblance.
Someone painted a mural of you in Glasgow
23.04.2025 11:56 โ ๐ 4 ๐ 1 ๐ฌ 1 ๐ 0Deal status ๐ค
17.04.2025 13:17 โ ๐ 13 ๐ 1 ๐ฌ 1 ๐ 0So slick, well done!
25.03.2025 16:30 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Screenshot of a phishing attempt that bypassed gmail's spam filters. It is made to look like it is from OpenSea, but the email address is from noreply@autodesk.com. TLS is enabled.
Just got a cracker of a phishing attempt, bypassing the gmail spam filters. How is TLS working here? Could be wrong, but I'd have thought the autodesk[dot]com DNS or email server would need to be compromised to achieve this?
17.03.2025 09:45 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0This was a hard one. But we, as developers for Apple platforms and as humans, have a responsibility to respond.
www.massicotte.org/leverage
Love this idea ghuntley.com/stdlib
Hopefully rules will make their way to Copilot soon
This is what should be on every front page right now. What's happening in the US right now is an illegal power grab by a private citizen. IT'S A COUP.
It's a digital coup. It's Musk who's leading it. The consequences are terrifying. And it's coming for us next.
1/
open.substack.com/pub/broligar...
Do not ever EVER forget that live Twitter stream where he tried to claim the stack needed a complete rewrite and an ex-Twitter eng asked for details, which he could not provide and tried to dance around the question he could not answer. That was pure internet gold.
youtu.be/cZslebJEZbE?...
Oh my god, I think this works. Thanks so much!
30.01.2025 11:50 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Anyone know if zen has a mod/setting that remaps the Ctrl + Tab keys? The default is to cycle through tabs in the order they appear in the sidebar, but I love the Arc implementation where it will cycle through based on opened most recently. Easier to get back to the page that opened a new tab.
30.01.2025 11:01 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0The use case I just gave you necessitates that. An SR user cycling through lists won't have the context of the headings before if not linked with an aria-labelledby. Sighted users do have that visual context when scanning for a list
17.01.2025 11:52 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Despite all that, if we use an h2 linked to an aria-labelledby on the ul to label it instead, then it would be valid and necessary, even in your example. And if an aria-labelledby is valid on an element then surely so is an aria-label, even if only technically and not philosophically. ๐คทโโ๏ธ
17.01.2025 11:45 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0An SR user would need to cycle through those other lists before getting to the page contents, so its not quite as easy to find what they're looking for. Adding the aria-label makes sense to give them a hint that sighted users get via the visual context.
17.01.2025 11:44 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0In my contrived example maybe, but not generally. A sighted user might be able to see a list at the top of an article and easily interpret that as the page contents list, despite there being other lists in the markup that come before that... [continued]
17.01.2025 11:44 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0I brought up getByRole('list', {name: 'xyz'}) because that's what made me think of this stuff and apply those aria-labels.
17.01.2025 11:15 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Not really what I mean. Take this page: 6jc8rh.csb.app. Open a screen reader e.g. NVDA, press the L key to go to the next list on the page. When the first two lists are selected I hear "Page content list" and then "Another List of Items list". The last one without label says "List with three items"
17.01.2025 11:14 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Does the list role count as a static element? I often give ul/ols an aria-label so I can select them with `getByRole('list', { name: 'Named by aria-label' })`. Now wondering if that's wrong.
17.01.2025 09:10 โ ๐ 0 ๐ 0 ๐ฌ 2 ๐ 0Finally got round to this, thanks for the prod! rossmcmillan.co.uk/rss.xml
10.12.2024 22:57 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Been here before too. Our solution was to write the functions outside string so you get syntax highlighting and linting then run `.toString()` on em:
```
function* traverseBaseText(node) {}
const injectedJavascript = traverseBaseText.toString() // 'function* traverseBaseText(node) {}'
```