Reviewing pull requests, I often see contributors sneakily adding editor configuration to the repository's .gitignore file. composer.lock package.lock+ .vscode If everyone would commit their environment-specific .gitignore rules, we'd have a long list to maintain! My…| sebastiandedeyne.com
Optimize for optionality and build towards checkpoints In a project management-themed Hackers Incorporated episode, Adam Wathan introduced derisking projects with save points. The entire episode is definitely worth your time, but that specific piece of advice has changed the way I work as a developer and make decisions as a project manager. In practice, it has taught me to optimize for optionality, not efficiency. The monolithic branch To illustrate what it means, we'll build a user account s...| Sebastian De Deyne
For the past year, Obsidian has been my note-taking companion. I don't care about fancy features like backlinks, canvas… I like Obsidian because it's fast, minimal (up to you!), customizable, works with Markdown files, and has a good enough mobile app. I've slowly grown towards a more consistent way of taking and organizing notes. While I'm using Obsidian, it's a system that can easily be ported to any other tool as long as you have something that resembles a filesystem. --- My first attemp...| Sebastian De Deyne
Next week we're sending out the first issue of a new newsletter: href.email. Content on the internet is at a tipping point. Social media actively discourages sharing links, while AI-generated content is gaining prominence. We want to double down on human-created and curated content. Authors and creators put a lot of effort into their work, which we want to bring to the surface with our own touch. I'm looking forward to help curate write these the coming months! (And I'm stoked about the domai...| Sebastian De Deyne
I thought this image from Christoph Niemann in Sunday Sketching was worth sharing. We can force ourselves to do good work. But for great work, we need a portion of luck. PS: I highly recommend Christoph's Abstract episode which you can watch for free on YouTube.| Sebastian De Deyne
I've been writing more Blade + Tailwind the past few weeks. Coming from React + Tailwind I really missed tailwind-merge and clsx, but luckily came across this great package from Sandro Gehri. {{-- components/button.blade.php --}} <button {{$attributes ->merge(['type'=>'submit']) ->twMerge('bg-green-500') }} > {{$slot}} </button> {{-- home/index.blade.php --}} <x-buttonclass="bg-red-500"> A red button </x-button> Source code and installation instructions on GitHub. ↗ github.com| Sebastian De Deyne
From Escape the Algorithm. When we create a contract or a pattern, there are gains in familiarity, modularity, and composability, but it's a lossy translation. If I were to design a personal map of my neighborhood, it would include the potholes I swerve by on my bike rides, the neighbor’s sweet precocious 4 year old that is always on the front stoop and wants to tell me about her day, routes that have small patches of grass to the right of the sidewalk and end near a public trash can (suita...| Sebastian De Deyne
In any modern browser's element inspector, you can force an element into a :hover or :focus state to debug styling issues. Sometimes, you want to debug an issue of an element in focus with a state controlled by JavaScript. Unfortunately, the forced states from the developer console aren't always enough. (Edit: unless you use Chrome apparently, scroll to the end for an alternative solution!) I came across this problem when I was styling a custom <select> component in React. The dropdown menu i...| Sebastian De Deyne
In a New Yorker article titled The Art of Decision-Making, Joshua Rothman explores the paradox of how we can spend a lot of energy fretting over small decisions, while the big life decisions seem to come naturally. We agonize over what to stream on Netflix, then let TV shows persuade us to move to New York An interesting point he makes is how our aspirations can take a long time to come to fruition. How can we guide our actions if we don't even know if we'll still want the results by the time...| Sebastian De Deyne
Last week, we released Laravel Error Share, a package to share local Laravel exceptions with a coworker or your debugging friend on the internet. We wrote all about the functionality of the package on the Flare blog. In this post, I'd like to look into some of the implementation details and considerations we made while building it. --- As of two weeks ago, Laravel ships with a beautiful new minimal error page. At Spatie, we built and will continue to maintain Ignition, the previous error page...| Sebastian De Deyne
Full title is Managing My Motivation, as a Solo Dev, but this is great advice for any dev. My favorite: Leave tasks unfinished I can’t overstate how much this one helps me. I try to leave a task 90% finished at the end of a working session. It feels slightly worse than closing…| sebastiandedeyne.com