3,652 karma · joined April 24, 2009
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.
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.
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...
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.
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.
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.
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.
Lots of companies need programmers who are "pretty good," whatever that means to you.
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".
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.
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?
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.
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.
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.
"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.
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?
Surely this is something that the Linux project runs into constantly? I wonder if they have a solution?
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
But a last name of 'Null' may be even better. :)