skysight-inc/HackerNews huggingface dataset:
I always get scared when I see a factorial term in big-O notation, but it's worth noting that this is better than n log n.

n log n = log ( n ^ n ) = log ( n * n * n * ... )

while

log ( n! ) = log ( n * (n-1) * (n-2) * ... )

n log n's repeating n does not get smaller, but log n!'s does. So it's slightly better.

(I had to think this through, so I thought posting it might help someone else.)
In some of our internal apps we have the data entry folks double key information into password fields (i.e. bank account, social security number). This would give them an opportunity to see if they mis-keyed something before submission and validation. I like it.
Robots and the Future of Unemployment
Again, it's not literally the issue of "zillions" of bad links.

It's that adding it's yet another party in the middle that might fail, dissapear, etc at an inconvenient time.

What if your business relied on tr.im, for example, when they dissapeared? What if you'd used them in print so they were easy to type in?
Am I the only person that doesn't want passwords echoed to the screen, to any extent, ever?

If I have to do a password confirmation I'd rather submit a form and have it tell me my passwords didn't match than to have immediate feedback with a visualization that isn't accessible.
The danger of verticals is that people don't want to have to think about what site to visit depending on what they're looking for. Sure, it would improve relevance, but I think you'd find that the increased relevance isn't worth the inconvenience to the majority.

That said, what people forget is that there are still many areas where Google is not the king of search, especially at the enterprise level, so even with Microsoft, Endeca, Autonomy, and other search companies, there's still room for competition.
Well written, humorous, and knowledgeable (mac) geek. What's not to like?
Florida man blames cat for downloading child pornography
The danger of verticals is that people don't want to have to think about what site to visit depending on what they're looking for.

These verticals should be integrated into one site and vertical selection should be automatic (but taking into account implicit and/or explicit feedback from users).
-> Haight
Miami, FL
I think it's real and there are plenty of applications I can think of. I've been following layar with great interest and I think they're going to make it big.
bigwieners.com
Tr.im Cuts Off Bit.ly’s 301works Idea, Wants to Sell
I've seen a live demo and it just completely blew me away, I had them swear the thing is real and not just a mock up, it was that good.

The number of real world applications for this is just about endless. Just a couple:

- overlay the location of underground pipelines on the ground above, no more cut pipes & cables

- automated guided tours

- hunt for real estate, complete with background information

- search for the nearest parking spot

- revamp the display of navigators like tom tom (overlay on glasses??)

and so on.
When you're seeking to an idle disk, three things have an impact on speed: Seek time, file fragmentation, and file size. Given that your max throughput to any modern HDD is measured in megabytes per second, file size isn't the limiting factor. You've got to get the drive spinning, get the drive head to the right spot, and read it. If there's a pile of files, you've got to do that dozens of times if they're not stored near each other on disk. Compressing the files doesn't really solve this problem. What one might try, however, is arranging the disk storage such that the files are physically close to each other. One could even go so far as to mash all the startup stuff into one super-file.

To see this in benchmark form, look at the difference in drive speed tests between large reads (sequential) and small reads (random). You'll go from 60 Mb/s to 6 Mb/s when file size drops from gigabytes to kilobytes, because more of the time is spent seeking.
Have you done any development with J2ME devices? In the past few years I've done it..it's been a nightmare
Blumenau, Brazil.
Gartner who made this claim in 1997 most probably knew what they were talking about. It is pointless to argue about old data, as if it were new.
Agreed. The link is solely a description of timsort and has nothing to do with Java. There is, however, a bug in Sun's tracker suggesting that timsort be used for java.util.Arrays.sort. That bug has a state of "Accepted," which to my naive understanding indicates that Sun has consented to implementing the change. But then again, I don't have any experience with Java bug triage stages.

A better title for the submission would be "Timsort - Python's pragmatic merge sort" or something along those lines.
It's a given in the software world that if you give a programmer a faster machine they'll produce slower code.

Developers should be using the oldest and least available memory machine they can lay their hands on.

Want to see a zippy starting system ? Install Xenix 386 on your 2.8 GHz machine. Or windows 95+trumpet winsock if that's your thing.
I don't buy the claim of non-reversibility here. The colors are generated by hashing using MD5 three items:

1. Domain specific salt (which is just the document.location)
2. User specific salt (which has a default value and even if it was loaded based on the user name an attacker could retrieve it)
3. The password typed so far

1 and 2 mean that the salt is virtually useless. It's not a secret.

The colors are generated by extracting 6 digit chunks of hex from the hexadecimal MD5 hash. And the full entropy in the MD5 isn't used.

So, it looks to me like someone who observes the username and the colors generated could look up the password in a rainbow table quite easily. Since they've also got the number of characters in the password it makes generating test passwords really easy.

Code is here: http://github.com/axemclion/Chroma-Hash/blob/d6703e670f84476...
> The point people miss is that that pain is actually a conscious part of the language design.

That may be true, but it doesn't make it the right choice. And AFAIK Gosling himself has always been pro-closures, to remove this pain (see http://blogs.sun.com/jag/entry/closures).

>I'll admit to emotionally siding on the issue with the creators of Java and Python

The big difference in Python is that there are "pythonic" alternatives for the really common cases.

> nor is "what" implicitly superior all the time in all situations.

I agree there is such a thing as too much abstraction, but I really don't think map/filter/etc fall into this category. These operations are so frequent that if you don't abstract the how, you end up repeating it thousands of times in a significant codebase. At that point I think you end up on the wrong side of the fence.
OK, we can debate different ways of averaging and whatnot, but the effective tax rate is the the thing we're debating. I think most people would agree that it is more relevant how much you actually paid in taxes last year than in how much you could have paid had it not been for various deductions and credits.

And, surely you're aware that the "35% corporate tax rate" number is a bit of a statistical creation as well? We have a progressive tax code in the US, so small businesses that make less money are taxed at a lower rate. In no way is it accurate to argue that entrepreneurs making under $100k pay 35% federal income tax -- even if we ignore deductions, credits, and everything else.

Indeed, according to the Small Business Administration, sole proprietorships -- i.e. the mom & pops -- faced the lowest effective tax rate of any group last year: 13.3%. I'm not a statistician, but I don't think it's just the Tycos of the world skewing the stats.
Never could get that to work properly on my OS X box(es).

Might have been a legacy hangover from saved terminal setups dating back to Jaguar days…
I subscribe to his RSS feed. I usually see the same companies over and over, and my impression (based on no actual facts or numbers, as I'm lazy) is that he sells in multi-week increments at a discount to people like Omnigroup or major iPhone app companies.
Along with Christmas Tree machines, I think synthetic vision is the next thing -- in the 20-40 year time frame. I don't think it's ready for prime-time in the 5-10 year time frame, but it could definitely enter the market in a big way earlier. (I just think the killer apps are still a ways off)
"Tally is entirely written in C/C++/assembly + TDL (which is a DSL)."

Interesting! I once knew some people who wanted to create a "startup" to compete aginst Tally. It didn't go anywhere, but I thought it was an interesting idea.

"Apologies for the slow replies btw "

No worries.
because twitter limits you to 140 characters of input.
This mirrors my experiences exactly.
I think you're right.

My wife is a horse trainer, makes not much money (no way we could survive without my salary!) and loves her life. When she first decided to do this, I was irritated and thought it was a waste of all that intelligence, but then I remembered that life is short and slips away quickly and realized that she was lucky to have found the kind of work that makes her truly happy. Enjoying the life we have now is far more important than how many toys we leave it with.

For me, I'm focusing first on all the things I wanted to do but that I put aside for so many years: for now that's building boats. I'm still doing tech entrepreneurial work on the side, but it's aimed at replacing my corporate income and simplifying my life, not at getting rich.
I don't understand what this means.

EX: Tail recursion (http://en.wikipedia.org/wiki/Tail_recursion) will be optimization if your code is a specific form AND your compiler also supports transforming to into loop. However, if you use the form without compiler support you are killing the stack and should manually convert your code to a loop by hand. Edit: Tail recursion really is just another loop; it's often used as a backhanded way to have mutable variables in a functional language, but in Java you might as well just have a loop.

And check this at runtime for every access!?! Why on earth would that be more efficient than static checking at compile time?

You only need to check it when you are updating a member variable not when you read it. Note: it does not save you from updating the variables inside the class if you bypass the getters and setters, but that’s a side issue. Anyway, if you check it ~50 times vs. creating one extra object you should come out ahead in speed. More importantly you will have far less and more maintainable code.

PS: Using multiple interfaces to the same class is a reasonable option, with some tradeoffs. You still need to maintain more code, but it is pure fluff so not that big a deal. However, that's not what he did.
Galway, Ireland
Sacramento, CA
hey, cool!

guys -- if you are interested, visit the Android Workshop in Metalab I'm organizing for next week: http://metalab.at/wiki/Android_Workshop
Cambridge University: Best Photos of Engineering Competition
More importantly, his signal-to-noise ratio is very high. Obviously, being very narrowly focused helps a lot with that. But it's nice to know that every post he makes is going to be worth my time. Most bloggers are very hit-and-miss, such that 1-in-10 (or at most 1-in-3) posts are really good, and the rest range from filler to kinda-interesting. Gruber doesn't write a whole lot, but nearly everything he writes is good.
The "friending" should just be an asymmetric following system, like Tumblr of Twitter. I want to see a stream of stories that my "friends" have upmodded, with a stream of threads too. I find myself going to my threads, and editing the url to see other people I track, all the time.
I don't get the 301 idea: isn't it equivalent to proposing "let's all just use bit.ly"? In theory it sounds nice, but in practice it seems quite ridiculous.
G.M. Sees eBay as a Way to Reach New Buyers
The media are having fun with this story. The Guardian concludes with "No word on any charges against the cat"; The Register says that "It is unclear if the cat was neutered"; while the National Post points out that there were over a thousand images and comments that it "Must have been some busy cat".

For all the mockery, the suspect's story -- that he never downloaded any such images, but only saw them after the cat jumped on the keyboard -- is entirely plausible. If malware was installed on his computer and some third party was using it to store child pornography, it's well within the bounds of possibility that the images would be in a directory where he wouldn't normally look, but that a cat navigating randomly might stumble across them.
Gruber is polarising, but that's precisely why he's so successful.

Much as I think he's a bit obnoxious, I read his blog regularly. I really admire his respect for his craft (vs say, techcrunch), as well as the niche he's carved out for himself.
Hi jonshea:

You're assuming that the RSS feed sponsorship is sold out, and is sold out at rate card rates. Those are very aggressive assumptions. I estimated about $60,000 in annual revenue from RSS, assuming a 30% average discount to rate card rates and 75% fill rate. (Reductions of 25% to 50% are not uncommon in online advertising.)

For The Deck, founder Jim Coudal told me that $4,000 a month to the publisher is in the ballpark but a little low. So I assumed about $60,000 a year, or $5,000 a month. (Don't forget that The Deck itself is a for-profit enterprise, and takes a hefty cut.)

So I got to about $120,000 a year before t-shirt sales. Like I said... could be much higher. But I wanted to err on the side of caution, especially in this ad economy.
Nope, I'm here too.
I think the old standards of what we considered public and private are changing. If there are tools out there, they can be used both for good and evil - but our first preferences should be to trust people, not to distrust people, and the capability should be made possible.
nytimes.com/technology
roughtype.com
gigaom.com
Maybe there's some way to publish an archive of all shortened URLs for posterity, even .torrent. It's the least a service can do before turning the lights out.
Charlie: The iPhone bug has to do with telling the phone there is a certain amount of data, and then not sending it as much as you said you would. The function that reads the data starts returning -1 to indicate an error, but the other parts of the program don't check for this error and actually think the -1 is data from the message. This shows how complex it can be to write secure code, as separately, each part of the program looks correct, but the way they interact is dangerous!

OUCH.

If there's an industry contest I'd like to referee now, it's fuzzers vs. static analysis. Industry spends a cubic shit-ton on static analysis (for instance, find an F-500 that doesn't have a couple copies of Fortify gathering dust). But fuzzers appear to be kicking ass in terms of actual findings, and vendors don't invest nearly as much into them.

(Static analyzers parse and symbolically analyze source code or binaries against rules, like taint propagation and API blacklists; fuzzers mimic actual inputs to real running systems and vary those inputs maliciously over minutes, hours, or days).
My favorites folder (which is a folder in Chrome that I 'open all in tabs' with each morning) includes the following URLS, which makes them at least daily reads:

news.ycombinator.com
damninteresting.com (now that they're back especially)
kk.org/kk/ - Kevin Kelly's blog
federalwasteland.blogspot.com -- hasn't been updated in a long while. :-(
asofterworld.com
xkcd.com
idsgn.org
And Tupac was 25.
In C++, the way you would do this involves boost::men_fn (http://www.boost.org/doc/libs/1_39_0/libs/bind/mem_fn.html):

list<Person> beerDrinkers = filter(persons, boost::mem_fn(&Person::legalAge));

Where filter looks something like:

template <class Sequence, class Pred>
Sequence filter(const Sequence& in, Pred p)
{
Sequence out;
for (typename Sequence::const_iterator i = in.begin(); i != in.end(); ++i) {
if (p(*i)) {
out.insert(out.end(), *i);
}
}
return out;
}

We can even use this style if legalAge is something that takes a parameter, like ageCheck(age) using boost::bind (http://www.boost.org/doc/libs/1_39_0/libs/bind/bind.html):

list<Person> beerDrinkers = filter(persons, boost::bind(&Person::ageCheck, 21, _1));
This loaded fine for me in ff3.5 + ubuntu linux. Hopefully you get some more traffic and the blanks will fill in. Meetup.com returns no results for "ycombinator" so it looks like the Houston Ruby users will be my only monthly meetup obligation.

P.S. I'm only the second from Houston, TX. I feel like some rare, endangered flying frog... :)

http://news.yahoo.com/s/afp/20090810/sc_afp/asiaenvironmentw...
Some Groovy metamagic in practice
what puffery. gruber is the grand mac apologist. his column consists of contentless shilling punctuated only periodically by token resistance to the cult. he's never sustained any critical opinions...his token opposition to the appstore debacle was essentially redacted as soon as it was issued....cuz you know bullshit stops being bullshit if phil schiller writes you personally.
But you see the point, right? The discussion begins with the question of legal tax rate on startups and corps. When you redefine the terms such that we're talking about some statistical artifact, you're basically saying the tax system is too complex to talk about it terms of what it actually says. Which is basically saying that discussion on the effects of tax rates can't take place at all because there isn't such a thing as a "tax rate"

I can't argue with the fact that the tax code is so complex as to make discussion useless, but I would like to point out that discussion has to take place around something. And I wouldn't pick average dollars paid as that something -- seems like a silly number.

Where do we go from here? A detailed discussion on survey methodology? Cherry-picking authoritative sources? A discussion about how early-stage businesses lose a lot of money? Or how income can be deferred using various accounting techniques?

But you see, the meme has accomplished its goal: we are no longer talking about what the law says about what corporations should pay, which is the only high-level, simple concept that we have a chance to reach some conclusions about. After this its all just down-in-the-weeds, wonkish stuff.

So no thanks.
It's a point-of-failure issue. As a general rule of thumb, dependencies are bad. They introduce "uncontrollable" risk into things. Obviously, websites and bloggers and web-apps can't do much about having the Internet as a dependency, but I don't want to have half my publicity for my content* reliant on a web service that could well be completely fly-by-night.

* - At this stage in my life, such publicity and content are only hypothetical :(
I think you're on the right track. Start hanging out where programmers do. HN is a good start. Go to conferences for ruby/python/web-stuff and talk to people. Make friends, share your idea freely. Tinker. Try to build it yourself but don't expect that to actually happen without years of mistakes. Talk to others about your attempts, problems and successes.

One of two things will happen, eventually. 1) you will actually build it. 2) you will meet someone who you get along well with, who will build it with you.

If you're looking for the shortcut, i don't know.
Is there a bug? I don't see the effect with Image. "a", "b", "logop" and "logo" all seemed to give the same Image
I read Daring Fireball, and I think the writing is excellent, but I've always thought it was a close cousin of astroturfing.

Here's how it works in my head:

1) Gruber writes stuff Apple likes
2) Apple feeds Gruber exclusive information
3) More people read Gruber for exclusive information, seeing a message that Apple likes
4) Gruber profits from increased traffic, and tries to continue to please Apple

Maybe I'm way off base, but Apple is so damn secretive that the information he gets must somehow be approved. It's like Apple doesn't allow their employees to blog, except Gruber.
Well said.

Microsoft dethroned IBM with "if we did PCs, [most] people wouldn't need to do mainframes".

Ditto Google to Microsoft with "if we did search & cloud, [most] people wouldn't need to do OS".

For someone to "beat" Google the the search bar needs to become irrelevant.
I see. I'm still not sure how you justify your (revised) statement. What's fashionable about it? You don't think people do stuff because they think it makes them better programmers, rather than because of some perceived fashion trend?

Similarly, you don't think the tendency for most non-functional languages to adopt features and techniques from functional languages is because those ideas are inherently valuable? Sometimes a good idea is a good idea, and I think functional programming is an idea whose time has finally come. Maybe what you're labeling "fashion" is actually just a natural progression towards acceptance and adoption that started several decades ago.

Personally I think the trend towards selectively adopting functional features (if there is one!) could only be positive. If more programmers become comfortable with the concepts underpinning FP, then making the jump to using plain ol' FP (rather than <insert your language here> with anonymous first-class functions bolted on etc) will likely be much easier. Maybe it'll lead to wide-spread adoption!
No. These password visualizers are startlingly unsafe and largely useless responses to what is mostly a non-problem.
She recommends using a password manager, presumably one that stores your passwords in it. I've recently started using PasswordMaker, which I like better, because your passwords are never stored anywhere. Instead, I have it generate a SHA-256 hash of a combination of a master password and the site's domain name. The Firefox plugin makes it easy to use, and works on any OS you can run Firefox on.

http://passwordmaker.org/

A bonus of this scheme is that you can use their JavaScript generator page if you're not at one of your computers.

http://passwordmaker.org/passwordmaker.html
Main Battles For Solar Power Cost Reductions In Industry
Top 5 Startup Hip Hop Songs:

1. I'm a Hustler - JayZ
2. Piggy Bank - 50 cent
3. Lose Yourself - Eminem
4. Life Is ...Too $hort - Too Short
5. Forgot About Dre - Dr Dre
I don't think so. If a company controls their domain, they control the links. If the company goes out of business, the domain can be transferred and the 301 service takes over processing the links. That's my take on it, anyway.
The real solution would be for Twitter to not count URLs against the 140 character limit.
A lot of times, I'll see a bit.ly link and type it in by hand.
220 billion doesn't sound all that big to me. Let's say there are 100,000 firms that use Cobol, that would mean 2.2 million lines of code per firm. Since even a fairly trivial report coded in Cobol is easily 1000 lines (source: ran wc on my old Cobol directory), this would be the equivalent of about 2200 simple reports per firm. This is a very low number considering there is bound to be more complex transaction processing code, lots of (even more verbose) code generated by code generators, and the tendency to have lots of tweaked versions of the same program.
Yes... All those farm girls living in Detroit...
Considering they're an American company, I'm not really suprised. Unfortunate, but not suprising.
I have no idea. My phone probably doesn't support them, though. It's pretty terrible. Free is better than paying, unfortunatly.
Big up for Kortrijk :)
In addition to the other comments, the Utility class used in this example defeats the purpose of OO programming that Java is more in tune with. What's to stop the proliferation of these Util classes with static methods?

I believe the more Java way would be to extend the List interface to add a map method and implement a corresponding class. To make this less of a pain, extend from one of the JDK provided classes if possible... but yes, it's still a pain.