HN user

billybob

3,652 karma
Posts5
Comments873
View on HN

I've been using Git for a couple years now, and I don't think I've ever lost any work.

Even if you do `git reset --hard HEAD~5`, "throwing away" your last few commits, they aren't actually discarded yet. You can do `git reflog` to see them and then `git checkout -b some_commit_hash` to recover one to a branch, or `git reset --hard some_commit-hash` to set this branch back to that point.

Only if those commits stay orphaned for a while (a week or two?) will Git truly discard them.

> 1) ones that give you what you want > 2) ones that drive demand

A big part of Google's success is that #1 is much easier to prove than #2.

"People bought our product more because they had become familiar with it over the last month via newspaper/radio/Facebook ads" is a hard-to-prove claim.

"We got X clicks from Google ads leading directly to Y purchases" is much easier.

Our reactions to the thought of armed drones firing on American citizens on American soil should not be very different from our reactions to using these against our enemies.

American politicians often said, after 911, that the attacks were "cowardly." I suppose that's because they were against unarmed citizens. But still, the attackers did it knowing they would die. Evil, yes. Cowardly? I don't see that.

On the other hand, I bet Al Qaeda gets lots of propaganda value out of our drone attacks. "Those cowardly Americans kill us without even risking their lives." And if a drone strike kills innocent people, that's quadruple propaganda points. If it even IS propaganda anymore...

I don't know, I think this sounds disturbingly doable in the near future. Both your problems are essentially "opportunities to strike are few." But the point of drones is that they're cheaper than humans. If you can afford to tail someone with 2 goons, maybe you can afford 20 drones all along their typical route. And the drones can recognize license plates and other non-facial things to help them hone in.

As for facial recognition software, there's probably already an Android app for that. Sure, there's a lot of work involved - it has to recognize the person, it has to drive around autonomously, it has to aim and fire. But most of those may be pluggable components of hardware and software soon, coming from perfectly innocent projects.

I think drones may well be a big problem in the near future.

I think Facebook will decline for a much simpler reason: whim.

Facebook was cool when I was in college and it was only for college students. Now my dentist wants me to "like" him on Facebook and get entered in some kind of drawing.

Lame.

"I wonder if there's a social network that's only for cool people like me," thinks the user.

I want to reply 14 years ago

"What I'd really like is a single online notification service..."

Everything you say about this sounds exactly like hosted email to me. How is it different?

To me, the problem with email is the time it takes to manage it: filter, mark as read, etc. Gmail filters help with this, but it's still work. But I can't see how any notification system could know how I want things filtered without me telling it.

Then again, if customers are annoyed enough by them, firms not using them will steal customers from firms that do. So the free market has a counterbalance.

In the real world, this back-and-forth is always happening. I think the average result is that most businesses are mostly honest and most customers are mostly satisfied.

Small example: I ordered flowers online for mother's day. The price shown on the front page was doubled by the service fees tacked on at the end. I understand that on a busy day, they need to charge more, but I thought it was slightly dishonest not to show the true cost up front. Slightly, but not an absolute ripoff, and not enough that I'll never buy again. So we have a truce.

If they had hidden a checkbox that said "please also subscribe me to this magazine for $X a month", that would be too dishonest and they'd lose my business to someone who didn't do that.

I've heard him make the same statement and had the same thought. Is there any downside for them to add a BitTorrent option? Maybe it's just that they can't track the number of downloads?

If that's all, it seems like a small price for drastically reduced hosting costs. And if there isn't already, there should be a protocol for "distribute via BitTorrent but ping the original seeder to let them know".

It depends on what's considered an API, and that would be a question settled by courts. If a judge decides that someone owns RESTful APIs, every Rails app on the planet will infringe that.

Even if you're right, and the copyright applied only to a specific list of API endpoints and actions, it would still be a nightmare for startups. You couldn't release anything without legal vetting.

If I had to explain the issue at stake here, I'd do it this way.

Imagine you go into a fast-food restaurant. "I'd like a burger," you say to the cashier. You get a burger. The next day, you go to a different restaurant. "I'd like a taco," you say. They bring you a taco.

Just then, a lawyer bursts in. "I'm sorry, but my client, the burger restaurant, has a copyright on that. No other restaurant is allowed to accept orders in the form of 'I'd like a(n) X'".

Would that be crazy?

APIs are the computer equivalent. If you go to a blog and request a page like 'someblog.com/posts', then you go to a movie theater's site and request a page like 'moviesite.com/movies', you wouldn't think of those two actions as having anything in common. Sure, both sites use a url like '/items' to serve up that kind of item. Why wouldn't they?

But if the courts rule that APIs can be copyrighted, the movie site might either have to license the right to have URLs like '/movies', or do something else.

What else? Whatever they can think of - and think of it first. Because the race will be on to copyright every imaginable scheme. '/show/me/movies' and '/movies=all' and '/3932939' will soon be taken. Even if they can come up with a new convention, they'll likely be in court for the right to use it.

Does that sound good for consumers - ostensibly the ones whom intellectual property laws should benefit? Does it sound good for new businesses who don't have legal departments?

Or would it be crazy?

It's a huge gray area. To expand on your point, if you're a socialist Buddhist and I'm a libertarian Muslim, there's nothing legitimate about that difference that makes me unable to code alongside you. We might not hang out, but we can debate the merits of application designs and help each other with bugfixes.

But I'd say personality is very different. Personality is basically a summary of what it's like to work with me. If I'm too shy to express ideas or passive aggressive or so extroverted that I won't stop talking and let you work, that's a real, practical problem.

"I can't get along with you" is a perfectly valid reason for me to quit if you're my boss or fire you if you're my employee. Anything restricting that will create dysfunction. How can this be compatible with making personality a protected class?

Heck, personality isn't even clear-cut like gender or disability is; I'm not clear on how you could even write such laws.

Was excited to see this, as some friends and I independently invented this game on paper once.

DoodleOrDie is fun, but jerky/stupid players are really the biggest downfall for me. I don't want to write an elaborate, funny caption and then be asked to draw something for an obscene, misspelled, 3-word one.

'It's not OK to fire someone because of their gender, race, sexual orientation, religion, etc; but firing someone because they are "shy" or "introverted" or "not a people person" seems to be perfectly acceptable and legal. Shouldn't that be considered discrimination as well? (Assuming that "being good with people" isn't a requirement of the job.)'

What do you mean by 'a requirement of the job?' Is that a concrete, unchangeable list that had to be agreed upon at the hire date? Employers aren't infallible. Imagine you hire a programmer and you didn't specifically say "must be easy to get along with" or "must be willing to state objections in team meetings." Two months later you find that this person's rudeness or shyness is causing train wrecks on the team. You want to be able to fire them if all else fails, right?

I think the idea of shyness as a legally protected trait is silly. There are a whole host of personality issues that may make a person unsuited for a job. Let's not handcuff employers here. It's as fair for an employer to fire me because I never speak up when I should as it is for me to quit because I don't like their corporate culture.

CS Lewis said that ""All language about things other than physical objects is necessarily metaphorical." I can't find the examples he gave, but from your sentence: we must "discover new means of interaction that take advantage..."

"Discover" is made of "dis-cover", meaning "remove the things covering the other thing." The "inter" in "interaction" implies movement between objects in a physical space. To "take advantage" evokes physically grasping something.

Perhaps this is more philosophical than you wanted, but I doubt we'll be leaving behind physical metaphors anytime soon.

That's possible, but only if they're stupid. They'd be losing someone who can knows their business and could automate their next manual process.

I'd suggest he say this: "hey boss, I think I can automate this process, increasing accuracy and productivity. Would you give me salary X if I can do it?"

If the boss says "awesome, yes!", then he's got a better job.

If the boss says no or is lukewarm, he could keep doing what he's doing, but actually study programming in the time he's goofing off and start a job search.

Either way, he's on a path to getting to program, not having to hide it, and getting properly compensated.

The more difficult question is: what if they lay off his coworkers because of his innovation? How should he feel then?

If I understand you correctly, your problem would occur if, say, you were maintaining 1.0 and 2.0 branches of a product and needed to apply the same bugfix to both; you can't merge, so you cherry-pick.

Surely this is something that the Linux project runs into constantly? I wonder if they have a solution?

Authority is my new Rails authorization plugin. Why another one?

Some things that make it different:

- 100% ORM neutral

- No new DSL to learn; just plain Ruby methods

- Authorization logic goes in authorizer classes, so any inheritance pattern you want is fine

- Helps you organize your logic, but that logic can be anything you can write in Ruby: check permissions in a database, or how many points a user has (like StackOverflow), or a weather report from London for all it cares.

Extensive tests and friendly documentation await you at the repo: http://github.com/nathanl/authority

I have joked that I might change my name to Sample User, develop a piece of land in the country, and name my road Example Avenue, taking address 123. This would make me impervious to datamining, because my results would always be thrown out.

But a last name of 'Null' may be even better. :)

Is there something specifically wrong with the concept of password haystacks? I understand it as "force the attacker to search an extremely large potential keyspace." The tool I linked to simply calculates the keyspace that a given candidate password is in.