skysight-inc/HackerNews huggingface dataset:
I must say I expected a less elaborate response, so thanks for that.

EDIT: I initially left a long response that explained why I think your accusations are unfounded. But, on second thought, I think we should spare everyone else and discuss this 1-on-1. My email is s@docker.com, if you contact me I will send you my comment there and we can discuss.

I will simply note here that you have not addressed my initial comment: specifically, that your comment doesn't make sense, and contradicts the technical reality of how Docker and CoreOS work.
Signed up. Thanks for sharing! I missed the AI class and have been meaning to try Stanford Online.

Hopefully my old applied math degree will come in handy.
Try HN search - https://hn.algolia.com/#!/story/forever/prefix/0/hyperloglog

But I take exception to hive-mind; this place really isn't.
> The reality is almost any language allows you to create a single file and run it and see a web page these days. That's not something unique to PHP at all.

This is not what the parent means. In PHP you get a crappy shared hosting account, and copy a file up to the server via FTP and it works. This is not possible with Python, Ruby, etc... you need to do more server setup in most cases. Sure this is due to historical reasons and maybe not specific to "PHP the language", but that is the situation that most beginners face. It's a very simple mental model as well. Services like Heroku kinda/sorta make it simpler for Ruby/Rails/etc., but understanding how those work and getting the command line tools set up is mentally more complex to a beginner.
> This is an unproductive discussion,

Yes. Largely because you keep inventing things I'm not saying to respond to. Such as:

> you're telling me that "you're wrong, but I don't know why".

No, I never said anything like that, and I stated quite directly how you were wrong.

> In any case, "trivial" has a meaning under copyright law

I don't think that's accurate, and the article you offered upthread to support that position does not -- in fact, the only uses of trivial in that article are to make the point that the legal concerns it discusses (idea vs. expression, and functional vs. creative works) are relevant in the same way to trivial (which it doesn't discuss as a term with legal significance) and non-trivial programs. And, in any case, the use of "trivial" in Stallman's post isn't connected to anything related to copyright law -- even if "trivial" was a term that had legal significance, that wouldn't make every use of "trivial" in regard to the GPL automatically related to that significance, especially when the sense of "trivial" being used is explicitly defined in the work in which it is used and isn't tied to the definition of any legally-significant distinction.
To bring an outsider's perspective to this discussion, I'm kind of shocked by how low all those numbers are, even with 200% growth and whatnot. Amtrak is offering service on lines that get under 40k passengers a year. By comparison, the Tokaido Shinkansen between Tokyo and Osaka has 391k passengers a day, meaning it also racks up the entire Acela corridor's yearly numbers in a week.
It seems like this article makes the tacit assumption that 'better software' means the programmer is closer to the metal and has a better mental model of computation. I won't argue that's not one aspect of better software.

But doesn't that completely ignore the rest of what makes good software, like understanding the problem space and creating a good design? It seems to me that your choice of language only matters if the language muddles your clarity of thought and expression, and in this regard the merit of C over Python is less clear.
Ok, I'm stumped. If I've parsed your description correctly, we get no info about our opponent's actions or the results until the end. Absent any ability to observe their strategy, it seems like you do want to maximize for expected value of your own actions, and I'm curious about the counterexample.

How do we maximize EV? A single throw's pdf is 1, for x in [0,1], so its EV is 0.5. The question is how to improve on a single throw by deciding to re-throw. A re-throw is independent and gives the same EV. We want a strategy that gives us higher cumulative EV. Say our strategy is that we have a threshold A, where we re-throw any result below A. Because x is uniform, the probability that we re-throw is also A. The cumulative EV of the strategy is A * EV(second_throw) + (1-A) * EV(keep_first_throw). Since we only keep the first throw for results in [A,1], the EV for that event (integrating x * pdf from A to 1) is (1+A)/2. So EV of the whole strategy is A/2 + (1-A) * (1+A)/2. It has max EV when A is 0.5, giving EV of 5/8.

So how do you do better?
Your Guide to Good-Enough Compliance (2006)
Just a wild guess, one of those friends is Dr Wiebe Boer who is now the CEO of Tony Elumelu's Foundation.
I think WiMax is still a better idea: no need to negotiate spectrum with countries (many times corrupt countries). We already have a considerable (and growing) penetration of smart phones capable of voice and text apps.
I don't see anything that you've said that's unique to Silicon Valley, except perhaps for the extreme hours which I never experienced. Especially the "QA gets no respect" bit; I jointed Lucent for a QA including programming QA stuff job and it was a miserable, never again, I advise all my friends to avoid it like the plague.
Congratulations! I'd be curious about the scaling problems. I assume you were trying to source the content from the community?

In general, the aggregation / filtering services that I like have that more as a feature of their site rather than being its sole focus. That means, aggregation / filtering is definitely done with a more human touch, editorial bent.

This one is owned by the Chronicle of Higher Education and is not necessarily about profits.

http://en.wikipedia.org/wiki/Arts_%26_Letters_Daily

And, we cannot forget the grand-daddy of all tech aggregation sites.

http://techmeme.com

And where would the Internet be with 'X and you won't believe what happened next' and 'N things you should now about Y'.

BuzzFeed has an 'area' full of people (not 'room' because it is Open Plan) who actively look for content that is going viral/could go viral. To their credit, they are using their top-10 (Comscore) ranking and going after more serious journalism.
There is a middle way, and that middle way is to realize that the relationship between PHP (and other frequently beat-upon languages) and other programming languages is not at all like the relationship between Rat poison and a normal meal.

Most any language can teach the absolute fundamentals of programming (logic and how to control it, loops, if/then, functions), and it doesn't really matter to a beginner, nor will it really affect how well they learn or the quality of their learning.

The middle ground is to do as all teachers do:

1. Accept

2. Advise

3. Advocate

As a mentor, we first accept the terms of the students curiosity. The student lacks so much information about making any choice, that when they say "I want to learn PHP" it does them almost no good to try to head them off or explain why they should choose something else. As the mentor, we must accept the students line of inquiry and begin to foster this curiosity with the situation we are given.

Next, the mentor must advise. Once we have accepted the line of curiosity that the student has chosen, we feed this flame with more information. The students curiosity will take hold and begin to spread to other areas, testing and learning from this original place of understanding. As the student questions, the mentor answers.

Eventually, the student will begin to have confidence in what they have learned. They will learn and work for information more readily, and will come to the mentor less and less often for advice and counsel. Once the student is at this point of confidence, the mentor can begin to advocate for ideas and concepts as yet unknown to the student. This is where the real learning happens, where the student has been given enough information to even understand and make sense of the mentors advice. This is the time for the mentor to say "maybe you should not use PHP. As you can see, there are things that are inconvenient and which you wish where different. There are other languages that provide what you seek." The student, now properly equipped to understand the mentors advice, can follow them.

This structure is how many of us, inadvertently or not, learn the crafts we know.
Reminds me of Cunningham’s Law: "The best way to get the right answer on the Internet is not to ask a question, it’s to post the wrong answer."
Don't want to sound like the PC police but personally I would have chosen another verb for the title. The origins of the word "denigrate" are not particularly great:

1520s, from Latin denigratus, past participle of denigrare "to blacken, defame," from de- "completely" (see de-) + nigr-, stem of niger "black" (see Negro).

(source: http://www.etymonline.com/index.php?allowed_in_frame=0&searc...)
I've had it happen to me. My mentor was going over a perl program of mine, showing me some beginner mistakes, and I was making good progress in understanding where I went wrong. Then a friend wandered in, sat in the loungeroom, and started throwing out abuse at perl and how it was a stupid language etc. Focus completely broken, and no more progress was made, because this guy just had to abuse language X to a beginner learning it.
Before I wrote this, back in 2009 [1], I looked for existing tools that would do this already. I found colordiff and cdiff, but neither of them would highlight the parts of lines that had changed. Not finding anything that did what I wanted, I wrote something.

[1] http://www.jefftk.com/p/introducing-icdiff
Connecting the device to the internet allows it to relay calls to other phones not part of your network. It is likely VoIP back to their systems which in turn interconnect with the rest of the switched telephone network.
The author's micro-elitism about stick shift is one of those things that I, as a manual-driving Brit, find ridiculous. It's a skill we almost all learn here, not something special. Our (low) accident incidence is usually ascribed to drinking, visibility, or speeding; and speeding tends to be a result of someone thinking they're a better driver than they really are.

US driving is IME (Boston, SF) easier than UK driving because there is much more road space and larger parking spaces, lower and more frequently varying speed limits, and less aggressive driving.

So that's my experience. Back to programming: we would do well to look at "countries" other than our own when talking about all programmers. What about embedded-land? The endless rolling plains of LOB internal applications? Stranger languages: J/APL? Labview?
"Up yours, squares!" is not a leftist position, though. I don't see any ideological content there you couldn't find on South Park.

And Gawker sells "up yours, squares" because that's what sells, not because Nick Denton is interested in promoting some kind of agenda. The only agenda Nick Denton promotes is filling his wallet.
Jason Spaltro, executive director of information security at Sony Pictures Entertainment explaining getting weak passwords past the auditor and so on. Guess he may have had second thoughts on that one.
Of course you have also done the calculation for the current system right?

Hundreds of thousands of people involved in making the current system work. Legislation and so on.
I remember that understanding pointers requires a special mental effort, it changes your head, and then can be used to clearly separates programmers who can think in pointers and programmers who don't.

In this regard, "pointers" in CS can be analogous to "stick shift" in driving cars.

This remind me of this article of Joel on Software:

"All the kids who did great in high school writing pong games in BASIC for their Apple II would get to college, take CompSci 101, a data structures course, and when they hit the pointers business their brains would just totally explode, and the next thing you knew, they were majoring in Political Science because law school seemed like a better idea"

s/java/python

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...
it's YC
Haters gonna hate. You can put that filtergraph in a file with line returns or whatever clarity you fancy.

Note that FFmpeg doesn't require wine to work on Linux (or any other system), and it also handles here the audio, the encode, and the remuxing.

(Ah, and it doesn't need to download dll on random dubious sites or lost forum threads to make it usable)
This is only for data, no voice, right? Otherwise how would you negotiate with the other carriers/federal body to generate/register valid phone numbers?

BTW how do you handle roaming? Does the SIM card only work for your particular carrier? Or does it somehow integrate with the existing ones?
With everyone else on this - if you have the time and inclination turning the above into a series of posts would be very informative, and link worthy.
Your definition is correct, but your conclusion is incorrect.

The wheels of the car are not spinning faster than the engine (in the overwhelming majority of cars) because there is still a final drive ratio between the output shaft of the transmission and the wheels. That is rarely taller than 2.50:1 and often greater than 3:1.

Look at the revs per mile in a tire's specification, drive that car at 60mph, and see that the engine RPM is higher than the revs per mile figure, even in the tallest overdrive gear that you have.
Apologies. I think I should have just written that in multiple sentences. I don't think mere commas can save it.

Simply put, my assertion is that it is the accompanying prose and diagrams that truly make the code easy to understand. Not its implementation language.

I would love to say that my terrible sentence above illustrates that prose is not a panacea. Well, I think I can claim that. I can not claim it was intentional. :)
From what I remember talking to the METRA conductors in the Chicago area, max speed on standard tracks in the USA is 78 mph under the best of conditions. This is often lower due to traffic, or condition of the track or road bed.
1. Bribe some politicians

2. Get some telecom / spectrum management laws repealed / rewritten

3. Replace the board of directors of the local equivalent of the FCC

4. Profit!

Seriously, I think it is quite hard, next to impossible to just go shopping for some spectrum in any country with a population density and / or wireless telecom infrastructure above a certain level, unless you are a major corporation or government entity.
The Clark Terry quote "Imitate, assimilate, innovate" might have been intended for jazz musicians, but it's appropriate for any creative endeavour including programming. Nobody gets to 'innovate' without spending a hell of a lot of time in the other two stages first.
My journey into the centre of a dark political world, and how I escaped
Your write up was pretty interesting. Especially the instruction mixes, LFENCEs of all things helped?! Thanks.

I haven't tried optimize fill / copy rate since late nineties. Getting the last 10-20% appears to be rather tricky. Luckily maximum bandwidth per core is seldom an issue.

Sometimes I've thought about designs of having one core do memory prefetching ahead of loosely synchronized other core doing actual computation, to get maximal serial computational throughput. The idea is, that the computational core would fetch data from shared L2/L3 at all times. For those times, when the access patterns are not predictable for hardware prefetcher etc.
All the headhunters, and many software companies have resume retrieval databases. One can query for keywords such as "windows device driver" then get all the resumes that have that keyword.

But the programs must not be very effective, or perhaps those who use them don't know how to use them correctly.

I myself have written some Mac and embedded device drivers, and I've written some Windows GUI applications, but hardly a day goes by without a solicitation for me to apply to a windows device driver job.

I expect it's interesting work, but I don't have a clue as to how to write windows device drivers, and never claimed to.
You would still need to work with the FCC or CRTC to get spectrum to run your cellular network. Once you apply for spectrum, the larger providers in your country will probably bid against you to block it.
Regarding the 13 year old when I was young I learned BBC Basic.

If I had to try and learn Assembler or C++ at 8 I would have been put off programming for a few decades!

I could learn basic by copying and modifying listings in magazines.
Your cdiff colors lines by whether they're added or removed: http://www.jefftk.com/cdiff-shell-function-2x.png

icdiff colors just the part of the line that changed: http://www.jefftk.com/icdiff-comparison-1234a1234.png
It's not an explicitly racist term. Just like "blacklist" or the "pot calling the kettle black". Black has a negative connotation that is separate from race.

http://english.stackexchange.com/questions/209021/is-denigra...
I just looked at one of those routes under 40k passengers, the Hoosier State.

Wikipedia has an interesting fact, that there's a 2008 law that requires intercity routes under 750 miles to have their costs covered by the affected states by 2013.

1. That changes almost every discussion in this thread, and really the economics of Amtrak as a whole.

2. The route brings in about $850k a year but costs $3M.

Obviously at this point I need to read up on this law that changed the short route train funding. (Passenger Rail Investment and Improvement Act)

Edit - It looks like it's more about "cost-sharing" of various types. Still, that does change things.

Amtrak's budget justification for 2014 is interesting. Particularly the graph showing the decrease in operational defecits.
http://www.amtrak.com/ccurl/851/32/AmtrakFY14-Budget-Request...
I do drive a stick-shift car, and I've also driven (rental) automatic cars.

A stick-shift get you way much closer to the engine. A stick-shift driver can show it's emotions via the engine. stick-shift invites more aggressive driving. Your mental state "shows" thru your driving.
There is nothing inconsiderate about using the cropped image "Lena". Nothing. It is not an offensive image. Only hypersensitive people who choose to be offended by everything find it offensive, and those people should be fought against, not placated.
For those who don't know what he invented: http://elblancosretroworld.blogspot.com/2013/08/the-magnavox...
Grappling with the ‘Culture of Free’ in Napster’s Aftermath
I believe the answer was less! I think it was more efficient under power, and had better sleep states.
One problem I can see with that is, it is very hard for a beginner to see the real flaws of PHP. So after he/she starts to get shit done in PHP, they will have their head so far up their asses that it will take a large amount of your time and effort to convince them to move away to a better language.

For eg, take the case of PHP arrays. If you are a beginner, you will probably have fallen in love with this thing. And when you show them a better language, and they finds out that it doesn't have arrays like PHP, they might feel very unsure about your claims that what ever you are introducing is the better language. If they have found /r/php, then it becomes almost impossible to convince them. You will have to counter the vague bullshit fed by 50 guys from /r/php to make any progress with the matter.

So while the author point about getting your feet wet is important, it is also important that you are not doing that be entering into a swamp that can suck you all the way down.
I think you may have misread, improving service along the NYC-Buffalo route, which is part of the route to Chicago, would speed up the trip to Chicago. Shaving off 3 hours, means that someone could get on a train in New York at 6PM, and arrive in Chicago at 9AM, which while for most people isn't competitive with flying, it is a reasonable and comfortable way to make the trip.
Yeah bucket list is what I would call any long-distance Amtrak travel. It might be worth doing once just to say you've done it, or to satisfy your curiosity. You'll likely never want to do it again unless you are retired and have zero time pressure to get to your destination. For the average traveler, using precious vacation days from work, it's not a good way to travel unless the travel itself is the point of your vacation.

I traveled from Chicago to Las Vegas on Amtrak. Train was over a full day late arriving, costing me a hotel night that I never got to use, and requiring a replanning of activites once there. There was a certain romanticism to aspects of the trip, but as a practical matter I'll never do it again.
You only have to remember the link you just followed. Basically, make a boolean "followedThread" and initialize to false. Then, go to the root and follow this algorithm

if (!followedThread && left != null)
set followedThread <- curNode.left.isThread
set curNode <- curNode.left.node
else
set followedThread <- curNode.right.isThread
set curNode <- curNode.right.node

Only node you really have to special case is the root node, and you can do that by making its right.node == null. Then you just do this while curNode != null.

That make sense? (Also... very possible that I made a mistake here...)
Author here. Thanks for the kind comment, happy to see that other people and not just myself got something out of this exercise.
It's almost exactly smalltalk (circa 1980 or so) notation.
I love this part:
"It would have taken an entire lifetime for any engineer with a soldering iron to try all those variations. So I said to him, Now that games are software, it's going to be a different world for games."

This is software eating the world in 1977 and it hasn't stopped till date :)
When you first get a taste of something you don't want to let it go. It wasn't so bad because there was no other possible state; it is bad, from an objective perspective, in comparison to the alternative (consciousness). I'd much rather be alive and who I am now than be an unborn "baby".
I agree with you on (1). Knowing more is better than knowing less; this is almost tautological. Knowing C -- it doesn't matter whether it's your first language -- will make you a better programmer.

However, I disagree with the assertion from TFA that knowing C is somehow more "intelectually stimulating" than knowing Python. Specifically, I disagree with this:

> "I get the sense that Python-first programmers are missing out on a lot of the fun of programming. There’s a mistaken notion that programming is most enjoyable when you’re doing a diverse array of things using the smallest amount of code, leveraging client libraries and so forth. This is true for people trying to get something done to meet a deadline; but for people motivated by learning — and who aspire to be extremely good programmers — it’s actually more fun to create programs that do less work, but in a more intellectually stimulating way."

I find the above assertion ridiculous, and I know C better than Python. Learning programming with Python is more fun than learning with C. That's not to say C isn't fun; programming is fun as a whole. But Python is not for people "trying to meet deadlines", and it's way less puzzling and lets you get into the "interesting" part of your project faster, with fewer pitfalls and less boilerplate than C. That's the definition of "fun".
Best science fiction books of 2014
Should there be some mention of the need for caution with the results of Valgrind?

https://www.schneier.com/blog/archives/2008/05/random_number...
My father felt very strongly that women were better naval officers than were men.

He also felt very strongly that the soviets were far better than his fellow americans. He regarded most military personnel as total slackers.