skysight-inc/HackerNews huggingface dataset:
It all comes down to the way you disengage. You can do so cordially or gruffly, and that tends to make all the difference. If you make it clear that you like them, but see no reason to waste any more of their time, then you will fare well in most situations. If they're still upset, then, well, that probably explains why you didn't want to work there.
It would take some work to get the data out.
Pull Requests are welcome if you have any improvements in mind.
That is thoughtless flamebait. You can apply that fear to anything. Paper (what if people start planning crimes on paper), wooden sticks (what if people hit each other), cars (what if someone drives into someone else on purpose), computers (what if they are used to commit crime).
The breakthrough here is in speed, but the headline makes it sound like metal printing is new. Here are some old (and much more interesting) examples of metal-printed objects. https://www.bathsheba.com/
Anyone interested in this may also wish to check out MailChimp's templates http://mailchimp.com/resources/html-email-templates/
10k per year is only 'poor' in the US replace that with 1,000$ in 2012 dollars per year and you might have an idea where India considers the poverty line.
11 unintentionally ridiculous depictions of virtual reality
Well, you're talking from experience here.

My problem with that datapoint? You work at Google. G+ is your (company's) product. I assume that you had a headstart using G+ (the basic thing) as well and I also assume that this thing is already heavily used.

I just don't think that this translates to other places.
(Forgive my ignorance and correct any mistake in the generalization hereafter):
A huge company with a number of global offices all over the world, full of internet savvy, always online, 'young' early adopters doesn't seem to be a good example for things that make sense in general.

Or in other words: I have trouble mapping your experience to any place I worked at so far, plus any customer I've been in contact with here in Europe (with a heavy focus on Germany).
Weird. Here's a story about a WW2 bomb near Amsterdam's airport from today too: http://edition.cnn.com/2012/08/29/world/europe/netherlands-a...
Same exact story. I actually got to the third interview simply because the lead dev liked my general knowledge and the HR liked my character. Once I talked to the CTO, his first question was "So you're not a Perl programmer, why do you want this job?" I was quick to answer that I fully know now that the job wasn't for me, but if there was anything that he had in place for me, that would be great. He didn't, but we talked for about 45 minutes. It was pretty much the only time I left impressed and happy, knowing that I will never return to the place of current interview.
The Beuchet Chair
The real value in tools like these is pedagogical. They don't replace "real" programming, but they may introduce a wider audience to the concepts needed to do real programming.
Pardon my ignorance, but how involved was Munich in the entire WWII conflict? It was not too close to the front (especially to the west) and the closest bordering nations were allies.
Technology has a very direct effect on corruption, and hackers and entrepreneurs are squashing corruption everywhere.

See [1]. From the abstract - "We provide empirical evidence that strongly shows that technology-induced private sector development is associated with a decline in aggregate corruption.".

Also see [2]. From the abstract - "The paper suggests that societies that continually stay open to productivity-enhancing activities will eventually enter a takeoff stage of anti-corruption efforts..."

[1] Corruption and Technology-Induced Private Sector Development. www.imf.org/external/pubs/ft/wp/2006/wp06198.pdf

[2] Corruption and Technological Progress. www2.econ.osaka-u.ac.jp/coe/dp/dp_no.14.pdf
Having an issue with the Tree Style Tabs in Nightly, closed pages aren't resulting in closed tabs.
>>> the people making buying decisions (the IT department) and the people using the data (the hardcore analysts) weren’t the ones who stood to benefit from what the actual data was saying. "A good UX enables a lot of people to take action, which is the opposite of how things used to work," says Gheorghe. "Printing out an Excel grid doesn’t tell you what you need to act on.

This is related to the "visual programming" discussion.

It does not matter if its possible someday in the future to
get non-programmers to program visually. It does not matter that the Head of International sales gets given incomprehensible spreadsheets

Its their job

The head of sales will hire programmers to pull out the data he needs (its a lucrative consultancy gig I hear).
Visual programming - just learn to program.

Its like reading and writing - yes folks it is hard. It will take a long long time as an adult.

But imagine you lived next door to that Gutenberg guy and his new-fangled press. You would want to be learning to read now - not waiting for someone to invent the comic.
I'd rather use http://defunkt.io/dotjs/
> The kind of code I write on a day-to-day basis does not require working with math equations of this type.

Normally I agree that algorithm-heavy CS problems are not representative of day-to-day software development, but this is pushing it. We're talking about a "return pi * r^2" here, in the latter example at least. The former example is a bit less realistic, but I could still see that type of logic being required occasionally.
I first got into programming using Hypercard on the machines at my middle school. I started out just visually building simple stacks that didn't really do much, until a teacher showed me some of the stuff older kids had built by manipulating the Hypertalk language underneath. It was like learning about the Matrix. I looked at what they did and copied it for my own stuff, eventually learning a significant portion of the Hypertalk language. Fun times.

As such, I think 'visual' programming might be great to rope people in, but it isn't enough. Had I not taken it to the next level, I would have gotten bored, simply because I couldn't do that much with the tools I knew about. Drilling down a bit was hard, but necessary. In the case of Hypercard, of course I had to drill down because the tools for putting together complicated stuff visually weren't there. But, there is a reason they weren't there, that being that Hypertalk, while having a steeper learning curve than buttons and slides, was a more efficient and concise way to represent more complex stuff.

There's really no way around that. At its best, visual programming can be a way for non-programmers to put together really, really, simple stuff that they think they need. (It can be much worse than this, I've worked with a framework that was originally designed for this purpose or something like it, for middle office banking software - worse 18 months of my fucking life, and the worst part was none of the non-programmers it was originally targeted towards would go near it.) For everything else we need more robust tools.

And let's not forget that the hard part of programming isn't even the syntax anyway. It's the concepts. Even if you could design a visual programming 'language' just as rich as any text-based one, anyone who wanted to do anything with it would still have to learn all the same concepts. And that's the hard part.
For one, better monitors, where it was easy enough to distinguish pictures. Basically CRTs that are better than those required for TVs.

But the biggest issue was display RAM. To get a decent enough resolution, you need an insane amount of memory, often 50+ kb! And then you need this for every terminal hooked up to the minicomputer/mainframe (don't even think about double-buffering).

This was even an issue for the early text terminals. 72x20 characters was bad enough. Compare this to a line printer, where you just send a character and it stays there, without any backing memory. If I recall correctly, there were some experiments with persistent CRTs, and then of course terminals as we know them that had some memory of their own used to store the sent characters, and after a while even interpret quite elaborate escape sequences (compare sending one "^L" command to sending 80x24 spaces to clear a screen).

Once RAM got cheaper and you had semi-decent monitors, you could build some pretty high resolution monochrome terminals. If you wanted color, too, you had to stay low-res, which is why this was mostly used for gaming, not for actual work. It took quite a while until you could build high-res color workstations, and those were pretty expensive at first.

We live in enchanted times, don't we?
If you can't answer those questions in #18, and you can code, then it isn't mathematical skills you lack - it's reading comprehension (a skill that seems to be woefully underdeveloped amongst developers). I suspect you can actually pass both of those without difficulty though.
Something needs to be said about taking notes, and there's no shortage of good advice on writing a lab report that will reap rewards for years to come.

The report needs to explain (1) WHY you're doing the experiment, (2) HOW it's going to be carried out, (3) WHAT happened in the experiment, and (4) the transfiguration, the takeaway, the loose ends, the SO, WHAT'S NEXT.

The quantification and apps and tools for doing it emphasized in the article are a red herring for the above.
Big Brother on a budget: How Internet surveillance got so cheap
I know it's satire but as an aside in the UK at least this wouldn't be legal.

There's a maximum amount you're allowed to pay in small change - there was a case recently where someone paid damages (£1000 or so) in copper coins and it was deemed as not paid and is actually a criminal offence..

http://www.royalmint.com/aboutus/policies-and-guidelines/leg...
I think I'd have done the same, he sounds like he did it pretty politely rather than just getting up and doing a runner. An all day interview where you've decided half way in it just won't work is not just a waste of your time, but a waste of a companies.

However, the way the room reacted doesn't surprise me. Companies like to create loyalty which can occasionally turn a bit wolf-pack. Still, a shake of the hand and a 'thanks for coming, sorry it didn't work' is always classy and always a good idea.
#2 and #19 are controversial.

#2 contradicts itself. It says that unit tests will make sure that code that already works doesn’t break but at the same time it won't help writing good code. Well as far as I'm concerned, code that breaks can't really qualify as good code. Writing tests first, or writing code to the tests is ridiculous. Not sure what writing code to the tests actually means, is that even correct English (I'm not a native English speaker)? The main benefit of writing tests first, is that tests do get written. It's too easy to say we'll write tests when we have time. If you discipline yourself to write tests first, by the time the code is written, the tests are written as well. Writing tests first also saves a lot of manual testing time (eg. clicking over and over in a UI), which is repetitive and stressful activity. Overall testing and TDD help a lot to achieve #11.

#19 is an amusing caricature, but misleading. Design Patterns are not limited to GoF patterns. They show up at different levels of abstractions and give developers useful vocabulary to communicate about stuff they do anyway. #19 mentions 2 patterns that are not very useful in our daily lives, but they are patterns like MVC, observer or iterator that we use all the time without even realizing they are patterns. The point of patterns (design, coding or architectural patterns) is not to memorize the GoF list but to learn to identify, label and share recurring solutions that we can reuse in various situations.
Dropbox integration arrives at Vimeo
God, here we go again. Yet another example of companies stealing from Apple. This is clearly similar enough to the Macintosh (1984) that I'm surprised Apple didn't sue the hell out of AT&T. They certainly sued the hell out of Microsoft[1], so AT&T must have been lucky.

Around the same time, Myron Krueger had the gall to demonstrate pinch-to-zoom[2], nearly 23 years before Apple patented it. So many people piggy-backing off of Cupertino's innovation :/

[1] http://en.wikipedia.org/wiki/Apple_Computer,_Inc._v._Microso...

[2] http://www.youtube.com/watch?v=dmmxVA5xhuo (skip to 4:32)
Me too, on all URLs including the one you posted.
Facebook is, in a way, damaging the industry. PG already spoke about how their mishandled IPO could hurt the funding landscape for startups.

If this happened to a non-technical coffee shop owner, it would turn him off from the "whole social media thing" and not just Facebook.

On a higher note, I do not understand FB customer relations people at all. They always use business buzz words and almost seem incapable of answering anything directly. Would loose my sleep if I ever had business based on anything Facebook.
I liked the second paragraph. It's possible that I have an inherent dislike (no pun here) for the 'social' format. It is to be, almost by definition, unprofessional and low quality.

Maybe that's what colors my view on G+ in general and a corporate version in particular. Have to think about it - hard to look past an assumption like this on a whim. :)
I once declined an offer over email and promptly got a conference call back from them where the CEO was incredibly hostile, the purpose of the call seemed like the CEO just wanted to publicly berate me and tell me that I was making a bad move.

Afterwards I realized that its entirely a subconscious alpha dominance thing. There's this unsaid very primal, tribal power trip that goes along with the interviewee vs employer relationship.

As the interviewer you want to be holding the power card - you sit in a position of power and have other people dance around and do what you say in order for you to be able to judge them and make them prove their worth to you in order to join your tribe.

Its really one of the few times we get to break down our democratic social structure and revert back to this primitive social order in adulthood, so its a pretty important ritual for alpha-types.

When someone comes in and disrupts that natural boundary it becomes offensive as they've unconsciously told you "I don't respect you as a leader" in front of your staff and team. The interviewer then needs to re-affirm their ego and dominance over the tribal unit in a public display.

If you look at all these articles floating around about judging candidates and "top grading" and you look at it from this tribal alpha-dominance perspective it really breaks down some of what we assume is necessary in hiring. I think the whole system is based around some silly ancient ritual that we haven't been able to shake from our culture.
Trojan Infecting Linux, Mac OS X Systems Discovered
I think so. Thanks anyway for the conversion. That was quite nice of you.
20B metal coins wil cost order of magnitude more than $1B.
For this exercise, /dev/urandom might be better; reading /dev/random will block after the system's entropy pool is exhausted, right?
I'll admit that my understanding of all literary forms isn't very complete, but this doesn't appear to be satire either. Satire is all about pointing out flaws and exploiting them for humor. This is just a not-true story that would be funny if it had happened, which doesn't even make it a rumor.
Back to utopianism and political theory
Multiple Styling Items - CSS3 Course - Part 11 (free video)
I always find it interesting how we (as humans) are not expected to act the same way as companies.

A company can end an interview early and it's not rude.

A company can terminate an employee without notice and it's not rude.

A company can change dress code and it's not rude.

That's not to say that people won't complain, just that these things are perfectly normal.
Great, so now people who don't want to sign away their privacy to a social network don't get a choice when their employer decides to mandate use of this company-wide.

This also pretty much forces you to merge your personal and work personas.
If you want more modern early GUIs investigate Plan 9, also by Rob Pike. Rio is like Blit and ACME is like Oberon.
HTML5 terminal w/ SSH, hit ESC on site to test
I'm yet to find a decent introduction to strace (or dtrace). I'd appreciate if someone could point me to one...
This feature is very interesting! However, it is definitely not designed for this purpose, and is thereby fairly heavyweight: it is writing a file to disk with information about the snapshot instead of just returning it to the client, and the result is the filename.

Not knowing this existed, I spent the last hour implementing this feature in a way that just requires getting a single integer out (the txid) and then restoring it as the snapshot being viewed (but not changing the txid of the running transaction, which solves a lot of the "omg what would that mean" problems).

http://news.ycombinator.com/item?id=4448767

With this implementation, you can just use txid_current() to save a transaction snapshot and you can restore it using my new variable (which correctly installs this functionality only into the currently executing transaction's snapshot). (In a more ideal world, I'd re-parse the string from txid_current_snapshot().)

I didn't also solve the vacuum problems, but I think there might be some reasonable ways to do that. Regardless, I imagine that most of the interesting usages of this are not "restore a snapshot from three days ago" but more "share a snapshot between multiple processes and machines for a few seconds".

However, if you can get even one of those processes to hold open a transaction, you can copy its snapshot to other transactions in other sessions, and then even this naive implementation should be guaranteed to have access to the old data.

If you are using it only for these short periods of time, for purposes of "distributed and decoupled consistency", we also don't need to worry about the overhead of never running a vacuum: the vacuum process runs as normal, as we are only holding on to data very temporarily.

That said, in practice, you really can go for quite a while without running a vacuum on your database without issues, and I imagine any alternative system is going to run into similar problems anyway (log structured merge trees, for example, get screwed on this after a while, as the bloom filters become less selective).

You can't, however, with PostgreSQL, make this work "forever" (if you wanted to store data going back until the beginning of time) due to 32-bit txid wraparound problems :(. (This also should affect my silly implementation, as I should save the epoch in addition to the txid.)
Eventually, you will come across a situation where you need to decide if you will "work" in your free time (painting your house, mowing your lawn, etc), or if you will pay someone to do this so that you can free up your own time to "maximize life enjoyment". The time = money equation isn't just about always earning money, it's about cost savings & cost avoidance as well.

You have to decide, what makes you happiest? If it is freeing up your time to do something else, then you might even pay a premium to have someone paint your house for you.
I left an interview early too, with Google in fact. I told them I obviously did not fit in their culture at least for that very position (SRE) , as we had divergent views, and that I wanted to abort the interview process. No need for them or I to lose time if I was going to refuse anyway.

The guy (technical person) was shocked, as if this was impossible. He also insisted more than 5 times to continue with the process, which, I refused.

Later on, they contacted me, telling me that they marked me as "failed interview process" (ie: do not hire in the future).

That told only one thing, that indeed, I wasn't a fit for that culture - probably at any position then.
Surely the edge cases are something you should have carefully considered before starting to code?

There are two kinds of edge cases: the essential ones that derive from your requirements and problem domain, and the accidental ones that result from implementation details like your choice of programming languages or which libraries you use or your software architecture.

You can try to identify the essential ones and write tests for them in advance, but for the accidental ones there’s only so much you can do with a black box approach to testing.
How do you deliver statically compressed files using Nginx?
Leaflet, but really, if you want to do anything moderatly complex you would save alot of time by getting to grips with openlayers from the start
or CAPSLOCK on vim
It would indeed be great to have some "higher bandwidth" way to interact with a program under development. And better graphical tools could clearly increase the bandwidth out from computer to programmer.

But for bandwidth into the computer, there's still nothing that can compete with text. Consider the space of meaningful words you can type at 100wpm, and how awkward it would be to offer a similar number of choices at a similar speed on two (or even three) dimensional display.
Yeah, elinks handles more websites and renders closer to a graphical browser but w3m uses vim keys.
We do not need to invent visual programming languages that will "encourage" people to program. Most people are quite capable right now.

Its motivation that matters - and until it is taught to 5 year olds as a matter of course, then seeing the world eaten by software will provide motivation enough.

Imagine you lived next door to that Gutenberg guy and his new-fangled press. You would want to be learning to read now - not waiting for someone to invent the comic.
It's always okay to politey and professionaly not waste people's time. Don't come across as judgemental, angry, or anything similar or you risk burning bridges you may not even realize you have.

From the brief description, it sounds like the guy was showing a bit too much emotion in leaving. Also - just because an interview process seems harsh doesn't mean the company is harsh - the interview is one thing, the job is often quite another - results tend to speak for themselves regardless of culture (and as long as you aren't a snob or jerk to your co-workers)
If a seasoned, experienced professional doesn't get that, maybe they aren't a good fit...
I've given some thought to that - it uses the same mechanisms as jsfiddle (different domains) and you can view the haxx code. As such CSRF should be fine and SSL isn't supported on public haxxlies.

I however, wouldn't recommend signing in through the service :)
Humor aside, I can't even imagine the shipping costs for pulling a stunt like this in reality. Then again, no one ever said spite was cheap!
Not to mention lathes. Lathes have been able to make guns for decades/centuries.
Are there some famous projects that I can see concrete examples of use of this this project? This seems pretty cool but I still couldn't get it.
The first paragraph of Rob Pike's write up:

The Blit* is a graphics terminal characterized more by the
software it runs than the hardware itself. The hardware is simple
and inexpensive (Figure 1): 256K bytes of memory dual-ported between
an 800x1024x1 bit display and a Motorola MC68000 microprocessor,
with 24K of ROM, an RS-232 interface, a mouse and a keyboard. Unlike
many graphics terminals, it has no special-purpose graphics
hardware; instead, the microprocessor executes all graphical
operations in software. The reasons for and consequences of this
design are discussed elsewhere.

http://doc.cat-v.org/bell_labs/blit/blit.pdf
I'm interested if you could solve it if you gave it some thought. The interviewer is presumably not expecting you to write it instantly and perfectly, but to reason your way through it over a few minutes.

(I will try it now.)

it can be answered in about 10 lines of C# is an unhelpful way of expressing how difficult a question is.
I don't have time for side projects. My work consumes all of my productive time. Granted, I am a researcher, but I think this should apply to others as well.