February 2025 - "tearing it up" Newsletter!


Quote of the month

If you want to improve, be content to be thought foolish and stupid.
Epictetus

This is something I always try to keep in mind when approaching a new subject or topic. We get so used to being competent that we forget what it feels like to be a beginner—foolish and stupid. But real improvement only comes from engaging with others: asking those more competent than us, whether individuals or the larger community.

Sure, maybe the person you're asking isn’t the nicest and mutters to themselves, "Jeez, what an idiot." So what? If you're doing it right, you only need to be thought foolish once. You ask, you learn, you move on—hopefully without needing to ask the same question again!

What I learned this month

I try to learn something new every day... hopefully, some of this is useful to you as well!

  • Feb 05, 2025: Leave.Comments.
    • More of a public service announcement and a reminder to myself (especially for my personal projects), to leave comments on any funky things you’re doing in code. I wasted an hour battling a bug in my blog because I didn’t leave a comment regarding a @ts-ignore directive. Leave. Comments. Please.
  • Feb 08, 2025: CSS tidbits
    • too long for the newsletter… visit my site instead 😆
  • Feb 08, 2025: CSS stacking context inspector
    • TIL about the stacking context inspector. It’s a tool that allows you to inspect the stacking context of an element.
  • Feb 09, 2025: bolt.new
    • TIL about bolt.new, an AI-powered web agent that lets you deploy apps via Stackblitz. It’s a pretty sick way to throw up a demo of a new app to illustrate a concept.
  • Feb 14, 2025: sqoosh
    • TIL about a local first tool for image compression called sqoosh. No more sending images to random servers just to compress them! 😆.
  • Feb 16, 2025: web extension framework
    • TIL about wxt! It’s like Nuxt but for web extensions.
  • Feb 19, 2025: Data attribute state management
    • This one’s pretty sweet and I’ve been reaching for it a lot lately at work! Rather than having multiple className conditions, you can use a data-attribute to manage your state. This is not only a great way to keep your component clean but also allows you to target any state pertinent to your component without JavaScript! Mind you, I’m assuming you’re using something like Tailwind for your styling. tsx // no reliance on utility functions like `twMerge` <div data-state-can-scroll="{canScroll}"> Hidden when canScroll is false! </div>

Articles worth checking out

Le things that grabbed my attention this month!

Tooling

This month, I've been really loving Raycast; it's been a game-changer for me, from managing Pomodoro sessions to quickly fetching emojis and even controlling Spotify. It's one of those tools you don't know you need—until you do. Hopefully, you’ll see why this tool is so useful. I honestly do not know how I worked without this thing before 😃.

Snippet of the month

This little typescript hack here has been a real godsend for me over at work. Being able to get IntelliSense from my editor while also having the flexibility to throw in a truly random string value is more useful than you initially think it's going to be! Great when you need type safety but still want flexibility.

type color = 'red' | 'blue' | 'green' | (string & {})
function getColor(c: color) {
	console.log(c)
}
getColor('red') // editor will code complete this for you
getColor('yolo') // this works!

Tearing It Up With Taran

I'm a senior front-end engineer specializing in React and TypeScript. I’m passionate about crafting clean, efficient code and exploring new technologies that push the web forward. Each month, I share what I’ve learned, interesting tools or articles, and a bit of inspiration to keep us all motivated on our development journey. Whether it's diving into the latest JavaScript trends or optimizing CSS for better performance, this newsletter is my way of sharing the continuous learning that drives my work. Let’s grow together!

Read more from Tearing It Up With Taran

Quote of the month I dreamt and saw life was joy. I awoke and saw life was duty. I acted, and behold duty was joy. To put it another way, fulfilling your responsibilities can surprisingly bring you happiness. Like most things in life, this is easier said than done. God knows I've been having a bit of a rough go fulfilling my duties at home, at work, and of course with a new business endeavor that I'm working on with my older brother (more on that later in the year 😆)! Rather than getting all...