skysight-inc/HackerNews huggingface dataset:
In my opinion the trick to large-scale software architecture is to build small software systems tied together by strictly defined interfaces. There are many ways to ensure the strictness of the interface: having strict typing and a compilation step, unit tests, static code validation (compiling without compiling), and even hungarian notation and systematic code reviews. Those are not mutually exclusive tools; quality improves with each one added, but none are mandatory.

My personal experience working on large systems without unit tests (among others a 200.000 line javascript codebase) is that as long as you adopt good coding practices around how you define clearly typed interfaces the lack of unit tests doesn't hurt you that badly and there is no wild-growth of bugs. Using the jetbrains IDE's also made a big difference for me due to the static code checking. I want to see the little code quality box at the top of the scrollbar turn green, and the process of doing that tends to weed out a lot of those bugs that a unit test or a strict type system would catch.

I do think that if you're building large-scale or long-lived systems, it is not any faster to use a dynamically typed language. I've written lots of code in both strictly typed and loosely typed languages, and I find that while I enjoy a loosely typed language more, I am equally productive in the strictly typed environment because strict typing makes it easier to write reliable code from the outset.
Realtime Networks: The New Super Internet for Data
James Doty’s Helper’s High
when i talked to keithp about this last year, he wasn't as enthused as you seem to be about the implementation. it was purely a side effect that causes people to think that Xorg isn't locked up when it actually is.
Depends on your definition of mainstream. I know some huge games like League of Legends, DOTA2, and Starcraft routinely do 6 figure concurrent viewer counts for tourneys. That is higher than a lot of TV. I personally have had 8,000 live viewers.

NFL like status is not attainable so lets not say that this is the business plan. Yes the users can move somewhere else, but for gaming twitch is the de facto site for streaming right now. There has been talk of switching sites whenever some streamers get aggravated but it would have to be a huge failure to have people switch en masse.

It is also not easy to do live streaming. It uses massive amounts of bandwidth, and you have to keep this going live to people all over the world. Twitch is the YouTube of video game streaming at the moment and it would be hard to unseat them.
This has been discussed before. It's the distinction between the collector being precise and conservative. Conservative collectors are fine because they err on the side of retaining memory rather than freeing it. As I stated before, intuitively the odds of an integer containing a pointer-like value is 1/4 (on a 32 bit machine), but they actually tend to be much lower.

Even libgc has this issue and it is impossible to resolve in C.
If you don't hear at least a sentence a day where you haven't the slightest clue what was said, then I suspect you don't encounter many humans.
Perhaps I'm being a bit harsh.

> 1) We do degrade restarts over time.

Is this adjustable? X restarts in Y seconds? I feel this is something that could be quite application specific.

> 2) There is hierarchy (so it will start linked containers).

So if A has a link to B, will A be restarted if B is restarted?

I'd be aiming to build hierarchies with restart strategies like these:

http://www.erlang.org/doc/design_principles/sup_princ.html
Here is a library that helps to create such an interface: http://mahapps.com/

It's also mentioned in the blog post you've posted.

Disclaimer: I'm one of the developers of MahApps.Metro, I hope nobody minds the shameless self-promotion
Yes I think this is critical. You just don't buy Kindle stuff for games or you're going to be not only disappointed but at a terrible disadvantage because of the artificial lock-in. The Amazon App Store is much smaller than Play and iTunes (though improving), and the Fire TV has a very small and stagnant selection of games (and not really improving).
Last year, this fellow named Warren tried that logic in NYC. It didn't work too well. The Verge ran a piece about it back in May 2013.

> The law seems to include an exemption for hosts who rent out an extra room or couch to a "lawful boarder" for less than 30 days, but remain in the dwelling while the guest is there. Because Warren's roommate was home while his Russian boarder was there, he argued that the exemption should apply. However, the judge interpreted the terms "boarders and lodgers" in the law to mean "occupants who share the life of the dwelling with its permanent occupants" and not to "complete strangers who have no, and are not intended to have any, relationship with the permanent occupant." Because the Russian visitor did not interact with Warren or his roommate, the judge said, the exemption should not apply.

That last sentence is an interesting interpretation of the judge's decision, but the rest of it is pretty spot on. The opinion in question is here: http://s3.documentcloud.org/documents/702734/decision-and-or... [PDF]
A statement of fact is not really a perspective. You just said you paid for prime but don't use prime video but forgot to say WHY. Now you have, but your original post was seriously lacking.

For all we know you didn't use Prime Video because of any number of reasons, you had satellite internet, it didn't work right, you didn't like their content catalogue, you can't get the video in the right rooms, you didn't know it existed, et al.
This (that the workplace is fair, hours are reasonable, and it's generally a great place to work IMHO) is true from personal experience.
Do you have a reference for that number? I wouldn't be surprised but would still want to see where you got that from.
This is really pretty, but I don't use anything in this vein except for Spybot Search and Destroy. I wonder what other HNers are think about that: am I asking for trouble? I haven't had any problems in years. I'm a Windows user, and I run SS&D every month or so (I don't run the resident process).
They forgot to add "Sponsored post".
A simple way to get around this for the WSJ is to search the title on Google News. Click through and you just jumped the paywall.
Shitty Technology: Where will it take you?
Because that's what makes it a unit test -- you only want the unit, the tests and any stubs/mocks in the executable. Anything more and you have an integration test on your hands.

Pulling a single unit out of a legacy codebase can be difficult, especially when you don't want to actually move, copy, or modify the source-files; stubbing out the dependencies and writing mock objects to verify your expectations of what the code should be doing are also very time-consuming.

Those are the hard parts of unit testing C++, and I wonder if anyone has found a good way of doing it (with a framework, or just a technique).
Fears for Tiers – Do You Need a Service Layer?
Ok, go for it. Why do you think it's a terrible place to live?
If by exclusive you mean a lot of devices except Android.

Desktops, laptops, iPhone, iPad, iPod, TVs, Roku, PS3, PS4, XBox 360, XBox One, Wii, Wii U, Blu-ray players
A number of people live in (beautiful!) Santa Cruz but commute over the hill to work in San Jose or elsewhere in Silicon Valley. It's a long commute on a treacherous but crowded mountain highway, so it's no surprise that they need to wake up early to beat traffic.
Beautiful!

Could you make it so when the graph rescales, it just doesn't snap into place, but gradually (say, animate over a half second) resizes?

EDIT: If I have GlassWire on my second monitor, and click "+ 2 more" to see what else is going on, the pop-up opens on my first monitor.
> "For now I think Google can get away with it but I feel like in a few years we're going to be seeing articles about Google's 'brain drain'."

I feel like we're already there. A few years ago everyone was trying to work for Google, but I rarely hear about them in conversations nowadays.

I'm not going to puff a lot of hot air about how awesome I am - but I do get a lot of interest whenever I'm on the market, and Google's process is simply too slow and too convoluted to interest me. Though Google pays well they, by a long shot, not the only players paying within their range.

The last time I was on the market I was able to line up phone screens within 2-3 days of first contact, and on-sites the same week or the week after. Companies would decide on an offer/no-offer/more-talk-needed disposition within a day or two of the on-site.

And all of these were companies paying at the top end of market, working on cool products with roles that would offer a lot of fulfillment.

I just don't see why I'd put up with months-long processes getting hopped from one recruiter to the next and having endless exhausting interviews.
At the worst possible moment, Battlefield Hardline valorizes police violence
FreeFall Spider
The reason I posted this article to HN, although it does not directly contribute to "programming, startups, entrepreneurship, or business" is because there are many self-help/improvement related posts on HN.

I'm starting to see a trend in HN being a place where people learn more about many things. Maybe HN should not have these kinds of posts, I can't answer for what HN should be. I do think this post can help people be better individuals, and in turn be better programmers, entrepreneurs, business persons, etc.
GlassWire checks for software updates and also does an RBL check. You can see it on the graph and block GlassWire if you want, but then you won't be alerted to new versions and your malicious hosts will become outdated. We don't list our malicious host list sources but I guess we could, I'll have to think about it more. We don't get the hosts from our users or access any user data at all. Your graph data is private on your machine, unless you set up our remote monitoring feature and that data also never goes through our servers at all.
YMMV, but not downloading every fool thing that comes my way has been a very reliable way to keep my Windows machines free from infection.
Really simple and cool service; does anything like it exist? I'd imagine you'll eventually take a small % of the reward itself (processed through the site). If people ever marked their item "totally lost" you could also hit them with affiliate marketing replacements.

I think it's a fairly narrow use-case. I'd always just write my name/phone # on a large % of my stuff; but I suppose I would rather put a sticker on some things (phone, wallet, electronics, etc.)

Pretty cool - how long have you been live? And how are you coming up with this 80% "return rate?" Do you have a sense of when things are actually marked "actively lost?" as opposed to "if it ever is... this sticker will come in handy" ?
Why would you assume that because Google offers a service to its employees, this makes the employees hopelessly dependent? Presumably, not using that service won't put more money into Googler paychecks, just take it out (either as laundromat fees or their own water bills.) If it were me, I'd rather spend that money on something else.

Granted, they probably make enough that it doesn't matter either way, but unless they're washing buckskins in a river, just about everyone (in the US at least) is hopelessly dependent on their employer for "basic sanitation" to varying degrees of abstraction. And food. And shelter. And healthcare. Etc, etc.
You are correct, it's not perfect but we're always trying to improve the graph so it's a better representation.
I've been working to get a VMWare vCAC install going in my $corp. Have been avoiding talking about docker in meetings with them as I thought it would be embarrassing for them as privately I think it'll reduce VMWare's power.

So very surprised by this!
Show HN: Meteora – an interaction engine
I fully agree conciseness is valuable! If a formal system doesn't have a direct route to the action you want, it probably can be improved. I don't think shorthand and formalism are opposites.

I also agree that a lot of people tend to shy away from formalism. I think that's what Dijkstra was lamenting.

By the way, what is a CRUD? John Doe doesn't understand the word. What do you mean, Create-Read-Update-Delete? He understands some of those words, but I'm unsure they mean what he thinks they mean. Are you sure that, without some training on the formalisms of the system (which Sharon obviously had!), you want John Doe to delete something from the system? He might try to unplug the harddrive, maybe that's what he thinks "deleting" means.

Yes, it's easier to teach John Doe to use a limited UI instead of, say, teaching him SQL. But he'll be able to do less complex stuff with just the UI. (And the fact SQL has some English-sounding keywords is helpful, but SQL is an extremely formal system with few parallels to natural language).
I scrapped a lot of expressions (mostly based on verbs) from the Google Suggest in portuguese and made this kind-of keyword search service: http://nichos.alhur.es/, but I don't like the results. They aren't very much inspiring.

Can you give me some advice?
Easy solution: just don't use submodules.
I am a Twitch partner and just last week I received a survey asking me my thoughts about affiliate marketing in regards to promoting free to play games, selling games, and relate peripherals. Seems timely now.
I actually just signed on to HN to comment on this news. Great job, first of all for a good solution to a real problem. Next, great design: finally an application that does not pale in comparison to its Mac counterparts.
I really have a hard time believing that going out to lunch with coworkers "adds to mental fatigue and harms mental clarity".
Programmers write the same number of debugged lines (or expressions) of code per day, regardless of the language they write in. A language only enables faster development if it requires fewer expressions to say the same thing. That is why high-level languages trounce low-level languages when it comes to productivity. I admit to not being very familiar with Haskell, but if it is not more concise it's not likely to be more productive.
The People’s Platform: Taking Back Power and Culture in the Digital Age
I'd get in touch with Givewell, and make sure that adequate funding goes to the charities that are very important but too small for me to research myself.

If you have billions of dollars, you can try funding one really big thing, which might fail - or you can fund a thousand smaller things, some of which will fail and some of which will succeed. The latter is usually better for the world.
What do you stream?
yeah, its not like that feature covers the occulus rift, the sony morpheus, and if they'll even succeed at all.

great sponsorship.
I think your underestimating the potential of game streaming. Twitch might be a seemingly impossible distance from reaching NFL-like numbers on a single stream, but what about 1% of that audience on 100 streams? or 500 streams? They don't even need to have that, because twitch is streaming 24/7. Everyone will see a few YouTube videos a week, maybe even a few a day, but Twitch users will watch a stream for HOURS.
NYC is very different, though. The offices are in the middle of Manhattan. Very different to the isolated Google campus.
"Grass is greener" syndrome?

Any place will have its pros and cons. I'm curious (as a southern california native) what it is from your experience that makes Canada so terrible?
I don't see how that is interesting, his using the official Dart IDE.
A modular, standardized system for building houses where you buy X external walls, Y internal walls, window type A, skylight C, flooring sections, etc .... Walls would be come wired for electricity with snap together connections, roof sections with pre-wired solar panels. Allow people to order parts and put together their own home, or do so with friends like an old fashioned barn raising.

Tornado damaged your house? Order those parts again, disconnect the damaged ones, snap in the new stuff. Baby on the way? Disconnect an external wall, add a few more panels and you've another room, no need to move. Use recyclable materials (melt down one of the 'airplane graveyards' and use the steel and aluminum for a start).

The goals would be to reduce the waste involved in constructing houses as well as achieve economies of scale through mass production that would allow buying a home to be no more of a commitment than buying a car. No more 30 year mortgages, no more being 'house poor'.

Young and just starting out in life? Buy enough for just a kitchen, bath, and bedroom ... add more as you can afford it.

Open the standard for wall, floor, roof, etc... connections so vendors can offer 'after-market' parts for your home if you want something special or more individualized.
s/unprecise/conservative/
was the hiring process as dismal as talked about in the article?
The article in question is from 2010 [1]

[1] http://scholar.google.com/citations?view_op=view_citation&hl...
Very cool!

The text says that 93% of the Napa area woke up, but the graphs shows 74%. I'm assuming the graph is off?
Plenty of people live in apartments that don't necessarily have laundry on site. I don't have any firsthand experience, but I'd imagine it'd be a lot more convenient to be able to do your laundry at work for free vs. having to take a separate trip to a laundromat, feed quarters to the machines, etc.
Great, and now how do you reasonably share a dependency between multiple repositories while correctly tracking the exact version of that dependency at each point in history?
The top right side box is empty for me (not that the content is empty, but look white and just seems to be broken to me), and it's still loading after a while.
You are wrong.

I made a comment to that effect higher up before noticing this.

When you're dealing with real world data - timings, statistics, sizes, dates, and then if you add floating point numbers whose representations look like big ints, you will be hitting this a lot, and leaking memory, due to how your mark and sweep works.

It is absolutely critical to have a sure way of disambiguating pointers from data.

I've fixed bugs in a memory allocator that's running in an app deployed on several hundred million PC's. It had a really fancy allocator that put a header with a magic number around malloc output, in addition to what you do, in an attempt to identify specific kinds of allocations. We'd see several tens of thousands of crashes a day due to magic number collision with real world data.

Your intuition is wrong. You can never assume that most local integer variables tend to have small values. Assign -3.0 to a float, and map that to an int, or read the current epoch time into an int, and see what happens.

A C garbage collector would certainly help write some code more easily, but it has to work, and it has to be "precise". An imprecise GC is worthless in production, but fun as an academic exercise.
This actually isn't reliable. It doesn't work for me, for instance.
People have been asking this question since the mid-90s. Jeff Bezos will get back to you on that one of these years.
Ask HN: Transparency for Penalties
The whole penalty system seems very opaque to me. For example, I submitted a link today morning that reached the second position on the front page. Obviously people were interested. Next thing you know, it's on page 8 (yes, the change was very sudden) See https://news.ycombinator.com/item?id=8221682 It's not political/controversial etc. just plain news article.

Wouldn't it be good to have some transparency in these kinds of situations? If there is manual action, should we not, at least, know the reason behind that action? Doesn't anyone else feel this way?
"there is a distinct wrapper for all pointers"

That's not why the JVM can do this - the JVM knows the location of pointers in objects on the stack, and it only scans them. They aren't wrapped in any way.
No need to pick up a surface; just adjusting the display settings in Windows 8.1 should be enough to simulate the problems. Increase the DPI, etc.
Never mind, it already shows the apps folder, just click on the apps icon.
Anyone want to compile a plain text version of this?
I think I spend most of my time reading, navigating and debugging code.

IDE developers should do more heavy lifting to support these use-cases imho.

I really like what the SourceGraph people are doing (https://sourcegraph.com/)
Maybe we need some contextual analysis capabilities and new class of errors based on overly ambiguous code.

(Along with a user defined value that let's the computer take its best guess)
According to a different reply here, all postings of under 30 days are illegal.

I can't imagine only 140 of their New York postings are offering places for less than 30 days. There must be other selection criteria.
Relax. You are not the person responsible for the site being up. That's Ops, QA, and support's job. All you need to do is provide a working product ahead of time to the other teams to load test it and figure out stopgaps for any holes found.

You can of course expect to be working at launch time, crushing random bugs and pushing fixes to production. But those should be minor issues. If everyone else has done their job, you will never have a Yahoo-esque outage, and you certainly shouldn't be held responsible.

For the downvoters who don't find this comment helpful, I worked for four years in CBS's fantasy sports operations team, handling hundreds of thousands of hits per second (dynamic content) and tens of gigabits of sustained traffic on launch days, and we never blamed the developers for an outage. (We did, however, have them on hand to look at problems)
But what if it is news broken by WSJ proprietary investigation? Should there really be a rule on HN that dampens original reporting?
I think bit.ly is certainly a more robust API. My goal here was to create something extremely easy to use and also learn a bit in the process.
For what it's worth: You can git clone --recursive to get the submodules in one swoop.
Rule 1 about online discussions: You can't read the tone of someone you're replying to.

"Be conservative in what you send, be liberal in what you accept"
Disclosure: I am a Microsoft employee but am only speaking about my personal observation of our processes. This is not the company's opinion. I believe I am not disclosing any proprietary information.

Microsoft doesn't always get it right, but the process is designed and intended to provide a top-notch candidate experience (sometimes at the expense of the interviewer's time, company's budget, etc.). I primarily have experience with the college recruiting side of the house. Industry candidates come through a different pipeline.

* We have people dedicated to logistics: scheduling the loops with engineers, air transit, hotel, rental cars, etc.
* A separate group of dedicated people handles the candidate's side: Email them details ahead of time, meet them at the beginning and end of the day, and keep them informed throughout the process.
* Although we have an official tool for documenting interview loops, the more important aspect is a strong culture of "warm handoffs" from interviewer to interviewer. What was covered, where did the candidate do well, where could we use a deeper dive to understand the candidate's skills?
* Training at multiple levels for interviewers: Before you can begin interviewing, you have to attend a training. Many divisions have historically required additional training. Want to go to campus? There's another training for that. Also, the training now emphasizes how useless "trick" questions are and how to formulate good questions.

There's more, but it veers into proprietary details of the process that I don't feel comfortable disclosing.