skysight-inc/HackerNews huggingface dataset:
It's necessary to maximise the weight lifted. Some force is transmitted through the trunk as opposed to through the spine and back muscles. The organs are broadly speaking incompressible, but the lungs are not.

Squeezing the abs pushes the organs up and holds them in place, compressing the air in the lungs, creating a more rigid trunk. This stops lifters from having their chest drop down, which will cause a dropped lift or even an injury.

Of course, if you squeeze the gut, the stomach can decide it's time to vomit if you have a lot of food in it. So ... don't do that.

Similarly if you're having lower intestinal disquiet.
This is not necessarily the case. Humans are machines that can do programming. And yet there are many many tasks for which we are unable to design machines to automate. Technology takes time to progress, AI or no AI.

That said, strong AI is so difficult, and we are so far away from it, that it is likely that by the time it happens we will have automated everything else already.

I actually think social work will be the safest job. In a world filled with robots, people will want to talk to real people :)
Glad to see this milestone and some pretty helpful but not very breaky changes.

What is the recommended method for dealing with the optimistic model events? If my view gets the "destroy" event but the sync fails, do I have to parse the response on the "error" event to figure out that it corresponds to the destroy action?

It might be nice to have e.g. "destroy:failed" for the benefit of views that send off these requests and want to un-change the UI and show errors if they fail.
yeah, my experience is that big data + agile planning = fail.

in the typical agile process, calendar time is ignored, and people pretend that you can just manage punchclock time. the result of that is that you end up with two days to go to the end of the sprint and a four day job that needs to run.
What distinguishes this HN post - added by the company in question - from spam?
Sure, pulling the industry is not the rigth way to go anyway.

I think that the population of china don't help... more than a billion.

I think that the world population is really the big issue of this century.
The thing with unit tests is that they test units. A unit of code might be a simple algorithm inside one function but more often than not the unit is a more complex interaction that is better covered by a smart test on a whole lot higher level.

I prefer fewer tests that try to touch most of the essential features in one go, rather than several low-level tests that test simple if not idiotically limited cases. I prefer fewer tests and high code coverage: by being smart you can do a lot of testing even with a single test if only it touches the strategically most sensitive parts of your program.

Also, most low-level stuff you will test implicitly by the rest of your code. Lots of your higher level stuff would fail to work if your lower level functionality was crappy. Thus, the basic utilities tend to straighten themselves (bug-wise) early on.

Lines of code have a cost and lots of tests drive up your lines. Less code, smarter code. Less tests, smarter tests.
negative: It would have been nice to see a 1.0 release before this happened.

positive: Without the originator in place perhaps a more formal product infrastructure can be put in place by Joyent. I'm thinking in particular about a structure for the documentation of primary third party modules like Connect and Express. At present the readme's and examples on Git, Sencha, and ExpressJs are all done by the original module developers. They're good but like most documentation done by the original developers make too many assumptions about what readers know. I don't mean to be too critical but if users are going to Stackoverflow for answers then there is a problem.
> Which makes vim faster, but doesn't mean one needs to reach for a mouse; secondly, what touch typist isn't already watching what he's typing? Requiring visual feedback is hardly slow.

Yes it is. You can go seven or eight keystrokes in vim recording a macro without any feedback whatsoever, and still end up with a wickedly powerful edit.

> I'm aware of that, but that's not the argument you made. You said you didn't have to reach for the mouse, well, neither do any of the other editors.

No I didn't. I simply said contrast that to moving your mouse. You could also contrast it to ctrl+right arrowing to the word on the line but in vim thats just `5w` (where five is the number of words along the line) in normal mode. It still requires less cognitive and physical effort. You could also contrast it to the built-in readline ctrl+ shortcuts and it would still be less keystrokes.

> While true, you overestimate how much other editors make you think about the cursor as well.

No I really don't. I wasn't magically born with vim superpowers. Like everyone else I started with a regular text editor and worked my way to vim proficiency. I became proficient with eclipse, crimson editor and quite a few others before deciding that vim was what I wanted to invest in long term.

> Our muscle memory works just as well as yours and though vim gives you more options to exploit it, it's not as if other editors don't offer anything other than visual and a mouse.

Very well, good luck to you with your other editors. I seriously think you should use whatever you feel most comfortable with.
I didn't even need to expend any mental effort to ignore the large advertisement-shaped blocks there.

AdBlock Plus did it for me, and delivered me a blank page.
http://news.ycombinator.com/item?id=3050804

http://news.ycombinator.com/item?id=3167050

How about instead of us unproductively arguing about this, you make your point by telling us about some of the popular sites you have banned for baiting HN. I'd be particularly interested in the existence proof of any site that regularly writes positive things about startups that you've squelched.

That'll give us an idea of what the standard is.

Edit: I accidentally wrote that first sentence more combatively than I meant to.
...then that exceptionally rare person will be inconvenienced in the process of correctly dealing with the significantly more common case. In either case it should be relatively easy for them to reacquire the file, if needed.
That is precisely what I am saying: Other editors interface with some tools, you configure them, they call some external process, they have to be run regularly...

Well, Emacs has that stuff built-in, and better. That is precisely the way in which Emacs is more powerful than Sublime or Vim.
Rovio CEO says piracy can attract more fans to Angry Birds
The 'sync' addition is neat.

Is there any way in Backbone to get a list of all of a model's properties that have been changed since the last sync? model.changedAttributes() only works for the most recent change (and only inside of a 'change' event listener).

The reason I ask: I'm working on a system that only syncs model attributes that have changed - it doesn't send the entire JSON of every changed model. To do that it currently has to keep track of which attributes are 'dirty' or not for each model.
Views that are triggering optimistic destroys can listen for "error" on their model ... or (preferably) pass a direct error callback as an option, when sending the destroy. Remember that the return value of calling "model.destroy()" is a jQuery object that can be used to chain success and error callbacks...

Note that you'll also now get the new "sync" event, after the model has been successfully deleted on the server.
They did some user studies and found that a fair number of folk never use the forward button at all.

Here's one study, not sure if it is the most recent:
https://heatmap.mozillalabs.com/

40% of users never touched the forward button even once. And those who did use it, didn't use it very often.

Several of the very low% UI elements (like RSS or Go) were removed completely from the default setup.
Just a few days ago I read a book called "Convict Conditioning". In essence, it's about bodyweight exersices. You won't need a gym, but you'll need a place to hang from.

Copying a part of a book review:

Convict Conditioning is a book of bodyweight only training. It utilizes six training exercises, each having ten different variations. The six exercises are called "the Big Six", and they are one-arm pushup, one legged squat (pistol squat), one-arm pullup, hanging straight leg raise, stand-to-stand bridge, and one-arm handstand pushup. You don't start with these exercises, but rather easier versions, and they represent the ultimate goal of the workout.

The workout is structured so that each exercise of the Big Six is divided into ten steps, the final step being the exercises listed earlier. As a general rule, the first steps are the easiest and you move gradually to more challenging variations. For example, you start the pushups series with standing pushups against the wall, and progress from there into incline pushups against a table, then kneeling pushpus, and so on until you reach the one-arm pushup.

http://www.amazon.com/Convict-Conditioning-Weakness-Survival...

I personally love to lift weights, but for the next year I'll be lifting less and doing bodyweight exercises more as an experiment.
This is basically a dynamic DSL. A confusing muddle of syntax and semantics. Will result in pain. Usually when least expected.
Add to that: Automatically tarring anyone who defends Google in any way as an "apologist".
Elijah has a nice detailed breakdown of the EasyGit UI rationale as well:
http://people.gnome.org/~newren/eg/git-eg-differences.html

I've been using EasyGit for years, it's very good and addresses exactly the complaint made in this article. Plus it's a one-file script so it's simple to drop it onto whatever computer you're using.
Twitter launches new GitHub page
I agree with most of what you are saying, I have similar beliefs.

I think that we need to redesign society from a technological and _primatological_ standpoint because I think a lot of the extreme hierarchy and brutality we see in our world is a result of the way that our cultural frameworks handle our primitive needs such as various ways that men compete for sexual success (such as resource acquisition).

The thing that I think people are missing as a realistic concern or change is that by the time these robots are able to replace most human jobs, which doesn't seem like it will be too many decades from now, shortly after that, we have to expect that the robots will become even more capable than humans.

The robots will be smarter than people. Normal, unaltered humans will probably eventually be treated like animals. I think that people don't take this possibility seriously (to me it is a likelihood, and probably within my lifetime).

I don't think that means we should prevent the next 'species' from taking over, but I do think it means we need to plan for ways that we can integrate with super-intelligent technology in order to stay relevant. And I think that is going to be a very practical issue within a small number of decades.
Unfortunately the core is missing some significant features, whereas modules work pretty well already (though I can see room for doing pre-compiled binary modules like "PPM" does for Perl on Windows).
They didn't argue that MegaUpload was in the right, only that MegaUpload technically managed to not break any laws.
Now it’s time to atomise the pricing
I'm having a hard time seeing how "changedAttributes" isn't exactly what you're describing -- the difference in attributes since the last time the model was changed/synced.

That said, if you need something fancier, and can't you simply listen on "change" events, and stash the last set of changed attributes where you can look them up later?
> Having one voice shepherding the direction of the language has had tremendous influence on both languages. I can't help but think that node.js is in a similar situation.

Not really. Node.js isn't a language that needs direction; ECMAScript is a separate standard with its own drivers. Node isn't even an implementation of a language, and V8 has its own community directing it.

Node is a small core with pretty simple principles. The rest (the most important part, I'd argue) is a thriving third-party community, and that's something the loss of any single developer won't change.
Facebook, Google, other firms team to fight email phishing scams
I use MongoDB and to do that I use MongoKit. Works really well.
I also use Redis for the caching (note: not as a database)

For both Mongo and Redis I use the sync libraries. So far, I don't have any slow queries that would require me to async them.
Am I the only one old enough to believe to remember that IE had this functionality (I refer to the "full screen on click on something in the page" functionality) at least more than 10 years ago and it sucked big time, as poor users would just click somewhere and then they would end on some malicious page which would "replace" their menus, taksbars etc with some nefarious code?

Why should it be different this time?
Determining the Geolocation of Systems Infected with Malware
50 Must-Play iOS Games
I'm really not that interested in language differences. Sure you can categorize this under "culture", but that's boring (Europe is more diverse, trivially) and doesn't make sense in the context of the article. More interesting differences would be political, philosophical, type of industry, standard of living, art, etc.

The per capita GDP in Finland and Sweden is US$44,5000 and $47,900, respectively. For Maryland and Mississippi, it's $69,300 and $36,600. The percentage of population that has bachelor degrees or higher in Finland and Sweden is 23% and 21%. For Maryland and Mississippi it's 35% and 19%.
I fixed it with this

https://addons.mozilla.org/en-US/firefox/addon/firefox-3-the...

and this

https://addons.mozilla.org/en-US/firefox/addon/backforward-d...

And now I am happily back in Firefox 3 / 4 days. Looks perfect.
I can appreciate the sentiment that Git's internal model is straightforward enough that the UI is justified in exposing it. However, you also have to consider the perspective of someone who sees a cool project, decides to contribute code, sees that that the project code is in a git repo, and says, "Ok, I'll learn the basics of git so I can contribute to this cool project." It's not fair to expect such a person to learn the whole data model of git and how all the commands map to it just so they can contribute a 5-line patch in the project's native VCS. So I think there's definitely a strong argument in favor of providing a porcelain for Git that is independent of its plumbing, even if that porcelain is only capable of some basic operations.
I wish I could upvote this more. "Programming" is just a subset of logic, which is a subset of mathematics. I'm not happy that more folks can't program, but I'm MORE unhappy that more people can't comprehend that - for example - the world is more than 6000 years old.
Honest question: have you actually tried working with modules and dependencies in Node? It's better now, but it's still not pleasant and often installing a module starts with debugging.

And what's the core missing, would you say? Personally, I thought the cluster stuff was already getting heavy.
Weirdly, there's actually a bug filed for that:
https://bugzilla.mozilla.org/show_bug.cgi?id=701653
I would rather have just the plugin.

The modularity means that the core application itself is small and simple, with fewer moving parts than something huge like Emacs. It also means that I have the freedom not to install something that would otherwise come bundled with/tangled with the app. Everybody wins.

SublimeClang requires a minimal amount of config, is dead easy to install, and it relies on external toolset by design, because building everything in would be insane. I very much prefer that Sublime does not come with this functionality.

(I don't know what you mean by "have to be run regularly", btw. SublimeClang can run continuously and transparently.)
FDA whistleblowers sue, alleging electronic spying
FF 10 Release Candidate is here:

http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/10.0-...

Been using it 24+ hours now with zero problems (including a ton of extensions and custom theme).

Or just wait for the release late tomorrow or Wednesday I guess.
Yeah, it's reasonably light, as I said. Training and end-user usage patterns (never something to be taken lightly) are probably your biggest issues.

Then again, the user experience with the leading alternative solution (MS Exchange) is so miserable that at one organization I'm aware of, the public announcement of a migration to Google Apps for Domains was greeted with a standing ovation.

Another interesting factoid: Hal Varian, co-author of Information Rules, which largely discusses strategic use of lock-in by both vendors and users, is Google's chief economist. I suspect this is a subject the organization understands well:
http://www.amazon.com/Information-Rules-Strategic-Network-Ec...
http://en.wikipedia.org/wiki/Hal_Varian
It used to be that parallel tests bundled up the tasks in "groups" and went one group at a time.
e.g. 12 tests on 4 cores ==> 4 groups with 3 tests each.

The problem was that some of the groups might have ended up with tests that take 5 minutes each (finished after 15 minutes) and other groups end up with the 20 second ones (finished after 1 minute). Did that balancing every change?

Another question: How does this work for different RSpec formatters? (specifically: junit xml output or html output). Will it still result in a single file?
Gina's point is true but also ignores human nature.

Google has done two very interesting things:

1. They endorsed and accepted, internally, a moral test for corporate decision making

2. They milked this policy for a shit load of press.

So for every "huh, what a great company!" they earned on the front end of the wave, now they must pay back a "hey, what about the whole thing about..." for every new act that seems incompatible with that moral absolute.

Does that make for good commentary? Maybe not. But it was inevitable.
I'm happy to hear you're doing everything right (but the part of me that was hoping for something easy to fix that could help you enjoy lifting more is a bit sad...). Using a watch for timing breaks is something I'll pick up, thanks for mentioning it.
New Google reference doc shows comparison of Dart and JavaScript
you can prove theoretical programs. do you really want to have to prove that it still works with any random bit flipped at runtime? what about two random flipped bits?
50% unemployment is fine. That's what automation is about. Freeing people from mind numbing boring work, which is most of it really.

The problem is really what do you do with a lot of people who need to do anything and probably don't need to exist? They tend to multiply quite rapidly as well as there is nothing else to do.
Or you can can just appreciate that you get to use one of the best input models only while you're coding, and settle for regular inputs the rest of the time. It's not like you'll forget how to use the arrow keys after learning Vim.

I don't know if I'd call Vim overly-opinionated. It's a legitimately incredible way to work with text.
I've become a very big fan of www.zarafa.com over the last year or so. It's open source, modular, works hand in hand with postfix, supports activesync phones, has a great webmail interface, strong documentation and, best of all, fully supports Outlook 2010 clients connecting in Exchange mode (if you want that).

IMHO, it's the best opensource groupware offering out there.
Peak telecoms
That said, I'm not sure UI matching the implementation is the problem with git's UI; it's more that git's UI is inconsistent, has poorly-chosen names for commands/options, and has bad default behaviors.
All proofs start from some assumptions. When you are proving programs, you assume that the hardware is functioning properly. After all, anyone going to the expense of proving their software is correct will also pay for ECC throughout their hardware. Once you've proven your software correct, you can make assurances about the behavior of the software when run on particular hardware, and those assurances will be limited primarily by the reliability of the hardware.
How well it _currently_ works is irrelevant from ethics point of view. Ethics are only concerned with how it could potentially be used. That's important to think about, so that the researchers know what direction to go and how to conduct their research so that it wont cause problems in the future.
I have no disagreement that the experience is more important than the money, but in the US, if you are doing useful work for a company, then they legally have to pay you.

Being offered an unpaid internship should be a red flag. While it's possible for a tech company to have an intern around who does no useful work for the company, I find it unlikely. And, given that, any company that would willfully break labor law is probably going to be a bad place to work.
(FYI, 2 * 3 is okay; HN preserves * followed by whitespace.)
For me the first big lesson was that the body really needs time to recover after training hard, and the second was that training "no matter what" doesn't work if you're trying to improve maximum strength. Lifting is a neuromuscular activity requiring maximum activation, and if I'm very exhausted or sleep deprived, I won't be able to train hard enough to matter, so doing a less intense core workout and lift the next day is more reasonable.
If you can't afford to pay someone for work [edit: in the US, can't speak for other countries], it's illegal for them to work for you. It doesn't matter if they're a student and you call it an internship, even if they get credit for it.
Less Perplexing Terminal Multiplexing with tmux
That's true, but is it really a good choice for me to continue living in the US, afraid to visit abroad and to thereby set myself up for the hassle of getting back in?
I liked Shit Silicon Valley Says more: http://www.youtube.com/watch?v=BR8zFANeBGQ
Another simple example from my work of the moment: my goal is to import points from a file (that I'm assured does have points) using a 3rd party file import library. I don't know in advance how the 3rd party library imports points, so the best test I could possibly write ahead of time is a fairly high-level integration test, "Did we manage to import a point?"

All my actual programming work here consists of adding printfs at strategic points to tease out exactly where I should be looking for the point data. Unit tests are completely useless for this process.

Come to think of it, even once I've got it figured out, it's very hard to see how to usefully use unit tests here...
It would be nice if there were a web site with a recommended tool that you could install on your VPS and then when you ran it it would upload your results directly to a comparison page. That way you could compare the cost to the performance of each service.

It could run that network test he mentions in the article, and hdparm, something to check CPU load, gather info on the CPUs and memory and whether it was using Xen or OpenVZ or whatever, maybe try a few benchmarks.
Does anyone have a link that doesn't require me to login to see this?

This is a google groups quirk.

If you are logged into a google account it will prompt you. If you sign out of your google accounts then you can read it without being logged in.
MongoDB with asyncmongo
Facebook Above $100 Per Share This Year? One Firm's Bullish Take
I've done many, many LTV and CLV reports for companies and I always account for this. Protip: churn also goes down for SaaS apps. Also, you need to account for a discount rate but most of the time people don't want to hear this because it makes their numbers look less shiny. Pretty basic math, all things considered.