Hacker Newsnew | past | comments | ask | show | jobs | submit | adityaathalye's commentslogin

They're as mission-critical as it gets, in economic terms, in India.

Shameful beyond words... The head honchos there should be severely punished---and then made to stay on permanently as rank-and-file demoted operators charged with making sure the org does its day-to-day work better---waaaaay better in the future.


Well, I honestly believe it is rank incompetence. Speaking as someone who's monthly electronic GST filings, commercial authentications, and digital payments, i.e. continued livelihood, is beholden to cert and PKI authorities like eMudhra having their shit together...

As for the odds of this being state-sponsored... It depends on the state's incentive, weighed against its continued behaviour, over the last 10-odd years. Everything below is easy to substantiate with citations. There are too many to cite... I put myself at real risk just by stating any of the following under my real name.

  ---My take: Never attribute to malice, what one can to (rank) incompetence.---
I expect eMudhra-esque collossal gaffes, as a normal course of life, stemming from the apathetic, insular, feudal-minded, shoddily run bureaucracies that the majority of our government and quasi-government organisations are.

Basic day-to-day operations being unavailable, because "Sorry sir, site is down." is a normal everyday life experience of their own staff, not to mention the common person. eMudhra is one of that tribe, and I'd say they are not the worst offenders of the lot, by a wide margin. I'd probably give the "best of the worst" title to our national Employee Provident Fund.

Of course, one can't totally rule out nation-state-level stupidity, such as BGP poisoning by the Pakistanis.

  ---Nation-state action: Wither sufficient incentive? ---
If our current federal administration has incentive to do it, they will... And, given their track record, if it does turn out to be nation-state-engineered for short term tactical gains (to hell with the consequences for anyone else), all I will do is sigh and move on with my day. Cornered politicians can go to any length to save their own skin (usually, just to save face)... Collateral damage be damned. Popular examples include world superpowers bombing distant nations, for whatever gain or goal (usually short-term, because well you most probably won't be President a second time (and never a third)), using whatever pretext they can sell to get others to also get behind (the individual's psychological cover in a firing squad, scaled up to many allied powers).

In India, absolute majority governments have amply demonstrated the same failure mode as US heads of state empowered with de-facto fatwa powers, as of the US PATRIOT act. Given motive and incentive, they easily turn the full might of their uncheckable wrath and ire at our constitution, as well as directly at the common public.

You know, like sending out military forces to "calm down" the pesky student protesters acting against "the national interest".

As we speak, massive nationwide student protests have been bringing shame and angst to the government of our ruling party at the centre (BJP and allies), as well as their various governments across states. Many protests have happened at this scale in the last decade+ of the same ruling party's unbroken streak as a majority power in the centre (federal government). Those other protests were like water off a duck's back. The ongoing student protests, for reasons I've not dug into, appear to be a clear and present existential threat to the incumbents.

My gut feeling is... the incumbents aren't passing the electoral vibe check any more.

The sentiment on the streets of the national capital, and large urban centres nationwide---almost entirely comprised of a new crop of young voters (18 y.o. up to early 30s)----is that they feel robbed of an economically viable future. They've organised at scale (millions on the street) with persistence (they are literally owning the "Cockroach" epithet thrown at them by the powers that be). And in short order, material consequence---unprecedented in its decade-long winning streak so far---befell the incumbent party's administration. The Education Minister had to resign, and they've generally lost face with that whole voting-age cohort. Brand-name loss of key leadership is further disrupting their internal party cohesion. Plenty of hopefuls in there, salivating after the top dog position, but thus far too weak to sway the cult following of the public faces of the party. Even an hint of weakness gives the wannabes a real opening to try. Textbook demagoguery.

If that is indeed true, then in their place, I too would seriously worry about losing even more ground in the next national election... It's not far now. Because? "Winning by overwhelming majority" has been the one and only priority of the incumbents, driving all their work post-election (where work includes constitutional shenanigans)... Being a populist party borne of, and cultivated by far-right nationalist ideologues (the RSS and "Sangh" community), with a longstanding desire for religious supremacy (Hindutva and Sanatan dharma), they publicly and loudly dream of a hundred-year golden age. Uh, no, now I think it's become a thousand-year era (really!). That's not totally insane if you're suddenly goated at winning electoral politics, because our head of state can enjoy unlimited tenure. Yes, you heard that right, India has no constitutional limits to number of re-elections to the Big Chair, whether successive or alternating.

Without looking at absolute numbers, I feel confident that the influx of new voters (lots of people can turn 18 in a single government tenure) far outstrips the older ("whatsapp uncle / aunty") voter base that the incumbents pander to. This has been a lucky break for the fumbling Congress party because their legacy name is finally regaining some cachet... The much-mocked Rahul Gandhi presents like someone the young'uns can actually talk to, like a human being.

But the Gandhi-brand Congress were once an absolute majority power too. At which time they suspended our constitution, and weaponised federal agencies, and created the playbooks that all future governments have been able to deploy at various scales. I expect nothing less from any other party that grabs absolute majority. Currently it's the BJP. Tomorrow, it could be anybody else. Thus far, it's been the secular-presenting Congress, followed by the Hindutva-majoritarian BJP. Woe betide us if next the Communist Party of India gets a bite at that juicy apple. 'cause, like, I don't have to explain what that sort of government can do with absolute power. <shudders>

  ---Nation-state action: Whither evidence of having the means and using them with impunity?---
Ref: our liberally interpretable Information Technology Act. Among other things, it enables and empowers arbitrary blanket Internet Shutdowns and Blackouts, by local states as well as national authorities, to "protect the peace". In some deeply conflicted areas, like Jammu and Kashmir, censorship measures under martial law would give both, the Great Firewall of China and the Stasi a run for their money.

Ref: at-scale weaponisation of Pegasus, as of 2021. Federal and even state authorities like police departments have weaponised nation-state electronic warfare technology with impunity. Usual suspects / targets are politically inconvenient individuals and groups... opposition politicians, bureaucrats with a spine or conscience, students, media, artists, NGOs etc...

All this mixes badly with pre-existing supercharged Sedition laws. These effectively obviate habeus corpus, and are routinely used to prosecute speech interpreted as anti-national / seditious under the generous ambit of our IT laws (we don't have a real privacy law). Mere suspicion and/or fear and/or dislike + Pegasus + garbage IT laws = authority can brazenly plant incriminating evidence on your device... it's reportedly been done multiple times.

People have been held in prison for less (just inconvenient speech), without possibility of bail, for months and years on end, without trial. The main goal is to cause irreparable reputational damage, to create future deterrence... It's pretty effective. A secondary goal is to take the stubborn ones off the board, with no legal recourse, until they break. And of course, to permanently defang the truly outspoken and indomitable few... Some of those people have been in high-security federal prison for years on end now.

In conclusion:

I'm confident all federal administrations of India, current and future, will hold the lawful means to act wilfully, crudely, with impunity, at scale against India's own citizenry.

I'm not sure whether they currently have enough incentive to have used the eMudhra cudgel, to disrupt the protestors. Sure they could MITM the protestor websites, but it's so much easier to block them and takedown their socials. And for more specific work, they already have field deployments of Pegasus and other MITM / spyware technologies.


I'd say the jury's still out. Somehow, I feel---or, perhaps, would rather believe---reasonable doubt will prevail at the end of this AI hype cycle. From the essay, this version of the future sounds far more appealing, if not more likely, than a sudden-born superintelligence.

> Lynn Margulis [14] has made strong arguments for the view that mutualism is the great driving force in evolution.

> ...

> [14] Margulis, Lynn and Dorion Sagan, _Microcosmos, Four Billion Years of Evolution from Our Microbial Ancestors_, Summit Books, 1986.


My word, my whole blog is antipatterns (probably because I write it for me :D). Like, look at these doozies (all have lengthy preambles). There are more, but these cover all the antipatterns mtlynch mentioned. I am not at all sad, rather I am chuckling because when one doesn't care who reads the post, one can get away with such ghastly antimatter :D

And, allow me to add antipattern no. N, in full display in the posts below: A 1:1 ratio of main body to footnotes, because we want some place to put all the spicy asides and hot takes.

What to do, my brain struggles with brevity :)

  Exhibit A:
Over ten thousand ~~words~~ tokens on bitemporal data modeling (in SQLite and Clojure), which has a preamble and a postamble: https://www.evalapply.org/posts/poor-mans-time-oriented-data... (Plus, this one breaks on mobile portrait view because I couldn't figure out the CSS-fu needed to stop one pesky table from overflowing, and I am not going to fix it because the post reads fine in landscape mode).

  Exhibit B:
More thousands of words, urg no, tokens... on Terraforming one's infra: It opens with a Harvey Specter meme. https://www.evalapply.org/posts/systems-approach-to-infrastr...

  Exhibit C:
Another giant post on web stacks from first principles, and this one has a whole parable as well as a preamble: https://www.evalapply.org/posts/clojure-web-app-from-scratch...

  Exhibit D:
A six part series, because this one got too long (re-making your dotemacs from scratch tends to go that way). Um, and each post gets progressively longer and preambly-er: https://www.evalapply.org/tags/emacs/index.html#main

(edit: reorder + fix formatting for clarity)


Honest question: if you truly only write for yourself, why submit the posts to HN and prominently display social sharing shortcuts at the top of each post?

I can understand the position that you do care about other people reading your post, but you weigh your own enjoyment of your posts more heavily than anything else, but I'm skeptical of the claim that you don't care who reads your posts.


Well, my site doesn't track views. No analytics etc. So I have no idea which post gets what traffic, and I very much prefer it that way.

Also, the posts are structured to the way I have come to arrive at some conclusion, or some understanding. So it is very much written for my own benefit, and incidentally shared because well why not. Surely I'm not the only one who was confused, or ignorant, or just curious about $Topic... Just don't expect that I will rewrite the thing for some abstract audience persona and how their brain works. If something is weird or unclear or plain wrong, search is at hand. And if something is annoying, well there are certainly lots of other places to go to instead. So, no, I don't really think about who reads my stuff. These days, it must be all bots anyway. So be it.

But I do like to also "learn generously", and I love to share and talk the about stuff I end up publishing from my drafts and notes (which far exceed the stuff up there in public view). So when I feel like it, I share links in various places. Usually its crickets. Sometimes there is conversation.

The "share to HN" etc. stuff is in service of prompting people to share if they feel so inclined. And honestly, I don't think people share via those links. No data, just gut feel, given how long the site has been up, and how uncommon it is for not-me people to post links to HN.

As for the prominence of said links. It has been an eyesore and a long-pending thing to delete. Sometimes I use the site as a playground. That time, I wanted to see if what "they" say is true about putting sharing links up top, prominently. So I slapped that section in, during one of the layout refactors.

And so, the top of the posts got way too busy with those "see me! pick me! choose me!" links, and stayed because I couldn't bring myself to refactor yet again. (Also because there's not much to lose because someone got annoyed at the eyesore click-share links. Yeah, friend, I'm annoyed too. Sucks to be us.)

(edit: expand comment to clarify some thoughts)


Interesting, I appreciate the detailed response!


Oh, I should add: "practise discussing things in public, without losing my cool" is also a reason I self-post links to forums like HN.

Not uncommonly, people are salty in the comments. Mostly it's fun to ignore the salt, and let the community do its thing, while also trying to observe what's going on with my feelings. Sometimes it's fun, or necessary, to show up and respond to flip the thread from destructive to constructive. This is a skill I can get better at, and I feel my odds of being better are higher with topics I've thought about for a good long while, and so that balances out in favour of taking the risk to self-share.


Thanks :)

It so happens the eyesore "pick me!" links are gone now, except they are in a draft layout refactor. But please don't ask I know when it's going to go live. Could be tomorrow (or rather today---it's 2am here---and in that delicious sleep-deprived fugue state say eff this, I'm done, send it).

Or it could be next year.

(:


Well, I have only just now skimmed your blog, but you already gave me a smirk.

  If you spot any, please write to complaints @ my domain. (And if you want to say nice things, write to compliments @ my domain :).

It's because your blog is good. Not all blogs need to be primers targeted at idiot level leeches who abhor thinking for themselves and cry when confronted with facts like "the author is a different human than me".


Thanks for the compliment, but also wow the second part got salty fast!

Honestly, I think there is value in having lived in "idiot mode", because that is the feeling I walk around with most of my life. And thinking is hard, so I don't want to, most of the time, but then I have to, because who will pay my bills otherwise?

Some of those posts are, in fact, because I felt like an uncomprehending idiot, about the blog post's topic, for the longest time ever. And it turned out that I was holding it completely wrong, or had pop-cultured myself into a prejudiced (therefore uninformed) opinion. Then, once some clarity arrived, I wanted to spool it to disk before it evaporated again. And lo and behold, post emerges.


Well, you saved me writing a similar comment, and I like your blog too. (BTW I completely agree with your musings on what we might do with all this hardware, post-bubble. I actually started and... not quite abandoned a "sci-fi-ish short fiction" series on my own blog trying to think through those applications in my own industry.)

In my own writing it's like, I'm mostly trying to put something out in the world that I, and sometimes my friends, enjoy. The rambling is not exactly the point, but not exactly not the point either. If other like-minded people find it, great. Once somebody tipped me a thousandth of a Bitcoin or so, and that was fun too.


Hah, thank you for the kind appreciation. And I totally get that sentiment "the rambling is not exactly the point, but... ... ... ...".

For half a second I read the rest of it as "a thousand Bitcoin", and immediately thought "okay, so there's a story here about how it was way early and how you tipped someone else, and now, just look at them, wow".

(edit: also, cool blog yourself... subscribed!)


What makes Lisp difficult to read is that almost everyone comes to a Lisp, with deeply ingrained writing skills suited for syntax-heavy, non-structurally-editable languages.

---

Now, to die on this hill.

Speaking as someone who desperately wants people to stop inventing syntax, I want to offer my "inversions" of the author's conclusions.

> prefix notation puts parentheses further apart

Prefix notation guarantees that I instantly know what the function / operator is and what the operands are. I don't see (or care) to literally read the parens. The parens are not the point.

And if we are doing this, let's compare real-world code shall we?

For example, how many syntax points (like = and ; and whatnot) do I not have in this code block (of my dotemacs) because regular prefix notation means I can set any number of global variables in one single declaration? https://github.com/adityaathalye/dotemacs/blob/3ce80d8336ae8...

As a bonus, because of the prefix guarantee, when teaching someone a Lisp, I spend almost no time teaching the semantic meaning of syntax rules. All I have to do is show how prefix notation works, and drill that a few times with hand-coding exercises.

> formatting practices do not help to track parentheses

Auto-formatters---once again, because of prefix notation---can lay out code in very regular patterns and shapes. Auto-formatting further obviates the visual / aesthetic relevance of parens.

Not to mention smartparens and structural editing and other basic niceties of Lisp text editors.

> prefix notation results in more left-nesting

Perhaps. The value for me is that it results in more regular code, because, once again, standard prefix notation, and once again, standard auto-formatting. Nobody reads closing parens, or opening parens, or whatever other parens... we let our text editor take care of that stuff for us.

> Lisps lacks or discourages features that align the evaluation and reading order

This depends on whether the Lisp in question is imperative, procedural, or functional. It has nothing to do with S-expressions...

Essentially, the author makes the usual category error of conflating "Lisp" with "s-expression".

May I suggest associating "Lisp" with "Metaprogramming" as the better evil? Die-hard Lisp-2 nerds will balk, but I say any language with an ability to symbolically manipulate itself as its own data is a Lisp. For example, Julia is a kickass Lisp because it enshrined meta-programming as a first-class language design concern. Ditto Elixir. I'm happy thinking of those as M-Expression Lisp-likes.

And as a matter of personal taste, having been around lisp nerds, nobody who actively writes s-expression languages---even as hobbyists---reads parens. They/we see shapes and we manipulate our code like tetris, without even having to think about 'em parens, and soon enough, nor about the keyboard shortcuts.

Whether Emacs, or Vim, or VSCode, or IntelliJ or, whatever Lisp-aware editor, we simply slurp and barf and splice and unsplice and convolute-sexp, all of which I do as a normal part of Lisping https://emacsrocks.com/e14.html ... And this stuff is so readily possible because of the regularity of prefix-notation s-expr syntax.

(edit: add code example)


Yeah, that's it, is it not? A tiny sliver of real hope in the otherwise blackness of rejection after rejection? If at all one hears back from the company, that is.

But also, sticking with it and making the retry happen---that was all you, robto. Our experience was pretty much that almost no-one we made our office-hours offer to, took it up.

Also, unrelated --- idle.horse --- fun domain! Is it an email carrier only, or does it have a future in public service, as a not so idle blog / site / memex content delivery beast too? :)


Author here...

I interpreted hiring as optimal stopping problem because:

(a) we as hiring managers have no idea who's out there that we can hire and train for our requirement, and

(b) traditional hiring pipelines have a retry limit of zero; once rejected, rejected forever, and the open-door retry policy makes it infinite retries (after a cooling off period).

So the idea is to process applications as fast as possible to reject negatives and false positives, at the possible expense of some false negatives. And then try to defeat the downsides with the open-door / infinite retry trick.

That is certainly not exact science. Besides, I'm not a stats / maths / operations research person though, so I do accept I could be wrong. For now, I am okay being wrong because I hope to never have to hire anybody as an indie software builder :D


Yeah, your interpretation of the constraints of the problem are wrong, so the strategy of the secretary problem does not apply even for sidestepping it.

The very specific rules of the problem are that you are evaluating one person on a single metric, and you must choose to hire/reject them before viewing the next. You must know in advance how many people you will be evaluating. This is why it's the "secretary problem." You're interviewing 10 candidates and only evaluating them on typing speed. Once you see their typing speed you must hire or reject on the spot. The optimal strategy is to always reject the first 37% of your sample candidates, then hire the next candidate to beat their score (or hire the last person you interview if none beat them).

In college, we joked that this is optimal dating strategy, because dating still kind of works this way. You decide how high you're willing to go on your body count, and then use this strategy to decide who to settle down with.

As you describe it, (A) does not apply because it isn't about "the best person in the world" it's about the candidate sample you have. (B) doesn't apply because this is a post-hire rejection. You can keep your candidates "warm" and interview the entire batch, then decide among the batch who you want to hire, or not hire and continue.

It's a nice idea, but there's probably a better optimal stopping model than secretary problem for what you're doing.


Author here... I think that's one of the two mitigations of the secretary problem. At one end is throughput: move faster to yes/no decisions than the age of the inbound applications. At the other is not losing the pool. An open-door policy works, I think.

I've seen one or two software companies that are explicit about this. If memory serves, Jane Street is one example. These companies explicitly say in their "regret" emails that one can re-apply after six months of the last application.


Author here...

My colleague and I worried about the same things back then. It turned out that because we imposed hard constraints on ourselves, we fairly quickly built a system that we could run under those constraints.

Particularly the office hours offers... We had a feeling not many would take it up, but we were not sure. But we were also not sure if we could pull it off along with our day jobs. At the end of it all, our guess was correct.

A reason I decided to publish it is because it was not exhausting! That's part of the "unwitting" part :D

Also, being able to make the steps ourselves was key. I expect nothing but exhaustion and disaster, if those hard constraints are imposed on any pre-existing hiring loop, and the interviewers have no say in tweaking the system.


Author here.

Yeah, that's the danger with writing a first-person account. Easy to read it as self-adulation. And detailing one's operations in that vein makes it look like lots of back-patting. That said, it is what it is; for a blog post, like a book, is written twice---once when the person types it out and once when someone reads it.

The difference is in how we ran our, otherwise normal-seeming, interview loops. Speed, async-first, clear up-front communication (no corporate speak), and open-door policy all compose and work together.


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: