skysight-inc/HackerNews huggingface dataset:
This is probably the best take in the entire comment section.

I see whole bunch of people complaining about Leetcode (LC) style coding questions, but I don't really see any alternative that is as good as LC. LC interviews solve all the following criteria better than other interview formats in aggregate.

- Objectivity: can you evaluate candidates as objectively as possible as opposed to subjectivity?

- Scalability: can you evaluate many candidates fast with high throughput?

- Accuracy: can you filter out bad candidates? Yes, the filter is often restrictive to the point where good candidates also get filtered out unfortunately.

- Meritocratic: can you make sure the process is assessed based on the merit of solving LC questions well as opposed to having connection to someone you know at the company or having gone to some prestigious school or other companies?

Leetcode format does good in all criteria above, or at least better than other formats below in aggregate.

1. Take home assignments.

- Objectivity: bad

- Scalability: bad. Once the question leaks, it's harder to come up with another question easily. Also doesn't scale for candidate side either. As a rule of thumb, I always decline interviews that require take home because it's useless to try hard as this is not applicable to interview at other companies. ROI is extremely low for candidates.

- Accuracy: good.

- Meritocratic: good

2. Coding questions with heavy emphasis on practicality (Stripe & Square)

I was pretty impressed with questions from Stripe and Square. They created problems that are heavily related to string, array, hashmap manipulation, searching, replacing etc using regex and such. If you are not into LC questions, you might prefer this, but I actually found some of these questions harder than dynamic programming questions I got from Google.

- Objectivity: good

- Scalability: bad. Once the question leaks, it's harder to come up with another question easily.

- Accuracy: good.

- Meritocratic: good

3. Knowledge / Trivia questions about programming language or framework

This might make sense a bit if you are specifically looking for iOS, Android or web developer but it still will need to be paired with LC questions.

- Objectivity: good

- Scalability: good

- Accuracy: bad. Candidates can memorize and recite these answers to the questions. Also too many good candidates actually do not memorize the details about programming language or framework. Also it can easily obtained from just Googling so people can cheat easily.

- Meritocratic: good

4. Pure behavioral

- Objectivity: bad

- Scalability: good

- Accuracy: bad

- Meritocratic: bad

5. Ex-coworker

- Objectivity: bad

- Scalability: bad

- Accuracy: good. If you've worked with the candidate before, you'll have a pretty good grasp of whether or not he/she can do the job well.

- Meritocratic: bad
So you're ruined financially, or have no opportunity to rise from ruin to begin with.

Most everyone else would be too.

So why worry?
Well I didn’t mean to offend anyone. I guess that just makes you a better technical interviewer than most.

But to be perfectly unbiased, the process would have to double blind. And I don’t know anyone who likes to hire people (or anyone who wants to be hired) following a double blind process.

So at least there is _some_ non-technical bias that gets in the process.
That does not really answer my question, does it?

Of all the possible places to build nuclear plants, why go put them in a place that has plenty of sunshine and tons of seismic activity?

No matter how favorable the odds, why play those when there are places that could be even better?
Granted it was 1982, before software played such a big role in everyone’s life. Maybe it would be a bigger deal now.
Do you have any suggestions for a simple online coding portal? I know some companies have used a simple Google Doc for this reason, but that seems far from ideal.
Yeah fair point, and it's unfortunate it is that way. I wonder how much the Internet has contributed to this because schools used to be the only source of information in many cases but now a lot of that is easily searchable.
I've been asked to interview. I'm not a great interviewer, but maybe OK. I try to figure out if they can work the tools. I'm pretty lax - interviews are stressful and missing a comma can take a minute, I don't like people twisting in the wind over a syntax error and will point it out if I'm pretty sure they'd get there. I try to decide if I can work with this person. I try to figure out if they'd be ok with how things work at my current employer.

I have two very memorable no's. They were for pretty senior/advanced IC roles. Juniors would get far more slack. I usually ask an expression evaluator question.

One person, used eval(string). Brilliant, absolutely brilliant. full points for answering, but how do we make sure the string is safe to eval? Long frustrating discussion around regexes that that maybe a junior dev is responsible for maintaining. Man, just write the parser. I know you can do it. Give me something that's something that's not _crazy_ to put into prod. Give me something that won't be a bug tarpit. Sorry man, I loved your answer. I hated your response to how this can be operationalized. Clearly super smart. Maybe I should have given the green light, but the response to criticism was so bad. There are lots of people I disagree with, that I'm happy to work with. I think I made the right choice, but I wonder from time to time.

Another person I absolutely would have loved to work with, and would have learned a ton. Very into formal methods, or slightly relaxed versions of verifying reliability. My organization at the time was pretty fast and loose. I believed they would be miserable. In the interview I told them I'd give them the green light, but they'd have a huge uphill battle.

it's so hard to tell. People are adaptable, small mismatches can be papered over, but big mismatches - it's so tough to say. Relaxing and being vulnerable on both sides is so hard to do well. Maybe I was just a jerk. I think I made the right calls, but it haunts me.
Being eaten by avian predators is probably a bigger risk. But apparently it’s worth it.
>NYC used to have Juno, but it went bankrupt in 2019. I feel like if you can't run a single-city rideshare app in NYC, you're gonna have a hard time doing it anywhere else.

I haven't used it (I always pay cash, as the drivers are charged ~3-5% per fare for "CC processing" when a card is used), but every NYC taxi has a feature where you can pair with the onboard system and pay with your phone.

Not sure what "pairing" requires, perhaps someone else has used this feature and can comment.
I interviewed a while ago at a well rated (but not MANGA) company. I was livid when the interviewer decided to move to an easier question and was skeptical when I “solved” in-order traversal of a binary tree without thinking. “Oh, you’ve seen this problem before?”
“Yeah; a few weeks into college…”

I’m a staff engineer and tech lead at a MANGA company. I code in up to 5 languages a day. I’ve written Network stacks, compression software, virtualization software, and the backbone of multiple PaaS platforms. And they were focused on whether I knew niche algorithms (apparently based on EXT3) and other stupid stuff.
I was going to say it should respect the system setting. Apparently that’s a problem. But personally, i find it irritating if something can, but doesn’t respect my system setting, and i personally fought to not include such a toggle on an iOS app. At least on iOS, if you set things up correctly, it’s easy to support the system setting, and implementing a toggle makes things harder but i am not a web developer, so won’t comment on the problems there.

I’ll add that on iOS, you can add the light/dark toggle to that drop down from the top right drag down menu. In most cases, i use dark mode anyway, i find the need to change the mode because something looks terrible in one mode or the other to be few and far between, but sometimes, i like to work outside, and just switch to light mode. And if i have to find another toggle because something didn’t respect that, it is irritating
This.
I don't get why it's so hard to create this type of interviews...
I think it's pretty obvious that a textbook that gets checked out a lot has a better claim to value than a textbook which is checked out seldom or never. Maybe there is some topic that is really useful to know. I bet a good book on this topic, that teaches it well, is checked out more often than a book on some useless subject or one that teaches poorly. Similarly, there are lectures on YouTube on valuable topics with tons of views and lecturers with lots of subscribers. If your content was available and accessible to large numbers of people would lots of people access it? If so, then your content is valuable, and if not...

Bryan Caplan's book, The Case Against Education, discusses defenses of education along the lines you present here. For example, he goes over surveys of college students to see what information they retained after graduating, and finds they retained almost nothing.

Maybe learning and studying is good for your brain and will enhance your ability to learn and study. But, this is an argument to learn and study, not to attend or try hard in college where learning and studying are very much optional.

This post is a great example. 70% of the OP's students were in this one particular cheating group. How many were cheating in other ways? Why are the majority of the students cheating? After all, aren't they only cheating themselves? Are they are irrational? Or, maybe, they are there for the credential which is the vast majority of what you get from college.
There are a ton of them, here are a few:

https://martinfowler.com/articles/session-secret.html https://github.com/trufflesecurity/trufflehog https://github.com/awslabs/git-secrets https://github.com/sirwart/ripsecrets https://thoughtworks.github.io/talisman/ https://github.com/michenriksen/gitrob
Isn't this what matlab and other tools like it try to deliver to?

Most programs I've seen in the industry use matlab and simulink for formal verification (of course, still ignoring the hardware design part) and I'm asking myself how many dependencies the verification should have.

I mean, even a simple Hello World program could escalate really quickly once you have to deal with TTY quirks or say, %X as a printf parameter.

The issue I see with matlab's approach is that it has a huge set of assumptions in its own compiler chain, which I guess is the core problem of all ABI compatible outputs.
> would you say "means for killing flies" or "fly-killing device"

I don't know. Again, I passed the patent bar, but I don't practice in prosecution. So, by my estimate, you have infinitely more experience than me. The answer probably depends on whatever the Federal Circuit most recently said about 112(f).
Probably Steve Yegge?
One thing to realize is that interviews are a two-way street. Do you think you want to work with the interviewers? Do you like the interview process? If the interview process is poor, what other kind of hiring decisions is the company making? Are you going to want to work with the people they end up hiring?

You learn a bit about the company during the interview, and if that bit is bad, then move on. If they ask shitty leetcode questions and the interviewers are hostile or hung up on unimportant details - move on to another company.
I always thought they went on the surface because they were drowning.
Annotate PDFs on Linux with PDFrankenstein
One thing I want to tell you is that, if you don't like what you do every day for decades, the extra money you make by taking that job won't make you happy. I have friend who took EE and CS major in college, got job in SV, making 300k annually, and feels depressed every day because he needs to work on things he has absolutely no interest in. You might think 300k/yr is good, but it's SV so the cost is also high. Many times he regrets that he should have chosen photography and film making when he had the chance. Unfortunately we are not longer young, so there is no easy way back.

I'm not sure how many young people made the choice to study what they study in college by themselves. But if you did, ask yourself if you are willing to make the sacrifice.
I can guarantee you that "We have to add a bureaucracy to fix all of this" won't actually fix anything.

I've seen proposals for regulating software engineers. They've all been transparent and embarrassing land-grabs. One (thankfully) failed effort in California was basically a series of electrical engineering requirements with a little bit of firmware focus, and some idiotic-even-at-the-time development methodology; absolutely useless for the stated purpose.
The idea is that we just don't have enough productivity to sustain slightly longer roads, and live in the same houses we used to have on farms in 1920s is insulting to reader's intelligence.

This is just another piece of luddite alarmism.

Always Remember: the situation is SO DIRE, we had to exempt private jets from the fuel tax. Even billionaires simply can't afford to pay gas taxes, this is how bad things are /s: https://www.bloomberg.com/news/articles/2021-07-09/private-j...

Meanwhile the city of Austin debt service is 5% of its budget, and Austin's debt per capita is $1,287.

Some Ponzi.
I’d also like to add that most generic white collar jobs require a bachelor’s degree. Adding the requirement cuts down on the number of applicants, so hiring managers have few qualms with doing this.
have to have a good GPA on that degree to get a job.

Maybe at some big name co, but you will probably learn more at some little self funded place that pays a little less and can't attract the top tier graduates.

After a couple years, get a job at a small startup where you and 5 other people write the entire product. From there you will be a far stronger candidate just about anywhere with a real engineering culture.

My GPA was fairly reasonable, but I worked through college, so I got a position at a large name brand company. Drove me nuts after having worked at places where I had written more code in a single year than most of the lifer's had written in their entire career. That is when I went the startup route, and basically did small companies for ~20 years until wife/kids/stability drove me into the arms of a mid sized company where I only work ~40h/week. Now I write code on the weekends to keep my mind active.
> Sounds conspiratorial.

Not really. More like direct action by selfish actors.

The existence of Fox News is a direct reaction to the media being non-compliant about Vietnam. The union busting propaganda was a direct reaction to the strikes of the 70s and early 80s. And the police forces have always been the fascist tools of the moneyed class (see: Pinkertons).

No conspiracy is necessary. Elephants will sometimes trample things simply because they are in the way.

> The best you can say is psychedelics were banned, which is half of what made the hippies lose interest in their parents’ generation.

I would, in fact, reverse that statement. I posit the fact that drug usage (especially marijuana) going mainstream sapped a lot of energy from what people regarded as "counterculture".
The problem is when a significant number of companies all cargo cult the same process- that way you can’t even write them off as a one-off bad place.
Pipenv or Poetry. Pip by itself is missing some key features, like separating dev dependencies (e.g. mypy)
Try doing a group by/sum query on a HTAP database vs your typical OLAP database, without copying data.
Feels somewhat like Prodigy vector art. (Mad Maze!)
20 years of software development, I don't remember the last time that I actually encountered a linked list in the wild.

> It’s just basic usage of objects in the case of a JavaScript implementation.

Just because you would make a linked list via objects doesn't mean that anyone would actually do it.
Mining Museums’ Genomic Treasures
“Complexity is the business we are in, and complexity is what limits us.”

Yet, just as Turski recognized, some people seem to be philosophically offended by this notion, and try to fight the proven limitations. They are under the impression that the world — and I’m not just talking about computing now — is essentially simple, and it the stupidity of people and institution that needlessly complicate it (or, in the case of software, “stupid” programming languages). If we apply careful mathematical reasoning, we could find solutions to anything.

Computer science is the very discipline that proved that essential complexity can arise even in the smallest of systems. Yet sometimes it is computer scientists and software developers who attempt to challenge the very foundation of their own discipline. Complexity is essential. It cannot be tamed, and there is no one big answer.

The quote is from excellent https://pron.github.io/posts/correctness-and-complexity and it would be really good if the authors read it carefully first.
...a drunk driver hits people crossing in sleet (ie, low visibility) and a crosswalk is so certain to have helped that whoever didn't put one there deserves to be sued.

I'm slightly curious to know how closely the actual reason for removing the half-assed crosswalk rather than turning it into a real one matches the clearly editorialized reason he's accusing them of having. I suppose there's no possible way it could have been something like "too many drivers won't respect it and it'll give pedestrians a false sense of safety" or such.
> But the vast majority of physicists today think the collapse of the wave-function isn’t a physical process. Because if it was, then it would have to happen instantaneously everywhere.

Why can't WFC be a physical process? Yes, when a photon on the Moon is measured it immediately changes the "wave function" of a photon on Earth from 50/50 to 100/0. But the wave function was always a probability, and probabilities always allow for hidden information. To the observer, entangled or not the calculation is still 50/50. And you can't e.g. "force" 1,000 entangled photons all to be positive to create an unlikely unusual scenario.

WFC collapse or no, both observers experience their own independent 50/50 photon collapse. It doesn't matter which observer measures first or if there is no "first" at all. The WFC may or may not be instantaneous because it doesn't matter. The fact that the particles are entangled doesn't affect observer A until he's able to observe observer B and vice versa.

For all we know all of our particles could be entangled with other particles halfway across the universe, it can't affect us until the speed of light reaches us so we can observer ourselves that the other particles are entangled.

Also why Hyperion isn't blurred, despite the fact that all of the particles which affect it are too small to be measured, is because Hyperion isn't too small to be measured. The particles aren't too small to be "measured" by Hyperion when they affect Hyperion, and just because Hyperion is further away from us doesn't mean it behaves and differently. And by seeing Hyperion's chaotic orbit we still can't predict those "unmeasurable" particles.
I would prefer something like GNU Taler over any cryptocurrency.
> That bassline might be simple and repetitive, just the notes F-sharp and A, but there is nothing dumb about it. For one thing, it’s the third and fifth of the droning D7 chord.

If this is referring to the original, it sounds like a Dsus4 atop the F-sharp/A ostinato in the bass. AFAICT the pitch class c doesn't show up until the guitar riff at the very end.

And that addition of c in that repeated guitar riff at the end is such a nice change. We should popularize a category of songs called "One Chord Substitution and the Truth." The Proclaimer's "I'm Gonna Be" is in that same category-- listen to it and see if you can spot the lone instance of a disco chord. :)

> Tina Weymouth never plays the tonic!

While I'm not sure exactly what Tina Weymouth was playing, somebody was generating the d a ninth above middle c and sustaining it literally the entire song.
I implemented the widely used MOSS algorithm (mentioned by a sibling) for my CS department in my senior year. That algorithm doesn't do AST analysis, it just looks at the plain text in a way that is resistant to most small refactorings. MOSS compares sets of k-grams (strings of k characters) between every pair of projects that are under test and produces the number of shared k-grams for each pair of projects. On any given assignment in a given semester, there's a baseline amount of of similarity that is "normal". You then test for outliers, and that gives you the projects that need closer scrutiny.

On the test data we were given (anonymized assignments from prior semesters together with known public git repos), we never had a false positive. On the flip side, small refactorings like variable renames or method re-ordering still turned up above the "suspicious" threshold because there would be enough remaining matching k-grams to make that pair of projects an outlier.

Our school explicitly did not use the algorithm's numbers as evidence of cheating and did not involve the TAs--the numbers were used only to point the professor in the right direction. We excluded all k-grams that featured in the professor's materials (slides, examples, boilerplate code). It also helped that they only used it on the more complex assignments that should have had unique source code (our test data was a client and server for an Android app).

My sense was that this was a pretty good system. Cheaters stood out in the outliers test by several orders of magnitude, so false positives are extremely unlikely. At the same time, the k-gram approach means that if you actually manage to mangle your project enough that it's not detected as copied, you had to perform refactorings in the process that clearly show you know how the program works--anything less still leaves you above the safe zone of shared k-grams.
I tried LIFX briefly a long time ago, but try a Hue color bulb. They go very red. (I use all Hue Color bulbs.)
Apples Self Repair Program Is Not What It Seems [video]
Give everyone a fixed amount of money if you want to make this more progressive than it is naturally (poor people emit less carbon already).
> Increased plasma concentrations of interleukin-6 (IL-6), interferon-gamma (IFN-γ), and acute-phase proteins were initially reported, and it is now well established that these and other cytokines, including tumor necrosis factor (TNF) in particular, are elevated in depressed patients (Dowlati et al. 2010). This inflammatory phenotype is also believed to be a significant contributor to treatment resistance in depression.

So are hematologists regularly noticing chronic inflammation in depressed patients? Why isn't this fact used clinically, at least for diagnosis, then?
I often think about this. We have 100s of services running on 1000s of servers and 10,000s of containers but I wonder how much of that is ‘waste’ in the sense that we are running 10,000x Operating Systems, 100s of load balancers, database per service/region etc.

Seems possible that horizontal scaling at every layer can be wasteful, but the alternatives are hard for me to even conceive.
It's not a waste of time, only caring about grades and getting a job is the most efficient use of time. I would've loved to learn too, but when passing classes impact the rest of your life, cheating and taking easier classes to maximize GPA are the right choices.
> This ridiculously untrue.

at least for JS VMs, this is true today. this answer will certainly vary for other languages/runtimes.

i profile and optimize a lot of JS/TS code that handles datasets with millions of datapoints at my day job. but you don't need to take my word for it; this claim is not exactly difficult to verify.

> Do you just play along or begin to explain how incredibly wrong they are?

in this case, i'd prefer to be proven wrong with code, rather than prose.