I’m absolutely convinced that constraints are the most powerful driver for good ideas.
— Tim Rodenbroeker, on Efficiency vs. effectiveness: What happens when design ditches big tech?
The bare minimum setup for enabling your site to use native view transitions in HTML and CSS:
<meta name="view-transition" content="same-origin" />
@view-transition {
navigation: auto;
}
Ref URL: https://www.amitmerchant.com/bare-minimum-view-transitions/
Since a long time ago I’ve wanted to start developing a game, and now that my 7 years old kid asked for a game as his next birthday I think is a good time to start. I have no problem learning a new language like Python, C# or Rust, but as a web developer I wanted to start by using my main programming language, Javascript.
So, to start learning (and to get my hands dirty), I want to replicate the game made by Drew Conley Build a Multiplayer Game with JavaScript & Firebase.
More coming soon…
Becoming a good engineer is about collecting experience. Each project, even small ones, is a chance to add new techniques and tools to your toolbox.
— Addy Osmani Becoming a good engineer is about collecting experience.
https://developer.chrome.com/docs/css-ui/animate-to-height-auto#animate_the_details_element
@supports (interpolate-size: allow-keywords) {
:root {
interpolate-size: allow-keywords;
}
details {
transition: height 0.5s ease;
height: 2.5rem;
&[open] {
height: auto;
overflow: clip; /* Clip off contents while animating */
}
}
}
You can automatically transform input values to number and date with the valueAsNumber and valueAsDate function on inputs objects.
// This will always return NaN since valueAsNumber is not available on text inputs
<input type="text" onChange={e => console.log(e.target.valueAsNumber)} />
// Return the value as an integer or a float
// depending on the input's step attribute
<input type="number" onChange={e => console.log(e.target.valueAsNumber)} />
// Return the date as a UNIX timestamp, i.e. new Date().getTime()
<input type="date" onChange={e => console.log(e.target.valueAsNumber)} />
// Return the date as a JS Date object
<input type="date" onChange={e => console.log(e.target.valueAsDate)} />
Ref URL: https://devlog.willcodefor.beer/pages/use-valueasnumber-and-valueasdate-on-inputs/
I’ve always been fascinated by networking and stuff related, ever since the peer to peer networks arisen, since the times of Napster, iMesh, E-mule, and the likes, since the old Messenger, ICQ, and event NetMeeting, and then with the advent of the BitTorrent protocol, all of these types of technologies have always caught my attention and I’ve always been intrigued by the applications but even more so by the technology behind them.
Yesterday, coincidentally, I stumbled upon many concepts of decentralized networks and protocols. While I was reading this post about the Ubuntu devs switching to the Matrix protocol, I found out about Matrix, then later while watching this video about how BlueSky grew in the past months I found out about the Nostr protocol, the ActivityPub protocol (which I already knew about), and the AT protocol used by BlueSky.
I kept reading about them all day long and went down the rabbit hole. Now I’m stuck in there, but it’s fascinating.
For future reference, I’ll leave here some links to the resources I’ve found:
It’s been a long time since I’ve wanted to start writing about many things in my personal blog, but I’ve never found the time to do it. I’ve always been a perfectionist, and I’ve always wanted to have the perfect setup, the perfect theme, the perfect workflow, the perfect everything. But I’ve come to realize that perfection is the enemy of progress, as they say, and that I should just start writing and sharing my thoughts and experiences with the world.
So for this new year, I’ve decided to start writing about the things that I’m passionate about, and to share my thoughts and experiences with my future self or whomever is reading. My intent is to write on a daily basis, but I know that it’s not going to be easy, so I’m going to take it one step at a time and see how it goes. Blogging isn’t nearly as easy as it looks, but I’m excited to see where this journey takes me.
My notes here, are just thoughts and ideas that I want to share, they are mainly written for my future self, but also for others in case someone find them useful. I’m looking forward to this new adventure. See you in the next post!
🎉🎇🍻
Today is my birthday so lets celebrate.
Procrastination is the mother of all evil 😩
A really good article about procrastination, and the emotions behind it that I found the other day in nesslabs Why we wait: Understanding the emotions behind procrastination