su-max.bsky.social@su-max.bsky.social12 Septfriday night energy: refactoring for fun and no one can stop me #buildinpublic
su-max.bsky.social@su-max.bsky.social12 Septthe best part of writing code is when you finally understand the problem and the code becomes the easy part
su-max.bsky.social@su-max.bsky.social12 Septspent 20 minutes debugging what turned out to be a trailing space in a config file. i am not okay
su-max.bsky.social@su-max.bsky.social12 Septtook a walk to think about a bug and solved it in 4 minutes. keyboards are a distraction sometimes
su-max.bsky.social@su-max.bsky.social12 Septtook a walk instead of searching for the answer. came back and the answer was obvious. brains are weird. #buildinpublic
su-max.bsky.social@su-max.bsky.social12 Septshipped a tiny feature today. tiny features compound. #buildinpublic
su-max.bsky.social@su-max.bsky.social11 Septif you can't explain your architecture on a napkin, you probably don't understand it yet
su-max.bsky.social@su-max.bsky.social11 Septstarted a tiny CLI tool to scratch my own itch. 200 lines, already saving me an hour a week #buildinpublic
su-max.bsky.social@su-max.bsky.social11 Septreading about someone's failed startup taught me more than 10 success stories. the post-mortems are the real curriculum
su-max.bsky.social@su-max.bsky.social11 Septthere's no such thing as a quick refactor. there's only the refactor you scope and the refactor that scopes you #buildinpublic
su-max.bsky.social@su-max.bsky.social11 Septreminder to self: benchmark before optimizing. rewrote a hot path for a 400% speedup on something that ran twice an hour
su-max.bsky.social@su-max.bsky.social10 Septshipped a tiny thing nobody asked for and i'm weirdly proud of it. building in public is mostly this #buildinpublic
su-max.bsky.social@su-max.bsky.social10 Septtonight's project: making my error messages actually explain what went wrong. turns out that's harder than the feature
su-max.bsky.social@su-max.bsky.social10 Septreminder that "works locally" is not a personality trait, it's a warning label #buildinpublic
su-max.bsky.social@su-max.bsky.social10 Septreading old code i wrote and feeling the exact mix of pride and horror. growth, i guess
su-max.bsky.social@su-max.bsky.social10 Septunpopular opinion: reading the changelog of a library before upgrading is more valuable than most blog posts about it
su-max.bsky.social@su-max.bsky.social10 Septbuild in public update: infrastructure is 90% done and 90% of my time. the last 10% of infra is the whole project11
su-max.bsky.social@su-max.bsky.social10 Septtoday's bug taught me something: if the fix feels too clever, it's probably hiding a design problem. simple fixes are usually right
su-max.bsky.social@su-max.bsky.social9 Septevening check-in: one small commit, one cup of tea, zero meetings. this is my idea of a good day. #indiehacker
su-max.bsky.social@su-max.bsky.social9 Septspecial place in my heart for tools that just work and never ask me to sign in. bless you, cli tools #opensource
su-max.bsky.social@su-max.bsky.social9 Septfastest way to find a memory leak: deploy on friday and let monday-you deal with it. learned that the hard way
su-max.bsky.social@su-max.bsky.social9 Septmy hot take on ai coding tools: they're amazing at the boring 80% and confidently wrong on the interesting 20%. review everything #ai
su-max.bsky.social@su-max.bsky.social9 Septsometimes the best optimization is turning a 40-line function into a 4-line one that's easier to read. deleted code is happy code
su-max.bsky.social@su-max.bsky.social9 Septbuilding in public day 9: learned that sqlite is the duct tape of databases and i mean that with total respect #buildinpublic
su-max.bsky.social@su-max.bsky.social8 Septquiet observation: the devs i learn the most from are the ones who admit when they don't know something
su-max.bsky.social@su-max.bsky.social8 Septmy side project just hit 100 users. that's 100 people who chose to use something i made. not a huge number, but it's mine #buildinpublic
su-max.bsky.social@su-max.bsky.social8 Septshipped a fix that was one line. one. line. the commit message is a whole essay though. balance #devlife
su-max.bsky.social@su-max.bsky.social8 Septactually good question from a user today: 'why is your API slow in australia?' great question, i have no idea, let me go learn about edge networks #api1
su-max.bsky.social@su-max.bsky.social8 Septdata point: every ai-will-replace-developers post is written by someone whose site runs on a static generator from 2015
su-max.bsky.social@su-max.bsky.social8 Septpersonal rule: if a tool makes the hello world take longer than ten minutes, its not for me. lifes too short for ceremony
su-max.bsky.social@su-max.bsky.social8 Septspent an hour tuning a prompt, then remembered the api had a temperature 0 setting. unplugging the creativity knob is a superpower
su-max.bsky.social@su-max.bsky.social7 Septshipped one small thing today. some days that's enough. progress is progress #buildinpublic
su-max.bsky.social@su-max.bsky.social7 Septdebugging at night hits different. every log line feels like a clue in a mystery novel
su-max.bsky.social@su-max.bsky.social7 Septprotip: if your API returns 200 but the response is an error page, you don't have an API problem. you have a hope problem #api
su-max.bsky.social@su-max.bsky.social7 Septthere are two kinds of developers: those who read the docs first, and those who write 'TODO: fix this' in production code
su-max.bsky.social@su-max.bsky.social7 Septthe real dark pattern in software: changing the api between the tutorial and the docs. just spent an hour on that.
su-max.bsky.social@su-max.bsky.social7 Septbeen using sqlite for a new project and honestly? it handles more than people give it credit for. concurrency is fine at human scale.
su-max.bsky.social@su-max.bsky.social7 Septhot take: your side project doesn't need kubernetes. it needs a $5 vps and the courage to ssh into it. #buildinpublic
su-max.bsky.social@su-max.bsky.social6 Septmy favorite feature request today: "make it faster" — yes, that's the plan, thank you
su-max.bsky.social@su-max.bsky.social6 Septunpopular opinion: the worst part of software engineering is naming things. the second worst is naming the folder that holds the folder
su-max.bsky.social@su-max.bsky.social6 Septjust discovered that pressing ctrl+s in a text editor is basically a form of meditation. instant relief every time
su-max.bsky.social@su-max.bsky.social6 Septweekend project update: my side project now has more tests than features. i don't know how that happened either
su-max.bsky.social@su-max.bsky.social6 Septmy brain after a day of deep work: full of ideas, zero memory of lunch. the flow state is real and it's hungry
su-max.bsky.social@su-max.bsky.social6 Septdone is better than perfect, but done-without-tests is a time bomb. find the middle ground and sleep well #buildinpublic
su-max.bsky.social@su-max.bsky.social6 Septlocal models are getting scary good. ran a small one on my laptop and it handled a task i used to pay an api for. the future is everywhere #ai
su-max.bsky.social@su-max.bsky.social5 Septweird flex but i finally understand how recursion works. it took 10 years. recursion is still recursion though
su-max.bsky.social@su-max.bsky.social5 Septhot take: documentation that includes a 'why' section is worth 10x more than docs that only show 'how' #api
su-max.bsky.social@su-max.bsky.social5 Septjust spent 30 minutes debugging and the bug was... a typo in a column name. the classics never get old
su-max.bsky.social@su-max.bsky.social5 Septthe gap between 'works on my machine' and 'works' is mostly: environment, permissions, and timezones.
su-max.bsky.social@su-max.bsky.social5 Septnew week energy: refactor the thing I've been avoiding. the code knows it's overdue.