skysight-inc/HackerNews huggingface dataset:
This is a great “engineering assessment” type question (as opposed to general problem solving or system design).

I like it because the solution is simple (add an op code via find/replace), but quickly shows how a candidate approaches a new codebase.

Testing how one deals with existing code and perceived technical debt (i.e. Chesterton’s Fence) is hard to do otherwise.

Can they dive into the weeds?

Do they get stuck refactoring until realizing why some code path is the way that it is?

Praise aside, I’d hope most shops could craft an exercise that takes less than an hour!
You know I was watching Amadeus about 15 years ago. It was the first time I had even heard about Salieri. In one of the first scenes an aged Salieri fails at a suicide attempt. Enraged and out of his mind he yells past his wardens (I think at a mental asylum) - "I am Antonio Salieri - the patron saint of mediocrity".

WTF I thought to myself. The "second best" musician was bemoaning his mediocrity. What ever hope would someone like me ever have.

It's been a long time since then. Fuck it if I was not going to have an opportunity to work on interesting things and am relegated to building stupid crud apis in my 40 hours! At least il make money so my family benefits while i get to build compilers, game engines, deep learning frameworks from first principles in my spare time (and I have a lot of it once I realized my work is not me).

Nobody can take that away from me. Nobody can take that away from you!
Yea 3 hours is way too long, this is a 30 min task tops.
There are lots of farms where animals are treated well and with dignity. At least over here in Switzerland. Source: worked at one, and saw a lot of them (my father worked as a vet).
A simple, (as-of-yet unidentified) asymmetric Authenticated Key Exchange
I think it heavily depends on the company you're going to work for.

More modern Japanese tech companies may pay up to 20-25m, depending on the position. The top paying company is almost certainly Woven Planet, but Mercari, PayPay, and a few other companies may also be willing to pay that (I worked for PayPay as a point of reference here, and also was in negotiation with Woven).

If it's Rakuten or Line, you're probably going to be get offers on the lower end (maybe 12-13m). If it's Rakuten, I highly recommend asking folks outside of the company that aren't a recruiter about it before accepting.

It's worth noting that people will probably tell you that it's not appropriate to negotiate in Japan, but they are wrong. You should negotiate, and you should ideally start with a high asking, if you're going to go first (you should try avoiding going first). I recommend having your recruiter give you the rough range they are thinking, then tell the recruiter roughly what you're expecting. If you have offers from other companies, your negotiations will go considerably better, especially since you can play the "if you offer x I'll stop negotiations with everyone and sign right now" card. I was able to increase my initial offer by 60% during negotiation.

If you're unhappy with your salary (or company) after arriving, I'd recommend looking around after you get your visa, and after your probation period. Ideally you'll get a 5 year working visa. It's generally not tied to your company (though some of the visas that get you permanent residency faster are tied to your employer). I recommend looking at western companies with offices in Japan (Meta, Google, etc). They can often pay 2x what Japanese companies will pay, especially for senior engineers as the local market doesn't have a lot of senior engineers to hire.
This reads more and more like Monty Python's Spanish inquisition sketches. I love it :)
There are 7.8 billion people on earth. 7.5 billion of them had no say at all, and 0.33 billion of them had a tiny say via elected representatives who wrote the laws before starlink was even envisioned.

I'm pretty sure if a global vote was held on the question of "Would you like to have 10,000 satellites launched so you have the option of paying a US company for broadband anywhere in the world?", the vote outcome would be a firm 'No'.
There is a repo[0] with Win98 icons (no complete, I think) in higher resolution.

[0] https://www.opencode.net/nestoris/Win98SE
I'm not sure if this was made clear in the interview but...

Do I have to modify memcached or can I just man-in-the-middle it with a python telnet client à la telnetlib?
> I remember seeing that their ultimate goal is in the 30,000 region.

When applying for permits, it makes sense to vastly overshoot your actual goal, it gives you negotiation reserves.
Also found this app on forums and I wonder why it's not popular. It's amazing, simple and effective. And absolutely free
> Hm, yes, but is that complexity really avoided if it's in the language/runtime?

Complexity can be abstracted away and this is still a worthwhile goal. Otherwise, we'd all still be studying Intel CPU documentation.
Two handkerchiefs
This is great! Gutenberg is the builder I seem fastest with, but still not as quick or nice as being able to raw code. This bridges that gap! I will absolutely plan to try this out on my next pages.

One initial thought is, I tend to use GenerateBlocks containers and headlines. So I'd want to be able to convert the resulting blocks into GB blocks.

Not sure the complexity of that, but that would be my particular workflow!

Great idea!
This lacks quite a bit of nuance. In node you are guaranteed that synchronous code between two awaits will run to completion before another task(that could access your state) from the event loop gets a turn; with multi-threaded concurrency you could be preempted between any two machine instructions. So while you _do_ have to serialize access to shared IO resources, you do _not_ have to serialize access to memory(just add the connection to the hashset, no locks).

What you usually see with JS for concurrency of shared IO resources in practice is that they are "owned" by the closure of a flow of async execution and rarely available to other flows. This architecture often obviates the need to lock on the shared resource at all as the natural serialization orchestrated by the string of state machines already naturally accomplishes this. This pattern was even quite common in the CPS style before async/await.

For example, one of the first things an app needs do before talking to a DB is to get a connection which is often retrieved by pulling from a pool; acquiring the reservation requires no lock, and by virtue of the connection being exclusively closed over in the async query code, it also needs no locking. When the query is done, the connection can be replaced to the pool sans locking.

The place where I found synchronization most useful was in acquiring resources that are unavailable. Interestingly, an async flow waiting on a signal for a shared resource resembles a channel in golang in how it shifts the state and execution to the other flow when a pooled resource is available.

All this to say, yeah I'm one of the huge fans of node that finds rust's take on default concurrency painfully over complicated. I really wish there was an event-loop async/await that was able to eschew most of the sync, send, lifetime insanity. While I am very comfortable with locks-required multithreaded concurrency as well, I honestly find little use for it and would much prefer to scale by process than thread to preserve the simplicity of single-threaded IO-bound concurrency.
Why should they pay if there are tons of candidates willing to go through process for free?
It does actually. Prohibition on youth almost universally results in extremely lower rates of use over their lifetimes of whatever was prohibited.
Agree with everything you say. Wine experts do try to use a common vocabulary, but it's a bit of the competing standards problem [relevant XKCD goes here]. Most of the wine training I received working in the restaurant industry was vocab words to generate up-sells, and most amateur wine snobs don't know enough not to fall for it.

I did have a fascinating experience, a bit more than twenty years ago, which pulled back a curtain onto a more interesting reality. I was working in private dining for a winery, one of the perks of which was getting to take home quite a bit of wine and food. One time I got offered the leftovers from a vertical tasting - that's every vintage of a particular wine - from their top-end estate-grown bottling. It was 15-20 bottles, I can't remember exactly, all half to three-quarters full.

Anyway, we decided to do it properly, and tasted them all blind. (I mean, how often do you get a chance to do that with close to five retail figures of wine? Most of us were in wine or food or associated industries, anyway, so it was going to be a good story, and bragging rights, if nothing else.) I think there were six or eight of us - me, my flatmate, the three girls from next door, and a couple of hangers on - and we all (without conferring) agreed on the three best vintages. Some of us ranked them ABC, some BCA, etc, but it was those three in all cases.

I went back to work a few days later, and told the wine maker 1) Thank you, and 2) you might be interested to know, blah blah blah. His immediate response? Oh, yeah, it was years ABC, wasn't it? Which it exactly was.

So, there's a lot of wine bullshit, but not all of it is.
No, but expensive to recover. EVGA should cover that cost.
If anyone is wondering why the body text on this page looks so beautiful, it's this sneaky CSS property:

font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale

Seems like sites with notoriously nice UI (e.g. Stripe) all like to use it.
Which is idiotic, as having your seeds on your desktop no longer makes it two factor authentication, rendering the use of phrase factually incorrect.
You don’t need the /s because it would indeed work better. But that’s just because anything would work better than a tower that randomly dispenses dollar bills.
Ugly Avatar
You mean like the async/await systems in the two most popular languages in the world - JavaScript and Python?

Async/await is definitely an alternative to user space threads, especially for IO bound tasks.
There is also https://satellitemap.space/
Maybe I'm not explaining my point very well. I think the fact that some papers don't get reviewed, even post-publication, is a feature not a bug. Otherwise it starts to present an unnecessary and damaging hurdle to publication, even if the reviews are post-publication because it is an implicit promise of future work.

A proper scientific journal is an efficient clearinghouse for information, in the same way that Hacker News is an efficient clearinghouse for tech news and commentary. Journal editors play the role of dang in this setup, applying a minimal but necessary amount of moderation and editorial decisions. But imagine if you weren't allowed to post a comment to HN unless you first lined up 2-3 high-karma individuals to provide a thoughtful reply. No doubt the result would be high quality discussion, but there'd only be a handful of comments on even front-page posts, and I suspect that the overall value of the site would be vastly less than the present HN.

There should be as few as possible editorial hurdles to clear in order to publish in a journal, e.g. one of the co-authors having published in the journal before or being sponsored by a respected person in the field. And the review that occurs before publication should consist of (1) spellchecks and such, and (2) formatting. This is how science worked for hundreds of years, and there's no reason we can't continue operating this way now that journal page lengths are a non-issue.

(I'm not a reactionary though. I'd like to improve upon the old format in many ways. In particular I'd want journals to provide specific support for publishing reproductions of existing work or 3rd party submitted supporting documents, and much better methods for retracting or correcting a paper.)
The sole advantage of async/await over fibers is the possibility to achieve ultra-low-latency via the compiler converting the async/await into a state machine. This is important for Rust as a systems language, but if you don't need ultra-low-latency then something with a CSP model built on fibers, like Goroutines or the new Java coroutines, is much easier to reason about.
All I see is a company that is developing a database engine and looking for people that can do exactly that.
Actually, I'd probably get stuck at: if it's only three hours of work to add mult to memcached, why isn't it already there?
> EVGA also encouraged the Reddit poster to make a warranty claim from the drive manufacturer(s) themselves to get his storage drives replaced.

Wow, the drive manufacturer's warranty most certainly wouldn't apply. There was no fault with the drives at all.

Very poor look for EVGA.
If you ask the entire world you would get stupid answers to a lot of questions. "How old is the universe?" for example would get it hilariously wrong.
I've found an annoyance, that disallows me to enter ń letter, as right option+n (used to enter polish letters on polish keyboard) is mapped to navigate over lists. I think app should have possibility to distinguish between left and right option, and/or maybe an editor of keystrokes
Does python involve calling "get_us_presidents()"?
I generally don't agree with the direction withoutboats went with asynchricity but you are reading in a whole lot more into that sentence than is really there. It is very clear (based on his writing, in this and other articles) that he went with the solution because he thinks it is the right one, on a technical level.

I don't agree, but making it sound like it was about marketing the language to JavaScript people is just wrong.
Re-running experiments is out of scope for any reviewer. You're supposed to trust their data, but review that their conclusion is actually supported by the data, as shown.
I couldn't get into the books. Just didn't resonate with me.

8breally enjoyed the show. The whole thing. The story stands well on its own.
It's difficult, but not impossible to do the recovery yourself. Swap the platters between two drives and clone the data to a fresh drive. I've done it on some 2 tb drives way back when.
You can do it for free with

[HKEY_CURRENT_USER\Control Panel\Desktop\WindowsMetrics]
"Shell Icon BPP"="16"

"24" and "32" should also work as values if you have a capable adapter+display combination.
Just out of curiosity - why are there so many duplicates?

Like 4 nearly identical IE icons. 6 very similar PC+Keyboard icons. 6 very similar trashes?
> I don't expect you to ask me to get familiar with a codebase, test, and implement a feature in 3 hours.

In any given day, I might find an issue or missing feature in one of my dependencies, clone that repository, make a change, submit a pull request, and move on with my day a few minutes later. This is absolutely an important skill.

I don't expect someone to be able to become an expert with a codebase in 3 hours, or even become deeply familiar with it. I do expect someone to be able to get familiar enough to make a simple change, and to feel comfortable working in a codebase that's new to them.
Take a look at part 2 for a step by step walkthrough of solving the problem.
I was thinking on the lines of Type 1 myself -- some reasons I can think of in hindsight:

1. I assumed that low-level code and performance optimization was not the ask (given it was a mere three hour programming challenge with a unfamiliar codebase)

2. The very elaborate description of Incr, Decr with emphasis on atomicity and multiple clients -- was heavily leading us towards thinking about how to utilize the already implemented, stable, and presumably finely performance-optimized functionality -- rather than re-implement your own.

So I assumed it was a test of design thinking where you can apply the concept of atomicity, parallelizable operations, resolving conflicts / locks / race conditions etc.

If they are looking for talent in Type 2 space where they can do incremental edits to a codebase powered mostly by copy-paste -- I am not sure this intervew question is for roles that need the highest levels of generic problem solving needed from experienced Software Developers who will drive software design.

Also if implementing Mult was so straightforward that it can be done so thoroughly (including tests) in under three -hours by a single person that is opening the code base for the first time; Then why had this feature not been implemented already by then by the original project maintainers? I am sure I can find some use cases where there is a need to do multiplication of an in-memory numeric value say in gaming, cypto, etc. in order to justify this feature addition.
Doesn't help the victim but this is exactly why I exclusively go seasonic for consumer desktop psus
> Thanks to the way we do things now a coin flip is _better_ than peer review. Public trust in science is at an all time low. I really hope you don't think "this is fine".

I don't think you read my post? I'm advocating we get rid of the "peer review" [sic] system entirely.

The sibling post is right though that this problem is with bad journalism (and bad institutions), not bad science. People think that "peer review" is actually some sort of scientific hurdle that strengthens the paper. It is not, it was never meant tho fill that role, and has been totally morphed by journalists into something it has no business being.
I honestly prefer my low tech cold water bidet at home vs the fancy ones in Japan. The water pressure from those just isn't high enough. The cheapo $15 one I got off Amazon though will blast everything right off.
I have been looking for a way to extract the x/y coordinates of people from a realtime video stream over the past week, mostly using YOLO, but also checking out other solutions.

I must say, my expectations of where things are in terms of reliability and performance have not been met. Sure on my new threadripper machine with an RTX4080 I can get a decent realtime result, but this is for a month long art installation in another country..

On a Raspberry Pi 3b+ I can decode one frames every 2.5 seconds using the smallest model. Nwed to consider my old notebook.
Just because somebody overloaded a word doesn't mean we can't correct people who use it wrong.

The correct phrase should be "sudden/unexpected emergence". Otherwise the phrase "gradual emergence" would be an oxymoron.
What if they treated humans the same way human empires treated other humans in America, Canada, Australia, South America , New Zealand
Turbocall – Just-in-time compiler for Deno FFI
The entire point of WSL is seamless integration. Windows drives are automatically mounted as /mnt/c, the Windows PATH is added to the Linux one, and it can run Windows .exe files and communicate with their standard I/O.
Still nice icons. Love the clarity and detailed shading of them at the pixel level, which is not something we see today with "flat" vector design.

It is kind of amusing how the printer icons when I come to think about it are actually visually referencing 10BASE2/10BASE5.
>I have the feeling that 3k satellites in orbit is a small percentage of what we have at the moment.

It's less than half, but not by that much.
He is clearly taking about the capital version of capital C.
Fibers and async/await are backed by the same OS APIs, they can achieve more or less the same latency. The main advantage of async/await (or to be more precise stackless coroutines) is that they require less memory for task stacks since tasks can reuse executor's stack for non-persistent part of their stack (i.e. stack variables which do not cross yield points). It has very little to do with latency. At most you can argue that executor's stack stays in CPU cache, which reduces amount of cache misses a bit.

Stackless coroutines also make it easier to use parent's stack for its children stacks. But IMO it's only because compilers currently do not have tools to communicate maximum stack usage bound of functions to programming languages.
They are from earlier releases. Microsoft likes to keep old features around forever for compatibility, so 98 has icons from 95 and 95 OSR2.
Louis Rossmann did a video with 107k views so far already https://www.youtube.com/watch?v=2cHDyq5hRk4

I would bet dollars to donuts that they lost a lot more than the replacement cost would have been.
But in this case why would you prefer approximation over answer ?
Safe/unsafe alignment in CSS Flexbox
Ages ago had a raid5 with 4 drives. Two WD, a Seagate and a Toshiba. PSU blew up, took the two WDs with it. Game over. Still not sure if the WDs were more sensitive or just bad luck. This is obviously not statistically relevant in any way, I still wonder to this day...
> so that it will be possible to reuse the same code for both TUI and GUI clients.

Why must a generaly good improvement these days always start on HN with "rewrite in rust" like it's the only language which still matters. Leave that up to the developer to what they prefer for the job.
It can and it should, but I disagree with the sentiment that when it's abstracted "away" it's not there anymore.

You just don't see it.

Abstraction doesn't change any fact about how the system actually works.
Yes, 100%.

I've mostly only dealt with IO-bound computations, but the contention issues arise there as well. What's the point of having a million coroutines when the IO throughput is bounded again? How will coroutines save me when I immediately exhaust my size 10 DB connection pool? It won't, it just makes debugging and working around the issues harder and difficult to reason about.
I'm not sure marketing privacy is the same as commodifying it, if anything commodifying something makes it less marketable...

Most marketing hinges on non commodities, take coca-cola for example, it's sugar water with a bit of caffeine, if they marketed that they'd be nothing, all of their marketing is about other stuff, intangibles

Kind of like Netflix's proverbial "chill"

Comparatively I'd say privacy is among better things to market
Yes it's unsolicited "advice" that shows an uncooperative attitude IMO. You can say "I don't want to do that" in a nice way without being patronising. If you look at the other closed MRs you'll see a similar attitude.

E.g. here (I'd forgotten about this actually): https://github.com/lezer-parser/generator/pull/6#issuecommen...

Here https://github.com/lezer-parser/lr/pull/64#issuecomment-1802...

It's nothing major but just emanates "difficult to work with" vibes so I didn't want to spend my time working with a project like that (looks like not many other people do either).
I agree! That’s actually not a jeer, it’s one of my main criticisms of lisp. You don’t need lists to have lisp. In many respects it works better without them; https://github.com/sctb/lumen proves it, since hash tables and arrays are the fundamental data structure. They have to be, because that’s the only way lumen can run in JS or Lua.

Every time I can’t delete the first element of a list in lisp (I.e. del x[0] in the python sense) I get annoyed with racket.

The reason I look past it is because the benefits are so good that they outweigh the annoyances. I wouldn’t trade it away.
Agreed - this is a great type of question. Being able to dive into a new codebase and read code at speed is a critical skill. Even when working on "the same old codebase", sometimes you run into weird corner cases that have you diving through a dependency, or debugging a perf issue that has you walking through other parts of the system. And reading a codebase doesn't always mean grokking the whole thing - if your goal is to figure out why some API call is failing, targeted reading is exactly what you want to be doing.

FWIW: Took me 20 minutes from start to finish, without editing tests, but including ~5 minutes taken to update the codebase so my new-ish Clang would actually compile it. I didn't touch the binary protocol, though; in a real setting you'd have to make sure the binary protocol extension would be compatible with other extensions made since this version.