skysight-inc/HackerNews huggingface dataset:
Are you suggesting that the Perl community didn't follow the strategy of

a) making this mistake over and over for a decade

b) finally realizing, in the course of some blog posts or their equivalent, that they needed a library to fix it?

c) making that library?

Because here's what appears to be the Perl equivalent of this Ruby blog post, from 2005:

http://use.perl.org/comments.pl?cid=45240&sid=29890

This post is promoting the Proc::UID library, which was apparently only a year old at the time and was not quite finished. The release on CPAN was marked "for testing and review purposes only. Please do not use in production code."

http://search.cpan.org/~pjf/Proc-UID-0.04/UID.pm

The newer Privileges::Drop library, which you link to, dates back only to 2007.

Perl is more mature than Ruby. But perhaps only a few years more mature.
You always can find something cheaper than that! You may want something more expensive for the kids, but for healthy adults you can pretty easy get away with like $300-350 for both -- use sites like ehealthinsurance and others -- they can do comparison for you. Of course, if you have some medical conditions/etc. - that can be an issue, as then the cost of insurance will be sky high.

After all, yes, health insurance IS expensive, but you can find the cheaper options. But well, the same way you can think about your rent, groceries, etc. You have to have them, and you have to pay for that.
The Smalltalk community did it like this:

- Usenet posts about how to write code correctly
(predated blogs)
- Smalltalk images that contained badly factored code
written by junior people, in all the places where
other junior people would look and imitate
- Years after the heyday of Smalltalk, there's now an
automated tool that will find bugs and critique code
for you, but at this point there are very few who
care.
I'm in the employee benefits field up here in Canada. While we're different, I support small businesses and they have the same concerns regarding costs as you would, albeit at a much smaller scale.

Take this knowledge with a grain of salt, given the systems, but one way you could control costs is by looking into a Healthcare Spending Account (HSA) - I believe the US equivalent would be a Health Reimbursement Account (HRA).

This allows you to set a max contribution limit, but it automatically caps your claims to the money in the account. If you paired that with high deductible catastrophic insurance, you may come out ahead. Wiki has a good set of info: http://en.wikipedia.org/wiki/Health_Reimbursement_Arrangemen...

Other than that, I think you are SOL in terms of paying the big bucks. Health Coverage is one area where the US is simply lacking in my opinion, compared to the rest of the world.

Good luck to you. You should definitely contact a local broker or two and have them walk you through the different options. There is a lot of stuff out there that is simply too crazy to understand and is best handled by a pro.
== and != are why Java should have operator overloading. The Java implementation of == for objects is utterly stupid. For objects that have a natural ordering the rest of the comparison operators make sense.

I agree that you should not create nonsensical operators because you can, e.g. '*' for string replication, or '+' for sequence concatenation, although I have been guilty of that one myself.
I second this - this guy definitely shouldn't have gone after Amazon stockholders.
Sun's Open-source Boss Slams App Engine's Java Support
it is a little sick....
It looks very nice, and I could see it being useful.

However, on the front page, I found myself really wanting to click on the words that you have randomly made bold in the text. I don't know why, and it may just be me.

I specifically tried clicking on the word "screening", hoping to get your definition of the word. Screening can mean a lot of things to me. Our screening process contains technical interviewing as well as verifying information that the applicant has on their resume.

I also think you should make your "Product Tour" link far more prominent; or change it so that the main image is clickable and takes you to the tour.
Your Favorite 'Natural' Brands May Not Be What They Seem
the alleged perpetrator is 'weev', one of the people featured in that NY Times article that everybody was talking about awhile back, "The Trolls Among Us."

http://news.ycombinator.com/item?id=263673
Hello World in Adobe Air
I'd probably want to gauge the aliens' true intent first. If it seems to be good, then I'd carefully select their media exposure so that they'd feel guilty for not taking me and my family with them to their advanced corner of the galaxy when they decide our planet isn't worth the effort.... :)
Yes, I started counting the words, thinking there was some misrepresentation of the title, then realized that was not what the title was referring to...
Using a lib can get things done. Sometimes you have to get things done now and have to come back to understanding the problem in depth later.

Debugging through someone else's library is often a great way to do that. (Provided your language/environment's debugging support is good enough.)
Yale's endowment manager made $1.3M.

http://www.nytimes.com/2007/02/18/business/yourmoney/18swens...
Ask YC: Advice for finding part-time work for a start-up?
I recently quit my job and I'm planning on taking some classes over the summer. It would be really nice if during this period I had a non-negative (or at least less negative) cash flow.

Does anyone have advice on how to find potential part time work for a start-up this summer?

Here's a taste of my background:

I attended Wesleyan University, from 2004-2008. In '08 I applied for YCombinator, got an interview, but didn't get accepted. I continued with the project and eventually handed it over to another undergraduate at Wesleyan, but the site hasn't really changed since I handed over ownership. You can check it out here: http://collegeacb.com

After graduating from Wesleyan I have been working for a large heath care software company in Wisconsin. The job was not intellectually stimulating, and the technology we use is outdated, so I'm quitting.

Here are a few things I know that I can do well:
* PHP/MySQL
* Write valid XHTML/CSS markup.
* Decent sense of design (check out my portfolio here - http://orionstudiomadison.com).
* C/C++ (wrote my thesis in C++).

Some things where I'm more fuzzy, but will be expanding my knowledge over the summer:
* JavaScript/JavaScript libraries (mootools)
* Qt C++ UI framework
* PHP MCV framework (CakePHP, Zend or CodeIgniter)
* Maybe Ruby
* Joomla

I'm living in Madison, WI so unfortunately any places outside of the area I would have to telecommute. Are there any places out there that would consider employing me part time or do you think I should just work on some of my own ideas while I'm taking classes?

Any advice is greatly appreciated.
Why iPhone succeeded getting developers on the platform where other failed
Is the complexity of the *nix IDs completely warranted or can it be mostly attributed to historical precedents? Would there be a way to significantly simplify it without really reducing flexibility (I'm not necessarily looking for a backwards-compatible way)?
I don't see how Haskell typeclass methods are any different from C++ overloaded functions in this regard. In both languages you refer to a concrete function by its signature rather than its name. Eg in Haskell you'd have "(+) :: Int -> Int -> Int" or "(+) :: Float -> Float -> Float". You have this additional way to refer to the abstract version, "Num a => (+) :: a -> a -> a" but I don't see how that helps in debugging, other than to simultaneously set breakpoints on all the concrete functions which constitute the abstract method. Also C++0x concepts bring these two frameworks closer together.

On the larger issue of free-for-all overloading I mostly agree with you: it causes unnecessary confusion. I'm comfortable with it and like it in my own personal code but I could see how you would want to avoid it in larger projects.
There is no good solution. The American health care system is unfortunately presently designed to work against entrepreneurs and small business owners. In most states including California, you must have at least two full-time employees to qualify for group health benefits.

http://www.aarongreenspan.com/essays/index.html?id=11
Latest Facebook prank reveals perils of crowdsourcing
Much of personality decided at birth, say scientists
True or not the real fascinating thing was the fallout, not the catastrophe itself. Watching the #amazonfail twitter real-time search results was incredible last night. Every few seconds there would be dozens of tweets covering it, and as I watched I could see how the story was progressing. Initially there was outrage, then the reaction from Amazon that it was a glitch created the #glitchmyass hash, and then there were links to alternative listing areas for the de-listed books. It was impressive to see how rapidly this evolved, on a holiday no less.
Before I graduated college I got a year of health insurance under a student plan that keeps working after I graduated. I graduated in December and it runs out in ~August. So I'll be in the same boat soon enough..
My favorite use of operator overloading is /= in boost::filesystem. You can append a path to a path by doing this:

mypath /= "home";
mypath /= "mystuff";
Not overspending out of your bankroll to take a wager, +EV or not, is pretty important. You probably wanna stick pretty near to (or beneath) the Kelly Criterion (http://en.wikipedia.org/wiki/Kelly_criterion). In the case of Aaron's game, you should only be willing to put down $9000 for that game if you have on the order of $8.9 million to gamble with.
When I sold my company I had to break my family apart for health insurance. My children are in the state subsidized high risk pool and I was able to find one company that would take my wife and myself without the children.
This explanation is far more plausible than the idea Amazon suddenly got all squishy about showing certain titles.

Amazon has generally followed the tradition of booksellers and libraries in the free world, erring on the side of inclusion, with regard to controversial topics. Given that most of the 'excluded' books were hardly controversial at all -- even anti-gay activists rarely expect major retail chains to drop gay-themed works -- a 'glitch' or hack/prank was always more likely than an intentional Amazon decision.
"negative to positive" - those are your words.

If utility dictates that I should not risk $10,000 on a 99% chance of losing it all, it is unlikely that I have the bankroll to play the game as many times as would be required to overcome my risk of losing everything. And by playing multiple times, I have introduced a scenario with significant probability of losing much more than $10,000, which is obviously catastrophic if losing $10,000 means so much to me.

The utility is certainly different, but I wouldn't necessarily claim it is better. It could in fact be worse, but I haven't studied it enough to assert either.
How do you make games/puzzles that don't make most people feel stupid?
If you can somehow build a game/puzzle that doesn't make most people feel stupid, then I suspect it would sell quite a lot more.

Static difficulty levels don't help, since people would feel stupid if they have to resort to the easier levels.

Dynamic difficulty levels that adjust to your play are easy to game by playing poorly intentionally and then improving your play.

Friend high score rankings can help, but even in a small group, a significant fraction may feel stupid. Also, many people may not have enough friends who want to play the same game/puzzle.

Having no goals (e.g., the Sims) may not make people feel stupid, but you then lose much of the reason people keep playing -- the challenge of achieving goals.

Any ideas?
Targeting a group like this makes it more believable. I mean, if Amazon was banning books about 'successful entrepreneurs', most people would have thought it was a bug in the site, not malicious intent.
Charge more so you don't have to make it up on volume.
Why do people do that?! Seriously, why?
iPhone Applications For Killing Time
The Facebook app seems to use this method to display Post/Cancel buttons in a view above the keyboard when leaving comments
Cross my fingers and hope I don't get sick. I do try to stay in shape(workout every day 1-1.5 hours) and eat healthy. But I just can't justify paying for health insurance at this point.
I do that because I write a lot of JavaScript and semicolon insertion will mess you up if you don't make a habit of putting the opening brace on the end of the line. I suppose I could have two different styles but that sounds like an even worse option.
Why Warren Buffett is investing in Electric Car Company BYD
Imagine a Clif bar the size of your fist. Even if you vary the taste from bar to bar (I'm not sure how you'd vary the consistency meaningfully), wouldn't you get sick of eating such large globs of undifferentiated foodstuff?
I note for the record that your comment is much better than the original article.

The various private monopolies that control our telco infrastructure are a big problem. We pay a lot of money for unreliable and substandard service.
Exactly -- for JS sytle see Crockford, who explains these in detail: http://javascript.crockford.com/code.html
I have no idea who started it but it's whacked.

You don't know when you see one line indented if it is a line continuation or conditional logic (or both) And god help you if you accidentally delete one of those opening braces -- it's impossible to spot sometimes unless you look closely.
There are a lot of ways around these laws - a broker should be able to help out here.
Another way to look at this: if you're typing "setreuid" into your code, you're doing it wrong. Most networked Ruby programs don't need to run with superuser creds in the first place. Factor the need out of your code.

The threat model in this post is a bit dated, too. The EUID is insecure if (paraphrase) "you can execute arbitrary code in the process, because you could just execute setuid()". That's true, but it neglects the fact that if I can run arbitrary code in your process, you're fucked anyways:

* Localhost nobody->root is a speed bump on most Linux deployments.

* If your app works as "nobody", so does an attacker with "nobody" creds.

* "Nobody" has network access, can talk directly to your database, and to every insecure box in your data center.
One possibility is giving people a way to direct their emotions. For example, particularly hard problems could be delivered by a certain character, thereby redirecting the associations players have with the difficulty of the problem from the game itself to the character. The player would think upon seeing the character "Geez, not this jerk again."
Living in Massachusetts, where you can buy group health insurance through the state, really helps.
OP writes: "Of course, there are more operators that can be overloaded, such as * or /, but I find that even strong advocates of operator overloading quickly run short of arguments when trying to justify why one would even want to overload them outside of specific algebras."

Isn't that like saying "Why would you ever want a red light outside of an intersection"? I wouldn't, but that doesn't mean I want to do without red lights.

Specific algebras (if by that he means matrices, quantities that carry error quantities with them etc) are powerful and elegant ways of addressing problems and are extremely suited to operator overloading (eg. see the Perl Data Language).

Personally I have never seen + overloaded without the rest of the arithmetic operators being overloaded too, so my experience is sufficiently different that may be entirely missing the point.
"I claim that many atheists if shown incontrovertible proof that God exists would rearrange their entire belief system simply to preserve their non-rational privileged belief that God does not exist and there is nothing after death."

Maybe, but they would be hypocrites for doing so--most atheists will tell you they don't believe in God because there's no evidence for God, whereas most people of faith don't care about evidence at all. That's what I meant by "People of faith can be better empiricists than the demands of faith allow them to be, just as empiricists can be more dogmatic than the demands of empiricism allow them to be."
Hey everyone - unfortunately we had an important meeting scheduled right over this time today so we're going to have to cancel this. I don't know if we'll be able to reschedule but feel free to email me with questions (email in HN profile)!
For a good use of operator overloading, check out Boost.Spirit, which implements EBNF grammars directly in C++: http://spirit.sourceforge.net/

An example, from the user's guide:

struct calculator : public grammar<calculator> {
template <typename ScannerT>
struct definition {
definition(calculator const& self)
{
group = '(' >> expression >> ')';
factor = integer | group;
term = factor >> *(('*' >> factor) | ('/' >> factor));
expression = term >> *(('+' >> term) | ('-' >> term));
}

rule<ScannerT> expression, term, factor, group;

rule<ScannerT> const& start() const
{
return expression;
}
};
};

This is nowhere near as concise as it would be in, say, OCaml, but if you're already using C++, it's useful.
The game needs to operate at multiple levels of understanding. Fighting games are pick-up-and-play, but there are combos for advanced players. You also learn how to effectively block and switch up your attacks. So make your basic game with simple goals but allow for extra strategies that take longer to understand.
Ha.ckers.org web application security lab
The Zune HD: Microsoft's last chance for a piece of the portable media player pie?
The subject of the article is certainly interesting, and the article is well reported. Let's go down the checklist of issues in interpreting scientific research by Peter Norvig

http://norvig.com/experiment-design.html

to see how many issues need to be checked as other researchers attempt to replicate this finding.
EcmaScript Edition 5, formerly known as 3.1: Getting a new JavaScript
This is one of the purported three questions that Larry Summers was asked in his D.E. Shaw interview:

http://news.ycombinator.com/item?id=549998
I can't help with the family situation, but have you considered "catastrophic" insurance through a professional group like the IEEE or ACM?

They have plans as low as $90/quarter that have a $5k deductible. Not good if you come down with frequent colds, coughs, flu, etc. It is good if you're in a car accident and fracture your leg in 2-3 places. Or slip on ice and hit your head, etc.
Yes and no.

You're correct in that most CEOs aren't sending out resume "cold calls" or answering ads. However, even when you are suggested for a job via your professional network, the first step is going to be the company wanting to see some sort of career history.

Unless you are going to be hired by people for whom you have worked before (or you are a "name" (i.e. Steve Jobs)), there are some formalities that are usually part of the deal.
Building plans become immersive with Visibuild
The problem is not so much of user IDs, but rather how UNIX implements security. "root" can do privileged things, everyone else can't. For example, only the root user can listen on port 80. These rules are hard-coded in the depths of the OS, meaning you have to work around them.

The problem is that you don't want your process-that-listens-on-port-80 to have all the other permissions that "root" does. So you have to drop your privileges after binding port 80, resulting in the complexity of effective and real UIDs (and GIDs).

The solution is fine-grained access control. You don't want to say "run this app as nobody", you want to say "let this app connect to the MySQL server, write to /tmp/my-app, and load shared library foo". Could you implement a system like this? Yes. (SELinux is a start.)

But really, it is time for UNIX to die. "Worse is better" is getting old, and UNIX can't be fixed. Someone needs to implement a real OS (and provide UNIX compatibility so users can easily migrate).
I've thought of this before and here is what I came up with. Each ebook purchased should be unique. This does not have to be a manual process. You should take the transaction ID of the ebook purchase, use it to generate a steganographic image, and patch that somewhere into your PDF file. A good way to do this might be to use Least Significant Bit encryption. Directly quoted from Wikipedia:

>>>For example: a 24-bit bitmap will have 8 bits representing each of the three color values (red, green, and blue) at each pixel. If we consider just the blue there will be 28 different values of blue. The difference between 11111111 and 11111110 in the value for blue intensity is likely to be undetectable by the human eye. Therefore, the least significant bit can be used (more or less undetectably) for something else other than color information. If we do it with the green and the red as well we can get one letter of ASCII text for every three pixels

Now, there are two main problems here, as I see:

1. The text can still be scraped from the ebook and redistributed as a .doc file. For this reason, you may also want to include some text steganography (e.g., draw some ASCII art with varying characters; change the order of people you thank on the "dedication" page).

2. The pirate-distributor could insert pixel noise randomly all over the file. Then, your trans-id information encrypted in the LSB-image would be lost. In my opinion, however, this is unlikely, because the security I've described is not (at least typically) used in practice (with eBooks, as far as I know).

These aren't preventative measures [1]. But if something does end up circulating on the net, you have a unique ID and can then probably sue their parents. Be sure to explicitly forbid them from circulating the PDF/consent to being sued if they do/what have you, in the terms of service.

[1] Unless you explain that each ebook is uniquely secured, which may prove something of a deterrent; unfortunately, one measure of security is to not let people know that the property is secured in the first place. This may make the steganography more vulnerable to attack.