skysight-inc/HackerNews huggingface dataset:
Learning to Code is really really easy.
Learning to create something useful by code is the hard one.
The actual paper:

http://passthebarexam.com/articles/SSRN-id691642.pdf
This type of thing is very unsettling to me as a second year CS major. I might be one of the highest achievers in my college, but how am I supposed to compete with the thousands of kids graduating from MIT, Stanford, and Harvard? really scares me.
One major difference is that data is sold tends to get a life on its own. Company A sells to B, B to C, etc. Before you know it, your e-mail address/phone number is in the hands of many companies.

Google is different in this regard. Since they don't sell raw data, it's easier to opt-out (remove data via the Dashboard[1], delete your account, etc.).

[1] http://en.wikipedia.org/wiki/Google_Dashboard
I appreciated the humor, and the cool colors helped.
Coding is easy. The problem is too many "teachers" expect you to have a larger vocabulary than you need.

I taught 3rd graders to code. I also taught 1st graders, but the 3rd graders it really clicked. They would come up with solutions to things I would not have thought were possible given the limited language we were working in.

We started in "Project Europa" it is object oriented, module based, and the vocabulary is very limited. But students built all sorts of virtual robots to do all sorts of interesting things.

When I learned to code I learned in RPG, and that doesn't stand for Role Playing Game. Then I moved on to Basic. Turbo Basic, and later QBasic. I wrote a 3D boxing game in QBasic. Yes. 3D graphics from QBasic.

To this day my vocabulary in any programming language is pretty limited. Those around me get upset because I'll use a While loop and increment a counter rather than a For loop and the Index of the thing I am looping through. It is not that I don't want to use the wider vocabulary, or that I have anything against Lambda's. I don't dislike Tuples. I have nothing against using a Class. But I don't usually need more than my 12 word vocabulary to build things. If I do, that is a performance optimization. What? Itertools and product will do the same thing I did with nested For Loops? So? I didn't know there was an itertools. I didn't know there was a product.

Someone said you need to develop a knack for asking the right question of google... Nah, sure StackOverflow has 90% of the answers you'd ever need to know, and they have a clever code snippet that I will admit comes in handy, but if you have to break thought to Google, you aren't breathing the code. It is like trying to learn Spanish by carrying the pocket guide with you rather than making do with the 12 words you know until you can learn 6 more, and then 12 more then 24 more words.

Take the training wheels off and suck it up. Machines are big and fast, large vocabularies are for people who want to speak concisely. A 3rd grader may not use the best choice of words, but he can still explain to you how to make a peanut butter sandwich, or build something in mine craft.

So don't let anyone tell you Programming is hard. Programming is easy. But there are a lot of ass hats who care if you should have built a function rather than copy and pasting the same code with minor variations 20 times. Or will say "you could have done that in one line with a lamba and a reciprocal function"

"Yeah, and Einstein had someone else do most of the math for his proofs because he kind of sucked at calculus. I'll get to optimizations after I have something that runs."
Im similar to the person you're responding to. I think what really matters is if you've had exposure to critical thinking and logic in your life. For people who may not have much exposure to math or logic, it is probably much harder to learn CS at an older age.
I feel that you're blaming society for the need of privacy. I don't know if I understand you perfectly, but if I do, the need of privacy has indeed no inherent value. But that doesn't mean it isn't important. Privacy needs to exist, at least for now, exactly because our society is not perfect. The same stands for legislation, for instance. I'm sorry if I'm not making much sense here, but that's how I see it.
Apart from the thermal properties mentioned already, and other more esoteric uses, they also happen to be really strong, and if we can scale up our manufacturing processes, they should become quite cheap as well.

Imagine all of the applications for a transparent material stronger than steel! We're a way off yet, but it's feasible.
Sure, whether you should use them is a software engineering question. I was merely speaking to their theoretical elegance, pointing out that from a continuation perspective tail call optimization isn't really an optimization, it's just the most natural way to implement procedure calls to begin with.
Yep. I recently filed a feature request and a bug report. Both were replied to and fixed within one or two days by one of their developers.
Well, now I'm curious. I hope some attentive lawyers are working on a "revision log".
From a human habitability point of view, Mars is fucked worse than the worst thing we could possibly do to Earth (short of accidentally blowing it into an asteroid cloud.) It doesn't even have (enough) water or (the right kind of) atmosphere or gravity! It's a rock in space. Terraforming Mars, or any planet we can currently reach without faster-than-light flight, would require an immense leap in technology, including technologies we're currently not even studying. We'd have to build a whole new planet from basically scratch.

On the other hand, we could go quite a long way towards fixing the perfectly good planet we already live on with technologies we already have. Hell, I suspect we could get 90 % of the way there with a century of strict population control and putting the same effort into reducing pollution and emissions we currently put into developing more profitable technologies. We're mostly not dumping our waste in the oceans and the atmosphere because we have no other choice, but because it's cheap and convenient and because humanity as a whole has other priorities than the preservation of the planet.
Wass just reading a _new_ article regarding debeers and how majority ownership has changed after near a century of ownership by one family.

Debeers plans to raise costs 5% ever yearn for at least next 10 years to hit profit targets. So they must be doing good if now majority of market undercuts them literally.
This Device Can Charge Your Smartphone Or Tablet Up To 92% Faster
You misquoted me, please re-read it.
What makes you think correctness was not a priority for the software that put a man on the moon? If you actually look a the history and how the software was actually written there is no doubt that correctness was a top priority. It even had facilities that a lot of modern software lacks: self-correction. Before running your mouth you should read the actual history: http://en.wikipedia.org/wiki/Apollo_Guidance_Computer. Not being up to Dijkstra's standards is a different matter altogether.

He is right about one thing. Elegance and correctness require a certain level of intelligence and sophistication that the average software developer lacks.
Please never stop doing this. I get paid $$$++ to swoop in after people like you are done and whole teams grind to a halt productivity-wise because the codebase is so bad.

You are doing god's work, son. Thank you.
> This is not 'coding' (maybe it is, and we should be doing less of it, and more programming). This is gluing together pre-coded snippets and trying to make it work. Continuing to do this is an impediment to getting better. Thinking that somehow this is what 'coding' is, is missing the point.

That's not fair at all. Off the top of my head, three topics I have searched StackOverflow for a lot are Android development, MongoDB, and MySQL. Each time, I would consider the task I was doing to be programming, despite the fact that I was not building a mobile phone operating system or database myself from scratch.
At 12:14 the original Dutch on-screen text says

>"We should not add bugs to a program out of nonchalance. We should do so systematically and with great care".

The translator translates this to

> "We should not introduce errors through sloppiness, but systematically keep them out",

which I found unfortunate, since it completely loses the original meaning.
I find it amazing how often I see comments on Stack Overflow complaining that the obvious pseudocode solution (meant as a guideline to explain the correct answer) "doesn't work". It seems like it's very common to outright copy and paste code without any sort of basic critical thinking on how to properly integrate it into one's project...
For instrument amps, you often want something with a bit of coloration. Being too "hi fi" sounding is usually a bad thing.
SETI astronomers tell US Congress 'there's alien life out there'
Here is the actual paper for those interested

http://levan.cs.washington.edu/ngrams/objectNgrams_cvpr14.pd...
Thanks, I'll use the \DisableLigatures.
I actually don't like old-style numbers (see the [lf] option for Fira), but its a matter of personal preference.
>> you don't need mutable local variables to track the state of the loop.

> Erm, that's not really true is it? Isn't the main way which TCO is done by introducing a counter/accumulator?

Yes, but accumulators aren't mutable. You're just passing something like acc*n or acc+1 to the tail call... acc is still the same.

Also, accumulators are not analogous to loop counters, they're more like the "sum" variable in this example (also mutable):

var list = [0,1,2,3];
var sum = 0;
for (var i = 0; i < list.length; i++)
sum += list[i];

> Anyway, if all you want is a safe loop construct, recursion isn't the only option.

I agree! The point of having TCO in a language isn't replacing every for/while loop with recursion. TCO is just an optimization. The right way (at least IMO and IME) is using better abstractions, like you mentioned. Recursion is just a way of easily building those abstractions, as are loops.

Btw, I probably write way more recursive functions in C than I do in Haskell, because in Haskell I have folds and catamorphisms.

I mean, the idiomatic way of summing those numbers as I did above in functional style is probably this:

[0,1,2,3].reduce(function(a,b){return a+b;}, 0);

Or:

sum [0,1,2,3]

in haskell ;)
I highly disagree. The author says one of the main reasons coding isn't easy is because setting up the environment is so difficult. The problem is that if you try and learn "iOS" using XCode then of course the environment has a lot more weight and cause more issues that you really don't need to deal with as a beginner. A better option would be to fire up a simple Scheme or Ruby interpreter in a terminal and watch them go (after giving them a copy of your favorite programming book). Heck, with things like CodeAcademy you can just visit a website and eliminate the environment issue completely.

I'd say the problem with programming isn't that it's difficult, but that it's intimidating. Writing a bunch of arcane symbols and words in a text file scares people off, while really it's just everyday logic people use in a different form (at least, the very basics are). I think that's also why programmers keep telling people it's so easy, so that they get over that irrational fear.
I'm not sure what you're saying - did he add plastic? (That would destroy the credibility of the photographs) or did he take a bird corpse and pose the corpse but without adding any plastic? (That would be a stupid thing for him to do but is irrelevant to the plastic argument)

Birds can survive with some plastic, they swallow stuff for their gizzard anyway, but they mistake plastic for food and die from eating too much which prevents them eating enough food to get nutrition. I think this is accepted and not controversial.

Microplastics are eaten directly by many animals. As shown hy the links I provided some of those plastics migrate from the stomach to the bloodstream. The plastics are then part of the foodchain. The plastics absorb contaminants. So it's not just inert plastic, it is the PCBs and DDT and etc that the plastics contain that are problematic.
The title almost feels like "a world economy no longer controlled by (or, centred around) US or $"
It's a well-known tool in the arsenal of any forensic accountant.
The problem with all approaches to machine learning I see today is that they only focus on grouping and separating concepts based on certain characteristics. They seem to be all fundamentally statistical.

None of them seem to work towards a fundamental understanding of what the concepts mean. I'm not sure how that could be accomplished though.

Is there even a meaningful distinction to be made between beeing able to identify a concept and understanding what a concept actually means?
If you are considering GAs, you have already given up at that point.
Fortunately ebay has over 100 million active users so the odds of the hackers actually using my account is negligible :/
No, not smartphone or tablet, I think you mean just iOS devices, which makes it a lot less interesting.
Replicating an aircraft carrier versus replicating a drone is a challenge of a totally different level, never mind the practical applications. Iran is much more likely to encounter a US built drone on its territory than it is to encounter an aircraft carrier within the 12 mile zone.

Most likely it is more than you think it is and less than they would want, and its only practical uses right now are analysis of soft spots and propaganda (and that's working well by the looks of it).
Pulling a jury from a district where the crime wasn't committed can only happen with consent of the accused. Quite a lot of legal work has been done to expand the definition of where the crime was committed to allow for venue shopping.
Couldn't agree more. I was off Viber, or WhatsApp for about 3 months. Had closed the accounts after installing and I had moved to TextSecure and Telegram. I was successful in convincing some friends to join Telegram (they were still on Viber/Whatsapp) but I had 0 friends on TextSecure. Finally Telegram friends uninstalled it. As I was missing a lot of messages, fun, and info about common friends I came back to WhatsApp and Viber and that made me sad. I tried to explain what Facebook buying WhatsApp meant, it didn't work. They don't give a damn and I talking about intelligent technocrats who passed from the best tech schools in the country and are in the best s/w jobs. Privacy is a cultural thing.
Followup article(2012), "In 2000, De Beers Consolidated Mining Ltd. decided to rename its mining and raw diamond production branch, Diamond Trading Co., and maintain the De Beers’ name “to sell an exclusive brand of diamonds in soon-to-be-launched trendy De Beers stores”

http://web.archive.org/web/20120923200747/http://www.overtco...
I don't think you can make a fps without crouch, might as well take away jump while your at it.
please define $$$++?
No. I have done quite a lot of observations on the world. Each and every one of those observations has produced a result congruent with a world in which no gods exist, and so has very slightly nudged my P(god) towards zero. Under a Bayesian philosophy, this probability is called knowledge.
$500,000 isn't too much. You would be fortunate if you can turn the $500,000 into $5000/mo in income, thereby covering all of your current monthly expenses. Once you have all that free time, you'll probably want to start spending more money though.

You can earn the 12% a year by investing wisely in rental properties. That would be 12% in net income, which doesn't include any future appreciation (or decline in price). To achieve those numbers, you will most likely want to buy your rentals with a mortgage, so I hope you have a W-2 or other steady taxed income for the last 2 years, because thats what you'll need to qualify for most loans, but not all.

By leveraging your $500,000, you can buy $2,000,000 worth of assets in real estate. YMMV.
Though I'm a novice C++ programmer (working with templates at the moment), the only time I'd ever felt lost and stupid, which was just recently, was when it came time to write the end-of-chapter program in the book I'm reading.

Oddly enough, the program wasn't difficult to understand. I've even written it and got it to run before! I think what happened this time around, is I had read the chapter again, started writing more notes and had a better grasp on the material than before, that when it came time to bring all the concepts together, the example program didn't include them! For the first time in years, I actually felt stupid, borderline retarded (in the literal sense).

The example involved an abstract base class, Dragon, with 3 derived classes. The idea was to have a player fight a randomly selected dragon via Base class array and Base class pointer. At this point in the book, aggregation was discussed and shown in an earlier example, but wasn't implemented in the example. Mind you, no player class was created! So basically, arguments were passed to xDragon's defend and attack member functions via variables within the main function.

So I'd decided to create a Player class instead, and have the Player And Dragon objects interact with each other in the main function. Problem was, I hadn't learned enough to know how to do that, to which I didn't realize until error after error and trying desperately to get it running. I'd refrained from using Google and Stack Overflow for the most part, save for a few compiler errors I'd never received.

In the end, I'd decided to create a Game class that layered a Player and Dragon object. I had a feeling I should have written it that way from the start, but felt uncertain. The last errors that I was stuck on for a few days, I'd solved by way of "I wonder if this will help" lol.

Up until then, I wasn't aware that if you don't have a separate implementation file for a class, and should you decide to layer an object from that class, the class must be defined within the class declaration. Having defined member functions outside of the declaration, although within the header file, gave me: include\BlackDragon.h|22|multiple definition of `BlackDragon::calcDamage(short)', first defined here.

I will admit, it did put a damper on me. I felt like I was on a roll up until that. Perhaps I'll take a week or two break from programming get the feeling back again.
Drone technology is within the reach of high level amateurs, stealth is optional and Iran is a nation state.
They could do this if they really wanted to.

Iran is full of clever people, in spite of the impression that we get of them in the West as backwards and 'religious idiots' (which is mostly propaganda and would qualify tons of people in the West just as easily). The Mullahs have many faces, they're anything but dumb and they are quite capable of enlisting the help of science when it suits their goals. The fact that they abuse Islam to control their population and to violate human rights on many levels does not detract from any of that.
meta-gambling
Oulipo was a silly 'organisation' invented by some writers in Paris after the second world war. The members included mathematics lecturers and writers interested in producing texts according to routines or with constraints. George Perec walked the streets of Paris systematically for some months according to a routine derived from a double latin square, and then wrote about what was happening at each location at a specified time.

I was alluding to the idea easily remembered rules for selecting characters from a text known to the person.
> Copy and paste doesn't help you at all with this.

Generally I agree with this, but there is a way to use copy-pasta as a learning tool. If I find a code sample that does what I want but don't understand it, here is what I do:

1. Add a comment with a link to the source for reference.

2. Rename the variables.

3. Comment the parts that I understand.

4. Flag the parts I don't understand with a simple // ? comment.

5. Research the parts of #4 until I understand them, and then update each comment accordingly.

#2 is incredibly important to me. I've been doing some walk-through tutorials lately (e.g., http://learn.knockoutjs.com), and if I use the same variable names as the tutorials suggest, then I'm just transcribing. The code doesn't stick in my head, and I'm not really learning as much. But once I start changing the variable names, then it sticks.

#3 might seem like a waste of time, but I've found with conceptually difficult code, having the #3 comments helps keep me grounded if my brain gets too muddled.
This is in fact a classic criticism of modern AI. Classic approaches tried to replicate human reasoning mechanisms. The work was very cool, but far harder to understand and scale, compared to modern statistical algorithms. To some extent, you are faced with a choice: a small palette of mediocre techniques whose workings are beautiful theories of the human mind; or, a broadly-applicable, incredibly practical set of tools with little motivation or spirit.
This is so revisionist.

That thing had two screens. How much would it have weighed? What would the battery life have been like? How much would it have cost.

These things matter.
It means 'lots of money'.
I don't think there is a meaningful distinction. Do chess computers have a "fundamental understanding" of chess, which humans traditionally considered a benchmark of human intelligence/strategy?

Analogous to the philosophical zombie thought experiment, I think that "real intelligence/understanding" is indistinguishable from simply being able to perform actions to accomplish the same tasks that humans traditionally consider to require intelligence.

Of course, that's one of the PR problems that AI has always had: once a computer can outperform a human at some task, that task is no longer considered to be something that requires "true intelligence." Most people would consider someone who can multiply numbers together to be intelligent, but when computers do that (incomprehensibly faster and more reliably), few people consider even for a moment that it's AI. Same with more advanced mathematics, like computer algebra and automated theorem proving. Same with facial and voice recognition. And I'm sure it will be the same with self-driving cars.
Harder, but not stronger than steel. Steel doesnt shatter
I don't think that anyone can answer that categorically. It's a question for philosophy or metaphysics. Almost merely a matter of opinion. It's hard to criticize software for not working towards a "fundamental understanding of what the concepts mean" if we admit that we don't really even agree on whether that is a valid sentence or what it might mean.
Well, you take a dollar amount. Then you increase it. Then you increase it some more. Because companies who can afford it will pay you pretty much anything if you can make their whole engineering team even just a few percent more productive by improving the codebase. Or can figure out very hairy issues caused by Daily WTF style situations.

For example, I have a friend who sometimes fixes bugs in compiled software running banking systems with no access to the original code and woefully out of date documentation. He gets paid some 300eur an hour in a country where the median developer salary is only about 30k eur per year (about 14eur/h)

Sure, that particular type of problem likely/hopefully isn't caused by copy-paste programming, but it is caused by the sort of endemic issues copy-paste programmers to produce.
I recently switched from Gmail to a mail provider called Posteo. They are a German mail provider much like Fastmail. Here is the neat thing: You can create a mail account and physically mail them paper money, without ever giving them your name or address.

I wish more services would be doing that! In particular, I think we sorely need an anonymous way of paying money on the web, like physical money.