Manish Vachharajani

1.6K posts

Manish Vachharajani banner
Manish Vachharajani

Manish Vachharajani

@mvachhar

Entrepreneur and Software Zealot. CTO at @githedgehog.

Lafayette, CO Katılım Nisan 2008
1.2K Takip Edilen1.7K Takipçiler
Manish Vachharajani
Manish Vachharajani@mvachhar·
@ChShersh The problem is one of abstraction. The callee's exceptional case is the caller's simple error. As a library writer you cannot know what is exceptional and what is ordinary for the caller.
English
0
0
13
1.8K
Dmitrii Kovanikov
Dmitrii Kovanikov@ChShersh·
Many devs don’t understand that you’re supposed to use exceptions only for exceptional cases. Exceptions are NOT for error handling.
English
345
185
4.6K
443K
Manish Vachharajani
Manish Vachharajani@mvachhar·
Installing @ubuntu 24 on a mini PC and true to form, WiFi config hangs setup, even though the connection was successful. Settings->System->Remote Desktop hangs the settings app. Classic Linux Desktop. Much better than 10 years ago, still can't get the basics right.
English
0
0
1
121
martin_casado
martin_casado@martin_casado·
Hey infra folks. We're standing up a new Discord server to discuss CS infra. If you want an invite DM me (reply and I'll follow). thanks!
English
945
31
967
171.9K
Manish Vachharajani
Manish Vachharajani@mvachhar·
As I set up my new Mac, I do not understand why so much software makes me download an installer that then downloads the actual software to install. Why not bundle the two together?
English
2
0
1
164
dax
dax@thdxr·
so what exactly is regular about a regular expression
English
102
47
1.1K
62.7K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@rakyll I don't think AI is going to replace the interesting parts of SWE (yet). I use AI daily. It handles some of the tedious parts of programming. It cannot write interesting code, and I think making it do so is a hard problem, despite the hype to the contrary.
English
0
0
5
1.4K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@Swizec I'll say it again. I am amazed that there are devs with the patience and discipline to build large systems in purely dynamically typed languages. Seems like insanity to me.
English
0
0
1
70
Swizec Teller
Swizec Teller@Swizec·
4 months ago I changed from mostly TypeScript to mostly Python suddenly I find myself missing tests, a lot 😅 This confirms my suspicion that 90% of unit testing is just devs building a half-baked type checker. But I can’t find any papers about this
English
4
0
29
1.8K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@the_sttts @kubernetesio No true abstraction for k8s itself. I should be able to create a namespace such that in that namespace it looks like a private k8s cluster as far as CRDs, permissions, etc.
English
0
0
1
116
Darren Shepherd
Darren Shepherd@ibuildthecloud·
I've reached the "can the IDE just install the toolchain for me" age in my life.
English
5
1
45
5.9K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@ibuildthecloud Things get complicated when they are used in real life to solve real problems. Let's see how Deno looks when its adoption is as far reaching as Node.js. On the bright side, I don't see them moving to C++.
English
1
0
0
60
Darren Shepherd
Darren Shepherd@ibuildthecloud·
I like the design philosophy of deno. Which makes sense because I also liked nodejs in the beginning before the community destroyed everything about it and made it the most complicated platform ever invented.
English
2
0
7
1.5K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@housecor Certainly as many quality checks as practical should be moved before merge. As the team scales though, the integration tests will inevitably take too long, and you cannot serialize all merges if you want any merge velocity.
English
0
0
0
17
Cory House
Cory House@housecor·
Controversial opinion: 🌶️ I prefer for all quality checks to occur *before* merge. Here's why. Merging code that hasn't been fully quality checked leads to batching work. It means we need to maintain a long-lived environment (like QA, UAT, or Staging) to integration test all our changes. It means need more release overhead - we need to agree on a release cadence, release cutoff dates, etc. This encourages developers to rush to hit release cutoff dates too. And it leads to devs getting pulled back into work days later if their code doesn't pass inspection in some other environment. 👎 In contrast, if all quality checks occur *before* merge, we can automatically deploy the code when it's merged. So all the release overhead above melts away. No more batching, coordination overhead, release planning, etc. Code just automatically deploys to prod the moment we merge it, because we've already determined that it's good enough. 🔥
English
21
3
103
12.9K
Darren Shepherd
Darren Shepherd@ibuildthecloud·
I love vim. I hate neovim. I think y'all missed the point of vi. It wasn't supposed to be emacs.
English
7
0
22
2.9K
Adam Rackis
Adam Rackis@AdamRackis·
The funniest thing I heard this year in my conference travels is that Prisma is actually a VC-backed company that’s now scrambling for revenue while Drizzle is just some 10x engineer having fun lmfao
English
12
7
457
51.1K
Manish Vachharajani
Manish Vachharajani@mvachhar·
I've been using @cursor_ai to solve the 2024 Advent of Code in Rust to learn the language and some of the AI's autocompletes are creepily good. I had a simple bit compare and it auto-completed the error message as "loop detected" when it doesn't seem to me at all obvious that that is what the check does.
English
0
0
0
110
Manish Vachharajani
Manish Vachharajani@mvachhar·
@ChShersh Plus, devs know where the bodies are buried. Good QA sometimes exercises code in unexpected ways, but there is nothing like knowing where the complexity is.
English
0
0
1
63
Dmitrii Kovanikov
Dmitrii Kovanikov@ChShersh·
Separating QA from SWEs is a huge anti-pattern. As a developer, you must test your own code. Otherwise, you have no incentives to improve ergonomics and automate flows.
English
28
22
328
14.3K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@housecor So what about backend changes that can corrupt data? Where/how do you perform system-level testing for those things without some kind of staging environment? Unit tests and such can only go so far.
English
2
0
21
1.7K
Cory House
Cory House@housecor·
Yep. A staging environment is an architectural code smell. Prefer continuous deploy and feature flags if possible.
English
36
6
213
52K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@housecor @devanfarrell_ Devs are rewarded for shipping code on time because that is easy to measure. Bugs and their impact are harder to quantify. If devs think QA will stop major issues, the incentive is to merge. Later, business pressure forces QA to yield and a lower quality product is shipped.
English
0
0
1
100
Cory House
Cory House@housecor·
@devanfarrell_ I agree quality is everyone’s responsibility. But unfortunately I’ve found devs often abdicate that responsibility when QA exists.
English
2
0
1
1.7K
Cory House
Cory House@housecor·
Hot take 🌶️: I’m not a fan of dedicated QA. I prefer the dev team to be solely responsible for quality. When dedicated QA exists, 2 problems tend to occur: 1. Devs get lazy. They lean on QA to find bugs. 2. Dev and QA often use different testing tools which duplicates effort.
English
193
55
1.1K
125.1K
Manish Vachharajani
Manish Vachharajani@mvachhar·
@ibuildthecloud Once you realize you really care about reliable software with the least pain, the rational choices get pretty narrow.
English
0
0
1
24
Darren Shepherd
Darren Shepherd@ibuildthecloud·
Why do I feel like TypeScript is a gateway drug to Rust? I swear, I can stop at anytime, I'm only just looking at Rust.
English
7
1
16
4.2K
Dmitrii Kovanikov
Dmitrii Kovanikov@ChShersh·
Every time I see benchmarks like “We improved performance by 4587%!” I wonder how hilariously bad the product was done in the first place
English
30
12
371
16.6K