HNHacker News
TopNewBestAskShowJobs

ejames

585 karma · joined October 25, 2009

submissionscomments
ejames··on The conversation that led to Ruby being called Ruby
I always enjoy (from an intellectual perspective) seeing two translations of the same thing...

When I compare your rewrite to mine, I notice that I semi-unconsciously had Matz and Keiju writing some lines as full sentences with correct English capitalization, and others as fragments starting with lowercase letters. That's often how English chatlogs look, after all. I have a Skype chatlog in my other window, talking with my product manager, that has a similar feel - I don't capitalize when I'm continuing the thought from a previous chat message.

And of course, I missed a few things you didn't - I'm not as conversant with tech-related Japanese.

It's tricky to come up with an idiomatic way to show two people discussing in Japanese an English play on words. Not to mention the Japanese "how is that spelled?" question that doesn't make sense in written English.

ejames··on The conversation that led to Ruby being called Ruby
Something like this, plus or minus English chat-slang:

(EDIT: dangit, I forgot that HN chops up linebreaks. hold on) (DOUBLE-EDIT: Text file from my Dropbox: http://dl.dropbox.com/u/9485376/chattranslation.txt)

ejames··on The conversation that led to Ruby being called Ruby
A link to the original (scroll down a bit):

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/5...

I might try my hand at a translation with better flow... although, remember, the original is a chat log. Chat logs read in retrospect usually don't flow as well as natural conversation!

ejames··on Jimmy Wales: Wikipedia is Losing Contributors
I think this is also the best way to understand the results of editing wars and the like.

A requirement for consensus is incompatible with individual rights, since people have the right to disagree. For low-interest topics, Wikipedia eventually succeeds anyway because less-motivated contributors become bored or exhausted and stop arguing. For high-interest topics, the search for consensus becomes more and more explicitly political - political as in "determining the governing rules of a body of disparate people", rather than political as in "are Republicans better than Democrats", although the two kinds of 'political' are both present in many edit wars.

Take the cool-off rules, for examples - locking an article for a period of time, or forbidding certain people from editing it. This is central to Wikipedia's functioning in highly controversial areas, but "nobody can edit this article today" is a policy, not a datapoint. Politics produces policy - a set of actions that can be acted upon by people who do NOT necessarily agree about the underlying facts.

Nasty edit-wars borrow from the tools of dictatorship and oppression - censorship, propaganda, exclusion from the body politic. It's not a coincidence; as mentioned above, consensus is incompatible with individual rights. You need to limit which individuals are allowed to participate, or negotiate the ways that their participation will be accepted. In a sufficiently small or like-minded group, consensus can work again.

A data server has a failure state where some of the data is lost. Wikipedia's failure state, on the other hand, resembles the internal rupture of a political party in a post-Soviet state. Like communist countries, Wikipedia articles demand consensus from their citizens in order to operate.

Of course, unlike Eastern Bloc revolutions, Wikipedia contributors typically do not get lined up against a wall and shot. =) That's also one of the reasons we tend to put Wikipedia edit wars in either the "tech company struggles with its architecture" bucket or the "people on the Internet are angry, news at 7" bucket, rather than the "fractured political unit experiences internal strife due to irreconcilable demands on limited resources" bucket where they actually belong.

ejames··on Jimmy Wales: Wikipedia is Losing Contributors
Because there are storage costs other than the literal cost of maintaining data on a server.

Is the data accurate and up-to-date? Are the links still viable? Do the citations check out? etc.

It's just like having a project with a huge number of lines of code. It's an important maintenance task to delete outdated or obsolete code - not because you will run out of disk space to store your .c files, but because unused, unmaintained code is very likely to be confusing or wrong.

Remember also the power rule for user contribution: 90% of all users do not contribute anything ever. 9% of users contribute at least once. 1% of users contribute everything else. If an article is not very notable, it's extremely likely that the person who originally contributes it will be the only person who ever contributes anything to the article, and contributing the original is very likely to be the only contribution to the subject they make. This will hold true even if there are some number of "long tail" readers interested in the article, because readers are drastically more common than writers, and infrequent writers drastically more common than writers who consistently attempt to improve the articles they read.

So: Articles with low notability are probably poorly maintained, out of date, and/or consisting entirely of the statements of a single person. Making them better imposes a cost which relatively few people in Wikipedia's community actually pay - the cost of taking time to edit something.

All of Wikipedia's pains and stretch marks will become much clearer if you restate the purpose and function of the site. If you approach Wikipedia as a server farm that takes in user contributions and produces a compilation of same, then it's strange to have any limits on contributions, since the cost of storing text data is extremely small. If you approach Wikipedia as a group of people that takes in the members' time and energy and produces agreement between the members, then you see where their problems come from.

Remember, a Wikipedia article gets to stay in a particular state only when everyone who potentially could change it agrees that no changes are necessary. Wikipedia produces consensus, not data. Its limiting factor is the time and patience of the people who work on edits.

If you need consensus - the kind that will not be repeatedly challenged by latecomers - and you are limited in the number of people who will voluntarily "meet" in the editing area to discuss a particular subject, then low-popularity articles are a cost with no benefit. The opinions of a single person - possibly an oddball, since they're the only one who submitted the article - will produce no agreement, and it will consume more time and energy to find people who could hammer out a lasting consensus.

ejames··on MIT develops new tool that can interrupt infinite loops
The halting problem:

Given a program and an input, determine whether that program, given that input, will ever halt, or if it will loop infinitely.

One of the fundamentals of academic computer science is learning that it is mathematically impossible to solve the halting problem - which is why the grandparent comment simply notes "the halting problem" with no further explanation; it's a famous problem. (Don't feel bad, everyone has to learn something the first time!)

The poem linked elsewhere in this comment tree is a simple and pithy description of the mathematical proof.

For (many) more details, Wikipedia has plenty of information.

ejames··on Patents are about to become a bigger problem
In theory, a patent is supposed to be specific enough that the patent itself accurately describes the object, to the extent that a reasonably knowledgeable person could actually manufacture the object using only the patent as a blueprint. In other words, you would not be able to write the patent application unless you had actually invented the object in question, because otherwise you wouldn't know how to describe the theoretical object well enough for a person to manufacture it. Therefore you cannot patent imaginary future inventions.

In practice, this rule is effective only to the extent that the Patent Office enforces it.

ejames··on Urbanisation in Minecraft
It tends to work the other way around - a game world is set up, then economists study it. It's difficult to set up a world just for study, because people will not actually join and play unless it's an enjoyable game, and at that point you're a game developer rather than an economist.

The most interesting economic work I know is for Eve Online. The company that operates Eve has hired an in-house economist to study the game's economy and publish periodic reports, which are available online - a quick search will turn them up. The reports generally focus on the economic effects of adding new content to the game - "here's how players reacted to the last patch."

ejames··on The CMS Is Broken.
I find this interesting because TPM's solutions reminds me of the classic UNIX "pipes and filters" strategy - a series of small components with well-defined inputs and outputs that can be strung together to produce a sophisticated result. (Of course, "small", "well-defined", and "sophisticated" could be relative terms.) The pipes and filters "API" was plain text transmitted through stdout.

It also strikes me as an example of software development becoming more deeply embedded in media companies. It's not an accident or a coincidence that most content management systems work on the framework-with-plugins model. Dedicated software developers build the framework, and it's expected that organizations who use it only have the technical chops to deal with plugins. TPM's architectural change is also a change in the amount of development work they plan to do - they're saying that they can afford to rewrite/develop/debug/etc. 10% or 20% (percentages are arbitrary) of a CMS-size framework and string those components together, rather than work with the 2% of a plugin and sprinkle it on top of the main 98%. They've moved up the food chain in the size of their internal development.

ejames··on Show HN: An isometric marble run build in CoffeeScript
"Isometric" refers to the style of the 3D viewpoint. The x and y axis are presented at a 45° angle, and the camera looks 'down' on the surface diagonally.

Escher's work is an example of how an isometric perspective can be manipulated to present an impossible object, such as a staircase that appears to go upwards even though the 'top' stair is connected to the 'bottom'.

ejames··on Cheating and the Honor System
There's basically three categories where this problem shows up: grade inflation, cheating, and discipline. Grade inflation is most relevant to colleges, discipline only matters for levels of schooling with mandatory attendance, and cheating cuts across all levels.

However, the same issue is in common: In theory, there are standards applied to students, and it is an important priority to distinguish between students who meet the standards and students who don't. In practice, the administration does not necessarily care about applying the standards rigorously.

I think the following two articles are a good introduction to grade inflation as a topic:

"Can Untenured Faculty Members Stop Grade Inflation?" - Chronicle of Higher Education, http://chronicle.com/article/Can-Untenured-Faculty-Members/4...

"In the Basement of the Ivory Tower" - The Atlantic Monthly, http://www.theatlantic.com/magazine/archive/2008/06/in-the-b...

It can also be useful to read up on business schools, because a business major is not an "academic" subject; more than any other major, the students are looking explicitly for a credential that boosts their income, and don't care about the subject material. The book "Ahead of the Curve" (http://www.amazon.com/Ahead-Curve-Harvard-Business-School/dp...) is a well-written appraisal of the Harvard B-School and includes chapters specifically on both grade inflation and cheating.

Going through these publications and/or following the notes and recommended reading therein can lead to more involved reading on the topic. Articles in the Atlantic Monthly are always a good starting point.

The fundamental issue: If an institution of learning punishes students for cheating, or failing classes, or behaving badly, then somebody, somewhere must have both the authority to do so and the goal of exercising said authority. But often, nobody wants to be that person, or the authority is conflicted, or the goal is given less priority than the goal of making money/quota.

ejames··on Cheating and the Honor System
I'll have to go back through my reading list to see what I recommend - I've been following education issues to some extent for a long time, long enough that I remember reading better articles but not where I found them.

It's a bit much for me to write up on my coffee break, but I'll try and get back to this. Please shoot me an email (in my profile) if I forget to write it up.

ejames··on Cheating and the Honor System
I can't say that I find this particular blog post that interesting. "Teacher applies firm standards, which a spineless administration then undermines" is a well-worn subject if you have spent time reading about education, and this particular post is not a strong introduction if you haven't.

The site design, on the other hand, will probably stick with me for a while: a background theme of a Soviet-style propaganda poster where the beaming People's Workers triumphantly brandish gin and tacos.

It's distracting and the text is hard to read, but I will probably never forget this site's URL. Sometimes there's value in picking something out of left field and just running with it.

ejames··on CAPTCHAs decrease conversion rates
Since several commenters have been asking for an explanation of honeypots and timestamps, here's a link[1] I happened to run across just recently and a quick explanation.

- Honeypots: Add a field to your form that is styled to be invisible to normal human users, such as being located off the screen, sized to 1 pixel, or placed behind/under images on the page. Bots examine a page through HTML rather than through eyesight and will not distinguish these fields. Reject submissions which have entered text in the honeypot fields. - Timestamps: Some spambots operate by 'playback' - a human fills the form out correctly once, then copy-and-pastes the form output into a script that replaces the comment text/etc. with desired spam links. Place a hidden field in your form that contains a timestamp (possibly hashed or combined with other form output). Reject submissions which contain a timestamp far in the past, indicating a bot which is 'playing back' an old submission.

The idea with defeating spam is not to be 100% accurate with unbeatable security, since no matter your system, a bot tailored to your site can defeat it. However, putting several simple techniques together can defeat general-purpose bots that shotgun spam across many sites. This reduces spam to levels that are manageable by hand.

[1]http://nedbatchelder.com/text/stopbots.html

ejames··on A human error caused some sensitive server...
Ah, but that is human error - the error of the person who used a program in a manner for which it was not intended! They erred in not understanding that the program was written years ago and not intended for that use. Of course, then it is not the error of the human who wrote the program.

This, however, is the reason why the phrase "human error" is mainly applied to simple, 'random' mistakes such as typos, fat-fingering a button, or misfiling a paper - errors that anyone can make, simply by being a forgetful human - rather than the literal meaning of "any error committed by a human". Stretched to cover every mistake made by a homo sapiens, the phrase loses all descriptive power.

So, to clarify - all errors made by humans are "human error" in some sense, but that renders the classification meaningless, so we should distinguish between simple, common errors and more worrisome ones by using words other than "human error". Your example of a programmer that did not foresee a future desired use could be referred to as a "requirements error" if the programmer reasonably could have or should have foreseen it, as "operator error" if the person using the program is meant to be trained to understand its proper uses, or a "misallocation of resources error" if the problem exists because not enough budget or time was assigned to keep the program aligned with current necessary uses.

I sometimes feel that a fair number of disagreements or disputes in the comments of Hacker News are best resolved by checking whether we are using words in exactly the best way.

ejames··on A human error caused some sensitive server...
Yes, but it's a different and more serious kind of human error.

"Someone made a typo" is one kind of human error. It's common and easily corrected. "We are running our servers such that someone can ruin everything by making a typo, and we won't catch it until it's too late" is a different, more serious and less easily-corrected error.

But yes, all bugs are human error.

ejames··on Student Who Found GPS Device On His Car Due To Reddit Comment Sues The FBI
Actually, this is something of a new problem in privacy considerations - broader than the strict "is a GPS device on my car illegal" question.

A great deal of what we call "privacy" - in the common English meaning of the word, rather than the legal definition - consists of other people lacking information about our movements and actions. However, in that meaning, most of our privacy comes from the fact that 1) nobody is actively attempting to gather information and 2) it would be very difficult for them to do so if they tried.

With technology, it is both dramatically easier to collect information, and dramatically easier to convert that information into a usable form (whether for sale, or for leverage in a government action).

So although it's true that the technological method by which the FBI gathers information normally does not affect their legal right to do so, the standards under which the FBI operates were made when gathering information was difficult enough that stricter standards were not required.

That's why it's a big deal. Normally they wouldn't bother to follow him. Normally they wouldn't have the time or money. As such, it was OK to give the FBI broad freedom to follow someone in an unmarked car, because the check on the FBI's ability to abuse that authority was its lack of money and manpower. Now that technology has solved the FBI's lack of money and manpower, the legal question is much more relevant.

ejames··on Developer only event at SXSW (code puzzle gets harder with more tweets)
In that sense, at least, the event is being held by people who understand the hack mindset. I noticed that the puzzle was very easy, and that the "elite hackers" are in fact a recruitment agency, and therefore that the main purpose of the event is probably for a recruitment agency to put their recruiters in the middle of a bunch of hackers while eliminating competing recruiters who have the same goal.

... but I still did the puzzle.

[edit] And everyone else is doing it too, and posting their solutions here! "Blazing guitarpocalypse"[1] indeed.

I might attend the event, but that's mostly because I'm in Austin and feeling curious, and not because the website convinces me the event will have a high quality.

[1]http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-progra...

ejames··on Working at Microsoft – Day to Day Coding
It's typical for Microsofties to use IE, search on Bing, etc. simply for dogfooding purposes, but it's not a specific requirement.

It does draw some raised eyebrows if you show up at the office with, say, a personal laptop that's a MacBook and a paired iPhone, but it's at the level of good-natured ribbing rather than actual managerial disapproval or job problems. I would usually say "Yes, but I convinced a family member to buy an XBox 360, so my corporate loyalty karma evens out!"

ejames··on Why do programmers write apps and then make them free
Perhaps the best compromise would be to sell it very cheaply. As a practical matter, a buck or two isn't much of a barrier to people who want to use your software, and if you spread a useful product far and wide, that still benefits humanity.

It seems like being misunderstood is what makes you angry and unhappy here - so switching to a model that people understand might be a relief! Remember why you started the project. Is your goal to prove people wrong about the value of free-but-not-open-source software, or is your goal to improve people's lives at a low cost? After all, there was already a cost to your software - the time cost of finding, evaluating, and installing it. That time cost, plus a buck or two, would not be a big increase in the real cost for end users.

And you could keep it your little secret if your 'business' runs in the red because you charge pennies on the dollar compared to what it's really worth.

ejames··on How To Manage A Tech Career
The problem is that your assessment of risks also depends on your valuation of the underlying issues.

For the sake of argument, suppose that someone considers a 15% chance of going broke and having to live with their parents to be a "moderate" financial risk. Somebody else considers a 30% chance of the same thing to be a "small" financial risk. It's possible that the latter person has a higher risk tolerance. But it's also possible that they just like their parents a lot and wouldn't mind living with them as much as the first person.

My instinctive answer would be that most people consider themselves to be cautious or perhaps even cowardly - because, by nature, you pay the most attention to the risks that bother you the most, and if your internal, subjective mental process is to always avoid those risks, you will feel like a cautious person, even if there are other objectively-measurable risks that you are not avoiding.

ejames··on What Does Today's Google Doodle Represent?
Advent calendars are known in the U.S. as well, although I can't vouch for how widespread they are.
ejames··on Obvious to you. Amazing to others.
It may be irrelevant in the big picture, but I think it's quite relevant and interesting from a psychological point of view that talented individuals sometimes have difficulty judging their own work because, from their perspective, it was easy and obvious.

It seems particularly relevant for mental or theoretical work where choosing the right approach has a great deal of leverage. If "all" you have to do is "just" look at a problem in a certain way, or examine the equation like so, or frame the issue from a particular viewpoint, then the resulting breakthrough may simultaneously be quite stunning to people who didn't think of it and quite obvious to people who did. Changing your viewpoint is as easy as deciding to do so - it's a task that doesn't even require the mental effort of, say, memorizing the dictionary, or similar feats of mental and memetic agility. But knowing that you can change your viewpoint, and choosing exactly the right viewpoint to use, is an extraordinary ability that not everyone has.

ejames··on "The web is considered 'public domain'"
> ...but they never asked.

That's rather the problem - asking every person who holds the rights can be genuinely difficult.

In your case, the original magazine was published years ago. Even if the publisher had kept your contact information - and didn't lose it when the got bought out by another company, and THAT company didn't lose it in the next level of buying out, etc. - the contact would no longer be accurate all those years later.

Even if they did somehow manage to contact you, it's possible that you wouldn't have responded to the letter asking for rights anymore than they responded to your letter asking for payment.

There could be this same problem for every article in every issue for the entire span of the magazine.

Hasbro could have noticed somewhere along the path to you initiating court procedures and have offered a quick payment of $120 to make you happy instead of the $2000 default judgement, but a corporation as large as Hasbro probably gets a lot of complaints, some of them nuisance complaints or crank calls.

It's quite possible that the $2,000 they had to pay was cheaper - maybe even dramatically cheaper - then the filing and/or legal footwork involved in accurately determining that it was necessary to pay you.

And when determining what you need to do in order to comply with a law is very burdensome or difficult, I would say that it's fair to call that a problem with the law. A good law should make it easy to obey the law - not easy in a moral sense where it's a low standard, or easy in the loophole sense that you won't get caught anyway, but easy in the accounting sense that accomplishing non-nefarious, law-abiding objectives should cost small amounts of money in overhead activities.

ejames··on Groupon in Retrospect
What Groupon wants doesn't particularly matter to the situation. Unless Groupon has somehow convinced you to sign a contract promising that you'll never give anyone a better discount than the Groupon, you can handle regular customers however you want - including customers who aren't doing business under Groupon terms, because their Groupon is expired and doesn't apply. So: "Sure, Lucy. Here you go."

Now, there is a real barrier to just giving Lucy the deal. The entire point of the blog post is that the discount was ruinously unaffordable and didn't attract customers. When you can't make payroll, maybe you genuinely can't afford to comp six dollars of flavored water! Or maybe you don't want to set the public precedent of honoring expired coupons when the coupons were bad business even during their active dates and an entire line of customers is listening to this exchange while waiting behind Lucy. Maybe you get a flood of people digging out their expired coupons, or just demanding to be treated as well as Lucy - exactly what you can't afford. If something is unsustainable then you need to stop sustaining it, and that means there has to be a first person you tell "No."

I suspect that was the sense in which the original poster said she "can't" give Lucy the deal: The deal can't be continued - it's been a disaster - it can't go on. Strictly speaking, you have the power to treat customers however you want, but at the end of a bad business decision related to customer discounts, it's only human to frame everything in terms of "we need to get out of this bad deal."

But taking the Groupon deal at a bad price, such that she painted herself into a corner with her best customer, was still the original poster's own mistake.

I feel it would be unambiguously better, in a social and moral sense, if Groupon provided more advice and guidance to discount providers so that they don't risk going out of business. The mistakes may have been the responsibility of Posie's Cafe, but problems are problems, and Groupon wasn't exactly an uninterested bystander in the issue. I think it would probably be better for Groupon's long-term economic interests as well; if you burn your business partners, you earn a bad reputation, and eventually you run out of people who haven't heard the nasty rumors.

ejames··on In Praise of Quitting Your Job, or The New Work Ethic.
Quitting after you've vested is 100% honorable. It's unethical to fire someone the day before they vest because that makes it clear you did not intend to ever hold up your end of vesting agreement; it means that you entered the agreement in bad faith and planned to manipulate your way out of paying up.

But in the case of quitting after your options vest, the employee never made any agreement - explicit or implicit - that they would continue working after options had vested. If the agreement is that the employee will receive 1,000 options for 365 days of work, the employee is not obligated to work for 366 days any more than the company is obligated to release 1,001 shares. Somebody who works 365 days has already held up their end of the bargain. They didn't cheat.

ejames··on Banana equivalent dose
Unfortunately, radiation lends itself very well to sensationalism - "Invisible death rays are killing you right now!" That's exactly the kind of thing you would actually, really want to be very afraid of if it were happening, because developing symptoms is the only way a civilian could notice.

But the important part of assessing danger is knowing the strength of the radiation, and most public accounts simplistically divide objects into "radioactive, run for your lives" or "safe". Since measurements can accurately distinguish levels of radiation that are actually indistinguishable as far as real danger to human beings, you get reports like in the link stating that "the milk is radioactive!" when it's only 1/75th of a banana dose and no threat at all.

ejames··on Ask HN: How do I get started freelancing?
Interestingly enough, there's now an Austin-area group that focuses on exactly this theory: Volunteer technology work to bootstrap both startups' products and individuals' careers. You work for free as a way of building social capital. I'm doing it right now, working on a startup's webapp for $0/hr with the understanding that if the founder likes my commits at the end of the week I will be hired as a contractor for $N/hr.
ejames··on Al Jazeera English: The Most Hated Name in News
> At the same time I don't know why CNN and other American network report junk. Don't they simply report what American public wants to see and hear? Isn't that a commentary on the quality of American viewers? They are in the business of selling the audience to the advertisers.

That's the problem journalism is facing - funding. Maybe more fundamentally, the divide between the social value of journalism and the monetary value.

I think everyone understands the first part of the problem - without money, a lot of journalism just goes away. You can't afford investigations, foreign bureaus, thorough research, etc. Even simple beat reporting gets worse when there aren't enough beat reporters to go around.

What worries me is the relatively unacknowledged second part of the problem: Journalists end up doing MORE of the things that cost less money, or are more profitable, even if they aren't really good journalism. Talking heads, sensationalist stories, reprinted press releases, etc. There's also the more subtle corruption of PR agencies and political operatives that want to "help" journalists "understand" what just happened - even if the journalist is savvy enough to fight back, it still takes time (which is money!) to do that. The less resources the journalist has, the easier they are to manipulate.

The social value of journalism is accurate information. But ever since Craigslist punched a hole in the bottom of the classifieds market and let out all the profit, journalists can only make MONEY by getting a lot of eyeballs in a short time. And everyone who's compared Reddit with HN knows what happens when information delivery turns into a short-term popularity contest for the public at large.

ejames··on The Cancer Of Microsoft’s Tastlessness
As Microsoft is the only very large corporation I've worked for so far, I'm afraid I can't really make a comparison.
← PreviousPage 2 of 3Next →