Ross M's Avatar

Ross M

@rossm92.bsky.social

๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ Into making websites. http://djen.co // http://rossmcmillan.co.uk

59 Followers  |  234 Following  |  32 Posts  |  Joined: 14.02.2024  |  1.8403

Latest posts by rossm92.bsky.social on Bluesky

Deleting my Vercel account felt so good ๐Ÿ‘‹

30.09.2025 13:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Have 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    ๐Ÿ“Œ 0
Video thumbnail

Draw the line. Join the Green Party today โคต๏ธ

join.greenparty.org.uk?utm_source=s...

02.09.2025 10:45 โ€” ๐Ÿ‘ 1801    ๐Ÿ” 725    ๐Ÿ’ฌ 112    ๐Ÿ“Œ 237

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    ๐Ÿ“Œ 0

Is 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    ๐Ÿ“Œ 0

I 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    ๐Ÿ“Œ 0
Video thumbnail

Glastonbury is not the story.

The Genocide is.

๐ŸŽค - With Andrew Marr.

30.06.2025 19:05 โ€” ๐Ÿ‘ 1903    ๐Ÿ” 624    ๐Ÿ’ฌ 109    ๐Ÿ“Œ 84
Screenshot showing my spam inbox happily at zero.

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    ๐Ÿ“Œ 0
Video thumbnail

An apology to Keir Starmer:

26.05.2025 10:08 โ€” ๐Ÿ‘ 762    ๐Ÿ” 323    ๐Ÿ’ฌ 43    ๐Ÿ“Œ 40
Post image

This 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.

29.04.2025 18:47 โ€” ๐Ÿ‘ 18993    ๐Ÿ” 4073    ๐Ÿ’ฌ 622    ๐Ÿ“Œ 477

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.

26.04.2025 22:52 โ€” ๐Ÿ‘ 19811    ๐Ÿ” 5599    ๐Ÿ’ฌ 384    ๐Ÿ“Œ 264
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.

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    ๐Ÿ“Œ 0
Video thumbnail

Deal status ๐Ÿค

17.04.2025 13:17 โ€” ๐Ÿ‘ 13    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

So slick, well done!

25.03.2025 16:30 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Screenshot 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.

Screenshot 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    ๐Ÿ“Œ 0
Leverage Iโ€™m really not sure how to start this one. Normally, I write about technical topics. But, thatโ€™s not what this is. This is different. So Iโ€™m just going to say it.

This was a hard one. But we, as developers for Apple platforms and as humans, have a responsibility to respond.

www.massicotte.org/leverage

17.02.2025 12:56 โ€” ๐Ÿ‘ 160    ๐Ÿ” 52    ๐Ÿ’ฌ 18    ๐Ÿ“Œ 5
Preview
You are using Cursor AI incorrectly... I'm hesitant to give this advice away for free, but I'm gonna push past it and share it anyway. You're using Cursor incorrectly. Over the last few weeks I've been doing /zooms with software engineers...

Love this idea ghuntley.com/stdlib

Hopefully rules will make their way to Copilot soon

11.02.2025 13:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
IT IS A COUP This is what should be on every front page in 150 point banner headlines. All I have is this Substack but I lay it beneath your feet and pray to a higher power that I'm wrong.

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...

10.02.2025 13:49 โ€” ๐Ÿ‘ 6178    ๐Ÿ” 3061    ๐Ÿ’ฌ 164    ๐Ÿ“Œ 209
โ€˜Youโ€™re a jackass!โ€™: Elon Musk loses cool with ex-Twitter employee during Spaces chat | NY Post
YouTube video by New York Post โ€˜Youโ€™re a jackass!โ€™: Elon Musk loses cool with ex-Twitter employee during Spaces chat | NY Post

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?...

10.02.2025 01:30 โ€” ๐Ÿ‘ 9    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Oh my god, I think this works. Thanks so much!

30.01.2025 11:50 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Anyone 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    ๐Ÿ“Œ 0

The 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    ๐Ÿ“Œ 0

Despite 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    ๐Ÿ“Œ 0

An 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    ๐Ÿ“Œ 0

In 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    ๐Ÿ“Œ 0

I 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    ๐Ÿ“Œ 0

Not 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    ๐Ÿ“Œ 0

Does 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    ๐Ÿ“Œ 0

Finally got round to this, thanks for the prod! rossmcmillan.co.uk/rss.xml

10.12.2024 22:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Been 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) {}'
```

10.12.2024 15:42 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@rossm92 is following 20 prominent accounts