Ethan's Wiki Update #2
Hello, added a few stories this week.
A story of a career transition from web developer to database developer
A write-up of cracking an iOS app that tries hard to prevent being cracked
A story of starting an AI company from a hobby open source project
and more…
What’s New
Career Page: From web developer to database developer in 10 years
7 years in web dev, but building side-projects on demystifying the web server black box. Then, 3 years in startups and side projects drive interest into poking at the database black box
Write blogs, host community and learn, then now joining a company that is one of the biggest contributor to Postgres
The key is to keep learning and exploring the black boxes
It’s not impossible to learn things like compilers, algorithms, database, operating systems, etc.
I know some developers aspired to be a system engineer, or software engineer that write foundational software (like database, standard libraries, operating systems, etc.), instead of just CRUD or end users applications. This story might shed some lights on how that transition may happen.
Write-ups Page: Debugging An Undebuggable App
This iOS app blocks debugger, exits if inject code and crashes the whole phone if running on jailbroken device
Interesting on how system call is used to disable debugger, crash the phone, etc.
YouTube video, same content with more visuals
Despite I don’t know the majority of the tools, but still very good explanation and cool walk through on what and how things work. But I wonder why does this Chinese app have to go that far to prevent itself from being cracked?
Entrepreneurship Stories: How I Built a Company to Save My Open Source Project
A long story of building timefold.ai, a service around an open source project
It starts from a hobby project to a day job, to being acquired, then breakdown with the company. Leap to form a startup with a team, secure funding, find product market fit with the AI hype and develop go to market strategy
Software Design Page: Kafka at the low end: how bad can it get?
At low volume, the job allocation between workers can be extremely unfair
More problematic when the number of partitions and producers are high
Kafka is not a good job queue, at least until queues for Kafka arrives
HN Thread contains some alternatives
Git Page: What are the differences between double-dot ".." and triple-dot "..." in Git diff commit ranges?
Two dots: diff between the tip, equivalent to no dots
Three dots: diff with the merge base, diff of a PR is 3 dots (`git diff main...feat`)
Technical, git specific knowledge. This answer explains the difference well. I have shared this link with people multiple times and realize I have not added this to the git page in Wiki. I will definitely need it again in the future.
Random
If you like stories, other than the Write-ups Page, the Incidents/Mysteries Page might be interesting for you. I included videos on YouTube that talk about stories or mysteries. Fascinating stories and engaging animations might interest you. I only added a few videos that I find amusing, you can check Neo and LEMMiNO for more. They are two very good YouTubers at doing this.
The blog I talked about in the last update is still working in progress. Some progress made, but life is busy and still some way to go. I should be able to finish in the next week or two. Stay tuned!