skysight-inc/HackerNews huggingface dataset:
VS Code:

1. Open Source control window

2. Checkout the PR branch

3. Open the branches listing panel in the sidebar.

4. Mouseover the target branch of the PR

5. There's an icon that looks like two nodes with arrows pointing between them. Mouseover text "Compare with ...". Click it.

6. The search and compare panel in the sidebar has a listing of files changed, you can click a file to get a diff view.

There are gitlab [1] and github [2] extensions which streamline this workflow if your code is hosted on one of those services, and let you leave comments in editor which show up in the web UI.

IntelliJ has support for display a diff for a branch or github PR built in [3] but I hate their diff modal view.

[1]: https://marketplace.visualstudio.com/items?itemName=GitLab.g...

[2]: https://marketplace.visualstudio.com/items?itemName=GitHub.v...

[3]: https://www.jetbrains.com/help/idea/contribute-to-projects.h...
We can actually go a little deeper. In a famous pair of papers, "CONS should not actually CONS its arguments", Henry Baker argued that (cons) is emblematic of a class of primitive/simple functions which vanish under continuation-passing style, and that LISPs should deliberately be structured around this fact. These papers directly inspired CHICKEN, the first modern fast LISP runtime.

This is ignoring many Common Lisp specifics which are relevant to the blog post's original code, but I figured that on this example, the historical microscope is appropriate.
> if someone drops an involved coding question in an interview I'm done and I will walk out and not return future calls

With the greatest respect, the vibe I'm getting is "this person is prone to reacting in a volatile manner when things are not to their liking."
> the bottleneck does not reside with the choice of the language.

I think that's too bold a claim. Your code might be too slow in any of these languages because you made poor algorithmic or data structure choices but once you have made the best possible algorithmic and data structure choices you may reach a point where you can't express the program with the choices you need and get the desired performance in some languages.

At that point, in the immediate present, you have to choose the tool that actually gets the job done. It doesn't matter if C++ could totally hit your numbers "once that LLVM optimiser bug gets fixed" or if Java could do it "when they port the new JIT to our platform", you need the thing that works now.

Over the medium term, language evolution makes an impact here. Once upon a time C++ didn't have move semantics. Obviously in some cases your compiler can move as an optimisation, but in other cases if you can't ask for one explicitly you're often out of luck. However C++ has a specific performance goal ("Leave no room for a lower-level language") that guides them to find a way to get great performance, and they changed the C++ language to fix this. If your ideal solution is slow in C++ then the C++ committee ostensibly wants to fix that. Just maybe not this year. In contrast for Java performance is not a primary goal and sometimes Java is OK with worse performance. In this particular essay it happens for RAM consumption. This problem shouldn't run out of RAM on your mid-1990s server at the scale demonstrated, but the Java solution would either run out of RAM or spin up the GC mid-solution (and thus ruin speed).

No argument that "I'll rewrite it in Rust/C++" is just as much the wrong first instinct as "I'll hand roll the assembler". But if you're under-performing with the right algorithm you need to either spend money on more (faster/ bigger) hardware or on rewriting in the language that might buy you that last drop of performance.
Usually, killing another being in order for you to survive (outside of self-defense) is not considered morally right.

Either way, even by your logic, tigers may be morally neutral, but bears or wolves should still be considered evil.
While interviewing with a start up, I was asked to do an assignment which took almost a week to complete. After the assignment, I went through 6 rounds of interview.

Then they kept me hanging for a week, only so send me a rejection mail.
Riiiiiiiiiight.

So, we're talking about organised criminals here? Primarily, anyway?

They steal power tools because they figure they can make a lot of money out of them, and there's clearly a substantial market for stolen power tools if that's the case. It matters not one whit if the goofballs who steal the tools on their behalf are able to make them work or not.

Do you honestly think they're not going to be able to figure this stuff out and easily inactivate the Bluetooth lockout?

All you're going to end up doing is passing the cost of this theatre on to legitimate consumers which, perversely, will increase the appeal of buying stolen tools at a discount. Bravo.

Why not use the tagging mechanism you probably already have for high value items and which won't require any additional costs/new technology?

This has nothing to do with customer experience, or even with reducing revenue lost to shoplifting, and everything to do with some tech/IT guy's wet dream about control and power.

(Cynically, I wonder if this also provides a route to killing the secondary market for power tools, forcing people to buy new. It's a long play but it's exactly the kind of thing I can imagine them doing, especially with people like Sonos having tried to brick speakers to prevent them being resold.)
Also, maybe "dont use tricky NMC batteries for stationary storage, when LFT can be cheaper and safer".

Still, hypothetically, can you use a (large) hose to fill a burning MegaPack container with water to cool it down? Maybe possible shorts in the other pods will make things worse?
Yeah, yeah, autoconf sucks, so does maven (IMHO), software is complex, and, yes, we could do better... But, to reason from these examples about thousands of projects is disingenuous.

The rumors of open source's demise have been greatly exaggerated.

I use open source both privately (Linux, some open source games, FreeBSD a long time ago), and professionally (mostly Java and database stuff), and while sometimes I can't help rolling my eyes, on the whole open source works incredibly and surprisingly well; especially compared to the alternative of closed-only corporate software.
I like this one out of a series of similar papers: https://arxiv.org/abs/1905.01518

Maybe not light reading?, but accessible still.
You should explain what makes you think that this UI shows lack of focus...

The "search" field is probably where some may not expect it. And the #f6f6ef background when inverted will not go full black/off, a nuisance if anyone used an OLED display - but for this latter, OLED display owners probably use intermediate software to tweak the original interface (otherwise, colours are part of a recognizable trademark, not just a function oriented component). If I do not see other points to note, others equally will not. Do not have people guess.
Well, language != framework.

But you do have a point - the browser itself can sort of be considered a framework (some might say runtime), in the sense that it's a layer of abstraction. Certainly an imperfect one, but an extremely mature and stable framework with excellent backwards compatibility.
Did zoom not have forced arbitration? When can forced arbitration turn into a class action?

The courts are public and law can be made from new interpretations and context (precedent). Coinbase, Kraken, etc have forced arbitration. Can this be overturned when a new interpretation (say securities law) could be made by a court in the open, vs arbitration which is private?
I'm a musician. I make my own cables, all green.
Oh wow. I forgot about them! I was just starting out as a teen in the 90s. Went to a couple of 2600 meetings waaay back in the day. That was indeed a wild west scene. I had no idea what I was doing :)
Agreed. These days I'm really fascinated by clojure and trying to learn clojure. Other than the project setup and repl and the editor (which I had considered), these weird characters are throwing me off.

What clojure really needs is some kind of opinionated framework or starter template, something like create-react-app. That has all these things figured out so a beginner like me can start playing with actual clojure, which documents all the steps to setup the repl and editor and what not. The last time I asked for this I was told about lein templates, they help but there's no documentation to go with those.

There needs to be some push from the top level. create-react-app was produced by facebook. Elm reactor (which lets you just create a .elm file and play with elm) was created by Evan the language creator himself.

tldr: There's a huge barrier to start playing with clojure that needs to come down and the push needs happen from the top level.
There may be a signal-to-noise problem, but the amount of useful open source projects and the extent to which we rely upon them has only increased in the past 20 years. “Open source” includes projects like Go and NodeJS, which are hardly trivial, disposable projects like you’re referring to. Pretty much all crypto is open source and people have invested tens of billions in that ecosystem. I could continue and list at least half a dozen projects that are considered critical infrastructure which are developed in that fashion.
O(nlogn), but with very large constants :-)
I'm sure the "terrorist sympathizers" label has absolutely nothing to do with the same people leveling those criticisms also being rather sympathetic towards the people committing terror attacks against Israelis...
Sure, the ring buffer part of also useful.

The competition triggered part is what was already there.
I can relate to the whole "never-ending job interviews" as described in the article.

Two months ago, in June, a company reached out to me regarding a senior level back/front hybrid role. This company previously ghosted me two years ago but still had my resume and were now willing to hire me right away for a substantial increase in pay.

Before I accepted any offer, I shopped myself out on Indeed and found there is a huge demand for folks like myself right now. Here's a taste of how it went:
Company #1: Fintech startup. Two separate 30 minute, non-technical interviews. Third interview was a four-hour long interview involving multiple LeetCode problems. Fourth interview they wanted to discuss my performance during the third interview, and then schedule a fifth interview. I declined because a) I felt this was overkill and unnecessary, and b) one of their developers was rude and condescending because I am self-taught. He went out of his way for 8 minutes to berate me. I had never experienced anything like it.

Company #2: AI-focused firm in analytics. Hiring for a management-level role. Went through three interviews. First was a 30 minute screening. Second was an hour long overview of my technical background. Third was mostly a follow-up to the discussion that took place during the second interview. And at the end of the third interview they informed me there would be four more interviews to meet the team, write code, and a whiteboarding session. I declined and said I'm not interested, again because of the time factor mostly.

And I noticed this process repeat itself for most companies. It's mentally exhausting, plus I have a family, my current job requirements, and other responsibilities.

The interview process is really unpredictable to a degree. Some folks want to see substantially more coding than others, taking into account similar job roles and descriptions.

I see a lot of folks who have interviewed with FAANG companies, and while I don't have any experience with them, the process sounds somewhat similar.
Well I think Jews learned the hard way they are different, so it makes sense to have a word for someone who isn't Jewish. The settlements are a controversial topic in Israel, a fact is all of Gaza's settlements were dismantled and besides a very vocal minority no one in Israel gave a damn.
Both are strange and alien to Javascript developers, who can be full stack.

Python may seem simple once you know it, but going in blind there's plenty of traps to bite you. Significant whitespace for one.
I am not saying they don't want it but I don't see it often. It is of course a luxury item, but while I see that people buy an iPhone for their social status, they probably can't afford both. And it probably comes lower in the list of social status/usage ratio as a golden watch could replace an Apple watch, but not an iPhone.
The problem is that it only takes one or two wildly incompetent people to completely disrupt the quality of the software. These are the kinds of developers who actively create bugs, usually by building (or copy/pasting) solutions that only work by accident, or who decrease the velocity of everyone around them by generating reams of overcomplicated and brittle code that is hard to test, hard to review and hard to maintain. It costs a lot of management time too, trying to find a way to get them to improve, or to build a solid case for letting them go.

I think the reason why every developer tends to have a story about these sorts of incompetent colleagues is not necessarily because 50% of their colleages are incompetent, but because even if just 2% (one person in the department) or 5% (one person in your larger project team) is incompetent, that can be enough to cause a seriously negative impact.
Theft under $5k in Canada is an indictable offense which is the same as a felony in Canada.

*if the value of what is stolen is not more than $5,000, is guilty

(i) of an indictable offence and is liable to imprisonment for a term not exceeding two years*

https://laws-lois.justice.gc.ca/eng/acts/C-46/section-334.ht...
I do not disagree.

The more people who interview, the more average the candidate has to be to succeed.

For all the talk of "hire fast, fire fast" the reality is that most companies do not know how to evaluate someone within the probation time period in which they could let go of someone with ease (usually under 60 days) and after that they then fear doing so even when it's miserable for both the person (candidate) and team involved.

I hire a lot, and some of my thoughts on the process:

1. The interview process should be short and sweet. 3 steps is enough, if you can't make a decision in 3 steps then the decision is to decline.

2. The hiring manager should be the first to interview. We have a good idea of what we're looking for in a team and what other roles other managers have open, we can speak of most teams and can spare both the candidate and ICs from interviews that cannot realistically result in a hire. Likewise, we can increase the chance of a successful hire by having the people from the team the candidate would be joining conduct the interview.

3. Some of the best candidates get love/hate feedback, a candidate who consistently gets "hire" feedback is seldom as good as those who get "strong hire" mixed with "no hire" feedback. The consistent "hire" usually typifies an "on the fence but don't want to take responsibility for declining so will wave through"... opinions should be stronger, interviewers should be excited for people - challenge whether a consistent stream of "hire" feedback actually means "hire". All that said, always listen to "strong no hire" when it turns up.

4. To increase diversity you only need to interview people who aren't already over-represented in your org... you will hire those people at exactly the same rate as you hire everyone else. If you don't have these people in your pipeline you have a sourcing or branding/reputation problem so focus on those things. If you do have those people and aren't hiring at the same rate, you have a bias problem and should root it out with urgency.

5. Degrees are not a signal, so absence of a degree is not a signal.

6. Don't hire based on what someone has done as it only reflects what their employers asked them to do, instead hire on what they can potentially do - if it lines up with what you want to achieve it's a win-win.

Most of the above can be summed up as: Have an opinion and care about what you're doing.
Liquid cooling next-gen servers getting hands-on
One company I interviewed at in late 2019 referred me to an interviewing-as-a-service. I forget the name, but the gist was that this service hired and interview-trained software engineers (at least part-time, maybe full-time) who then conducted interviews and provided feedback to the companies purchasing the interview-as-a-service.

From my perspective as a candidate, it was fine (the interviewer was friendly and asked industry-standard questions) but I do wonder how it goes for companies that essentially outsource their hiring bar.

On the other hand, you'd need to be doing a lot of hiring to make it worth dedicating a software engineer to just interviewing people. Or you have someone who doesn't really understand code—like a recruiter—run the interview, with all the difficulties that creates.

TL;DR: hiring still isn't a solved problem.
Maybe more the opportunity cost of being an egotistical douchebag? It's amazing to see the stories in the magazines talk about the tech and the future of work, but gloss over the world of hurt this guy appears to be leaving in his wake.
Show HN: CTF “Start Here” Script
If you like CTF-style hacking challenges like HackTheBox or TryHackMe, this might be a handy tool for you. I originally wrote the script in bash but then decided to try it out in Rust because all the cool kids were writing things in Rust. Speaking of which, if you happen to know Rust well and you notice things that I'm doing wrong I'd love to hear it! I read through the docs and tried to learn what I could but I'd be shocked if there weren't a few poorly designed features here and there
>It also accused Zoom of misstating that it offers end-to-end encryption...

I really think that we need some sort of standard definition for what this actually means. Pretty much everything claims E2EE these days just as long as there is some sort of encryption used somewhere in their system. Many (most?) are not doing something that would mean that only the end users would have access to the content, even in the face of assertive actions by the provider. Many get the technical details right but fail to properly inform the user about any critical actions required on the part of the user to make that possible.

Providers of such things should be expected to explicitly state who you need to trust and under what circumstances.
I live in Sweden, it feels like every third person I see wearing a watch is wearing an Apple watch. It is by far the single most common watch brand I see.

Same with iPads. By far the most common brand of large screen device I see. Outside of office environments I see more iPads than laptops, and even in office environments I'm seeing more iPads today than even just 3 years ago.
IPO-bound Grab's net revenue rise by 39% in Q1
Just fyi - Mario Andretti and other similar drivers could be placed into any car and would perform at a very high level after a lap or so...
thank you. can it do annotation easily?
I hope it is a 2 way discussion between each side where they can make suggestions. On windows it turned into install this antivirus level of access program that has barely been tested and no guarantees it wont install malicious software as it auto updates every boot of pc. At a minimum it should require 3rd party(valve could step in) validated signed patches to minimize threat of individual employee selling off right to deploy ransomware to millions of machines.
Yeah I remember doing that too. Sometimes you could eliminate all the other answers because they weren't in the right area or the wrong sign. It was also interesting to see how answers would often have one that would be your result if you missed a step or had some other smallish error in your work.
It's a power tool, why does it need any silicon at all?

Obviously the primary current path of battery -> trigger -> motor isn't going to be able to be routed through any integrated circuits. So I have a hard time imagining that this won't be trivially bypassable.
Libopenaptx: Open-source implementation of Audio Processing Technology (aptX)
"Center for Countering Digital Hatred"

Is this another jewish funded censorship organisation that wants to destroy the right to Freedom of Speech?
Logically speaking, it's still a disadvantage even if it's one that matters less in some scenarios. Gender is highly predictive of a lot of biological statistics. Truly, we should be basing brackets on the biological stats themselves and make gender segregation a thing of the past. How will people react when the brackets reflect genetic potential rather than gender potential? Probably just as oppositional. People hate being told that someone else has a higher potential than them even if it's true. I don't blame them. But we can't live in a reality where we pretend that some aren't better built for certain endeavors.
Anti semitism is unique amongst other forms of racism in that there’s generally little or no action taken, even for blatant displays: https://vm.tiktok.com/ZMdbHft64/
The one thing that made me consciously avoid React for years (in favour of other frameworks) was the sheer amount of hype surrounding it. My experience is that more often than not this is a major red flag.

Having acquired at least a year of commercial experience in every leading framework I acknowledge that the developer experience is top notch, but it's oversold on a few key features, namely:

-"it's a library, not a framework" was BS as early as in 2017, when create-react-app v1.0.0 was introduced.

-It's said to be backwards compatible, but that's true to the same extent as in JS - new features introduced new conventions, which appeared to be driven more by hype than anything else, to the detriment of productivity. Hooks stand out as an example - it's a "junior killer" at least as much as Redux, and on top of that I've seen React developers misunderstand the premise to a point where they introduced obvious performance bottlenecks when trying to "update" the codebase. Performance tuning of React is a major PITA, but mostly because people new to front-end don't understand how the DOM works, which brings me to another point:

-The virtual DOM isn't a silver bullet(duh), but developers often ignore that. One glaring example is ironically Facebook itself, in which text selection tends to jump around and GC pauses are not only visible, but manage to freeze the page for seconds at a time. All because (I assume) the devs trust the framework too much.

Overall I'm thankful for next generation frameworks like Svelte or SolidJS, which manage to bring the developer experience to the same level of simplicity that I remember from over a decade ago, but without the drawbacks of the technology of that time.
For me it wasn't dark and stormy, it was hot and smoky...

I discovered my three "No Trespassing" signs were not on the receipt. It is funny that my anti-crime sign ended up being a crime. I spend so damn much money with them though, recently purchased wood chipper, gas powered post driver and tons of other little things. Probably spent a good $2000 in the past 4 months, so I don't feel guilty.
The Pandemic Has Forced People to Rethink What They Want from a Job
Not being treated like a potential shoplifter would be nice!

A friend of mine and I had these door alarm systems go off while ENTERING a store.

We (around 13 or 14 at that time) had to take off most of our clothes in front of other customers (in the middle of the entry next to the registers) until the "store detective" found out it was my friends cap, wet from the rain that day, that triggered the system.

Never told anyone because we were ashamed af.