PurpleWindow retweeted
The purpose of a system is what it does. Therefore, if you ever see a system do bad things, you know its designers were bad people. Contrapositively, if you are a good person with good intentions, any system you design will do only good things with no unintended consequences.
PurpleWindow retweeted
good intentions don't scale
good intentions are for your local surroundings and people you care about deeply about. free markets is our only scalable ideology that works
PurpleWindow retweeted
I'm not proud to say it but this line from a 60 year old detective novel made me re-think some things about friendship
PurpleWindow retweeted
there used to be 50,000 pay toilets in cities across America until a group of college students in 1970 decided it wasn't fair to have to pay for a natural bodily function and successfully lobbied to get them banned in 12 states and now you can't find public toilets fuckin anywhere in many US cities. what a cautionary tale
PurpleWindow retweeted
the best way to get good at something is usually to just practice actually doing the thing in question.
a lot of very capable people outsmart themselves with complex plans that involve working a lot on fake prerequisites.
PurpleWindow retweeted
people seem to treat tele-op robots as a nothingburger (agreed obviously not as impressive as onboard control), but doesnt this signal that we probably outsource bartending to filipinos with vr headsets in the next decade?
PurpleWindow retweeted
> rent control and its ability to keep housing affordable for everyday people
you either support smoking crack and its ability to cure most health ailments or you don’t. It’s very simple
This Post is from an account that no longer exists. Learn more
PurpleWindow retweeted
As a Java Enterprise Legacy Specialist I have fought this battle many times
1. Gather data and document it. Don't just say "this shit old", but document why it matters. What makes it debt? What are the consequences?
Are build times slow?
Are dependencies vulnerable?
Can you upgrade without things breaking (for example upgrading Java version or Spring version)?
Document arguments for how this affects you in your work.
For example "Build and deploy times take 30-60 minutes in total. I can't test my changes locally so I rely on deploying. I context switch while I wait, then I test my change and make appropriate changes and repeat this process. From monday to wednesday I spent a total of 13 hours waiting for it to build and deploy.
We can't push out changes fast enough if we have a critical error in production and our users will have to wait days if not weeks for a fix."
Talk to the other developers and document their arguments.
Put together numbers. Your feelings and DX are irrelevant. Get metrics. Data.
2. Put together a loosely defined plan. How will you upgrade? What are concrete ideas? What is your estimate? Can you start small? Can you upgrade individual modules? Can you make compromises?
Don't spend too much time on this, but you need to have an idea of what to do.
3. Talk to your closest manager and let them know what's up and say you would like to have a meeting with the developers and whoever is in charge of Letting You Do Stuff.
Schedule a meeting and have a powerpoint ready with The Numbers and The Plan.
4. Pray
It's out of your hands. You did your job and you did the best you could.
They don't care that you wasted 13 hours in three days? Then you shouldn't care either.
5. Wait for the next opportunity
It can take months or years but there will be an incident that could have been prevented if you had sorted out the debt. Don't say "I told you so" but remind them and ask to revisit The Plan
6. GOTO 4
This Post is from an account that no longer exists. Learn more
PurpleWindow retweeted
Getting increasingly tired of this strawman of "you cannot do XYZ or it's too complex for you so let the SaaS do it"
I haven't heard this statement from a single provider, only from the "return to monke" advocates like DHH, and it completely misses the point
Ofcourse you can roll your own auth and run your own database and configure your own servers and scale to a million on bare metal. And if you value money more than your time, it's totally worth it to do all these things by yourself.
But "these days" customer demands are increasing faster than engineering talent, and in such an environment your time is worth more than SaaS money, and you should be very selective about where you spend your time and effort. If you're not solving user and business problems with actual RoI, you better be saving costs that exceed your $70 per hour + benefits + management + recruitment + HR, and the reality is that an auth provider is almost never going to cost you more than the time you spend maintaining your own.
Just because you can, doesn't mean you should.
Replying to @dhh
The merchants of complexity will try to convince you that you can't do anything yourself these days. You can't do auth, you can't do scale, you can't run a database, you can't connect a computer to the internet. You're a helpless peon who should just buy their wares. No. Reject.
PurpleWindow retweeted
Replying to @thechosenberg
B2b saas is my passion. If money were no object, I would make b2b saas.
PurpleWindow retweeted
This gives insights why a typical staged rollout didn't catch the bug. CrowdStrike made a compromise to roll out config changes faster. In my experience, config changes are no different from code changes. And they are usually more error-prone than code. xitter.cf/eastdakota/status/1814…
Replying to @YouHitYourHead @CrowdStrike
I guarantee you they have tight controls on code roll out. They have looser controls on config rollout. It’s tough as a security company because you see a new threat and you want to fix it fast. You don’t expect your own config to explode. But sometimes it does.


































