Fortunately the US, despite its other flaws, had the 'minerals' (translation: testicles; for those in the US), the capability, and (most importantly) the will to contain communist expansion around the globe"
The threat of communism was largely used as an excuse to target any left-wing/socialist government or even those that just wouldn't play ball. If a country started doing things the US didn't like e.g. nationalizing an oil company, angering a US company etc, suddenly they would be considered as a communist threat. In the case of Guatamala it was the Union Fruit Company. They owned 42% of arable land due to purchases and/or land being ceded by military dictatorships. When the government of Guatemala tried to free up that land, Union Fruit went crying to the US government. Before long there was a US-backed coup. The official excuse was that Guatemala was going to become a "Soviet beachhead".
We have a similar story when it comes to the Iranian Coup in 1953. The government there wanted a better deal when it came to oil revenue from the AIOC (Anglo Iranian Oil Company, later it became BP), so they nationalized their oil industry. Although AOIC wasn't a US company, the nationalization was seen as a threat to US oil assets. An example that other countries in the region might follow. The US and Britain arranged a coup know as operation Ajax which replaced the democratic government with an unpopular dictator (the Shah) and a brutal CIA-trained secret police (SAVAK) to keep him in power. Again the threat of communism was used as a smokescreen.
Here are just a few US-backed dictators from central and south America alone.
Nicaragua - Somomza Dynasty
Guatemala - Carlos Enrique Castillo Armas (and others)
El Salvador - Maximilliano Hernandez Martinez (and others)
Chilie - Augusto Pinochet
Argentina - Jorge Rafael Videla
Paraguay - Alfredo Stroessner
Bolivia - GEN. Hugo Banzer Suarez
Cuba - Fulgencio Batista
We know the anti-communism crusade was an excuse, not just because of specific evidence in each case (Union Fruit etc), but because US policy towards left/socialist governments has remained largely the same despite the end of the cold war and break up of the Soviet Union. There has been continued interference in the governments of Central and South American states. e.g. Bolivia, through selective funding of parties opposed to Moralez and the coup attempt against Chavez (there is significant evidence of US involvement). Communism was used as a smokescreen during the cold war just as terrorism is used as a smokescreen today.
I've worked in business software development for vertical markets (particular industries) for many years. It's full of incompetence both at the management level and the programming level. For example, a company will put out an RFP (Request for Proposal) for software that performs a particular task (e.g. managing customer orders in the gas industry or something) and it will consist of hundreds of pages of requirements that interested parties must fill out (does your software do X, etc).
What tends to happen though is that nobody wants to say no to anything in case your competitors lie. So everyone ends up saying yes, and either you quickly develop the missing functionality in some hasty half-arsed fashion or late in the day you basically say "We meant yes in the sense of no". These kind of shoddy practices distressed me initially, but eventually I came to realise that the whole industry was like this. Full of crooks and incompetence. Far shoddier than anything you would encounter on the shelves of a high-street software store.
Part of the problem is due to lack of funds, particularly in smaller companies. There often just doesn't seem to be the money to employ proper testing/quality assurance teams, so the programmers themselves end up doing those tasks. Also, due to money issues they end up employing inexperienced students instead of experienced industry professionals. The software managing your gas bills may well have been designed by someone straight from college who is still trying to learn C#/ Java etc. This is not uncommon at all.
So yes, the software suppliers are often unprofessional crooks but so are the customers. For example, there is a legal requirement (at least in Europe) that procurement of something over a certain cost has to go open to everyone. You can't just say "we want to spend £1000,000 on a customer management system from Company X. So the customer is forced to put out an RFP even though they have no intention of buying anything from anyone other than Company X. So software companies end up completely wasting their time filling out these RFPs. It can be really time-consuming and costly. So sometimes you make a judgement call that "this customer always buys from Company X, so lets not go through the costly charade of filling out their RFP".
It's quite a different world from that of developing Microsoft Word, or Google Docs etc. If you are in charge of software procurement at a company and you have to deal with this industry, you need to be incredibly cautious. As early as possible you need to demand to see demo installs of software to confirm that the RFP requirements are indeed met, and the companies concerned were not just lying through their teeth.
I agree with you totally there. The lack of static typing (or even the option of static typing) seems to be almost universal in scripting languages. The issue goes further than just type safety and avoidable bugs though. Static typing allows you to better express your intent, not just to other programmers (which you can do with comments) but to the program itself. This makes it easy for a development environment to provide useful things like auto-completion. Auto-Complete saves so much time and also helps you broaden your knowledge of the available classes and functions.
Another issue that sometimes pops up in scripting languages is a lack of constants. I remember bringing this issue up on a python forum and they just told me to use variables instead. When I pointed out that you could easily change the value of the "constant" in code by mistake, I was told something along the lines of "well that would be your own stupid fault."
There seems to be a general attitude in certain circles that the basic protections you get with static typing and constants etc are somehow pointless or unnecessary. Google seems to recognise their importance though, which is no doubt why they created Dart. I believe they have been using some kind of enhanced Javascript internally for some time. I know there was a push to add things like static typing, classes etc to Javascript but it was resisted.
It seems bizarre to me that with more and more being done in the browser, we are still stuck with a Javascript, a language that increasingly seems ill-suited to the tasks it is being used for.
You missed out that amazingly advanced feature that C# has and which Java is still working on. i.e. The ability to pass arguments by reference. Can you believe that? The inability to pass by reference! I was in disbelief for a whole day over that. I've had to work with Java a lot recently and the language is so crippled it just makes me want to punch everyone involved in it's development.
I don't know about the possible legal issues, but C# would be great for game development on Android. The stack-allocated structs alone would be a real boon.
I love the idea, but they have shown very boring uses in their video. Surely there are more exciting applications they could have shown.
e.g.
1. Watching tv at work without your boss knowing.
2. A virtual assistant that you can customize who actually stands in the environment around you (locked into place using SLAM). Think Number Six from Galactica.
3. Objects that appear in the environment that only you and and your friends can see. e.g. A huge statue of yourself at a popular tourist location.
However, static typing does make a huge number of potential errors stick out like a sore thumb (the compiler will refuse to compile the code, and will emit appropriate error messages).
Absolutely. Do you really want to be wasting company resources tracking down bugs that could easily have been found by the compiler in a statically typed language?
I've never really been a fan of dynamically typed languages. What exactly is the point? To save a few seconds on declaring the type of a variable? You may save a few seconds, but most time tends to be spent debugging code, not writing code. You end up saving seconds in the writing stage and losing hours in the debugging stage. If you really need a variable to be able to change types, many statically typed languages have some kind of built-in variant/object type that can do exactly that if you really need it.
It was the usual mission creep. Initially they stressed that the DNA database was only for serious offences such as rape. Yet within a few years they were keeping the DNA of arrested protesters even if no charges were brought. This is why you have to defend against the initial small moves that encroach upon your freedoms. If you don't make a stand initially, mission creep will get you.
Indeed, giving someone your credit card details so that they can then make a withdrawal is a broken model from the start. The paypal solution where you push money makes far more sense. Given the amount of online fraud, I have always been surprised that Banks haven't pushed their own Paypal-style solution.
"Next, any civilian casualties resulting from our "invasion" was purely accidental."
I suppose it depends on how you define accidental. For example in the siege, bombardment and assault on Falluja, it was a certainty that civilian casualties would be significant. The siege was largely revenge for the killing of four armed Blackwater mercenaries (the term Private Military Contractor does not feature in the Geneva conventions). When you attack a city the size of Fallujah to avenge the deaths of four men, use 2000lb bombs and howitzers and kill many civilians in the process, can you really call the civilian deaths accidental?
In fact, it was largely footage of civilian casualties in the hospital that stopped the first attempted attack on Falluja in April 2004, which is why the hospital was seized immediately in the second assault in November. The Red Cross reported that refugees had witnessed the use of cluster bombs and white Phosphorus.
"You'll also notice that the US military does not hide behind human shields made of women and children."
This is a charge commonly levelled against enemy forces. It's a good way of demonizing them. Whenever enemy forces are entrenched in a city, you can accused them of hiding behind civilians. If US forces ever have to defend a US city against an invading enemy, you can be sure the same accusations will be made against them.
It's probably the first example of the fundamental misconception, that it's desirable (if even possible) to make formal descriptions using informal language
It's always seemed to me like some confused attempt to make complex things simpler by writing them in laborious English. e.g. Integrating this function is proving to be quite hard. Perhaps the whole process of integration would be easier if we wrote "Integrate" rather than using that confusing stretched out S symbol.
I'd prefer some light Head Mounted Display that offered a full field of view and good resolution. We haven't even managed that yet (at least not in any affordable way). I've been waiting for a decent HMD for over 20 years and we still aren't close. I remember getting particularly excited about the Virtual Retinal Display in the late 90s. Basically low power lasers being fired into your eyes, but the great thing is that the focus of the pixels can be varied, so you have to refocus on things in a normal way rather than the usual infinite focus trick. Yet again though, lots of virtual reality promises, but no delivery.
There are plenty of HMD's around of course, but they all have tiny FOVs and often terrible resolution too. They all seem to use the same trick when selling them. They think of a large screen size, say 80 inches, which sounds impressive. Then they just work out the distance at which the pathetic FOV is equivalent to the impressive sounding screen size. Typically, if you adjust their stated distance to 2 feet, like your eye-monitor distance, it turns out to be equivalent to a 14 inch monitor.
The death may not be intended, but you can't call it an accident. Typically, that sort of crime is considered to be manslaughter. As soon as you assault someone, particularly with a weapon like a truncheon, you know you run the risk of killing them. That's why the police should only use that kind of force when their own lives are at risk. To use it against an unarmed, non-threatening individual is criminal. Sadly the police get away with such assaults on a daily basis.
I haven't bought a PC for some years. Is that because my smart-phone does the PC's job? No, it's because my PC doesn't need replacing. It's fast enough. In fact I don't even own a smart-phone.
It's not that mobiles are taking over, it's that PC's have been fast enough for some time. The only time the slowness of my PC has shown up has been with games, and that is frequently solved by just buying a new graphics card.
99% of consumers may mostly be able to do what they want 99% of the time with their locked-down overpriced mobile phones, but what happens when they do need a PC? There's nearly always something you need a PC for a some point.
*) There is serious "victim mentality" among protesters - such as "media is suppressing coverage" (no, its just not important enough - the protest is much smaller than an average union rally).
The assaults on peaceful protesters surely are important. When you are pepper-sprayed for no reason or have your head slammed into a car for no reason, you don't need a "victim mentality". You are a victim.
If it was such a pathetically small number of people, why did the Police feel the need to use such force?
I should imagine the media in the US are much the same as the UK when it comes to the police. They do not like criticizing them unless someone dies. Even if there is plenty of footage of police hitting unarmed peaceful protesters it will just be reported as "Police Scuffled with Protesters".
It's not just calls either. It goes on (or at least it used to) in printed adverts in publications like Computer Weekly. Page after page of fake jobs to attract your CV. It's very annoying.
There should be a law against advertising fake jobs.
Every single nanobot would need to have an algorithmic description of the construction plan of the target device
This isn't necessary and is in fact a potentially dangerous design if you are considering grey goo. Numbered instructions can instead be transmitted to the assemblers on a continuously repeating loop. Aside from being safer, it simplifies the design of the assembler.
I can assure you, we are quite capable of having nuclear disasters without the aid of natural disasters. In 1957 we had a major fire at Windscale which melted the nuclear fuel and released iodine 131 through the cooling chimneys. In 2005, over 80,000 litres of radioactive waste leaked inside the Thorp reprocessing plant. Sellafield limited were fined £500,000 for breaching health and safety rules.
Also, on the international level, neither Chernobyl or 3 Mile Island were due to natural disasters, so lets not get into the mindset that tsunamis or earthquakes are required. Nuclear disasters are usually down to bad reactor design (i.e. everyone agrees the design was bad once the accident has happened, and then go on to insist that the newest reactors really are safe, honestly) and human error.
, or at least the portable version PNaCl seems like a good alternative way forward. I know Mozilla and others are opposed to it, but I really think we need something a little better than Javascript if we are going to be writing sizeable applications. Most sizeable applications (word, excel, 3D software, Gimp etc) are written in languages that support static typing, classes etc. There is a reason Microsoft and others do not write their big applications in scripting languages, and it's not just about speed.
Alternatively, perhaps a new web language will come along which is more suitable for developing large apps. Something that is designed from scratch with large applications and JIT compilation in mind.
Fortunately the US, despite its other flaws, had the 'minerals' (translation: testicles; for those in the US), the capability, and (most importantly) the will to contain communist expansion around the globe"
The threat of communism was largely used as an excuse to target any left-wing/socialist government or even those that just wouldn't play ball. If a country started doing things the US didn't like e.g. nationalizing an oil company, angering a US company etc, suddenly they would be considered as a communist threat. In the case of Guatamala it was the Union Fruit Company. They owned 42% of arable land due to purchases and/or land being ceded by military dictatorships. When the government of Guatemala tried to free up that land, Union Fruit went crying to the US government. Before long there was a US-backed coup. The official excuse was that Guatemala was going to become a "Soviet beachhead".
We have a similar story when it comes to the Iranian Coup in 1953. The government there wanted a better deal when it came to oil revenue from the AIOC (Anglo Iranian Oil Company, later it became BP), so they nationalized their oil industry. Although AOIC wasn't a US company, the nationalization was seen as a threat to US oil assets. An example that other countries in the region might follow. The US and Britain arranged a coup know as operation Ajax which replaced the democratic government with an unpopular dictator (the Shah) and a brutal CIA-trained secret police (SAVAK) to keep him in power. Again the threat of communism was used as a smokescreen.
Here are just a few US-backed dictators from central and south America alone.
We know the anti-communism crusade was an excuse, not just because of specific evidence in each case (Union Fruit etc), but because US policy towards left/socialist governments has remained largely the same despite the end of the cold war and break up of the Soviet Union. There has been continued interference in the governments of Central and South American states. e.g. Bolivia, through selective funding of parties opposed to Moralez and the coup attempt against Chavez (there is significant evidence of US involvement). Communism was used as a smokescreen during the cold war just as terrorism is used as a smokescreen today.
How about all of you go out and conscript somebody for office.
That system is known as Demarchy.
I've worked in business software development for vertical markets (particular industries) for many years. It's full of incompetence both at the management level and the programming level. For example, a company will put out an RFP (Request for Proposal) for software that performs a particular task (e.g. managing customer orders in the gas industry or something) and it will consist of hundreds of pages of requirements that interested parties must fill out (does your software do X, etc).
What tends to happen though is that nobody wants to say no to anything in case your competitors lie. So everyone ends up saying yes, and either you quickly develop the missing functionality in some hasty half-arsed fashion or late in the day you basically say "We meant yes in the sense of no". These kind of shoddy practices distressed me initially, but eventually I came to realise that the whole industry was like this. Full of crooks and incompetence. Far shoddier than anything you would encounter on the shelves of a high-street software store.
Part of the problem is due to lack of funds, particularly in smaller companies. There often just doesn't seem to be the money to employ proper testing/quality assurance teams, so the programmers themselves end up doing those tasks. Also, due to money issues they end up employing inexperienced students instead of experienced industry professionals. The software managing your gas bills may well have been designed by someone straight from college who is still trying to learn C#/ Java etc. This is not uncommon at all.
So yes, the software suppliers are often unprofessional crooks but so are the customers. For example, there is a legal requirement (at least in Europe) that procurement of something over a certain cost has to go open to everyone. You can't just say "we want to spend £1000,000 on a customer management system from Company X. So the customer is forced to put out an RFP even though they have no intention of buying anything from anyone other than Company X. So software companies end up completely wasting their time filling out these RFPs. It can be really time-consuming and costly. So sometimes you make a judgement call that "this customer always buys from Company X, so lets not go through the costly charade of filling out their RFP".
It's quite a different world from that of developing Microsoft Word, or Google Docs etc. If you are in charge of software procurement at a company and you have to deal with this industry, you need to be incredibly cautious. As early as possible you need to demand to see demo installs of software to confirm that the RFP requirements are indeed met, and the companies concerned were not just lying through their teeth.
I agree with you totally there. The lack of static typing (or even the option of static typing) seems to be almost universal in scripting languages. The issue goes further than just type safety and avoidable bugs though. Static typing allows you to better express your intent, not just to other programmers (which you can do with comments) but to the program itself. This makes it easy for a development environment to provide useful things like auto-completion. Auto-Complete saves so much time and also helps you broaden your knowledge of the available classes and functions.
Another issue that sometimes pops up in scripting languages is a lack of constants. I remember bringing this issue up on a python forum and they just told me to use variables instead. When I pointed out that you could easily change the value of the "constant" in code by mistake, I was told something along the lines of "well that would be your own stupid fault."
There seems to be a general attitude in certain circles that the basic protections you get with static typing and constants etc are somehow pointless or unnecessary. Google seems to recognise their importance though, which is no doubt why they created Dart. I believe they have been using some kind of enhanced Javascript internally for some time. I know there was a push to add things like static typing, classes etc to Javascript but it was resisted.
It seems bizarre to me that with more and more being done in the browser, we are still stuck with a Javascript, a language that increasingly seems ill-suited to the tasks it is being used for.
Not to mention how much better the language is...
You missed out that amazingly advanced feature that C# has and which Java is still working on. i.e. The ability to pass arguments by reference. Can you believe that? The inability to pass by reference! I was in disbelief for a whole day over that. I've had to work with Java a lot recently and the language is so crippled it just makes me want to punch everyone involved in it's development.
I don't know about the possible legal issues, but C# would be great for game development on Android. The stack-allocated structs alone would be a real boon.
I love the idea, but they have shown very boring uses in their video. Surely there are more exciting applications they could have shown.
e.g.
1. Watching tv at work without your boss knowing.
2. A virtual assistant that you can customize who actually stands in the environment around you (locked into place using SLAM). Think Number Six from Galactica.
3. Objects that appear in the environment that only you and and your friends can see. e.g. A huge statue of yourself at a popular tourist location.
However, static typing does make a huge number of potential errors stick out like a sore thumb (the compiler will refuse to compile the code, and will emit appropriate error messages).
Absolutely. Do you really want to be wasting company resources tracking down bugs that could easily have been found by the compiler in a statically typed language?
I've never really been a fan of dynamically typed languages. What exactly is the point? To save a few seconds on declaring the type of a variable? You may save a few seconds, but most time tends to be spent debugging code, not writing code. You end up saving seconds in the writing stage and losing hours in the debugging stage. If you really need a variable to be able to change types, many statically typed languages have some kind of built-in variant/object type that can do exactly that if you really need it.
It was the usual mission creep. Initially they stressed that the DNA database was only for serious offences such as rape. Yet within a few years they were keeping the DNA of arrested protesters even if no charges were brought. This is why you have to defend against the initial small moves that encroach upon your freedoms. If you don't make a stand initially, mission creep will get you.
http://www.youtube.com/watch?v=T2Ezphg9gjM
Indeed, giving someone your credit card details so that they can then make a withdrawal is a broken model from the start. The paypal solution where you push money makes far more sense. Given the amount of online fraud, I have always been surprised that Banks haven't pushed their own Paypal-style solution.
"Next, any civilian casualties resulting from our "invasion" was purely accidental."
I suppose it depends on how you define accidental. For example in the siege, bombardment and assault on Falluja, it was a certainty that civilian casualties would be significant. The siege was largely revenge for the killing of four armed Blackwater mercenaries (the term Private Military Contractor does not feature in the Geneva conventions). When you attack a city the size of Fallujah to avenge the deaths of four men, use 2000lb bombs and howitzers and kill many civilians in the process, can you really call the civilian deaths accidental?
In fact, it was largely footage of civilian casualties in the hospital that stopped the first attempted attack on Falluja in April 2004, which is why the hospital was seized immediately in the second assault in November. The Red Cross reported that refugees had witnessed the use of cluster bombs and white Phosphorus.
"You'll also notice that the US military does not hide behind human shields made of women and children."
This is a charge commonly levelled against enemy forces. It's a good way of demonizing them. Whenever enemy forces are entrenched in a city, you can accused them of hiding behind civilians. If US forces ever have to defend a US city against an invading enemy, you can be sure the same accusations will be made against them.
We need to start fighting back with our own acronyms. How about ROCTA (Reduction of Copyright Term Act)?
It's probably the first example of the fundamental misconception, that it's desirable (if even possible) to make formal descriptions using informal language
It's always seemed to me like some confused attempt to make complex things simpler by writing them in laborious English. e.g. Integrating this function is proving to be quite hard. Perhaps the whole process of integration would be easier if we wrote "Integrate" rather than using that confusing stretched out S symbol.
I'd prefer some light Head Mounted Display that offered a full field of view and good resolution. We haven't even managed that yet (at least not in any affordable way). I've been waiting for a decent HMD for over 20 years and we still aren't close. I remember getting particularly excited about the Virtual Retinal Display in the late 90s. Basically low power lasers being fired into your eyes, but the great thing is that the focus of the pixels can be varied, so you have to refocus on things in a normal way rather than the usual infinite focus trick. Yet again though, lots of virtual reality promises, but no delivery.
There are plenty of HMD's around of course, but they all have tiny FOVs and often terrible resolution too. They all seem to use the same trick when selling them. They think of a large screen size, say 80 inches, which sounds impressive. Then they just work out the distance at which the pathetic FOV is equivalent to the impressive sounding screen size. Typically, if you adjust their stated distance to 2 feet, like your eye-monitor distance, it turns out to be equivalent to a 14 inch monitor.
The death may not be intended, but you can't call it an accident. Typically, that sort of crime is considered to be manslaughter. As soon as you assault someone, particularly with a weapon like a truncheon, you know you run the risk of killing them. That's why the police should only use that kind of force when their own lives are at risk. To use it against an unarmed, non-threatening individual is criminal. Sadly the police get away with such assaults on a daily basis.
Well he's right isn't he? You can't side-load apps. You have to use the app store which consists of Apple-approved apps.
I haven't bought a PC for some years. Is that because my smart-phone does the PC's job? No, it's because my PC doesn't need replacing. It's fast enough. In fact I don't even own a smart-phone.
It's not that mobiles are taking over, it's that PC's have been fast enough for some time. The only time the slowness of my PC has shown up has been with games, and that is frequently solved by just buying a new graphics card.
99% of consumers may mostly be able to do what they want 99% of the time with their locked-down overpriced mobile phones, but what happens when they do need a PC? There's nearly always something you need a PC for a some point.
I like Libre Office, but the Base part of it is not so good. I've been waiting for a good OSS replacement for Access for a long time.
*) There is serious "victim mentality" among protesters - such as "media is suppressing coverage" (no, its just not important enough - the protest is much smaller than an average union rally).
The assaults on peaceful protesters surely are important. When you are pepper-sprayed for no reason or have your head slammed into a car for no reason, you don't need a "victim mentality". You are a victim.
If it was such a pathetically small number of people, why did the Police feel the need to use such force?
I should imagine the media in the US are much the same as the UK when it comes to the police. They do not like criticizing them unless someone dies. Even if there is plenty of footage of police hitting unarmed peaceful protesters it will just be reported as "Police Scuffled with Protesters".
It's not just calls either. It goes on (or at least it used to) in printed adverts in publications like Computer Weekly. Page after page of fake jobs to attract your CV. It's very annoying.
There should be a law against advertising fake jobs.
Every single nanobot would need to have an algorithmic description of the construction plan of the target device
This isn't necessary and is in fact a potentially dangerous design if you are considering grey goo. Numbered instructions can instead be transmitted to the assemblers on a continuously repeating loop. Aside from being safer, it simplifies the design of the assembler.
I can assure you, we are quite capable of having nuclear disasters without the aid of natural disasters. In 1957 we had a major fire at Windscale which melted the nuclear fuel and released iodine 131 through the cooling chimneys. In 2005, over 80,000 litres of radioactive waste leaked inside the Thorp reprocessing plant. Sellafield limited were fined £500,000 for breaching health and safety rules.
Also, on the international level, neither Chernobyl or 3 Mile Island were due to natural disasters, so lets not get into the mindset that tsunamis or earthquakes are required. Nuclear disasters are usually down to bad reactor design (i.e. everyone agrees the design was bad once the accident has happened, and then go on to insist that the newest reactors really are safe, honestly) and human error.
It's hard to remember back to before the iPhone existed, but devices like it weren't even on the radar
I remember looking at the Onyx Concept Phone with some excitement. It pre-dates the IPhone.
, or at least the portable version PNaCl seems like a good alternative way forward. I know Mozilla and others are opposed to it, but I really think we need something a little better than Javascript if we are going to be writing sizeable applications. Most sizeable applications (word, excel, 3D software, Gimp etc) are written in languages that support static typing, classes etc. There is a reason Microsoft and others do not write their big applications in scripting languages, and it's not just about speed.
Alternatively, perhaps a new web language will come along which is more suitable for developing large apps. Something that is designed from scratch with large applications and JIT compilation in mind.