skysight-inc/HackerNews huggingface dataset:
Maybe somebody could put up a poll about whether or not to ban polls about banning sites.

If you don't like Jeff's blog, don't click the link. If the community likes the blog, it will get voted up. I don't get what the point of banning it is in the first place if the community in general is voting it up. Controversial or not, it's way more relevant than a lot of the other crap that gets voted up.

I listen to Jeff and Joel's Stack Overflow podcast. Jeff seems like a totally reasonable guy whose ego is in check and who is not looking to piss anybody off. He's just out there writing down his thoughts, just like everybody else. You're allowed to disagree with him. Feel free to do so. I don't see the need to ban his blog.
Future, though I think it is really just beginning to understand it's potential uses. The @ and # is an example of this growing change. It isn't necessarily about 'status' anymore, but a mix of conversation surrounding data, and the ability of the right connections to go viral.

I've been considering how to use twitter as a notification service for my app, instead of using e-mail. The problem with e-mail is 1) i don't want to be loading peoples inboxes 2) it isn't discoverable to people who might be interested in the same thing, 3) i never sign-up for e-mail notifications, so why would i expect my users to do so.

At the same time, notification is the one of the top requests I get from my users. So, I'm investigating what it would be like to set-up a system whereby I could use twitter for notifactions on specific items using the # code. Solves the problem of in box discovery, and twitter is much more ignorable than e-mail (if the user chooses).
Not necessarily. When you make a single change to a shared function, you might cause undesired changes to other code that calls that function.
Censorship is quite a reasonable suggestion for HN. We aren't here to express our political views, we're here to read good content. If a site gets in the way of that, then by all means it should be banned.
It's funny because I came here because of his blog entry this morning. I have to say, I've never seen anyone on the web willingly say they do not want traffic... guess we're all a little strange in our own way.
Who else is going to WebInno? I'll be there wearing a Pentax K-100D.
It may also bring interesting people too.
So...how exactly does one go about getting a-hold of this technology? There is no download link and it's not clear if the contact link will result in my being sent a demo.
We could do so much better, just tear down all the old 2 and 3 story buildings and build bigger, better ones....

This is exactly the wrong thing to do. You end up with a sterile wasteland.
Yeah, it's polynomial, but it's still really slow and not practical.

In a string of length N, there are N substrings of length 1, N-1 substrings of length 2, N-2 substring of length 3, ..., 1 substring of length N. This is the sum of the first N integers, which is N(N+1)/2. If we're doing big oh analysis, we can just say that's O(N^2).

Comparing every something to every other something is an N^2 operation. But, in this case, our something is already O(N^2), so the final algorithm is actually O(N^4).

Doing a O(N^4) algorithm on nontrivial sizes of N (and nontrivial sizes of N are where you need it the most) will take a long time.

Disclaimer: it's been a long time since I've done any algorithm analysis, so please check my work.
It should be called tomaffe or caffato

Retarded either way
Dear Random Gatekeepers,

We don't need you between us and our information anymore. Thanks for all the fish.

Sincerely,
The World
I'm not done, but I thought I'd share my quick benchmarks:

1 million strlens on the same random 100 byte string:
Atom 330, 1.6GHz, gcc 4.3.2 (Debian Lenny)
glibc: 1.3ns/char
easy: 3.4ns/char
obsd: 3.4ns/char

Core2 Duo, 2.8GHz, gcc version 4.0.1 (Apple Inc. build 5484)
libc: 0.12ns/char
glibc: 0.39ns/char
easy: 0.58ns/char
obsd: 0.60ns/char

easy: while ( *p++) c++;
obsd: openbsd, for (s = str; *s; ++s); return s-str;

The preliminary conclusions are:

The glibc strlen is something like twice as fast as the naive implementation, but there is something else out there that knocks its socks off.

Secondary conclusion would be: remember not to compare GHz across different processors.
For 2007.

Amber alert: 227 amber alerts issued involving 278 children with 188 recoveries and 48 as a direct result of the alert being issued (see http://www.amberalert.gov/pdfs/07_amber_report.pdf)

Intentionally set structure fires: 32,500 fires, 295 deaths, $733 million in damage (http://www.usfa.dhs.gov/statistics/arson/index.shtm)

Overall fire statistics: 3430 dead, 17675 injured, 118 firefighters killed on duty, 1.6 million fires (see http://www.usfa.dhs.gov/statistics/quickstats/index.shtm).

I think the statistics speak for themselves.
Django and Smores
You're missing an important piece of the puzzle. A significant amount of the child sexual abuse in the US is perpetrated by families and close family friends. That's totally different from abductions and the sex trade, which you bring up in different countries. Certainly stopping those is a priority, but stronger law enforcement will not solve the whole problem.

http://www.ncptsd.va.gov/ncmain/ncdocs/fact_shts/fs_child_se...
A very quick test shows that the glibc version is more than 3 times faster for strings of length 80 compared to the bsd version.
You could do this on x86 as a single instruction
rep scasb

Unfortunately though, this is slower than comparing 4 bytes at a time yourself.

Working bytes 1 at a time is pretty expensive. 4 at a time is great on a 32 bit cpu (As long as they're aligned).
Parent upvoted (from -1 to 0) b/c unsupported warnings of possible future harm really is a lousy way to carry out debate.

OTOH, peterhi, I just skimmed your past comments: the negative karma isn't just b/c you say unpopular or off-topic things--it's also because you're mostly a jerk about it.
Barbara Liskov wins Turing Award
Well said. That's what I meant to say when I said "this is how communities disintegrate".

Yours is much better.
Doing it on the AST should help performance. Even if you're still using an N^4 algorithm, the AST should be significantly smaller than the string that represents the code.

And, as it sounds like you realize, this will catch cases where variable names have been changed, but the structure is the same.
I think it does. It's the culture the leakees take with them. DEC tried to stamp out entrepreneurialism, but most of the SV companies tolerated it or encouraged it. My first customer at my first startup was a former employer. When I moved to SV from Boston decades ago, I remember how impressed I was with the informality, no suits, ties, deference, that kind of stuff. Equally impressive was the infrastructure, from Wilson, Sonsini to Frys to an entrepreneurs club to all the little companies that had just what you needed.
The amber alert price tag is way too high

Your ghoulish calculus could take into account some of the other ways the country decides to spend its money. Saving 27 children seems like a better use of $30M compared to spending it on half of a failed banking executive's exit bonus.
My overall point was that it makes little sense for developers coming up for similar hacks on their own pet projects or apps. This is a linear runtime issue, and the efficiency-speed up here is trivial. Obviously, if you're maintaining gnu's libc, you probably know about this more than I do and in a better position to decide if this is needed, but to Joe Developer, it's just a side-track that obscures the end-goals.
I'm getting more than a little tired of the star programmer rivalry. To see a great site like HN join in would seriously crush me. I come here to read news, regardless of where it comes from and regardless of whether I agree with it or not.

Isn't that the point? If everything were censored and all we ever heard about was TDD and how great and spiffy it is how would we ever know why? Why is Jeff Atwood to be despised? Why is "An open letter to Steve Jobs about approving the amber alert application" more appropriate than "Sharpening the Saw"?

I want the good, the bad and the ugly. I agree with censoring spam, sites that are gaming the system, and the like but this is just silly. It all seems very ad hominem to me. Get off your soap box and write something worth while.

Criticism is how start-ups thrive. Learn it, live it.
I know this is a weasel thing to say, and I apologize in advance for that, but I don't see where we actually disagree.

Maintaining the size, quality, and ad conversion rate of your user base in a free/ad-funded business is where that business adds value, as opposed to fixing and improving a consumer-funded product. It's probably a lot more work than a consumer-funded product because, as you said, people are distracted by shiny new things and free sites have no "buyer's willful blindness to quality" so you must constantly manage your 'shininess' so they come back.

As for consumers making a value judgment, that does happen with ad-funded businesses; but the advertisers are your consumers and it's the advertisers making the value judgment about whether serving ads to your user base is a good way to spend their money.
I hate how the "message" isn't just on the site for us to see. If Rob isn't doing something underhanded, why insist on email?

There is a solution, though. If someone were to create a throwaway email account, say bringitspammers@hotmail.com and use a password we could all guess, like spam88, and have http://www.sixfiguresoftware.com/ send its "message" there, then people on HN could read it without trusting leaving their own email accounts vulnerable to marketing spam.

Bug-myinbox-not if you will.
IntraSITE Search Undercuts Google Site Search
HN has a strange fascination with strlen implementations. For anyone who missed it a few months ago, cperciva put up an interesting article about strlen for UTF-8 (variable character width) strings.

http://www.daemonology.net/blog/2008-06-05-faster-utf8-strle...
That's the basic definition you might ask someone to write on a whiteboard in a job interview.

How do they stack up in benchmarks?

Edit: See other posts in this discussion for actual benchmarks. >_>
But what sort of greeting has rglullis sent out to all those potential readers coming from CH "that will contribute very little to the website"?

I can think of a few :(
I feel that this article is the sort I would not like to see on HN, because it can't teach anything to hackers. As seen by the discussion it elicited, it's just starting a write-only conversation with many elements of a flame war.
I'd suggest a different analogy:

I don't go for a four hour hike the day before I run a marathon.
The Green Bubble will not be like our Last Bubbles
Holy crap, all 15 reviews of that book are 5 stars! That's the best average I've ever seen on Amazon.
No. If some HN users post codinghorror links, clearly those users find them of interest, and however well or badly informed they may be, they are still on-topic. What anyone can do is vote them up or not.
There were 4 'articles' from 37signals earlier on the front page. 1 is more than enough.
It would also be nice if the bar associations didn't use the dues that lawyers are required to pay for their own political agenda.
Interesting, but this is somewhat pointless if you ask me.

It relies on certain assumptions that are not the part of the C standard, so while this code works on the majority of platforms, this is not a portable C code. In which case going all the way down to the assembly level makes more sense. Especially considering there are typically dedicated CPU instructions for the exact purpose of searching a zero in a contiguous block of memory. Something like "rep scasb" on x86.
Someone posted numbers that showed this is a 2x speedup over the naive implementation. That's not "trivial."

Most developers don't have to worry about such optimizations. But this is Hacker News, and a lot of hackers do.
Is it possible that Apple might not mind so much if this encourages people to buy more iPods at the expense of music sales? Depends on the relative margins, I guess.
I lived in Cambridge for 6 years. It's cold. Cambridge didn't clear its sidewalks; it just let everything accumulate. I could tell when it was spring from the smell of 4 months of dog shit thawing. One December day I was walking across Cambridge Common, 10 degrees, the wind was blowing. I said, "to hell with this." The next month I moved to California and I've been warm ever since. :-)
Windows Power Tools: the "sleep" command. Eat that linux fanboys.
CMU has been working on facial recognition for a long time. VASC and the now defunct MAPS lab did quite a bit of research for recognizing objects in general as well as facial features. It is good to see a spinoff company that can make money from the hard work put into it. More info:

http://www.ri.cmu.edu/research_project_detail.html?project_i...
If it wasn't for Jeff's recent posts I would not have known that HN even exists. I'm sure there are many more like me. Thanks for the welcome!

I read a lot of programming blogs and I'd say that the codinghorror content better than many. The size of his readership certainly bears that out. It's actually not really a programming blog anyway. It's mostly opinion pieces that are designed to provoke a response. One common response is that he's simply dismissed. Everyone's entitled to have their say.
about damn time
Very good demo and it also happens to be related to my interests so here's my little analysis.

1, The face detection of this program is more impressive than the face recognition.

2, The detector is able to detect across variaty of poses and come up with a an estimate for the pose of the face. It does a lot more than the best opensource detector (openCV) out there.

3, If you download the mac program and open up the package contents, you will see that under the data file directory, it uses a different set of files (features.bin, log_likelihood.bin) for frontal and profile view detection.

4, If you look at the company's CEO's background and publications here:

http://www.ri.cmu.edu/person.html?type=publications&pers...

It would suggest that the detector is using a histogram-based detector as outlined in his paper. The other detector made by CMU is the Rowley-Kanade one but I don't think that one is fast enough to run in realtime.

Shamelsss plug, I implemented a javascript face detector ( with source code ) here: http://blog.kpicturebooth.com/?p=8 , it only handles frontal non-rotated faces =P
You're wrong. Learn to type well and then come back and tell us it didn't make you a better programmer.

If you don't know how to type, then you're wasting brain cycles looking for keys when you have to type, cycles that would otherwise be spent thinking up good identifiers and nice function names. Not knowing how to type also means you'll choose terse identifiers rather than clear ones because it's too much work typing longer names.

Typing well is a critical skill for a programmer and the only programmers who don't think so are the ones who can't type.
``potentially bringing a new mass of users that will contribute very little to the website''

I guess that I'm one of those users. Is this community really that elitist?
From a slashdot comment on the same topic, way down:

http://forums.zonealarm.org/zonelabs/board/message?board.id=...

Looks like a stats tracking part of their update program. Perhaps they wanted it secret and are employing forum admins with horrible self control.

Lesson: If you setup forums for your customers, dont go through deleting legitimate negative posts that concern your products. This magnifies the harm, not reduces it.

This is the internet, once something is posted here, its very hard to get rid of it.
I have a way with words, mostly because people seem to miss the point if it is subtle. A slap in the face will get attention, a polite cough is all too easily ignored. The OP has basically called the readership of Codinghorror worthless and incapable of contributing to a site so elevated as HackerNews and if we could only ban Codinghorror from HackerNews then perhaps this flood of proles could be thwarted (and how is that supposed to work exactly? Do we get an injunction to stop Jeff sending his readers here?)

And I'm the jerk?
I think you've got a shot at getting some stimulus money. Good luck.
Point taken, and you're right.

The speed-up I was referring to howeverwasn't "strlen speedup" but "your entire app running with naive strlen implementation, vs your entire app with clever strlen."

I also wasn't saying this has no place in it. I was trying to add that these hacks aren't usually what makes your app execute twice as fast or feel more 'snappy', unless the bread and butter of your app is string processin (in which case there are better running time algorithms, not just low-level hacks).

I love these as much as the next person, but early and misappropriated optimization, in my opinion, is suboptimal as a practice.
I'd take problem solving ability and creativity over typing speed any day, but one area where typing speed seems to help is for live coding or instructing others...
Looks like something to give the government to track your EVERY MOVE.

Good job tho guys. Its pretty impressive.
A $200 gift card going for the equivalent of $2.60 (and zero of that 2.60 going to Apple)? I would expect that right there is higher than the profit margin of an iPod.
Though I don't agree with him all the time. But if something will become a meme then I will read his stuff even if HN bans him.
Ask HN: Interested in buying shares in startup?
Hello,

If you find an opportunity to buy shares in a startup that could have a promising future, will you do it?

I have a startup that stills under development, and I am thinking of deviding it into shares and sell these shares to others.
I am thinking of selling my startup at $40,000 valuation.
And I will make 10,000 shares, so I will sell the share for $4.

I think it's legal to do such a thing, but the problem is about documenting the investors' rights! I am sure that legal papers cost so much of money.

Also I will be committed to buy back your shares from you within a year, if the startup does not acheive the target.

Also I will make a blog for investor relations, and I will keep shareholders with all the informations honestly, and I will keep them updated, and I will be very clear with them.

My question is: If you see such opportuinty, will you be ready to buy shares?

I am running out of money, and I need any money!
If I don't need money urgently, I would not really do such a thing!

I can go and collect donations online, but I don't like to do such things.
I will make a demo of my startup available within 2 days.
Do you think that this is a good idea?

P.S.: I am from Egypt, and I can't apply for YCombinator, if you ask me: Why don't you apply for YCombinator!
It's visa problems, and when I talked to JL about 2 months ago, she told me that they can't do it remotely.

EDIT: I am NOT going to use the money that I will raise to buy a new car or get new clothes! I am owed to someone with $2000, and I have to pay it to that person... or I am not sure what the problems that I will face!

EDIT: I will sell only 500 shares of the total shares [worth $2000], so even if it does not work, I would be able to buy back the shares from you after year if it does not make a success.
I am doing my best to be honest with you, and I will only do things that I can afford!

You can buy as low as 1 share, and if it makes success after a year, I will buy your shares from you with a higher price... whatever the evaluation of my startup will be!
http://www.gnu.org/prep/standards/html_node/Reading-Non_002d...

Don't in any circumstances refer to Unix source code for or during your work on GNU! (Or to any other proprietary programs.)

If you have a vague recollection of the internals of a Unix program, this does not absolutely mean you can't write an imitation of it, but do try to organize the imitation internally along different lines, because this is likely to make the details of the Unix version irrelevant and dissimilar to your results.

For example, Unix utilities were generally optimized to minimize memory use; if you go for speed instead, your program will be very different. You could keep the entire input file in memory and scan it there instead of using stdio. Use a smarter algorithm discovered more recently than the Unix program. Eliminate use of temporary files. Do it in one pass instead of two (we did this in the assembler).
"Let's not pick editor fights: the only 3 editors we know to be used by great hackers are TextMate, vim and emacs. The most productive hackers will often customize their editor heavily."

I think this is rather ignorant... eclipse >> vim or emacs. What's a hacker anyway? Presumably, they are talking about someone who writes code and IDEs make writing code easier.
For short strings (the common case), scasb performs the same as a smarter C loop, reduces code size, and saves branches (which is good for caching), which is why most compilers compile strlen to it automatically. But this is kind of a silly point since performant code doesn't call stlen often.
No, don't ban it, just submit more good technical articles that can drown out his crap.
bluefish, HN is clearly the new K5
The lesson here is use library functions. Someone smarter than you has probably optimized the hell out of them.
The whole point of technology is to eliminate mindless, repetitive tasks like looking at a domain, comparing it to our black-list, and ignoring it. Sure, it only takes a second, but how many times do you visit hn? How many articles do you have to parse before you have wasted time?

Letting hn users specify their own domain black-lists can be implemented trivially, and saves a ton of time, in aggregate. I agree with the grand-parent post.
Lesson: If you setup forums for your customers, dont go through deleting legitimate negative posts that concern your products. This magnifies the harm, not reduces it.

Particularly true for security software. You're supposed to be able to trust these guys with deep hooks in your operating system, yet they seem to be engaging in something resembling a "security by obscurity" strategy.
So you're advocating copy/paste style coding, and telling us it is less buggy?

Seriously? And without some extensive explanation?

What about the studies showing number of bugs is proportional to lines of code? Your way adds more lines of code.
Of course, that's Knuth's warning that "Premature optimization is the root of all evil." I assumed we've all heard that before, and we're only thinking about applying optimizations after measurement.
Forget iTunes U: Students Now Getting College Credit via YouTube
Right, and there would also be more semantic boundaries, (possibly greatly) reducing the size of the overall problem space. If (by sheer coincidence) there was a token overlap between the last two lines of one function and the first two of another, that's probably not relevant in the same way a copied-and-pasted version of the same function in two places would be.
Since Apple has to turn around and pay 70% of that $200 to the copyright holders of the purchased content, I'm sure they stand to lose quite a lot more than they could possibly gain.
And to add more mystery:

1 million strlens on the same random 100 byte string:
Pentium 4 3.0GHz, gcc 4.3.2 (Debian Lenny)
glibc: 0.52ns/char
libc: 0.60ns/char ???
easy: 0.94/char
obsd: 0.94/char

I would expect libc and glibc to match being a Debian machine, and they matched on the Atom 330. I can't account for the difference here, perhaps the difference in the Debian library compilation flags and my -O3 make a difference on this processor.

Don't tell the Gentoo crowd, you'll only encourage them.
The function may be doing too much, then. It would probably contains several reusable pieces if you broke it up differently.
No, don't ban it; I like seeing Codinghorror stories on News.YC.
There's no law that says I have to read it. It's nice to have a wide range of posts and sources.