Dec 22, 2021

Don’t try to find the best design in software architecture; instead, strive for the least worst combination of trade-offs.

src: software architecture: the hard parts

Dec 10, 2021

Your intuitions about concurrency should be that your intuitions about concurrency are not to be trusted.

Nov 23, 2021

With constant pressure to add features and options and configurations, and to ship code quickly, it’s easy to neglect simplicity, even though in the long run simplicity is the key to good software.

Nov 16, 2021

All of this is to say: Sometimes tech debt can be a good thing, even necessary. But you should be mindful and cautious when you take on tech debt. And assuming you’re supporting a system long-term, you should have a plan for paying it down.

Nov 16, 2021

While the “quick-and-dirty” solution speeds you up in the short term, compounding tech debt slows you down in the long term. In the software world, we call these systems “spaghetti.”

Nov 16, 2021

If you default on financial debt, you risk losing assets. If you never handle tech debt, you end up with an unmaintainable system, making it harder to add new features and easier for new changes to cause incidents.

Nov 16, 2021

However, like financial debt, tech debt should not be taken lightly. Whenever we make a decision that incurs tech debt, we should think critically about its implications.

Nov 16, 2021

As much as I’d love to live in a world with perfectly modular, normalized, and extensible software, I’ve realized it’s sometimes necessary to make compromises to get the job done, whether that’s to unblock stakeholders, meet a deadline, or fix a bug in production.

Nov 16, 2021

Tech debt is no different.

Nov 16, 2021

Not necessarily. People take on debt to get things they otherwise wouldn’t be able to get. Without debt, it’d be difficult for most people to buy a house, pay for an education, or start a business. Hence, it’s sometimes necessary to take on debt.

Nov 16, 2021

Let me answer that question with another question: Is financial debt a bad thing?

Nov 16, 2021

Is tech debt a bad thing? 🤔

(a thread) 🧵👇

Oct 31, 2021

Time is not money. You can always get more money, but you’ll never get time back.

Oct 30, 2021

If something seems too good to be true, it is.

Oct 23, 2021

I just saw a <marquee> element out in the wild. Takes me back to the good ol' days.

Oct 23, 2021

Startup idea. 💡

Social media app but people get paid ad revenue for their content.

Oct 8, 2021

Hey @vercel, have there been any reports of Vercel/GitHub integrations not working? New builds aren't being triggered when I push to main. I double-checked my Git integration installation. Any ideas?

Oct 7, 2021

Hey @AdSense, product idea: It would be great if we could control the placement of auto ads by defining rules: place before headings, don't place within list items, etc.

Oct 7, 2021

How to build an article recommendation system using @supabase and TypeScript.

Sep 30, 2021

A/B testing platform start-up idea: Users can define funnels to measure engagement. Then, the platform can automatically determine which features are performing best, helping entrepreneurs make business choices.

Sep 28, 2021

If you don't build your dreams, someone else will pay you to build theirs.

Sep 22, 2021

Writing tip: ✍️

Don't say something is "arguably true."

Be bold.

Say something is true, then argue why it's true.

Sep 21, 2021

Forget git commit -m.

Use this CLI tool to clean up your commits.

npx git-cz

Sep 21, 2021

Pro-tip: How to kill a process listening on port 5555:

npx kill-port 5555
Sep 21, 2021

Learn how to generate a dynamic sitemap using NextJS getServerSideProps and Supabase.

Sep 21, 2021

Wealth is having more than you need, so the easiest way to become wealthy and by far the best way to stay wealthy is to not need much.


Sep 19, 2021

This looks promising. A library-agnostic, dependency-free, and lightweight carousel library: Embla Carousel. ⚛️

Sep 19, 2021

Steve Jobs taught us that customers don’t know what they want. If Henry Ford asked his customers what they wanted they would’ve said they wanted a faster horse.

Sep 18, 2021

As someone who learned web development when it was recommended to use client-side JavaScript on everything, it’s refreshing to learn how to use HTML primitives and the server for your site’s interactions, and an interesting challenge to make your site usable without JS.

Sep 17, 2021

Systems needn’t be complex to be effective.

Sep 17, 2021

Pro-tip for software developer writers: Don't prefix your bash snippets with $ (especially if they span multiple lines); it makes it harder to copy and paste.

Sep 17, 2021

After listening to the latest @syntaxfm episode, I learned it turns out we won't need to write a function like this. We can use the Array's at() method.

Sep 16, 2021

Chrome extension idea: Paste an error message into a textbox and it will remove all content specific to your filesystem before Google searching.

Sep 16, 2021

🔥 How to access a TypeScript array in a circular manner.

function circularAccess<T>(arr: T[], i: number): T {
  const n = arr.length;
  return arr[((i % n) + n) % n];

const items = ['🍌', '🍎', '🍍'];
circularAccess(items, -1); // 🍍
circularAccess(items, 1); // 🍎
Sep 15, 2021

I was literally on LinkedIn, opened a new tab, and went to LinkedIn. 🤦‍♂️

The things I do while waiting for Java to compile.

Sep 14, 2021

New article! 🚀

I'll show you how to build a tool for dollar-cost averaging #Crypto using the Coinbase Pro API, Node.js, TypeScript, and GitHub Actions. 👊

Enjoy! 😌

Sep 14, 2021

People that comment on @YouTube videos with summaries and timestamps are the real MVPs. 🤜🤛

Sep 13, 2021

Hey @JoshWComeau. Question: Do you know how to write MDX as a child of a component in an MDX file?

This is really dangerous.

For me, the children show up as a plain string.

Thought you might've had a solution for this. 🙂

Sep 8, 2021

You know you're a web developer when you think it's easier to format documents in HTML/CSS instead of Microsoft Word.

Sep 6, 2021

One thing I’d like to see @Apple implement is filtering out spam text messages and calls. This kind of thing is implemented in email pretty well already. Why don’t we have it for spam texts and calls?

Aug 31, 2021

These are my favorite libraries to use in Java. 🔥

Anything you think I missed? Let me know.

If you want to reference this list in the future, I documented it on my blog.

Aug 31, 2021

If you're working on a large project, you probably won't want to be logging solely with System.out.println.

Apache Log4J is a great Java logging solution.

Here's a basic example showing its usage.

Aug 31, 2021

Jackson and Gson are two libraries for working with JSON.

I'm grouping them together because they should largely be able to accomplish the same goal.

Here's a small example showing how you can stringify Java objects into JSON using Gson.

Aug 31, 2021

JUnit is the de facto unit testing solution for Java.

There are a lot of great integrations with Java IDEs whether you're using IntelliJ or Eclipse.

Here's a silly example showing some basic usage of the JUnit APIs to create tests.

Aug 31, 2021

Apache Commons is another library with a great set of utility methods.

Here's a simple program that capitalizes all the arguments passed in to the program using Apache Commons.

Aug 31, 2021

If you ever find yourself writing a utility function to perform a simple task, check if there's a library method first.

Guava offers a vast array of useful utilities.

For example, they have many utilities for working with data structures.

Aug 31, 2021

I've heard people complain that Java is too verbose of a language.

That should not be the case when using Lombok.

This library lets you decorate your Java code with annotations to significantly reduce the amount of boilerplate code.

Aug 31, 2021

Java core developer and author of Effective Java Joshua Bloch says to "know and use the libraries."

Here are some of my favorite 3rd party Java libraries. 👇

Aug 29, 2021

Need help understanding JavaScript promises? I got an article for that! 🚀

Aug 25, 2021

Quick @tailwindcss tip: Allow callers to control the spacing around a component instead of baking it into the component itself.

Aug 23, 2021

I just launched a new article on how to create an MDX blog with @supabase and Next.js! 🚀