Here's a great rule of thumb I use. Let's say you're writing a function to do some bit of functionality. Typically you're going to write that code, and then put together some code to check it out real quick before you proceed with the rest of your application. Usually, the cheesy little try-it-out code gets thrown away. Whenever you catch yourself starting to write a little piece of outside code to just check sanity check your method, instead write a unit test for it, and stick that unit test into the comments. I love to use doctest for this in Python, and I imagine there is some analog to it in Ruby.
A lot of people go through the trouble of writing simple little testy code to make sure stuff works, without going through the trouble of saving that code. It takes a little effort to set yourself up so that code can be saved for posterity. But if you do it early, it really doesn't add much to the effort at all. And it makes it much easier to make changes later to the code and to do so with confidence.
... shit... fucking... slashdot... fucking... fucking... high horse... complaint...
Goodness! Someone's got a case of the Mondays! The problem here is that iTunes blows. There's some nice things about it, but there are some highly annoying corporate overlord types of things to not like, too. Reasonable people can probably agree that it does some nice things, but it also is invasive and bloated.
I mostly did PvP with my rogue... I was good at it. Then... nerfed to Hell and back...It got to the point where every PvP nerf they gave me hurt me in PvE high-end raiding content...
I hear you. But you're way behind on current events! If you want the best DPS class, roll a retribution paladin!
What browsers need is a workable CSS and DOM interface (although the DOM interface has improved in recent years).
Jquery makes working with the DOM incredibly easy. It completely changed and radically simplified nearly all of the Javascript that I write. If you haven't explored it, you should.
When I was a kid, whenever we had "when I was a kid" discussions about computers, someone would bring up paper tape! Not any longer! Besides, you guys forgot to work in "but I was grateful".
True, you can. But Facebook is at the forefront, the bleeding edge. They're doing stuff that nobody else is doing yet. So it'd be more like complaining about a surgeon killing a patient during a procedure that no one has ever tried before, like a heart transplant in 1973. And they do successfully serve most of their customers. I'm no facebook fanboy, I'm just saying they are pushing the limits, and also doing what they can to advance the technology.
Although that's true, everything you mentioned as a downside to centralization has a corresponding upside. For example, if the latest update of the app has a bug that's crashing, everybody is screwed. On the other hand, it's easy to update everybody with the right code, because of that same centralization. This issue of lots of people depending on a centralized resource is pretty well-traveled territory. We do it already with lots of things from SQL to DNS. And the "global panic" you speak of is the flipside of the coin of "global stability". If centralized management is going to cause the kind of chaos you mention, then the real problem is incompetent IT. Such an incompetent IT group is going to fare not much better with a distributed client/server model and its associated problems than they will with a centralized server model.
Or do you really think half of the Xbox 360s in the world really don't work?
I do. It's easy for me to believe the numbers. I had one, exchanged it twice, repaired it once. Gave it to my step daughter, and her husband had it fixed. It broke again, and they repaired it again, then finally traded it in at a GameStop for a PS3. I imagine this scenario has been played out an awful lot all across the world.
Sure, it's just an individual anecdote, a single person's story. But let me guess: your life story doesn't feature a broken XBox 360.
Large companies are the enemy of freedom of speech, it's a long-standing fact of life. It's ironic that the wild popularity of electronic media outlets such as Flickr and Youtube is because it took publication rights out of the control of big media outlets. But when these little independent things become big corporations, and lose site of what got them where they are, it's a good indication they deserve to be killed by their competition.
It's one partial component you might use to implement Coroutines. or you might use it as a building block for implementing green threads or some other kind of cooperative multitasking. You'd want to wrap it in macros, or better yet, use setjmp or a real programming language like Scala or Erlang... Come to think of it, you asked what this is a good solution for, not a crappy solution... hmm...
...but the next person who reads your code won't try to stab you...
The important optimization here is making the code human readable and more self documenting. You're right though, premature optimization is a bad idea, but making the code readable from the start is a great idea.
To me that's like saying, "I'd hate to have an officer standing on the corner and policing my neighborhood."
There are some limits. Would you be ok with police following you around constantly, everywhere you go? Shouldn't be a problem, as long as you have nothing to hide. Clearly, that would be going too far. So it's a matter of degrees. How much surveillance is too much?
We totally shouldn't have government regulation. Except for the fact that pure capitalism tends to exploit children, exploit workers or both.
I'm all for free trade and as little government intervention as possible, too. But capitalism is all about short term gain regardless of the impact on the people or the environment. It's human nature that's got us screwed.
Even the interfaces such as the parallel port, that were relatively easy to use to say flip switches in your home, have gone away, without a similarly simple equivalent device. That's the real regression.
We haven't really regressed. The "simple" parallel port you talk about from, say, 20 years ago, wasn't all that simple to work with. The electronics were not straightforward to interface to. The languages were not easy to work with at all, a lot of peeks and pokes on early Atari/Commodore/TRS-80 machines, or assembly, or both. On PC's, you had issues where not all parallel ports were created equal...
With regard to there being no new products to replace, that's actually incorrect. Check out something like Sparkfun. They've got a slew of products ranging from $10-$50 that have things like USB development boards complete with multiple digital and analog inputs and outputs. These devices, and tons of others like them, are programmable in new languages designed to be easily approachable by designers, prototypers, and experimenters. Examples of these languages include wiring and Processing.
I do agree that it's more difficult in some ways than it was 20 or 30 years ago. Back then, there were fewer possible paths to choose among. You'd get an Altair or a Heathkit, or grab some electronics at Radio Shack and a book and get to work. Today, there are so many possible choices that it's not real clear what the best way to roll is. There's more diversity and choice, but the landscape is richer now, not worse.
Most of the pain of the DOM can be circumvented by using JQuery. Try it, grok it, and never think of Javascript the same way again. It makes it more of a declarative thing, like SQL. Super small and short code. I wouldn't want to write everything like this, but it's amazing for what it's designed for.
But that's definitely *not* what Radio Shack would need to do. People just don't have a need so much for 5% 150k Ohm 1 watt resisters any more. And to underscore my point, Slashdot consists of a tech-centric crowd; how many people here know the resistor coloring codes to even know if they were looking at a 150k Ohm 1 watt resister with a 5% tolerance?
What I loved about Radio Shack 20 years ago was that I could go in there and get little things to keep me going with electronics. For them to be able to do the same today, they'd need to carry things like microprocessors, motherboards, hard disks, ram, video cards, and a decent collection of the latest PC games. In fact, why don't they? Probably because the hardware changes too fast to be able to effectively stock at nationwide retail outlets in so many places. I'd love it if Radio Shack was like a mini Newegg with higher prices and more limited selection. That's pretty much what they were back in the early days of homebrew computers and electronics. But the thing that made them popular back then-- having the odds and ends people need for electronics-- can't happen today, because it's computers instead of electronics, and the economics and rate of change are different.
Your thesis just demonstrates that assholes are somewhat commonplace. It doesn't disprove that they are in fact assholes. I've commonly encountered people like you describe as well. I do what I can to not work with them. Sometimes that means eschewing entire teams or entire companies. Sane, happy people should try to stay away from total assholes. Sometimes people legitimately committed to excellence do step squarely into the realm of being assholes. But they should try not to be total jerks to their friends and coworkers. This quest to be a better person is often called "consideration", "tact" and "self-control"-- attributes that are generally considered good in our society.
What's all this talk about selecting a single female? Guys, remember the true biological imperative: select pretty much all of them, as often as possible, and try to stop other guys from doing the same.
Teach them screen, yes. We use it constantly where I work, which is an environment where we have distributed developers working together all around the world. Screen is not dirt simple, but it's a real life practical skill that's worthwhile to teach the students. I'd rather take the extra time to get everyone comfortable with screen and have them do real collaboration than to mess around with pretend solutions like Google docs or etherpad. We use Etherpad and Google docs, too, but for pair programming and troubleshooting, Screen is hard to beat.
You don't need more than 10 minutes ? If you got guys in a capital which isn't dalaran without their heartstone ready...
The bottom line here is your people are rude idiots. It's raid time, and they are taking more than 10 minutes to get there? What kind of idiot isn't bound in Dalaran and/or has their hearth stone on cooldown when it is a schedule raid time? Don't be silly.
Here's a great rule of thumb I use. Let's say you're writing a function to do some bit of functionality. Typically you're going to write that code, and then put together some code to check it out real quick before you proceed with the rest of your application. Usually, the cheesy little try-it-out code gets thrown away. Whenever you catch yourself starting to write a little piece of outside code to just check sanity check your method, instead write a unit test for it, and stick that unit test into the comments. I love to use doctest for this in Python, and I imagine there is some analog to it in Ruby.
A lot of people go through the trouble of writing simple little testy code to make sure stuff works, without going through the trouble of saving that code. It takes a little effort to set yourself up so that code can be saved for posterity. But if you do it early, it really doesn't add much to the effort at all. And it makes it much easier to make changes later to the code and to do so with confidence.
He's a great artist. There's merit in that. Geez, lighten up!
Goodness! Someone's got a case of the Mondays! The problem here is that iTunes blows. There's some nice things about it, but there are some highly annoying corporate overlord types of things to not like, too. Reasonable people can probably agree that it does some nice things, but it also is invasive and bloated.
I hear you. But you're way behind on current events! If you want the best DPS class, roll a retribution paladin!
Jquery makes working with the DOM incredibly easy. It completely changed and radically simplified nearly all of the Javascript that I write. If you haven't explored it, you should.
When I was a kid, whenever we had "when I was a kid" discussions about computers, someone would bring up paper tape! Not any longer! Besides, you guys forgot to work in "but I was grateful".
True, you can. But Facebook is at the forefront, the bleeding edge. They're doing stuff that nobody else is doing yet. So it'd be more like complaining about a surgeon killing a patient during a procedure that no one has ever tried before, like a heart transplant in 1973. And they do successfully serve most of their customers. I'm no facebook fanboy, I'm just saying they are pushing the limits, and also doing what they can to advance the technology.
Although that's true, everything you mentioned as a downside to centralization has a corresponding upside. For example, if the latest update of the app has a bug that's crashing, everybody is screwed. On the other hand, it's easy to update everybody with the right code, because of that same centralization. This issue of lots of people depending on a centralized resource is pretty well-traveled territory. We do it already with lots of things from SQL to DNS. And the "global panic" you speak of is the flipside of the coin of "global stability". If centralized management is going to cause the kind of chaos you mention, then the real problem is incompetent IT. Such an incompetent IT group is going to fare not much better with a distributed client/server model and its associated problems than they will with a centralized server model.
Seems to support the idea of unschooling, at least for the right kinds of parents.
Nerd Rage
I do. It's easy for me to believe the numbers. I had one, exchanged it twice, repaired it once. Gave it to my step daughter, and her husband had it fixed. It broke again, and they repaired it again, then finally traded it in at a GameStop for a PS3. I imagine this scenario has been played out an awful lot all across the world.
Sure, it's just an individual anecdote, a single person's story. But let me guess: your life story doesn't feature a broken XBox 360.
Large companies are the enemy of freedom of speech, it's a long-standing fact of life. It's ironic that the wild popularity of electronic media outlets such as Flickr and Youtube is because it took publication rights out of the control of big media outlets. But when these little independent things become big corporations, and lose site of what got them where they are, it's a good indication they deserve to be killed by their competition.
It's one partial component you might use to implement Coroutines. or you might use it as a building block for implementing green threads or some other kind of cooperative multitasking. You'd want to wrap it in macros, or better yet, use setjmp or a real programming language like Scala or Erlang... Come to think of it, you asked what this is a good solution for, not a crappy solution... hmm...
The important optimization here is making the code human readable and more self documenting. You're right though, premature optimization is a bad idea, but making the code readable from the start is a great idea.
There are some limits. Would you be ok with police following you around constantly, everywhere you go? Shouldn't be a problem, as long as you have nothing to hide. Clearly, that would be going too far. So it's a matter of degrees. How much surveillance is too much?
We totally shouldn't have government regulation. Except for the fact that pure capitalism tends to exploit children, exploit workers or both.
I'm all for free trade and as little government intervention as possible, too. But capitalism is all about short term gain regardless of the impact on the people or the environment. It's human nature that's got us screwed.
It's the main reason the ideas of The Long Now Foundation are so interesting.
Wait, what's wrong with Cory Doctorow?
We haven't really regressed. The "simple" parallel port you talk about from, say, 20 years ago, wasn't all that simple to work with. The electronics were not straightforward to interface to. The languages were not easy to work with at all, a lot of peeks and pokes on early Atari/Commodore/TRS-80 machines, or assembly, or both. On PC's, you had issues where not all parallel ports were created equal...
With regard to there being no new products to replace, that's actually incorrect. Check out something like Sparkfun. They've got a slew of products ranging from $10-$50 that have things like USB development boards complete with multiple digital and analog inputs and outputs. These devices, and tons of others like them, are programmable in new languages designed to be easily approachable by designers, prototypers, and experimenters. Examples of these languages include wiring and Processing.
I do agree that it's more difficult in some ways than it was 20 or 30 years ago. Back then, there were fewer possible paths to choose among. You'd get an Altair or a Heathkit, or grab some electronics at Radio Shack and a book and get to work. Today, there are so many possible choices that it's not real clear what the best way to roll is. There's more diversity and choice, but the landscape is richer now, not worse.
Most of the pain of the DOM can be circumvented by using JQuery. Try it, grok it, and never think of Javascript the same way again. It makes it more of a declarative thing, like SQL. Super small and short code. I wouldn't want to write everything like this, but it's amazing for what it's designed for.
Here's a man that doesn't have deep pockets, but does have big pockets with lots of stuff in them!
What I loved about Radio Shack 20 years ago was that I could go in there and get little things to keep me going with electronics. For them to be able to do the same today, they'd need to carry things like microprocessors, motherboards, hard disks, ram, video cards, and a decent collection of the latest PC games. In fact, why don't they? Probably because the hardware changes too fast to be able to effectively stock at nationwide retail outlets in so many places. I'd love it if Radio Shack was like a mini Newegg with higher prices and more limited selection. That's pretty much what they were back in the early days of homebrew computers and electronics. But the thing that made them popular back then-- having the odds and ends people need for electronics-- can't happen today, because it's computers instead of electronics, and the economics and rate of change are different.
Your thesis just demonstrates that assholes are somewhat commonplace. It doesn't disprove that they are in fact assholes. I've commonly encountered people like you describe as well. I do what I can to not work with them. Sometimes that means eschewing entire teams or entire companies. Sane, happy people should try to stay away from total assholes. Sometimes people legitimately committed to excellence do step squarely into the realm of being assholes. But they should try not to be total jerks to their friends and coworkers. This quest to be a better person is often called "consideration", "tact" and "self-control"-- attributes that are generally considered good in our society.
What's all this talk about selecting a single female? Guys, remember the true biological imperative: select pretty much all of them, as often as possible, and try to stop other guys from doing the same.
Teach them screen, yes. We use it constantly where I work, which is an environment where we have distributed developers working together all around the world. Screen is not dirt simple, but it's a real life practical skill that's worthwhile to teach the students. I'd rather take the extra time to get everyone comfortable with screen and have them do real collaboration than to mess around with pretend solutions like Google docs or etherpad. We use Etherpad and Google docs, too, but for pair programming and troubleshooting, Screen is hard to beat.
The bottom line here is your people are rude idiots. It's raid time, and they are taking more than 10 minutes to get there? What kind of idiot isn't bound in Dalaran and/or has their hearth stone on cooldown when it is a schedule raid time? Don't be silly.