skysight-inc/HackerNews huggingface dataset:
Yes, I see Chrome has a reasonable default width, whereas the stock android browser is pretty much unusable.
I think with iOS, even if you disable zooming, you still get that 300ms delay. A better solution would be to instead of listening to only click, listen to both click and doing interesting things with ontouchend. I recall implementing something like that a while ago, where when an element is touched (ontouchstart), I saved the X and Y coords of the touch, and when the user releases their finger (ontouchend), if the finger hasn't moved more than say 32 pixels, I fired the callback to whatever. Of course, you also need to do something to prevent triggering the event twice, but when done correctly, you get both nice quick click events and zooming.
Previous discussion: https://news.ycombinator.com/item?id=9531265 (803 points, 68 days ago, 165 comments) It includes comments from the author.
I think the real counter argument would be: why would you use a language where it's easy to screw up in subtle ways as opposed to a language that makes it much harder to screw up, if all else is roughly equal. PHP is a minefield in ways most other languages aren't. Part of writing fewer bugs is setting yourself up with tools and practices that make writing bugs harder.
If no one ever re-invented the wheel our cars would still be rolling on stone wheels.
I recently became aware that functions returned from bind perform realtively poorly in modern browsers. I am not sure of exactly why, but a simple closure outperforms the functions returned from bind() significantly in all the browsers i have ever tested in.

If performance matters native bind() can be a pain.
Isn't this talking about personal debt, though? When they talk about the wealth effect in a stock market crash, it's pushing down on personal assets that are made up of saved money.

In contrast, the housing crisis of 2008 (from which we are still collectively suffering) was preceded by people taking on massive personal debt well beyond their ability to actually handle, and many times larger than actual savings. The following burst has a pile-on effect, in that those already debt burdened don't simply lower spending habits, but rather fall into bankruptcy, default on mortgages and other loans, and so on, which puts a years- if not decades-long drag on economic activity.
I didn't have a great experience with currying in Javascript when I tried to use it. In Haskell passing the wrong number of arguments to a function results in an immediate type error even when currying while in Javascript the error is going to end up being shallowed by the currying. You will only notice the problem a lot later, when you notice that something is a partially evaluated function when it shouldn't.

Another problem with currying in Javascript is that it leads to more complicated stack traces, which is unfortunate for debugging.
Thanks for the link. This jumped out at me:

"The importance of designing the architecture and the hardware to facilitate garbage collection is stressed."

Replace GC with reliability, security, concurrency, and so on it's still true. It's why I advocated safe, high-level languages and RISC processors. I figured they'd be easier to modify at compiler or hardware level as people invented solutions to these problems. Doing the same on x86, Windows, and C++? I almost gave up...
C has the same abstractions and the same OOP capabilities. You just have to type more to get there. Take a look at gtk+ and its supporting libraries for examples. The gist of the idea is a struct is the same as a class but public by default. Your this pointer, constructors and destructors must be called explicitly and error handing as well is explicit. In terms of how you can manage this among a larger team, would be to expose strict interfaces through methods that expect a struct pointer if it's an object. Next you can separate the concerns of the application in the same way you would in any OOP language. IMO this is probably a bad idea as the amount of typing necessary for a marginal performance win is probably not worth the effort. I like to think of it as a whole lot of dirt you will need to move with you fingers. Languages like golang and rust are perhaps better options to explore first?
I've been fascinated with Jekyll as a blog, but I wonder whether it offers the same SEO resources as Wordpress.

Any experiences?
Why did you think you needed it in the case where you had a function that didn't need parameters? That sort of relinquishes the point of currying. (Should just be passing the function itself)
We don't use a "web language" unless you include our use of javascript. We make custom sites using C cause we can and it does everything any other language does. We just might switch to Go cause it already contains the libraries we wrote for C years ago but Go makes it more universal to those outside our company.
Which reminds me that I don't see the point of skipping microcode updates when you are running non-free microcode when you are resetting the CPU. This is one reason why practically I think being able to modify the BIOS in the first place is more important.
The kind of pain you can be over with in 10 minutes, with minimal "click to add" moves...
I love my Surface Pro 3. It's better than anything. Sure, you can buy a Mac - but then you have to use OS X :(
It's all relative, right?

If I'm writing some super perf-sensitive code like manipulating an array of PCM data for Web Audio stuff or doing a complex canvas animation, then the savings of not using Function#bind are probably kind of important.

For most everyday code, avoiding bind() kind of feels like premature optimization to me.
On the other side of things, here's a silly internet picture that does a good job of summarizing many gun owners' feelings about continued firearms legislation:

http://www.everydaynodaysoff.com/wp-content/uploads/2013/11/...

On the one hand, we have a government and police that have proven themselves more than happy to merrily victimize and destroy the lives of people in the middle and lower classes with wild abandon. We have seen a security and surveillance apparatus far in excess of anything remotely reasonable turned upon its own citizens. We have seen gun control laws used to victimize minorities and immigrants, by removing their ability to defend themselves--from criminals created largely by the same socioeconomic factors.

On the other hand, we have a large number of firearms used in crimes (because why wouldn't you?) and in accidental deaths and in the statistically tiny mass shooting. People are scared of these weapons, mostly because they haven't grown up around them and because they only ever hear about them being used in crime (because that's what sells news).

The reason we can't talk about gun control is because both sides have problems which neither side wants to address.
I'm all for using tools that don't make bad things easy, but I think threeseed is saying that for hacks and spikes, the "later point" you're referring to might not matter. (I agree that those are the only jobs I'd use Mongo for, too.)

Of course, if you're at a company where those spikes find a way of turning into production code, then it's a different story.
Libreboot is not supported on newer models.
Yep, I think there's a well-known library (or 5) around for this somewhere.

edit: https://github.com/ftlabs/fastclick
Yeah, looking at the graph in the article is really weird. Wait, you can query 10k phone numbers per second with a single crappy linode machine, why does it need to be faster than that?
So what? Specs are not everything that counts.
An uptime counter would get people more invested in this.
Except they are running their downloads site and much of YouTube on Go, among many others. Indexing the world's content may not be smart to write in Go, but Google's other properties are also heavily hit and seem to run fine.
Ask HN: What are some ways to learn system design/architecture for a recent grad?
I am a recent grad and I want to learn more about how to design big systems. I read engineering blogs by companies often, although most times I have trouble getting the big picture (the most recent one being understanding how Docker fits into the big picture). I guess it starts with getting to know the architecture of the product I work on, but the product is rather a small one with a simple design.

How should I go about understanding system design and eventually designing big systems? I'd love to hear some of your suggestions. Thanks in advance!
This is a non-issue - the probability of someone dying because they crash into a tiny drone is miniscule. They are just being hyper-cautious and raising a stink about it. They should get on with their lives and drop the water on the fire.
If I may ask, why are you so negative about Jacob Appelbaum?
Have you tried to make OS X keyboard friendly? Window Management - Spectacle: http://spectacleapp.com, App Launcher - Quicksilver: http://qsapp.com, also just learning each app's keybindings as I incorporate them into work.

OS X also has some of the best text manipulation in apps: https://coderwall.com/p/usc8qg/use-emacs-readline-key-bindin.... As a Emacs/Bash user, I haven't found anything as consistent, even in Linux.

For your missing keys Home = Cmd + Up, End = Cmd + Down, PgUp = Shift + Space, PgDn = Space, Delete = control + d
I did this "the long way" over the last 8 years taking it as a marathon more than a sprint. In my mid-30s I learned to program, studied business and economics, and switched careers from being a 3d animator to a software consultant. Continued studies on technology, business and marketing - inspired by Paul Graham and subsequently HN - via a series of amazing "virtual mentors" over the last several years (Amy Hoy, Brennan Dunn, Nathan Barry, Patrick Mackenzie).

This combined experience and study has lead to owning a successfully bootstrapped business. We don't have investors, we have a wonderful audience, and we just hired employee #1.

Stack those bricks! Every one counts.
“The new Spotify green sucks” – A look behind the scenes
You are amazing. Thank you for the advice. I'm mainly paying (loan..ughh) for structure really. Work is hectic sometimes, and I need that approach of having defined schedule I can commit to, or else, I am everywhere. I have read most if not all of the essays and free open sources from YC startup school. I was actually watching this - http://startupclass.samaltman.com/ - last night when I wrote my first comment.

My profile is updated with my email. I would love to chat.
Does anyone see an author attribution to this article? I can't find one anywhere.
Coreboot is mostly open source. I think being able to modify the firmware at all in the first place is more important.
I want something like this, but for a phone. The Freerunner was the closest thing to an open phone, but the call quality made it unusable (speaker hissing and other noises).
Standard practice for The Economist. Really hurts accountability...
It's The Economist. Most authors are anonymous.

http://www.economist.com/blogs/economist-explains/2013/09/ec...
Yeah, definately a realtive issue. And also easy to fix after the fact, but as you say, it becomes important for inner-loop stuff.

I spent a few hours removing it from a codebase of mine last week, to see substantial improvements on all browsers.
Honestly I think the author wouldn't have such a crushing sense of inferiority if providing for his family wasn't an issue.

I'm very serious about this -- few people can handle the Sword of Damocles[1] hanging above their hands, those impossibly high stakes, that not only are they intimidated but they're paralyzed.

It's a deer in the headlights moment, except instead of being in an instant it's experienced over the course of days/months/years.

Morbid fear of failure can be crippling, even if you're more than capable of completing the task, and failing so consistently -- in the case of the author -- can actually have a damaging effect on your capacity to do such work. You regress.

How does one handle such situations?

[1] https://en.wikipedia.org/wiki/Damocles
See what Github looked like on the day you joined
http://djyde.github.io/github-cakeday
> Margin debt, for instance, has increased significantly in China

It is even more insidious than that. Chinese companies have pledged their stocks as collateral for loans so the whole thing is a pile of circular promises, one built on top of the other.

This is the real reason why the Chinese authorities suspended so many shares from trading before they stabilized the market. If the shares had continued to go down, it would have resulted in a massive credit crisis since billions and billions in loans would go into default.

For more details see:

http://www.bloomberg.com/news/articles/2015-07-08/this-is-wh...
You know it's bad when the Economist says debt is a problem :( . If Zero Hedge, Seeking Alpha, and the Economist start agreeing things start getting scary :(
They're No. 1: U.S. Wins Math Olympiad for First Time in 21 Years
For one thing, Intel Boot Guard is disabled unlike many other modern Intel laptops, allowing you to modify the firmware in the first place. I think this is more important than being "100% FOSS" or the like.
May I suggest cosidering Replicant[1]?

https://www.replicant.us/
At user request, the Intel i7 CPU in the Purism 15 was chosen to include VT-d support (needed for Qubes security, which isolates the GPU to a single driver VM) and to exclude support for the black box Intel ME hardware (vPro).

In contrast, on virtually every mainstream laptop with VT-d, you are forced to use a CPU which includes Intel ME/vPro support.

http://ark.intel.com/products/84993/Intel-Core-i7-5557U-Proc...
Lockheed Martin Said to Agree to Buy Sikorsky as Early as Monday
Doom Inside a GZDoom Arcade Machine [video]
Meanwhile in actual fact, analogies and metaphor and similies have been around in human language since, basically, 'forever.' Good enough for Shakespeare, good enough for Jesus, good enough for Aristotle, good enough for us.
EFSMT: Exists-forall SMT problem solving
This is not in any way meant to sound snarky, but I don't live under a rock. Hacker News will come to you or you will go to it when you question the trajectory of your life.
It sounds like the Retro is aiming squarely at that classic, premium segment who know what they want.
I think it is a fair criticism.

It correctly portraits the two options we have to spend our money on a new device:

a) Very modern device and supporting the status quo

or

b) A slightly outdated device and supporting the market for
devices that are more free
Idea: use a hash table with perfect hashing (https://en.wikipedia.org/wiki/Perfect_hash_function, e.g. library: https://github.com/wahern/phf)
> It's one of the only (or is it the only?) laptops

One of the only; there are several other models that are supported by Libreboot[0]. Of those, Gluglug used to sell X60, X60s, and (briefly) T60 Thinkpads as well.

[0]: http://libreboot.org/docs/hcl/index.html#supported_list
Google gains billions in value as YouTube drives ad growth
Previous discussion from another source: https://news.ycombinator.com/item?id=8652475 (87 points, 237 days ago, 64 comments)

I'll copy a part of the first comment:

> The idea that having variables which can take on an infinite range of real-valued values fascinates some people. But you can't, not really. Resolution is limited by noise. Noise is inescapable, since electrons are discrete. Infinite resolution is impossible in a granular universe. Real numbers are a convenient fiction which cannot be realized in hardware. ("God created the integers; all else is the work of man." - Kronecker)
The Neo900 project is the successor to the Freerunner/OpenMoko, and might be worth checking out. They're still in development, but it has a few pretty compelling features (including and particularly, firewalling the baseband from the rest of the system).

https://neo900.org/
I'm not missing your point. Your point is wrong. Listening on all interfaces is acceptable because this is infrastructure software, and wiring up MongoDB on a publicly accessible and unfiltered endpoint is an antipattern, authentication scheme or not. If you choose the shitty deployment, like public IPv4, it's on you to actively configure the software to support your shitty deployment.

The default that isn't secure is your expectation of secure software regardless of the accessibility of the endpoint. You don't get to punt those assurances to MongoDB and file "unacceptable" JIRAs to add some other lightly-reviewed authentication scheme to software that doesn't need it. It's on you as an administrator to secure your database, and step one is not default permit to an endpoint on which you can find your entire database. Let me guess, you want authentication via HTTP basic for all of your backend services but rolling a CA and doing TLS client auth is outside your budget and time?

I have been doing production operations for a while. There's two schools of thought: "the defaults are unacceptable," and "I should really be applying defense in depth to protect my infrastructure and own responsibility," and I actively hire the latter. There are a lot of the former, and we're seeing their databases in this post.
That's just a pipe dream. I say this having spent inordinate amounts of time trying to tune myriad parameters in JVM GC for large heap systems without ultimate success.

Patient: Doctor, it hurts when I do this!

Doctor: Don't do that!

Possibly, divide your heap into smaller pieces with their own GC? Restructure your system, such that most of your heap is persistent and exempt from GC? I don't know the details of the system you're trying to build, of course. It sounds interesting and challenging.
Min font size has been in since early Netscape... or are you talking about something else?
Instead of replying to everyone, I'll reply to myself:

I was thinking of regular shot (20/12/10 gauge), not bird shot. I have a skeet shooting mentality. I imagine you all are correct and bird shot would not be carrying deadly velocity when it returns to ground level.
So far, after a disappointing experience with WordPress, I've been pretty happy with Jekyll, and would recommend it.

I've written a tutorial on how to set up your own from scratch, which might be interesting of you're considering that: http://ricardolopes.net/blog/setting-up-a-hackers-blog-with-...
Yes it does. But the Nth level metadata is not publicly available today. I'm not even sure its available in the Twitter API.
tweet's quality (percent of readers who will retweet it)

That seems a very odd way to define "quality", and the phrase that most comes to mind is "quantity is not quality". Perhaps virality would be a better word for this metric.
That may well be. As I said, "simple like Python" is an interesting phrase.
Another setup guide - this one's for WP - http://impossiblehq.com/how-to-start-a-blog-guide/
Jekyll can set the basics such as meta descriptions via YAML front matter and the page template system, custom page titles, custom URL structure, etc. You can also use proper formatting quite easily (h1, etc.) with your choice of formatting.

As long as you have that covered that is all you really need for good SEO - the rest is keyword research, quality content, links, etc.
IFRC, postres can notify clients of changes, so you should be able to implement the missing features - that is to say the limitations are artificial at this point
How to design a good api and why it matters
Pensions seem like the same kind of problem as long term insurance policies (life, liability, etc) and I've not heard of these kinds of issues happening there. I suspect the problem with pensions is that they're run by people (CEOs and politicians) that are strongly incentivized to under fund them.
Guess I'll never know why...

http://i.imgur.com/fkcBjSa.png
This is obviously code that solves a very real problem.
It's the little things, but I read

> Hindsight is 2020

as "Hindsight is two thousand twenty"

I would invite the writers to use '20-20'.
Also prevents ad hominem attacks and can allow informed authors to speak without fear of retribution.

The Economist has a pretty decent track record and clearly wants the company to take on the accountability of what's published.
I'm surprised they don't mention methane. Given that a natural byproduct of e.coli is methane as it reduces organic waste in your intestine, a fuel cell which could transfer oxygen from the blood and methane from the bowel would potentially generate milliwatt or two. As I recall there was some work on a methane recapture facility for grazing animals as a way of powering remote monitoring as well. Easy to joke about too, "Honey, pull my finger, I need to charge my phone."
Selection effect. You have much less occasions to chitchat with firemen, street cleaners, or farmers than taxi drivers.
The idea is that the accountability is at the level of the magazine, not the individual author. It's not the norm today (outside of many newspaper editorials) but doesn't mean there's an inherent problem with it. I'd also observe that, in many/most cases, when organizations like analyst firms put out reports they're widely viewed as the opinion of the firm even if they're bylined. Which isn't unreasonable given that they're presumably peer-reviewed.

In general, bylines have become standard practice because writers, etc. want it. Not because publications and other content producers prefer it that way.
In my experience it works great for SEO: you're in control of basically everything, so you have the freedom to play with meta tags, sitemaps, structured data, readable urls and so on.

But, of course, afaik, there's no plugin with nice explanations and checkboxes to configure that stuff.
They might need to focus a lot more on public debt that has been growing steadily for the past decade everywhere in the world. This might be the next bubble and it might be way worse than 2008...
Driving in the Networked Age
While checking the Traffic stats for one of my projects on GitHub today, I discovered inbounds from the following site:

http://www.staticgen.com/

It's interesting to see just how many static blog generators there are. :) Also, if you prefer you can probably find one written in $FAVORITE_PROGRAMMING_LANGUAGE.
On a related topic, can anyone point me to articles / research related to how bubbles continue to inflate during recessionary periods? From my uninformed/simplistic viewpoint it seems like the two are opposing concepts (i.e. popped bubbles lead to recession), other then the fact that governments use low interest rates to try and dig themselves out of recessions, and cheap money tend to fuel bubbles. The reason for my interest is this seems to be what is happening in Canada right now ( see http://www.cbc.ca/news/business/canadian-house-prices-35-ove... + http://www.leaderpost.com/business/Johnstone+Canada+recessio... )
Interesting approach, a slightly simpler approach is to just take the MD5 hash of paragraphs. Two paragraphs with the same hash are likely identical, and two articles with 2 or more identical paragraphs are likely a dupe.

So as a suggestion try that algorithm with your current infrastructure and let us know how it compares to the Jaccard similarity test.
All the laptops that can run coreboot also have no Intel Boot Guard or equivalent function, which couldn’t be disabled by the user.

I remain with the conclusion that Purisms marketing is deceptive, borderline lying.
Please check HN Search (at the bottom of most HN pages) for duplicates before posting.

A small number of reposts is ok if a story hasn't had significant attention on HN within the last year or so. If it has, though, then it's a duplicate. Please don't post those.