Too bad Lego responded to this nonsense and even offered an apology. Were I in charge of the company, I'd have offered a different reply: "We at the Lego company do not usually offer the following advice, but in this case we will go ahead and suggest that you grow up.". Seriously, some people...
It's more than going after the most harmful crimes, and requires perhaps a bit of a redefinition of the prosecutor's role.
A defense lawyer's role is to get his client off the hook by any (legal) means available. The prosecutor's role should not be the opposite of this, getting a conviction by any means. It should be to have justice prevaiL. That doesn't mean asking for a lighter sentence if there are some irregularities in the investigation, let the defense and the judge worry about that. It does mean understanding what crime has been committed (or having yourself informed if you don't), and then asking for an appropriate punishment.
The idea that people will lose respect for the legal system when sentences no longer fit the crimes is an ago-old wisdom. I think we're seeing that idea in action more and more often.
I'd have to disagree with point 2. Writing clean code is not just about keeping to coding standards, keeping functions small, or even making a decent object model. It is also about making a system open and extensible by providing clean APIs, web services, mechanisms for adding extensions, function hooks, etc. That takes time and effort, but does reward you with a way to add new features faster. However, those extensions (new features) do not need to be particularly clean in themselves. Because the code for those new features will be isolated from the base code, you can get away by hooking a quick & dirty extension into your clean system. Such extensions are likely small enough to debug or change easily even if the code is messy, if you've done your homework on providing a well defined interface on the main system. Having a type 2 (clean) base system with a well defined interface allows you to add new features with type 1 programmers, delivering maximum value in minimum time, in a sustainable manner.
You don't want to find a compromise between the two styles, you want to find the right mix.
The intent does not need to be to kill. Intending to merely cause injury but ending up killing someone would be manslaughter. Inadvertedly killing someone in the process of committing some other crime as well (called constrcutive manslaughter IIRC). Even criminal negligence resulting in death (counts as manslaughter) has criminal intent, in that it implies a conscious (and criminal) decision to neglect ones duty. So: the definition of various types of manslaughter do indeed imply criminal intent.
I'm not sure what the idea is, but it seems they hope it will open up the market. Suppose there's a company putting a new CPU on the market. Today, they have to come up with a motherboard as well, or convince one of the big boys to design one around their new CPU. With this architecture they only need to design the much simpler CPU card around their CPU. This lowers the barrier to entry and means more competition, which is nice for big datacenters like Amazon and Facebook, who buy servers by the boatload. It could also mean that this allows them to standardize on datacenter hardware, which could significantly lower cost and management effort,
Dunno how feasible this is; I know bugger all about datacenters and the last time I looked at computer architecture was back in the 68000 days.
OT, but this reminds me of a historian who went to teach a history class for 1 day at a high school. After class, the regular history teacher proudly noted how critical his students were, "questioning authority" (the students continuously challenged the teacher). To which the historian replied: "Judging from their questions, these kids know bugger all about history". Challenging authority is all well and good, and it's something that's being taught in our schools as well, but it's not enough. You need to have some smarts and a decent education if you want to have any hope of doing so effectively. Otherwise you'll just end up looking foolish.
Two things I'd do in that situation:
1) Get a lawyer before going to that meeting. Short notice, but not impossible. You don't have to bring him but do get his advice.
2) Carry an audio recorder hidden on your person (check if that's legal first; in some cases it isn't). That will help you in court later if you have to provide proof of undue duress.
Since the security flaw left personal data of all students including himself out in the open, I'd say he had every right to see if the company patched the hole yet. One might even say it was his duty to check. This was just 2 days after he reported the hack, but does shooting the messenger imply that they worry more about their reputation than the actual security flaw? Especially since the student took pains to report the issue rather than exploit or publish it. For once I'd like to see trigger-happy software companies and institutions like these hauled before court on charges of gross negligence, undue duress, and leaking of personal info.
I wonder why the school decided to expel him. The software company overreacted a bit when they found out; perhaps they sent a note to the school to the effect of "We found that student of yours hacking around in our system again; we've told him we'll call the cops if he keeps doing it". I can see why the school would expel him on the strength of that.
Any government should suppress harsh prosecutions. Would a libertarian government fare any better on this score? At the very least they'd be more wary of any wrongdoing in that area, as they have an intrinsic distrust of government (hence the desire to keep it as small as possible). Contrast that with socialists who think everything government does is great, or at least fixable.
I've no idea who Glenn Reynolds is by the way, but he's spot on. I see the same in my country where the actions of (our equivalent of) the state prosecutor seem decidedly questionable, yet go more or less unchallenged. For example the notorious "Nekschot" case, where a cartoonist charged with the grave and unforgivable crimes of insulting muslims and black skinned people was arrested by an 8 man SWAT squad in the middle of the night, and detained for 30 hours. They generally go easier even on armed robbers and rapists. And the opposite happens as well: cases that seem to have merit are not even brought before a judge, for no good reason.
Good point, and I have avoided doing this for the same reason.
But things are getting to a point where I am starting to have moral objections to the weight of the tax burden, the distribution of that weight, and the way the collected monies are being spent. I'm a liberal (in the European sense, slightly right of centre) and a believer in small government. If the rest of us opt for big government instead, I'd still be happy to pay my fair share, provided that government does what we have a right to expect of them, that is: to be frugal and conscientious when spending our tax euros. And I am seeing less and less of that.
You'd have to address this issue in the rest of Europe as well, at the very least. Companies are being taxed on profit so they do anything to reduct that profit. As far as I know, companies can freely funnel money around in Europe (same for goods, services and labor) so they incorporate in a tax haven and send all the money there, reducing their UK profit to zero. Getting it across the pond is a little harder, but there are ways like labeling funds as "management fees" or fees for using the parent companys patents.
Most of the talk I've heard about doing something about this centered on convincing tax havens to raise their taxes, but as long as there is one around, doing so is pointless. And as a country, there are advantages to being a tax haven.
As a freelancer, I incorporated a few years ago and was surprised at how easy it is to reduce ones profit on paper, even for a small 1 man firm. And it's easy to set up a company nowadays, a few phone calls and a signature is all it takes; I'm considering setting up a company on Cyprus and sending my revenues there to enjoy an even lower tax rate. One of our royals was discovered doing the same thing, and after some public outcry, Internal Revenue hastened to proclaim that the whole thing was fully legit. So I do not feel bad about dodging taxes, not with IR approval and a royal endorsement.
I am sure the buggy whip manufacturers had families to feed to. Progress does come with casualties, but keeping a moribund institution alive does not come for free either, this choice has casualties too, even if they may be hard to spot.
This is similar to Plan Lievense (translation), a 30 year old idea. The original plan did call for storage on land, by pumping water into a reservoir. Only problem is that a breach of the reservoir had the potential of creating a massvice flood.
As for room on the North Sea, there are already plans for wind farms to be built there. Since ships have to steer well clear of these, you could build this reservoir in the middle of it.
My rule for commenting stuff is: add a comment if things are not clear at first glance. This applies to everything: a class definition, function/method parameters, or code snippets. Even CSS (when fixing browser specific quirks).
As for the rest, the Quake 3 coding standards as described in the article seem fairly common. My code looks like that, though I wouldn't call it beautiful; I'm more of a hacker than a coder. What makes code beautiful (i.e. readable) for me is a solid data and object model, and sensible (intuitive) object methods. Get this right and you can screw around with braces all you like.
I agree: I too feel differently about gadgets and tinkering than I used to, but it's hard to put my finger on why. Maybe it's just growing up, although the nature of the gadgets themselves have undeniably changed as well.
And we usually end up paying for ALL THE TOYS, since each toy have their OWN LICENSE for different games, videos, net-services, functions etc. Which sucks
Is this really that different from how things used to be? The available functions, peripherals and software on the old computers varied greatly between brands. What is different is the presence of today's strong "verticals" covering both hardware and content. In the old days, the hardware might be closed but anyone could deliver anything on most systems. Today we see a company like Amazon releasing an e-reader which will not read other popular formats, and books which are available only on their reader. Or Apple controlling the way content for their platform is sold, and skimming off part of the proceeds.
I have far more fun inventing my own gadgets in my electronics lab, here I have millions of Discretes (components from the 80-90s and even today), and can hack together really weird stuff. When I grew up, this was normal for kids, they too went to the local electronics store - modded their Commodore 64 to get faster loading times etc. Built their own modems to communicate digitally via HAM radio (or just a cheapo CB radio) with some simple components, cheap off the shelves.
It seems that for today's kids there is a lot more prepackaged entertainment out there to keep them busy. But kids doing your kind of tinkering were rare when I grew up (70s / 80s), and they still are. But tinkering does happen, it just happens on a different level. Instead of messing with discrete components, kids do projects with Arduino boards. Or they build cool stuff with Lego Mindstorms (the Lego technic kits of today are way more advanced than what we had back then). Instead of messing around in C64 machine code, they write smartphone apps (and even make money doing it). To me, this feels more like combining more or less finished products in new ways, but that's not necessarily a bad thing. Perhaps our (grand)dads who did digital logic on the transistor level thought the same way about building with ICs.
I've seen the 84" LG TV in action, with a (jaw dropping) demo at 4K, but also showing regular Bluray content which gets upscaled to 4K by the TV. While obviously not as good as real 4K, the result is still pretty damn impressive;upscalers have gotten a lot better than simple bi-linear interpolation.
Interesting observation. Also note that if you are a successful entrepreneur, the wrong thing can easily become the right thing. Watch one guy do well and get rich, then watch a bunch of other managers emulate his ideas, decisions and even mannerisms, which often are at best irrelevant and at worst counterproductive. Look closely and it turns out many successful entrepreneurs weren't all that clever or business savvy, they had luck and/or had the guts to seize a passing opportunity.
You're lucky if you get innovation from the top in that situation. Innovation requires a bit of culture shift in the company, and even senior execs have a hard time getting that kind of change past middle management. Sergei Brin complained about this problem in Google of all companies, and I recently heard an exec VP in a large multinational vent his frustration about the same thing. There's a good reason why companies set up skunk work type incubators.
So you follow projects rather than people. Yammer lets you do that. I follow only a handful of people in our company and rarely bother with the global stream; the (business) value is in the groups.
I thin this acquisition is a good move on Microsoft's part even though I think they overpaid. I'm only hoping that they don't wreck Yammer; Microsoft seems to be even less attuned to the needs of larger corporations than Yammer ever was. That statement might sound surprising but I've found it to be true time and time again.
Consumer 4k devices are in stores now. They are still very pricey (15.000 euro for the 80" model) but the quality is amazing. Even when viewing regular HD content, the higher resolution helps. Same with a good HD set playing a regular DVD. One thing that has gotten a lot better in the last few years is the upscaler, the thingy that translates low-res content to the higher screen resolution. So even with any 4k content out there, consumers will still benefit from 4k screens if they buy a larger TV (the tipping point seems to be around 60" screens; anything smaller is just as good with regular HD).
Society works best when all types of power are distributed and not concentrated in just a few areas or restricted to just a few people or groups.
Society works best when (physical) power is concentrated with the government, as long as they can be trusted with it, and use that power to effectively protect its citizens. But even if the first condition no longer holds, will an armed populace really rise up and do something about it with their guns? You'd have thought it would already have happened a few times in the recent-ish history of the USA.
By the way, I don't think the second condition is feasible, which is why I am not against citizens owning guns. However that doesn't mean that there shouldn't be some reasonable restrictions in place such as gun registration, denying them to certain individuals like convicted felons, utlawing automatic weapons, and not letting one person own enough of them to outfit an army.
There's a reason many countries treat non-lethal weapons the same as firearms, instead of allowing citizens to own them. A robber might hesitate to fire a gun at someone, he's much more likely to threaten. But with a non-lethal weapon, his best course of action is to use it pre-emptively and zap away. Robbers, burglars, rapists and pranksters of the more evil sort are going to love reliable and widely available non-lethal weaponry.
You're talking about professional programmers, in which case I agree that you don't become one by using a few simple tools and doing a few courses.
A programmer is someone who writes computer programs; any stricter definition is just elitism. If you can come up with (not just copy) 10 print "hello world" 20 goto 10 , you're a programmer, even though you're just a beginner. So is the guy with the smarts to write a few VBA snippets to tart up his Excel spreadsheet. These are just hobbyists or guys writing bits of personal software to help them do their work, but they're still programmers, and what they are doing serves a useful purpose.
As to BASIC: That just leads to people that think they can program, but cannot. Even worse.
Worse than what? The problem is not crap hobbyist programmers; but the people who hire them to program professionally. If they remain hobbyists or write tools for their personal use, it shouldn't bother you.
You're right. The article I read (in Dutch) clearly mentioned an apology, perhaps something got lost in translation.
Too bad Lego responded to this nonsense and even offered an apology. Were I in charge of the company, I'd have offered a different reply: "We at the Lego company do not usually offer the following advice, but in this case we will go ahead and suggest that you grow up.". Seriously, some people...
It's more than going after the most harmful crimes, and requires perhaps a bit of a redefinition of the prosecutor's role. A defense lawyer's role is to get his client off the hook by any (legal) means available. The prosecutor's role should not be the opposite of this, getting a conviction by any means. It should be to have justice prevaiL. That doesn't mean asking for a lighter sentence if there are some irregularities in the investigation, let the defense and the judge worry about that. It does mean understanding what crime has been committed (or having yourself informed if you don't), and then asking for an appropriate punishment.
The idea that people will lose respect for the legal system when sentences no longer fit the crimes is an ago-old wisdom. I think we're seeing that idea in action more and more often.
I'd have to disagree with point 2. Writing clean code is not just about keeping to coding standards, keeping functions small, or even making a decent object model. It is also about making a system open and extensible by providing clean APIs, web services, mechanisms for adding extensions, function hooks, etc. That takes time and effort, but does reward you with a way to add new features faster. However, those extensions (new features) do not need to be particularly clean in themselves. Because the code for those new features will be isolated from the base code, you can get away by hooking a quick & dirty extension into your clean system. Such extensions are likely small enough to debug or change easily even if the code is messy, if you've done your homework on providing a well defined interface on the main system. Having a type 2 (clean) base system with a well defined interface allows you to add new features with type 1 programmers, delivering maximum value in minimum time, in a sustainable manner.
You don't want to find a compromise between the two styles, you want to find the right mix.
The intent does not need to be to kill. Intending to merely cause injury but ending up killing someone would be manslaughter. Inadvertedly killing someone in the process of committing some other crime as well (called constrcutive manslaughter IIRC). Even criminal negligence resulting in death (counts as manslaughter) has criminal intent, in that it implies a conscious (and criminal) decision to neglect ones duty. So: the definition of various types of manslaughter do indeed imply criminal intent.
I'm not sure what the idea is, but it seems they hope it will open up the market. Suppose there's a company putting a new CPU on the market. Today, they have to come up with a motherboard as well, or convince one of the big boys to design one around their new CPU. With this architecture they only need to design the much simpler CPU card around their CPU. This lowers the barrier to entry and means more competition, which is nice for big datacenters like Amazon and Facebook, who buy servers by the boatload. It could also mean that this allows them to standardize on datacenter hardware, which could significantly lower cost and management effort,
Dunno how feasible this is; I know bugger all about datacenters and the last time I looked at computer architecture was back in the 68000 days.
In other words, now he was the authority...
OT, but this reminds me of a historian who went to teach a history class for 1 day at a high school. After class, the regular history teacher proudly noted how critical his students were, "questioning authority" (the students continuously challenged the teacher). To which the historian replied: "Judging from their questions, these kids know bugger all about history". Challenging authority is all well and good, and it's something that's being taught in our schools as well, but it's not enough. You need to have some smarts and a decent education if you want to have any hope of doing so effectively. Otherwise you'll just end up looking foolish.
Two things I'd do in that situation:
1) Get a lawyer before going to that meeting. Short notice, but not impossible. You don't have to bring him but do get his advice.
2) Carry an audio recorder hidden on your person (check if that's legal first; in some cases it isn't). That will help you in court later if you have to provide proof of undue duress.
Since the security flaw left personal data of all students including himself out in the open, I'd say he had every right to see if the company patched the hole yet. One might even say it was his duty to check. This was just 2 days after he reported the hack, but does shooting the messenger imply that they worry more about their reputation than the actual security flaw? Especially since the student took pains to report the issue rather than exploit or publish it. For once I'd like to see trigger-happy software companies and institutions like these hauled before court on charges of gross negligence, undue duress, and leaking of personal info.
I wonder why the school decided to expel him. The software company overreacted a bit when they found out; perhaps they sent a note to the school to the effect of "We found that student of yours hacking around in our system again; we've told him we'll call the cops if he keeps doing it". I can see why the school would expel him on the strength of that.
Any government should suppress harsh prosecutions. Would a libertarian government fare any better on this score? At the very least they'd be more wary of any wrongdoing in that area, as they have an intrinsic distrust of government (hence the desire to keep it as small as possible). Contrast that with socialists who think everything government does is great, or at least fixable.
I've no idea who Glenn Reynolds is by the way, but he's spot on. I see the same in my country where the actions of (our equivalent of) the state prosecutor seem decidedly questionable, yet go more or less unchallenged. For example the notorious "Nekschot" case, where a cartoonist charged with the grave and unforgivable crimes of insulting muslims and black skinned people was arrested by an 8 man SWAT squad in the middle of the night, and detained for 30 hours. They generally go easier even on armed robbers and rapists. And the opposite happens as well: cases that seem to have merit are not even brought before a judge, for no good reason.
Good point, and I have avoided doing this for the same reason.
But things are getting to a point where I am starting to have moral objections to the weight of the tax burden, the distribution of that weight, and the way the collected monies are being spent. I'm a liberal (in the European sense, slightly right of centre) and a believer in small government. If the rest of us opt for big government instead, I'd still be happy to pay my fair share, provided that government does what we have a right to expect of them, that is: to be frugal and conscientious when spending our tax euros. And I am seeing less and less of that.
You'd have to address this issue in the rest of Europe as well, at the very least. Companies are being taxed on profit so they do anything to reduct that profit. As far as I know, companies can freely funnel money around in Europe (same for goods, services and labor) so they incorporate in a tax haven and send all the money there, reducing their UK profit to zero. Getting it across the pond is a little harder, but there are ways like labeling funds as "management fees" or fees for using the parent companys patents.
Most of the talk I've heard about doing something about this centered on convincing tax havens to raise their taxes, but as long as there is one around, doing so is pointless. And as a country, there are advantages to being a tax haven.
As a freelancer, I incorporated a few years ago and was surprised at how easy it is to reduce ones profit on paper, even for a small 1 man firm. And it's easy to set up a company nowadays, a few phone calls and a signature is all it takes; I'm considering setting up a company on Cyprus and sending my revenues there to enjoy an even lower tax rate. One of our royals was discovered doing the same thing, and after some public outcry, Internal Revenue hastened to proclaim that the whole thing was fully legit. So I do not feel bad about dodging taxes, not with IR approval and a royal endorsement.
I am sure the buggy whip manufacturers had families to feed to. Progress does come with casualties, but keeping a moribund institution alive does not come for free either, this choice has casualties too, even if they may be hard to spot.
This is similar to Plan Lievense (translation), a 30 year old idea. The original plan did call for storage on land, by pumping water into a reservoir. Only problem is that a breach of the reservoir had the potential of creating a massvice flood.
As for room on the North Sea, there are already plans for wind farms to be built there. Since ships have to steer well clear of these, you could build this reservoir in the middle of it.
My rule for commenting stuff is: add a comment if things are not clear at first glance. This applies to everything: a class definition, function/method parameters, or code snippets. Even CSS (when fixing browser specific quirks).
As for the rest, the Quake 3 coding standards as described in the article seem fairly common. My code looks like that, though I wouldn't call it beautiful; I'm more of a hacker than a coder. What makes code beautiful (i.e. readable) for me is a solid data and object model, and sensible (intuitive) object methods. Get this right and you can screw around with braces all you like.
Is this really that different from how things used to be? The available functions, peripherals and software on the old computers varied greatly between brands. What is different is the presence of today's strong "verticals" covering both hardware and content. In the old days, the hardware might be closed but anyone could deliver anything on most systems. Today we see a company like Amazon releasing an e-reader which will not read other popular formats, and books which are available only on their reader. Or Apple controlling the way content for their platform is sold, and skimming off part of the proceeds.
It seems that for today's kids there is a lot more prepackaged entertainment out there to keep them busy. But kids doing your kind of tinkering were rare when I grew up (70s / 80s), and they still are. But tinkering does happen, it just happens on a different level. Instead of messing with discrete components, kids do projects with Arduino boards. Or they build cool stuff with Lego Mindstorms (the Lego technic kits of today are way more advanced than what we had back then). Instead of messing around in C64 machine code, they write smartphone apps (and even make money doing it). To me, this feels more like combining more or less finished products in new ways, but that's not necessarily a bad thing. Perhaps our (grand)dads who did digital logic on the transistor level thought the same way about building with ICs.
I've seen the 84" LG TV in action, with a (jaw dropping) demo at 4K, but also showing regular Bluray content which gets upscaled to 4K by the TV. While obviously not as good as real 4K, the result is still pretty damn impressive;upscalers have gotten a lot better than simple bi-linear interpolation.
Interesting observation. Also note that if you are a successful entrepreneur, the wrong thing can easily become the right thing. Watch one guy do well and get rich, then watch a bunch of other managers emulate his ideas, decisions and even mannerisms, which often are at best irrelevant and at worst counterproductive. Look closely and it turns out many successful entrepreneurs weren't all that clever or business savvy, they had luck and/or had the guts to seize a passing opportunity.
You're lucky if you get innovation from the top in that situation. Innovation requires a bit of culture shift in the company, and even senior execs have a hard time getting that kind of change past middle management. Sergei Brin complained about this problem in Google of all companies, and I recently heard an exec VP in a large multinational vent his frustration about the same thing. There's a good reason why companies set up skunk work type incubators.
Looking at the attitude and character of many "normal" CEO's, I think we could use a few more hackers and frat boys up there.
So you follow projects rather than people. Yammer lets you do that. I follow only a handful of people in our company and rarely bother with the global stream; the (business) value is in the groups.
I thin this acquisition is a good move on Microsoft's part even though I think they overpaid. I'm only hoping that they don't wreck Yammer; Microsoft seems to be even less attuned to the needs of larger corporations than Yammer ever was. That statement might sound surprising but I've found it to be true time and time again.
Consumer 4k devices are in stores now. They are still very pricey (15.000 euro for the 80" model) but the quality is amazing. Even when viewing regular HD content, the higher resolution helps. Same with a good HD set playing a regular DVD. One thing that has gotten a lot better in the last few years is the upscaler, the thingy that translates low-res content to the higher screen resolution. So even with any 4k content out there, consumers will still benefit from 4k screens if they buy a larger TV (the tipping point seems to be around 60" screens; anything smaller is just as good with regular HD).
Society works best when (physical) power is concentrated with the government, as long as they can be trusted with it, and use that power to effectively protect its citizens. But even if the first condition no longer holds, will an armed populace really rise up and do something about it with their guns? You'd have thought it would already have happened a few times in the recent-ish history of the USA.
By the way, I don't think the second condition is feasible, which is why I am not against citizens owning guns. However that doesn't mean that there shouldn't be some reasonable restrictions in place such as gun registration, denying them to certain individuals like convicted felons, utlawing automatic weapons, and not letting one person own enough of them to outfit an army.
There's a reason many countries treat non-lethal weapons the same as firearms, instead of allowing citizens to own them. A robber might hesitate to fire a gun at someone, he's much more likely to threaten. But with a non-lethal weapon, his best course of action is to use it pre-emptively and zap away. Robbers, burglars, rapists and pranksters of the more evil sort are going to love reliable and widely available non-lethal weaponry.
A programmer is someone who writes computer programs; any stricter definition is just elitism. If you can come up with (not just copy)
10 print "hello world"
20 goto 10
, you're a programmer, even though you're just a beginner. So is the guy with the smarts to write a few VBA snippets to tart up his Excel spreadsheet. These are just hobbyists or guys writing bits of personal software to help them do their work, but they're still programmers, and what they are doing serves a useful purpose.
As to BASIC: That just leads to people that think they can program, but cannot. Even worse.
Worse than what? The problem is not crap hobbyist programmers; but the people who hire them to program professionally. If they remain hobbyists or write tools for their personal use, it shouldn't bother you.