skysight-inc/HackerNews huggingface dataset:
Oh, come on. I agree that "play dates" (a consequence of suburbia, where the Calvin and Hobbes childhood is impossible because space is cut up by 45-mph roads) and helicopter parents and $35,000-per-year-fucking-preschools are a sign of something sick in our society. No question there. But wanting to leave work after a 9-hour day to be available to his children is not "organizing [his] life around [his] children". If you have kids, they become a major part of your life.

This doesn't mean he's forcing his presence on his children for three hours per day. It means that if his daughter needs him for help on homework or his wife wants some time to relax, he's available.

The problem in many workplaces is that results are difficult to measure while sacrifice and pain are obvious. Most teams at most companies are cemented together by the loyalty and camaraderie associated with shared misery, and a person who goes home at 5:00 (even if he's been working since 6:30 am) is cut out of that and finds himself pushed into the "out crowd". It's an extremely dysfunctional arrangement (see: investment banking, where the actual workload is only 40-50 hours per week but in a dysfunctional arrangement that produces 80+ hours of in-office time) but it's also very common.

People, in general, are terrible at measuring others' productivity and contribution but have an intuitive knack (or think they do) for emotional currents of loyalty and sacrifice. The problem in most work environments is that the latter is what actually drives reputations, social fluidity, and often decisions about whom to promote and (if things get bad) whom to let go.
Doesn't OpenVZ run without swap?

Never mind that you can run out of swap, too…
No, I pretty much just recoiled in horror immediately.

Even if I had to avoid .Clear(), there are immediately-obvious, better ways.

while ( !thing.Empty() )
thing.Remove( 0 );

In fact, the code isn't just bad; it's risky. What if someone changes "int" to "uint"? It wouldn't even infinite loop / crash... It would remove exactly one element!
FPGA-Based Retrocomputing and the original Alpha PC
The iPad is computer-as-appliance.
Celebrated Wildlife Photographer Exposed as Fraud in Sweden
I'm reminded of a story about trolls back in the bbs/early internet days creating zip files of several gigs worth of zeroes or other trivially compressible data.

They could then upload a very small payload, and DoS the server through filling it's disk when it tried to decompress it all (when disks were measured in 10s of MB, if you were rich).

Pretty much the opposite of this trick.
The very fact that you can do a doctorate in 'divinty' or theology is a joke...
Windows on the Post PC World
> Breaking everything down into composable components and forcing the user to compose even simple, everyday procedures before being able to use them? How terribly difficult and exclusive to techies only!

Who said anything about "forcing" users? There's nothing wrong with exposing _both_ a set of composable components (for those who know how to use them, and perhaps hidden by default) _and_ a set of pre-composed apps (for the majority of users). Sure, it's not easy from a design standpoint, but where there is a will, there will be a way. Forcing users to rely exclusively on pre-composed apps is not the only alternative.
Most do say exactly that, then we have a chat about what they might do instead. Many immediately say, "um, is there a Clear or RemoveAll method?!" It's all over within a few minutes, we move on. The bigger picture is always going to trump the details, until the day the details have piled up and can no longer be ignored. It's the great big technical-debt elephant in the room.
How bad is the relationship already?

Personally, I wouldn't burn a bridge with a client who could either return later or pass along some word of mouth, for $1200. If the relationship is already spoiled to the point that you don't think either of those things might happen, I would just explain to the customer that you can't afford to do any more work without payment, and then walk away. Don't retaliate/do additional work to turn off the site or whatever, just literally walk away from it as is.

If you still have a decent relationship, I would just explain to them that you have $1200 into the project, and you understand where he is coming from, but would really appreciate it if he could do better by you. If he returns with a negative, say thanks, and please pass along any other opportunities, give him whatever access he needs and walk away.

Retaliating in any way isn't going to get you paid, it just will spoil your reputation, which is worth alot more than $1200. Even if you are right and he is wrong, if he happens to be at a bar with someone and that person mentions they are having you do some work for them, whether he responds with "Oh yeah, he is a decent guy" or "Oh man, did he burn me once" could make a difference.

Life lesson the hard way.
Moscow is one of, if not the most expensive cities in Europe.
"How is humanity better off by investment banking?"

Their clients think they provide an economically useful function - otherwise they wouldn't use them. Do businesses really need more justification to exist than that?

Also:

- The bank wasn't directly interacting with the airline, they were buying bonds from other organisations who were holding them

- Lots of people risk other peoples money - fund managers, pension companies, VCs, hedge funds etc. - with varying degrees of risk and exposure by the people actually doing the investing.
Lion's Lair: And the winner is...
Energy Healing
Healing Art Forms, an online distant healing center, founded by Nicole Lanning, offers multiple forms of energy healing, spiritual healing, Reiki healing therapy, and holistic healing with healing hands techniques. Healing Art Forms sessions are all completed distantly, so you can be in the comfort of your own home and located anywhere within the world to experience these life-changing sessions.
For more information please visit:- http://www.healingartforms.com/
Yandex has their own fork of Chromium: http://chrome.yandex.ru/

It's called "Хром" (Chrome).

Edit: this link is also the first one* if you search for "chrome" (or "хром") on Yandex: http://yandex.ru/yandsearch?text=chrome&lr=13461

Note that Yandex is the market leader.

*) Actually, it's zeroth (an ad that looks like search result) and 6th (the actual result).
I would be hesitant to attribute this to malice; it easily could be a honest mistake by an inexperienced employee.
A Real Google & ClickBank Loophole : Epic Commissions Review
The product “Epic Commissions” is a killer one! It is a new Application & System that has been developed by Richard Newton.
Show HN: HN Notify - Email reply notifications for comments and posts.
I expected that would be the case, just wanted to make it obvious. Meta point: Context matters for code as well as interview questions :-)
What Do Small Businesses Do?
If I'd had to resort to iteration for this, I would have included a prominent, bitchy comment/complaint pointing out how stupid it was that there was no Clear() call or that the Clear() call wouldn't work in this case, etc.

Modifying a loop variable inside a for() loop is generally a very bad idea, that's a red flag for me.
HP did a similar thing. If I remember correctly, people who purchased between "now" and "then" got a refund for the rebate... whether RIM do that is another matter.
Raising the Bar (on pie charts)
As soon as I saw that snippet I could see what's wrong.

In C# / .Net you can't remove an element from an enumerator while you're enumerating through it. You can remove the last element however, as it's the final loop the enumerator isn't used again so it won't throw an error. The original developer probably tried to remove it forward only first, encountered an error and wrote the code to loop through it backwards, using the random tweaking technique.

What's rather depressing is that a lot of developers I've encountered use the random tweaking methodology, instead of figuring out what's really happening.
I agree. The point of the original statement was just to show that you should be compiling to javascript, not writing javascript. This article is technically right, the original comparison isn't perfect, but it is really splitting it fine.
Sounds like Splunk, to me.
What's wrong with the code, then, is that it was written under a little too much pressure for the developer to think clearly.

for ( int i=0 ; i < this.MyControl.TabPages.Count ; )
{
this.MyControl.TabPages.Remove ( this.MyControl.TabPages[i] );
}
Outsourcing artwork through 99designs.com
If the website is live, shut it off until they pay you. This has worked for me 8/10 times (the other two times, they just disappear forever, and you weren't going to get that money anyway). If you've ever been broke or strapped for cash, you know that you pay the bills you have to pay first - the ones with consequences - and pay the others last. This is what they're doing. If you want to get paid, you've got to be the mortgage and not the Netflix bill.
Greetz kortingscode
I found this funny: http://www.eschatonblog.com/2011/09/unauthorized_16.html

"I think even I could code the little trading computer with something like "if bet>$1 trillion, deny authorization." Or, ok, these things are complicated, how about if "Probability of loss>$1 trillion is >.00001 then deny authorization."
The title scared me. My first thought was that they were going to charge per compile.
This paragraph encapsulates it pretty nicely:

"In the financial press you're called a "rogue trader" if you're some overperspired 28 year-old newbie who bypasses internal audits and quality control to make a disastrous trade that could sink the company. But if you're a well-groomed 60 year-old CEO who uses his authority to ignore quality control and internal audits in order to make disastrous trades that could sink the company, you get a bailout, a bonus, and heroic treatment in an Andrew Ross Sorkin book."
"Mommy, Why is there a Server in the House?"
The NASA pencil myth
That would take forever, at least on my system, as I don't really have a lot of entropy available. Just for kicks I have started this when I began writing this reply. And now I have the huge amount of 200 Byte in this test file. So thats about 10 bytes per second.

But if you take /dev/urandom you can get quite a bit more. On this system it is about 7Mbyte/s.
Clear First, Clever Second — Wording your UI  (with slidedeck)
I'll put this a different way: this is an editorial piece. As such, it's a nice one. I liked it. But it's not a news article, which was what I was expecting.

You were expecting a news article from something with a title ending in the words "My Ass"?
A database to help the military share its airwaves — Broadband News and Analysis
"while organized religions do have influence, that doesn't imply that the purpose of organized religion is influence."

Really? I call bullshit. The ENTIRE longevity and history of religion is propped up by its ability to influence others. If I couldn't convince you that my religion was right or someone else's religion was wrong is the primary (if not entire) reason a particular religion continues to exist.

(EDIT: I'm happy to entertain reasoning to the contrary rather than your downvotes.)
No. It doesn't even appear on http://google-ctemplate.googlecode.com/svn/trunk/doc/referen...
What is their purpose?
"Let’s pretend for a moment that we are a harassed contract programmer working late, under intense pressure to deliver working code before we can go home."

I would hope that in those kinds of situations I would remember to add a FIXME comment so that I would come back in saner times and make it nice.
Fighting against malicious template authors is a losing battle I don't want to fight. I simply won't hire or work with somebody I consider malicious, and don't trust the general public to write templates for my system.

Zope tried that with "safe python" and TAL/TALES/METAL, and it was an utter abortion.
I didn't know that.

Given that the "No-search-choice" code is in Chromium's codebase (as opposed to Chrome's), this might mean that neither Google nor Yandex want that change.

From what I saw, in Russia, Yandex has more reach to distribute its own fork than Google. So leaving the choice of the search engine isn't beneficial to any of the two.

It could be more of an agreement between Google and Yandex than a Google offensive.
Basically you can just compile and execute arbitrary strings of C# code at runtime. Here's a small tutorial on doing something with Mono's implementation: http://weblogs.asp.net/jgalloway/archive/2011/05/26/dynamic-...
You should put up a portfolio of the stuff you've done and apply to a start-up that's already funded for the quickest route to what you want.

Any other path, including funding your own start-up is possible, but harder because you are now out of a job so your runway is very limited.

Every now and then YC funded companies will list jobs, right now on the http://news.ycombinator.com/jobs page there are 7 jobs listed, some of which might fit you well.
Isn't clear() itself a "while (not empty) delete element"?
The devil is in the details, specifically in working out the probability of loss. The whole point is to know that a bit better than the other guy. See also: putting your trust in AAA rated mortgage-backed securities.
Really been enjoying the HN community and wanted to contribute this back to help keep people engaged in the conversations they are involved in even as those comments and replies are pushed down the page.

For anyone interested, this is written with:

- Play! Framework 1.2.3
- MongoDB 1.8.3
- jQuery (minor, I am not a UI guy)

When you signup, it more or less adds a flag in the DB that you want emails when someone replies to you (whether it is a story reply or a comment reply) and when you unsubscribe it removes that flag. No stray account info or history is kept.

Thanks goes out to the HN community for a hell of a lot of great information and I hope you guys find this handy.
I agree. I stopped checking about 2 weeks ago because there were only about 3 people that ever posted anything. I like the concept, but it needs to hit critical mass and I'm wondering if the hype they received is going to be the thing that ultimately kills them.
CPU vs. GPGPU
Why not just:

while (this.MyControl.TabPages.Count > 0)
{
this.MyControl.TabPages.Remove ( 0 );
}
Especially when you're re-calculating the count on each iteration :) Inefficient and incorrect. Double whammy. While not as efficient as while(--), the fix get's the point across:

for (int i=0,j=this.MyControl.TabPages.Count; i < j; i++) {
this.MyControl.TabPages.Remove(this.MyControl.TabPages[i]);
}
THIS. And in fact because of this, religions actively cause poverty and hardship.
Though you have to be careful with that, because the obvious code for removing from a collection in reverse:

for(i = list.size; i >= 0; i--)
list.removeAt(i);

Is itself a schlemiel algorithm on any singly-linked list...
>>> list(range(13)[::-1]) == list(xrange(12, -1, -1))
True
Surprising? I wouldn't say that; C# is used in lots of non-Microsoft places these days: http://www.fastchicken.co.nz/2011/09/15/c-its-just-not-porta...
You're missing the point.

1) Money exists to serve humans. It doesn't exist for money's sake. The end goal is to help people. The airline helped people get from A to B. Dropbox helps people send files.

2) The people holding the bonds are still gamblers. Your example consists entirely of gamblers!
Windows 8: Official pre-release version now available for download.
Every logo designer has played with diamonds and triangles at some point, creating variations of these same shapes.
***Valotte-Too Late for Good-Byes***
Maybe, maybe not - depends on the container.

But thats not the point - while (not empty) is not iterating over the loop, so there is no danger of corrupting the iterator.
No Authors Have Been Harmed in the Making of This Library
As my father used to put it "No-one ever died thinking 'I wish I'd spent more time at the office'".
Very unlikely. There class implementation can almost certainly do it with an O-1 operation, like "self._internal_count = 0".
It might be. It also might be a "new List<TabPage>" or even some faster, internal construct. I don't think .NET makes a promise here, though I could be wrong.
About the McConnell quote: "Inefficient programmers tend to experiment randomly until they find a combination that seems to work." The essence of this quote is being passed around quite often these days.

When you first start programming, you generally have no idea what the hell you are doing. You learn all these strange, abstract concepts best, by experimenting.

It's easy to dismiss people "jiggling things around until they work", as lesser, more inefficient or just plain bad programmers. Just remember that you were once like that too.

I think there should be more patience among the experienced, for the programmers who are still learning the basics.
He got underpaid and bad boss right, but more likely this could be due to frustation. I have seen a coder who uses many different ways to code simple things, for example in a code he used (a and b), (a+b>=2), (1-a*b), and several other ways to do the same thing.
Reminds me of the ZUI (zooming user interface) concept. I think the prototype is worth exploring further, maybe borrowing on some of the ZUI research to avoid any pitfalls they've already experienced.

http://en.wikipedia.org/wiki/Zooming_user_interface
Actually, that's not the problem :)

The can't-modify-a-collection-while-enumerating-it issue only comes into play if you're actually using an enumerator (either directly, or as part of a foreach loop) - the code in the article uses a plain for loop along with indexing into the collection, and wouldn't run into the problem.

Rather, the primary "issue" is that without that "i--" at the end it only removes half the elements - after removing an element, all the following elements shift back one index, and so the very next element never gets removed.
Java Concurrency Tutorial – Thread Pools
Handling user-submitted image tags is (in my opinion) way outside the scope of the framework. Which tags and attributes to whitelist, or whether to use html markup at all compared to a different language like markdown, is very project dependent. If you have to, just install BeautifulSoup or any of the other great libraries that have cropped up in the last year or so to handle the sanitizing.

Django uses sha for password hashes because until recently there hasn't been a better library to ship with natively across all the platforms that Django supports. If you know you'll only be working on *nix, django-bcrypt can enhance the default password hashing behavior. As other commenters have noted, they're moving to PBKDF2 in the near future as a better included hashing library.

CSRF is on by default. If you need secure cookies and HSTS headers, there's a package that provides them called django-secure, which last I heard is being rolled into Django proper in the near future.

Django prevents path traversal and anything else you can imagine that might be nasty in a URL. The auto slug generation included.

So how exactly is Django not scure again? Where are the "gaping security holes"? Or do you have no idea what you're talking about.
Java Concurrency Tutorial – Reentrant Locks
Won't this.MyControl.TabPages[i] be invalid once i becomes greater than what this.MyControl.TabPages.Count now is? Since the "always remove element 0" code from the article works, I expect your code won't work because when you remove an element form the list, all subsequent elements now have an index one less than before, so after j/2 elements, you'll overrun the list.
I read informative articles on HN everyday that have "ass" "fuck" "shit" or something like that in them. It's a very popular pattern for article titles. I guess we like it?

Any more I just ignore that kind of language -- I don't think you can tell anything from it.

What was I expecting? A logical teardown of the facts of the case, with a new conclusion the MSM had missed. Perhaps a smoking gun. I love irreverent authors who poke through stuff we already know and find new stuff. People who hack news stories. I've seen quite a few articles with profanity in the title where I came away going "wow! Very cool analysis"

This was not one of them.
It's not just investment bankers that have an appetite for this. It's a human problem - greed, and short-term thinking. Given the right environment and rules, and most humans would act the same way. The key is to prevent that environment from flourishing. Don't give them so much leverage. If you got $100 million in the bank, don't freaking let them trade $1 billion. Don't let them loan $1 billion. If I ask for $100 million back today, you better give it back TODAY.. not tomorrow.. not next week.. NOW.

The analogy in the internet world is SEO, and gaming the search engines.
It seems that I can pretend to be someone else and get notified every time they get replied to. You could offer protection against that by asking that a long, semi-random string be placed in the profile of the person registering.

I've registered, and I'll be watching with interest to see if it changes my relationship with the site.
This is exactly it.

You don't prioritise your life around things that aren't relevant to you - to have your number 1 priority as kids when you don't have kids clearly makes no sense.

It's like suggesting that someone who gets a new hobby had an empty life before that hobby. Nope, they just filled it with different things. When something they wanted to do more came along, everything else got shuffled about a bit.
F5 Friday: How Can I Manage Thee? Let me count the ways....
They seem to be doing a dandy of a job without Anonymous.
Cool I just signed up. Thanks for creating this. Someone reply here so I can test it :)
Only if you ignore dividends.
do you think Google would exist, and they would have been able to raise money for a massive server farm, if initial investors didn't know they would be able to IPO it if it was successful?

do you think the market for YC startups would be hot if there was no public stock market for companies to raise the money to buy them?
Entrepreneur builds solar bottle lights to help his impoverished community
http://en.wikipedia.org/wiki/Hanlons_razor
I would expand on point #4 about type constructors. Datatypes are so easy to define that it's easy to create intermediate representations (IRs) that enforce static properties of your language. In Manticore, we have four IRs we move through during the compilation process, each of which is easier for certain types of optimizations or follows a set of constraints:

http://manticore-wiki.cs.uchicago.edu/index.php/Image:Mantic...

For example, in the AST representation, you can still have anything on the right hand side of an "=". Once you get to BOM, it has been normalized, so every subexpression has a unique variable attached to it. So, "val x = 1+2y" is now "val x'=2y" and "val x=1+x'". This transformation makes identifying common subexpressions trivial.

In a compiler written in C, because creating a new set of IR types involves either copying header files or horrible template magic that terribly ties all portions of the compiler together (I've seen people try!), most people end up just keeping one IR and doing passes over it. Some variables are valid at some stages; some are not.

A good example is the very nice V8 javascript compiler. I was playing around with it a few months ago, and just understanding what invariants were valid after which phase was challenging. And that doesn't even cover dealing with an endless series of conflicting changes because every time somebody changed anything it involved changes to core structures.
The problem is that .Count decrements every time you .Remove(). Either change [i] to [0] in your code, or initialize i with .Count-1 and decrement in the loop.