skysight-inc/HackerNews huggingface dataset:
If I want an environment for my cell phone or tablet, I'll use an environment designed for a cell phone or tablet; like Metro, Gnome, Unity and Android.

If I want an environment for my desktop, I'll use an environment designed for a desktop; like Windows 95 - 7, Gnome2, KDE3, Xfce and LXDE.

My desktop has a keyboard and a mouse, not a touchscreen. In fact, I really don't want to be touching my $1200 ZR30w monitor anyway, even if it were touch-enabled. Cell phone OSes on the desktop work about as well as desktop OSes do on cell phones. Play to strengths, do not reduce to the lowest common denominator.

If an idea objectively improves productivity, I will give it a fair chance. And we have certainly seen that since Windows 95: most notably with tabbed interfaces. But I can't stand change for the sake of change. Just because an idea is old does not mean it is bad.
False captioning seems to be too easy to trace today with google image search and the general availability of photo materials in the Internet.

For example in the current conflict in Ukraine, Russian media has employed a lot of fakery, but the overwhelming majority of the times they were caught, they used false captioning.

Today it seems that no one will believe a clumsy photoshot jobs, however false captioning is potent as ever.

For examples see these sources:

http://globalvoicesonline.org/2014/03/05/ukraines-activists-...

http://www.stopfake.org/en/
I've been thinking a bit more about this. Cloudflare should really consider doing this.

What's more is that they are in a prime position to do this from a technology perspective too. The already have DDOS protection that does browser testing to make sure you aren't a bot. The could repurposed that by IP block.

They also have enough engineers who understand which companies own which IP blocks.

I'm envisioning a banner at the top of my Cloudflare account that simply says 'save the internet and participate in protecting net neutrality'. When I click on that I have three options:

- Yes. Opt in.

- No. Opt out.

- Custom.

Yes. Opt in: Cloudflare automatically throttle all blacklisted IP blocks. Users visiting from those IP blocks are presented with a page that explains why they are about to be throttled and tells them how to protest I.e. contact your congress representative, etc. The user is then throttled.

No. You don't participate.

Custom: you get to tweak the blacklist. You can whitelist ranges, in case you have important business customers that you don't want to piss off. You also get to select which of the different core blocked ranges you want to include. I.e. maybe there is a range for Comcast customers as well as Comcast offices and I find it cruel to penalise the Comcast customers, so I can unchecked them.

As an added bonus you can opt in to a 'I want to publicise my site'. If you opt in to the protest then your site gets listed as a participant. Cloudflare can feature the big companies on the user pre-throttling warning page I mentioned earlier. They can also randomly show a list of smaller sites that are participating as well. They could also keep a leaderboard of the numbers of throttled users per site.
Well I've written quite a bit of CoffeeScript, and while I had a few issues with incorrect code translation to JavaScript, I don't recall ever having problems with mis-indented code.
I agree, would be an interesting to see the same experiment done for Go. Will have a stab!
Is there any reason in particular that Twitter is one of the apps that you're putting on your ideal privacy-phone? I would've imagined that stuff like http://dcurt.is/twitter-is-tracking-you-on-the-web would would put them in the same boat as the other services that were rejected.
Isn't Apple used to selling highly marked up products to people who want something that "just works"? It doesn't seem to matter if it's the best product or a competitive price.
Video shows fire ants are capable of acting like a liquid and a solid
This doesn't seem to allow single line if or while statements, because parentheses are optional.

I like single line if when it is appropriate. (Python allows single line if by using colons.) Apart from my taste, C preprocessor macros can't expand to more than a single line, so this seems to prevent macros expanding to contain control structures. Is there an easy fix?
I don't see how this makes sense. The headphone business is small. There's no way any favorable music deals would be transferable to Apple. Tim Cook going to Jimmy for creative advice would piss off employees. I don't believe Beats has much IP. Anyone have ideas here?
can you source a reference to the printer reference? I'm interested in reading more about such phenomena.
Senate approves 'kill switches' for cellphones sold in California
Interesting, thanks for the link. This does look quite similar!
I'm very concerned at the number of people on HN who seem to have bought into this religious mysticism disguised as math. That's one of the oldest tricks in the book.
As somebody posted in another comment, it looks like it's already been done: https://news.ycombinator.com/item?id=7444459
You believe in stuff beyond the physical world. I do not.
Has anyone A/B tested the different language choices around Net Neutrality? Or focus groups?

For example, Frank Luntz did lots of focus group studies to figure out how to persuade people, simply by choosing the right words. "Estate Tax" became "Death Tax" for example.

Rather than just "be creative", we should put those different creatives through the data-driven approaches (A/B tests & focus groups) to find what will resonate & persuade the audiences outside of the HN-insider / reddit-insider cohorts.
Interestingly, HTC bought a majority share (50.1%) in Beats, and slowly sold it back in pieces. Based on the timing, I wonder if Beats may have had to buy it back in order to sell to Apple.

In August 2013, reports surfaced that Beats' founders planned to buy back HTC's remaining minority stake in the company, and pursue a new, unspecified partner for a future investment.[11][12] On September 27, 2013, HTC confirmed its plan to sell its remaining 24.84% stake in Beats back to the company for $265 million, with the deal expected to close by the end of the year. Concurrently, Beats announced that the Carlyle Group would make a minority investment in the company"
I don't mind the sound as much as the extreme pain they cause my ears after being in for even a short amount of time.
Yes, guys, where have you all come from? There is just tech and politics talk for months, and then suddenly, religion and philosophy pops out - and everyone is talking at a very high level. How come?
Sure am glad I run NoScript.
Really impressed by the build quality of those benches - they look great! Kudos to you!
It's not just Lean Theory/MVP blah blah. Microsoft has done this for years. Splashy PR announcement of a hot-shit new thing they cooked up in R&D. Then a year later, closed down.
It is? The readme/installation instructions (github) don't mention that anywhere. But actually, I got it working, so all good.
OSX seems to make it very smooth.
Textmate was released about a decade ago, so I guess we're measuring the staying power of technologies in quarter centuries now? :)
From the article..

"Communists do not follow the rules when it comes to captions"

(For some reason this line in the article almost doubled me over with laughter. I guess it's hard to remember how bad the red scare actually was, but the repeat blanket statements about "communists" just struck me as funny.)
You could do it by separating the body with a semicolon:

if something_is_true(); log("warning!")

I haven't really considered the preprocessor as I prefer to avoid it as much as possible.
Suggest to HN: 1 downvote should cost 2 karma.
Not corecursive, but here's the SICP O(ln(n)) algorithm:

fibonacci = fib 1 0 0 1
where
fib a b p q n
| n == 0 = b
| even n = fib a b p' q' (n `div` 2)
| otherwise = fib a' b' p q (n - 1)
where
p' = p*p + q*q
q' = 2*p*q + q*q
a' = a*q + b*q + a*p
b' = b*p + a*q
How does it compare to Postman?
What, and have a centralized registry of IP's to slow down?
This is a great tip, thanks!
"The truth or falsehood of all of man’s conclusions, inferences, thought and knowledge rests on the truth or falsehood of his definitions." - Ayn Rand
> I would appreciate if there was empirical reasoning for why Calculus should be taught in Computer Science rather than the argument be "we need Calc because we're supposed to and every one else has it".

(1) Research in Computer Science.
Don't expect to get very far in research in
any STEM field without good knowledge of calculus.

Calculus is a pillar of Western Civilization, one of the
all time crown jewels, and the root of the most important
part of math, 'analysis'. Discard 'analysis' at high
risk for the future of your career.

We're talking about the future here, right? That is, you are
in education to prepare for the future, right?

E.g., the last paper I published on computer science was heavily based on measure theory, that is, a grown up version
of calculus.

At present, commonly some of the best research
opportunities are to further 'mathematize'
computer science where calculus is just baby
talk broadly assumed.

(2) Keeping up in Computer Science.
To keep up, you will need to read,
and authors will feel free to use some
calculus.

E.g., maybe you are interested in models
of viral growth on the Internet.
Okay, you can quickly come to the
differential equation

y' = k y (b - y)

with y(0) known. Just for viral growth,
some calculus.

(3) Applications.
E.g., maybe you want to do some 'machine learning'
using, say, maximum likelihood estimation.
There need to solve a problem in non-linear programming.
A key part of that work is the gradient, that is,
calculus.

In robotics, drones, and other forms of mechanical
automation, well need some calculus.
Phpstorm is highly recommended for larger projects.
On streaming: Apple, Beats and Spotify
Cinnamon is slowly moving in that direction I'd say. It has the ability to snap a window to the edge and have the dynamic-desktop size shrink to accomodate it (i.e. hitting maximize will only use the remaining unsnapped space).

I suspect it could be extended to use this to start setting up tiles automatically.
I've just talked about this in another thread so I'll summarise it here.

Cloudflare should implement this for their clients to opt in to protest.

They identify IP ranges that are related to people who can threaten or influence net neutrality. E.g. Comcast, congress, any backers of this new bill, even Comcast customers, etc

When a user from one of these blacklisted IP ranges visits your site they get presented with the 'protest page'. It explains why they are about to be throttled and how they can join the protest (contact congress rep, etc). It also shows participating protest sites as a leaderboard - total throttled users (featuring Cloudflares biggest customers).

I don't even mind if they inject a banner onto the top if my website that announces me as a proud supporter of net neutrality.
In the time it took me to do it by hand I am 100% positive I could have written a Python program to do it probably 3 times.

Yyyyep just tested it:

def fibs(n, tabs=0):
if n < 2:
print "\t"*tabs + "1"
return 1
print "\t"*tabs+"fibs %d"%n
a = fibs(n-1, tabs+1)
b = fibs(n-2, tabs+1)
print "\t"*tabs+str(a+b)
return a+b

Took exactly 71 seconds to write. I probably spent 3 minutes on it by hand getting all the spaces right.
You might also like i3. I tried many tiling window managers, and i3 is my favorite. Its "manual tiling" works well with my brain.

Also see this comparison of tiling WMs: https://wiki.archlinux.org/index.php/Comparison_of_Tiling_Wi...
This doesn't work. "if a; if b; c; d" is then an ambiguous parse to both "if (a) { if (b) { c; d; } }" and "if (a) { if (b) { c; } d; }". If you decide to parse one way, how do you write the other one in a single line?
Inside the Strange New World of DIY Brain Stimulation
In their defense, when the SnapChat founders were on Colbert awhile back, they were emphatic about saying, "There are many ways it can be saved!" And, were warning users that it's just a convenient thing, not any true protection.

But, yes, users can be easily confused, and they (intentionally?) got more downloads / users because people mistakenly believed that the images were 100% deleted.

For the HN/Techie audience, we of course never believe anything digitally transmitted to a recipient can be 100% deleted by the sender. Nothing will ever prevent brute force things like "having a camera over my shoulder, recording my screens".
Use SQL Window Functions for Time-Series Percentages
Net Neutrality in the US: Now What?
Can't help but wonder how many downvotes this is going to get.
iTunes Radio is not a music subscription service. First, it is free. Second, it doesn't allow you to call up tracks on demand. BIG difference.
You can't have an MVP (minimum viable product) without product.
I think uniform initialization needs a lot of work before it can become the one and only mechanism for initialization. Currently it isn't anywhere near uniform enough. But aside from that, I think it would be fine to use curly braces for initialization as long as they are freed from the burden of delimiting code blocks.
Was really hoping this was commentary on freeway lane choices and people instinctively moving left into the "fast lane" even when they have no one to pass. It's a passing lane, not a fast lane.
"Quality joinery is not done with screws."

I wasn't doing quality joinery. It was part of a school project for children.

"If you think you saved time taking the bit out, putting it down somewhere safe/accessible, swapping the bigger one in"

I have 3 drills. So I didn't have to swap any bits at all.

I have plenty of tools. I just didn't have a countersink bit. I also took into account the quality needed for what I was building. It wasn't furniture.
I can appreciate the depth of research behind the article. The many-valued notions of logic are quite helpful. Here's are two ways that I would distill the message for different audiences.

1. A computer science audience: Not all sentences have a computable boolean truth value. Here's why. To find the truth value of the sentence "This sentence is false.", you have to figure out the truth value of the following statement (call it X1): "Whether or not this sentence is false depends on if X1 is true or false." Put that way, you can immediately see the circularity in computation. From a computer science perspective, there is no terminating condition. The function will never complete, so there is no computable boolean truth value.

2. To an educated, but non-technical, audience: Just because a sentence asserts something doesn't mean there is any guarantee of the result being "truth" or "falsehood". The truth value of this "This sentence is false." is simply "undecidable" or "ineffable" -- pick a word. So, just live with the fact that not everything is true or false. Note: I'm not saying that the statement is really one or the other but we just can't figure out which (as in Schrödinger's cat); I'm saying that neither "true" or "false" makes any sense for that kind of self-referential sentence.

This really isn't mind-blowing. Many articles write up these "paradoxes" as if they are insurmountable. They aren't.

All of this said, I think many philosophical writings, especially Buddhist writings, use contradiction as way of promoting thinking and careful decomposition of the essence of things. In short, complex things consist of parts that vary over time. So their components or transient values can seem to change or stand in contradiction.

There is no contradiction in Dickens writing "It was the best of times and it was the worst of times." in my opinion. This is just a literary device to show contrast eloquently, because saying "In some regards, it was the best of times. In other regards, it was the worst of times." is not as memorable or striking.
I suspect 'ztratar is referring, albeit not terribly articulately, to the Ninth Amendment.
“There are two kinds of fools. One says, "This is old, and therefore good." And one says, " This is new, and therefore better.”
-John Brunner
While biased, it is not unfair; There was only a limited number of Soviet publications and they were official official organs of either the Communist party or the government (obviously 100% communist party members). So it was that simple.

Of course, it would be unfair to communists living in democracies, since they often expressed their own personal views and a variety of party lines differing from the one in the USSR.
As another point to triangulate from, Haskell is also whitespace-sensitive and I have never had a non-trivial whitespace error in it.
Lyft becomes the bank...
They murdered 100 million people, and are continuing to murder people to this day.

Yeah, really funny.
Actually, it's extremely doubtful the licensing would transfer during an acquisition to Apple.
I used to live on the other side of the lake from Seattle, and there too the winters were worse for the "greyness and lack of sunlight for months and months" than for the rain.

Usually enough that I'd still rather cab a mile than walk it. (I couldn't afford cabs then.)
Looks like this thread has been downmodded. Why?
Perhaps it's been on HN already, but this video [1] uses a books-from-different-vendors, one-shipping-company analogy.

Plain-speaking and clear IMO.

[1] https://www.youtube.com/watch?v=NAxMyTwmu_M
So annoying to get a downvote without explanation.

In the real world there's a price to pay if you hit someone. Not on HN - hit people with downvotes and no comeback or explanation or cost.
Immutable/persistent data structures are almost always some sort of tree, even if on the outside they look different. Knowing that all your operations that were constant (for the mutable case) are now logarithmic (for the immutable case) is a must.
>>Then take the worst 1% and put them on the no-fly list. Problem solved.

I think this will just create a new 1% of such people. In the new set you just created.
It now says "Lyft Plus promises the most affordable premium option"; is this different than it was before?

Generally, I look at language like this as how they want to position the product in the marketplace; I think there is still some value in knowing this, although you cannot trust it until they offer something more tangible.
Either a) no one will downvote because the impact of the downvote is negligible or b) downvoting will continue the same since 2 Karma really isn't that much.

This is not a Nash equilibrium.
But logic is subjective and reason is impotent. What is the purpose of philosophy other than to protect us from acquiring knowledge about reality? We'd be defenseless without faith and mysticism.
Git Push to GitHub and Heroku
Why? I don't think there's a problem of too much downvoting. As far as I can tell, the comment quality has actually improved recently with better comments bubbling to the top while not-as-constructive ones fading away.

If anything, link submissions or comment submissions should deduct karma so as to curb spammy (and possibly unsubstantiated) behavior. Of course this lends itself to issues of new users not being able to engage as much.
Whitespace sensitivity also introduces some similar problems. For example, if the printf is indented with spaces and the return foo is indented with tabs, the return will be put outside the if, even though it looks like its inside.

TBH, the real problem with C is not the braces - its that braces are optional.
I'd make this parse as "if (a) { if (b) { c; d; } }" and leave it at that. One of the reasons for significant indentation is to discourage this kind of code layout because it's hard to read.
There is some stuff that is difficult (drywall) and high risk (plumbing, electrical), but much of it you could do yourself (assuming friends help).

Flipping a house is pretty challenging, depending on the market. Note that when you sell a house in many markets, there are LOTS of fees-- real estate agents, closing costs of buyers, warranties, etc. I'm selling a house in Alaska now and there are $30k in charges for the sale PLUS repairs requested by the buyer/inspector. So had I done what you were proposing, the first $30k in upgrade value I created would get wiped away (thankfully, I bought it in 2000).
I've made plenty of hiring decisions over the course of my career.

It depends on your field. Understanding arrays and hashes covers a lot of ground, especially in web development. I like it when candidates mention binary trees (in their many variations), graph theory, linked lists, Huet zippered lists/trees, and all sorts of other structures/algorithms. That said, array and hash are the big ones, the rest are for bonus points.

More than that, I like to see developers demonstrate a grasp of higher order functions. If you write a for-loop in JavaScript then you'll lose points. Write one in Ruby and I'll show you the door. Understanding the common higher order functions (map, reduce, filter, group_by, etc.) is a big plus.

This will differ by field. If I'm looking for a C developer then I expect a damn-solid understanding of not only how these data structures can be used, but how to implement them, their performance characteristics, and why one should be chosen over the other. That's mostly because implementing circular linked lists is something you'll likely have to do in a C app, but is almost never necessary in JavaScript, Ruby, Python, etc.

More than anything, I just want to see how you think things through.

Did you solve the problem elegantly? White-boarding is going to result in somewhat messy code, but that's no excuse for using global variables or creating giant deeply-nested if statements.

Did you solve the problem in a reasonable amount of time? Even if you've got a great idea, I want to see you solve a simple problem quickly. Taking 45 to create the most beautiful version of fizz-buzz known to humankind makes me worry that you'll agonize too much when trying to write real code.

How did you handle pressure? Most good interview problems have a twist; a spot where everyone misses a detail that causes a bug. How did you react when I pointed out the bug? Did you get flustered and fail to figure out what was wrong, or did you quickly spot the error and correct it?

Ultimately I want to know that I can depend on you. I want you to know how to quickly build stuff that works, because we've got a lot of work to do. I want to see that you can creatively solve problems, because I'm going to depend on your input when I run into a difficult problem. I'd also like it if I could imagine working next to you on a daily basis. If you come across as antagonistic or egotistical then I'm probably not going to want to work with you.
This looks impressive. Sadly it wants to harvest my email address for the free trial, so I didn't bother as I find that overly intrusive. I'm also concerned about desktop software that requires a "login" for no good reason, as this can result in the software no longer working when the online portal is unavailable or shut down.