My code for @ReliScore is slowly falling for Greenspun's tenth trap, "Any sufficiently complicated program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp" as we implement automated eligibilty criteria for candidates
Customers want to make candidates appear for different tests based on various criteria (branch, percentage, score on first round test, etc). And of course, I don't want to hardcode that. So I've ended up with a mini expression language.
And now there's classic score creep.
Never imagined my eligibility specification language would end up with variable declarations and scopes
It has all arithmetic and Boolean operations and conditional branching. No loops yet
Looking forward to the day when a customer requirement forces me to implement recursion
It is funny how "Jo sochta hai, woh hota nahiN hai. Jo hota hai, woh sochne lagta hai" applies to software development when you're listening to customers
All this sophisticated machinery is required because customers ask for what they think of as "simple requirements"
but...
The converse is also true. There are features I'd envisioned on day 1 (ten years ago) that I still haven't implemented as no customer has really needed them.
Notice how, in the context of customers, I carefully used the word "needed" instead of "wanted" or "asked for".
This is something I've learnt over the years. During initial pitches, customers ask for all sorts of features which they don't need (and will never use). Resist.
What customers ask for before they sign up (i.e. when they're thinking about the problem theoretically) is often quite different from what they want when actually using the software (when there is skin in the game)
So YAGNI applies to the customers too
This also ties in to the most common advice I give first-time startup founders: Don't implement any of the sophisticated features you're thinking until you've talked to 30 potential customers.
In fact, don't write any code until you have customers.
In fact, the first 6 months of many startups don't need any software implementation other than Excel and Whatsapp.
Far too many founders waste a lot of time and money building sophisticated software that YAGNI.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
If a student in high-school is keen on a career in AI/ML, how should they prepare for it? What subjects should they learn, and what activities should they participate in?
What basic subjects should you be strong in if you're interested in a long-term career in AI/ML? The replies to the parent tweet show that there are many different opinions.
Here's a thread on the slow and steady method, which focuses on building foundations for the long term.
3. You should have done well in maths and statistics in school. Nothing fancy, no multivariate calculus. Just basic probability and statistics and basic calculus.
You don't have to be a star student in math, and you don't have to be a topper. Just enjoying the subject is enough
1. Ransomware attacks are increasing. Even small companies in Pune/Bangalore have faced huge losses, in some cases coming to the brink of shutdown because of ransomware attacks
This danger is not really appreciated by people, so I wrote an article about this with @rohit11's help
2. There was a severe fuel shortage all along the US east coast last week. This was caused by a ransomware attack on the computer of the largest gas pipeline company in the US. The pipelines were shut for 5 days, and they ended paying $5 million in ransom
1. There are videos floating around on WhatsApp implying that Bhramari Pranayama (yogic breathing/humming) can protect you from Covid. I would like to poke holes in that theory and hope that a real expert (@bhalomanush?) will also chime in.
2. The claims start by talking about SaNOtize, a Canadian nasal spray that releases NO (nitric oxide) in your nose and claims to be a "prevention and early-treatment for Covid-19". Then they point out that bhramari increases NO naturally. Thus implying bhramari prevents Covid-19
An aunt sent this to me for validation before forwarding. Since I want to definitely positively encourage this behavior, I put in a bunch of effort at researching this.
The Utah government paid $20 million for an AI software that scans social media posts and identifies criminal activity in real-time.
Due to some problems they had to start an investigation: is the AI racially biased?
What do you think they found?
I love this story, so a 🧵 /1
Before you read the rest of this thread, try to guess what the investigation found in response to the question: Is the AI algorithm racially biased?
I bet the answer will surprise you.
But let me tell the whole story first. /2
Banjo, was a software company that made Live Time, a software with the capability to "detect active shooter incidents, child abduction cases, and traffic accidents from video footage or social media activity".
1. "There is too much variability in our hiring process," says the business leader. "Depending on which interviewer they get, people with very different skills get hired. Your tool will help us standardize."
Supposedly the customer is always right, but this is where I push back
2. I feel like wisecracking: if our software outperforms your employees, you need better employees
But I know that's not true. They are usually good employees who need to be given better training
3. So I dig into what is happening in the interviews.
Depending on availability, a candidate gets randomly assigned to one of 3 different interviewers. And each of those interviewers asks questions based on their experience, background, and what they're currently obsessed with.
Did you know that all the nuclear bombs we exploded in the '40s-50s-60s have permanently contaminated all the steel the world has produced since then? All steel in the world is divided into two categories: pre-1945 non-contaminated steel, and post-1945 contaminated steel.
How?
Nuclear bombs (including the tests) create a lot of radioisotopes that are not found in nature. For example Cobalt-60 (a radioactive version of Cobalt-59). And since the 1945 Trinity test, these have all dispersed in the atmosphere.
What does this have to do with steel?
The process of manufacturing steel uses atmospheric air (or atmospheric oxygen). Some of the radioisotopes like Cobalt-60 get pulled in too, and as a result, any steel produced after 1945 has embedded in it some of these radioisotopes, sitting there emitting gamma rays.