skysight-inc/HackerNews huggingface dataset:
Oftentimes that's the first answer that the interviewer is looking for (without the attitude). But then they want to see you code a MergeSort or QuickSort up from scratch, and explain the difference between them.

Why? Because what happens when your data set exceeds available RAM? Then you can't use the stock libraries, since they're all designed for in-memory datasets. You have to rely on external sort, which is a cousin of merge sort but has fairly different properties because of the vast difference in performance between RAM and disk. Or what if you have multiple computers available to you? Do you implement a parallel external sort over the network as a library (or service), or do you rely on domain knowledge of the keys to do some sort bucketing to each computer, like a radix sort? What are the trade-offs between each one?

Software engineering is somewhat peculiar in that 95% of the time is spent gluing pre-made components together, and yet the majority of the money is made off the 5% that requires actual creativity and knowledge. Why? Because gluing components together is a commodity. You can do it, but so can every other college grad who knows how to Google StackOverflow answers on the web. The folks who make $300K+ a year at Google/Facebook or get acquihired for a mil or two a piece or found a startup that strikes it big are the ones who know how all the "standard" stuff works on the inside so they can take it apart and piece it together in new and innovative ways.
I'm not sure making people click "yes" or "no" does anything to confirm an idea, by which I suppose you mean validating a hypothesis for an MVP?
I live in the area and I'd love to be more involved in the startup scene here. What do we have going on? Anyone looking for a 30 year old computing polymath to join your Utah startup?
You should be incorporating anyway. It's a very cheap form of personal liability insurance.
Valid points for sure. This is one of the downsides. But if you clear this round you are definitely going to talk to them. Its just that instead of answering those initial filtering questions to them, you would answer to me and I will convey that to them.

But I see your point and its a good point to consider before considering my idea.
I personally don't look for someone to answer algorithmic questions correctly. If they can just show the ability to solve a problem with a bit of complexity, that's all that counts. It also just reveals a lot about how that person thinks and solves problems which is absolutely an important factor of a potential job-hire. However, I know some interviewers just keep score of your answers..I don't necessarily agree with that.
As i said higher , i'am a huge fan of gaming culture, concept & game design and with project like that we still be able to play od games originating from the 90s. If you want to be a game designer you have to play to old games.
Troubleshooting is a skill like any other, and naturally different programmers have different aptitudes with all of the skills.

I think that you need some kind of troubleshooting aptitude to be a programmer, but the reality is that the variance is quite significant. In a land where not all bugs are created equal this multiplies the results people get.

I think it's OK to acknowledge weaknesses, and to hand-off certain tasks to those who excel at them, i.e. "Rod is a gun troubleshooter, let's give this one to him".

The whole agile idea of spreading the tasks around equally is such a naive practice, and a great way of wasting customers and employers money. In a world dominated by so called best practices we're just going to suffer these kinds of results ad infinitum.

Maybe you just suck at solving bugs? Maybe you are amazing at feature development and UI design. Great! Do what you're good at.
Thanks for the further information. :)
It's fairly easy to beat a polygraph test if you have access to certain benzodiazepines. One of them being Klonopin (clonazepam).
Right, so the candidate has everything to lose and nothing to gain. The only beneficiary is the employer - which in the current supply/demand climate for engineers, makes the viability of this idea suspect.
Recumbent bicycles aren't exactly a death trap and most owners use them as their primary transportation. Then again lithium ion batteries have improved so much you no longer need the aerodynamics to make it work, and electric scooters (and motorcycles) exist for that very reason.
They go on to say that the photo had to be cropped due to the equipment they were using.

"The Muirhead had a fixed resolution of 100 lines per inch and the engineers wanted a 512 x 512 image, so they limited the scan to the top 5.12 inches of the picture, effectively cropping it at the subject's shoulder."
Is there any way to get faster at solving bugs?
Never :)
FWIW, I was hired by Google in the depths of the 2009 recession because "You have both solid front-end skills and deep algorithmic knowledge, and that's not a combination we see very often." I work with a number of Ph.D's from top universities who are doing cutting-edge machine-learning and ranking algorithms. Many of them cannot code themselves a UI if their life depended upon it, let alone stay up-to-date with emerging web standards, stay away from browser quirks, debug obscure Javascript or CSS corner cases, or pay attention to client-side latency.

Good web development is harder than it looks. I've done some pretty impressive algorithmic stuff (eg. ported Arc to Javascript, wrote a Scheme interpreter in Haskell, built a JIT in LLVM, coded a conformant HTML5 parser in C), and I'd say that on a day-to-day basis, web development requires the largest body of knowledge and the greatest ability to make trade-offs in your head.
I wonder what caused the peak of shit just before 3.0.9, and what reversed it.

The spike just before 3.2.17 must be a glitch, but if it isn't, it's very intriguing.
The last update on his question is the most poignant. After seeking help online, and failing to improve to his manager's standards, he lost his job. But, he used his stackoverflow account and this question will now appear when someone searches for his username, and may count against him when applying for another job, for which he may be better suited.
The farcical nature of the polygraph is satirized best by this scene from The Wire: http://www.youtube.com/watch?v=AJ5aIvjNgao
Yes, its a service offered to employers right now so beneficiary is the employer. But I do not completely agree that candidate is at a loss. If the candidate is good enough, he will meet the employer eventually.
"For example, when I see the wait staff at a restaurant running around to serve dinner, I feel these people as working much harder than any internet engineer you’ll ever see"

True but being a waiter doesn't not required much skills or staying up all night to fix a product blocker issue.
I read it this way ...

The lesson is that if you find yourself doing joins, then you need to consider whether the database should be redisgned. A join is sometimes necessary, and the engine is the right place to do it if it must be done, but it's a warning. So if possible, design your DB to avoid joins.
This response is more amusing in light of the author's first claim.
If a one hour single-interviewer interview is a significant improvement then it seems like companies should do this themselves, I'm not sure what service you are really providing unless you are just a really good interviewer.
Where do you even look for these types of jobs? I started in algorithms and business logic, and over the years have been expanding through the front end, all the way to photoshop. I can't design worth much scratch, but once a designer gives me a few pictures I'm well skilled from there until we hit database optimization.

But most jobs I've worked at and see have two very seperate categories: 1) Front End Developer, 2) Application Tier Developer, and don't expect or really allow much cross between the two.
The reality is this is the Patent Law of our Country - if we did NOT have it - everyone here would be saying the exact opposite.

It is 100% necessary - and though there might be casualties such as what is going on here - if we did not have Intellectual Property Rights - we would be at a disadvantage.

My suggestion is anyone being sued connect with the individual suing them and work out terms - everything is negotiable. Why not cut the owners of the patents in on a % of revenues?
The progress of computation means that eventually – maybe in 50 years? – a tool like this will be able to output results that look as good as today's big-budget blockbusters, including recognizable actors in convincing performances.
(I upvoted you because you're pedantically correct, but being even more pedantic: if it's not a balanced binary search tree, is "lookup" even a valid operation on it?)
You can be sued anywhere for anything - you are just saying 'words' without giving any facts. People are sued in many countries for intellectual property issues. USA is not alone. The #1 reason you have no intention of opening up shop in the US is probably something else - ie. you are not a US citizen or you wouldn't even know how to incorporate if you tried - come on.
Re-evaluating the AutoNanoFarm Design
I've been looking into natural language programming, and I recognize some things along those lines have been done. Most of them don't go the length though as far as I know, and have not applied real natural language processing (which we're only getting slightly good at in recent years) to try to semantically understand the English in order to compile it to real code.

The only such system I know if is Inform 7 [0][1], which is not really general purpose (though it seems to be quite flexible). There's also livecode [2], which is general purpose, but they did not seem to do any semantic parsing beyond some built-in fixed grammar rules and the language is not exactly "natural" (correct me if I'm wrong, I haven't tried it yet).

I also know of a few projects that manage to do this well for constrained domains. For instance, these guys [3] were able to take input parser specifications written in English and automatically create the input parser from its specification. But constraining the domain is what makes this work, and is not the way towards general purpose natural language programming.

Would you be so kind as to enumerate some of the work done for plain-English general purpose programming? I've gone out and looked myself, but I have not found all that much.

[0] http://www.spagmag.org/archives/backissues/SPAG44

[1] http://inform7.com/learn/papers/

[2] http://www.kickstarter.com/projects/1755283828/open-source-e...

[3] http://web.mit.edu/newsoffice/2013/writing-programs-using-or...
What I'll say after looking for a job for a month now: There aren't many companies who even take the first step of emailing/contacting back after an application. I feel like this, if it was well defined and consistent, then it would be valuable.
This is probably something you should pitch to recruiters instead.

I've talked to some tech recruiters in my area, offering to do training for them. I may need to talk to higher-ups, but the low-level people seem to actively not want that knowledge. I certainly don't propose they understand OS design, assembler and mobile app dev down cold, but they need to know the difference between Java and JavaScript, for example.

One chap I spoke with recently - he called me for help wording something - didn't know what "JVM" was, yet was actively recruiting for Fortune 500 companies. Again, they don't need to be tech gods, but ... learn the language of what industry you're in.

Another was telling me they don't need to know much tech, because the clients were more primarily concerned about social fit in with their hires, and they could work out the tech details. While I agree social fit is a factor, too many of us have met those who can't FizzBuzz in an interview, wasting everyone's time (or worse yet, get hired and leave years of crappy legacy tech debt to deal with).
> While DoD claims that “[t]he purpose of the [Counterintelligence-
Scope Polygraph] Program is to deter and detect espionage, sabotage,
and terrorism,” it seems that the only spies, saboteurs, or terrorists
who will be deterred or detected by it are those who are stupid
enough to make admissions.

Bingo. Polys are used to catch gullible people who admit mistakes. Probably the people you want on your team (unless this is a counter-intelligence unit), because they are honest enough to admit mistakes and are forthcoming. Unless they made horrible mistake worthy of termination, using polys will eventually leave only perfect people who are honest, make not mistake and have a predictable physiological stress response to interview and also liars and psychopaths. I posit that there is a large percentage (larger than average) of psychopaths in intelligence agencies, if anything simply due to the routine application of the polygraph interview filter.

It is funny that in light of Alrich's disaster, they intensified polygraph testing, while it clearly showed that he was passing his polygraphs without a problem (because he was trained by KGB to do it).
Not only that, the whole purpose of this submission makes no sense as a result. It used to be a businessinsider.com article with proper context, explaining what Kaggle is, why Facebook was using it, and what StackExchange is. It was a journalism piece, maybe a bad one, but it fit the criteria of why we read articles.

Now it links to Kaggle directly with a title that makes no sense whatsoever and provides absolutely no context. So instead of getting contextual information intended for mass consumption (an article), we got nothing of value. Great job.
I thought BART trip planning was a solved problem, anyway:

http://worrydream.com/bartwidget/
It seems as if a lot of lines of code were removed or not measured at that particular measurement; despite the drop in the usage of 'shit', its occurrence per line in fact jumps up at that moment.
I am saving lots of developers hours. I am saving critical developer hours during, say a launch, when you had to keep your candidate search on hold. It has happened to me multiple times. I was waiting to hear back from companies while they were busy launching a product. In real world it happens a lot. I know I cannot do later rounds and they should be done by the team themselves but initial round can definitely be done by me. And finally, I am reducing their misses which results in saved developer time.
> My suggestion is anyone being sued connect with the individual suing them and work out terms - everything is negotiable.

You are condoning extortion. Perhaps, indeed, the individual should negotiate terms -- but for the same reason that if the Mafia showed up to your doorstep, packing heat, then it would be wise to take their demands seriously.
I find it curious how so many computer engineers tend to have borderline religious beliefs when it comes to the topic of CS fundamentals.

This is an ineffective way to hire front-end devs, which is the scenario described in the article. In Javascript, there is limited room to implement fundamental algorithms, because many of them have already been implemented in native code, and they will pretty much always outperform a customized Javascript implementation for large n.

When doing front-end dev for a living, you will not be able to keep your fundamental algorithms chops by just doing your job. You have to go out of your way to keep them fresh. As a result, interview questions about fundamental algos for a position like front-end development will be biased in favor of those who are recently took CS algorithms classes, who do not necessarily have any more intrinsic potential as a front-end web dev, and who likely have less work experience.

As a consequence, it would seem that any employer that uses fundamental algorithms as a major factor in hiring front-end devs does not have a realistic conception of what the job actually entails.

And the same argument applies for any programming job where fundamental algos are not coded regularly.
Win32 is the ugliest part of Windows, to me. I like seeing the lower level "native" NT bits being re-implemented. (I think NT itself is a pretty elegant OS. I'd love to see a "distribution" of NT with a POSIX personality and no Win32.)
as an example: scientific instrumentation manufacturers are rather bad about keeping their software up to date, and some of them are good about making instruments that will run for decades.

it is hardly anything-friendly to toss a working, expensive instrument because you can't buy a computer that will run ancient-OS-whatever anymore, or they EOL'd the OS and you can't get patches, etc.

there isn't enough diversity/competition/whatever in the market to shop for instruments on the basis of software quality. sadly.
The best place to be if you want to learn both algorithms and frontend webdev is a startup, because they're so short on people that you'll basically have to do everything. All my jobs before Google were startups, and I suspect that if I ever left, all my jobs after would be too.

The other important thing I did was to never let people stop me from exploring other stuff on my own. Most of my algorithmic experience was actually on my own initiative, either nights-and-weekends side projects or 20% time, although I've had a couple projects at Google where I do backend stuff. Compilers are cool because they're largely self-checking: it's immediately apparent if you don't understand the concepts, because your programs will give wrong answers.

There's a very good reason why the job descriptions are separate: they really are separate skills, and it's fairly rare to be good at both. But not impossible, and there's certainly less of a difference between frontend & backend dev than there is between backend dev & leadership.
Yep. The company I work for (75-100 employees) is currently split between two offices, literally across the street from each other. Development, product, and QA are in one office, while sales, marketing, retention, accounting, and founders are in the other.

Even though we are literally across the street from each other, and even though we are together with like co-workers and departments, we've felt the same issue you've described here.

This is because we have grown lately and expanding our physical space has been... a complicated procedure. I'll be glad when we've moved into a single office again, which should happen by the end of the year.
What is the point of a private pure virtual function?
It's just as likely a can't rather than want. I can see some value allowing old software to continue to be useful, even for just data export purposes.

There's little other creative or "intellectual property" that becomes non-functional after only ten years. Compared to, say, movies or photography.
Lol having mercy and compassion = fetishizing poverty? You sir are amazing.
Both have highly stressful moments, and both can require ingenuity to get things done well. Most of the time, the work you're doing as a web engineer isn't groundbreaking stuff - it's just perceived as more high-brow than serving tables.

I've done both, and I'm glad I'm not a server anymore. The people are way more interesting in the kitchen than they are in some of the cubicles around me however. Sometimes I think about picking up some bartending shifts on a weekend night here or there for some extra cash and some extra entertainment.
Thanks a lot for this insight. This gives me another thing to try. Yep, if someone can put technology in lay man terms to recruiter they will be able to pick it up and be much better at their work. That will be win for everyone. Great idea.
Do you think Yates v. United States was wrongly decided?

Now, if the US government showed during the McCarthy era that they would target unpopular ideas, like Communism, as beyond the bounds of democracy, doesn't the "intended and likely to cause imminent lawless action" law in Brandenburg follow?

What I am saying is that in the US, we do have an extensive history of abuse of restrictions on political speech. Whether other countries can be trusted, or not, to fairly enforce such rules (and I think there is some dispute on this btw), the US has shown a propensity to insist that political ideologies like Communism cannot exist.

I say there is some doubt for two reasons. The first is that the NSDAP experienced the strongest growth, percentage-wise, during the years when they were banned. The second has to do with the Jyllands-Posten controversy. This controversy erupted because Denmark was willing to enforce hate speech laws against anti-Jewish speech but not anti-Islamic speech. I don't think the outrage experienced at feeling like Muslims were less protected by the law than Jews is entirely unreasonable there. Of course Jews are both a religious and ethnic group, so if you protect their ethnicity, you protect their religion.

So I think there are two issues, and the first is that protected and unprotected categories often unevenly overlap leading to unequal protection necessarily, and the second is that removal of certain ideas from public discourse moves it from areas where public rebuttal is possible into only private conversations. In no country that I am aware of, is it a crime to advocate genocide one on one (rather it is limited to publicly advocating such).

> But mostly, I just think that "sticks and stones will break my bones but words will never hurt me" is a fallacy.

But our country showed, in trying to ban Communism from our public policy discourse, that this more or less ensures that the political process which depends on our nation on the people being able to discuss appropriate directions for government ends up getting short-circuited.

In essence, I think our government has shown they cannot be trusted with such.
Man accused of teaching people to beat lie detector tests faces prison
I have gotten paid in the past for doing this. In addition to actually interviewing candidates, I also advised the client on the type of developer they needed etc. I actually have a lot of experience interviewing and making hiring decisions (and getting interviewed) so the client was fairly comfortable with this.

I like this idea since you are not having any conflict of interest when interviewing people. A nothing thing along these lines is the idea of getting pre-interviewed with your results shown online. Basically a crowd-sourced hiring platform.
Beware, IANAL. Yes, incorporate. Then, if the business isn't worth much and it's just you, ignore any patent trolls. In the unlikely event any take you to court, don't show up or otherwise waste your money on the suit, and if they win then continue to ignore them. In the worst case you go out of business and start another business with the same technology.
I'm very well aware of how to incorporate a company in multiple jurisdictions; it's not hard and rarely expensive. Being a US-citizen isn't necessarily a barrier to opening a company in the US either; there are are whole battery of appropriate visa categories for entrepreneurs.

Indeed you can be sued anywhere for anything, but the matter of jurisdiction arises quite quickly in many cases. Also, American patent trolls don't seem to attempt to sue foreign companies that don't have a presence in the US.
One million Rainbow Looms sold from $10K initial investment