Sign in

Rägnar O'ock

@ragnar-oock.bsky.social
61 followers 133 following 125 posts

Web 🥔 building the tools to empower others. Creator of xoram.dev

PostsRepliesMedia
Rägnar O'ock @ragnar-oock.bsky.social · 26/03/2026
It's funny I would have just used a custom prop on the parent set to running on hover. I guess your way is a bit more explicit about *who* is currently running.
120
Rägnar O'ock @ragnar-oock.bsky.social · 20/02/2026
I made more textures for the game, it looks a lot better in 3d now too (which is how I hope to make it in the end). And no, there's no canvas for rendering. That cobblestone texture took me forever to draw and it revealed an issue with how the textures are rendered and I can't unsee it ( è - é )
A screenshot of a city builder prototype showing a grid based map with various tiles identified by emojis and decorated by pixel art textures adapting to the type of the surrounding tiles. The backdrop of the map is a dirt texture, tiles have various backgrounds such as grass, water, asphalt and cobblestone.
The cobblestone texture stands out from the other textures by its contrasting color and the lining of smaller stones shown on the outside edge of the group of tiles.A screenshot of a city builder prototype showing the background textures of a grid based map with various tiles decorated by pixel art textures adapting to the type of the surrounding tiles. The backdrop of the map is a dirt texture, tiles have various backgrounds such as grass, water, asphalt and cobblestone.
The cobblestone texture stands out from the other textures by its contrasting color and the lining of smaller stones shown on the outside edge of the group of tiles.A screenshot of a city builder prototype showing the background textures of a grid based map with various tiles decorated by pixel art textures adapting to the type of the surrounding tiles. The backdrop of the map is a dirt texture, tiles have various backgrounds such as grass, water, asphalt and cobblestone.
The cobblestone texture stands out from the other textures by its contrasting color and the lining of smaller stones shown on the outside edge of the group of tiles.
The game board is tilted slightly away from the camera to make it look like it is placed on a table viewed from the side. Because it's a prototype the edges of the map are clipped in view of the screen making the setup feel bodged together.
030
Rägnar O'ock @ragnar-oock.bsky.social · 15/02/2026
As usual the code is available on GitHub : Perma link : github.com/Ragnar-Oock/...
github.com
colon/src/components/dual-cell.vue at 85534c563e8aa0e8f8991fa78c14e26b6a21d35f · Ragnar-Oock/colon
A crude recreation of the Colon Catan card game in VueJS, totally a WIP - Ragnar-Oock/colon
000
Rägnar O'ock @ragnar-oock.bsky.social · 15/02/2026
One cool trick I discovered with the way I arranged the textures in the atlas is that inverting how the texture is sampled (i.e. having a background where there's a tile vs having a background where there is no tile) is as easy as flipping the check in the sampler
A screenshot of a grid based city builder where a grass texture fills the space where no tile has been placed yet. The texture transitions cleanly at the edge of placed tiles with a hand drawn dither effect.

A code editor window is overlayed on top of the game board showing the code responsible for selecting the right texture for each cell of the grid.A screenshot of a grid based city builder where a grass texture fills the background where tile has been placed. The texture transitions cleanly at the edge of placed tiles with a hand drawn dither effect.

A code editor window is overlayed on top of the game board showing the code responsible for selecting the right texture for each cell of the grid.
010
Rägnar O'ock @ragnar-oock.bsky.social · 15/02/2026
Today I have worked (shortly) on adding textures to my game. Because I'm lazy and didn't want to draw too many textures I used a dual grid to make it possible to have nice looking connected textures. I wouldn't have thought it to be this easy to implement.
Screenshot of a grid based city builder with somewhat random tile types scattered everywhere to showcase how the background textures connect cleanly when 2 nearby grid cells are filled with a tile. The background texture is a pixel art grass pattern and the tiles at the edges have an artistic feathering to transition between the grass texture and the blank background of the map.
The tiles use emojis to illustrate their type.
A set of 7 cards lay in an arc at the bottom ready to be placed on the board.
220
Rägnar O'ock @ragnar-oock.bsky.social · 17/12/2025
The issue isn't the legacy syntax, it's the rgb(a), hsl or oklch are so much better and intuitive. (Disclaimer I haven't watched the video yet)
010
Rägnar O'ock @ragnar-oock.bsky.social · 13/12/2025
I tried that long ago, now I have over to a hundred tabs open and there's tasks that I have even forgotten about.
150
Rägnar O'ock @ragnar-oock.bsky.social · 07/12/2025
Soooo... I've been working on and off on the small game I posted about last time. I've added a bunch of interactivity and, more importantly, actual gameplay in the form of placement constraints and scoring. I think I'll work on the graphics next... Try the game here : ragnar-oock.github.io/colon/
010
Rägnar O'ock @ragnar-oock.bsky.social · 06/11/2025
Source code is available on my GitHub, I will update it regularly and I hope to be able to port make it work with xoram.dev once I'm done with the prototyping phase. github.com/Ragnar-Oock/...
github.com
GitHub - Ragnar-Oock/colon: A crude recreation of the Colon Catan card game in VueJS, totally a WIP
A crude recreation of the Colon Catan card game in VueJS, totally a WIP - Ragnar-Oock/colon
000
Rägnar O'ock @ragnar-oock.bsky.social · 06/11/2025
I needed to try something new for a bit, so I decided to make a board game loosely inspired by Colon Catan. So far I have the board, the things that go on it and a way to control which tile can be placed where. This silly thing is built with Vue and I wouldn't have thought it such a good fit. >>>
100
Rägnar O'ock @ragnar-oock.bsky.social · 28/10/2025
an in FF it's basically the same (I don't think the difference is significant here)
a screen shot of a benchmark result showing :
- Wrapped function : Operation per second : 48637, average run time: 0.021ms
- Function proxy : Operations per second : 49287, average run time: 0.020ms
010
Rägnar O'ock @ragnar-oock.bsky.social · 28/10/2025
I got a new job about a month and a half back. And it's both funny and deeply depressing that now that I have 2 "actual experiences" on my CV (yes, I already updated my CV), I get so many more cold calls from recruiters. I went from 2 in 6 months to 8 in 5 weeks. And I don't like that fact at all
000
Rägnar O'ock @ragnar-oock.bsky.social · 12/09/2025
And regarding attending, I'll be at work at that time so no can do sadly.
020
Rägnar O'ock @ragnar-oock.bsky.social · 12/09/2025
I'll take that as a no then 😆
110
Reposted by Rägnar O'ock
Kevin Powell @kevinpowell.co · 11/09/2025
Last week I did a quick live session in my Discord community, and it worked well enough that I've decided to do monthly workshops there. The first one will be next Friday, with a CSS Grid crash course of sorts. You can join the community here: discord.gg/bRVypdE9?eve...
CSS Grid Workshop: Friday September 19th at 4pm UTC / 12pm Eastern time / 9am Pacific time
3262
Rägnar O'ock @ragnar-oock.bsky.social · 11/09/2025
so... is there anything about the grid shorthand in it 👀 (no I'll never stop xD)
110
Rägnar O'ock @ragnar-oock.bsky.social · 07/09/2025
Me: Technology has peaked, it's only downhill from here. There's no way we can make it better. Me after looking at the rest of the thread: nevermind...
021
Rägnar O'ock @ragnar-oock.bsky.social · 05/09/2025
I use cropped Fullscreen capture when I stream, i feel like it's a lot more versatile than anything else I tried. It would be nice to be able to lock the crop to the size of a given window (so stuff displayed on top would still show) but it never bothered me enough to warrant a fix.
010
Rägnar O'ock @ragnar-oock.bsky.social · 05/09/2025
I have a setup like this on my G9 using PowerToys FancyZones. I have it set up with 4 8:9 zones, and fancy zones allow you to snap a window into multiple adjacent zones. So I can have 2 "full-width" windows or a centered full-width surrounded by "half-width" ones with no configuration change.
120
Reposted by Rägnar O'ock
Adrian Roselli, pH0 @aardrian.bsky.social · 19/08/2025
Unfortunately, standards work may be a function of who has the biggest platform for social media polls (that pre-judge the outcome). I’m hoping those who work in or near #accessibility can offer some feedback to more fundamental, not pre-judged, questions here: bsky.app/profile/aard... #a11y
163
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
I personally don't have any issue with IDREFs that would warrant any changes to the spec and seeing valuable contributor time being potentially wasted on it is worrying.
120
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
... if this is the element we're looking for". When the complexity of DOM element linking is not straight up dismissed on the ground of being annoying :/
100
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
I just gave a quick read to that GitHub discussion and I understand why you're worried. To me the whole discussion starts from the flawed assumption that IDREFs are at fault but all the propositions I found in the discussion trade the "it's hard to have a unique id value" with "we aren't sure...
100
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
- what I like about them? Meh... They're alright... - what design constraints [...] ? Nothing comes to mind. - What is the user impact [...] ? From what? Things work ok currently when you stop 5s to think about how to make something work with tools with a good DX like Vue or Svelte.
000
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
- For the times I had issues with making something accessible the issue always stemmed from a poor understanding of either the html attributes or aria attributes uses. Never from the IDREF itself. For example which element should have which attribute (can't remember which one it was sarry)
100
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
Vue has useId that guarantees equality between frontend and backend and can be used to get a random opaque value to set as the id where needed. - I never found myself in a case where a random uuid or a framework provided tool didn't solve the issue.
200
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
But I can remember only a single time it made things a bit challenging to do when I was working on a menu and menuitem abstraction layer in Vue. - Usually when I need to get an id I either use a random uuid in js or a framework provided helper when doing stuff from the backend.
100
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
- The only pain point I can think of is not really one honestly, it's the whole page uniqueness. That's a bit tricky to satisfy in some rare situations because the different elements linked by the IDREF are not in the same component.
100
Reposted by Rägnar O'ock
Adrian Roselli, pH0 @aardrian.bsky.social · 18/08/2025
[1/3] Asking the questions from this Masto post so you can respond to me here and I’ll carry them over: eigenmagic.net/@sundress/11... Think of `<label for="IDREF">` and other places you use an IDREF. 1. What are the specific pain points around using IDs? #HTML #accessibility #a11y
eigenmagic.net
Alice Boxhall (@sundress@eigenmagic.net)
There are some posts doing the rounds at the moment asking questions about using IDREF attributes like `for` without using IDs. I think these polls are asking the wrong questions. I think these are t...
234
Rägnar O'ock @ragnar-oock.bsky.social · 19/08/2025
I use whichever syntax the tool I used to pick the color supports so C... So that means there can be more than one syntax used in the same file. But if I have to type it out i do comas, with deg and percents.
010
Reposted by Rägnar O'ock
Alice Averlong 🏳️‍⚧️ @alice.averlong.com · 13/08/2025
SIGH
A form labeled Gender with four options:
* Female
* Male
* Female-to-Male (FTM)/Transgender Male/Trans Man
* Male-to-Female (MTF)/Transgender Female/Trans Woman
1257924
Rägnar O'ock @ragnar-oock.bsky.social · 13/08/2025
That, or the fact that people who just didn't care/knew about it last year tried them since then.
000
Rägnar O'ock @ragnar-oock.bsky.social · 13/08/2025
If you're making websites or web apps and want to use masonry in the future, now's the time to give your opinion on how the API should work. What do you want your masonry CSS to look like?
264
Rägnar O'ock @ragnar-oock.bsky.social · 13/08/2025
I'm pretty sure it has already been discussed and rejected, but grid-auto-flow sounds like the perfect property to extend for masonry, adding "collapse" as a valid keyword. If, as I suspect, it has already been ruled out I would be curious to know why.
000
Rägnar O'ock @ragnar-oock.bsky.social · 13/08/2025
So I'm more partial to the item-flow proposition, but it would need to be prefixed with "grid-" to make it simpler to parse when reading code, it makes it clear it impacts the grid without needing to read the whole rule.
100
Rägnar O'ock @ragnar-oock.bsky.social · 13/08/2025
I feel like masonry should not be its own display type, it's too close visually to how a grid with auto-flow looks like and it's confusing to have a display property (masonry) named differently than the properties meant to configure it (grid-*).
100
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
It's important to note that it's going in the right direction, -1 point for men and +1 for women, but it's still a far cry from equal representation.
010
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Still looking at demographics, respondents identifying as men are still overly represented with 86% versus 11% identifying as woman and 3% non-binary / gender non conforming folks.
120
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
looking at demographic data, the US of A 🦅 still hold the top stop, gaining even 2 points since last year, followed by Germany 🥨, the UK 🫘, France 🥖 and the Netherlands also scoring a 1 point increase (sorry I have no idea what emote to use for yall NL peeps)
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Looking at which podcast devs listen to, it's funny to see @kevinpowell.co with 2 entries one for his podcast General Musings and one for himself (likely his youtube channel) totaling 9% of respondents. @syntax.fm keeps the top stop and even gains 8 points among the 847 people filling this question
a bar chart showing percentage of audiance for various podcasts targeted to web devs interactive version at https://2025.stateofcss.com/en-US/resources/#podcasts
220
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
While it's impossible to know the quality and extensiveness of the tests carried out, it's nice to see increased awareness and overall upward trend in most environments, the biggest being desktop with keyboard only.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Looking at testing environment I didn't expect to see desktop with less than 100% but it is only at 99% followed by 67% for smartphones.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Unsurprisingly knowing that it is now ambadonware, Arc is loosing 2 ranks and 3 point to 9% while @zen-browser.app gains 2 points to 3%.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Looking at browser usage, @firefox.com usage is over-represented in developers, reaching 51% usage compared to the measly 2.45% global usage reported by Statcounter. Obviously @developer.chrome.com tops the chart with a 76% usage rating. and there's 28 poor souls still working with IE11.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Something that we need to keep in mind is that those numbers are reported usage, but many of these tools are enabled by default in many framework project template like create-vue, create-react or create-svelte. So many developers might use them without even knowing.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Interestingly more people are reporting using no css processor at all, growing 4 points to 15%.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
more generic tools are seeing a lot more movement, with Prettier and Autoprefixer both loosing 6 points, down to 72% and 34% usage respectively. Biome is gaining ground going up 2 rank at top 6, with a wooping +800% usage growing from 1% to 9%.
120
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
SASS and SCSS are keeping the top of the chart this year for pre or post procressors, with 60% of those that filled the question. It lost 6 points compared to last year while Lightning CSS went from 0 to 9% and people reporting using no processor at all climbing 2 points from 19 to 21%.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
Only 29% of respondents reported using CSS-in-JS tools, the most used one being CSS Modules with 19% of all respondents.
110
Rägnar O'ock @ragnar-oock.bsky.social · 12/08/2025
It's interesting to note that tailwind and derived ui library are appealing to younger audiences, from 8 to 10 years of experience, compared to others like Foundation with an average of 15 years of XP.
110