skysight-inc/HackerNews huggingface dataset:
> Google is filled with people who can solve Data Structure / Algorithm questions in 50 minutes on a whiteboard.

I wonder about that, actually. I mean sure, right after they're hired, I bet they're GREAT at doing whiteboard problems. But then after a few years of real work, I bet they've coded about as many algorithms from scratch as the guy from Unknown, Inc. (which is approximately two) and they probably wouldn't even pass another Google interview without a boatload of practice.
I worked in one of the Mountain View offices for a year and a half with people who had never even been to college, and never heard that. Doesn't mean it never happened but the idea that it's even close to common is just laughable.

I do wear my college t-shirt though. My graduating CS class was three people, so have to have a little pride there!
Do the math: 0.0001% of 7 billion is: 7,000. How many employees does Google have? Not to mention the fact that of those 7 billion, probably at least 6.9 billion have no appreciable training in software development, which would leave you with 100 candidates.
I think the bigger problem is that the crypto primitives we have available do not behave like lego blocks. For example, encryption is useless without authentication on top of it but the API will still let you use AES in CBC mode without authenticating afterwards.

If you use a higher-level crypto API like libsodium/NaCl then you can treat functions like lego blocks just fine.
chrome on android has no plugin support, firefox does however.
You're effectively arguing that's it's all relative, therefore any political opinion is tolerable. Even though this has never been the case.

There would be so much outrage if vindictive prosecutors (like Carmen Ortiz) or patent trolls would get to speak at Strange Loop. Think about it for a second. It's utterly inconceivable they would be allowed in, no matter the technical merit of their hypothetical talk.

Shunning people like Moldbug is really no different. People with such abhorrent views shouldn't get a platform or the effective endorsement from the tech community.
Works only if the camera has a GPS chipset. I hope more cameras start using geotagging like smartphones do...
I wrote it because it was what I wanted to write, not as a formal teardown of the tech industry. You may notice that I didn't submit it to HN.
I wonder how much Google does this just to get positive PR to hire for their main businesses. It gives the impression that you'll be working on cool stuff like this when you join Google instead of the rest of the 99% that drives the ad hive (which is where you'll really end up).
It is also possible that this is just the way companies in our industry work today. I keep seeing junior developers who somehow think that their job is to write beautiful, elegant software with well designed architectures etc., while in reality the goal that matters is to get product out the door. When they get yelled at for going 2x over time because they ended up refactoring many times more code than necessary they get discouraged. I think it's just a matter of arriving at the right expectations, which sometimes takes time and experience.

There are certainly roles where software can be an end itself. Academic paths focused specifically on software, open source, perhaps some R&D shops (think Guava guys). But in most companies it's a means to an end.

This article makes some good related points on the topic of technical debt and what amount of it is optimal for enterprises.

http://bigeng.io/post/118399425343/why-the-way-we-look-at-te...
Have you tried Divinity? Brought me right back to my Baldur's Gate days.
Post Traumatic Stress Driven Design
Creating a chrome extension that gives easy access to a user's playlists.

Here's the progress so far
http://imgur.com/rNHzfj4

Motivation: I pretty much use Youtube as my music player. Great selection and I like watching the videos every now and then. The problem is that it doesn't really have the UI of a music player e.g. easy access to all of my 200+ playlists.
something like this would also be much appreciated with statistics, which has a lot of jargon. for example, I'm going though a stats inference course and am having a hard time keeping straight the difference between similar but different things such as: standard error, standard deviation, and sample standard deviation
I've never inverted a binary tree (I'm not familiar with the concept). You claim that makes me a bad programmer. Be careful there: just because somebody hasn't been exposed to something doesn't mean they aren't smart enough to figure it out. Fizz buzz is also flawed in this way: it doesn't test if you know how to program, it merely tests "have you been exposed to the modulo operator yet".
Thanks for the forthright reply!

I've been involved in political activism of one kind or other for decades, mostly in ways that are opposed to your ideals, so I'm not one tiny bit surprised to find a lefty who is opposed to free speech, nor am I unfamiliar with the "theoretical basis" for such abhorent positions.

I wanted to cast as broad a net as possible in my question, as I know how eclectic the left is: the two major Communist parties in my country spent most of their political capital fighting each other while the mainstream drifted gently, and rather too far, to the right.

Your myopia, anger and hatred are unfortunately true to the rightwingnutjob's caricature of anyone interested in building a just society, which makes the job of sane social reformers more difficult. Just so you know (yeah, I know, we're you're enemies too... and it's important to have a comprehensive enemies list, isn't it?)

And while on the one hand I can take heart in the knowledge that you'll never get close to achieving your goals, I'm also saddened that you will spread so much toxicity into your environment on your way to ultimate failure. The world needs more love, not more hate, or more fear.
There's a lot more to being a professional than being good at the technical aspects of what you do. Communicating, coordinating, scheduling, etc. all play at least as much of a role in getting the job done. I think if you are handling those aspects of the job well, you shouldn't feel like your pants are on fire everyday, no matter where you work. [Edit: assuming it's not some kind of sweatshop. Don't waste years of your life at one of those.]

Also you probably have other priorities in life so remember those every day rather than look back two years later saying "how did I forget everything else in my life?" It can be done. Stand up for yourself, and what you want out of life.

[I've worked 20 years in Silicon Valley, currently at Netflix.]
> I can't see shareholders liking Google trying to enter every market in the world.

Maybe the shareholders aren't investing in an advertising company and app store, but they're investing in the company that succeeds to a higher degree than it fails.

But maybe they like Google's brand power and unique company ethos?

How many other companies worth $350Bn+ with 50k+ employees have Google's operating style?
The wealthy parent in "Charlie and the Chocolate Factory" that paid a large staff to open chocolate bars was obviously contemptible.
Show HN: The missing Rails pattern generator
I think you use "sausages" for initial and final states...

I too don't remember much.
The next obvious target for monetization by news organizations are sponsored articles. I've started to see them in certain San Francisco specific news websites. It's not exactly the sort of thing we want to push these sites toward.
I keep dreaming of the day I can order my Starbucks by text before I go pick it up. Same for everything I order. I would text any business before I pick up the phone and call them or launch Gmail.
Steve Jobs announced the first iPhone at Macworld Expo in San Francisco. "We have invented a new technology called multi-touch," he boasted, in one of the more reality-distorting things ever said during an Apple keynote. Han, by contrast, had been careful to share credit in his TED talk: "I'm not the only one doing it, there are a lot of people doing it."

I remember that. I had watched Mr Han's demo a while back BEFORE the iPhone announcement.
When I used to interview people (I wasn't a manager, but I was senior enough to be entrusted to the role), I'd just ask about projects they had placed on their resume (to get a feel for their contributions) and then the rest of the interview would be focused on what the job was and how that matched with their career goals, why they thought they'd want the job, that sort of thing. The latter part was a bit harder because people are naturally defensive during an interview, so they can't be like "well I want an entry level web developer job so I can parlay this into something better in two years" (which is, IMO, totally an acceptable answer), but you can generally politely get the idea. Maybe I'm weird, but I just sort of think interviews should be more about determining fit than giving someone a lie detector test.

I get the puzzlers or whatever for a phone screens (quickly weed out people that are obviously unqualified), or if you're hiring someone junior who doesn't have work experience, but if you're at the point where you're bringing someone in you probably think they're minimally qualified, so it should really be about determining if goals are aligned IMO.
Mostly put there by their fellow-revolutionaries.
> Am I missing something?

"They" in that sentence might be referring to Google?
They are. Also, few arguments are improved by stating them in all caps.
Connecting Slack to Skype
> You simply can't separate out politics like this.

Wrong pronoun, you mean "I." Most people have no problem interacting with people having terrible political beliefs.
Anything comparable out there for iOS?
> fascist

You keep using that word. I do not think it means what you think it means.
pCell is just phased array technology.

Directionality and sectioning has been used since the beginning of cell technology: first with cell splitting and then with cell sectoring, and recently more aggressive splitting (smaller cells) -- it's an ongoing evolution. The kind of tracking this has required is very easy to do: once your signal is stronger in a competing sector for a significant amount of time, switch sectors. The same principle can be applied to phased arrays but the small number of sectors makes it much more tractable computationally and in terms of hardware.

A phased array in a city environment needs to track in real time the position of users, with enough feedback from them to make sure your prediction matches with their position well enough, and use this information to continuously adjust sub-nanosecond (depends on the freq/bandwidth) phase offsets to array elements. In principle it`s even possible to do multi-tower coherent communication. Needless to say, this tech is expensive right now, and I imagine hard to get to work reliably.

MIMO is also closely related, the difference being traditional MIMO actually adjusts amplitudes only (non-coherent) of multiple data streams to create channels (after a linear transformation at the receiver). This means the signals are still ominidirectional for your wi-fi MIMO. Being non-coherent means it's much cheaper.
That is very, very true. It is, frankly, impossible to force change in such a situation unless you already have a large enough soapbox to be heard and can build a network of similarly minded [and widely read/heard] individuals.

I think, regardless of political affiliation, we have to admit to ourselves that most people are prepared & willing to silence people with beliefs they find odious. Please note that I said "beliefs" not "actions".

The right to vocalize and discuss our beliefs freely is something that must be fundamentally protected, most especially when it is odious. The only way to do that is to make it both legally permissible [as the law can apply violent force] but also socially permissible to the point of indifference for people to voice different beliefs [even the odious, bigoted ones].
Google is going to start building infrastructure. Rail, fiber, cable, etc.

All the things the US Government should have been doing
Oh, you are probably right. But Google is messing with self-driving cars, so they(Google) at least have the transportation angle covered. :p
> Much like FB, it's an org whose coding needs are really pretty trivial

I was with you till riiiiiight there. Google isn't just a search company anymore they're working on lots of very interesting non-trivial things all around the company.
> You are right that that it's clear from the code what it is, but it's also definitely not a great variable name.

I have two metrics for variable names. First, is it clear what the variable is? You say yes. Second, is it not obnoxious to type? Clearly not.

So, at least by my metrics, it's a great variable name.
Thanks.

Rails gigs are good for getting some extra income, but my experience is that they don't last, and there's no way I can live only with remote gigs.

I mean, I've been freelancing for years and living off remote work for 2 years.

But the financial stability with remote work is nowhere as good as when you have a "real job".

What I'm trying to say is that when you are working remotely, you're not really a employee, as the company can and will go away from one day to another, and what options do you have then?

I'm talking about international remote work, now partial remote work with a local company might be another story.
the more walls are put up, the more ad consumption becomes a deliberate choice and not something that is snuck by people as they use social media.

it's a good organic balance we're working towards, the optimum amount of gatekeeping and profit-sharing.

as I said in an earlier post, the amount of money regular people lose bc of ads > the amount of people in the ad business pay out to "content creators"

>> Those families are indirectly paying that price today, through their ad-influenced purchases.

>> Not only are they paying for the end-product, but they're paying for the arms-race between advertisers as well, and that's a huge industry.

>> The amount of money the ad industry deals out to "content providers" must necessarily be less than the amount they get paid by their clients, which in turn must be less than the amount people paid to those clients.

>> If the distribution is not uniform, and some people benefit from the ad-influenced overspending of others, the business is then predatory.
An anti-pattern is not a synonym for "bad code." Too many in this thread are making that mistake. A software pattern is a tool used intentionally to help better structure your classes. It's usually well-studied by people smarter than you are, the edge cases accounted for and documented.

An anti-pattern is a solution you find yourself using unintentionally that you notice is causing you pain later on down the line. The first 10 times or so you just fix the pain, you don't start noticing it until instance 20 or so. If you were to study that anti-pattern, you could figure out why it's causing you pain, and maybe even solve the pain points and turn it into a real software pattern.

If I'm doing exploratory programming that I don't expect to have to support or maintain, sure, I'll use all the power tools I can get my hands on to do cool shit with. But when I'm working on systems I don't care personally about, I want as little friction as possible between problem and solution. I don't want to have to look at a piece of code and wonder, "WTH is that doing again?" I notice myself having that reaction far more when there's metaprogramming involved than when there's not.

It's not that there's no way to use metaprogramming effectively or maintainably. It's just that I have to think that much more carefully about proper separation of concerns, how the messages are passing, what happens when there's errors, stuff I don't have to think about when I'm doing it the boring way. When something goes wrong in boring Ruby, the backtrace is all I need to figure out what's going wrong.

I've had the experience way too many times, of, over a dozen or so refactorings of a piece of metaprogramming I was too proud of to rip out, finally realizing that there was a bit of state I could have passed in a perfectly normal fashion that would have completely eliminated the need to, say, do dynamic class generation. Had I not been so hung up on my own brilliance, I could have saved myself hours of effort.

Likewise, if you find yourself reaching for manual memory management, that is, rolling your own management structures rather than using one of the countless well-tested constructs available, without really understanding why, then you're probably overlooking some library you could use that would do exactly what you want it to do and handle all the myriad edge cases had you given it some thought. I would absolutely consider manual memory management an anti-pattern unless you're working in embedded environments or demoscene, and sometimes even then. C is way too mature for you to be reinventing things.

Programmers are some of the most masochistic professionals I've ever met. They don't want to do things the easy way, easy seems to equate to stupid for them. You're not Linus Torvalds, the stakes just aren't that high. An .8kB in superfluous code loaded up in memory alongside the .2kB of the library you do need isn't going to kill you, only keep you sane. Don't make unnecessary work for yourself. Finish up early and go home and spend time with your kids.
Ask HN: What do you think is the ideal programming interview process?
After the recent thread on Google rejecting the creator of Homebrew. If you could design the process from scratch, what would it involve?
I never click on Ads so from advertisers point of view I am using AdBlock. But that AdBlock is in my brain. When I use AdBlock on a browser it helps my brain. Advertisers don't care whether ad is on the side on inside the content, all they care is their ROI, so unless I start clicking on Ads I already run risk of getting ads in my content.
Actually, my landlord found out and is coming to inspect all the apartments on my floor now. I guess I better put it back...
Apple killing off publishers' revenue streams that it doesn't get a cut from? Big surprise.
Apowersoft Phone Manager 2.4.3
Yeah I understand. It goes both ways. It's an opinion. "Great" probably wasn't a great word to use, but I personally don't have any issue with the line of code since it was easy to understand.

I've looked at a lot of other people's Go code and I have had no issue with 1 character variable names, but maybe that is just me. The methods/functions is generally small enough that it is obvious to me what is happening.
When working on Rails applications, I found myself creating files and tests manually by navigating the directory tree, and typing in names.

I didn't like it because:

1) Typos can happen
2) Navigating the directories is pain
3) lazy

Here is my solution. With this gem you can run `rails generate [PATTERN_TYPE] ...` to generate files and its tests in appropriate directories.

Currently you can generate service, policy, and PORO.
Like you said, product placement is already here.

As long as people broadcast content, consumers are free to modify it for personal consumption.

The next level filter might filter all brand names from an article or movie.
Xoogler here. I can't meet your challenge. IMO the very premise of a company-wide unified interview process for all software engineers is wrongheaded.

How can you make the interview relevant without knowing what the position is? I was asked the typical CS-type questions in my interview, but the team I ended up on required no theory.

How do you define false positives before you know what the candidate will work on? A superstar in one team will be a dud in others.

And let me add another bullet point to your process wish-list: gives the candidate a sense of whether they want the job. This is impossible when the interviewer is a random engineer from an unrelated team, unable to speak to what the candidate's work life will be like. A Google style process gives candidate very little information.

I would instead propose something very old-fashioned: teams hire for themselves. The usual reply is that this results in an "inconsistent hiring bar", but so what? Teams have different requirements and need engineers with different skills, so why shouldn't the hiring process reflect that? We are not fungible engineering units.
Service Discovery. Dynamically generating routing rules so microservices can have pretty URLs. For example with us when you deploy a new version of a microservice it starts on a random port, registers with Consul on startup and then dynamically regenerates and reloads Nginx.
The physics are well documented - https://floodyberry.wordpress.com/2008/02/20/tribes-1-physic...
I pretty much agree with what you're saying, I just take issue with zxcvvcxz using the mere suggestion that it could be something more, and something that might be helped by medication, as an excuse to deride the entire concept of (responsibly) using medication to treat depression when appropriate.
Ask HN: What are your digital security best practices?
As digital security makes it to the headlines here at HN and elsewhere (Apple asking devs to utilize https for apps; the Kaspersky hack; general NSA concerns; etc), it makes me wonder: how do you handle your own security online? Where you do you place your concern? Are you satisfied with just focusing on password hygiene and general privacy protection (disallowing tracking cookies, blocking script) within standard browsers, or have you taken more serious steps?

How do you keep yourself and your information safe and private online?
I'd be happy to be corrected, but my guess is it wouldn't compile: running `GOOS=windows godoc syscall` I don't see SIGUSR2 or Kill defined. Maybe an enterprising person could port it, if the semantics are similar enough between Windows and Unices for those APIs that exist for both (os.StartProcess, CloseOnExec, etc.).
> "you're filling my eyeballs with garbage."

This is fundamentally a usability problem. One of the main reasons I use ad blockers is invasive web advertising often forces more mousing/tapping. Due to many many years of constant keyboard/mouse I have enough RSI discomfort these days that extra mousing/tapping is very noticeable.
That's a very interesting point that I never fully considered. Of course, there is no doubt that some content providers already are taking money to reflect someone else's agenda, but it's definitely worth considering what happens if advertising fails as a business model for the majority...
This one immediately jumped out at me while reading (I'm interested in crypto but when asked about it in a job interview I happily told them that security implementations should be done by someone that knows what they're doing!).

Can someone explain this:

> Let’s ignore the fact that it’s using MCRYPT_RIJNDAEL_256 (the 256-bit block version of Rijndael, not AES) instead of MCRYPT_RIJNDAEL_128 (real AES),

When I look at those enum names I would immediately think that MCRYPT_RIJNDAEL_256 was stronger than MCRYPT_RIJNDAEL_128. The naming strongly suggests the same algorithm but _256 being stronger.

Is this part of an API design issue?