skysight-inc/HackerNews huggingface dataset:
The northeast corridor has a major capital expenditure backlog due to years of poor financing, about $21 billion. On an ongoing basis, the required capex is probably about a billion a year, about half of which can be paid by operational surpluses. The rest should be borne by a group of states, the same way NY/NJ/CT maintain the commuter and airport infrastructure in those states.
I'm seeing a lot of people in comments talking about how they wrote something similar or other tools exist. Can someone explain their use cases that don't involce SEO or some other kind of thing that's "bad"?
Nobody has a problem with the title? Yes I know it's directly from the linked article.

My browser already knows everything about me. It's the web server (and all the associated ad servers) that "get to know" visitors in milliseconds.

Also, my browsing is much much faster than what the article mentions. That's because I don't bother with Adblock or Ghostery. Instead, I simply use NoScript on most websites. The (sponsored) article was fully readable w/o JavaScript. So, while the timeline discussed was interesting in the abstract, the flurry of backstage activity didn't occur when I viewed the article. Nor were any ads displayed. Thankfully.
I can't tell you how many times I've heard this, its demoralizing to be basically treated like I'm using tinker toys, moreover I'll be trying to build something in the shell, and told you should do that in perl/python/whatever, because its better/faster/easier - then when I ask for help, as I dont know those languages, I get told to go buy a book.
Well the source is available on GitHub (no download required!). As for playing with it, a friend of mine is building this module as an API, which I assume will come with an accompanying webpage :)
Mark Zuckerberg Takes a Whack at Apple in New Interview
That's the thing about teaching, it depends on the student.

For example, I wish someone told me to stay away from php when I began learning. My motivation was to become as effective as quickly as possible not just a casual learner or hobbyist. I wanted to hear the harsh criticisms and realities as quickly as possible because that's where the growth is. Of course feedback should not "denigrate" the beginner as the title says but giving the complicated, multifaceted truth early on may be desired rather than compartmentalizing and simplifying the reality.

See work on "expertise" by Ericsson and Hoffman (and others) for support of my argument.
I have the same problems with haskell. My actual level of ignorance is: (anyone having traveled the path between imperative and functional, please correct me)

- 1st problem: Functional Programming is not "programming", since in "pure" functions you do not have algorithms and "programming" seems to be defined as making "algorithms".

- I believe it should be called "functional composition" instead of "functional programming".

- 2nd: Monads. "Monads" seems to be the way to introduce "impurity" into Haskell, so, if you need an algorithm, you enter the "monad" space.
I'm just your average joe who enjoys reading HN. I have absolutely no technical background except for having just started out to learn to code.

That being said, and from what I understood from their webpage, their business is to sell a service / equipment for people who would like to in turn, resell that service.

I understand, in a way, needing an internet connection so the machine can work whichever way it was designed. Besides paying a different ISP for an internet connection, is there another way of getting an internet connection? If you need to pay an ISP for an internet connection, and then they find out - wouldn't they simply cut the service? (I'm talking about a scenario outside the U.S.)

hmmm.. alright, I just doubled checked their webpage to see if I missed something. Doesn't seem like it.

Edit: my bad. If it were early I would have said I didn't have my coffee yet. I'm just slow sometimes. I got it now.
Thanks for the clarification.
> How do you list all interfaces a give type supports just by looking at it?

That question doesn't make any sense. I can write a new interface that an existing type supports and then use that type as that interface. That's the awesome power of go interfaces. Using existing types for things their original creators couldn't have thought of.
According to wikipedia, "The ball's weight must be in the range of 410 to 450 grams", and "Frisbee® disc 200g heavyweights are extremely fun discs to throw around".

I have two quadcopters who's all-up flying weights sit in between a Frisbee and a football. I rarely get them much above treetop height (one of them usually flys with an altitude limiter set to 70m, and the only times I've ever had it cut in is when flying up high to test it's working).
Back in the days I still did windows software, VS6 reigned supreme, and BoundChecker and Purify did more or less what Valgrind did (valgrind was already very helpful; purify was available on unixes and windows, and was more capable than valgrind at the time)

What's the situation in Windows land these days with respect to these tools?
> I suspect that's because of multiple trains per day on the Surfliner.

This is a surprisingly common misconception in the United States. For public transport, the top three determinants of ridership are, in order, frequency, frequency and frequency.

As a simple example, here in the equally long-distance-transport benighted state of Australia, there's a shiny train line that goes from central Sydney to the nation's capital Canberra in a bit over 4 hours, which is quite competitive with driving (~3.5 hours pedal to the metal, realistically 5 with Sydney traffic and breaks etc) and flying (45 min in the air, but several hours of hassle to get to the airport, security, waiting around yadda yadda), and the cost of a return ticket is on the same order as the gas to drive back and forth, and around 3-4x cheaper than flying.

Yet I almost never take the train, opting to drive or fly instead. Why? Because there are three (3) trains a day, leaving at 6 AM (nope), 12 noon (meaning you spend the whole workday on the train) and 6 PM (well, this one's semi-decent, although it's past 10 PM by the time it arrives). And should you miss your train for any reason, you're completely screwed.

If, on the other hand, the trains ran hourly, none of this would be a problem: I could pick a time that suits me, instead of having to fit myself to the trains, and missing one would be an inconvenience, not a catastrophe.
That is impressive. I find that it is the little things that I end up messing up on and spend more time using my delete key than any other key until I get back into the swing of things.
I'm 50, and started with BASIC on a mainframe timeshare system. The following Dijkstra quote is proudly displayed on my cube wall:

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

I would actually go a step further with the thread title: Please don't try to teach if you can't.

When I talk to junior (or senior) folks who are learning to program, it will become evident that I've chosen different tools than what they're learning. So the discussion of tool choice is inevitable, especially if I have to admit that I don't know the language they're learning. My typical advice is to choose something that is presented with good learning tools, and maybe one that has tutorials related to a subject matter that they're interested in.
Also the monthly "Freelancer? Seeking Freelancer?", https://news.ycombinator.com/item?id=8681039

For quality developers on freelancing sites, I recommend finding people who submit bids of at least $40/hr. And I've found Eastern European developers to be generally pretty good on those sites, probably because a senior dev there happens to charge about the max of what a cheapskate in the US wants to pay.
NASA 'Admitted to Apollo Hoax', Say Obviously Mistaken Conspiracy Theorists
Has Zuckerberg said anything about the matter in the last 5 years?

If not, then you have no standing, and you have no legal power to compel FB to do anything for you. Legal precedent is against you, and I quoted a California Supreme Court case which went into the details for both California and US anti-discrimination law. Anti-discrimination laws give you 180 calendar days from the day the discrimination took place (or more depending on state or local laws, but not more than a year). You cannot sue over one even that happened that long ago.

If so, then show me an example of how Zuckerberg continues to insist on that belief. I have found nothing beyond 2007. And kindly point out in the EEOC guidelines where there's a violation of the law.
>love it - for the first time in my life I'm surrounded by people who are as passionate (and often even more so) about the same things I am, it's something I don't think you can really get anywhere else.

Are there any universities with a similar atmosphere?
I know a lot of people will side with Cook on this one, and I'm by no means a fan of Facebook (though I haven't used Facebook since 2005), but I think Zuckerberg is rightly frustrated by this. While it may be true that customers are the product when it comes to Facebook and other social-services, it doesn't necessarily follow that Apple is any more-or-less aligned with its consumers than Facebook.
Single-page version:

http://www.internetisshit.org/print.html
It's not about wear, it's about security and controlling your car... When you're using your brakes you can't control your car nearly as well.

In case of emergency it makes a huge difference. You've got to control your brakes and turn the steering wheel. If you release your foot from the brakes the car will surge forward as it is not limited by the transmission.

Plus water, snow or ice downhill with brakes = danger, very easy to lose control of the car. Again if you're limited by the transmission it's a non- issue.

Plus it makes your brakes hot, which makes them less efficient in case of emergency (I think).

Your transmission should always be the limiting factor of your speed, period. That's it's job, to determine the speed of the car.
The brakes are only here for when you couldn't downshift fast enough and you're going to hit something if you don't stop the car.
That's what my instructor taught me, and repeated again and again.

When driving I sometimes see people braking all over the place, most of the time they also have strange trajectories, and are not easily predictable. I pass them as soon as I can.

And yes I use a stick, never used an automatic in my whole life in fact.
I don't think it teaches you anything about the mechanics of the car as i know mostly nothing about that. But I'm pretty sure you "feel" the car much more. I'm nearly certain the aforementioned brakers are mostly automatic drivers (pretty rare in my country as most people despise automatics.)
In France, they drink.
> This is not what the parent means.

Well let's be fair, it's what the parent says. Even so, that's a largely outdated piece of "common knowledge" in 2014.

Five years ago? Sure. Today? Not as much.
Guantanamo Transfer Leaves Harder Cases Remaining Amid Criticism
New Earth Calendar
Forget Chaos Monkey, who's using Chaos Kong? That's what I want to know ;)
Light bouncing off a mirror at 100B frames per second
Building UI Components with Om, ClojureScript, and React
Since sorting is inherently a one-dimensional activity, I doubt it. Philosophically speaking, binary cuts are associated with qualitative phenomena, hot and cold being one of the prototypes (light and dark is another).
Bergson or Deleuze elevate this kind of thing to a metaphysical level but I think there's an underlying simplistic aspect to it. Someone gives you a line, there's not much you can do but split it into two parts.
It's not as strong a hint as you think. I've interviewed and worked with a fair number of programmers myself, and I can say equally definitively that the best ones know how to program in Lisp, and the worst ones do not.

All we see is that the programmer who is motivated to teach herself C or Lisp (or any other "difficult") is a better programmer than the programmer who is not. Which, on further reflection, is almost self-evident. Of course programmers who are motivated to keep learning and keep practicing become more skilled. But it doesn't make any special claim about the benefit of C in particular.

Coming at it from another angle, have you worked with a lot of electrical or computer engineers? C, in many cases, is the highest-level language they know. From personal experience, I can tell you that their code is no better (and in many cases, considerably worse) than code written people who've had experience with languages at the top of the abstraction hierarchy.

EDIT: And, of course, I scroll down to see that tptacek has already made this exact point, and more eloquently, to boot.
I come from banking in the Midwest. While I worked some long hours occasionally, it was never as bad as what I have experienced here in Silicon Valley. I'm specifically talking about the geographical Silicon Valley, not just the tech scene in the area. On top of that, I'm going to claim unrealistic work / life balance is something common to this part of the country. I've returned to banking out here, and I still find there is an unrealistic expectation of how many hours an employee should work a week.

With that said, I don't really mind the long hours if I am properly compensated. It's not the long hours that bother me. It's the thought that I have nothing better to do than to serve the company at any time of the day. Employment is a mutually beneficial economic relationship. Out here, it seems that a lot of employers think the employees should be thankful they are allowed to work there.
"they will hit a layer of C code and won’t know what to do next."

Really? "Smart and curious" people will just see this new language and go "well fuck, I dunno what to do"? They won't, for instance, just LEARN THE NEW LANGUAGE?

Arguing that beginners should start in C because they need to "understand how computers work" is like arguing that first-graders should be taught the construction of the reals so they "know how arithmetic works".
Humorous cat pic
You do need a spectrum license (or unlicensed spectrum) with WiMax. Further, even if you could operate a WiMax network in an unlicensed band, you will run into issues with: a) not all countries having the same unlicensed bands, and b) the need for consumer hardware (baseband radios) to support WiMax in the band(s) you need.

You could potentially roll out WiMax in a 1500MHz band in some countries but very little hardware does (or will) support that.
If a slum-dweller doesn't have power, how does he recharge batteries?
I was only talking about Amtrak and the US in my comment. I'm not sure why you felt I thought it applied to anywhere else.
You actually can dig upwards. I learned to drive automatic first -- and still learned to drive stick (as is true of quite a lot of people I know, many of whom came to prefer stick.) And I learned BASIC before assembler (BASIC:Assembler is weirdly similar to Python:C) -- and still learned the latter.

And, in any case, structured programming languages in general (including C) are pretty poor for developing "a proper mental model of how computers work". You'd be better with assembly -- or even BASIC, which despite its more beginner-friendly syntax is structurally very simply to assembly.

OTOH, Python offers a lot less distraction than something like C when learning CS concepts (much of my early formal CS instruction was in C, and I've seen people more recently go through similar things in Python).

Also, I think, contrary to the claims in the article, that there are far more people now than at any time in the past capable of writing "extremely good software" of the type the article discusses (that is, extremely well-tuned on a low level), and that lots of them are writing such software, often the tools that make it unnecessary for most programmers on most tasks to focus on low-level performance optimization in order to have software that is fit for its purpose.

Now, its true, that the programmers capable of doing that kind of low-level tuning may be a smaller percentage of all programmers than a generation ago, when C was considered a fairly high level language and not a fairly low level language (when that ratio was lower than it was a generation earlier than that.) But, so what?
Most of us live in Western nations. And Western nations, unlike the ones you mentioned, have a veneer of pretending to be free places, but are actually as oppressive and ruthless as the others to anyone who becomes a real threat. The right to free speech is rendered impotent in the face of their ability to infiltrate peaceful protests and sway public opinion.

And you are using some of the very same techniques that they do when you try to downplay the importance of it.
I've never had an issue like you describe with dates before. I've always output them in the csv in Y-m-d format and that has worked as expected.

I should have been more precise and said if your data isn't using the set of features described in the article there isn't a big difference. Not all data has dates, time durations, percentages, and number formatting.
PHP is fine but it has problems:

http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

I'd say the same thing about C++. And I think newbies should be warned about both of these languages.

That said I agree that the language doesn't really matter. I don't think frameworks or libraries should matter for novices either. My only advice is to do the problems at: http://projecteuler.net/
I'm a long term enterprise user of Excel, and I taught myself to program using VB6 and have now moved onto Postgres/Python etc. For any serious data application, CSV is a must, because navigating data types in Excel is a nightmare. Over and over, colleagues of mine have lost the leading zero in a string because Excel automatically typed it as a number, or had a cell value interpreted as a formula, or had a VLOOKUP not work because the number is typed as a string or vice versa. These problems often have counterintuitive solutions, and for a basic user, these issues exist in both excel formats and in csv. Excel has pretty robust ODBC integration that drives data directly into Pivot Tables or through VBA. In this way you can provide informative (and pretty) reports to end users, with dynamic aggregations, filters etc. If your users are more technical than that or require more detailed atomic data, the widely compatible solution is generally csv. What I'm trying to say is that the excel format fills a gap that is very small, between completely non-technical and slightly technical data users, and honestly probably isn't worth implementing.
This is a great little gem! It will replace colordiff in my scripts.
The important thing is to make sure that your 'upgrade' is semantically indistinguishable from the non-upgraded version, and to the extent that it differs, document it. There's an old blog post[^1] where someone describes code that performed this kind of "interface upgrade" in a way that broke underlying assumptions about the code. This is a horrible (and unexpected!) kind of bug. One should be really, really sure that this is the correct way of solving a problem before actually reaching for this tool.

[^1]: In particular, a function which took a Reader would attempt to cast that Reader to something with a Close method, which broke the programmer's assumptions about that function. It didn't help that said behavior was at the time undocumentated: http://how-bazaar.blogspot.co.nz/2013/07/stunned-by-go.html and the HN discussion https://news.ycombinator.com/item?id=6060351
TI-BASIC, as in TI-99/4A?

How many times did you lose your work due to a fat-fingered FCTN-= instead of SHIFT-=?

At least that prepared 6 year old me for the adult world of "rm -rf . *".
I have a product that lets our users (who are non-technical) export data. CSV exports were a source of many support requests. We switched to XLSX exports and everybody seems happy.
I think your post is a slight exaggeration, but you do need a fair chunk of coin. Mining companies in Australia have been buying spectrum licenses for private LTE networks, with those licenses being considerably cheaper than the carrier-grade licenses for 700MHz spectrum (i.e. licenses that are $100m+).

As I touched on in another comment though: getting hold of spectrum is only half the solution. You also need devices that can talk X technology in Y band. This can limit you severely: USB dongles are usually the only option here, and not all devices can accept a USB dongle as an additional radio (i.e. smartphones, tablets).
You've lost me.

By Australian standards, the US Eastern seaboard is absolutely stuffed to the gills with major cities which are basically next to each other.
Virgin CEO Richard Branson Favorite Books
Because it's Amtrak's only proper line.

I mean what's the point of running a train between San Francisco (which is actually on the OTHER side of the Bay) to Los Angeles only once a day, taking over 12 Hours!? That's not a real train service. That's a tourist attraction.
All the headhunters tell me I should be asking for $65.00 per hour.
Why Prolog Is Not as Popular as SQL in Imperative Programming?
The Terrifying Implications of Computers That Can Learn [video]
My feelings are very similar to the author of this article.
The point is that Amtrak is not really viable on the non-Acela routes. You could build viable train service (for many billions of dollars), but it does not exist today. When people talk about how great Amtrak is on the east coast, they mean that the Acela is really great.
The problem with the defense of PHP as a harmless beginner's tool is that often once people become familiar with it they go on using it! And so we find ourselves grinding away countless hours dealing with large codebases in a language pretty much everybody admits is fundamentally badly designed. I suppose I don't mind that much because I would never take a job working in PHP myself but we certainly don't tolerate this kind of professional laziness in medicine or science or proper engineering. Maybe that's why people don't accord programmers the same respect?
Yeah, this type of check is nice if you intend to implement an interface, but don't actually use the type as that interface in your package. This will give a compile time error if your type doesn't satisfy the interface. You could write a test for it too, but this is a little simpler and harder to miss.
If your car has not ABS, you can slow-down without losing directional control by using the engine. In a slippery slope, if your wheels block (because of braking) you lose the ability to turn to avoid obstacles.
> writing real bare metal bit-banging code

Well, there are plenty of microcontrollers running on Javascript/Ruby/etc, so if people are still writing "real" code, it won't be for long.
No, I understood the subtext; I just don't think a 10+ figure capital expenditure that leaves us with a best-case 15 hour trip from NYC to Chicago is a good use of funds. The person who suggested a high-speed post-security rail route from Penn Station to LaGuardia and JFK had a better idea. The person who called Amtrak SF-LA 12 hour service a "tourist attraction" had the right idea, too: under any imaginable scenario, that's what NYC-Chicago rail would be.

Would that it were otherwise! I live in Chicago and have lots of friends and business associates in NYC. :|