skysight-inc/HackerNews huggingface dataset:
Sigh. This again. Here's my best synopsis on the issue:

The science on both sides is completely inadequate. All studies actually performed are seriously tainted by being run by people with axes to grind. Thus, as much as we don't like anecdotal data, it's really all we have. The studies are also very old, and I would worry that even if they applied to old-style typewriters that they may not apply to modern keyboards, which are much, much softer than the typewriters of the early 20th century.

There is no compelling evidence that there's a huge speed difference between Dvorak and QWERTY. People who have tried both frequently report that Dvorak does feel better, though. Some do not report that it feels easier. I choose the word "feel" with care; it is subjective, but we have nothing much better to go on.

Current science can not prove whether Dvorak can prevent or mitigate RSI, but many people with existing RSI problems have reported improvement anecdotally. Given the difficulty of fixing or improving RSI, I would think these reports shouldn't be entirely dismissed, even if they aren't proof. Science can prove that typing with Dvorak does empirically involve less finger and wrist motion for the same thing to be typed, so at least there is a plausible mechanism for such an effect.

Programmers often complain about the mappings of the [] and the /= keys being reversed. I would say two things: First, if it bothers you, flip it back! And second, your mileage will vary based on your language of choice. My primary language is Perl (professionally), and I once did an actual character count on those characters, and it was as close to even as you could ask.

I type in Dvorak (with Caps Lock mapped to backspace), and I have not gone back, despite the inconveniences it sometimes brings up; the wrist comfort for me wins out. Also, science can't prove it prevents RSI, but it can't prove it doesn't either, so as an informed person, I am acting on the belief that it doesn't hurt and probably helps. I may be wrong. Who knows.

Finally, I think that everyone should consider fiddling with their keyboard, even if you don't choose Dvorak. There are other layouts closer to QWERTY, and other things you can try independently, like remapping Caps Lock to something useful. (I choose backspace, like I said; CTRL is a popular choice.) I'm thinking of trying flipping the digits and symbols so the "4" key gives $ and SHIFT-4 gives 4. Learning an entire new keyboard layout is hard, but learning one key switch is easy; remapping Caps Lock to Backspace takes about ten minutes to learn, and ten minutes to unlearn if you don't like it. The key is to unmap the real Backspace key. I have a theory that one could incrementally learn Dvorak without completely slowing yourself down by flipping one key at a time and learning it over a month or so, but this may destroy your QWERTY skills and I've never actually tried it or heard from anyone who did.

There. I think that about covers it.
Dan Ariely talked about this recently on C-SPAN's Book TV, and I (being a nerd) watched the entire thing.

"[...] if we pay them nothing, people work. If we pay them a little bit of money, people get demotivated. It switches us from a social domain to a market domain."

"I actually think the right salary for these bankers should have been zero."

http://www.c-spanarchives.org/library/media/player.php?pid=2...;
I doubt that Ruby is so feature poor to justify Perl having more than 50 tests for every 1 of Ruby's.

Perhaps Ruby isn't "feature poor". Perhaps Perl is "edge-case rich".

The language is rather complex. Browsing at random through the dreaded Camel Book, here are some things I find, in no particular order: a goto statement with three forms (page 105), typeglobs (pg 115), explicit syntax for references (pg 116), a text-formatting mechanism in core (pg 121), expressions that evaluate completely differently in "scalar context" vs "list context" (pg 45), taint mode (pg 357)...

A more fundamental question is: Where do these numbers come from? And an even more fundamental question is: Since when did counting tests prove anything? Isn't that just like counting lines of code, or counting the number of bugs that have had to be fixed? (Give me a day or two and I'll double the raw number of Ruby's tests! I'll just add more assertions!)
And "archive" to remove the email from the inbox. The filters are pretty good (although I haven't found a way to do AND/OR operators between fields, just within them) and in addition to assigning labels you can auto-archive, among a few other options. Doing the filtering on the server is much cleaner (and more sensible) compared to doing this in Thunderbird previously.

Combining filters and labels with the "Multiple Inboxes" labs feature is even better. I've got labels+filters for each of the customers of my consulting/contractor business and have the ones for whom I'm currently doing projects visible via the multiple inboxes, which gives me the latest info, within its context, all on one screen. Brilliant.

Admittedly, it takes some time getting used to. I hated the Gmail UI when I first started using it and would use Thunderbird instead whenever possible. These days the only negatives I can think of are:

* paranoid policy for attachments. No exes, no zips with exes for sending or receive. This can be REALLY annoying when working on desktop apps for customers. I would upgrade to the paid-for version if that let me switch this off.

* reliability. About once a week either IMAP or the web interface go down. Almost never both simultaneusly, though, and rarely for long, so it's tolerable.
How so? Rubygems is just a distribution and packaging system; it doesn't do anything special as regards changing the APIs of Ruby's core objects. Ill-considered metaprogramming can be carried out in Ruby regardless of how the code gets loaded.
You get better at code by reading code.

That being said, I have NEVER been good at pouring through lines of code to figure out whats going on. Others seem to be exceedingly good at it. The closest analogy that comes to mind is music. Some can read music really well and play from sheet music, others play by ear or by 'picking apart' a song. I have always had to step through with a debugger and/or read the documentation (if it exists) to get a sense of what is going on.

I guess thats why I comment my own code so much, because at the time I am creating it and living in it day to day, I know exactly whats going on... its "in my head" so to speak, but if i take a few weeks off, I am cursing myself for not having commented what was going on, or at least the intent, especially for the hairy/unfinished/broken parts.

There are some who dont comment because they are so good at reading code, they dont even think about it. There are still others who say, "If a fellow coder cant figure out whats going on by looking at the code and ONLY the code, then (s)he sucks", and another camp who want to comment every single line. YMMV on that one. To each his own, but I am in favor of a reasonable level of commenting.

Bringing my point back from the brink, here is an story for you: In my 9 to 5 (project manager), I do very little coding anymore, but we always talk about stuff like agility and customer centricity. There was an issue with my team where half the people thought comments were superflous and the other half wanted to see more comments as part of 'sound engineering practices.' As the unbiased outsider, I told the team this, "We talk about reacting to customers needs and putting in features, fixing bugs, increasing usability, better user documentation, etc to meet that goal. You should consider your team mates as customers, and you have an unmet customer need in that you have a customer who is asking for more code comments. In the end, if it helps the team work better together, then the 5 minutes you take to at least comment the 'intent' or 'high level algorithm' of a method will go a long way when 3 years from now some intern is trying to figure out where the null pointer is coming from.

From the standpoint of open source projects, documentation is something I see popup a lot on sourceforge when projects are looking for help. However, if a person is good enough at reading code with no comments to gain an understanding and write the documentation, they would probably much rather code up a new feature than comment/document.

Code almost always runs the risk of becoming unecessarily complex, and there is always a balance to be struck between YAGNI and 'flexible architecture'. I like to lean in the direction of YAGNI, because most often the assumptions you made about future state to build in flexibility were WRONG, and its a lot easier to refactor for the present than it is to architect 'for the future'
Ask HN: Best Command Line Email Client?
I've used Alpine / Elm / Mutt. I've used gMail / Yahoo Mail / HotMail. I've used Evolution. I don't like any of them.

I spend 90%+ of my time on urxvt/screen/emacs/irssi. If I can get a email client that integrates nicely into this, it'd be ideal. What I think I really want is something that allows me to FUSE mount my email directory. So I can cd into my directories, ls to see new messages, write messages in a directory, and move them into ~/Mailbox/send/ ... to have them sent, etc ...

Anyone know of anything remotely like this? (Or a really cool email setup they use themselves.)

[On, on the FUSE side, I really like this since it allows me to use tools like grep, rm, sed / awk, ... to do funky things with my email.]
I switchedin my early twenties and it's been well worth it. It's not so much about speed, as it is about accuracy, and especially about comfort.

I would recommend in switching that you not move your keycaps around, or draw new letters on your keyboard, or any other mental crutch, but instead simply memorize the new layout. It won't take long, and that small step will hasten your transition.

There were a few interesting side effects during the transition. For the first couple of days, I realized that I could no longer spell some words -- my life is so terminal oriented that much of my rote spelling knowledge was based on muscle memory.

During the transition, it was an added challenge to do everything, and that sort of reminded me of how the older generation of punch card programmers often described their work. Suddenly it became more efficient to think about the problem harder before trying solutions, increasing the chance of success, rather than just firing rapidly from initial thoughts until I had bludgeoned a solution.
Raganwald, i agree with your identification of this problem. But the anti-Ruby trolling is getting out of control :( (and i don't blame you for that).

There are a couple different suggestions people have discussed, but some of them, like selector namespacing, have been languishing in discussion land for years (Matz has been talking about it for a while apparently).

This still doesn't solve the case where you have two different plugins or gems that you'd like to use, that require different versions of the same gem. Ruby is open enough to give you enough rope to hang yourself w/ in this case.

The alternative is what... just not doing package versioning? That seems like a step backwards too.
You don't find it ironic that you are now telling me what I should and should not do?
It looks like Google's boardrooms are closer to a hotel/conference centre boardroom in terms of use to the boardroom down the hall halfway between your office and the john.

That being the case, it makes sense.
So is the platypus God's version of Enterprise Software?
No.

You'd have to pay me to use it, and even then I'd still have reservations about it.
All of my serious objections to monkeypatching go away if you can scope them.

Then I'm just left with a general "that's icky" feeling that I wouldn't press on anyone.

Raganwald, have you ever used Perl's "local" keyword? It's really similar to what you're looking for; "in this scope and anything I call, the value of the thing identified by $x is now this; when this scope expires, it goes back to what it was before". For what you're looking for, you'd want to drop the "and anything I call" bit, but it's doable.

And I agree that you would also go along ways towards solving this sort of dependency problem.
Ariely conducted a number of social experiments with unexpected results, as covered in a summary of his book that was posted a little while ago on HN:

http://bookoutlines.pbwiki.com/Predictably-Irrational

The "Cost of Social Norms" section is the one relevant to his points in the article.
first, thanks for your feedback so far!

it's true that the site has a limited scope, but that can be a project's advantage as well. a limited community makes it easier for users to find the snippets interesting to them.

large code-sharing sites have just too many of them and are struggling with organizing and accessibility issues. more specialized sites like djangosnippets.org seem to attract quite a lot of visitors too. i think it's worth a try!

we are currently working on various parts of the backend and would strongly appreciate feedback, improvement ideas and feature requests. a forum seems a bit of an overkill, and the uservoice page is not visited by many either.
The line that I was specifically referring is, Honestly, I'd probably be too afraid to ever install a gem.

When you use any packaging system (rubygems, apt-get, cpan), the convenience usually comes at the price of control. In other words, it's very difficult to mix a packaging system with another packaging system or manual installations.

Ill-considered metaprogramming can be carried out in Ruby regardless of how the code gets loaded.

It's true, but with a packaging system you have little control over dependencies so it's difficult to understand the quality of the code you're using. When you install libraries manually, you know specifically what you have on your system and you have the option to not use a library that has a troublesome dependency.

A packing system is not going to prevent ill-considered metaprogramming. But if you have the choice, why would you include an ill-considered library in to your project?
"Nor is this a problem that scales with community size." - The more people you have writing libraries, the more monkeypatches are made in a library, the more likely it is that the monkeypatches will collide. That's so obvious I don't even know how to argue for it.

"Granted Ruby's ability to reopen classes anywhere it likes makes this problem more difficult, but i hardly see this as an indictment of any use of the language."

I do, because other languages manage to provide features and libraries without causing this problem. A problem that is unique to the monkeypatching languages (also Javascript) can be laid at the feet of the design decision to permit it and the community decision to roll in it.

If the community is indeed walking away from monkeypatching.... that doesn't prove I'm wrong, it proves I am and was right about the dangers involved. I don't feel inclined to give the community much credit for coming around to the realization that unfettered monkeypatching is a bad idea two years later than I did.

If you like monkeypatching, you should be listening to Raganwald. He's looking for a way to reap the benefits without paying the price, and I think such a thing could be constructed.

Version control is a separate problem indeed. It should be pointed out that I was responding not directly to the original topic, but the posts that are the parent in this chain. This is perfectly valid.

Oh, and stuff it with the trolling accusation. I'm not looking for flaming responses, I'm hoping to safe someone from stepping into the monkeypatching tarpit that at least historically the Ruby community has advocated so hard for people to leap into. Again, if the community is walking away from that tarpit too, are they "trolling" when they do that? Trolling means something, and it isn't "having strong opinions with reasons given".
wget -r http://libe.sysinternals.com/

This will grab everything. It's not as sophisticated, but then the benefits of that script (rename commands to .bak, avoid downloading the .zip versions and index.html, etc) are small for the many extra lines of code it involves.

Secondly, and more importantly, I don't want to update SysInternals tools to the latest versions. Classic Filemon and Regmon are small, run quickly, and have trivially simple and useful interfaces. Since Microsoft bought them, they are bigger, run more slowly and less usefully, have more complex slower to use interfaces, and prompt for a EULA agreement at first run on a new system. They may be technically better but they are as much worse to use as this script is than wget.

They embody everything about how Microsoft can take something, improve it and make it worse at the same time. You could list any feature that's changed and I'd probably agree it's an improvement - but the end result is a program I want to use less.
for example, it says there's 20 guests, but i could only view 9 (it's now 30/21). caching issue?
Newspapers Are Dying. Are Universities Next?
There's some cool stuff in Gmail Labs. However, I wish google would setup an API (and perhaps an approval process?) for users to develop their own addons with serverside support. I don't think userscripts and Firefox extensions are enough.
if you never buy anything because of advertising then pirating TV shows is financially neutral anyway.
Recommend Ikea Vika tables. You can get big surface areas for cheap with height adjustable legs.
Ask HN: How can someone best improve Wright's data?
Recently, Tony Wright (webwright) compiled some quick data on startup acquisitions to hopefully to get a picture of the geographic distribution of startups. It was quick, dirty, and easy to poke holes into, but enough to consider some further investigation.

So, what would be the best way to gather information on startups while minimizing bias?

I'd be willing to put some money into Mechanical Turk to do the legwork if there's a halfway decent method to it.
i love how mechanical their quotation sounds.
Have you actually made any measurements?

Smaller pages are actually faster (both individually and collectively), though gzip is already fast enough that the difference is irrelevant.
Talk about flame-bait.

I'm not sure who they're arguing with here. Developers that write code in Ruby have a testing culture... I've never heard anyone imply that Matz and the core development team care even slightly about it.

In short, your average Ruby project and Ruby the project are entirely unrelated, they're written in different languages, even!
Emacs? gnus:

http://www.gnus.org/
Techcrunch is hiring developers
InfoQ: Microsoft Has Open Sourced the Common Compiler Infrastructure
O'Reilly Books DRM-free for kindle
What, you've never had to exchange some emails between a small group of people?
Because that only makes sense if you want them replying to everybody else, which is almost never the case, or you'd just make a real mailing list. I'm not saying "don't send e-mails to multiple people" I'm just saying "use CC appropriately."
They already do, all the time. The difference between B-movies and B-games is the effort involved to make something that provides passive vs. interactive entertainment. People will sit through an entire movie as long as it doesn't completely suck. To play through a game, it has to be genuinely good on several counts or seriously good at at least one thing.

Ex: My favorite B-game that I remember playing was Black on the original XBox. It basically scrapped all the evolution of the FPS genre over the past decade: laughably nonexistent storyline, dumb AI, old school style health packs randomly laying around. The team focused entirely on the weapons and the intensity of the firefights; I still don't think any game has had better weapon sounds since. Played through it in a week, had tons of fun, never felt a need to pick it up again. Though, after writing this, I might try to track down a copy.
This data isn't of much use for analysis without all the startups that failed or didn't get acquired. This is like trying to analyze average height by nationality using a sample consisting of professional basketball players for each country.
New and Used Metro PCS Phones
Metro PCS reviews, if you are looking for reviews on metro pcs phones and service, then you can visit the metro pcs phones website. They have reviews on new and older phones for this service.
probably just as the US companies are annoyed how TPB blithely assumes that being in a different country excludes them from copyright law...

The argument have 2 (probably even) sides with the majority of us stuck in the middle. Only one is refusing to budge and are acting like "dicks". So....
As I said above, I merely use CC. This gives the recipients the option of replying to everyone or just to me. Sometimes you'll want everyone to reply to everyone else, but since reply-all is just as easy as reply, I prefer the one that doesn't assume the former.
DevCentral Top5 04/17/2009
With email, you can ignore it, and just drag things out. I had a pretty good experience with Google the other day though, they changed something on adsense which just happened to break Mibbit (Their js tried to access something, security permissions, threw an exception Mibbit wasn't expecting etc). I sent an email, and about 10 emails later and about an hour later, we'd sorted out exactly what was going on, and they'd fixed it.

I think it can work either way...
It's true that some businesses are more nimble than others, but Bill is still right: the ability to sit on the couch here is a more efficient integration mechanism than any other. You're far more likely to complete a deal when the technical work can be done extremely quickly.

I've worked at startups in Seattle and San Francisco now, and in my experience, the startups here are faster. At the risk of sounding like a cliche, it's just something in the air here. Things are always on fire.

Is it worth the cost of living? I don't know. But there's definitely a difference.
Serious, solemn or silly
Whilst I see the flaws in my arguments (and TBH I think they are minimal): I still dont see a legitimate case for calling the file sharing of copyrighted music legally or morally ok....
Scalability, full control over everything, it's not rocket science...

Mibbit uses some cool Comet like stuff, and I'm 99% confident the Mibbit webserver is better than anything else at doing this.
I've never understood this... When you have a search that works properly, and tags, why do you need folders?
Heh, sorry, I didn't mean offense - I just found your train of thought a little opaque, but certainly in an interesting way!

Either way, I don't think knowing to GZip your pages counts as "education" any more than knowing how to put a horse shoe on a hoof or how to facilitate a corporate merger does.
There's no incentive for enterprise software to be sexy or provide a good user experience. Lotus Notes is the classic example: you connect to archaic server names, the idea of displaying messages as threads will never happen, menus are counter-intuitive, it's absurdly slow.. I could go on. Ok, so I get that once your organization has tied to Lotus Notes, the cost of replacing it is absurd -- especially if you build applications on the platform. What makes no sense to me is that the visual interface has remained virtually unchanged since I started using it (Jan '06), and the new Webmail pilot looks just as bad. There's a lot of things Lotus Notes can't easily improve. But there's just as many they -can- improve that they don't for some reason.
I've never found a search in the world that can find something I don't even remember.

With well-organized folders, I can, and more.
i do. and a lot of people who email me do it too.