Newsletter archive
These are some of my previous newsletters. Sign up if you want to get them delivered straight to your inbox.
The Seinfeld approach to content creation
Without a specified target audience in mind, the content we create ends up being for nobody instead of being for everyone.
Fonts that make you go “agh!iIl1”
This nonsense test string reveals some of the main differences when comparing typefaces, like their weight and related characteristics.
Get better at design by breaking some designs
If good artists copy and great artists steal, why shouldn’t new artists destroy? Break some designs to learn the details that make them work.
The constraints behind consistent icons
As I am drawing many more icons for my upcoming set, I follow a few constraints to ensure they all look like they belong together.
Don’t invent this here
Now that I am working on a product that I will sell, the decision between what I can reasonably build myself takes on a new shape.
Introducing Lovelicons
I am working on a set of 200+ icons that will be free for personal use. The paid version will include benefits that I have not defined yet.
How to build that work schedule
Building a work schedule helps us minimize distractions and focus on what is important. Follow these instructions to build one for yourself.
Giving every minute a job
Splitting a day that would otherwise be “eight hours of work, some of them productive” into dedicated blocks helps maximize the value of these hours.
I finally understand “many small functions”
Writing many small functions instead of a few large ones is common wisdom. It took a book from the 90s for me to understand why that’s better.
Running a static site saved me from getting hacked
When I looked at my site’s analytics for the first time in forever, I found that someone ran a script against it to find known vulnerabilities.
Protect your SEO when crossposting
By setting canonical links on posts shared on services like dev.to, Hashnode, and Medium, you can start building a SEO reputation for your own domain.
The easiest way to build a Dark Mode
Media queries are essential for doing Responsive Design. They can test for many features beyond browser width. We can use one of them to build a dark mode.
I published my first video tutorials!
After writing on my blog and newsletter, I’m adding a new medium to my rotation. I’m taking some of my content and recording videos for it.
Get more value from your git log
We can customize the look of our git log to get more value out of fewer lines. In this issue, I walk you through how we can build a prettier log step by step.
How to pick your next project
A flat todo list helps us get projects done, but it doesn’t help us decide what project to work on next.
This newsletter goes to 13 people
I have not done any marketing for this newsletter at all, and it shows. It’s about time I change something about that.
How the poop emoji broke my website
A few emoji included in a font are responsible for Firefox not showing syntax highlighting in my code snippets.
The main branch
There was never a technical reason for us to call the source of truth “master” in Git. We can rename it to “main” or any other term in a few minutes.
Memorizing a shuffled deck of cards
Distractions and the internet have conditioned us to do shallow work. To engage in Deep Work, we need to learn how to concentrate again.
A very relaxing refactoring
Refactoring old code shows you how much you have grown since you wrote it. Sometimes, that’s just the boost you need to unlock creativity.
GDPR applies to you as well
Running Google Analytics is the most obvious reason for showing a consent form to visitors. There are many less obvious ones you also need consent for.
Join me for Hacktoberfest
Every October, DigitalOcean celebrates the open source community by running Hacktoberfest. Let’s code a few things together this month.
The global .gitignore
Instead of ignoring the same files specific to your machine in every project, exclude them globally once for all your projects.
End of an era
Moment.js is now a legacy project. While you can keep using it, these other projects might be better fits for you.
We’re skipping our shiny features
“Being busy” is not a good measure of progress. By focusing on what creates real value, we can make good use of our limited time.
My design turned out worse than I thought
What looks good in a design tool doesn’t necessarily look good in a browser. Working in both at the same time helps you catch those mistakes early.
Tired of learning by building todo-apps?
Tutorials often default to todo-apps. These twists on that idea help you dig into how the framework you’re learning really works.
Can you recommend other podcasts like these?
The format of “two hosts talking about what is going on in their businesses” is fascinating. Know any others like the ones in this list?
Free alternatives to FontAwesome
A coherent and high quality icon set can level up a design. FontAwesome is good, but there are alternatives.
Books for getting better at design
Design is not only about visuals. Start here to take your first steps into becoming a better designer.
Three tools to up your productivity
Consolidate many tools into few tools and automate what you can. These three help me stay productive.
I am changing my newsletter
I have not found the best format for this newsletter yet. I’ll try a few different ones to see what works best for my readers.
JavaScript sorts arrays weird
By default, an array of numbers will not be sorted numerically. To avoid unexpected results, we can tell it how to sort an array.
The iPad got the best pointer
Apple is adding mouse support to iPadOS. The thinking that went into the UX of the iPad’s new pointer is a fascinating evening watch.
Fat marker sketches are the better mockups
Before we spend too much time on the details, we need to figure out the overall structure of a design.
These tips are fire.
The bite-sized tips I started sharing on Twitter show how code can be improved gradually. You can read them all on this site now.
Enthusiasm does not mean priority
One of the harder parts of product development is knowing what to focus on. Your latest cool idea might not need immediate attention.
Offsetting a low salary
A good job is not defined by salary alone. There are other things you can look for in a potential position.
Back to normal?
Quarantine has showed us what work could look like going forward. Let’s reconsider how we work instead of urgently wanting to go “back to normal”.
“Before we start building this…”
Double-check you’re working on the right things by asking if the solution helps you solve important problems.
Delete your backlog
A backlog full of tasks you don’t ever intend to do only weighs you down. Saying no to tasks allows us to focus on what is important.
Poor man’s debugging, but cooler
Annoyed with how browsers log variables to the console? We can access and do more useful things with them.
Picking what to learn
Options are good but distracting. By starting with an end in mind, we can find out what the best next thing to learn is.
Writing code for others to read
Clever code isn’t always the most readable. Especially when working in teams, readability has to come first.
Evolution, not revolution
The latest version of islovely.co is an improvement over the previous one, not a completely different thing.
Serving WebP images
Web servers can send different files to browsers based on headers in a request. Knowing this, we can send WebP-files only to browsers that support them.
Idle times
You’re probably working longer hours than normal during quarantine. Even when working from home, it is okay and important to take breaks.
How to understand any codebase
Treat existing codebases as a blackbox. Take small pieces and write tests for them to understand a project’s inner workings step by step.
How to write legacy code
No code starts out as unmaintainable legacy we don’t dare to change. All codebases end up there because of a lot of small decisions like these examples.
Staying sane in the homeoffice
Separate “work” and “home” when working from home to not go crazy during quarantine. Take breaks and talk to other people, as you would in an office.
Questions to ask in job interviews
Job interviews are tests for both sides. Use them to figure out if the company you are applying to is a place you really want to work at.
Progressive enhancement with @supports (with video tutorial)
With @supports, we can start using features that will come to CSS soon in supporting browsers today.
Negativity in retrospectives
Retrospectives that end after letting everybody complain are a waste of time. Turn that frown upside down for a better result.
Role models
If you have been working somewhere for a while, others are likely looking to you for guidance and leadership.
A better keyboard layout for programming
The US keyboard layout puts many of the symbols we need a lot when coding on their own dedicated keys.
Dealing with broken streaks
Streaks limit us to short-term thinking, yet we can only see long-term effects in retrospect. It’s okay to break a streak along that way.
Texting faster
iOS 13 now has a built-in swipe keyboard called “QuickPath” that is much faster than typing individual letters.
Bookmarking the greats
By looking at what others have done before us, we can find combinations of their ideas that work for us.
Start building an audience today
ConvertKit recently introduced a new free tier that makes it easier than ever to get started building an audience.
Find your community
No matter what you are passionate about, there is a vibrant community out there where you can exchange ideas with likeminded people.
Declutter those bytes
Getting rid of projects and plans that we will not get back to frees up mental space for things that excite us.
SMART
A good goal is one that makes it easy to follow through. The SMART criteria help us in setting better goals.
Recharge
2019 is almost over, and I am looking forward to a few weeks of vacation. There are always more things to learn or to work on. All of that can wait.
How do you eat an elephant?
Big goals take a long time to achieve. By taking many small steps in the right direction, we can get closer and closer to them without losing motivation.
Unexpected usecases
I had my expectations of how software is used challenged last week when talking to the CTO of a med-tech startup.
CSS that has a tail wind
In utility-first CSS, we do not limit ourselves to single classes. Instead, we use many small classes that each add small pieces of styling.
Shaping up
While Scrum works well for many teams, it’s not for everybody. Basecamp’s Shape Up is an alternative that might work better for you.
Stress-test your layouts in disco mode
Talking about mobile-, tablet- and desktop-layouts worked well when the lines between those classes were well-defined.
Use dad jokes to get better at design
We can design better pages and screens if we use real data when creating our mockups. I released a Sketch-plugin that replaces texts with dad jokes.
The Inter typeface family
Variable fonts are about to fix some of the performance issues caused by adding many custom fonts to our sites.
What do you not have time for?
I have not met anyone that never said “I don’t have time for that”. So many of us are “too busy” to do the things we really care about.
Is this a hill you want to die on?
There are disagreements in all teams about what we build and how we build it. Given several options, we need to understand each of their effects.
Write like Hemingway
Writing is best when it is easily understood by readers. Everything I write goes through an extensive editing phase to improve its readability.
Shipped is better than perfect [content preview]
Don’t let perfectionism keep you from shipping things. Release (too) early, then clean it up after you got some real feedback on it.
What CAN you do?
My wife and I were supposed to relax on Mallorca right now. Our trip was cancelled less than 24 hours before our flight was supposed to take off.
Do Not Track, maybe
To opt out of tracking scripts on websites, you can set the “Do Not Track”-setting in your browser. Unfortunately, websites are not required to honor it.
Drawing sweet icons for you
I am often creating custom icons for my projects. Because many share a similar style, I will assemble them into a free icon pack.