Live data from Hacker News

Google rejected me and now I'm building a search engine

daoudclarke.net

101–110 of 151 posts

Re: Google rejected me and now I'm building a search engine

#101
> It’s you who chooses what sites we crawl

Yeah, but you still reserve the right to not crawl sites (or to remove them from your index), yes? So there's still the opportunity to do evil.

I'm still waiting for a "raw" search spidering provider. One that:

1. runs a web-spidering cluster — one that's only smart enough to know what robots.txt is, to know how to follow links in HTML pages, and to obey response caching-policy headers;

2. captures the spidering process losslessly, as e.g. HAR transcript files;

3. packs those HAR transcript files, a few million at a time, into tar.xz.tar files (i.e. grab a "chunk" of N HAR files; group them into subdirs by request Host header; archive each subdir, and compress those archives independently; then archive all the compressed archives without compression) — and then uploads these semi-random-access archives to a CDN or private BitTorrent tracker (or any other data delivery system that enables clients to only retrieve the blocks/byte-ranges of files they're interested in);

4. generate a TOC for the semi-random-access files, as a stream of tuples (signed archive URL, chunk byte-range, hostname, compressed URL-list); push these to a managed reliable message queue on an IaaS, publishing each entry to both an all-hostnames topic, and a per-hostname topic. (I say an IaaS, as this allows consumers to set up their own consumer-groups on these topics within their own IaaS project, and then pay the costs of message retention in these consumer-groups themselves.)

5. Also buffer these TOC-entry streams into files (e.g. Parquet files), one archive series per topic; and host these alongside the HAR archives. Prune TOC topic stream entries if (entries are at least N days old AND the entries have been successfully "offlined" into a hosted TOC-stream archive.)

---

This "web-spidering-firehose data-lake as-a-Service" architecture, would enable pretty much anyone to build whatever arbitrary search index they want downstream of it, containing as much or as little of the web as they want — where each consumer only needs to do as much work as is required to fetch and parse the HARs of the domains they've decided they care about indexing something under.

This architecture would also be "temporal" (akin to a temporal RDBMS table) — as a consumer of this service, you wouldn't see "the current version" of a scraped URL, but rather all previous attempts to scrape that URL, and what happened each time. (This would mean that no website could ever censor the dataset retroactively by adding a robots.txt "Disallow *" after scrapes have already happened. Their robots.txt config would prevent further scraping, but previous scraping would be retained.)

And in fact, in this architecture, the HTTP interaction to retrieve /robots.txt for a domain, would produce a HAR transcript that would get archived like any other. Domains restricted from crawling by robots.txt, would still get regular HAR transcripts recorded of the result of checking that their /robots.txt still restricts crawling. (Reducing over these /robots.txt HAR transcripts is how a consumer-indexer would determine whether they should currently be showing/hiding a domain in their built index.)

Re: Google rejected me and now I'm building a search engine

#102
post #70
post #21

> He continued to ask more questions about numbers of bits. I couldn’t answer any of them without a lot of help. He didn’t ask me about my PhD work building a new theory of natural language semantics. This strikes me as fairly petty “I didn’t answer wrong, you asked me the wrong questions!”. Honestly it’s the recruiting process working as intended - folks with this type of attitude don’t make good team members in my…

I think it should be fairly standard expectation to be asked relevant questions to your expertise and not trivia. The interview seemed like a really low-signal interrogation where the folks that pass such an intense "psychological game" don't necessarily correlate to required expertise on the job. I do agree that the spite aspect could have been reduced or removed. In fact, I couldn't really see the point the article…

But regularly solving problems outside of your expertise is a necessary job duty in pretty much any software job.

(If I were conducting the interview, I might explicitly explain that I'm going to ask them a few questions with the goal of seeing how they perform when they reach the limits of their crystallized knowledge and have to problem-solve from first principles/common sense — but I would still do it.)

Re: Google rejected me and now I'm building a search engine

#103
post #71
post #11

Whenever I hear about alternative search engines, I try out a few famous people hoping to see Wikipedia entries towards the top. And almost always I see nonsense. For instance, if you search for 'Trump', the top links are ``` 1. http://www.trump.de — found via Mwmbl -- Trump 2. https://itep.org/md/ — found via Mwmbl -- Trump Tax Proposals Would Provide Richest One Percent in Maryland with 69.7 Percent of the State’s…

> but what's going on here? I'm wondering the same thing. Google gives me _exactly_ what I want without me having to add keywords or cajole it. All of these other search engines give me such weird irrelevant results. If I search "python reverse string" on YaCy's demo peer, the third result is the ArchWiki page on ... MATLAB. I really wish I knew what to do to help the situation here because distributed p2p search eng…

> I'm wondering the same thing.

Well, if you really want to know, you could try taking the HTTP responses for the page you expect to be highly ranked, and the page that's actually highly-ranked, and applying various common ranking heuristics to them, to figure out what the result-ranking algorithm is actually doing.

For any search engine who hasn't had a bunch of competitive pressure forcing them to improve, the ranking algorithm is very likely something incredibly simple and standard — e.g. tf-idf across the whole HTTP-result corpus.

So I'd guess that the results you tend to see in your tests, are because one of those "standard" algorithms ends up doing something dumb for the ranking pairs you care about.

Re: Google rejected me and now I'm building a search engine

#104

This user already submitted this same article yesterday and it was flagged: https://news.ycombinator.com/item?id=40850725 Rather than this clickbaity "Google rejected me" story about something that happened 15 years ago, here's a link to the actual project: https://github.com/mwmbl/mwmbl

Someone who doesn't handle rejection well are often were not told no a lot growing up. I personally went through this phase and so I have a bit of sympathy for OP. Looking back at my younger self and this person I can't help but cringe. It was a long uphill battle to be okay with rejection and I still struggle with it but I can't change my natural emotional response but I can control how I react to rejection. I hope…

Given the 15 year gap between the events and this post about them, I'm pretty sure OP isn't still angry. They likely were just working on a search engine, and this old story came to mind, and they realized that it'd be perfect clickbait (maybe rage-bait?) to serve as lead-gen for the search-engine project.

(Remember, someone building a search-engine is likely very, very familiar with SEO.)

Re: Google rejected me and now I'm building a search engine

#105
post #87

Earlier quoted context omitted.

> This strikes me as fairly petty “I didn’t answer wrong, you asked me the wrong questions!”. Honestly it’s the recruiting process working as intended - folks with this type of attitude don’t make good team members in my experience. Imagine some weird employer where a narcissist has managed to capture the hiring process. They might well ask the wrong questions to torment, and in that case someone who became flustered…

I'd disagree with your characterization that it is empty rhetoric. In fact, it is actually using the word and meaning correctly within a rational context. Most people today are not properly taught to correctly recognize evil. Often as a result of this, they become evil themselves when they falsely justify evil acts which are unjustifiable. There really isn't much ideology, or hyperbole to this. From a non-ideological…

> Evil is any act that does not promote the long-term beneficial growth of self or others.

How long-term? What sort of clairvoyance is necessary for that? Which others? Those who hold stock in Google do well, it helps them to grow does it not? They employ about 100,000 people directly, and many more indirectly who benefit economically because Google facilitates business transactions they couldn't otherwise make.

> will cause extinction when they are not stopped.

The moment your species' fertility rate dropped below replacement, your extinction was already carved in stone. Fussing about Google and whether or not making you watch bad advertisements before watching Youtube videos is evil is pretty silly, don't you think?

Just what evil acts are they committing exactly, and how will this result in even something like a figurative extinction, do you think?

Re: Google rejected me and now I'm building a search engine

#106
post #9

It wasn't google, but last year I had the worst interview experience of my life when I was berated for not being able to remember if a System.Tick was 10nanoseconds or 100nanoseconds. I remarked that in the circumstances I'd need to know, that I'd google it and check the documentation to make sure I got it right. The interviewer (who I later found out was the founder/CEO) absolutely laid into me for that answer, sayi…

> which is kind of annoying since he's the most active C#/.Net recruiter in my area

Tangent: I like .NET as a platform, but I get the impression that a lot of .NET shops tend to be toxic in this particular way.

.NET attracts bigcorps — and I don't really that they're toxic. Working in a big enterprise environment is actually fine most of the time.

But because .NET attracts bigcorps, .NET also attracts development agencies that mostly want to work with bigcorps — i.e. agencies whose sales process is designed around attracting and retaining solely enterprise customers. These agencies market to middle-managers' needs to check checkboxes and satisfy scrum tasks; and then they skate indefinitely in their contracts on a basis of "shoddy work in bounded time" and infinite make-work extensions.

These "enterprise agencies" exist to deliver internal political value for the people hiring them, rather than delivering any business value for the company as a whole. (As such, they mostly get hired by bigcorps that are themselves dysfunctional in some way. But there's enough of those to keep quite a lot of these agencies in business.)

In agencies like this, I find that the only people who stay working there, are either burn-outs trying to keep their heads down and take home a paycheck, or some flavor of awful people.

If you want to avoid this kind of experience in the future, I'd highly suggest either focusing your search for enterprise-y language shops on actual enterprises rather than agencies — or marketing yourself for your talents in less enterprise-y languages, to shift your appeal more toward SMB employers.

Re: Google rejected me and now I'm building a search engine

#107

Earlier quoted context omitted.

I don't know if you read that reply as hostile or just saying "hostile in general" but I can promise there was a smile on my face and it wasn't "hostile" at all. The mental calculations is a pointless exercise. Math is so incredibly different than big-system software, and it is more about working memory than anything else, and solving arbitrary math problems won't get you that feedback.

I didn’t mean literally hostile. More like, “if this candidate would rather get into an argument or simply not complete the challenge we’ve presented them with, then they’re not going to be a good employee.” Companies want to hire people that do things, not question everything, regardless of whether those things ought to be questioned. You’re being hired to achieve business objectives, full stop.

the problem is that the interviewer did not state that this is the point of this exercise. especially in an interview i would want to know why a particular question is asked, because that helps me decide how to answer. that or at least give clear instructions: "i want to see how you figure out the answer without a calculator"

Re: Google rejected me and now I'm building a search engine

#108
post #96
post #27

Earlier quoted context omitted.

If you do NOT know, then answer that you do NOT know, unless you can speculate. Noone is omniscent. I really dont like when people with no knowledge trying guess the answer or speculate without any background. Im sure I would NOT want to work with such person.

You're treating this as a binary thing -- either you know something or you don't -- like it's rote memorization of facts. But that's not how problem solving works. You need work your way from what you do know to get to an answer for what you don't. It's not guessing -- it's taking the background knowledge you do have and applying it to the problem at hand (and every engineer should have some background knowledge, eve…

Problem solving isn't a binary thing either. You are not just capable of solving problems on the spot or not. Different people have different approaches on the same problem under different conditions. Interview is not one of the things that really shows your problem solving skills rather your skills to solve arbitrary dumb problems right there on the spot.

I've quit several interviews because of these particular questions since they are simply wasting my time and not testing my "skills".

Re: Google rejected me and now I'm building a search engine

#110
post #104

Earlier quoted context omitted.

Someone who doesn't handle rejection well are often were not told no a lot growing up. I personally went through this phase and so I have a bit of sympathy for OP. Looking back at my younger self and this person I can't help but cringe. It was a long uphill battle to be okay with rejection and I still struggle with it but I can't change my natural emotional response but I can control how I react to rejection. I hope…

Given the 15 year gap between the events and this post about them, I'm pretty sure OP isn't still angry. They likely were just working on a search engine, and this old story came to mind, and they realized that it'd be perfect clickbait (maybe rage-bait?) to serve as lead-gen for the search-engine project. (Remember, someone building a search-engine is likely very, very familiar with SEO.)

Spot on
Post reply on HN