skysight-inc/HackerNews huggingface dataset:
> I always cringe when developers compare compiler-optimized C to 'hand rolled' assembly. In the dawning age of SAT-based program synthesis and vectorization-aware superoptimizers, it's extremely anachronistic. It only shows a lack of awareness that in reality your job as a programmer is not to give instructions to a machine, but to provide enough help that a machine can create its own instructions better than you can.

I agree with your general point, but note that there are some unfortunate reasons why this can't be done in many cases.

A compiler can only make use of appropriate SIMD instructions if it knows that the target has the appropriate SIMD.
Most packages/shipped binaries are "universal" x86-64 binaries, i.e at compilation time, these instructions can't really be used effectively in many cases.
Of course, in certain cases, one can get around this issue.
For example, if one compiles from source, one can pass -march=native or similar such flags.
Another example is in game development, where one can freely assume that the target processor has AVX (or whatever it is based on the "min reqs" listed on the game).

But in the general case, the common solution is to compile in different pieces of code corresponding to the different target CPU levels and do runtime CPU detection.
Video coding (e.g FFmpeg) is one illustration of this approach, and to which I don't know of any reasonable portable alternatives.
> The lawmaker cautioned against overreacting to what he described as an “extraordinary crash.”

Isn't dealing with extraordinary situations the point of insurance?
Uber definitely has some advantages vis-a-vis competitors, because there is a brand and networking effect at play.

Everyone knows about Uber, nobody knows anything about that 'local startup'.

The real competitor is obviously regular cabs. There is always a cab when I need one in Montreal, I don't care about Uber really.

The bit about 'regional profitiability' is valid. I'm suspicious that Uber is running profitably in the US. That said, I'll bet the absolutely could if they wanted to ... but they spend a lot on aggressive tactics/marketing.

If they had to 'stop growth' and 'just be a US' company right now - they'd have to lay off, downround etc.. Sure - they'd have screwed over later investors, but that's the point no?

The loser in all of this is the later stage dumb money. Mostly everyone else wins.
(Free software supporter here.)

Thomas Schelling mentions the notion of "incomplete antagonism": you could have partly opposed interests to someone else's but still have ways in which you can cooperate with each other. Other people thinking about trade have suggested that this is almost always the case, even, maybe surprisingly, when people have directly opposed values in some respects (but not others).

http://www.amirrorclear.net/files/moral-trade.pdf

When you're buying most things from other people, you might have an "incomplete antagonism" because you may each want to get the best deal you can at the expense of the other person -- driving a hard bargain, so to speak. But you might still appreciate the opportunity to trade and not necessarily resent the other party to the trade (I wish that the vegan sandwich I just bought at LAX had cost me $8 instead of $19, but I'm still grateful that I could buy it at all).

Most attempts to defend proprietary software that aren't based in "romantic authorship" (emphasizing a special moral relationship between creators and their creative works that would make their preferences or interests count in a way that other people's don't) would probably focus on the benefits of trade: proprietary software fails to optimize perfectly for the user's interests and includes some intentional disadvantages for the user, yet many users could willingly accept these limitations because they've been bundled with benefits that the users appreciate, or because they help to incentivize activities the users appreciate (like continued development or support of the software).

This is normally the case for situations where trade can occur: each party may be asked to accept things that aren't that party's most preferred outcome, even deliberately where an alternative that that party prefers is logically conceivable. For example, if you rent a physical object then you might not be able to use it for any purpose, or if you hire someone then they might not be willing to perform any task you ask them to, or if you buy something then you might have to pay for it -- even though if others were making your interests their first priority, none of these limitations would exist. Presumably proprietary software advocates think that "selling software" is mostly akin to selling other things, where private ownership and sales work (fairly well|extremely well|better than any available alternative) for allocating resources, incentivizing productive activities, and increasing people's welfare, and that it's only anti-user in the ways that the costs or restrictions accompanying other kinds of trades are anti-customer.
The Marvellous Analytical Engine – How It Works
free software isn't opposed to making money from software

It's not opposed to trying to make money, but it does mostly prevent actually making money. If software wasn't copyrightable I suspect most desktop software and video games would never have been created. This argument dates back to the 1970s: https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists
I just started a run with the better C code from a sibling commentor. I've also got it doing -ffast-math, and each of the -O1,2,3. I'll post the raw data up to https://gist.github.com/simcop2387/32c8fb863403ee714227afe0e...
> His license grants some permissions and forbids something else. I just don't feel the word "freedom" fits into what he wants to achieve.

What do you think "freedom" is? We are here because we are not free. And that is called "freedom". :)

Freedom may be considered as a set of values that can be exercised on every human. So that is very limited. Say like "I wish not to be harassed in the public." So that means, "I shouldn't harass someone else in the public." If you say you need the second, and not accept the first, you can't call it a "freedom" in a communal sense.
`bytes` is plainly special case for historical reasons here - it's something that is not a string, but that so many people assume to be a string.

So yeah, I would be fine with making an exception for it (and providing some kind of option to disable that exception, for that incredibly rare case where someone really does need b"foo" in their CSV output).

And then in 5 years, flip the default of that switch, and deprecate it. In another 5, remove it entirely.

Also, note that raising an error in this case is not placating the people who insist on using bytes as strings. Quite the opposite - it very loudly and unambiguously tells them that they're wrong, and how exactly they're wrong.
They're probably fine as far as they keep having the detailed life and all information of billions of people.
Looks good! You might consider leaving padding between rows so that the table doesn't adjust when adding the red, it's a bit annoying as is.
That 'someone said something about another company' is basically irrelevant.

The underlying issues are the facts that need to be addressed.

X years ago, what was FB's user base, how much was it growing, could it be disrupted, and how much were they spending on ops/acquisitions ... and of course, how many $ could they squeeze out of each user are the fundamental questions.

The article is not unfair.

Uber is a great business that is probably wildly over-priced at this point.
Nah, he's a pretty bright kid, I'd hate for his talent to go to waste.
I took this to mean "teaching machines how to program themselves". Ah well :)
I think this is pretty great analysis, really. Sobering, so to say. I know all of this, but tend to ignore quite often. This is because (unlike Stallman) I don't think I'm fighting a war, I'm just living the way I think is "right". But is it really not my war? In the and, I do believe it would be a better world if some goals of Stallman have been achieved.

However, this analysis has the same flaws it points out in the movement of stallmanism: pointing out the problem is not the same as proposing a solution. Take this Gmail example. I absolutely hate it and would love it to disappear, but expressing it the usual way — as pointed out — is useless, if not harmful. Why people use Gmail or Google Docs? Because it's handy, obviously. They need something that does something like these services do, and google products simply happen to be better than alternatives. And they seem free too.

So what should I do instead of demonstratively avoiding them? Propose something better not only for myself, but for other people too. Give them a better option. Obviously. But the truth is I can't do that. I do not have any "smart solution" and Gmail is "free" not because it costs nothing to operate it, but because Google has shitload of money.

And the same is true for nearly every popular service and non-trivial piece of software. We may bring up Linux and Blender all we want, but the sad truth is free software just sucks. There is no open-source alternative for AutoCAD or Native Instruments, because it requires way too much domain-knowledge for your typical Finnish CS student to make one. Making this stuff is expensive as in "money". And "making money" a.k.a "business" is dirty game, so you don't make it easy for your competition to copy stuff you wasted your money to make. Blender is an exception that does not prove the rule.

Fighting for FOSS is basically fighting for communism. People outside of USA tend to agree this is nice idea, but we still haven't seen working implementations of that.

So, if I don't have a better war strategy, how can I complain? Do I think it would be better if Stallman was not fighting this silly war of his own? I guess I don't. Even if "normal people" tend to make fun of him, at least they know about him and this FOSS stuff. Well, at least some of them do.
> provide a way for someone who is suffering harm as a result of information being spread about them to notify the likes of search engines that that information should not be spread about them

Yes, of course. But whether or not an individual should be able to censor true information about themselves, even if that information is harmful to them, is highly debatable. I'm happy to engage in that debate if you want, but that is a different issue than the one which I originally raised, which is the question of whether a country's power to censor should extend beyond its own borders. The answer to that is IMHO an unequivocal "no".

(The answer to the question of whether a person should be empowered to censor true information about themselves is also IMHO "no", but that is not nearly so clear-cut. Like I said, if you want to engage on this topic I'm happy to have that debate as well. But let us not conflate the two issues. They need to be kept separate or we will end up in a hopeless muddle.)
My TED talk was just published on TED.com
Four years ago, I quit my job to start my startup. I joined Hacker News to learn and share, and learned one of the most important skills from the folks here: content marketing.

Four years later, I achieved one of my biggest dreams in life, giving a TED talk. My topic is how to overcome rejection. It should be very relevant to this community.

https://www.ted.com/talks/jia_jiang_what_i_learned_from_100_days_of_rejection
This makes sense. In business, it pays to be objective. But this effect is a coping mechanism that spans areas of life well beyond business. Similar to how everyone considers themselves an above average driver - narcissism/inflated sense of self keeps people in the gene pool. It is not a long term strategy, though, so the longer you lie to yourself, the more life will find your real level for you. I think that you can actually go a long time with this reality distortion - and the same narcissism can be implicated as much in success as in failure.
FB has a P/E ratio of 42, which is high.

The market assumption is that they can probably grow their /user revenues quite a lot because they're not getting that many new users.

I suggest that FB is probably a very viable, very profitable company long term, but that their stock is probably over-valued.

From an investors perspective, it may have nothing to do with the reality of underlying fundamentals - but how other investors will perceive them. Ergo - FB may still make a great investment if you think they will come out with some new shiny products to keep other investors hopped up on the juice.

Purely by the books, they are about 4x overvalued right now.

10x price/earnings is the normal place for a healthy, strong, reasonably growing company.
JS is async and concurrent. I resent it's limitations as much as any self respecting developer, but workers are finally in.
A new motorcycle brand springs from a computer
Why would you want non-programmers to hang out at sites like HN? You are then recommending they go to Stack? This is a bad advise (happy?). But really!

I am a self-learner and I am attempting to self-learn programming lately. I would not send anyone to these two types of sites which you are recommending right out of the gate. There is no chance anyone would learn programming via HN. And a newbie commenting at Stack is going to get a rude awakening (which would then lead to morale loss).
I too have met some extremely intelligent smokers. But, I think you may be missing the point. This study doesn’t provide evidence that pollution by itself hinders your cognition. Rather that pollution (or some other urban-related phenomenon) may blunt some of the positive effects that aerobic exercise would have had otherwise.

The negative effects of pollution have been well documented, so its not like this study is coming out of nowhere. But, I do agree that one study should not be given too much weight. And how pollution affects exercise needs more research before conclusions can be definitively reached.
For some people conscious existence is too burdensome, uncomfortable, full of anxiety, outright maddening or some combination thereof. You see this in everyday life too, albeit in benign quantities - watch a kid after you tell him he can do nothing for the next hour.

I had read Phil Katz's story before and I read it again today - it wasn't any less painful the second time around. I think if we were to debug it - there doesn't seem to be any one unmistakable conclusion, rather a combination. It would all depend on how severely one reacts to their emotional trauma. Some people are numbed, some are able to move on, some find healthy diversions in hobbies, people, achievements and some like Phil just plain fail to function well and have to resort to drugs and alcohol in order to run away from the living nightmare. I think at some point existence becomes rather more painful than death for some - that's the only way you're able to kill yourself without regard.

Humans are puzzling as a species - all the years of conditioning, the everyday conflicts and contradictions we have to face, the constant need for asserting our existence through external means, the need for relations, the child/parent and then spouse systems and all the things that can go wrong with them, all the other uncertainties - amazingly many live through this but some just can't escape the dread.
If the code is "perfectly running" on python 2.7, then why do you need python 2.8?
I could see it being useful for gathering data via an API and returning it in an array, like if an API doesn't return an array of JSON objects but just an object, this could be useful for that use case. In general as long as it's not processor bound like computational tasks but may not be synchronous this could be useful. It also naturally extends the async for syntax to list comprehension.

It would be really nice if somehow these kinds of tasks could be tied into the multiprocessing package, so that async could handle processor intensive applications well.
I've studied digital media design for learning, and I have to admit and I think that the thing that most people overlook is constructing proper scaffolding so they can bootstrap themselves as they learn.

The fact is that there is such a wealth of resources out there that beginners often-times quickly get derailed. The most important thing to start is actually to try to find a way to dull out the noise and actually learn solid principles. Someone trying to get into web development today can quickly spend a week trying to set up Babel and PostCSS and get tremendously discouraged before they realize they are actually going about it the wrong way.

My suggestion to people who are new to coding is to actually go into a domain where that ISNT going to happen. If you have the motivation/time, don't try to learn to program by learning web dev. Instead, pick something like "Think Python" or some other resource that you can use as the CANONICAL resource for truth, and that will give you a linear path to progress to. Your advice about doing it yourself and pushing and the 80/20 rule is all gold, but I think it will be met with limited success if a person doesn't have a clearly established guiding path like that from the getgo.

And once that friend gets comfortable enough with programming principles and wants to then explore specific application domains, I would again make the same recommendation as before. Find that ONE canonical resource that can move you to the next step, and proceed with it as your bible until you have enough under your belt that you can then go out and explore concepts -- which you now can hang onto the solid foundation you built. For web, for instance, Steve Huffman's course at Udacity is pretty excellent at giving you the barebones of how a web application works. Do that. Forget styling, forget responsiveness, forget everything... but use that as your one-stop-shop to understand how a website works. Ok, now do your own. Ok, now explore that a little. Confident enough? Great, find another canonical source for SPAs. ng-book is great if you want to do angular (and I'm sure their react book is just as solid). Done all the examples in the book and feel confident? Ok great, now go read blogs about these things. Lather, rinse, repeat.
The article is not affiliated with the BBC -- it's published on bbsdocumentaries.com.
"Programming as a tool rather than a goal" is really good way to think about programming. Programming for the sake of programming can be a hobby; if you want to be a professional programmer, if you want to produce value, it's all about goals.

I am in the same boat as you: I end up not feeling motivated to program without a good goal.

Thing is, coding more won't necessarily make you a better programmer. Especially if that side project is just doing the same thing you usually do.

To become better at anything you need deliberate practice. That means:

1. At the edge of your competency.

2. Focusing on a particular skill.

3. Getting quick feedback on how you're doing.

Getting detailed code reviews from an experienced colleague will improve your coding much faster than a side project.

So one thing you can do is just not bother coding in your spare time. It's possible to be a good programmer and not do any coding in your spare time. I would argue it can often make you a better programmer (https://codewithoutrules.com/2016/11/10/work-life-balance-so...).

If you do still want to do something in your spare time, some alternatives to building your own project:

1. Get a bunch of good books and read them.

2. Find an open source project you're interested in, e.g. one you use at work, and try to submit patches. Ideally one that does code reviews.

3. Read lots of open source software and figure out how it works. This will improve a particular skill (understanding new code bases) but also show you lots of best (and worst and mediocre) practices. Think about what you see and try to decide which it is.

4. Learn core liberal art skills (close reading, writing, research, building abstractions) if that wasn't part of your education. I got an undergrad in humanities at Harvard's evening school, basically for fun, and it made me a better programmer.

If you do end up building a side project, some advice: make sure it either has a very specific goal, or has a very limited scope (https://codewithoutrules.com/2016/09/09/side-projects/).
C++ I/O libraries in fact depend on the sequencing semantics built into the language. If we make two calls to the library, they happen in that order; consequently, the I/O happens in that order. We can do wrong things like:

f(cout << x, cout << y)

where we don't know whether x is sent to cout first or y.

C++ statements could be added to C++ (e.g. as a compiler extension). They would be straightforward to use; C++ doesn't inherently reject that the way Haskell and its ilk reject sequencing and state.
As somebody who has watched people struggle and seen them fail and succeed, I can relate. Also a Brit, also like a pint. Helped people who were hitting the alcho-pops at 8am (doesn't smell like booze on the breath, see?).

I'm p7r on twitter and reddit. If you ever want to chat, let me know, I'll follow you back, we can DM, or just PM me on reddit. It's a sincere offer: I hope in the morning you're feeling more optimistic and know you're not alone and there are people who give a fuck.

The things that make us able to do amazing things are also the things that make us do terrible things to ourselves. We should talk about that more as a community.
Microsoft, Cray claim deep learning breakthrough on supercomputers
How long is it going to last though? I expect FB to face some very hard questions about it's ad business (click farming, bots, etc) in the next 12-24 months.
The real question is whether Uber can ever make money without subsidizing rides with investor capital. At some point, they have to raise prices. This make them vulnerable to competition.

The good news is that if Uber goes under, it's easy to replace them. Uber and Lyft pulled out of Austin TX last May over required fingerprinting of drivers. Ten competitors sprang up to replace Uber and Lyft. They're doing fine.[1]

[1] http://www.curbed.com/2016/12/7/13828514/uber-lyft-ride-aust...
$nslookup www.fromwhenceitca.me
Server:	192.168.0.1
Address:	192.168.0.1#53

server can't find www.fromwhenceitca.me: SERVFAIL

$ dig www.fromwhenceitca.me

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.fromwhenceitca.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 23762
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.fromwhenceitca.me.	IN	A

;; Query time: 209 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Dec 10 20:37:22 EST 2016
;; MSG SIZE rcvd: 50

From Waterloo Canada
Maybe try sprinting if you haven't before. I am / was a pretty high level athlete and I've never been able to stand jogging, but sprinting is exhilarating. Or just try running in the context of a sport.
OT: Amazing website. What technology behind? No page reloads, no ajax to retrieve contents on click, no content hidden inside html, fully crawlable by googlebot e co.
Thanks and here you go.

> The trick here is for it to feel uncomfortable. This is rather painful, but that's how it should be. Coding follows the 80/20 rule. You spend 80% of your time on 20% of your code or 20% of what you're learning. Getting using to this uncomfortable feeling and overcoming it is key.

This is the biggest takeaway for me. Often I think I will progress linearly which leads to frustration and abandonment.

> Basically, getting stuck for more than an hour on something is almost always a waste of time.

I will beg to disagree with you on this, asking for help too soon actually lead to superficial learning.

> Recognized the difference between deep diving and hacking. Pick accordingly.

Great advise. I am guilty of this one as well. I have spend whole Saturday on AWS configuring and reconfiguring stuff which I cloud have left it at a good enough in couple of hours.

edit: typo