DEV Community

Joe Lin profile picture

Joe Lin

Founder & Developer at BeGoodTool. Building lightweight, lightning-fast web & desktop tools across Vue, Node.js, Electron, and C#. Turning complex workflows into effortless experiences! ✨

Pronouns

He / Him / His

Work

Founder & Developer at BeGoodTool

The hard part of batch date conversion isn't formatting — it's deciding what `01/02/2024` means

The hard part of batch date conversion isn't formatting — it's deciding what `01/02/2024` means

1
Comments
7 min read

Want to connect with Joe Lin?

Create an account to connect with Joe Lin. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
The fastest part of this fuzzy duplicate finder is the comparison it never does

The fastest part of this fuzzy duplicate finder is the comparison it never does

8
Comments
6 min read
I thought masking PII for AI prompts was a regex problem — the restore step was the real design constraint

I thought masking PII for AI prompts was a regex problem — the restore step was the real design constraint

7
Comments
7 min read
A batch file renamer looks simple until you have to decide what counts as “the filename”

A batch file renamer looks simple until you have to decide what counts as “the filename”

3
Comments
6 min read
The higher-paying offer can still lose — the exact assumptions in my job-offer comparator

The higher-paying offer can still lose — the exact assumptions in my job-offer comparator

5
Comments
6 min read
A debt snowball vs avalanche slider sounds obvious — until you try to define 50/50 in code

A debt snowball vs avalanche slider sounds obvious — until you try to define 50/50 in code

5
Comments
6 min read
I thought a “go car-free” calculator would be simple — then I hit depreciation, 萬-units, and a very opinionated compound-growth model

I thought a “go car-free” calculator would be simple — then I hit depreciation, 萬-units, and a very opinionated compound-growth model

5
Comments
6 min read
Why this DCA vs lump-sum simulator caps a single month’s crash at 95%

Why this DCA vs lump-sum simulator caps a single month’s crash at 95%

5
Comments
6 min read
Why “0% installments” and loans shouldn’t share the same formula (I only really got it after building a comparator)

Why “0% installments” and loans shouldn’t share the same formula (I only really got it after building a comparator)

3
Comments
6 min read
Why simplified Chinese's 干 becomes three different traditional characters (and how a converter has to guess right)

Why simplified Chinese's 干 becomes three different traditional characters (and how a converter has to guess right)

1
Comments
5 min read
Why most QR codes you generate silently use the least efficient encoding mode (I only noticed after building a generator)

Why most QR codes you generate silently use the least efficient encoding mode (I only noticed after building a generator)

3
Comments 3
5 min read
Why a tumbling dice animation has to know the result before it ever starts spinning

Why a tumbling dice animation has to know the result before it ever starts spinning

2
Comments
5 min read
The 4% rule doesn't control your withdrawals — it just sizes the target (I didn't realize this until I built a FIRE calculator)

The 4% rule doesn't control your withdrawals — it just sizes the target (I didn't realize this until I built a FIRE calculator)

2
Comments
5 min read
I set out to build the app that would save the world. Embedding YouTube turned out to be the easy 10%.

I set out to build the app that would save the world. Embedding YouTube turned out to be the easy 10%.

8
Comments
7 min read
I didn't get rent-vs-buy math until I modeled where the down payment goes if you don't buy

I didn't get rent-vs-buy math until I modeled where the down payment goes if you don't buy

3
Comments
6 min read
How I built a highly profitable web platform, with zero backend code to keep my server costs at $0.

How I built a highly profitable web platform, with zero backend code to keep my server costs at $0.

10
Comments
10 min read
loading...