Craft By Zen

About Me

My profile picture

👋🏽 / Hi ya, buddy! 你好吗?

I like to share. Maybe I’m too much of an over-sharer. Especially things I’m learning, new insights I’ve gained, experiences that have shaped me. But when it comes to the space of an about page, my mind draws a blank. Initially, this was a short blurb that I’d copy and paste to LinkedIn, but then it sounded too much like a bio you find on the sleeve cover of a hardcover book.

Instead, I’ve left this area for writing about myself in one, long page. Feel free to stay, or not. I have plenty of sufficient writing that I think is useful for most people. If you do decide to stay, brew some tea or coffee, make yourself at home, and enjoy this mini autobiography.

🔖 / In The Margins

Timeline

  • 1990: born in California
  • 1992: moved to Berkeley
  • 1996: started playing the piano
  • 2007: embarassed myself in front of a Model UN conference by trying to be funny, but not myself
  • 2008: moved to San Luis Obispo for Cal Poly
  • 2011: studied abroad in Munich, Germany and caught the travel bug 🐞, started sending annual holiday cards
  • 2012: graduated college, moved back to Berkeley briefly, then moved to Santa Clara for a job as an engineer for a medical devices company
  • 2014: quit the medical device field, moved to Chicago to learn how to code, moved back Santa Clara for a job as a software engineer, started a weekly newsletter “The Jear Bear Newsletter”
  • 2018: Changed jobs, still working as a software engineer
  • 2022: got engaged 💍
  • 2024: got married 💒

At the heart of it, I’m making things

When someone tells me they’re doing something for their resume, I cringe. I’m not here for a participation badge, I’m here to make things. And sometimes, those things are useful.

I find that I enjoy learning. There’s ups and downs, especially when I’m out of my comfort zone. There might be times where I feel like giving up, because something is too difficult. I’m reminded to keep a growth mindset and allow myself to be malleable and flexible rather than rigid and set in my ways. Of course, it’s a spectrum and you can’t qualify that for everything, so pick and choose.

I went to school for making physical things, but I fell in love with making digital things more. I still love the craft of metalworking and woodworking, but I certainly craft more code nowadays. Sometimes for the benefit of code itself, but more likely for the benefit of the people who use it. I especially enjoy making things in collaboration because knowledge sharing is a powerful tool. Some of the software projects span across different domains, from my day job doing BioTech, neurogaming, data visualization, and mixed reality apps.

My personal pursuit of creativity

I feel most alive when I’m chasing my creative spark. From making holiday cards for a group of strong and weak ties, writing content, practicing music, baking something sweet enough, to cooking something gourmet. I used to think I was a jack of all trades, master of none. But I’ve stopped that line of thinking, and have changed my tune to being multi-faceted. Many times, we get stuck in one identity, like “I’m an engineer”, and that’s how you see your life. The people who inspire me have diversifying roles, like an engineering manager and pilot, a supply chain manager and a musician, a tech writer and a chef.

Sometimes I’m afraid to start. That’s when I return to “An Invocation for Beginnings”, where the first step is to start small, keep it routine, and do 1% more the next day. And the best time to start is when you ask yourself with a “should” question. “Should I start working out?” “Should I start writing this idea I started in the shower?” And when I use the word “but”, it’s usually a personal excuse that is irrational, like 99% of the time. “I’d love to start baking, but I need the kitchen to be speckless first”.

Life’s Maxims

  • Return to a Beginner’s Mind. Starting from a beginner’s mind opens yourself to new and radical ideas. Having an expert’s mind rejects new ideas and sticks to what they know.
  • Feedback should be actionable, specific, kind (and consensual)
  • Professionally be a problem solver. Personally, use the “Helped, Heard, or Hugged” Framework
  • Be comfortable being uncomfortable
  • Consistent exercise is better than no exercise

🧑🏽‍💻 / Colophon

In printmaking, this is a brief statement at the end of a book or manuscript, typically used to describe the details of its production. For this website, it is how the site is made.

Tech Stack

This website is built with Astro, Tailwind, Github Pages, and Netlify. Interactive components are written in Svelte. Analytics are captured in Umami, which is an alternative to Google Analytics, is open source, and privacy-focused.

The previous site was built using Jekyll, Sass, Bourbon, Neat, and Netlify. I wrote a short blog post about this here.

The newsletter is powered by Buttondown.

The domain is registered with Hover.

Typography

This website uses “Brother 1816”, a font by Ignacio Corbo and Fernando Díaz of TipoType. The previous font we used for decorating the newsletter was Festivo LC Basic Dots by Ahmet Altun.

I love using Futura when I have time to go to the letterpress shop at San Francisco Centter for the Book.

Timestamps

All timestamps are in America/Los_Angeles timezone. This is because I am predominantly U.S. West coast-based, so PST/PDT is where all of my posts are central to. There are some exceptions when it comes to content I’ve written in other parts of the world. I’ve been flip-flopping, deciding whether or not showcasing the time things were posted are important, but for now, we will leave this as a footnote.

🧱 / Components

I use a number of components in Astro for reusability.

Date Formatting

This is my simple date formatting component. I go in more detail about timezones in the timestamps section.

<FormattedDate date={new Date("2024-07-25T22:11:20.587Z")} />

I take advantage of the slot feature in astro for prepend and append text.

<FormattedDate date={new Date("2024-07-25T22:11:20.587Z")}>
  <span slot="prepend">Published:&nbsp;</span>
</FormattedDate>

Adding extra options, like hour and minute, allows me to add extra information to that date.

<FormattedDate
  date={new Date("2024-07-25T22:11:20.587Z")}
  options={{ hour: "numeric", minute: "numeric" }}
>
  <span slot="prepend">Published:&nbsp;</span>
</FormattedDate>

More Components Soon

This section is still under construction, so if you want to read more, please reach out to me.

📖 / Closing Quote

Nothing elevates a person higher than taking responsibility for their mistakes. If you mess up, fess up. It’s astounding how powerful this ownership is.
— Kevin Kelly

Last updated on