"Here's what is going to happen in the next 5-10 years."
In my experience the auto industry is slow to change and our federal and state governments even slower. There could be a prototype from one or more car manufacturers within 5-10 years, but it will then have to be thoroughly tested in pilot studies. I will not be able to buy a Google self-driving car from any dealership within 30 miles of my location within 5-10 years.
"The car insurance industry will cease to exist. These cars aren't going to crash."
I think there was a boat in the Atlantic they said that about...
While I'm all for Google's Self-driving car technology, I'll only trust it after my old driving ed teacher takes it out and starts telling it where to go, then have the DMV guy make it do a 3-point turn. Then it can drive with one its parents in the car for a year, Eric or Larry. After that I'll give it 5 years or so to have its first few accidents, hopefully avoid a DUI- driving under the influence (of bad information)- and then I'll let it drive me somewhere.
On a more serious note, is it capable of pulling off the road or speeding up beyond the speed limit if a car came careening up behind it? What would it do if you fell asleep while it was driving and it did a hit and run when a drunk runs in front of it? Will PETA protest Google when the cars don't swerve to miss the cats?
Steve's almost got it right that there are axes, but I think he tried too hard to fit it into a two party system.
I think instead there are the axes of safety, efficiency (which is almost the same as the next, but is more in the context of the C vs. C++ argument), speed/load of system (and tendency to develop to handle more load than is needed vs. less for the particular application), development speed/cleverness (typically dynamicism vs. static these days), clarity (which is not the opposite of cleverness), and verbosity.
There may be no foolproof system, but there are systems:
1. ABP: Always be paranoid. No two passwords are the same. Don't make domino accounts such that when the security for one fails, everything else fails. Limit the number of online accounts.
OR
2. Be open: live a life where you are always mentally ready to be hacked and obliterated. Don't be stupid, but don't track to fight being hacked all the time.
OUYA is a great idea, but it remains to be seen whether it will take off.
I like homebrew development, but the fact is that the tools around providing homebrew development to the everyday joe are shoddy at best. Homebrew channel on Wii comes to mind- They have a great title sequence and the popping bubbles, but the homebrew app allowing you to install new games has to be added manually on the SD card. And it is buggy and the user experience leaves much to be desired. And then after you wait 20 minutes to download a game, your kid could accidentally delete it in 5 seconds because deletion is right there with the games on the menu. But, the biggest problem is that few are savvy enough to install the Wii Homebrew channel and an SD card doesn't come with the Wii anyway.
The only way OUYA is going to survive and thrive is if they can sell at Best Buy, Gamestop, etc. and if the device is easy to use, doesn't have a load of crap on it like the Roku, and is fast enough to support games people want to play. But on top of that- it better not have a sub-par interface.
I agree with RMS on some points, but I think this one is going to get him into trouble. I agree that most games contain some form of art, which means that if the software is free and the art in the game isn't free, RMS would be for paid games in GNU linux where the source is free, but you have to pay for its art (so it is non-free).
And if he is going to include art, why not literature and other media as well? Old text adventures were filled with great writing, even if they were brief descriptions when viewed in part. Newer games spend a lot of money creating CGI cinematography with paid actors to do voice-overs for written dialog that is not code. Would he be ok with that part of the game being non-free and the code being open-source?
I personally think that regardless of how it would be done, having a hardware specified ID for a user is a good idea. MAC wouldn't be the right thing to use, but something programmable similar to the ID on a SIM card. If done years ago, it would have solved a myriad of ID-related issues we've had since. Computers would not be interchangeable tools that employers can buy for you, but rather they would be more of an extension of ourselves that we could carry around with us.
Google wouldn't have provided 2 factor auth if OpenID were sufficient. 2 factor auth requires a mobile phone which is assumed to be on the user's person at almost any time. Hmm... that sounds like the scenario I was talking about where the device is an extension of yourself and is associated with something that is your personal ID- your phone#, and not some transient IP address.
P.S.: Reading the serverfault comments under one of the answers made me want to have enough rep to downvote Chopper3. That guy had some asinine remarks which I've never seen before on any of the fogcreek sites, and despite his 60k rep should be docked down to 0 for that.
Actually Wikipedia on the disambiguation page says that compiliation is: "In computer programming, the translation of source code into object code by a compiler."
On the main wikipedia page, you cut off the full definition: "A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code). The most common reason for wanting to transform source code is to create an executable program."
Note how it says "the target language, often having a binary form known as object code." and "The most common reason for wanting to transform source code is to create an executable program."
If you then go down into the description, you'll see: "The front end checks whether the program is correctly written in terms of the programming language syntax and semantics. Here legal and illegal programs are recognized. Errors are reported, if any, in a useful way. Type checking is also performed by collecting type information. The frontend then generates an intermediate representation or IR of the source code for processing by the middle-end.
The middle end is where optimization takes place. Typical transformations for optimization are removal of useless or unreachable code, discovery and propagation of constant values, relocation of computation to a less frequently executed place (e.g., out of a loop), or specialization of computation based on the context. The middle-end generates another IR for the following backend. Most optimization efforts are focused on this part.
The back end is responsible for translating the IR from the middle-end into assembly code. The target instruction(s) are chosen for each IR instruction. Register allocation assigns processor registers for the program variables where possible. The backend utilizes the hardware by figuring out how to keep parallel execution units busy, filling delay slots, and so on. Although most algorithms for optimization are in NP, heuristic techniques are well-developed."
So, just stating that it is "a computer program that transforms source code written in a programming language into another computer language" is inadequate. There is more to it than that, and unfortunately so many just don't get it.
Hearing the words "compiling to Javascript" here, from Google, and elsewhere drives me nuts. Generating code in a dynamic and uncompiled language is NOT compilation! It is just a type of translation. If you want to make up a word, call it "relanguifying"- I don't care- just don't call it compilation.
(1) The main advantage you get from setting your rate daily is that you will attract employers that see this as a way to eek more hours per day out of you. You can choose not to work with employers like this, but you won't actually know they will do this until they do it. In the end though, that is your time, and your rate goes down if you work more for the same amount.
(2) You will frequently work less than a day and charge for a day. This will of course keep some employers from hiring you, because they'll worry about your higher effective rate that what they would calculate for an 8 or even 6 hour day. But, let's say that they hire you. At some point, you'll send an email stating that you are done with the feature earlier in the day rather than later, because you have somewhere to be that night and don't want to forget, and then this puts the seed in their head that you didn't work a full day, and that for all they know, you may do that everyday with them if they aren't communicating with you all day to determine you are working for them.
(3) Although potential employers may attempt to do the math and convert what they perceive as your hourly rate based on your daily rate to what they get out of other hourly workers, much of the time, they won't want to bother. If anything, if I were trying to estimate your hourly rate, I'd divide your daily rate by 4 and assume that is basically your effective rate. And that is probably not right.
Then there is the whole thing about the perceived amount on your bill. It may seem higher if they see your daily rate vs. an hourly rate, even if it is less.
I agree with the article and with, "I look for an applicant that fits the culture, who is bright, and who is excited and wants to learn." Recruiters can't automatically filter on culture, so that is out. Recruiters aren't always that experienced (no offense), as they've probably gotten recruited into the recruiting company as new blood or just started doing it because they thought they'd be good at it. So having them judge things like culture, how bright the employee is, and how much they want to learn (and not just faking it), would be tough.
And without a recruiter, you are going to be missing out on a lot of candidates. I personally have gone through this recently and know small companies that either tried to do this themselves or with a minor (not heavy hitting) recruiter, and finding people that way is SO SLOW.
So basically, this advice is good for interviews once you can get people in, but you won't be able to change the fact that the process to getting people in will stay the same.
I think eventually you will not think this is as good of an idea as you do currently. There is a sweet spot for billing, just like anything else: somewhere between too often and too much. Just my 2p.
Like it! But would be better imo to have prettier graphs. I am not a fan of the red and green vertical timeline heroku and others are using. It is not a normal way to look at downtime. Use a horizontal chart and let me drag and scroll myself to see each month. Provide served requests vs. failed requests per hour graphs. Basically, provide me with graph crack that shows more info and proves to me you are not trying to smooth over outages.
Customers of what, exactly? I've not heard of anyone using Yahoo, except those that are holding on to Yahoo email addresses because they don't know it makes them look old and technically illiterate.
In my experience the auto industry is slow to change and our federal and state governments even slower. There could be a prototype from one or more car manufacturers within 5-10 years, but it will then have to be thoroughly tested in pilot studies. I will not be able to buy a Google self-driving car from any dealership within 30 miles of my location within 5-10 years.
"The car insurance industry will cease to exist. These cars aren't going to crash."
I think there was a boat in the Atlantic they said that about...
While I'm all for Google's Self-driving car technology, I'll only trust it after my old driving ed teacher takes it out and starts telling it where to go, then have the DMV guy make it do a 3-point turn. Then it can drive with one its parents in the car for a year, Eric or Larry. After that I'll give it 5 years or so to have its first few accidents, hopefully avoid a DUI- driving under the influence (of bad information)- and then I'll let it drive me somewhere.
On a more serious note, is it capable of pulling off the road or speeding up beyond the speed limit if a car came careening up behind it? What would it do if you fell asleep while it was driving and it did a hit and run when a drunk runs in front of it? Will PETA protest Google when the cars don't swerve to miss the cats?