skysight-inc/HackerNews huggingface dataset:
One of the hallmark properties of a market economy is that you have choice. You don't like your compensation? You quit. The truth is that everyone at the factory is there because they want to be. Because it beats being back on the farm. But still, Foxconn created the problem.

When Western media freaked out over the suicides, Foxconn got scared. They started making their employees sign non-suicide agreements. What? That is the height of stupidity. If a worker wants to commit suicide, a contract isn't going to stop them. However, if a worker does not want to kill themselves ... it creates a new bargaining opportunity.

I have zero sympathy for Foxconn on this. They created the problem with a bad business decision, by explicitly broadcasting where they were vulnerable and making themselves even more vulnerable.

You don't need to be sympathetic with the workers either. They're just negotiating for higher pay in a unique way. Completely within their rights. Nobody is jumping. The ones who are going to jump won't advertise it or ask for anything beforehand.
I asked Manning about this for another EAP book, and this was their response:

At present all of our books are released as pdfs. Once the meaps are published they will be converted to mobile format epub and mobi. We understand the desire for mobile formats and we are looking to in the future, hopefully near future, to have all books available in mobile formats, meaps included. You can find all titles we have available in mobile format here: http://www.manning.com/catalog/mobile

Each book is converted manually to ensure that everything transfers to the new format as the Author intended it to appear. This is a painstaking process and does take time. Since each book is different in number of pages and images we do not have a set time frame for when each book will be available but know that as soon as the final ebook is complete it is sent to be converted.
China’s Cyber Strategy – Too Much or Too Little?
He's really just complaining about JavaScript's lack of a non-local return which cripples the ability to use lambda's to create your own control structures in many cases.
%%LIVE%% Watch New Orleans Saints vs San Francisco 49ers Live Stream NFL NFC
Just an FYI - "You get to talk to real mom's and get help!" should be "You get to talk to real moms and get help!"

"Moms" in this case is not possessive, it's plural.

Otherwise, I like the idea. Who's manning the phone lines for you?
I don't think anyone dropped the claim that Apple was a distributor. I don't see any way to make any kind of rational argument under US copyright law that they are not a distributor.

The question was whether or not they needed permission of the copyright holder of the GPL code in order to distribute. Contrary to widespread believe, distribution does not always require permission.

For instance, if you buy from Best Buy or Amazon a router that contains Linux firmware, then Best Buy or Amazon has in fact distributed Linux to you. Yet they have no obligation whatsoever to provide you with source code, or point you to where you can get it.

That's because the copies they are distributing are copies they got from the router manufacturer. Amazon and Best Buy are not making copies of their own for distribution, or modifying the copies they receive form the router maker before selling the router. They are just passing the copies through.

That puts them squarely under a section of copyright law called the "First Sale Doctrine" which basically says that the copyright owner's right to control distribution does not extend to individual copies that were legitimately distributed with permission of the copyright owner.

So, if Amazon or Best Buy wanted to make you agree to GPL incompatible terms for items you bought from them, there would be no problem. They could continue to sell Linux routers.

Compare to the App Store. Apple receives one copy from the developer. When a sale is made, Apple makes a new copy from that and distributes that new copy. That's the first distribution of that particular copy, and so does not benefit from the First Sale Doctrine.
Turn Your Foldover Business Card into a Brochure
Instead of your traditional 3.5” x 2” business cards, consider a foldover business card. With the added space, you can accomplish two tasks in one by creating both a business card and mini-brochure.
How Braintree moved its data center 25 miles without downtime
not everyone is familiar with C#, and Nullable<int> conveys better meaning in writing to that kind of audience.
BigDog Evolution
So sit next to the person while they write...
Spoken like a young entrepreneur gone academic. You will be a semi-interesting success as a difficult teacher and after your long traipse through life as a researcher, you'll make a great unhappy VP in the IT department of a large ivy-league university one day. Congratulations, and thank you for the advice. I am humbled, and even more resolved to stop being a developer one day.

Everything you wrote was right on, with the exception of the no writing on the whiteboard. That is just nonsense. You could have more quickly relayed the same code on a whiteboard and the interviewer wouldn't have had to have provided a post-it. You're lucky you got the offer after that kind of stunt, and it labels you as "eccentric". Not in a good way.
You are absolutely right. I never understood this idea that 'women should be equal to men in everything'. Outside of pure logical/scientific thinking it simply won't happen. Some societies are more accepting of the idea, while others sacrifice common sense in the altar of political correctness.
Introducing python-elections
So is .data just another way of pointing to an API? So if hacker news had an API, you would call up news.ycombinator.data all of the time? It would be awesome if this was the case, but even better if people that had .data domains came to a consensus of how to document their data, eg. www.domain.data/docs and have a common layout among websites to make it easier for programmers and scholars alike to figure out how to access the information they need.
Technologists perspective on CES
> I'm confused, aren't blocks just a hack around a lack of first class functions and/or closures?

Not in general. In Ruby the case is more complex because Ruby blows, but if you take Smalltalk's blocks they implement closures (in Dolphin, they're instances of `BlockClosure`) and they're first-class functions.

The way in which colloquial "blocks" differ from "lambdas" first-class functions is control flow in the semantics of return: lambdas use local returns, a `return` will break from the current dynamic scope (discarding the current stack frame), whereas blocks use non-local returns: a `return` will break from an enclosing lexical scope (generally a method and you can't nest methods).

You could very well have both behaviors with the same function type, using different return operators (yehuda is full of crap when he asserts that you need both lambdas and blocks by the way, even more so since Smalltalk did not have lambdas: Smalltalk has methods and blocks, methods are not lambdas as they can't be anonymous or nested, they're a top-level construct of the class) just as you can already emulate non-local returns via exceptions today (that's basically what a non-local return is)
The $10 million Qualcomm Tricorder X PRIZE
> I can learn Objective-C and get a job building iOS apps.

Mac desktop apps too! ;)
After reading his elaborations on that post here[1] and here[2], I think his point is agreeable.

[1]: http://groups.google.com/group/comp.lang.ruby/msg/12318b8d5e...

[2]: http://groups.google.com/group/comp.lang.ruby/msg/475d868d9f...
> It's a near certainty that a bash interpreter will be available on a Unix system; bash has become the JVM of the Unix world.

Don't assume this if you want your shell scripts to be portable. Follow posix standard instead.
"""People were getting building done before reinforced concrete, doing particle physics before synchrotrons, and designing mechanical devices before CAD. Since we have had these things, however, each of these fields has advanced significantly due to their use."""

I actually like the achievements of each of these fields better, way before those technological advances.

Reinforced concrete architecture sucks compared to the marvels of times past, particle physics were more interesting back in the day of the Copenhagen boyz, and I like pre-cad mechanical devices, from cars to watches, better than what we get today. But that's just me.
Exactly. A lot of these replies try to summarize my points into one sentence like "show off your skills." That short phrase is insufficiently descriptive to be useful.

I give specific advice for what you can actionably do.
Hmmmm its interesting, when iPhone 4 was slammed for signal death grip issues, MG argued, people use phones as computers nowadays, so voice/carriers are not important. Now, He hates android, because carriers are screwing android ecosystem. I sense a contradiction here.
Well, it does need two kinds of lambda, in a sense. In Lisp, something like with-file would be a macro, which solves the same problem that "blocks" are solving here.
One thing indicator I like use for "cultural fit" (as we don't have a lengthy interview process for our team) is how much the interviewee asks about our team. Are there any questions? A few generic questions? Or some deeper, probing questions about expectations, design decisions, framework decisions, and general culture? If I'm considering a new position, I want to know as much about my potential employer as they want to know about me.
I just tried to do that on a Win7 machine sitting next to me and it didn't work... it doesn't seem to let me highlight anything at all? I normally wouldn't comment about something like this but I wanted to do this literally 10 minutes before I read your comment. Anyway I don't think it's controversial to suggest that the stock terminal on Windows kind of sucks, although I gather that PowerShell is pretty good.
"I can learn Objective-C and get a job building iOS apps."

...And make $250/hr contract rates. There is ludicrous demand for iOS work. I know several enterprising devs who got into Obj-C over Java purely because the pay is insanely good.

And give me a break. What serious companies are doing web apps or video games in Java in 2012? Sure, Facebook and Twitter are using Java internally, but only for really specific technical challenges forced on to them by scaling. Objective-C is way more fun from a product perspective because you're close to the user. That is desirable for many.
Importance is not mutually exclusive with tedium.
i'm not sure how being able to click personalized or regular search is not evil

it's data they have, data they use. what you choose to see doesnt have much to see with it.

i don't think they're move evil than yesterday, but they're not less either

(basically agreeing in greater lengths hehe)
Why do Tennent's Correspondence and Abstraction Principles matter? That's missing.
You should read the article. Whiteboards are just the first point, and I only denigrate them in the artificial context of interviewing.

When I teach, whiteboards are fantastic.
That's not what happened. You started out with "I can't take Katz' suggestions for JavaScript seriously." and he pointed out that it wasn't his, but Brendan Eich's proposal.

To which you answered "Naming names doesn't change the idea."
Perhaps I'm just neurotic, but I do find it uncomfortable to write code with someone scrutinizing my work. When figuring out how to implement an efficient algorithm, I find that it's often helpful to perform exploratory steps before actually writing the algorithm. For instance, when I attempt a projecteuler puzzle that I don't immediately know the solution to, I'll usually try to compute the desired result for a few simple inputs, or I'll quickly write down the first (naive) approach that comes to mind and then trace through it to see where it fails, etc.

I know that those are all things that I can still do during a whiteboard interview, but having the interviewer look at my intermediate work, assume that I'm making mistakes and try to correct me tends to disrupt the process. I'm confident that the algorithms that I'll ultimately produce will be good, and I'm confident that I'll produce them at a good speed, but it will still look worse to the interviewer if I write down a bunch of noise before outputting a polished algorithm.

On the other hand, on paper, I can quickly churn through some of those early steps and then show the interviewer a solid, finished product without them having to see the crude intermediate steps. Again, it's possible that my anxiety about this isn't really justified, but I can't help but get the feeling that working in this way will leave the interviewer with a worse impression of my abilities than if I have the option to "hide" the rough work and just show them the output.
We’re not surprised to see other companies entering the payments market. There are two primary service providers that a tech start-up needs: a hosting provider and a payments provider. There have been good hosting options for a while, but as Braintree identified a few years ago, the choices for payments were not that great.

On the price points, it will depend on your volumes for which pricing is more competitive. Here’s some insight into the approach that we took with our pricing as we bootstrapped Braintree:

http://www.braintreepayments.com/inside-braintree/reaching-y...

http://www.braintreepayments.com/inside-braintree/three-less...

Regarding the customer signup process, we think there is value in getting to know our clients and their business when they sign up with Braintree. It helps to make sure we can deliver the rave-worthy support our customers have come to expect. As with everything we do at Braintree, nothing is ever good enough for us and we’re constantly striving to make things better for our customers.
So then sit at the same side of the table...
You can do RAII using `with` or `using` blocks, but you can't control execution with those like you can with blocks - the body of the `with` or `using` statement will always execute once. You can't prevent it from executing (unless you throw an exception), and you can't re-execute it with different values in the `as` clause.
That talk gets quoted pretty often, but it's a bit silly for Hoare to take all the blame/credit. Null references were discovered, not invented. They are so easy (from the point of view of someone implementing a non-functional language) that they were inevitable.
Ask HN: Web applications over desktop versions
With the increasing number of online applications like Google Docs, Pixlr, Cloud9ide, etc. are there any applications that you prefer to use the online version of rather than the desktop counterpart? Why?

Are there desktop applications that you really want a web version?
What advantage would we get by only having RAII over full block syntax? (Not sure, you can do using(some-other-method(file)) in C#?)
I do C++ for a living, do I get a pretty red line too?
+1 For some kind of keyword for Return-from (Although could be emulated with exceptions).

-1 For adding block syntax.
Google's Search plus Your World's Impact on SEO
> «widely used programming languages are modified until they resemble Ruby»

This is an interesting observation, and it has echoes of Greenspun's Tenth Rule. I'm not sure exactly how true the statement is, but I suppose it used to be (or still is?) the case that the same thing could've been said with C in place of Ruby.
I'm mainly tired of helping friends and clients fix Wordpress security breaches. That's why I've been working on a clean php5.3+ alternative: http://www.elefantcms.com/
That sounds great Nigel; I'm looking forward to hearing more.
Drupal is halfway between an application framework (like Ruby) and a CMS (like Wordpress). For complex, content-driven sites there's nothing out there that comes close to providing the functionality that it does.

It's definitely overkill for a simple Wordpress style use case, where you have a user who wants to post to a blog. But it provides a lot of the functionality that the OP listed as missing from Wordpress.

There are plenty of cases where you would not need a WYSIWYG editor on a website - for example, when it's simply providing a web services API to another application, when it's just a front-end aggregating content from another source or when it's being used for mobile. All of which you can do with Drupal.

It's certainly not perfect, but it's definitely got it's uses.
Thanks for not just talking about Whiteboards! That's just the hook and intro!

I agree. I think high-level planning and design is a great use of whiteboards in the workplace. Code under time pressure, not as much.
Is not this what the semantic web strived for? I don't know if a new top level domain would create enough momentum for it.
JSON/NSDictionary to Objective-C Classes Auto translator
> In order to have a language with return (and possibly super and other similar keywords) that satisfies the correspondence principle, the language must, like Ruby and Smalltalk before it, have a function lambda and a block lambda. Keywords like return always return from the function lambda, even inside of block lambdas nested inside.

In case you want to get your google/wikipedia on, what Katz is talking about here is a "non-local return". Normal returns return from the immediately enclosing (i.e. local) lambda/fn/block/thing. Non-local ones unwind past multiple enclosing functions to cause an outer one to return.

In Smalltalk, the distinction is between methods and blocks. A return expression always returns from the enclosing method and will unwind past any blocks that the return expression is contained in.

In Common Lisp, I believe you name functions and then indicate the name of the enclosing function that you want to return from by doing `(return-from <fn name> 3)`.

I thought non-local returns were a bit impure and kind of a weird language novelty for a while. Recently, I added them to a hobby language of mine (Finch) and then wrote some code that uses them.

Holy crap are they awesome.

Being able to early return is, I think, one of the things that's really handy about imperative languages. I use it all the time in my code. But that cripples your ability to define your own flow-control-like structures that take functions.

For example, here's some code that sees if an array contains a given item using a for loop:

function contains(array, seek) {
for (var i = 0; i < array.length; i++) {
if (array[i] == seek) return true;
}

return false;
}

Let's say you don't like doing an explicit C-style loop and you want to make your own forEach() control-flow-like function:

function forEach(array, callback) {
for (var i = 0; i < array.length; i++) {
callback(array[i]);
}
}

Now we try to refactor `contains` to use it:

function contains(array, seek) {
forEach(array, function(item) {
if (item == seek) return true;
});

return false;
}

Crap, that doesn't work. There's no easy way to make `forEach()` stop early unless you go out of your way to make it support that by having the callback return some magic sentinel value. Or you do something hideous like throw a "return" exception.

Non-local returns solve this neatly and end up being pretty delightful to use in practice.
Why? Adding a new keyword also means adding new syntax and also will break stuff, e.g.

var new-return-from-keyword = "test";
Old, but interesting. I wonder if hackers nap more often?
Well, personally I wouldn't use it, because it doesn't look idiomatic enough.

PHP CMSes had package managers for years. It wouldn't hurt to look at them and learn what they did right and wrong before cloning Ruby/CPAN/NPM solutions.
I think the point was more that in comparison to the package systems deployed for Fedora or Ubuntu or OpenSUSE (also "100% open source"), Homebrew looks, well, pathetically primitive. Seriously, look at the way launchpad or koji or OBS work sometime.
Thanks very intresting.

You might be intressted in this paper I read just a couple of days ago: "Extending Dylan’s type system for better type inference and error detection". (Dylan OO is simular to CLOS) A system like that helps to get the dispatch overhead down while still beeing able to extend it at runtime and you get alot of the typesafty.

http://opendylan.org/documentation/publications.html
Your analogy isn't applicable. What made them slaves is they were not allowed to return to Africa to do whatever. The Foxconn workers are not slaves. They can go back to farming or choose another job.

An employee who serves you is not a slave because he makes less than you.
McCarthy’s recipe for a programming language
Android lost 13% US market share in Oct. and Nov. to the iPhone
Would you argue that students should not study for standardized tests (e.g., SAT, GRE, ACT) as well, because they should have learned the (restricted set of) material on the test in their classes?
StumbleUpon webinar for brands
Maybe I misread the article then. If data.google.com, data.google.org makes more sense than google.data (which I agree, it does) then what would the application of .data be? Would google.data be an all-in-one resource for all Google API calls?
Your tech is shit (and so is mine)
So are there any examples where an amendment 1-10 was treated as an amendment and overruled something in the constitution? Or do courts not see them as "amendments?"
This looks way too complicated. The birds eye view might be your main feature, but it's visually unattractive, and very cluttered.

It looks like you have all the bones of a great app, but you need a great graphic design and a great user experience architect to take it to the next level.

I tried out your app, which was a nice touch, but it's not nearly as polished as BaseCamp. Even something as simple as a task view in Bird View Projects is completely confusing. Do I turn on the alert checkbox? Add a subtask? What is the difference between the clock and the $?
"""Naming names doesn't change the idea"""

Oh, but it does. First, it shows that you didn't understood what you read (re: who wrote the proposal).

Second, it shows that the thing that you deemed as unfit for the language is considered as fit by the VERY CREATOR of said language.

"""It is surely a wholesale change to function semantics in the language."""

So what, if it's needed?
CouchDB might offer some interesting stuff here, but it's not opimized for structured data.
It is of course just my opinion. I "do" enterprise Java as my day job. I've programmed in C, C#, VB, Ruby, etc..heck even some assembly language in college and for some reason I find objective-C and the iPhone SDK in general the most painful language/platform I've dealt with in years. I have used Web Objects before (after Java was included) and I wasn't crazy about that either.

I've resorted to using third party engines to do iPhone development. I've settled on CoronaSDK (Lua), but I could easily see using unity3d or some other engine if it fit my needs. I absolutely won't go back to using Objective C. I've come to the conclusion that what language your programming in relates to your quality of life, and after 10 years professionally in Java, I have no desire to learn another platform where it feels like I'm fighting the language/api at every turn. Lua along with the Corona API's feels like fun, and iPhone development is a part time endeavor for me.