skysight-inc/HackerNews huggingface dataset:
A monthly premium pass (for riding buses, Trax, and FrontRunner) is only $190 per month, which seems fairly reasonable.

If you are commuting to/from downtown SLC, public transit is actually somewhat reasonable - I live in the southwest end of the valley and it is only maybe 50 minutes vs 35 to drive in ideal conditions. The bigger problems are:

1) The trains don't run nearly often enough. If you happen to miss one or need to go at a non-peak time, it is going to be really inconvenient.

2) Not only does much of our population live in suburbs, a large amount of jobs are located outside of downtown, too. In that case, a 20 minute commute by car can easily be a 1.5 - 2 hour public transit commute - I can drive to work in about 25 minutes, but according to UTA, the most optimal route by bus/Trax would take 1:30.

The way we've situated things here is pretty hostile to mass transit, but I'm glad we're at least making slow progress.
Google stands up for Gmail users, requires cops to get a warrant
> Why is this like sneaking into a factory and not like reading a list of their other customers' email addresses that AT&T has mistakenly printed on the back of everyone's billing statement?

Because it requires intentional effort to find information that is intended to be private. It requires you to "walk through the door." The digital equivalent of your scenario is if AT&T accidentally e-mailed their customer list to everyone along with their e-bills.

> I still think the whole notion of "unauthorized access" is the wrong way to go. If someone breaks into your computer and intentionally deletes your data, vandalism. If they take credit card numbers and use or sell them, identity theft. So on and so forth. If all they do is fiddle with a URL or prove to you that your security is not what you thought it was without damaging anything or committing any other crime, why does that have to be a crime in itself?

I disagree. I don't think the digital world should be treated any differently than the real world. In the real world, we enforce boundaries in their own right, with minimal penalties unless it is accompanied by another crime. We do so to discourage people from poking around where they shouldn't, because such poking around is highly correlated with actual crime. Allowing people to poke around freely makes enforcement hard. Everyone who actually did something wrong is going to claim "oh I was just poking around." This rationale translates just fine into the digital world.

> It seems like all that does is chill the propensity for security experts to point out vulnerabilities when they see them

Why can't security researchers get consent from their subjects to do experiments on them, like every other kind of researcher? Should my doctor be allowed to test his pet theories on me while treating unrelated conditions, on a "no harm no foul" basis?
I'm not finding what I read. The closest I've found is the text at the end (quoted) of this Slashdot summary:

http://yro.slashdot.org/story/13/01/22/0219224/mit-warned-of...

theodp continues " MIT's Wolpert, who was recently named to an advisory board for JSTOR parent Ithaka, also chairs the Management Board of the MIT Press, where her reports from 2008-2010 included JSTOR Managing Director Laura Brown and MIT's Hal Abelson, adding another twist to Abelson's analysis of MIT's involvement in the Swartz tragedy."
On a per-person-moved basis? I'm going to call [citation needed] on that.
Require people who want to buy a gun to have a gun license.

You can own a gun in US without license, but drive a car without. The license should require a short theoretical, practical and legal test. License owners should be 21 (legal for drinking age), must not have a criminal record, must show that they are able to handle and clean a gun without shooting them self in their foot or eye, and must file a simple theoretical test, to check that they know the basic safety requirements like "always store the ammunition in a safe".
Does it not? I thought higher karma results in your submissions and comments being ranked higher/viewed more.
The Online Disinhibition Effect (2004)
1. [citation needed]
The dropdown box doesn't really work on iPad. I can bring it down, but when I tap "power level" it just closes the box and focuses the text field.
"I am too cowardly/lazy to actually treat people with any sort of respect, and really I never matured out of kindergarten bully tactics"

Am I wrong for interpreting it this way?
if you're aggregating and ranking third party content you will always be constrained with your options.
Or downvoting. I guess mockery, /and/ downvoting.
wow, why would anybody do that?
This hasn't been true for almost a decade now...and even before then, all it took was a few cars (3-4) taken off the road for the bus to come out ahead.
I don't think textbook weasel apologies are usually done several years in advance.
What are you talking about? The idea is to reduce the total number of cars by getting everyone using public transit. One bus might make twice as much soot as a car, but the bus can bring a lot more than two cars off the road if people ride the bus.
It might be better to say that they failed last night and leave a more general judgment open.

It's a good thing that people are calling this out and giving the participants cause to reflect on the problems with that kind of conversation (along with the rest of us). But I think it's also good if we don't rush to reduce people to some of their meaner moments. A lot of the participants have done a number of good things in the past, and they may well apologize and make this the exception rather than the rule.
My understanding of dasil003's point is that it is not a complaint about IDEs, but rather about languages that are designed in such a way as to require IDEs. For example, in Java, if you want to sort a List by a given field (using the Native Collections.sort method), you would need to do something like:

Collections.sort(myList, new new Comparator<E>() {
public int compare(E o1, E o2) {
return 01.val-02.val
}
}

(You could also make your class implement Comparable, but then you need to own the class, have only one ordering used in the entire program, not mind making the ordering a property of the class).

If you are in an IDE, then writing all that out is not to bad because of auto complete. If you are stuck in a plain-text editor, you would much prefer something like:
Collections.sort(myList, lambda<E->int> x->x.val);

Java 8 does incluse lambda's, so maybe this particlar case has been solved. But languages with a strong CLI pressense in the community tend to need alot less IDE than languages with a strong IDE pressense in the community.
Building java libraries isn't really all that difficult. Not is packaging them. Damned if it doesn't take 30 lines of XML to do it in maven, but these kinds of see-spot-run situations are pretty easy.

Extremely difficult in maven and five minutes work in make or ant is things like "running LaTeX to generate a PDF of some of your documentation, because it is math laden and HTML isn't suitable". This is not theoretical; I had to do this at the place that was using maven and we depended on some semi-obscure mathematical formalisms like the stable distribution.

Intermediate between these two is driving things with maven plugins, which is either easy (because you're doing something trivial) or fiendishly difficult because the debugging output is terrible, the docs are worse and the only thing left to you is to Use The Source, Luke. Every nontrivial maven plugin I've ever used has tripped this at some point, be it loading config files, including the dependencies, or something else.
Auto Scroll HN Comments (or any site) like an Autocue
I avoided using "Show HN" as it implies something a bit more substantial, but I figured I'd share a small piece of Javascript to scroll the webpage so that you can sit back and read comments without scrolling manually.

Highlight and drag the code below to your bookmarks bar (or create a new bookmark and set the code below as the address, but be sure to include the 'javascript:' part).

javascript:var isScrolling; var scrolldelay; function pageScroll() { window.scrollBy(0,1); scrolldelay = setTimeout('pageScroll()',25); isScrolling = true; } if(!isScrolling) { pageScroll(); } else { isScrolling = false; clearTimeout(scrolldelay); }

To increase or decrease the speed, you can change the 25 in setTimeout(‘pageScroll()’,25) to however many milliseconds you want to pass before updating the page. The higher the number, the slower it will scroll.

Click on the bookmarklet to start and stop scrolling.

Enjoy :)
Node, Twitter, and Apologies
No, IDEs make you more productive. It's like declaring that your blue screwdriver is better than their red screwdriver.
“Gaymer” trademark has to go, say reddit’s gay gamers
The problem is that being abusive and belittling to others is harmful to the open source community, especially when it revolves around someone who has gone and contributed to the community actual working code.
I made the default example auto-load when the page loads. Hopefully this helps.
Current Thoughts on MRI Performance
Then I see these people’s follower count, and I sob harder. I can’t help but think of potential future employers that are no longer potential.

There's a big responsibility that comes with being well-liked and nice. When someone with a good reputation and the means to broadcast it speaks negatively about someone, it matters much more than someone who is routinely rude, frequently negative, or unknown. I know that if the most well-liked and nice person in my lab were to criticize my ability as a scientist (in the same manner), I would worry about what everyone else thought about me now, that someone who never seems to say mean things would so something like that.

These individuals do good things: they contribute voluntarily to communities, they help high school kids learn to code, etc. And these individuals are visible. And if you search steveklabnik on HN, his comments don't seem mean or negative.

It's easy to forget, and it's a little paradoxical, but when you're really nice, there's a different standard. Perhaps there shouldn't be, but it does have a different impact.
Hey, I'm Namecheap's community manager and we've spoken to @blhack about this earlier (https://twitter.com/jonmarkgo/status/283995904699150337). We are aware that our list is way out of date (it's been around for a long time). We plan to update this list. However, we've got a lot of items on our agenda and this is a process. As such, it can't happen overnight.

We do appreciate your patience.
Nice, didn't think of this one
I don't care how "popular" these guys are, they are douchebags. This kind of bullshit behavior is stopping me from trying Ruby.
Better yet - let's do both.
yep, this is true, basically every shared link inside a message counts as a vote
I wish you had posted a better source of gaming journalism, I don't like IGN at all.

http://www.rockpapershotgun.com/2013/01/23/fin-thq-sells-off...
Google sides with Gmail users, won't turn over emails without a warrant
OK... I usually don't involve myself in drama, but I looked at the code: https://github.com/harthur/replace/blob/master/replace.js

Out of all the code could say "eyes bleeding" that doesn't even come close? Only thing that stands out is the naming of "replacize".

I can understand if you hate JavaScript syntax and love sed, but I fail to see why anyone would pick on this out of all the other code out there. There's no shortage of crappy code in the world! (not that you should make fun of any of it on twitter)
Do Clojure. Ruby suffers from a number of serious basic errors in its design. I'm in the middle of the long task of writing a clear, substantive criticism of them, but why they were bad choices is quite subtle, though it has large implications. That and Ruby has a culture of little or no documentation, even of the standard library, no attempt at consistency in APIs, even for something as basic as different kinds of network socket, and a community with rather more noise and rather less experience than makes me comfortable.
> Unfortunately the recent asberger pride movement doesn't help.

The word is "Asperger's". 'Asperger pride' is an attempt to reduce the hateful ignorant bigotry that the neuro-atypical face every day. The kind of ignorance that leads to early death, reduced job opportunities, reduced educational opportunities etc.
Heather, I agree that people are unnecessarily rude to you. Don't sob. Your code shows you are already a more capable programmer than most of the ones I interview. No one has given you a clear answer as to why your code is reinventing the wheel, so allow me to do it politely. I took every single example from your README, and show you below how everything can be reimplemented with sed -r (nice extended regex syntax, mostly like js regexs), and find/xargs:

replace 'var' 'let' *
sed -ri 's,var,let,g' *

replace 'var' 'let' . -r
find . -type f -print0 | xargs -0 sed -ri 's,var,let,g'

replace 'var' 'let' test/file1.js test/file2.js
sed -ri 's,var,let,g' test/file1.js test/file2.js

replace '(\w+)_(\w+)' '$1-$2' *
sed -ri 's,(\w+)_(\w+),\1-\2,g' *

replace 'var' 'let' . -r --include="*.js"
find . -type f -name '*.js' -print0 | xargs -0 sed -ri 's,var,let,g'

replace 'var' 'let' . -r --exclude="*.min.js,*.py"
find . -type f ! -name '*.min.js' ! -name '*.py' -print0 | xargs -0 sed -ri 's,var,let,g'

replace 'var' 'let' . -r --preview
find . -type f -exec sh -c "echo == {}; sed -r 's,var,let,g' {}" \;
(not sure if --preview does exactly that, I echo the filename followed by the modified content)

There is only one case that justifies reimplementing things: if your tool has the requirement of supporting the exact js regex syntax, then yes you did the right thing to reimplement this in js. I have run into similar situations myself. One time I had to support Perl regexs, and I started by simply using Python's standard regex module, thinking that it would work because both Perl and Python use PCRE. Well as it turned out the regexs I encountered used some advanced features (such as negative/postive look-behind/look-ahead, etc) that Python's regex module plainly did not suppport. So I ended up rewriting part of my implementation in Perl.

Edit: I spoke too fast. As a commenter pointed out, other legitimate cases for reimplementing this in js would be when you can't afford to or don't want to fork a process to run find/xargs/sed. It sounds like you were running the tool from the command line, so I didn't think that would be your situation.

Edit 2: Yes, the exercise of reinventing the wheel is also useful for learning... I am not going to argue that.

Edit 3: If you care about simplicity, I would personally rather write a small shell script wrapping find/xargs/sed and hiding their arcane options, as opposed to writing 173 lines of js.
Dude, these people who tear code bases apart for lulz are not worth your time. If they can't cogently point out the flaws in a reasonable fashion, then they can go fart around on /b/ as far as you should care.

Sure, some employers might care... "new guy might get flamed online". Yeah... okay... do you want that shallow of an employer? :-)

If you want, put your code online and email me, I'll be happy to look at it and point out any obvious mistakes.

(I don't know why harthur reimplemented parts of sed. I don't really care. sed is hard to use, I wouldn't mind rewriting it myself).
Buses make about 150 to 250 times as much soot. Not twice as much. Old buses granted. Newer ones are much better.
tubbo 0 minutes ago | link [dead]

He's usually rude to code presented to him, but he doesn't go out of his way to diss code. It's a big difference.
Why do we tolerate shitty, mean behavior like this in programming communities?
Exactly one month ago Linus sent an angry email over the gmane.linux.kernel group:

http://article.gmane.org/gmane.linux.kernel/1414106

It also resulted in the site: http://shutupmauro.com/ (where you can see the response as well)

You can find many defenses of him when this was discussed 30 days ago on HN: http://news.ycombinator.com/item?id=4962912

If you want to be spared the reading it is Linus Torvalds berating someone, and every top level comment in the HN thread is a defense of Linus.

I think its salient to bring up in light of the #1 topic right now, "What It's Like To Be Ridiculed For Open Sourcing A Project": http://news.ycombinator.com/item?id=5106767

----------------------------------------------------------------------

Linus' mission and position do not excuse his language. In defending users, he's still attacking a person. In the topic 30 days ago and commentors in the #1 topic right now are defending the same.

I think rooting out this kind of shitty behavior is the most important thing we can do to advance programming communities and make others feel welcome. By miles. Especially gender and general newcomer disparities.

The fact that so many here and elsewhere seem to think think this language is OK or justified completely blows me away.

----------------------------------------------------------------------

> Mauro, SHUT THE FUCK UP!

> It's a bug alright - in the kernel. How long have you been a
maintainer? And you still haven't learnt the first rule of kernel
maintenance?

> If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs. How hard can this be to
understand?

...

> Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
garbage and idiocy from a kernel maintainer again. Seriously.

----------------------------------------------------------------------

If you talked to your spouse like that it would be called abuse.

Why do we tolerate shitty, mean behavior like this in programming communities?
Note the date; this one was from 2010.

His most recent post is http://blog.steveklabnik.com/posts/2013-01-23-node
Isn't one post on this enough?
Agreed, about the pollution levels. My personal view is that the summer is far more depressing (heat, muggy, pollution) then the air in the winter. After 3 years in beijing, most Beijing people talk about the pollution far less, than housing prices, getting a Beijing hukou...
It's just like if you do something bad at school to another kid, and then only apologize after your teacher makes you. We all know it's a bullshit apology but apparently it's still valid.
Steve Klabnik has now also posted an apology http://blog.steveklabnik.com/posts/2013-01-23-node
HP software bug makes printers pwned
$> diff @coreyhaines-apology @steveklabnik-apology
< grace
---
> sorry if i made you upset

A side-by-side example we can all use to learn how to apologize better.

[1] http://programmingtour.blogspot.com/2013/01/im-sorry.html

[2] http://blog.steveklabnik.com/posts/2013-01-23-node
I'd argue that a lot of the hard parts of algo writing are solved by Quantopian. Hard:

* Data. You need to test your idea. Most historical stock data (like Yahoo) excludes companies that went bankrupt or were bought or otherwise disappeared. That's called survivorship bias. If you run a backtest on the finance industry and you don't include things like Lehman, you're going to get the wrong answer. Add in things like Hurricane Sandy, MLK Day, 9/11, mergers, acquisitions, stock splits, etc. and data is very painful to put together.
* A backtester. Once you have you data, what do you put it into? How do you calculate commissions? How do you calculate slippage (your order affects the price, remember)? How do you avoid look-ahead-bias and other bugs that plague backtesters?

Coming up with an idea to trade is hard, but it's only a part of the problem. I'd say it's the most fun part of the problem, but it's only a part. Quantopian is trying to remove all of the hard parts and let you do the easy parts. We have tens of thousands of lines of code (backtester, IDE, etc.) and we're leaving the most exciting 100 lines of code to our members.

On the other question about books. I'd recommend a couple:
* Ernie Chan's book is a great place to start http://www.amazon.com/Quantitative-Trading-Build-Algorithmic...
* More advanced: http://www.amazon.com/gp/product/0470128011/

I work at Quantopian.
This is par for the course in the Rails community. Once some Rails devs get more experienced, they think it's ok to shit on everyone else.

Granted, not all are like that...but many are.

God forbid you should stumble into #RubyOnRails on IRC. Thank God for Stack Overflow!
It's amazing how often the default is to push women over into the 'caretaker role' when coing should really always be about solving human problems.
I don't think another maintainer on the Linux kernel qualifies as a perfect stranger. The team isn't /that/ large.
Douche is as douche does.
1. Install NoScript

2. De-select every checkbox on Embedding ... and Advanced > Trusted

3. Select: General > Scripts Globally Allowed (Dangerous)

4. Visit quora.com and using the NoScript context menu, mark as Untrusted

5. Or instead of #4, (at least in Firefox) you can access the untrusted list from: about:config > noscript.untrusted ... and then just add quora.com. I also added every news site I visit. Excepting wsj.com is removes every news site's paywall.
Inorite? A Rails core developer dissing someone for gratuitious use of Node.js. Now I've seen it all.

This project https://github.com/harthur/replace is some of the least sucky code you're likely to see in a month of reading Javascript.
I wouldn't have said sorry.

False compliments are just as insidious as insults e.g. telling the over weight person that they are not over weight

The authors reaction was just online-give-me-sympathy-crying and lacked any substance.

I understand that in an ideal world it would be nice to know the particulars of someones disdain for a said thing but it's not so simple. As I'm sure everyone else is guilty of ridiculing something in light conversation.

Scrutiny works wonders. If you know yourself that it is wrong, then it doesn't mean anything and shouldn't affect you. If you know that it is right, simply take it as constructive criticism.
To be fair implementing a simple neural network is probably about par for the course as a sophomore CS undergrad project.

The basic algorithms you need can be found via google.

In my (extremely limited) experience the much more difficult part is using them to successfully solve real world problems.
On Doers Episode One- Interview with the Entrepreneur I Most Admire
Read this before you sign that legal agreement...
Good that you didn't double down.

Wouldn't want to be on the back end of a hacker news shit storm :)