skysight-inc/HackerNews huggingface dataset:
Rant:

I'm afraid I have to side with the author against the "relational set theory purists." I actually don't care much about styles of ORMs, and I don't even care that much about having to write SQL, either. I can do, and have done, both. For me, both work equally well, or rather equally poorly.

I loathe relational databases because, every time I have used one, it has eaten a vast amount of time in making the schema and queries fast enough. Yes, I know what third normal form is, and I start my database designs with it. I know how and when to denormalize to improve join performance. I know how to look through a query plan and create necessary indices. I've even looked through low-level IO statistics to figure out where a slow query wastes time doing unnecessary IO. Guess what: that work sucks. I've used Sybase, considered a "real" RDBMS, and I used MySQL, considered a "crappy" RDBMS. Both have sucked about equally, just in slightly different ways.

I am an application and system-level programmer. I want to be able to tell my app: "store this data for future retrieval." I want the store to be instantaneous. I want the future retrieval to be instantaneous. Period. As a major bonus, I want to be able to distribute the store between multiple machines, but do so as transparently to my application as possible. I also don't want to risk losing my data when one server loses its disks, so I want at least semi-transparent replication. ACID semantics are, obviously, a big plus. No RDBMS gives me this flexibility in designing an app. Oracle RAC, supposedly the cat's meow of scalable RDBMS, has RW database load balancing, but it still relies on having a single centralized SAN store on its back end.

To add insult to injury, the promise of arbitrary queries against the data just doesn't pan out. Yes, I can run an arbitrary query. Overnight. Adding this query to an application with a non-trivial schema and a large dataset usually requires so much indexing and query optimization work, that I might as well write the equivalent retrieval code for a Berkeley DB store by hand. I hate going through my queries and using trial-and-error to figure out where a subselect will outperform a join, and I can't afford to hire a bunch of DBAs, who also happen to know set and relational theory, to do this work for me.
This is good advice. My grandfather had a saying, "If you have no failures, you are not doing enough."
Why Don’t Business Leaders Assassinate Competitors?
They also stole non-trivial chunks of CLOS.

The attribute metaprotocol and method modifiers are AFAIK rather more like the equivalents in CLOS or a smalltalk than they are like those in python/ruby, and the roles system is -way- nicer than mixins.

I actually considered once implementing mixins for perl the way ruby does them with an anon class to keep single inheritance, then abandoned the concept as being a colossal hack. python's MI OTOH is sane with a C3 MRO, so we stole that for perl - in the cases where a mixin or role isn't sufficient it works very nicely.

I'd suggest having a read of the Devel::REPL articles on http://chainsawblues.vox.com/ - that might show off the capabilities of roles+method modifiers better than I can explain.
BitGravity pipes video through the web, raises round
I'm really surprised that the NHS let it happen!
Quants and traders aren't the only people on wall street. I think most ibankers, besides the first and second years, have mbas.
Like I said there, it looks like "(my if (0)) $var = 0" is happening.

It would be interesting to run some other tests.
I don't think this article makes much of a case for that. It's not scientific at all and full of so many flaws that it doesn't come close to "decimating" any idea.
Bugger. I was aiming for sarcastic hyperbole rather than trolling. Sorry.

I'm trying to attack the idea that using lots of small modules is worse than having a few big dependencies - CPAN dependency chains often -look- big because we try to break things down into the smallest unit of viable reuse. It's a bit more work but it's part of what makes CPAN so effective a toolkit.

If you want, re-read my post and try and mentally apply a deadpan english voice with more than a hint of sarcasm and see if that makes up for my poor phrasing.
I think the stopgap might create a problem worse than the one it's trying to solve :-/
With Perl, this is a pretty reasonable assumption to make. If you can think to do it, usually the interpreter will handle it in some reasonable fashion. How, I don't know. But it's one of the reasons that Perl has a reputation as a write-only language.
One possible solution could be a mass-patronage model: http://news.ycombinator.com/item?id=265196
It's a -sort of- bug.

perl 5.10 actually throws a warning when you trip it, and provides a 'state $x' keyword that provides the same functionality as 'my $x if 0' safely.

The basic problem is that the 'my' causes a lexical pad entry to be generated at compile time, but because the if 0 prevents the statement running at runtime it doesn't get reinitialised on your way round the loop.

(I've also made this comment on your blog, but it's the sort of thing people should manage to find easily so I figured it'd be ok to duplicate it)
You have a vivid imagination; I'll get in touch with you when I'm looking for a great copy writer.

Even still, the post said "co-founder" via iPhone, not doing a complete startup via iPhone.
using an iPhone simply to find co-founder, not to build out the app
It's called game theory, genius. A genetic algorithm can demonstrate that over repeated iterations, the best way to solve the "Prisoner's Dilemma" problem is to play "nice" rather than "nasty". That is why we don't murder or whatever else outside of fiction, because it is against our long-term self-interest to do so. This is not an issue of ethics. It is just basic game theory. End of story.
Not to belittle the doctor's work, but the truth is this isn't that hard a hack to imagine. Dialysis is a pretty simple process, done with a diffusion membrane. No doubt what he did was take a membrane intended for a normal machine and size it down with "plumbing" appropriate for the patient.

But then, that's kind of an essential quality of all great hacks, isn't it? They all look straightforward and simple when they're finished.
This has been well-known for years. People have used it for things like:

sub increment {
my $counter = 0 if 0;
++$counter
}

It works the same way as:

{
my $counter = 0;
sub increment { ++$counter }
}

It's actually a combination of various bugs that makes it work, so you shouldn't rely on the behavior. But since people have been relying on the behavior for years, it probably won't go away any time soon.

Perl 5.10 has a keyword ("state") for declaring this sort of variable explicitly, though, so there's no reason to use this pattern in new code.
Its interesting because it breaks with the normal paradigm of lexically scoped variables. It is an exception, something that imho should be removed as quickly as possible.

Just because some behavior is documented does not imply that it is what should happen.
I didn't see it the first time around. Pretty neat. I like the built-in paste bin. I probably won't be leaving XChat behind immediately, but there's certainly value in having IRC always available from anywhere.
> Now think about all the guys who rose up the ranks of fortune 500 companies. There's probably 100 guys at each fortune 500 company who make a mil a year? Now we're down to 250,000.

I used to read Disney's financial reports. They never had more than 3 people making a million/year (yes, including options). I'd be surprised if any company had 100 people making a million/year for more than a couple of years.
To clarify, the NHS is a VERY risk averse organisation. And a home-built dialysis machine is a very risky machine to build and use. Well done to the doc.
Do you use Microsoft Office or any other integrated office suite? Lotus 1-2-3 was the first major integrated business software to run on the IBM PC.
Ask PG
Computer Attack Disguised As Twitter Spam
New tech by Nissan: Tactile feedback in gas pedal to help you save gas
Awesome idea. Most of the existing tools in the space are kinda ugly desktop apps for Windows. And education is a pretty good field for premium web services...I've heard from several web-based startups that they've gotten good uptake among teachers, even when the app wasn't originally targeted to teachers.
I hate to break it to you, but that's no typo. The word in the phrase is, in fact, "deserts", which means "that which is deserved". It has nothing to do with arid zones, or after-meal snacks (although it is spelled like the former, and pronounced like the latter.)
but he's saying, in order to get rich very likely you will need to do those things other people dare not to do, i.e. doing these things raise your chance of getting rich, which is true.
I'll have to agree and disagree with that statement.

Sometimes your job is to further develop an existing solution with crappy CSS and poor design, leaving 50% or more of the CSS redundant compared to a more optimal solution. In this case, CSS has clearly been applied wrong, but if you want to be able to work with it consistently constants would have been a powerful tool in your toolkit.

Sometimes you want whatever page or site you are working on to work with a defined palette. Maybe the same colour should be used for either foreground or background colour depending on its current state (inactive, selected, hovered) and so on.

In many such cases, depending on complexity, trying to minimize the redundancy in the CSS practically makes the CSS unreadable or unmaintainable since the different attributes and settings for one selector is spread all across your CSS definitions.

In other words: Solving one problem creates a new problem, maybe equally bad or worse.

Some might suggests we should be able to reference selectors in selectors. Like "make this A:hover have the background colour of A:non-hover's colour-attribute". That however would make CSS much more like a programming language than a declarative layout language. It would also run the risk of recursiveness and add confuzion with regard to state-based behaviour.

No matter what syntax is used, I can't imagine this resulting in more natural or readable CSS.

As far as constants go, I can't see them making any more problems or any worse problems than the ones discussed above. Among many evils, I would consider constants one of the smallest.

But who knows... Maybe I just lack imagination.
Actually 'deserts' is correct. It's pronounced the same way as 'desserts', but the two words are not related. 'Deserts' is what a person deserves.
Really needs a quick way to get your friends in the room. Should actually be very visible and very easy to get them in that room chatting with you.

Perhaps an obviously marked URL to copy/paste or something like that?
Delta Air to have Wi-Fi access on domestic flights
Online advertising growth slows
Dr McGyver?
Facebook confirms: Employees selling shares this fall
The headline makes this sound like MacGyver, which it's not. But still awesome!
What struck me is that the following 2 code blocks are different;

my $val;
$val = 0 if (0);

and

my $val = 0 if (0);

I just didn't expect it to happen.
How does this have anything to do with the Prisoner's Dilemma?

Yes the best way for people to play is to be nice, but I bet when real people play they'd still be greedy. There's a difference between humans and artificial intelligence.
Delta will be first airline to offer WiFi on all US flights for about $10
Q&A: SpaceX's Elon Musk Vows to Make Orbit
37signal's Jason Fried on building companies & products
Yea no worries, the more people that learn this the better - it took me a bit to diagnose. That was basically my understanding. It looks like the scope of the my gets a bit weird with that if(0) there.
Lessig: an online attack will prompt government to clamp down on Internet freedoms
This article is a little dated now. Git has new features, so you don't have to resort to (as many) workarounds.

For example, instead of "git add -i", try "git add --patch". Instead of making your own branches for temporarily changing gears, try "git stash".
Minda ICT: Simple interests; Great uses: How to install locale in Ubuntu Step-by-step
The way Apple keeps secrets is by keeping information strictly need to know. Anything that gets sent out to the whole company is usually leaked pretty quickly.
I remain dubious of "don't pay people extra who perform better" because that's simply not my value system. You describe your problem, I name a price, we negotiate, then I go fix your problem. There. I am paid based on our mutual understanding of the merit of the work.

But I'm a hired gun, so I have a slanted view.

Let's try another analogy. I love start-ups, in which the marketplace rewards those products it finds most meritorious. You make things people find merit in, you get more money.

Looks to me that is two strikes against the views represented in the article. I guess you could make the case that there are full-timers who are interested in lots more besides money. In this case, the marketplace still rewards the meritorious work, it's just that management gets to keep the extra money and screws over the little guy.

There has to be some kind of middle ground. If my team invents the next google while working at company XYZ, I don't want a T-shirt and an opportunity to become senior muck-slucker. I want a cut of the action.

Is that so unreasonable?
Minda ICT: Simple interests; Great uses: How to set shutdown time on ubuntu
Surprising, but necessary. Apple kept its mouth shut for a month about the issues. For a whole month some people couldn't get to their e-mail at all, and during the entire time Apple refused to comment to the press. Not to mention that the 6 hour launch turned into a one week ordeal for everyone else (and that the software doesn't even run in IE).

They were getting so much negative attention from that (and the Jobs health issue), it would have been a huge mistake to say nothing. Even the manner in which they did it, though, is evidence of the regard Apple holds for communicating with the public.

Actually, Amazon is the big company that admits its failures so quickly. They're completely upfront about AWS going down, and they post a detailed analysis of the problem and the solution once the situation has been resolved. I think Amazon has set the standard for customer feedback when it comes to web services.
Twitter-specific worm attack
Looking forward to it. Just moved from SF to Cambridge 3 months ago and excited to meet up w/ the YC folks around here.
Motorola L6i Black Unlocked
Motorola L6i features a super slim and chic design. Capture and share digital photos and video clips, send messages that reflect your creativity or explore the wireless world with i-mode, i-mail Bluetooth.® technology. The L6i leaves a real impression.
I think even a risk averse organization would realize that when the options are A) baby will die or B) baby may be hurt by untested machine, option B is clearly better.
He properly decided to ask for forgiveness rather than permission. Which is the only way to deal with any bureaucratic organization.
Thanks! You have a good point. Some days I get 100 card sets all nearly identical and feedback messages saying "u suk, I hate my teacher! lol" :)
News Flash: "Young VC Does Something Good"
Not to belittle how you feel. Our feelings to ourselves are very important, but if you look at history and see what some of the greatest hackers have created, such as the atomic bomb, you might be able to get some perspective. Enrico Fermi said, in response to how could you create something so horrible, was that they were intoxicated but what the human mind could do.
Pooled tips in a restaurant environment definitely fosters good service for the team as a whole... servers are more likely to help each other out, versus more greedy behavior/gaming of the system in a competitive environment.
"First, let's write the following: Object.prototype.clone"

Never, ever add things to Object.prototype. It breaks enumeration over objects using the for...in operator, which in turn breaks lots of other libraries you might want to use later. Sure, this is due to a bug in the core JavaScript spec but it's one we all have to live with.
No problem - thanks for checking it out!
Choosing a Port for realtime multiplayer game
We built realtime multiplayer into a game we're developing. The game was built in Flex, the multiplayer server is based on Apache Mina. We're trying to decide on a port to run that server on that has the least chance of being blocked by company firewalls, school firewalls, etc. etc.

So far, we've been running the multiplayer server on port 443 assuming that no IT department would block the SSL port. But low and behold, we've found at least 1 law firm that blocks port 443 and it has me a little worried.

So, what's the least likely port to be blocked that we could run this multiplayer server on?

Has anybody had any particular experience with choosing a port poorly or wisely?
Socket Programming with Flex and Apache Mina
By the same token, the pirate question in the article is worded incorrectly for its proposed solution.

If, as the problem is usually posed, all pirates get to vote on a division of loot, then the lead pirate can indeed get away with the hinted 98 coins.

But the article says that "the other pirates get to vote on his plan and if fewer than half agree with him...", implying that the lead pirate does not get to vote. The solution requires different logic -- I think the best the lead pirate can do in this case is 97 coins.
Object.prototype: Stop modifying it.
Avinash Kaushik on using Google Trends for competitive intelligence
Unfortunately, when they might have to shell out millions if the baby dies after using an untested medical device, that's not an easy thing for them to see.
When I worked on remote-access software that tunneled through firewalls, it ran on port 443 with a configurable backup of 80. You aren't going to get something that's more likely to be open.

Really, if a law firm doesn't want its employees playing multiplayer games on company time, let them block it. And I thought my cofounder was bad for marketing casual games to Deutsch Bank employees. :-P
As someone who drives a stick, I would love to see this feature under the right foot of drivers of auto cars. I drive a 300hp sports car and on my stoplight commutes if I'm not accelerating pretty aggressively, people will be on my tail behind me.

I think many people just don't realize how much they slam on the gas once the light turns green. With auto cars getting smoother and quieter (especially with the CVT transmissions), many people don't even get the auditory feedback anymore that they're hauling ass. Combine that with your average driver who doesn't understand what the RPM gauge is for, and you get the stoplight quarter-mile drag race on repeat until you get to work.
90% isn't so bad. I have many projects which get no further than maybe 30% before getting shelved for whatever lame reason :(
...which is why it's implicit in the problem's statement that they can not talk to each other about it.
fortune cookie fortune that stays on my laptop:

"the benefits of our efforts are not always obvious"

this helps to remind me that any new project I work on helps me learn from simply the experience of creation. Additionally, there's no way to know how whatever you create (or half-create!) will benefit you in the future.
How the FBI tracked down the anthrax source
First, sit in front of a large, high quality monitor attached to a web-enabled computer and if possible, a keyboard. Next, bring up a browser and use the top-right-most tip of your iPhone as a kind of "extended finger" to type on that keyboard. The address you want is "www.sandmonkey.com." Its my personal site. The content is my resume.
We posted asking for feedback on our Facebook application - http://news.ycombinator.com/item?id=171712

Last week we got acquired by Monster for 72.5 million. Coincidence? :)
I think a dashboard meter displaying $/hour of fuel consumed would be more effective - and probably cheaper to implement.
Venture capital is something to do at the end of your career
The problem states that "Any wife who can prove that her husband is unfaithful must kill him that very day." There's no requirement that a wife must kill her husband as soon as she knows; she can postpone it at least to midnight, if she felt so inclined.

Since a woman can't be sure that any other woman is planning a killing until the next day, the massacre takes place on the 100th day, not immediately.
MIT Team Working On a $12 Apple II Desktop
Ready, Set, Connect
I think Google said it best - "engage beginners and attract experts".

Full quote:

"Designing for many people doesn't mean designing for the lowest common denominator. The best Google designs appear quite simple on the surface but include powerful features that are easily accessible to those users who want them. Our intent is to invite beginners with a great initial experience while also attracting power users whose excitement and expertise will draw others to the product.

A well-designed Google product lets new users jump in, offers help when necessary, and ensures that users can make simple and intuitive use of the product's most valuable features. Progressive disclosure of advanced features encourages people to expand their usage of the product. Whenever appropriate, Google offers smart features that entice people with complex online lives – for instance, people who share data across several devices and computers, work online and off, and crave storage space."
Early adopters and Silicon Valley are the easy way to failure
Apple has a serious transparency problem.
Build A Custom Search Engine Using Your Social Bookmarks
Startup Marketing Advice from Balsamiq Studios
Ask YC: Any Feedback on new web app ratings site appreciated
The curse of the upvote
Second-system effect
Yes, in the sense that the pattern of the sentence is "$foo is the syntax, $bar is the language." Semantically, however, no.
I'm sure the other six years of hard work and $18M in funding had nothing to do with it. :)

Congratulations on the acquisition. For the curious, the company in question is Trovix.
Ask YC: Anything like one-day or one-weekend intro classes?
Has anyone attended, or know of, short introductory classes on development topics like Ruby, Python, iPhone apps, and so on?

I always seem to have a long list of things I'd like to learn, but I know that it'll take me forever to really understand more than one or two of the items because of the time it takes to find good tutorials and reference books and start working my way through them when I've got a spare moment here and there. I can learn a lot faster if someone walks me through a topic, point by point, and is there to immediately answer questions that come up.

If there were intensive one-day or one-weekend classes on topics like Ruby, Python, etc., I'd love to attend. Anyone have any recommendations?
This is an intriguing idea. Location and keyword matches could make for a neat iphone app.