skysight-inc/HackerNews huggingface dataset:
From the beginning of Keybase, we considered this specific user flow very important.

(1) if there's no one on keybase who matches your "assertion", say a certain twitter account or HN account or whatever,

(2) the keybase app encrypts it just for yourself, but signs a message (for yourself) declaring the assertion

(3) when someone proves that assertion publicly, by joining keybase and connecting an account, they are announcing and proving ownership of key(s), and proving publicly they have control of that account and keys

(4) the keybase server wakes up your app and tells it to verify your assertion is now satisfied, and

(5) your app checks the announcement by actually visiting Twitter and then, if the crypto is good, rekeys the data - there's nothing for you to do other than to have the app running, since the human steps were already done back when you made the assertion by writing the message.

Depending on how loosely you use the term, this is a type of TOFU (trust on first use): you're trusting that the assertion provider, say, Twitter, doesn't steal an account out from underneath one of its users, or the user doesn't lose control of her/his account. Note that this would be publicly discoverable because all announcements are written publicly to Keybase's merkle tree.

This is just about the best imaginable key establishment we can think of without meeting in person. It's certainly better better than, say, trusting a key service to map a phone number to a public key. And it's safer than posting PGP fingerprints or public keys on Twitter - in that case there's no way to tell if everyone else is getting the same answer as you.

edit: formatting
Announcing GitHub Universe early bird tickets and speaker submissions
thanks all!
I just looked at git-mediate and I'm very confused. It appears that all it does is remove the conflict markers from the file after you've already manually fixed the conflict. Except you need to do more work than normal, because you need to apply one of the changes not only to the other branch's version but also to the base. What am I missing here, why would I actually want to use git-mediate when I'm already doing all the work of resolving the conflicts anyway?
Just to elaborate:

Even if all the computation were implmented in C (eg, DAG nodes in a TF style setup), being able to compose the network that forms the computation via Haskell would be a big win for me because it lets me use the type system and various powerful libraries to design my network. (And opens a straightforward path to GPU acceleration of Haskell designed code by using the C GPU libraries.)
(shrug) I guess that must be the same store that sells blue jeans for $200 or more, instead of around $50 or less. I wouldn't really know.

Man, I'm glad I'm not in my 20's anymore.
Yeah this is basically how Python is used in ML/data science work. Except Haskell lets you apply solid engineering all the way from the prototype to the production system.
Interesting, is there a link to this?
thx, fixed!
> Why would the Syrian government torture and mutilate a 13-year-old boy and then return the body/proof to the parents?

The obvious possible motive is to send a signal that that's what happens if you oppose the regime. Your kid disappearing isn't as strong a message as receiving his corpse in pieces.

> There was no strategical need for dropping gas but still, he apparently did... why would he?

There was strategical need to drop bombs, even Assad and Putin acknowledged that. Why not gas? The lesson from the previous gas attack a few years ago, whether or not he did it, was that he could get away with it.

And there's been ethnical cleansing going on on both sides in that region. So it isn't the most surprising thing either.
And how does that fact in any way refute my claim?
> Japan isn't particularly culturally friendly to startups.

It's quite the contrary.

Japan, or at least its entertainment industry and pop culture, is full of entire franchises started by minor, independent artists and coders, aka doujins [0]:

> amateur self-published works, including manga, novels, fan guides, art collections, music and video games. ... Of the $1.65 billion of the Otaku industry in 2007, doujin sales made up 48% ($792 million).

[0] https://en.wikipedia.org/wiki/Dōjin
Heck, the Universe will be fine.
It's very much really. The fact that it's easier doesn't really matter - a repo is about access to the source code and its history with some degree of convenience. The process and policy of how you control actual change is quite orthogonal. You can have a single repo and enforce inter-module interfaces very strongly. You can have 20 repos and not enforce them at all. Same goes for builds, tests, history, etc. The underlying technology can influence the process but it doesn't make it.
A url? Not much.

100 urls? That's getting a bit annoying.
I would really love to see an AlphaGo with even the minimal tweak of maximize points while maintaining win % > 95%.

I really wouldn't be shocked in those final moves it was optimizing for 5 or 6 "9"s of success probability. Which will still true to programming, it also obfuscates how good it really it.

That said, there is some benefit to not completely embarrassing your human player who previously was known as the best, but has volunteered to be beaten repeatedly on international TV.

Going into this Ke Jie knew he was going to lose, and still agreed.

Speaking as an inexperienced go player, I would not be shocked if the new Alpha Go were 500-1000 Elo points better than Ke Jie. It's true skill being masked by its ultra-conservative style of play.

The original AlphaGo only lost a single game to Lee Sedol that was essentially just a bug, not because it was "weaker". DeepMind has said this completely retrained AlphaGo is significantly stronger than the original.

[1] Partial support for the possibly 1000 pt Elo advantage of Alpha Go. http://en.chessbase.com/post/alphago-vs-lee-sedol-history-in...
I'm guessing that would be a licensing nightmare. They must pay many companies for licensed technologies inside Windows, and many of those licenses likely wouldn't be compatible with open source licensing.

All of their source code would have to go through legal review, some with each check in. I don't see that happening for legacy code.
Thanks very much, I had been e-mailed a copy and didn't have the link handy.
You say that, but it is very telling that every large company out there (Google and Facebook come to mind) go for the single-repository approach.

I'm sure that, when dealing with stakeholder structures where different organizations can depend on different bits and pieces, having multiple repositories with difficulty of making breaking and cross-cutting changes, becomes good.

From the view of a single organization where the only users of a component are other components in the same organization, it seems like there is consensus around single-repository.
Any thoughts on Keybase's part on getting into the password management space? Seems like the infrastructure is all there.
If you mean Africa, yes. In the US/CA 2G is scarce to nonexistent, the 2G infrastructure in the EU is going to Africa and the freed up radio spectrum will most likely be used by LoRa/Sigfox networks.
It's so accurate to call this a Sputnik moment for China. I wonder if we'll see a face off between AlphaGo and a Chinese Go AI sometime in the future.
Reddit gained traction because its frontpage was accessible to everyone (no signup) and it updated more frequently than Digg. The stuff you read on reddit turned up on Digg later and slashdot days later. Eventually you stopped going to Digg because you'd read everything already on reddit.
It's not just deep learning. PC gaming is also booming and Nvidia is the leader by far in that space. The Switch is running on a Tegra X1, so they're back in the console market at a very low cost to them. Toyota and Tesla will be utilizing their chipsets in autonomous cars, which is a pretty huge win, and Tesla already uses their chipsets to power in car entertainment/nav.
I was referring to node.
For 3-way merging the best tool I've found is Steve Losh's splice.vim (https://github.com/sjl/splice.vim/).
I think the practical way to go about this is to distinguish between what's ACTUALLY dangerous, actually harming people (beyond the loss of their privacy), and what's POTENTIALLY dangerous. Because I think it's easy for people to conflate the two.

For instance, are people being rounded up and having bad things happen to them? Yes. People suspected of being illegal immigrants (or undocumented) and who are also suspected of being violent criminals are being rounded up. Also, there seems to be the odd case or 12 of someone who is undocumented, but is otherwise a thoroughly upstanding individual.

The second thing I believe needs consideration is to determine exactly what line does the government need to cross for this POTENTIALLY dangerous privacy invasion to become ACTUAL, PRESENT dangers.

The problem, of course, is getting consensus. Particularly when there's heavy foreign influence on the Internet & government. When so much of the news media promotes racism & nationalism. The possibility of the people being divided and conquered is a POSSIBILITY, given our acceptance of nationalism.
> The author wants access to the largest and most lucrative App Store on the planet, yet they don't want to pay for any Apple hardware to do it.

They're already paying a 30% cut of all app sales.
I worked on https://microco.sm with mattrco and it was forum/community software too. It looks like https://www.lfgss.com/

The #1 problem with a community startup: Every community is itself a startup.

The revenue math and compounded growth all makes sense, but you need to assume that few of your communities survive, and that they each take as long as a startup to get traction and grow.

If it takes you 1 year to get an MVP of sufficient quality to start attracting communities, it's still going to take the community at least a year to have sufficient attractiveness to bring in members. And it's unlikely that either will take as short as a year, and if it did that isn't going to be enough to bring in another round of funds to keep going.

Community startups are hard.
This is quite true. I had nothing but disdain for Flash back in the early noughties because, almost universally, everything I encountered that was built with it was terrible, especially those CPU core swallowing ads.

Nowadays of course we have CPU core swallowing and battery draining JavaScript ads, along with massive JavaScript bloat in general. For the heck of it I just went and had a look at one of my own pages, which runs an HTML5/JS/CSS game, and includes Adsense. It downloaded 633KB of JavaScript. By today's woeful standards that's not even particularly bad. To break it down a bit though, 52KB of it is scripts I use directly, of which 47KB is required for the game. The other ~5KB is FontAwesome, which I use for icons on the menu buttons. The other 581K? Well, Adsense itself is also fairly small (about 35K for two scripts), which leaves the rest - the vast majority - which is loaded by the ads themselves.

Like you, I've come to realise that it wasn't the tool/platform, but the people building for it. Clearly the best developers are not building ads. It feels like there should be some scope for disruption here.
And now, a brief definition of the web
Show HN: React Fast Mount
> The latest version of iOS runs on all iOS devices back to the iPhone 5

Have new iOS versions stopped getting aggressively slower on old devices yet? Technically running but in a broken way doesn't stop it being planned obsolescence. If that did change then great, more people should be made aware.

> Can you say the same for Android?

This is about iOS's faults, not Android's.
>> You should know what a binary search tree. You probably don't need to know the specifics of how to balance one.

Fine. I know this. Will this give me a job? No

>> Yes, I understand that interview prep might interfere with other obligations. You don't have to study. But it'll help you. I'm not sure what you expect here. Do you want companies to hire based on how smoothly you're able to bullshit about what you can claim to have done in the past?

No. I want to be hired for the skills I'm bringing in and not for my ability to solve toy problems on a whiteboard.

If the interviewer cannot filter out bullshitters, the interviewer is incapable of the "job of interviewing". Maybe hire better interviewers. Why is the burden on the candidate?

>> The major benefit of a whiteboard is that it allows a candidate to not get caught up in details, like the exact syntax for some function (who cares?) or writing in all the details of some trivial thing just so it can compile. It allows us to focus on the big picture. It encourages more thought process and communication. On a computer, many candidates just shut down -- they try to get things out as fast as possible, and they stop thinking about what they're actually doing.

I agree with this, only so long as the interviewers don't fret about some stupid edge case. Why is there an expectation of perfect code in 15 mins on a whiteboard? Who does that in production?

The interviewer knows about these edge cases because they've seen the problem before. But I can guarantee that the same interviewer would not be able to 'perfectly' solve some problems that I pose them without having seen them before.

Which brings me back to the question. What is the point of the coding interview (or perfection in coding interview) if the only people who can solve them are the ones who have seen the problem before?
Kudos for releasing to the public domain, but you should also attach a license to it (MIT is good)

Edit: sorry, I see there's a top level license. Browsing github on my phone wasn't giving me the info I wanted :)
True, although sadly you can't also tune JavaScript developers at will.
Oh, you young ones.

Back in the day on the Atari ST it was all assembly because C was just too slow.

https://youtu.be/cpezr7puRFo

None of my stuff was included because it really wasn't good enough.

Also the guy who did most of the music for the Synergy Megademo, Joris de Man, went on to do music and sound effects for Killzone and lately Horizon: Zero Dawn. So proud of him.
I'd be interested in the perspective of someone who has used both GO and Dlang for command line tools. Go is my current tool for this, but D seems like a much nicer, less dogmatic language.
Yes! Windows Kernel is a much more "modern" microkernel architecture than any of the circa-1969 Unix-like architectures popular today. We use Windows 10 / Windows Serve for everything at our company, and we have millions of simultaneously connected users on single boxes. No problems and easy to manage.
The archived site emphasizes that "this is a beta version, and there are a lot of known bugs." It's not unreasonable to assume they intended to do more with it.
I think this had only happened once to me, but I rarely sign out or close Keybase so I wouldn't be one to experience it frequently.

Are you sure you are quitting the program and not closing the program? Many programs nowadays continue to run in the background after clicking close but do not actually quit the program, seemingly confusing the close button with the minimize button. I think Keybase does this but I'm not home to test.

Most of the programs I'm aware of that do this terrible behavior are chat programs (Discord, Slack, maybe Keybase, maybe Teamspeak, Skype, etc.) and on most of these it can be disabled in the settings somewhere to actually quit the program when you close it.
Sorry, I don't have much in the way of examples. I am not using a textual template language. Instead, you define Ruby hashes which is then converted into either json (for loading into Kubernetes) or yaml (for debugging). It takes advantage of method overrides and class/module inheritance to achieve that. Specifications themselves are written as untyped, lazy-evaluated functional style. (Ruby being Ruby, it is not really immutable)

I just created a small example with redis: https://gist.github.com/hosh/89099f6f14ca5101e22c55f8d7f9e65...

That doesn't show off all of the features in there. There is a Rails-like convention so that resource definitions are loaded and can be referenced within each other. There are additional hooks that lets you generate `kubectl` commands, so for example, on our team, I defined hooks that lets me shell into a running container, or go directly to the console. (Redis, MongoDB, PostgreSQL, Rails, Rabbitmq, etc. consoles)

So yeah, Matsuri is very heavy-weight compared to Ksonnet. It isn't just that it is Ruby (already heavy-weight). Feature-wise, it does a lot more. I'm not sure that is a good or a bad thing.
This is actually a really interesting point.

(Context: In chess, a queen can move along a row, column, or diagonal to attack. The N Queens problem is to place N queens on an NxN chessboard such that no two queens can attack each other.)

No one does poorly here because they are "bad at chess algorithms." They might do poorly because they think they're bad at chess algorithms. But this is not a "chess algorithm." It's an algorithm, with a chess skin.

But, sure, if you're bad at chess algorithms, I'll give you this problem: Given an N by N boolean matrix (all falses), set N cells to true such that no two rows, columns, or diagonals have two trues.

Same question, but with a boolean skin. Now will you be able to tackle it?

So, advice: Don't assume you're bad at __ type of algorithm question. For the most part, this isn't true. At most, there's a tiny bit of knowledge to tackle it (so you're not bad at it; you just don't know something). Nearly every time I hear someone say they're bad at some type of question, it's actually just an insecurity. They aren't even missing any knowledge.

The only partial exception here is recursion/dynamic programming, which does have its own little approach.

At a higher level: Can you ask for a new question if you're bad at that type?

You could, but it's risky. If I ask you a question that really involves pointers and you don't understand them, then okay. But realize that this might be a deal breaker for me. I might need that knowledge, or I might be concerned about the tendency to give up.

You're probably better off just voicing something like: "To be honest, I haven't worked much with pointers. I'm happy to give it a shot though, unless you want to move onto a different question."
Keep in mind that Reddit was pretty much PG's idea, not the founders'.
>I don't get the hate for marketing...

I don't hate marketing per se but, nowadays, I am frequently left with an uncomfortable internal voice after making a purchase that asks "Is this really the choice that I wanted/needed or is it just that the I let the company with the best marketing manipulate me into buying this particular choice?"
15 WordPress Portfolio Themes
>The thing about khaki is that it’s not something specifically dated like low-rise bellbottoms or t-shirts emblazoned with vintage road signs; it’s simply a fabric.

Khaki is a color, the fabric is chino and it can be dyed many colors: https://en.wikipedia.org/wiki/Chino_cloth

I know this seems like a minor nitpick but it's hard to take the rest of the points seriously with such a major misunderstanding of the basics.
Virtually every top tech company has been formed with these practices

Just to be clear, does "top tech company" mean simply "large tech company?
Google already has a FUSE layer for source control: http://google-engtools.blogspot.com/2011/06/build-in-cloud-a...
all those free t-shirts did you in :(
You are missing the 3rd type of people who remain. Idiots who felt a sentimental loyalty to the brand, who is not giving up hope that IBM just might rise again to the way it was in the old days.
This is good general, high-level advice and following it might slightly increase your chances, but I'm more and more convinced every day (and every jumped-through hoop) that there is no formula--and that random chance plays the biggest role in how far you get through any given interview funnel. The solution, if that's true, is just to make it a probability problem. Get as many interviews as you can, and as long as your chance of getting the job is greater than zero, you'll eventually get one. In tech, especially at these big companies, it's an employer's market, and they have the luxury of being able to be as picky as they want: There's always a line out the door of qualified candidates.
Not exactly the same concept, but you might find brilliant.org useful as well.
Nice! Vue is <3.

I am actually also working on notes editor in my spare time. Using vue.js and codemirror, keeping notes in local storage.

http://notes.yev.io

Was thinking of making the project public but not sure if anyone will be interested.
Reddit was already sold to Conde Nast after 16 months.
So only transfer tax, not holding tax?

If so that sounds terrible.
When people don't get an offer after a technical interview, it's typically about technical skills. Even if they think they did well because they verified their answers online. Often, although their answers were eventually correct, it took them too long to get there which the interviewer perceived as weak problem solving skills.
The advice about not giving up on the question is a key point here.

In a previous startup I would ask a single question that would take 30+ minutes to work through with no expectations that the candidate would ever get the answer. All I cared about was if you could break down the issues and move from one set to the next in trying to narrow down the issue. I cared deeply about how you thought, not what you knew.

As people will ask the question had to do with networking and knowning the answer required you to have seen the issue before and have had delved deep enough into the Ethernet HW specs to get the answer.

Narrowing down the question just required you to think and be able to problem sovle. At the end most people never figured it out but those that spent the time attacking the problem and asking question are the ones that got job offers.
Looking forward to seeing the go port!
Apigee's cloud runs in a lot more than two AWS regions today, not to mention GCP regions, and the whole product can be installed in your own datacenter. We also offer a "micro gateway" that lets the proxy component run anywhere and communicate with the rest of Apigee via an API. We'll be taking this hybrid mode further and the Istio integration is one of the things that will take advantage of that hybrid model.

(I work for the Apigee part of Google.)
While I can't vouch for anything beyond Just Kids (which is spectacular), here are some other ferociously good reads on the lives of artists:

* Ernest Hemingway - A moveable feast

* David Lipsky - Of course you end up becoming yourself

* David Sylvester - Interviews with Francis Bacon
Git-extras[0] is also quite nice.

[0] https://github.com/tj/git-extras
No I hadn't considered this, thanks for the suggestion.
Awash in Sea of Data, Ecologists Turn to Open Access Tools
Because they're fat.
I just get "Sorry, but your browser does not yet support WebAssembly."

I'm on Firefox/Linux. Other WASM demos work, so I'm pretty sure that's a bug. :)
Funny how the main anachronism is the guns and rah rah militarism.

Even parental concerns about the type of paint persist through time
Are you aware that the name was already taken[0] for something which also has to do with file systems?

[0] https://wiki.gnome.org/Projects/gvfs
True but it should be possible to compare interview performance to job. I presume that interview performances for successful hires aren't uniform, and that on-the-job performances aren't uniform either. If these interview practices make sense then presumably there should be a clear correlation between the two.
Related: http://antirez.com/news/94
HN crowd lives in a real world, as real as any other crowd. It may be different then your crowd, they might be minority if you count in whole world, but it is real world anyway.