High-speed 10Gbps full-mesh network based on USB4 for just $47.98

As a software engineer, software is part of your job title; thus, it almost feels like you should only know software. However, in the decades of building software, I realized that gaining knowledge about hardware is equally important to learning code. Although I might never be as good as an expert in hardware, I want to expand myself beyond just software. So, I never shy away from getting my hands dirty with hardware.

To reduce the cost of my AWS cloud service, I recently decided to move some less mission-critical services into my bare-metal servers. Therefore, I got to learn how to build a bare-metal Kubernetes cluster and set up the network for it. After some research, trial, and error, I finally built and ran a relatively low-cost cluster with a high-speed full-mesh interconnected network. The most interesting part is that the networking is based on a USB4 ethernet bridge instead of a conventional ethernet switch and cables. I tested the network speed, and it can hit 11Gbps. The cost of making the network is only $47.98 USD! Today, I would like to share my experience of building it.

The UM790 Pro bare-metal cluster with full-mesh USB4 cables connections

The UM790 Pro bare-metal cluster with full-mesh USB4 cables connections


Read the full article

Why I built a self-serving advertisement solution for myself

Orignally posted in PolisNetwork’s blog

Selling a product is never easy. As an experienced software engineer myself, building a software product is much easier than selling it. Actually, I can build and maintain multiple ones simultaneously, but it will only do good if I find customers interested in using them and paying for them. Therefore, marketing plays a key role here to success.

There are many ways to market. Buying ads sounds like an easy solution for early customer acquisition, but it has problems. Here are some of the issues:

  • It could be a substantial financial burden for early-stage products to keep burning cash before making any money.
  • You need to learn how to operate ads efficiently. That requires some trial and error, which can be stressful under financial burden.
  • Click fraud is hard to avoid. It would be hard to tell how much of your money is going to it.
  • Most ad networks out there raise serious privacy concerns, and more and more people are installing ad blockers to protect their privacy.

With these in mind, I’m not too fond of buying ads for customer acquisition for my products. Certainly, buying ads has some pros, but I like approaches that can grow organic traffic in the long run. Building useful free online tools can also bring organic traffic in the long run. Or content marketing is also one of them.

For example, I made the online Beancount formatter tool for selling BeanHub. Another example is that I built Avataaars Generator in 2017 as a hobby project, which became very popular. If you search “avatar generator,” it shows as the number one place in the search result in Google:

Search result of avatar generator from Google

It brings in some organic traffic every day without spending a single penny.


Read the full article

Why and how I build and maintain multiple products simultaneously

Building a single successful software product is hard. Building multiple ones at the same time is extremely hard. Most people would suggest you should focus on only one at a time.

But is that the only way?

I run a small startup company, Launch Platform. As the name implies, it’s a platform for launching innovative software products. So far, I have launched and am maintaining two products:

  • Monoline - a messenger-like app but only for sending self a note
  • BeanHub - a beancount text-based accounting book based on git

Is there a good reason to build multiple ones instead of just one simultaneously?

You may ask.

Personally, I think while it’s not for everyone, the answer is a yes for me. Recently Monoline finally got its first paying customer. While it may not sound like a big deal, it is a big milestone for me. It validates the needs and proves that people are willing to pay for the product. Today I would like to share the reasons and my experience building, launching, and maintaining multiple products simultaneously.


Read the full article

A repairable future

A while back, my mouse Logitech G502 LIGHTSPEED started malfunctioning. It seems to be the infamous double click issue. It registers double click randomly, which was very annoying and renders the mouse completely unusable. I got my replacement from Logitech quickly after contacting their customer support since it was still in the warranty period. After my new mouse arrived, I could throw away the broken one and enjoy the new one and then end the story here, but it seems silly to throw the whole mouse away as the only broken component is the micro switch.

We live in a world where electronic devices are expected to be extremely cheap, serve only a short period, and then be replaced with better, faster, and newer ones later. While we enjoy the exciting moment of unboxing new gadgets, at the same time, we feel guilty about making e-waste from throwing the old devices away. I love this mouse. I really do. It was one of the best I’ve ever used. But it’s a shame that it wasn’t built for lasting. I am an engineer, a software one, but well, my job is to build stuff and fix stuff. Why not I just fix it myself?

Repaired Logitech G502 LIGHTSPEED with new Kailh GM 8.0 Mouse Switch

So I did.


Read the full article