HNHacker News
TopNewBestAskShowJobs

kcl

878 karma · joined July 8, 2007

k.concerns@gmail.com
submissionscomments
kcl··on Martin Fowler: Cheaper Talent Hypothesis
Corporations won't benefit from gambling on more expensive programmers. They've already created a structure that takes in programmers, anyone with even a basic proficiency, and ensures that they produce at some specified minimum. It's a system that grinds down anyone with lofty ideas about programming, but it's also a system that's relatively riskless, and that's all large corporations care about---eliminating risk. (Particularly in a department that isn't responsible for generating revenue.)

No matter how bad you are, as long as you're consistently churning out code, in whatever language, enough work is being done that the project moves ahead. It doesn't matter who does it, and at this level of quality it doesn't matter who sits down to work on it (this is huge to anyone in charge of staffing the department).

It's a model that seems to have evolved organically inside the corporation, rather than as some anti-programmer conspiracy, but certainly smart executives at Microsoft and the banks have recognized it for years.

If ThoughtWorks doesn't use this model, and it benefits them, why are they more expensive? If you're paying less overall for talent, you can increase sales by charging less for the same product. When you save on production costs you don't raise prices to celebrate. His evidence only contradicts his claim.

If you amend his blog post to say, "well...you pay more for a higher quality version of the same thing", then what he's saying isn't news to anyone, and his old thesis becomes wrong.

[Software that works 97% of the time and software that works 99.9% of the time look very, very different at the code level. The user, however, can't tell the difference. More to the point, they won't pay for it.]

kcl··on Marriage turns genius off like a tap.
Stunning counterexample.
kcl··on Rich Programmer Food
Eval in Lisp is half a page. That's not a lot of material. If you further discount machine language, the only thing left for a compiler/interpreter to do is handle eccentricities in language syntax. This is rote and arbitrary application of data structures. Rarely do I find it edifying to "undo" complexity that someone else has added, at whim, to computation.
kcl··on Rich Programmer Food
This is a very long article, and it's founded on a false premise.

Compilers is not an important topic because there's nothing universal you can take out of it. Machine code as we know it is a pretty arbitrary construction. Register machines themselves are pretty arbitrary---they're just one way to make use of transistor circuitry. The conversion from C to machine code is not really worth remembering. It's true that this system forms the basis for all our computing, but like the nanoscale physics of semiconductors, it's not required knowledge for programmers. It's just a bag of rules...it's not even a bag of tricks.

If you work at Intel optimizing compilers, then maybe you need to know this stuff. If you never hunch down and program inline assembly, why do you care? You're too far from the bytecode to leverage compiler knowledge against performance, and in fact you'd probably be wasting your time to do so. Its workings operate below the required level of abstraction. Understand what's going on, but leave the details to someone else. I don't need to know how Firefox implements an HTML parser to render my webpage. I just need to know that it does so in a consistent way.

Compiler implementations are pretty arbitrary, and oftentimes they're filled with a lot of goofy stuff. We shouldn't still be carrying cruft like Please-Excuse-My-Dear-Aunt-Sally around in our languages---and this is half of what a compiler does. If there's anything beautiful to take out of a compilers class, it's that a compiler can compile itself. There---I've spoiled the ending, skip the course and take a theory class instead.

kcl··on The Economics of Marriage
The follow-up article is much better:

http://www.slate.com/id/2182089/entry/2182091/

kcl··on Post your proofs: Given five points on a sphere, four of them lie on a closed hemisphere.
Three non-collinear points determine a plane.

A counterexample to your proof would be to draw a plane through three points, say near the top of the sphere, then distribute the remaining points on the bottom. Then you don't get a proper division by taking your plane as the dividing line, since a working version would require more than a hemisphere of volume.

Thinking in terms of x, y, and z axes is a red herring. The symmetry of the sphere makes them irrelevant.

kcl··on Cybersquatter email
According to the law and from the perspective of the business world, what Mr. Li & co. are doing is perfectly fine, no one would disagree. You call it 'legitimate', and I think that's a fair description.

Obviously, though, you'll notice that a lot of people don't like what they're doing. I personally wouldn't go so far as to call it 'unethical', but I know that I definitely don't agree with what they do, since on a number of levels it strikes me as wrong.

The legal framework surrounding the purchase and ownership of domain names was ultimately established by fiat. The model we have is not a sacred construction that fell out of an economics textbook. It was chosen to represent some idea of how we thought domain name ownership should be handled. We didn't know how the domain name market was going to evolve. How could we? It was a radically new idea with little precedent. The closest thing we had was our model for physical real-estate, and so that's roughly what we adopted, in an attempt to make it a fair system.

Early on, though, we realized that our model didn't quite match up to the expectation of fairness we had for our system, and when a legal framework fails to match our conception of how things should work, we revise it, and we do so with more laws. The major law that came out of this was the Anticybersquatting act, and though it was drafted largely as a result of corporate interest, it represents our belief that something was wrong with the framework we had set up. (If I'm going to build a McDonald's, you have to move your lemonade stand off the piece of real estate labeled MCDONALDS in big bold letters...on every map ever printed.)

When you say that Mr. Li isn't a cybersquatter, even though it is grossly obvious he fits that definition (http://en.wikipedia.org/wiki/Anticybersquatting_Consumer_Pro...), whether you agree with it or not, it leads me to believe that you have a problem with anyone being labeled a 'cybersquatter', on the basis that there is nothing inherently wrong with the act of cybersquatting.

The problem people have with Thomas Li and octopart.cn, is not that he desires to own a domain name that somebody else might want. It's that, rather than engage in some type of productive behavior, Mr. Li has seized upon a opportunity to make a little money entirely at the expense of the Octopart company. His behavior is counterproductive. It is of benefit to no one (except himself). He has created, in effect, a potential loss for Octopart, and now he is offering them the ability to avoid that loss. The key point here is that he has created a loss opportunity, and no real gain for anyone. Of course, he has the potential to gain money for himself, but in the long tradition of ill-gotten gains, people really won't like him for it, because he won't be receiving money in exchange for some positive output he's created, he'll be receiving ransom money in order to not make something worse.

We see a similar thing happening in the parking of domain names on a massive scale. Mass parking occurs when an entrepreneur buys up thousands of domains, on the cheap---since most of them haven't been registered---and then sets up dummy search pages and advertisements on each of them. He never puts original content on these sites. With judicious use of SEO tricks, he can still get them to pop up in your Google search, even though nobody in their right mind would ever link there or even want to visit there in the first place. Do parked domains actually add value for the consumer? Not likely. At best they simply rearrange or add vestigial segments to the plumbing of the internet. If I search for "sony tv" and the first ten results are WALMART.COM and the last one is TARGET.COM, my search isn't any better than if the first result was Wal-Mart and the second was Target. All Wal-Mart's done is increase the probability that I visit their site before I visit Target's...which may improve their market share, but actually degrades my experience as a consumer. You'll notice what we have going on is, again, a transfer of wealth, and not a creation thereof.

The practice of mass domain name parking must make some people a lot of money, but I don't think that anyone believes this is a desirable feature for the internet to have.

(Historically, these types of 'transactions' are frowned upon. If I'm a pirate and I capture your ship, I just got a lot richer, but the net effect on society is negative, since much work has been expended without the creation of wealth, and now much more work in the future will have to be expended on defense, which, short of economic stimulus and R&D, also fails to create wealth. This is why industrialized societies don't like war, or theft, or raiding, or vikings, bandits, bank and train robbers, burglars, pirates, muggers, hijackers, and highwaymen. Their acts are always lucrative for a small number of people at the severe expense of everyone else. Wouldn't you rather someone spend all day planning a building instead of a robbery?)

kcl··on New Feature: get kicked off News.YC on demand
Can someone post how to do italics and code indentation?
kcl··on ... because Ruby isn't terse enough yet
This is shorter than both the Ruby and the Arc versions:

{x set y+eval x}

It's in q, a verbose version of a language called k.

Applying it to a symbol/variable `n will give you a functional projection you can apply to any i.

kcl··on Y Combinator interview advice (by Robby from Zenter)
One thing I seem to notice from people doing startups---really, from anyone doing something that isn't codified---is the urge to take a personal experience and distill it into generalized wisdom, even if what they learned isn't useful in general. If you have a scatterplot, you can draw a pretty nice linear approximation through it. I sort of think of this type of advice as the experienced person throwing a line through their one point and then trying to orient that line as best they can. Personal stories make great content for a blog, and it's true, when taken in the context of other people's experiences they can be of great help, but the urge to generalize and present them as a method is something that's usually better off avoided.
kcl··on Playing Your Hand With Your Cards Turned Up
Got one chef, one maid, all I need is a partner

To play spades with the cards up, all trust.

kcl··on Another name for the "wisdom of crowds"
"emergence"

http://en.wikipedia.org/wiki/Emergence

The article is from 2004, but the idea goes back to Aristotle.

kcl··on Arithmetic is Hard--To Get Right: Wolfram Research on Excel bug
I was poking fun : )
kcl··on Arithmetic is Hard--To Get Right: Wolfram Research on Excel bug
He's convinced me. I'm going to use Mathematica for all my spreadsheets now.
kcl··on The Genius is in the Details
In the Gmail Genius vs Clueless Manager comparison, I think it's more apt to say that the genius can traverse the tree and 'drill down' where necessary, applying the most effective changes at the necessary level of detail. The Clueless Manager is always stuck at the highest levels of abstraction, and he can only work with very blunt objects. The point is that the largest gains can sometimes come from optimizing disk-seek speeds, and being able to recognize (and correct) this is an advantage over only being able to talk about performance in generalized terms.
kcl··on Wolfram On Hunting For Our Universe
Case in point: you're kovasb@wolfram.com, I'm not an academic.

Wolfram has used his business to unduly promote his research. There is a huge difference between him and a professor making the rounds.

kcl··on Wolfram On Hunting For Our Universe
It also had a quite a large marketing campaign behind it.

Last I checked most objective scientific writing didn't come with a hype machine attached.

kcl··on Wolfram On Hunting For Our Universe
How can this guy STILL be that full of himself even after all the shit he took for writing A New Kind of Science?
kcl··on How to Do Philosophy
All that proves is that Baudrillard's message is invariant under Markov chains. I'd like see a mathematician produce an argument of such fine structure.
kcl··on The man with the Y Combinator tattoo
For the truly paranoid only:

Witness the evolution of 'V-E+F=2' since Euler's time:

http://www.amazon.com/Proofs-Refutations-Logic-Mathematical-...

Is it right? Is it wrong? What does it mean to even BE a 'face' ?

Although I guess the worst thing that could happen in this situation is you change your explanation of the tattoo, and not the tattoo itself.

kcl··on The man with the Y Combinator tattoo
-1, extraneous use of \eq

$e^{i\pi}=-1$

: )

http://nirvana.informatik.uni-halle.de/~thuering/php/latex-o...

http://nirvana.informatik.uni-halle.de/~thuering/php/latex-o...

'LaTeX compiler' cloud app...very 2.0

kcl··on Coding Horror: Everything Is Fast For Small n
When I started reading this article I figured he was going to deliver a lesson on when it's better to fall back to less efficient algorithms when you can be sure of a small n. Territory that's been covered before, sure, but also a topic with a lot of room left for discussion.

Instead we get a CS 101 discussion of big-oh?

What?

Do I really want to take advice from someone whose first instinct was to implement insertion sort?

I'll counter: Here's a gem from CS 101 that not everybody's seen: Sorting out Sorting (edit: see the better link posted below)

Even if you know algorithms the video is still stylistically interesting. It's a good example of how to teach quantitative material. The YouTube video is speeded up, but the presentation of n^2 sorts is more effective when each of the demos runs for a painfully long two minutes.

kcl··on Canadian dollar at par with American
'Canadian dollar outvalues American' was a much more eye-grabbing title. This is the tidbit people care about. The intraday high was US$1.0008. By anyone's measure, actually Wall Street's, which is the only one that matters, the Canadian dollar outvalued the American. Since this is a news headline, we use the present tense to indicate something that occurred in the past.

Tomorrow when the CAD falls below the dollar are we going to re-edit the title to say 'Canadian dollar well below American'?

kcl··on 15 Excellent Examples of Web Typography. Part 1
Site down?

Dotcache version of the site:

http://dotcache.com/http://ilovetypography.com/2007/09/19/15...

While we're at it, CacheView plugin for Firefox:

https://addons.mozilla.org/en-US/firefox/addon/2323

kcl··on The Unexpected Uselessness of Philosophy, The Unexpected Usefulness of Mathematics
Article title makes it looks promising but actual content fails to deliver.

Better to read 'The Unreasonable Effectiveness of Mathematics in the Natural Sciences': http://euler.slu.edu/~srivastava/wigner.pdf

kcl··on Ask YC News: Voting up vs. up and down
I wanted to downvote 'funny linux command lines'. When I couldn't find the downvote arrow my first instinct was to upvote everything else.
kcl··on HOTorNOT Reverses Course On "Reinventing" -- Back to Paid Accounts
He is obviously lying. This is not even a debatable point.

It's called spin. A representative of the business is giving a half-credible excuse for reverting to a process that will be unpopular but that will also generate more revenue. Politicians don't change their stances on abortion because of changes of heart...they do it because it will net more votes

For whatever reason it's taboo for a press release to say "we're taking this course of action because it's more profitable", unless you're talking to stockholders and not users, because 1. all business actions are taken with profitability, short term or long, in mind, so it goes without saying 2. you would piss off your users who care only what you give to them and rarely at all whether you're making money or not

kcl··on When non-programmers write software
Pleasant article. It's easy to relate to the feeling of wonderment the non-programmers have, since, in a sense, on our first big project we're all non-programmers. I wish I could generate the amount of code I used to in those days.

The problem now isn't overcoming the language, or figuring out what to do, it's staying focused on what's really the same boring implementation you've been doing since the beginning. I know exactly what my next thousand lines of code are going to be. I just can't bring myself to sit down and type them out for hours on end.

kcl··on Ask PG: What is a good size for a YC idea?
Tag cloud seconded. Then progress to vertical reflection of your graphics.
kcl··on A Hacker's resume (Jon Lech Johansen)
I don't see what languages he's good at. Forward it John in IT-HR, maybe he has something for him.
← PreviousPage 4 of 5Next →