MurphyA/hacker-news huggingface dataset:
by 8s2ngy | 2025-05-14 03:37:17+00:00
It took me a few tries to get comfortable with Rust—its ownership model, lifetimes, and pervasive use of enums and pattern matching were daunting at first. In my initial attempt, I felt overwhelmed very early on. The second time, I was too dogmatic, reading the book line by line from the very first chapter, and eventually lost patience. By then, however, I had come to understand that Rust would help me learn programming and software design on a deeper level. On my third try, I finally found success; I began rewriting my small programs and scripts using the rudimentary understanding I had gained from my previous encounters. I filled in the gaps as needed—learning idiomatic error handling, using types to express data, and harnessing pattern matching, among other techniques.

After all this ordeal, I can confidently say that learning Rust was one of the best decisions I’ve made in my programming career. Declaring types, structs, and enums beforehand, then writing functions to work with immutable data and pattern matching, has become the approach I apply even when coding in other languages.
by stingraycharles | 2025-05-14 03:37:28+00:00
To me, as someone who hires and gives candidates take home assignments, Kagi’s assignment is huge and disrespectful of the candidate’s time. Surely they’re (probably unintentionally) filtering for candidates that have a lot of time to waste on projects like this — while people who are busy (the kind of people you want) will pass.

Surely there must be other ways to have an idea on a candidate’s skills.

In our case, hiring people with data engineering skills, we just ask of them a simple ETL challenge (pull data from zip file, transform it, insert into any database). We leave ambiguities in there and there are some Easter eggs in the dataset (eg null values where you would not expect it, incorrectly formatted CSV) that we use to evaluate how well a candidate can perform.

We timebox it at 4 hours, but don’t give guidance in case they run out of time, that’s a good suggestion.

During a follow up call, we review the code together and we’ll ask them questions on how to improve the code (“what if the dataset doesn’t fit in memory”, etc), which is what the actual technical assessment is. At that point they should already feel somewhat comfortable with the problem domain, and you can assess their real skills.
by al_borland | 2025-05-14 03:38:50+00:00
Honestly, you lost it with your first email asking for more direction, and every email after that just made it worse.

This was part of the assignment:

> This project tests your ability not only to code, but to deal with ambiguity and open-endedness, which is essential in R&D projects like Kagi Labs.

It was vague on purpose, they wanted to see how your decision making process goes with what you fill in the blanks with, without needing hand holding. You seemed to ignore this critical piece and went further and further against it with each message.
by rjmill | 2025-05-14 03:38:59+00:00
How do you know that interviewees aren't spending more time on it?

Because you can't guarantee all candidates are spending the same amount of time, it becomes a game theory problem where the candidates will typically lose in some form. In many cases, the right answer is to spend extra time making a really polished (but not too polished!) solution and pretend like you stayed in the time limit. And every candidate is either a) doing that, or at least b) worried that their competition is doing that.

Even if we ignore that dynamic, 3 hours is a long ass time for a candidate to spend when they're not even sure they'll get to talk to another human about it.

In a 1-hour interview, you can run a candidate through a programming exercise and be guaranteed they're not wasting extra time on it. And if they happen to prefer doing take home assessments, you can always let them send you an updated answer later. (But often by the time a candidate asks me if they can do that, I've already developed a favorable view of their skills and can tell them, "go for it if you want, but you've already 'passed' my test.")

By keeping the candidate-interviewer time investment the same, you guarantee that you're respecting the candidate's time as you would your own (because you're sitting there with them.) I can help them skip over the parts I'm not interested in (e.g., by feeding them info they'd be able to find via search or telling them not to worry about certain details.)

If a hiring manager doesn't respect their candidates' time, how likely are they to respect their employees' time?
by tonyarkles | 2025-05-14 03:39:14+00:00
Yeah, Uber has pretty much got it dialled in. I remember the early days when “taking an Uber” was a weird mysterious thing. Now it is, for me, the most normal thing in the world. I’ve had one mediocre experience: I had a 60 mile one-way trip from an airport and multiple drivers accepted and then cancelled. I went and talk to one of the taxis at the taxi stand and they were asking double what Uber was… so I waited another 15 minutes or so and found a driver. Otherwise it’s been a completely satisfying experience.

Airbnb has definitely gone the opposite way. My first Airbnb experience involved getting woken up by the daughter of the family that lived downstairs asking me if I wanted breakfast for 5€. I was getting whole apartments for 30€/night. Now it’s just as expensive as regular hotels, half of them expect you to wash all of the linen before you leave, and it’s totally unpredictable what you’re going to get. I just book with Hilton instead. There’s free bottled water and snacks waiting for me when I get there, it’s a pretty consistent experience, and free good breakfast at most of them.
by fasthands9 | 2025-05-14 03:39:14+00:00
I disagree. In the long run there was never a way for individual hosts to compete with hotels on price. Hotels have economy of scale so of course they are going to be better bang for the buck in places where both are options.

I think airbnb is still the better option in many situations - such as when you are willing to pay a premium to be in nature or you going on vacation with 6+ people.

I don't really see how better tech would ever prevent this outcome. Perhaps this disappointing in terms of continual growth, but I think it was inevitable and still provides a good path for the company to be uniquely useful.
by duskwuff | 2025-05-14 03:39:21+00:00
> I mean, what if part of the role that’s being hired for is to help people clearly define the specs and requirements?

Then I'd expect the interview process to focus on that process, not on the final deliverable. As it stands, the candidate tried to interact with the interviewer by trying to ask for clarification on the requirements, then making a detailed proposal, and got no actionable feedback from either.
by silisili | 2025-05-14 03:39:26+00:00
My honest feedback below from the perspective of a hirer. I'll start by saying I hate takehome stuff, for exactly reasons like this. It wastes everyone's time. They're fine as a 'last step before hire' thing, but not as a filter.

1 - Too much chatter. Part of the assignment is using judgment and working in ambiguity. I probably would have ran with what was given enough to knock out something small and local in an evening or two. Asking questions is usually fine, they even welcomed it, but seems counter to the original ask.

2 - Writing and sharing a proposal seemed like way overkill. You have to remember that these companies are now getting hundreds if not thousands if not tens of thousands of applicants, that is a lot to deal with if everyone does so. I think it's a bit of a disconnect...you feel like you're going above and beyond and being thorough, they feel like it's being a bit long winded and wasting time. That probably explains the nonresponse.

3 - The finished product seemed functional, but seemed a bit overkill on the infra and polish. This is probably a good thing to work with you, but ended up wasting a lot of your time if not being selected, which was the case.

4 - Maybe I missed something, but the requirement asked for terminal inspired. I'm not quite sure precisely what they meant by that, but didn't see any possible interpretation of that in the result.

Anyways, hope you don't take it too negatively or personally - you obviously are a talented individual and moreso seem to really care about your work. Just wanted to play a little devil's advocate with a different perspective.
by pizlonator | 2025-05-14 03:39:34+00:00
I mean bro isn’t totally wrong.

Fil-C’s perf sucks on some workloads. And it doesn’t suck on others.

Extreme examples to give you an idea:

- xzutils had about 1.2x overhead. So slower but totally usable.

- no noticeable overhead in shells, systems utilities, ssh, curl, etc. But that’s because they’re IO bound.

- 4x or sometimes maybe even higher overheads for things like JS engines, CPython, Lua, Tcl, etc. Also OpenSSL perf tests are around 4x I think.

But you’re on thin ice if you say that this is a reason why Fil-C will fail. So much of Fil-C’s overhead is due to known issues that I will fix eventually, like the function call ABI (which is hella cheesy right now because I just wanted to have something that works and haven’t actually made it good yet).
by Animats | 2025-05-14 03:40:06+00:00
The "Experiences" thing sounds like Groupon. What killed Groupon was that Groupon wanted too big a cut, and the service providers dropped out. This trick only works if you reach oligopoly levels, so providers have to sign up or go broke. AirBnB is there in short-stay housing. Doordash/Uber are there in food delivery. Doordash/Lyft are there in gig rides, but might not survive Waymo. Amazon is there in e-commerce, but it took decades.

Can AirBnB find a second niche they can start to take over?
by theamk | 2025-05-14 03:40:10+00:00
they actually did not... the original requirement said "a minimal, terminal-inspired email client" and "take inspiration from existing terminal email tools like aerc, mutt". This is nowhere near them, not even close.

Not sure why OP makes no mention of this in their blog post - perhaps they thought those parts were unimportant? In which case I am not surprised at the results.
by CollinEMac | 2025-05-14 03:42:12+00:00
Man this sounds rough. I had a somewhat similar experience a while back but instead of going back and forth trying to nail down requirements, I went down this spiral of wondering if the lack of clarity wwas part of some kind of meta-test.

"Do they want to see if I can build something with as little guidance as possible?"

"Do they want me to push for more requirements like I would on a real project?"

"If I build something cool but totally off from what they expected will that make me look better or worse?"

"Or are they just trying to weed out the people that can't code at all?"

In the end I didn't get a follow-up interview and they refused to give me any feedback on how I could have done better on the take-home assessment.

Back to the OP: One such example would be to do a live code review. This could be done asynchronously or synchronously. It could allow actually talking through topics and issues that relate to the challenges in a real software project. This would allow to surface much more of the knowledge in an experienced software engineer.

I like this idea a lot.
by josephg | 2025-05-14 03:42:39+00:00
So? That wasn't the claim. The GP poster said this:

> This can potentially lead to performance and/or control flow issues that get incredibly difficult to debug.

Writing a linked list in rust isn't difficult because of control flow issues, or because rust makes code harder to debug. (If you've spent any time in rust, you quickly learn that the opposite is true.) Linked lists are simply a bad match up for the constraints rust's borrow checker puts on your code.

In the same way, writing an OS kernel or a high performance b-tree is a hard problem for javascript. So what? Every language has things its bad at. Design your program differently or use a different language.
by herodotus | 2025-05-14 03:42:49+00:00
This is mostly what I worked on for many years at Apple with reasonable success. The main secret was to accept that everything was geometry, and use cluster analysis to try to distinguish between word gaps and letter gaps. On many PDF documents, it works really well, but there are so many different kinds of PDF documents that there are always cases were the results are not that great. If I were to do it today, I would stick with geometry, avoid OCR completely, but use machine learning. One big advantage for machine learning is that I could use existing tools to generate PDFs from known text, so that the training phase could be completly automatic. (Here is Bertrand Serlet announcing the feature at WWDC in 2009: https://youtu.be/FTfChHwGFf0?si=wNCfI9wZj1aj9rY7&t=308)
by rich_sasha | 2025-05-14 03:42:54+00:00
Beef CO2 emissions is more than cows breathing. Theres a lot of fuel burned when moving them around, making feed for them etc. I can't quite remember, but for every 100 calories of food eaten by cows, you end up with 3 calories worth of beef.

So right there off the bat, beef CO2 / calorie is 30x higher than the plants they eat (or whatever the multiplier was).

We didn't do any of these for the bison.
by theamk | 2025-05-14 03:44:32+00:00
nope, they asked the clarifying question, and got the response that there are no business requirements: "That is part of the assessment itself, see what kind of extra features you can come up if any."

They were failed because they could not deal with the answer, they were not failed for act of asking the question itself.

Actually happens sometimes in my work... Q: "Are there any requirements on the database used?" A: "Nope, just make sure the final system will be able to handle the required load"
by abhisek | 2025-05-14 03:44:49+00:00
We felt that OSV schema is designed with security tooling and automation as primary design goal. Specifically for our use-case, it captures the package name and versions using standardised schema. Also we saw adoption of OSV by package ecosystems like Python, Go etc.

While CVE is still the largest database of vulnerabilities, we felt OSV is good enough to identify most recent vulnerabilities
by bsimpson | 2025-05-14 03:44:50+00:00
There are actually some really interesting problems to solve there:

It's now widely understood that online reviews can have a large impact on the success of a small business.

- What rating do you leave if you have a disappointing service from a really kind proprietor (like if the best humans make you the worst food)?

- Are we entering a world where there will be ramifications for the reviews you give? Will a restaurant be less likely to seat you if you left a middling review? As more places require you to identify with a phone number before you can be seated, will you receive worse service if you left a disappointing review or tip? It feels like reputation is about to flow in both directions.

- How do you avoid rating inflation when people who have bad experiences are reluctant to write about them?

And there are a bunch of little bugs in the current rating ecosystem:

- Culture impacts a rating. Americans are conditioned to start from 5 and deduct stars, which makes it harder to identify truly great places. Contrast this with Japan, where 3.5 stars is a really good rating, because Japanese people start from the median.

- If a place has thousands of reviews and a really high score, they're probably bribing people to rate them.

- How do you protect against spam? That includes reviews being bought from call centers, but also shitposts from people who don't like that something exists, or the way its staff behaves outside work.

- If people who eat fast food like a fast food place, it could have a better rating than an objectively better place that caters to more discerning clientele. How do you communicate that the people leaving reviews are/aren't representative of your tastes?

And as you alluded to, writing reviews (and HN comments) takes time that would often be better spent doing other things. What incentives do people have to take the time to leave a useful review? Can we find a way to make the process less burdensome?
by janalsncm | 2025-05-14 03:44:52+00:00
It’s pretty disrespectful in my opinion. It would be better if they took 90% of their applications and secretly threw them in the garbage than to waste applicants’ time evaluating them on vague criteria.

I have been lucky enough to be able to reject take homes. Next time, I might offer to do them for a flat rate of $200/hour but working for free is something I will avoid.

If it’s going to be used as a screening process, at least give clear guidelines and evaluate it pass/fail.
by codersarepeople | 2025-05-14 03:45:14+00:00
There are 2 schlumpf drives; there is a bottom bracket-compatible one like you describe. That is used for recumbent bikes and a few niche things like Kiwgglebikes. However, they still power the wheel with a chain. The unicycle hubs, which are the same as shown in the cyclauto, have no chain; the hub is also the center of all the spokes on the wheel. But yes, they are basically the same thing.

I'm sure it doesn't cost $1500 to produce, that's just the cost to consumers. My point wasn't that it's ridiculously expensive (which it is), but that this seems like a really high hurdle to produce the cyclauto; no other company is currently producing the unicycle version, and even if they can manufacture them for, say $500, that's still astronomical compared to if they used the cruzbike model.
by overgard | 2025-05-14 03:45:16+00:00
I don't mind take home assignments per se, but it seems like there should be a reasonable "this should take this long" time boxing of the thing so people don't waste a ton of time. I've done take-home things a couple of times and they always had "this should take 12 hours" or whatever time amount.

The "simpler" solution part stood out to me though. Given that Kagi was putting little effort into the thing, I wonder if his verbosity/try-hardness might have been a turnoff? Afterall, part of the thing is determining if you want to work with a person, my impression reading his blog post was.. mildly turned off? There was just a bit of desperation to it (which might be from real factors!) but still. That sounds mean and I don't like saying it, that's just kind of the vibe that hit me.
by permo-w | 2025-05-14 03:45:48+00:00
get your head out of your own arse. it's got fuck all to do with needing to be told what to do; you should see the level of customisation I have set up on my laptop. the overriding issue here is that if you're doing things on your phone that require massive customisability then you're doing something wrong. phones are for calling, photos, music and occasionally looking something up. almost anything else you should be doing with a keyboard and mouse. a phone that you have to constantly dig through the settings and install a million utility apps to make bearable is a bad phone. a phone you have to pay a grifter to transition you to using is a bad phone

>Idk how something can barely work as a camera/powerbank unless user error is present.

I literally explained this in the comment. the device doesn't connect to my laptop when I plug it in, meaning that I can't transfer photos off it easily

your entire comment smells viciously of "oh my god! how dare he not have had a good experience with android. my poor baby android..."

if I was biased I wouldn't have bought an android in the first place
by Tiberium | 2025-05-14 03:46:07+00:00
To be fair, they do explicitly say "build a minimal, terminal-inspired email client" and then "Email client can either be in the terminal (i.e. a TUI) or a web app" below, so even if it's a web app, they expected it to be terminal inspired, especially from the next paragraph in "Inspiration":

> Your implementation should take inspiration from existing terminal email tools like aerc, mutt, or even something like himalaya.
by tacitusarc | 2025-05-14 03:46:09+00:00
I think there is a nuanced but discernible difference between people who are talented and time constrained, and those who are mediocre/lazy/disinterested.

I used to think the incentive structure was a dominant factor, but my opinion on that has shifted over the past ten years. I think companies need to incentivize capable employees to stay, because they will often have many other opportunities elsewhere. But in most cases I don’t think those incentives cause people to work harder or more effectively than they would otherwise.
by twelve40 | 2025-05-14 03:46:13+00:00
> snitches get stitches

i think on Google Maps they can't rate you back (maybe on Booking too?), so depends on the service. I don't review much anyway, but about a couple of times a year I run into a pretty amazing place that I can't help but compliment, and once in a blue moon a really crappy place that really upsets me so I feel like sharing that too. I see absolutely nothing pathological about that.
by benmusch | 2025-05-14 03:46:17+00:00
Yeah, a clearer explanation in the rejection email would have been nice, or perhaps even a warning in response to the proposal (though it's not 100% clear from the proposal alone that OP would be going down a path that ignores that part of the assignment.) But the prompt explicitly lists other terminal clients as the inspiration.

Also, the prompt for a terminal client really changes what they're testing! Email web UIs have been a known quantity for years. But the UX of a terminal client is still something that's not "solved." I suspect the rubric for the question has large sections about how they decide to make a terminal client that OP's submission doesn't address at all
by plandis | 2025-05-14 03:46:26+00:00
Its fascinating to me that someone in their early 20s in the 2008 worldwide economic recession to have that much economic success.

The fact that this guy could see that massive data analysis with was a winning investment strategy and then out compete others with way more experience in financial markets is impressive.

I’d be curious in the markets he initially invested in. Was this a market inefficiency specifically in China in the late 2000s?

I’ve always assumed that quantitative analysis requires PhD level knowledge of markets and mathematics but maybe I’m being way too conservative?
by remram | 2025-05-14 03:46:50+00:00
I don't know how to read your comment other than "nothing hard is worth doing". Some things have benefits and drawbacks, is the existence of drawbacks always a non-starter for you?

I'm trying to phrase this as delicately as I can but I am really puzzled.

If someone wrote an article about how playing the harp is difficult, just stick with it... would you also say that playing the harp is a terrible hobby?
by highspeedbus | 2025-05-14 03:47:06+00:00
This is the best advise here. OP, I'm sure that life is hitting you hard, but there's some valid criticisms. When we're in angst it subconsciously gets into everything we write, including resumes.

You need to sober up. Tailor your resume to each application, Cut excesses. Write simpler and make sure your experience covers what the position asks.

Also, consider talking to friends or doing therapy. Opening up with someone you trust helps a lot. Avoid doomscrolling. Things can look bad right now, but they can get better. Good luck.
by apitman | 2025-05-14 03:47:15+00:00
> Google has made an API available for picking a directory to sync with

The available APIs are a pain to work with and have terrible performance. And it doesn't work at all with native code.

Also what about people using Nextcloud to back up their phones? It would need access to everything.

If I want to give an app access to all my files, google shouldn't have a say in that. Their paternalism is pervasive and palpable.