top of page
Search

Chronomatic: my side-project story
How I used React with TypeScript and Firebase to build my own client management system, using TDD and Acceptance Testing.
Shai Yallin
Aug 28, 20226 min read
659 views
1 comment

Beautiful Object Builders in TypeScript
Fixture test data create stale and outdated data, and make tests unreliable. Object Builders are a better way, here's how to use them.
Shai Yallin
Jul 19, 20224 min read
749 views
0 comments


dotenv considered harmful
Relying on .env files couples your codebase to env vars, making your software harder to change. Here's how to decouple them.
Shai Yallin
Jun 21, 20224 min read
1,186 views
0 comments


The Anatomy Of A Rotten Codebase
Code rots because we build too many features, too fast. Emergent Design is an effective way to fight code rot and make change easier.
Shai Yallin
Apr 5, 20227 min read
3,382 views
0 comments


Case Study: Versatile CraneView Refactoring
How I helped Versatile remove fear of change in a key subsystem by introducing TDD and refactoring to Hexagonal Architecture.
Shai Yallin
Jan 5, 20229 min read
1,010 views
0 comments
The woes of a Mac migration
Update, January 2022: Shortly after publishing this post the Mac failed to connect to the display. Through a friend who works at Apple I...
Shai Yallin
Dec 10, 20212 min read
100 views
0 comments


Your Software as a Kitchen
When there are too many dirty pots and plates in the sink, it's impossible to clean them. It's the same with software and technical debt.
Shai Yallin
Nov 23, 20216 min read
1,257 views
0 comments


Tzvika's Revenge's Revenge
In 1996, aged 16, I wrote a PC game called "Tzvika's Revenge", along with another friend who did the art. We stole the audio clips from...
Shai Yallin
Jun 9, 20213 min read
295 views
2 comments


Litany Against Fear of Change
Written 56 years ago, the Litany Against Fear plays an important part in the novel Dune, allowing the protagonist to overcome his...
Shai Yallin
Apr 22, 20213 min read
402 views
3 comments


Permanent Prototypes
Prototypes are a lie; when it's good enough for production, it *becomes* production. Here's how to make them easily maintainable.
Shai Yallin
Feb 1, 20216 min read
1,712 views
0 comments


On Remote Pair-Programming
For the past few months I've been working with a startup building a mobile app using #ReactNative. I last used #React back in 2016, and...
Shai Yallin
Jan 27, 20212 min read
158 views
0 comments


It's all about the maintenance, dummy
Writing features we might need in the future is not only a waste of time, it makes your software harder to maintain.
Shai Yallin
Dec 16, 20203 min read
2,905 views
3 comments
Inside The Inner Hexagon: Component Tests
This blog post was originally published in the Orbs Engineering blog in 2018. My previous post described how the Go reference...
Shai Yallin
Nov 4, 20207 min read
745 views
0 comments

Big Design Up-Front or Emergent Design? Hexagonal Architecture Gives Us Both
Hexagonal Architecture allows us to separate pure logic from external constraints and enables writing fast, integrative acceptance tests.
Shai Yallin
Nov 4, 20209 min read
1,023 views
0 comments
bottom of page