I'm looking for a job I was laid off in a RIF in February. I have been looking for new work ever since. The job market in the US is bad right now. The constant rejections are emotionally taxing and are hitting my self-esteem pretty hard. If you know of any openings for a front-end engineer skilled in HTML, CSS, JavaScript/TypeScript, React, etc. — please reach out. My daughter is almost 1 My…
If you are using a Content-Security-Policy (CSP) on your website, did you know that you can have browsers automatically report policy failures to any endpoint of your choosing? You can do this using the report-to directive, which names an endpoint that you have configured in the Reporting-Endpoints header. A simple example looks like this: Content-Security-Policy: default-src 'self'; report-to…
I keep my music library in FLAC files on my computer. I want to create an mp3 clone of my music library into iCloud so that I can load the music onto my iPhone using Evermusic . I treat the FLAC library as my source of truth. The folder structure is ~/Music/Personal Library/$ARTIST/$ALBUM/$TRACK_NUM $TRACK_TITLE.flac . My goal is to create a copy of this structure in iCloud but with smaller mp3…
When I did my recent redesign and rebuild of my website, I had an idea for how I wanted to manage my "Now" page. There were three features I wanted to have: Updates are just regular blog posts that appear in the blog post list. This way, subscribers to my RSS feed would also see these updates. My actual /now page displays the most recent one of these updates. A new page, /then , displays all of my…
I'm a dad! My beautiful daughter was born this summer. Becoming a dad has been amazing, and watching her grow fills me with immense joy and pride. I might write more about my experiences in becoming a father, but for her own privacy I will not be sharing her name or any photos of her on this site. If you know me personally, feel free to reach out! I'm happy to send photos and videos via text…
Another version of 11ty, another site rewrite Eleventy — the static site builder that I use to make this website — recently released version 3. I celebrated by doing a ground-up rewrite of this site. I further simplified how things are configured, and I started using a different templating language, Vento. A new Timberwolves season is beginning The Minnesota Timberwolves are starting a new season,…
Chris Coyier recently wrote about the hanging-punctuation CSS property . He concludes his post saying, I think hanging-punctuation is nice! Just a nice bonus where supported and not a huge deal if it's not. I'd probably start a new project with: html { hanging-punctuation: first allow-end last; } I'm recommending a little more caution here, otherwise you may find yourself in a similar situation to…
One day, I was reading some source code from the Adobe Spectrum library when I saw this JavaScript ternary expression: isNaN(defaultValue) ? NaN : defaultValue; This made me pause for a moment. The logician in me was confused why such an expression was necessary — this ternary is equivalent to just using the value of defaultValue . If defaultValue were NaN then we get back NaN anyway. But then I…
Not too long ago, Andy Bell updated his modern CSS reset . Just the other day, Chris Coyier reacted to it and offered some suggested modifications . Here, I distill their ideas into a single modern CSS reset. Please refer to their posts for explanations of the different rules included here. reset.css *, *::before, *::after { box-sizing: border-box; } html { -moz-text-size-adjust: none;…
I have tuned a lot of marching snare drums over the years. I think I have found a system for tuning them that is practical and sounds great. This post describes that system. Disclaimer: This system works for me and achieves a sound that I prefer. I do not claim that this is the "best way" or the "best sound". Your mileage may vary. General principles Before we get into the details, I want to…
I was working with Yarn 2 workspaces monorepo recently, and I needed to install a different version of React in different workspaces. The setup for that is straightforward. In each workspace's package.json file, you set the dependency versions as usual. For this example, I have project-one and project-two with different versions of React. packages/project-one/package.json { "name": "project-one",…
This post is written in the context of installing fonts on a desktop computer , where it is common to get both OTF and TTF font files when you download a new font. If you are including custom fonts on a website, you probably want to use woff2 . Thank you for your feedback, Manu ! Use OTF font files if you have them. Otherwise, TTF is fine. "OTF" stands for "OpenType Font". It is a more modern…