How I felt reading an article about the HTML <output> element today, but it is for sure not the first time this has happened.
@leekeh.com
bookseller to senior frontend dev in 3 years ๐ passionate about a11y ๐งโ๐ป, better communication in tech ๐ฌ and using the web for good ๐ฑ Currently working for design system Vitamin Play @ Decathlon ( โ แข โ )~โก
How I felt reading an article about the HTML <output> element today, but it is for sure not the first time this has happened.
blog post: you need to use this HTML feature yesterday!! IT's so semantic and beautiful!! Get rid of all you custom code!!
end of the post: Actually, there is no support in Firefox or Safari YET, you need to use polyfills, screen-reader support is limited, BUT just give it time ๐
People treating LinkedIn like Facebook make me feel like they need to incorporate work into everything they do.
This helped me paint a better mental picture, although it still makes more sense to me to maintain an awareness of the separation of the server and client
Exposing API routes in frameworks like SvelteKit or Next feels closely-knit enough + nowadays there are a lot of ways to generate types for API's
why trouble thyself with CSS-in-JS when you could have a little walk-in-the-wilderness. a little peace-in-your-heart. why waste thy hours comparing runtime environments when you could be spending time running in the environment
A screenshot of Telegram message privacy settings. Full text: Who can send me messages? - Everybody (selected) - My content and Premium users (locked) - Charge for Messages (locked) You can restrict messages from users who are not in your contracts and don't have Premium. What is Telegram Premium? (link) Popup: Premium required Subscribe to Telegram Premium to select this option. Unlock (button)
I'm deleting my Telegram account. Too much spam, and having to pay to block incoming messages from non-contacts is hostile UI and frankly against what I thought the app stood for.
A yellowed, black and white picture of a dog surrounded by an arctic landscape. It is captioned "Deep in thought".
When browsing public domain, I somehow always run into this picture from the Amundsen south pole expedition.
Playing Sims 2 music while cooking gives an elite feeling I didn't know I needed
Had a similar issue with passed bindable state, I was recommended to do this:
setContext("value", ()=>yourState);
So instead of passing the state, you pass a function that returns it. Somehow makes a difference.
There are so many cool characters in Unicode
I love exploring public.work for some aesthetic public domain images or just for the vibes tbh
How have I never heard of <hgroup> before?
Another day of trying to convince people to not use xstate
My side project keeps getting bigger in scope, but I'm trying to enjoy the ride. If it ends up going nowhere at least I learned something.
Screenshot from the Obsidian roadmap, showing that the "Dynamic views" feature is currently active, i.e. in development. Subtitle of the feature: "Create dynamic tables using data stored in note properties."
This is the main thing keeping me on Notion, so exciting to see it's getting there ๐คฉ
One of these days I'm going to move all of my personal administration to @obsidian.md
euphoric photo of dolphins jumping under a rainbow
this is how it feels to reach 30 MILLION users!!!
Alright, somehow I cannot wrap around to how it can infer rest but not key1 and key2, but that's probable a me-problem ๐
The examples you pass are helpful, I guess I just wish it would not be needed to do double bookkeeping.
Thanks anyway for guiding me and I hope you are doing well! ๐ซถ
But at the same time the type does resolve properly, the result is typed as string. Anyway maybe my mind is just stubborn on this one ยฏ\_(ใ)_/ยฏ
And why would it not know key1, but it would know the restprops?
but if I write key1: key1 as T['key1']` in the return statement, it will resolve it to string. What exactly is the difference?
The internet needs more of this
Ahah thanks ๐ซถ It just seems like such a basic thing, blows my mind ๐
Here's an interactive repro: www.typescriptlang.org/play/#code/G...
Screenshot of typescript code. The code reads: function destructure<T extends Record<string, unknown>>(props: T) { const { key1, key2, ...restProps } = props; return { key1, key2, ...restProps, }; } const test = destructure({ key1: "value1", key2: "value2", key3: "value3" }); typeof test.key1; //unknown typeof test.key2; //unknown typeof test.key3; //string In normal language, this means that when the destructure function is called, the restprops will be correctly typed, but the picked keys will receive the unknown property.
Am losing my mind here.... Can typescript not correctly infer types of keys that were destructured from an object, if the object was passed as a generic type? But the remainder of the object is still correctly typed??
Anyone has an elegant way to work with this?
I wake up in the morning. I sit at my computer. The internet screams at me that the world is on fire. I am overwhelmed by the deluge of bad news and faceplant in front of the computer.
I would like this comic I drew in 2017 to stop being relevant pleeeaaaaase
Ads and popups everywhere, it's difficult to figure out what's going on.
A PDF viewer that plays video adds every time you open it.
A free app pushing the premium version.
When you search for a specific app in the Play store the first result will be a promoted app that you didn't search for.
interacting with apps and websites with my parents makes me realise how hostile the web is ๐ซ