skysight-inc/HackerNews huggingface dataset:
Here's a few links on the "click here" subject:

* http://www.marketingsherpa.com/article.php?ident=30124
* http://www.copyblogger.com/click-here/

If you look at what a lot of content marketers (inbound marketers, if you like) are doing, you'll see a lot of "click here" type stuff as well.
Google Shareholders (read, Founders) Approve Controversial Stock Split
CSS Animated Slide Toggle
Yes. Money is a shared delusion.
Hands-Off: Microsoft Surface Tablet Review
There's no difference between implementing method dispatch with multiple inheritance versus multiple interfaces. What do you think C++'s multiple inheritance problems are? As long as Oracle doesn't add data members to interfaces, Java won't get any new problems.
It's more than just links. Anything you want the user to interact with should be self-explanatory.

Buttons shouldn't say yes/no or ok/cancel. They should describe the actual action. "Leave this page" or "stay on this page", "Remove from cart" or "keep in cart", and so on.
Programming by the lowest bidder rarely results in quality.
I think its pretty arbitrary to claim that "changing these behaviors" would "make the web a better place".

I think if people think and react in a certain way, there is nothing wrong with that, and web design should evolve around how people act as opposed to the other way around.

Then again I don't work in either any sort of UX or web development, so maybe I should keep my mouth shut here :)
Not necessarily.

collection.Where(s => s.Property.Name == "Blah!").Single();

4 hand grenades waiting to go off in that expression. Try and spot them.

We have a 670kloc platform that doesn't have a single one in it (it's still .Net 2.0). 450 domain objects, 1000+ NH criteria queries and about 650 aspx pages...
The Return of the FreeBSD Desktop
How come? Instability? Couldn't find packgaes you wanted? Hard to use? Something else?
Which companies? I found Valve to be quite unique (Github seems to be similar, but they seem to operate more like a group of open source projects).

I'm serious: I find this inspiring, and would love to know other companies doing something similar.
Also just because I have a hammer, it doesn't mean every problem is a nail.
NASAs 7 minutes of terror video
The Riddle of the Universe and Its Solution
Nope. Nothing on uxmovement is ever backed up by any data, just vague assertions. The worst part is that they always frame their articles as "why X is true", but then the article is essentially "x is true because x is true".
"Send" and "Save" are just fine in the majority of cases. Simple language.
I also think it is beneficial to incorporate/at least an LLC when you have a friend/business partner that you are working with on this hobby. This way you can have a common bank account, you can keep track of expenses, taxes are paid at differently and you have a common name to operate under.
These videos were more interesting than the OP. Hearing him geek out about all the things he's tried to make it work well makes me really excited for the stuff that's in the pipeline.
FogCreek and StackOverflow. Etsy.

We're doing it, too, at my company Funding Gates (http://fundinggates.com/jobs)
Unless this post is wrong, facebook in many ways, too: http://framethink.wordpress.com/2011/01/17/how-facebook-ship...

20% time policies are another variation.

The whole notion that everyone is responsible for product is pretty mainstream at this point, increasingly so since the whole "lean startup" concept gained traction.
Which is better? A crescent wrench or a ball peen hammer?
Amateur Time Hackers Play With Atomic Clocks at Home [2007]
I was going to mention SEO and use the example of googling for "click here", but I was surprised how the wikipedia article on the phenomenon in the OP ("Mystery meat navigation"[1]) actually managed to make it to #3, amidst downloads for Acrobat Reader, QuickTime, Java runtime etc. How did Google manage that? I'm impressed.

[1] http://en.wikipedia.org/wiki/Mystery_meat_navigation
The demise of group selection
The problem I have with extension methods is semantics and determinism, particularly in the collections framework (if you can call it that - it's a mess). Great example:

Look at System.Core's Count() inside reflector. Using pseudo code:

def count(ref):
if ref is ICollection:
return (ref As ICollection).Count
else
n = 0
for each item in ref:
n++
return n

That hurts badly if you are not careful. Enumerables will be iterated and collections will return length so when you call it you don't know for certain if it's O(N) or O(1). If someone has downcast ICollection<T> to IEnumerable<T> then you really don't know where you stand.

It's shit like that which is hard to debug and brings your system to its knees.
I'm not convinced -- I find the Vista dialogs really confusing for that reason.

First, I read the question, "Do you want to save this file?"

Then I naturally expect "Yes", "No", "Cancel" -- effortless to understand.

If I see "Save this file", "Don't save this file", "Return to application", it takes a lot longer, because I have to parse each button, which is redundant and annoying since I' already parsed the question.

The only time I've found longer button names to be useful are in rare non-intuitive situations, like when copying files into a directory with files of the same name, and there are multiple options you can take.
A good checklist of important items for optimizing performance should list the important items. That's what she did. Each reader can then skip over the items he already knows. It wouldn't be a better checklist if it left out important items on the grounds that some readers might already know some of them.
16 GB shared among 4 CPUs is different from 4 CPUs which each access 4 GB of private memory.
This advice is so old, what's next, an article on top of HN on why you should never use tables? ...
I think you have misunderstood Grey's Law. The point is that it does not really matter if they did not try it.

I think you probably need to calm down though.
You could take tabaco companies, much of alcohol, gambling, TV and other addictive "entertainments", and to the extend that they are enterprises (if not legal), much of the arms trade, mafia / organized crime, illegal drugs trade, and modern banking, as not providing net social benefits. While generating profits.
No, I was not trolling. The key to understand the whole thing is that it was not a software company, but a construction company and I was there as a consultant.

For them, software is a cost, not a source of revenue. That's why they didn't implement rigorous practices such as code reviews. That's why they'd prefer the cheaper against the better coders. That's why I already followed your 3rd advice.
This is a fantastic article, and the first time I've ever come across anything addressing these issues.

The only thing I don't entirely agree with is:

1) Wrong: "first Falling Bear gets run over"
2) Right: "first Falling Bear gets run over"

I think they're just different. In the first case, I expect a link to to a photo of Falling Bear as he's getting run over. In the second case, I expect a link to a page on Falling Bear, that may have nothing to do with when he was run over.

But I think the distinction is important to make.
Letter to Kevin Mitnick: Test My Encryption
Rage uses a new rendering approach in which every surface has a unique texture. In a normal game, textures are reused all over the place. The texture compression Rage uses is actually very good, it's just that the data set is massive.

Their raw data set is much, much larger than what they shipped. Carmack has given out figures like 300gb per level.

In order to cull that down to a game that can fit in 24gb, they had to drop a huge amount of detail. The way they did it was quite interesting as well.

They get telemetry on clients playing the game, and then they build a weighted set of textures at each mip that were actually loaded by real clients. Then they take the highest weighted 24GB of them, and that is what they ship.
Why would it?

The reasons for firing someone can be documented just as well by a team as by an individual.

And remember, these are US companies, so employment is at-will.
> To be honest, the primary use case for lambda expressions in .net is LINQ

Uhm, yes, if you're incapable of using delegates and writing functions that take delegates as parameters, then you'll only use lambda expressions where other people have written such functions, for example in LINQ or the generic collections in the framework.

But if you can use delegates, and if you can use lambda expressions, they're a wonderful tool to make your code more readable, and that in turn reduces bugs.
Click here to read why you should probably ignore this advice: http://www.marketingsherpa.com/article.php?ident=30124

I believe people process text faster than they process visual cues like fancy icons or underlined anchor links. "Click here to view demo" seems to be faster to process, and more explicit than a fancy "View demo" hyperlink (CSS re-styling of links does not help in that respect). This is pure speculation of course, but one might try to do the reaction-time experiment.
Actually, I find Duedil an extremely helpful service, and I think the increased transparency is a very positive thing.

If you start a business, you're not just a private person - you are the Director of a "legal person" who could be up to all sorts of stuff, including many bad things. You are entrusted with limited liability, lower taxes, and all sorts of other goodies, but there is a tradeoff.

The net effect of increased transparency is that it's much easier to tell when a business is dodgy. For example, Duedil allows me, when doing the due diligence on a possible client or supplier, to check the trading history of the owner. If, for example, I can see that the Director of that business has previously run 10 different businesses with similar names over the last 10 years, that might save me from a very, very costly mistake.

Transparency in the business world promotes trust. Trust is fundamentally necessary for a healthy business environment.
You don't think that what we call "consumerism" is just a Darwinian imperative? The idea that the guy with the most bling gets the most chicks is older than the ascent of Man, never mind Communism.
I feel confident that some form of interconnected global computer network was inevitable. I don't know if it would be better, but surely it would exist.

And there are many examples of private companies pioneering something new even if it takes huge upfront resources and years of planning.
Amen! From a marketing point of view you're 100% correct. In marketing this is known as a "call to action". This is why all of the terrible meme graphics on facebook say "share this" -- while the usability "expert" may hate this it works. And honestly I may dislike it, but it's not about me -- it's about the user.
Starring Scala Johansson and introducing Lenny Linux.
Show HN - Kalei - Auto generate styleguide from CSS comments
Beautiful website, not overproduced at all. Good luck!
I haven't looked into MegaTexture much, but from what I can tell it doesn't repeat terrain textures.

In most modern games, smaller textures are tiled over larger areas, allowing for lots of detail for less memory at the expense of variation. Most do something to mix it up (mixtures of textures, adding random variations), but it ultimately constrains what can be done.

MegaTexture seems to solve the problem of using a single large texture by streaming only the parts needed, but requires much more data on the disk to match the detail level of tiling.
Show HN: ApiDocco - Manage, collaborate and test on your RESTful API
It's sad that .Net doesn't have nullsafe properties, that would be a fantastic way to reduce boilerplate nullchecks everywhere.
The solution suggested in "Crossing the Chasm" is not a frontal assault, but to completely dominate a niche. A frontal assault is impossible, and no one ever succeeds. Microsoft did something that IBM didn't care too much about initially. Google started out doing something that was tangential for Microsoft. Facebook did not go head to head with ads and search with Google initially either.
Oh wow, thanks! I should have also noted I have no experience with the language in the examples so please ignore any ignorance there (probably should have read up on it).

Interesting! All well noted and I'll look into this more.

I'm vaguely aware of fold's power and can definitely see how filter, map and the likes would be implemented in terms of it but I would be really interested in the infodump!

I'm just wondering, ignoring laziness and typing (or any language-specifics), if foldl could be written similar to (2)? Obviously it wouldn't be very good. I've written an example in Racket of what I have in mind:

(define (foldl fn initial lst)
(if (null? lst)
initial
(fn (car lst) (foldl fn initial (cdr lst)))))

(define (fac n)
(if (= n 0)
1
(* n (fac (- n 1)))))

(= (fac 3)
(foldl * 1 '(1 2 3)))

Thanks again for the info, really appreciated. :)
Respect Among Software Developers
Oooh Netiquette!
Well the site doesn't work as of the time you submitted it....
Just wanted to say that that there pull request is a shining example of how awesome GitHub is for open source.
HTML5 [Game] Earnings – Sudoku Editions: Japan
http://xkcd.com/853/
Apple Drops Transit Directions From Mobile Devices
There shouldn't be a question if it's only going to repeat what your dialog options say -- you don't ask "do you want to save?", you just put up "save file", "exit without saving", or "return to program" without any question at all.

Also, yes/no/cancel are only "effortless" to understand if you read the question first (not everyone does that) and if the question is simple.

An example of doing it wrong: my classroom had an unstable piece of software that would occasionally pop up a long error message that asked "do you wish to continue?" at the end; students wouldn't read the whole thing, but would just click "no", which closed the software.

If the same popup had the error message and then buttons marked "continue" or "close program", it would have been far more straightforward.
This is probably the 12th such Chrome plugin we have seen now. We released ours a couple of days after frictionless sharing was announced.

The extension gets complicated when you attempt to get it working for all variety of apps, because app developers are constantly updating the DOM to bypass our filters.

See this previous thread for details when another one of these was announced:

http://news.ycombinator.com/item?id=3810897

see our original project and the code we have so far to getting this to work with other social apps:

https://github.com/byoogle/frictionless

I really wish we could have one project that works in all cases, rather than 12 projects that work in 5% of cases.

We are catching around 50% of cases at the moment with this code:

https://github.com/byoogle/frictionless/blob/master/webkit/f...

but it is moving all the time. I am currently in the process of writing a generic rule engine that can be updated from outside of the extension (compare this to just searching on uiconnect.php in links).

Feel free to fork and contribute to existing code (I can't imagine that one of these previous projects wouldn't have come up if you Google searched).
it's a closure, but it's not an anonymous function; it has a name!

"anonymous function" is a syntactic feature but "lexical closure" is a language feature. In python "anonymous functions" can comprise only one expression: `lambda x: x * 2`, but that's not the only way to make a lexical closure, you can also do:

def foo(x):
return x * 2

and then use `foo` in place of the anonymous function literal.
To rephrase your question: Was Alan Turing going to start a company that would have rivaled HP or Intel? I think the answer to that is no. Would Turing have put an unknown school like Stanford on to the map? Again the answer is no.

There have been some amazing technology entrepreneurs in England like Sir Clive Sinclair who were just as good as their counterparts cross the ocean. The thing is that there was no ecosystem to really support folks like this. Although to be fair in America there were some amazing companies outside of Silicon Valley that never grew an ecosystem that became larger (a good example might be IBM).
Precisely. There is a better way to do it, and Facebook should be encouraging it so users don't hate the feature as much as they already do.

If you're implementing this sort of thing, do it the way ProPublica does: http://www.propublica.org/article/introducing-a-new-non-evil...
So this advice is as old as the Internet hills.

Does anyone actually have strong evidence supporting it (i.e. quantifiable UX studies)?

I've always found the reasons given for this kind of thing rather vague and arguable:

- Don't use click: I really doubt users care

- Don't use 'here': fine, being specific is good where you can

- Link to nouns: seems arguable. Surely if you're linking to a bear then use the noun. If you're linking to a bear getting run over, 'getting run over' is the action here, and should be the link, especially if you have more than one action to link to.

- Link to specifics: yeah, you already said that one.

- End on a link. Hmm.. I'd need to see numbers to believe it
I like that. You don't mind if I fork it, do you? You didn't include a license.
By the same coin, we owe Craigslist, LinkedIn, Netflix, and others nothing.

That's a two-way street.

As crazygringo pointed out, a very large part of the value of these firms comes not from their technology but simply from their market position, dominating a specific niche, and generating network effects as a consequence of size.

In a market in which there's a tendency toward monopoly: utility services, telecommunications, desktop/personal software, business office software, business systems software, advertising networks, publishing, broadcasting, pop music/entertainment, agricultural middleman, major chip foundries, pharmaceuticals, a large part of the value accruing to the firm/organization is a consequence of the interest / business which society as a whole has invested in the monopoly.

At the same time, twin abuses of monopoly pricing (which accrues a greater marginal profit to the monopolist) or anti-competitive actions (driving out competition by way of locally (time or region) undercutting prices, contractually discouraging or prohibiting customers from doing business with competitors) exacts an additional cost on society as a whole.

I've long been a fan of Craigslist. I think that their business exemplifies some of the best of how to conduct an online business (leverage technology massively, but also rely on community goodwill to conduct many business operations, including removing of bad/fraudulent listings). While I'm not a particular critic of CL's page format -- they've held to the KISS principle in the extreme -- it's become increasingly clear that for many types of listings, there are some very evident improvements which could be made.

My feeling is that CL are squandering an opportunity in their dealings with Padmapper. The Padmapper interface, for apartment and real-estate listings, is vastly superior to CL's existing listing format. While there is a business risk to CL in allowing another party to utilize its comprehensive listings (for which CL would reasonably be able to assert compilation copyrights, answering some here), I really believe it would be to CL's benefit to find a reasonable business relationship under which it could utilized Padmapper's interface. Whether that's a data exchange agreement, a purchase or leasing of the technology, or simply a reinvention of it, I don't particularly care (I also owe Padmapper nothing in particular).

And if that's not the case, then, well, CL show a case of a market which, if a feasible business case can be made, is ripe for disruption.
Previous submissions and discussions:

http://www.hnsearch.com/search#request/all&q=title%3A%28...
I don't know if it's possible to figure out which is the chicken and which is the egg in these cases.

Semco, a Brazilian manufacturing company, has been using a "boss-less" style of management since the 1980s. From what I understand they were not exceptionally successful before they implemented this management style.

http://en.wikipedia.org/wiki/Ricardo_Semler
> This goes directly to the team and they should have your programs whitelisted within a few business days.
50% of my users are from USA - Symantec claims that they have a 60% market share in USA - this means that I loose 30% of my income. Day by day until it is fixed. Who is going to compensate for this?
Is there a way to seed things up?

> Second: sign your executables.
Well - now I know. But I just leaned it because I got complaints from my users.

> Third: don't change domains. This wiped out your known reputation.
Thanks for that information. I switched my internet provider and domain. I also use Amazon Cloud Front for fast software distribution to allow users outside Europe a fast download.
I've also added subdomain cdn.codeandweb.com because I thought this might solve the problem.

So you say that it will help
1) To place the downloads on the "old" domain?
2) Sign the executables
3) Move the downloads back to the new domain / cdn?
What about interface defaults prevents or precludes that hack/optimization? You have exactly the same information after all.

For example (disclaimer, it's been a bit since I've touched these classes; but you should get the idea), an extension of Iterator that adds a longSize() method would probably want to make use of ArrayList's size() rather than iterating over the whole thing too.

As an aside, if your code absolutely and utterly depends on a certain operation's runtime performance you had better be using a type that actually guarantees that performance. List<T> guarantees Count is O(1) ( http://msdn.microsoft.com/en-us/library/27b47ht3.aspx ) , IEnumerable<T> doesn't ( http://msdn.microsoft.com/en-us/library/bb338038 ); that's your bug.
Any developer freelancing or working on random side-projects should have an LLC in place. You can't go wrong, all it takes is about $300 on http://legalzoom.com, but it covers you personally if your product/services ever gets into any trouble and provides tax advantages too.
I might be missing something, but what I see as a problem is a situation where: class C implements interfaces IA and IB, which both contain method doSomething() with default implementations, class C doesn't overrides this method, so which implementation is going to be called when method doSomething() will be invoked on instance of C? Will it behave the same way if it is called as instance of C and as instance of IA or IB?
Clearly, there are rules in C++ to handle such situations, one may argue that they are problematic.
I don't particularly like the replacement of native scrolling with links that do the scrolling for you. Usability > looking fancy.
> Arguably Duke Nukem 3D looked better than Quake, but polygonal was the future. Half-Life 2 looked better than Doom 3, but dynamic lighting was the future.

Maybe so but almost 10 years later and half-life 2 is still more enjoyable than doom3. Quake1 and quake3 are the only id games that are remembered not only for their tech advancements (and of course, commander keen).

Now if we had had source engine facial and body animations combined with doom3 engine from the beginning (and of course the much better story-writing of hl2):
http://www.nofrag.com/2004/nov/24/15016/
Challenges with the Flickr API for iOS Development
Be sure to check out IcedCoffeeScript (if you use CoffeeScript) or TameJS as well. You might find them useful.
Forget about the legal risks; how does that even work? If I don't think my coworker is doing a good job, am I supposed to secretly whip up enough votes to have them fired?
It kinda sucks that you still have to declare an interface in order to pass functions around.