Kevin Burke, a software engineer, writes about code review, testing, databases, home networking, and local utilities.
HN commenters cite his posts arguing code review catches bugs better than testing, and his piece on city-run electric utilities.
Sure, it's actually been a long journey since PHP.
I switched from PHP to Node about 11 years ago. I was probably one of the first 100 Node.js developers. My biggest contribution there was creating https://github.com/cheeriojs/cheerio.
Go spoils me because it "just works". The best way I can explain it is when I'm stuck on something in Go, it's almost always my bad, not something that Go is doing poorly. This is in contrast to the Node.js ecosystem where it feels like half of the problems I run into shouldn't be my responsibility.
I strongly relate to this post by Kevin Burke: https://kevin.burke.dev/kevin/one-year-of-node-js/. A lot has improved since this was written. We're finally over the ES Module vs CommonJS hump, Typescript has become the defacto standard, Babel is less used now and Webpack is effectively abstracted away. I still run into way too many problems with the ecosystem and the transition to Rust will make the ecosystem more complicated, not less.
My transition from Node.js to Go happened because I was working solo on https://standupjack.com/ and I kept running into issues with the message broker. It was using the most popular RabbitMQ client for Node, yet it was still super flaky.
About 6 years ago, I was chatting with TJ Holowaychuk and he kept singing Go's praises. One holiday I decided to rewrite just the message broker in Go. I got it into production in 3 days and didn't have anymore problems with it. That set me on the Go journey :)
There are many reasons and there is a long way to go for these interviews to be inclusive and logical. I have been trying my best to change the culture around interviews and mention this to all hiring managers and interviewers to be more inclusive and use points from the following articles (not a complete list):
Don’t Do Interviews, Do Discussions! https://thinkingthrough.substack.com/p/dont-do-interviews-do-discussions
Tech Sector Job Interviews Assess Anxiety, Not Software Skills https://news.ncsu.edu/2020/07/tech-job-interviews-anxiety/
Developer Interviews, and how you are doing them wrong. https://www.coscreen.co/blog/you-are-interviewing-developers-all-wrong/
Ten years of experience, still failing phone screens https://kevin.burke.dev/kevin/phone-screens-broken/
Stop Interviewing With Leet Code https://fev.al/posts/leet-code/
I'm a very slow thinker https://sive.rs/slow
Screen In to diversify your workforce https://www.linkedin.com/pulse/screen-diversify-your-workforce-kathleen-hogan
Interview accommodations for NeuroDivergent people is a right - but not all know these rights. And some companies may not care - and many hiring managers don't even have awareness!
It's a long way to go to make interviews more inclusive - but don't go down without fighting for your rights!
"CircleCI trusts 8 analytics companies with your source code and API tokens, October 9, 2017. When you navigate to your project in CircleCI's UI, Javascript from eight different analytics companies gets loaded and executed in your browser."
So, did they do anything about that?
Even if using iframes and a secure api over postMessage/onmessage: safe, and security can be controlled by the external provider i.e. safer for both parties (ideally the servers pass the security context between each other - we even use an iframe internally for all the same reasons).
https://kevin.burke.dev/kevin/circleci-is-hopelessly-insecure/
Agree that on behavioral front, there is not much new signal after a few hours of conversation. Some evidence for this is a well-known study [1]. Unsure if the study has been validated, but the idea has stuck with me.
Regarding cognitive decay: I like to think time is simply pruning the weak and lazy neurons. At least that's what my remaining grey matter is telling itself. Your comment made me laugh. Thanks.
[1] https://kevin.burke.dev/pdf/30_seconds_teacher_quality.pdf
AWS claims that VPC traffic is immune from MiTM attacks. [0] (Although they strangely don't talk about this much, and I can't even find official documentation of it.) So within a VPC, you can forgo certificate validation.
However, in general certificate validation would protect you. The attacker wouldn't have a valid certificate, so your application would refuse to connect to the malicious endpoint.
[0] https://kevin.burke.dev/kevin/aws-alb-validation-tls-reply/
The best migration is no-migration. That is not having to move data at all. This becomes increasingly more important with larger datasets. One way of doing that is to simply serialize data in something like Protobuf and have a generic schema that rarely/never needs to be altered[1]. Adding a new field to the Protobuf is a no-op.
[1] https://kevin.burke.dev/kevin/reddits-database-has-two-tables/