Reposted by JoelAndrey Yamanov @tenphi.bsky.social · 15/07/2026OKHST: predictable color generation for real interfaces tenphi.me/blog/okhst-predictable-co…tenphi.meOKHST: predictable color generation for real interfacesOKHST is a tone-based color space for generating UI palettes that behave more predictably across states, dark mode, and high contrast. 1186
Joel @jgarplind.eurosky.social · 19/04/2025Decided to pick up Blue Prince the other day. Lovely game which unravels itself time and time again. You start having no idea what to do and keep discovering new layers. I'm amazed by how many times the game let's you find yet another dimension to weave into the gameplay. 4151
Joel @jgarplind.eurosky.social · 18/12/2024Found it funny that yesterday's GitHub outage page offered 3 support channels: 1. A GitHub link, not very helpful when it's down. 2. A link to a status page. All green of course. 3. A link to a Twitter account, which by default has posts sorted by popularity, surfacing a 2019 outage as the top post. 180
Joel @jgarplind.eurosky.social · 10/12/2024Shoutout to @patak.dev for creating this nice Vite plugin for directing browser logs to the terminal: github.com/patak-dev/vi... What it's good for? In my case: analyzing browser logs from a Safari "PWA" on a mobile device connected to my dev server via @tailscale.com servegithub.comGitHub - patak-dev/vite-plugin-terminal: Log in the node terminal from the browserLog in the node terminal from the browser. Contribute to patak-dev/vite-plugin-terminal development by creating an account on GitHub. 1171
Joel @jgarplind.eurosky.social · 29/11/2024Looks useful to me! I think everyone does bits and pieces of this, but it's nice to have someone thoughtfully collect the totality of what a PR template could/should include. 0111
Joel @jgarplind.eurosky.social · 24/11/2024Long train ride. Perfect time to delve into the 2024 edition of the Web Almanac to get a good grasp of what the web looks like this year. 050
Reposted by JoelNico @nico.fyi · 18/11/2024Updated my useLocalStorage hook to serialize and deserialize values. #react www.nico.fyi/blog/be-careful-with-u…nico.fyiBe careful with useSyncExternalStoreLearn how to avoid infinite render loops when using useSyncExternalStore with non-primitive values in React, and discover a robust solution for storing objects in localStorage with proper type safety. 121
Joel @jgarplind.eurosky.social · 15/11/2024Was just thinking about how to achieve fluid-like scaling in a React Native app, and stumbled upon a fairly comprehensive article written _today_, featuring ~10 techniques to achieve responsiveness. Interested to hear about additional suggestions/nuances as well!blog.logrocket.comCreating adaptive and responsive UIs in React Native - LogRocket BlogDesign React Native UIs that look great on any device by using adaptive layouts, responsive scaling, and platform-specific tools. 180
Joel @jgarplind.eurosky.social · 13/11/2024I've explicitly opted to 1. not put React Native in a monorepo 2. not use pnpm with Expo. Since yesterday, with Expo 52 explicitly announcing pnpm monorepo support, it might be time to re-evaluate. 250
Reposted by JoelNicholas C. Zakas @humanwhocodes.com · 12/11/2024Has anyone figured out how to mock out the Bluesky API for testing? It's all done over HTTPS but I can't seem to find any definitive reference for how this might be done. 1104
Joel @jgarplind.eurosky.social · 12/11/2024Looking into Android intents, I'm looking for an intent that will take the user directly to the settings screen for the app's permissions. `ACTION_APPLICATION_DETAILS_SETTINGS` is one step short. Link card below hints at the existence of an `ACTION_MANAGE_PERMISSION_USAGE`, but it doesn't exist?developer.android.comIntent | Android Developers 130
Joel @jgarplind.eurosky.social · 12/11/2024Many React Native libraries bring their own permissions API, and while it's great for easy adoption, I've lately found @zoontek.me's standalone permissions lib to be indispensible. Hard to put my finger on why, but I think that the standardized API and clearly laid out flows just makes things clickgithub.comGitHub - zoontek/react-native-permissions: An unified permissions API for React Native on iOS, Android and Windows.An unified permissions API for React Native on iOS, Android and Windows. - zoontek/react-native-permissions 150
Joel @jgarplind.eurosky.social · 11/11/2024My (not so) guilty pleasure: watching Brits being wholesome and solving mindbending sudokus. youtube.com/@CrackingThe...youtube.comCracking The CrypticThe Biggest Sudoku Channel On YouTube. Two videos every day (8.30pm & 11pm UK time) Hosts (Simon Anthony & Mark Goodliffe) attempt to solve a world-class puzzle live in each of these videos. Mark G... 010
Reposted by JoelEstela Franco @guaca.bsky.social · 11/11/2024The 2024 Web Almanac has arrived! 🎉 It’s been my first year contributing to the project. Challenging, but also very exciting! All the contributors and organizers worked so hard to make it happen.U Special THANK YOU to @kevinfarrugia.bsky.social who helped me A LOT in my first year as an analyst ☺️ 2195
Joel @jgarplind.eurosky.social · 11/11/2024I'm with Antonio, kentbeck.github.io/TestDesidera... is a great breakdown of desirable test traits - how they reinforce each other and sometimes work against each other. Keeping those traits in mind, it is easier to be intentional with your tests, knowing which trade-offs you are making.kentbeck.github.ioTest DesiderataOptimize the value of your tests by choosing how to tradeoff among various valuable properties. 000
Joel @jgarplind.eurosky.social · 11/11/2024Trying out React compiler on our React 18 app. Really easy to get set up, and people like @no.lol are doing work making sure you feel supported! Keeping things simple paid off big time. Only had to change the API of one sketchy custom hook, and click Play. Now I'm looking at a lot of sparkles ✨ 561
Joel @jgarplind.eurosky.social · 11/11/2024Tool 1 produces an error. When reducing the case to it's bare minimum, it is clear that it is impacted by tool 2. Removing either tool 1 or tool 2 from the equation resolves the issue. Congratulations! You now have an issue/time sink no one else will want to touch with a pole (for good reasons). 010
Joel @jgarplind.eurosky.social · 10/11/2024This is cool! For those who are not aware, Smoke Signal is an app which lets you host events on top of AT Proto. Think, replacement of Facebook or Meetup. I'm really rooting for them, for a future without platform lock-in in events organizing. 050
Joel @jgarplind.eurosky.social · 10/11/2024difftastic.wilfred.me.uk/git.html seems like a very useful tool to quickly make sense of non-trivial diffs. Looking forward to trying it out soon!difftastic.wilfred.me.ukGit - Difftastic ManualThe manual for difftastic, the structural diff tool 120
Joel @jgarplind.eurosky.social · 10/11/2024Being an active promoter of your own work (and having it made visible by prominent voices in the community) is such a huge deal for driving adoption and interest. Never heard of Sonda until a few days ago, and now I feel very inclined to use it and even advocate for it if I like it. 240
Joel @jgarplind.eurosky.social · 10/11/2024Upcoming React API useEffectEvent looks interesting! Seems to be a solution to some of the most gnarly issues around dependency arrays being either over- or under-populated due to wanting to access an up-to-date state, but not wanting to trigger the effect every time it changes.react.devRemoving Effect Dependencies – ReactThe library for web and native user interfaces 0150
Joel @jgarplind.eurosky.social · 10/11/2024A few years ago i wrote myself a small web app which scraped recipes from a high quality source, and aggregated all the ingredients from the chosen recipes into a shopping list. Really convenient when I know roughly what I want to eat and want the shopping to be minimum effort. Some caveats: 140
Joel @jgarplind.eurosky.social · 09/11/2024Played Inscryption the other evening. For 8 hours straight. Beautiful game which starts out as a mostly straightforward roguelike deck builder, but unveils new increasingly unexpected game elements all the time. All in a dark, moody setting. Warm recommend if you like I didn't play it 3 years ago. 100
Joel @jgarplind.eurosky.social · 07/11/2024Anyone out there well versed with default behaviors of date/time inputs (and Intl APIs when locale is undefined)? How do browser and OS language interact? Just started looking into it thoroughly, and would be interested to hear some informed takes. I expect nothing short of a rat's nest. 110
Joel @jgarplind.eurosky.social · 05/11/2024Just found out about a11ysupport.io. Seems really cool! Like caniuse for screen reader support.a11ysupport.ioAccessibility Support 030
Reposted by Joellauren @no.lol · 31/10/2024if anyone is interested in trying React Compiler out in prod and want a quicker support channel, dm me for discord channel details :) 0507
Reposted by JoelTyler Williams @coolsoftware.dev · 02/11/2024Ok React Native folks. We just got new architecture. It’s rolling. It’s shmoving. We love it. But now we have another hairy migration: what will we do about Cocoapods? The Tuist folks have ideas. Worth some thought. community.tuist.io/t/supporting...community.tuist.ioSupporting React Native on moving on from CocoaPodsDespite CocoaPods entering maintenance mode, the React Native community continues to rely heavily on it to integrate dependencies distributed as NPM packages and managed by tools like npm, yarn, or pn... 093
Joel @jgarplind.eurosky.social · 01/11/2024Didn't think an article about HTML whitespace would be that interesting, but I found myself nodding along and remembering a lot of confusion and weird hacks I've resorted to over the years. Definitely referencing this next time I run into such trouble.blog.dwac.devHTML Whitespace is Broken - Devel without a CauseA deep dive into HTML whitespace collapsing: How it works, why it sucks, how it should work, and how to deal with it. 1133
Joel @jgarplind.eurosky.social · 29/10/2024Pretty interesting! TIL where these shortcuts come from. I use a couple of them already, but also got one or two new ideas for how to navigate my terminal more efficiently. 010
Joel @jgarplind.eurosky.social · 22/10/2024@expo.dev dev server comes with a great built-in ngrok `--tunnel`, useful if you are not working from a trusted network. It's fine, but sometimes a little wonky, e.g. I haven't gotten console.logs printed lately. Using @tailscale.com and skipping `--tunnel` gives me the best of both worlds. 370
Reposted by JoelMartin Kleppmann @martin.kleppmann.com · 20/10/2024Hello lots of new followers! If you just joined Bluesky, welcome. In case you’re interested how it works under the hood, I helped write this architecture description: arxiv.org/abs/2402.03239 (updated with new content just a few days ago)arxiv.orgBluesky and the AT Protocol: Usable Decentralized Social MediaBluesky is a new social network built upon the AT Protocol, a decentralized foundation for public social media. It was launched in private beta in February 2023, and has grown to over 10 million regis... 14460120
Joel @jgarplind.eurosky.social · 19/10/2024openfreemap.org seems cool! Will definitely consider using for basic map use cases in the future.openfreemap.orgOpenFreeMapOpenFreeMap – Open-Source Map Hosting lets you display custom maps on your website and apps for free. 000
Joel @jgarplind.eurosky.social · 19/10/2024Tested Vitest's newly rebuilt VS Code extension yesterday. I typically lean towards using CLI tools despite their limited ability to communicate visually, just to avoid the performance overhead. But overhead seems to be negligable here, probably because it is a main concern for the authors.viteconf.orgThe State of Vitest - ViteConf 24The State of Vitest | Vladimir Sheremet | ViteConf 2024 161
Joel @jgarplind.eurosky.social · 19/10/2024It really does feel like this place is exploding (in a good way) for the last 24h. Could be related to me following a lot of new people, but more importantly (I think) the huge influx brings a lot of energy and curiosity. 0100
Reposted by JoelJason Lengstorf @jason.energy · 18/10/2024did the web dev folks move over here? can we get a megathread going so it’s easier to find folks we were following elsewhere? 22632234
Reposted by Joelpatak @patak.cat · 17/10/2024Awesome to see the ViteConf 24 talks getting a lot more traction and views compared to last years! We still have more than half the talks in the queue. Or you can check them all out in the full replay viteconf.org/24/replayviteconf.orgViteConf 2024 ReplayStackBlitz invites you to ViteConf, an immersive and interactive online event for frontend teams building the next generation of the web with Vite 1143
Reposted by JoelKeith Cirkel @keithamus.social · 16/10/2024If you run a website that uses feature flags on the client, I'm curious how you solve that. It's a problem I'd like the platform to solve, so filed github.com/whatwg/html/.... Discussion encouraged!github.comClient Side Feature Flags · Issue #10706 · whatwg/htmlWhat problem are you trying to solve? Complex websites often use feature flags to gradually roll-out changes to users. These features can be easily toggled on-or-off per-request, or tweaked by engi... 132
Joel @jgarplind.eurosky.social · 16/10/2024In today's "git shortcuts I wish I knew sooner": `git checkout -` checks out the previous branch you worked on. Nice! but you probably already knew this. However, it is just a special case of a more flexible command: `git checkout @{-2}` takes you to the second last branch you worked on. 140
Joel @jgarplind.eurosky.social · 15/10/2024I've used `which x` before, to figure out which (of possibly multiple conflicting) installations my shell is referring to when I try to run `x`. Apparently `which -a x` would have done an even better job at that! 020
Reposted by JoelDavid Darnes @darn.es · 15/10/2024Ok gang, hit me with the pros and cons to using open source tools. Reposts appreciated 🙏🏻 333
Joel @jgarplind.eurosky.social · 15/10/2024Tonight's fun: a demo application and draft paper (backed by people doing research for a living) helping you shape color palettes that are many things, but in particular, accessible! 041
Joel @jgarplind.eurosky.social · 14/10/2024Zustand is great, consider checking it out if you haven't! 040
Reposted by JoelAna Tudor @anatudor.bsky.social · 14/10/2024Hi, bluesky 🦋 can you help me out? Is there anything in Firefox DevTools like Local Overrides in Chrome DevTools? I can't seem to find it, but maybe I'm missing something? 013
Joel @jgarplind.eurosky.social · 13/10/2024Been hitting some editor performance issues when using "complex" Zod features such as unions, omits, extends and picks. Apparently these are known to be slow, and apparently there is a whole bunch of fairly rigorous and popular TS schema builders/validators. Among those, TypeBox excites me most!github.comGitHub - moltar/typescript-runtime-type-benchmarks: 📊 Benchmark Comparison of Packages with Runtime Validation and TypeScript Support📊 Benchmark Comparison of Packages with Runtime Validation and TypeScript Support - moltar/typescript-runtime-type-benchmarks 010
Joel @jgarplind.eurosky.social · 09/10/2024Kinda annoyed (for the 10th time) about (Chromium-based?) browsers taking the liberty of overriding legitimate use cases for `autocomplete="off"`. Seems the only way to sidestep that is to give input fields bogus names that the browser doesn't know how to map to an autofill value. 040
Joel @jgarplind.eurosky.social · 08/10/2024Undo/Redo has to be one of the most deceptively simple things. It seems so easy on the surface, but once you start thinking one step further, it is clear that it's a rat's nest full of complexity. I think Isaac does a great job at describing it's intracacies, and thanks Catalin for sharing! 151
Joel @jgarplind.eurosky.social · 07/10/2024Learned the other day that you can sort your git branches by age like so: `git branch --sort=-committerdate`. Then you get a reverse chronological list of your local branches, which may be useful if you like I need to be reminded what unfinished work was left lying around recently. 040
Joel @jgarplind.eurosky.social · 07/10/2024For fellow Vitest users, you may also be interested in turning on vitest.dev/config/#bail in your CI scripts to shorten your feedback loops. 110
Joel @jgarplind.eurosky.social · 07/10/2024Great list of lists, specifying how each mainstream screen reader handles each HTML tag. As mentioned in the link, most of it is WIP, but it seems like a great starting point to me either way. 030
Joel @jgarplind.eurosky.social · 06/10/2024Vite Bundle Visualizer (allegedly just a nice wrapper on top of the Rollup dito) is really helpful when trying to get an overview of your dependencies. Terminal output from build (numbers) + visualization + verification in a running browser makes me feel fully in control. Examples in linked page.github.comGitHub - KusStar/vite-bundle-visualizer: CLI for visualizing your vite project bundle.CLI for visualizing your vite project bundle. Contribute to KusStar/vite-bundle-visualizer development by creating an account on GitHub. 010