skysight-inc/HackerNews huggingface dataset:
1099 will end the world in 2012
Users can flag a post. If enough users flag a post, the post can be auto-killed. Something about what you posted made several people think "This is spam."
The article may be a bit on the drastic side, but I do agree with the conclusion that libraries should not treat everyone like idiots. Keep the users from shooting themselves in the foot, yes, but If someone is extending a class in a library, then they have the burden of doing it right. No developer can predict everything people will want to do with his/her library.
Addition and bitshifting are easier to implement in hardware than multiplication is, with less complicated circuits that can return results in fewer clock cycles (though the difference is much less than it used to be).
While it is certainly true that professional money managers don't beat the market on average, this does not imply that they destroy value.

Professional money managers and speculators in general, at least in principle, more efficiently allocate capital as a result of their speculative activities. This causes overall returns to increase. In a world without money managers/other speculators, market returns would be lower overall.

The simple model: in a world without money managers/speculators, overall returns might be 2%. In a world with 1 speculator, returns might be 2.1% and that speculator might achieve returns of 4%. In a world with many speculators, they might all achieve returns of 4%, and none of them would be beating the market. They are creating value, however.

(Another reason they don't beat the market is that many of them are not trying to. The manager of my Vanguard Target Retirement 2050 fund is currently trying to beat the market. In 2040 his goal will be to minimize risk.)
Very good, thoughtful comments.

1. Agreed. There are only certain types of people who can do this. Most of the people who did this with us already had a full time job and were working with us weekends/nights only. So this was not an issue.

2. I think this is true with regular full time employees over the life of the company too. So don't think that applies just here. It is important as the company founder to educate people in general about what they are signing up for, future dilution etc. etc.

3. I think this is making it more complex then it has to be. There is not a large number of employees or other large debts associated with a <5 person internet startup.

4. They get paid whatever they are owed when the company raises money.
That's great, I'm genuinely happy for you.

This may very well be my own failing. I learn the most when either I sit down, alone, and struggle with a book, programming task, math problem, etc. or when I talk through something in person with someone else. Sometimes the links here occasion such engagement, but I've rarely found the discussion to.
Not sure why you got downvoted for this comment. I've upvoted you to bring you back to neutral. Seems weird.
Types Of Debt Consolidation Loans For Payday Loan Debt
That's strange. It works on our side (tested from multiple devices). We'll work on fixing it.

Perhaps you could check out our landing page/video/marcomm materials for the time being. We appreciate any and all feedback because we've been pretty starved of it. Thanks a lot!
Are you trying to say that for Embedded means the same as Standard? ^_^
Nice post. This is how the Nullstone compiler optimization benchmark suite is organized: two functionally equivalent versions of a C program, one cleaner/suboptimal, the other optimized by hand. The goal is to have the generated code perform the same in either case.
Noted with thanks and edited.
Operating A Data Center at the South Pole
Web-crawling computers will soon be calling the shots in science
OO seems to be the proverbial elephant: everyone touches a different aspect of it, and comes away with a different understanding.

Unlike the blog author, I'm not sure the most important part of it is data hiding.

Alan Kay said in 2003: "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late binding of all things."

In terms of the last part of that definition (the late binding aspect), I saw Kay give a demo where he described a framework wherein any method can act on any object.

I.e., he rejected the C++ style idea that a method is bound to a specific class, and can only act on that class.

This is an idea from Smalltalk, and you can also do it easily in Lisp.

BTW, if this seems unnatural, think about the Visitor pattern, which allows you to do exactly this, within the framework of C++ style class definitions.
a) There are a bunch of open source tools that are not well supported on windows. So somewhere along the way you might run into software that you need but doesnt work out of the box on windows.
b) Linux distros have package managers which make the task of setting up development libraries a breeze. On windows youre still stuck installing each library by hand.
c) If what youre doing is very well defined and all the technical pieces have windows installers then theres not much of an advantage moving to linux.
d) If youre using the windows .net stack then again youre probably better off sticking with windows.
Top Ten Red Flags To Avoid With Investors
I couldn't disagree more with this. I use what is IMO the gold standard for IDEs now - IntelliJ. One of its most undersold features is online static analysis. I've spent a lot of time working with Java and I actually study the language to a pretty deep level, but it still catches many, many bugs from stupid (== instead of equals) to very subtle (errors in initialisation order in the presence of overloading, synchronisation issues etc). I've actually learnt a lot about the language by using the tool.

I also can't speak highly enough about quickfixes. The ide presents me with a problem, and then makes it very easy to fix without having to think about all the crappy mechanics of doing so. If it's a common issue I can fix it all through my file, or all through my project. What is really amazing about this (as well as all the syntax-aware editing functionality) is that once you're good at it, you're no longer editing text, you're directly manipulating the AST at a very semantic level - and not just of a single file, but of your whole project. At the risk of gushing a little, this raised level of editing really contributes to my joy of programming because I'm actually directly manipulating turning my mental design into code. I would like to humbly suggest that people who say that you only need this functionality with crippled languages really don't know what they're missing out on.

Has this removed my ability to program Java in, say, Textmate or vi? No, although I'd have to re-learn so many basic, low level manipulation tasks that there's no way I could stand it. It doesn't remove my ability to develop using these editors, it removes my desire to.
Thus, Penrose notes, they are true because of their meaning, not because of their syntax relation to an axiomatic system. This reinforces the thesis of Jerrold Katz, that syntactic simples are not semantic simples, and so some truths will depend on semantic contents that cannot be exhaustively expressed as syntax

If this were true, would it mean that there are aspects in physics which are not mere abstractions of math?
I have to say, I haven't seen Matsuya. (I'm also a fan -- had a number of meals in a Matsuya near Asakusa). But you should be able to find donburi pretty easily in any of the big mall food courts. Oddly enough, Yoshinoya doesn't have much of a presence here, either.
I can't say for certain these came from HN, but they most likely did, so here goes:

Gojko Adzic's "TDD as if you meant it" article: http://gojko.net/2009/02/27/thought-provoking-tdd-exercise-a...

William Zinsser's "Writing English as a Second Language": http://www.theamericanscholar.org/writing-english-as-a-secon...

Steve Yegge's "Execution in the Kingdom of Nouns": http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom...

Mencius Moldbug's "Wolfram Alpha and hubristic user interfaces": http://unqualified-reservations.blogspot.com/2009/07/wolfram...
Why Facebook is the next Yahoo
But you can have this: the "created" field is a datetime field, and the "updated" field would be "timestamp". This is far less problematic, in my opinion, than things like requiring a table with exactly one row to do simple selects, or pretending the empty string and null are the same (both of these behaviors are Oracle, by the way, not postgresql).
Cool User File Systems: ArchiveMount
The author seems to misunderstand the open-closed principle, and his first example confuses bug-fixing with API modification. The open-closed principle is designed to promote API stability and reduce errors caused by API contract changes that cascade to its users. A class should expose an interface that allows for such contract changes to be encapsulated in subclasses. This is not a "debunked" or "outdated" idea, especially if you are designing APIs for public consumption.

Then there's a bunch of stuff about properties that seems to go around in a circle...

It seems that his rationale for this rant stems from poor API design by others---where class modification through sub-classing is impossible to achieve because of opaque interfaces. This has nothing to do with people using private variables, and all to do with people not designing proper and extensible interfaces.
I hate to be "meta," but all of the articles submitted from this domain are basically just a rich guy complaining about his level of comfort and service received by those he deems to be beneath his station. I have no idea why they keep getting voted up, but I´d suspect it´s just his friends voting. The content has absolutely nothing to do with Hacker News. I think this domain should be blacklisted.
This doesn't answer your question, but put the name/URL of your startup in your HN profile.
Seems that Intel rebated Dell, rather than give them better pricing off the bat, otherwise they would have had to offer the same pricing to everyone else. By making it a rebate, they avoided this.
This reminds me of the way that, in the late 90s, everyone was calling for Apple to dump Mac OS, switch to commodity hardware, spin off the OS division, or whatever, things that in retrospect would have meant Apple never got to where it is today. I suspect that Android would be a local maximum in Nokia's solution space, missing out on huge wins they could make if they took some radical steps as this article suggests.
Thanks for the tips. You most likely saved me a bunch of headache and I appreciate it.

I'm pretty intrigued by a library that can apparently handle ajax/json updates and content creation. Heh... I thought PHP was only for page generation and had no idea you could purpose it for something like webscraping.

So it should be fun playing with it.

My email's in my profile if you ever want to talk shop.
I found a few problems with the article.

Firstly, right at the end, he says: "Remember, unless you unlucky enough to be using Java or another archaic language with no proper property support, you can always refactor your class to replace a public field with a protected one with a public accessor property if requirements change". Is Java really considered archaic nowadays? C++ and Java probably make up a fairly large portion of programs written today, and this article doesn't address them. Probably should have mentioned that at the top of the article.

Secondly, his example of why the principle of “open for extension but closed for modification” is a not great. He gives an example of a class with a "div" method that is found to contain a bug. Instead of fixing the bug, a "div2" method is added which fixes that bug.

The problem is, that's exactly the approach I would advocate in plenty of situations. When I was in charge of QA for an embedded system, if he'd have come to me with a bug 1 week before a release, I would never have agreed to fix it. In a big enough system, you can never tell what code relies on bugs to work, and would break if that bug was removed. This is a lesson that was hard to teach most of the programmers, but in the end, whether the system actually works or not matters a lot more than whether the code contains any bugs.
You mean, like they're noticing a 'bearish gartley' pattern (in audio) and acting appropriately?

My point was, that although these can be 'indicators', you still require a human mind to determine whether the trade should be made. If it was as simple as matching patterns and trading, anyone would be able to do it.
My knee-jerk, emotional reaction is to say that this is America's corporate culture. Executives don't accept personal responsibility for anything, ever.

And now to the SEC or whomever accepted the M$4 settlement. This is ridiculous. What is the point of pursuing someone if not to end up with the equivalent of a "conviction." How is collecting cash from someone who admits no wrongdoing different from being bribed to find them innocent?

If I were in charge of the SEC, I would put findings of wrongdoing ahead of collecting cash penalties. Money is irrelevant to wealthy individuals. The one thing they cannot afford to spare is time. I would relentlessly pursue them with subpoenas, prosecutions, and the threat of actual jail time in order to force them to admit wrongdoing.

Settlements would involve community service, not money. Michael Dell needs to take some time off his business and read books to children in the library or perhaps help high school students with their math homework.
In a modern CPU, instruction selection is much more complicated than, "Oh, addl (or sll) is faster than umul," and depends on the micro-architecture/pipeline, surrounding code, etc. Addition usually takes one cycle, while multiplication might take several cycles (although, by pipelining, you can generally execute a multiply per cycle per multiplier) But, if all the other adders are full and the result isn't needed for a few cycles, it might be fastest to use the multiplier. (I'm thinking of a statically scheduled pipeline. Things get harder when the CPU does dynamic instruction reordering.)
But that doesn't directly address compatibility. Most people will expect some level of compatibility if the library was revised and having the guts of your interface hanging out isn't going to help.
As with everything there is always multiple factors, one of them being chance, this article (interactive no less) seems to highlight this very well.

I guess the rest of us not in the hospital business can use this to be weary of statistics and data presented to us, even when provided from a reliable source. When gathering our own statistics its often necessary to do that for a prolonged period in order to let the data reveal what and what isn't pure chance.
I also experienced a similar problem. I recently linked to my own blog post about Google's transition away from the motto "don't be evil". Within an hour it recieved 13 upvotes, but also enough flags to get killed. Perhaps partly due to a misquote of CEO Eric Schmidt, which I quickly corrected.
Fair enough, I misunderstood how you imagined barcodes to be implemented, and yes, that invalidates my specific arguments.

I do, however, not agree that it's a superior solution to Oyster cards. First, the Oyster card was introduced in 2003 when even fewer cellphones would have been capable of displaying these barcodes - even then, the Oyster card was immediately available to everybody. That is a major feature - and it's not a small thing that even today all cellphones can't effortlessly do this. Fast mass adoption is a feature.

Also, no matter how easy the implementation, buying a barcode-ticket on your phone and then scanning it is more complicated than simply touching a card. If you have to run to catch a train, you don't want to have to stop and fiddle with your phone, for however short time, to get it to show the relevant barcode.

But that's dwelling over tiny details. My post was a counter-point to your claim that the Oyster card has grave and obvious flaws and was deployed in favour of an obviously better solution. I argue that, even considering that the Oyster card system have problems, those have not been exploited, while enabling the benefits of a pay-as-you-go system.

And just to be clear: I fully expect the Oyster system to be replaced by a system based on NFC once that is viable. That just wasn't in 2003, and it isn't today.
Not wanting to sound like good old days but "Seems weird" is about right , the voting patterns in the last year has been very different.

Relevant comments and topic submissions that you would think were of interest to "Hackers" just don't seem to get upvoted enough and in many cases simply drop out. This could be a sign of the changing demographics.
Code Monkeyism: Actor Myths
I worked for two years as a welfare advisor in one of the poorest towns in the UK. What nobody ever thinks about in this debate is the economic incentives created by our welfare system. In that work, I spoke to numerous young women who were planning on getting pregnant in order to improve their income and get access to better housing.

If you're poor, British and female, having a baby is a good career move. As soon as that child is born, your income effectively doubles. The state pays you more cash benefits, your allowance for rent payments increases significantly and you become eligible for an array of other benefits, starting with a £500 ($770) payment before the birth. You become "in priority need of housing" and therefore gain the legal right to accommodation, jumping the queue for social housing.

Reproducing early may or may not be rational in Darwinian terms, but if you've just left school at sixteen with no qualifications and your community has 20% unemployment, it's certainly economically rational.
Well, I was referring more to linking IBOutlets as opposed to IBActions.

You still have the problem of selecting the object owns the outlet. You may want to connect a text field to an outlet on a view nested down a few levels. You'd have to give both the text field and the view names, which again takes time and effort.

I think Visual Studio's way is superior - ie, from the UI Designer, you can autogenerate and link the action for a button as well as having the option to link an existing action.

I haven't used VS for quite a while. IIRC there is always a user class associated with the UI. This is not the case in Cocoa. It's common for file's owner to be, say, a plain NSWindowController, and there to be no user classes in the nib at all.

It's tempting to think of an "action" in Cocoa as being synonymous with a method. But this isn't the case. When you click a button, it doesn't directly call it's action on its target. The actual process is more complex, and provides a lot of room changing where the action message is sent. This is what makes insane magic that is first responders work.
I'd go further. I think inheritance is the modern day goto. I used to consider myself a bit of a 'framework engineer'. I was wrong. Inheritance creates structures that are difficult for you to refactor and others to understand.

As I moved away from java and settled into the vibe with python, I've abandoned inheritance. I use simple objects, but tend to orient encapsulation around modules, at to do real encapsulation at this higher level (rather than with classes). It's faster to write, easier to read and much easier to refactor.

I like the Kay quotes that dpapathanasiou raises in another comment here. Are there books or other references that seek to teach "message-oriented programming" with mainstream languages like C or Java?

(On the author's main point I disagree. If you're going to do a lot of inheritance you need private variables, otherwise it's easy for descendants to create hard-to-diagnose bugs.)
He uses the word "refactoring" exactly the wrong way.
The Cloud Watch List (July 23rd)
djb_hackernews, what set of tools did you use for your scrapes?
Thanks for your answer.

From the guidelines, I see: "If you think something is spam or offtopic, flag it by going to its page and clicking on the "flag" link. (Not all users will see this; there is a karma threshold.)". Fine, I have no issue with a Karma implementation.

But, I don't think my article was about spamming. I was just announcing the new release of JXTA/JXSE 2.6, an open source P2P project initiated by Sun Microsystems in 2001. This is not different than PostGre announcing a new release (for example). I don't see why it would attract 'negative' Karma.

My issue is that I don't see the flag link. Moreover, there is nothing telling me if I have attracted 'negative karma' at all. If people 'vote' that way, I believe they should assume it and this information should be displayed (if not to inform the poster of spamming).

After all, HN is about providing opinion about posts. I don't see why negatives should not be revealed and accounted for publicly.

Conversely, I can imagine people instrumentalize this 'flag' link to kill a post not in their interest. Far fetched, but possible. There is a gap to 'get away with murder'.

I believe more transparency about negative karma would not hurt HK overall, and would improve overall experience of newcomers.
While I worked at Yahoo someone did an analysis of the employee database and calculated the average number of reportees for each "manager". The numbers came close to suggesting Yahoo was organized as a binary tree.
Do any compilers attempt to take those sorts of concerns into account? It seems like it'd be an interesting experiment, but it breaks some of the nice abstractions--- afaik, strength-reduction is usually done before scheduling, with the only architecture dependency being a table of costs assigned to each operation. Letting scheduling constraints have input on those decisions seems ideal but tricky, unless I'm missing something.
Dr Dobbs - More Numerical Functions for C/C++ Developers
I had no idea Google even had a page for listing all of your books! Now if only there was a way to seamlessly import that data from Amazon that didn't involve hand coding a screen scraper script...
Title is a bit incendiary, what the author really means is this:

Before we go any further, let me make one thing clear: the well thought out use of public properties and hidden fields is good practice as it hides the implementation. What I’m suggesting is that blindly using them in a simple full-mutable record-style (or tuple-style if you prefer) class is bad practice.
Did you ask your friends to vote on it? That generates some obvious patterns. Combine that with your low karma, and it might have looked like spam.
It's impossible even in principle to distinguish users from dealers. Users are constantly selling or giving drugs to each other, whether for a small profit, for mutual convenience, or to be friendly. They can't just introduce new people to their dealers because dealers don't want to meet lots of new people. If you put a bounty on dealers, people who are really just users will constantly be caught up and punished.

That is what happens today. Professional informants are paid to buy drugs and get the seller arrested for dealing. But because it's not that easy to find real dealers, they more often convince other users to sell to them. Someone who doesn't normally deal gets hit with a dealing charge.

As to the matter of videotaping undercover drug cops: this is really nothing to worry about. Drug dealers are not video taping their transactions. Citizen videotaping is something people do when they don't think they are doing anything wrong and they want evidence of possible police wrongdoing.
Copying Y Combinator – WHY and HOW
Symbian S60 and Symbian 3rd gen is the same (or actually 3rd gen is subset of S60); Maemo and MeeGo is the same. That makes it down to two platfoms.

They actually have also S40, but that is for feature phones. I believe that they want to get rid of S40, put S60 on low end and MeeGo on high end phones.