On the surface, it's much easier to build a self-flying machine than a robotic car or even a vacuum cleaner.
The space were you can fly is more or less well known, there are a number of accurate and independent positioning systems available, the traffic is controlled so nothing should show up in front of the aircraft. The runways are equipped with ILS systems that guides the plane on a perfect glide slope. The most problematic part might actually be to taxi from the runway and to park, as it's a visual process. (Doesn't always work even today, I was once in a plane that got pushed into a light pole when leaving heathrow. It tooks some time to sort out, but at least I can say that I have been in a airplane accident and walked away...)
However, it's a mistake to use these facts to conclude that's it's possible to build an autonomous airplane that's safe enough.
There are algorithms for obstacle avoidance, so it would be possible avoid most of the things that seems to be on a collision course,
and yes there are fuzzy or neural network based algorithms that seems to be able to adapt to damaged control surfaces and possibly also missing or erroneous sensor data.
But to handle the sheer number of thing that can go wrong in complicated way, or even figure out that something has gone wrong, requires more sophistication than we can currently create.
Things that are obvious to a human are surprisingly often extremely complicated to automate, like categorizing things, detecting shapes, stand on one leg (or two) but stuff that we tend to think is hard normally isn't, like sudoku, long division, geometric calculations etc. Even chess is just "semi-hard" though beating the best human players requires both clever algorithms and a significant amount of computation, .
We will build these machines, but I'm not flying with them until they are smarter than me. , I am certain that that day will come, eventually. Possibly in my own lifetime, and when that happens I think we will have much more interesting topics to discuss on slashdot than airplanes...
Huh? What are you talking about? Jar-files without version numbers in their file names? Maven? IBM including old versions of your favorite tool in their own servers and then implementing randomly behaving class loaders from hell in each release? You had to rename a few variables that happened to be called "enum" ?
The java api is stable and in almost every sense backwards compatible though. And so is the abi.
So still, moving old java programs to new servers is a walk in the park, compared to some unix related "migrations" i've been unfortunate to deal with. Yes you need to test, but you don't have to code and code for days and weeks.
I live in Stockholm, Sweden, and here we have cameras in every intersection, scanning all licence plates.
I think the cameras have been there for more than 10 years, and the cameras where installed without any kind of public announcement,supposedly because they are used for monitoring the traffic flow, and are storing only a hash of the licence numbers.
There is a short notice regarding the cameras on a government website, claiming that there are no privacy issues with the cameras, as it is impossible to calculate a licence number from a hash.
It does not mention that it is trivial for anyone with access to the system to compute a hash given a license number, and find out wherever your car has been, and how fast it was driving, the last 10 years or so...
Whole departments exists, inside or outside companies, just to run sql servers, web servers, java application servers, virtual windows machines, etc etc, that's used just for developing and testing, and to get something done with them, like restoring a database backup from before your script messed it up, you need to file a "work order" and hopefully, some dude, possibly in another country, would find the time, within a couple of days, to restore it for you, because, you know, it's *clearly* cost effective to have a rational and efficient organisation for running servers...
We have reached exactly the incitements for the "PC Revolution." Would it be called "Personal Cloud Computing" this time, or will the "cloud" become "the stink" before that happens?
It's hard to find anyone thats faster than a bunch of old COBOL geezers to rattle out untested code - or rather code that's not been even run even once - into production systems. But I guess they use changeman to do it, so they do at least know *what* code that's currently is running.
I think you have confused the term "domain specific language" with something else. And besides, what's generally considered as a nice language is that it's easy to extend it (using the language itself) so that you can USE it as a DSL. Not so much for COBOL.
Today, it would probably make more sense to use a modern lisp dialect to write business applications, at least from the DSL point of view, and its an even older language.
Whats keeping Fuckin' COBOL alive is the fact that it's running in a well defined virtual machine, and in a well defined OS on quite solid hardware.
Fucking Java is the *new* Fucking COBOL, for the fact that it's running in a well defined virtual machine, and in a well defined environment.
If you find a 10 year old COBOL program, Java program, and a C++ program, you will be able to compile and run the COBOL and Java program more or less on the first try, but the c++ will take a rather long time to get in shape since the toolchain and every single library and include file is changed since it last worked...
Another reason is that hey both seems to attract the different kind of-, but still fucking useless- programmers.
I think Djikstra nailed main problem with COBOL in 1975;
-- The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.
The best counter argument is something like this:
--COBOL programs with convoluted control flow indeed tend to 'cripple the mind, but meh...
I'm pretty sure that I could hack together something that could install java patches on a cluster if I had to do it manually over and over again, so maybe it's not only the java installer that's crappy ?
I'm pretty sure that the number of possible states in a moderately sized software system can be regarded as unfathomably too large, which isn't "infinite" but as close to "nearly infinite" as you can get... What's possibly saving these guys is that they are probably validating that the robotic "scalpel" is following all possible inputs and positions of the input device in the usual tree cosy and well behaved dimensions... OTH I didn't bother to read the paper, so what do I know...
Besides, what happened to Gödel, and all that? eh?
A locally installed application is doing whatever it pleases, be it java or c++. It's just a matter of trust and wishful thinking that it won't wipe your harddisk or send every file to the Russian mafia.
There is a sandbox built into java which is used for applets and java-webstart apps, which is why you can run applets supposedly without risk. (Unlike ActiveX plugins, which is in the wishful thinking category)
The reason for using java plugins for exploits is that it's ubiquitous, and the user relies on that the sandbox works. The other target is flash which is also running its apps in a sandbox.
So, neither Java or Flash is primarily targeted because they're crap, but because they're installed everywhere, and secondary because they are both very complex products and for that reason likely to contain vulnerabilities.
I don't know what you are doing for a living but...
I can live with typing small amounts of text like this on my laptop - which has a rather good full-size scissor keyboard,
I spend my days coding, and a the $5 membrane keyboard that came with my insanely expensive computer drove me crazy. The keys twists and jams, sending the wrong keys and makes me miss the keys.
On the other hand, my model M replica is excellent, and I am typing twice as fast with significantly less errors.
I also tried a cherry-blue keyboard, but was quite disappointed.
My understanding is that they are using the same machines. Since the production volumes probably isn't as in the golden days, i would suspect that the disappointing finish is because of worn out moulds, or if they are replaced, moulds with wider tolerances and cheaper material that wears out faster.
On the other hand, my Customizer 104 is the best thing I have ever bought! And no, my coworkers doesn't complain about the noise.
I bought a so-called "mechanical keyboard" with Cherry MX-blues, but it was a complete load of utter bollocks. I returned it to the store after 5 disappointing minutes of typing. Totally useless.
The best keyboard ever would be a slightly nicer shaped SpaceSaver, with the plastic cased filled with sound absorbing rubber paint, and equipped with pre-flossed buckling springs:-)
I did some research a few years ago comparing the total carbon footprint of a bike messenger, riding 8 hours/day, who eats meat and a lot of vegetables, and a messenger in a low-carbon-car, driving the same distance.
A large factor is the carbon footprint of the cars manufacturing, as I can only guess that it's rather more than of a bike.
However, the footprint is rather dependent on the type of food. The human body is not particularly efficient, so a bad lunch choice can easily make a large dent in the carbon budget.
I can't find my calculation and the references, but if you have one hour, it's not that hard to google various carbon footprints, and do some basic math.
But anyway, it's clearly a corner case:-) Most of us need the bike ride, and would either just deposit the carbon as fat, and burn the carbon in either a gym or a crematory.
First of all, to avoid neck pain, strained eyes and a generally bad posture, keep the top of all your monitors level with your eyes - or lower. Looking up will make your eyes blink less often (or not at all) and will make them dry. The neck isn't good at looking up either, and a "vulture neck" isn't a chick magnet...
Use a good separate keyboard and mouse, the best keyboard is the Model M ! Unicomp makes several variants with 104/105 keys and usb. It's awsome!
You have to bleed the animals, or the meat gets spoiled.
Most of the halal-rules seems to be about food safety, protecting the animals from cruelty and praying for the animal. Unfortunately, some religious propeller-heads trips up on some technically regarding carrion and the use of captive bolts.
On the other hand, electrical- or carbon dioxide slaughtering are not exactly pleasant either, but reduces the risk of missing. Bolting a pig in the eye by mistake is a terrible experience, for all parties involved.
I am not sure if there is a huge difference to die from cerebral anoxia caused by carbon dioxide or cerebral anoxia caused by bleeding. My guess is that the brain reacts in a quite similar way.
I actually try to eat less pork just because of the relatively traumatic slaughter.
My rather expensive oven seems to be programmed by someone that never have cooked something in his life.
This is how to start it:
- Turn the the "function knob" to the correct function. - Press cancel to dismiss the automatic cleaning procedure (as it's more than a week since it ran the last time...) - Turn the right knob, until "temp" is selected on the display. - Bend down, as you can't actually see the display while standing in front of the oven. - Press the "ok" button. - Set the desired temperature by turning the right knob. - Press "ok" - Turn the right knob to "preheat" as you can't actually see the current temperature unless "preheat" is selected. - press "ok" - Gently turn the right knob until "yes" is displayed. Gently, or it will flip back to "no"... - press ok. - Turn the right knob to "start" - press ok.
If you now realize that you would rather like to use the fan-assist mode, they you have to start over and repeat all steps.
Maybe the use-case looked solid: If the user selects the "pre heat option", the flow continues as described in "2.3.6.2 - select pre-heat function"
It's safe to say that if it was connected to the internet, it would be p0wned within seconds:-)
Sorry mate, for most software development jobs it's part of the profession to tweeze out requirements from business people - both the sales types that can only think in "fluffy concepts", and the specialists who can't generalize that blue and red are two 'colours', since they are experts in every single shade of blue between 'navy blue' and 'egyptian blue'.
So, if you don't know what to do, you have to do some workshops and interviews, or just have a quick chat with "Bill, the salesguys". But to be honest, you probably already have a good hunch of what to do, you just want to make a point that there are a lot of people that have authority and with better pay than you, and they don't have a clue of what they really want or need.
I'll admit, most business do it wrong, since they think it's like designing steam engines or belt buckles , or something, and the "requirements process" is eventually leading to the "design process" which when completed, would spin up the code factory where hordes of talentless code monkeys would read the design specification and translate that into a working program, like a 1:1 mapping. Preferably in India. Or at least in the basement.
Hint: it's not how it works, and the reason for that it's not working like that is a combination of information theory (hey its thermodynamics!), emergence in systems theory, and how our brains work (our cogninitive abilitiies)
Ideally, work together with the business specialists, avoid "requirement specialist" and BA-types, since they add little or no value. Get rid of useless design documents that have no target audience , but create a common model (in your heads) and a common language, and develop and maintain (condensed) business rules and references that would actually be used when working with the system in the future. Pay attention to people that try to hide their incompetence by requiring more and more documentation.
I follow this simple rule: Just say no to drugs that's been transported in another animals lower intestine, and you're safe.
Luckily the cat's ass variant is optional...
Actually, I'm rather addicted to caffeine, and that's slightly annoying as I get sick if I don't get coffee for a day or two. Other than that, it's a rather harmless drug. (In concentrations that won't kill you immediately.) and i really enjoy my coffee.
It's standard treatment in Sweden. If the crime is non-trivial, the attorney almost always requests solitary confinement. The reason is to prevent the accused from interfering with the criminal investigation, but I think at least partly it's done in order to break the accused, helping the interrogations.
Sweden has been criticized by the European Committee for the Prevention of Torture for this practice, but nothing seems to change.
I'd say that I am not that proud of our judicial system right now. This practice, the not-so-competent handling of Assange, the recent turn of events relating to a convicted serial killer (Tomas Quick) being found innocent for crime after crime, after withdrawing his own confessions, and the follow-up revelations of a closed boys-club judicial system - these events makes me ashamed and worried.
It's not necessarily attributed to malice, but it is certainly incompetence combined with the attitude among Swedish bureaucrats that the government is always right, always efficient, and certainly *never* wrong.
I agree
I'm a programmer, and know a little about AI.
On the surface, it's much easier to build a self-flying machine than a robotic car or even a vacuum cleaner.
The space were you can fly is more or less well known, there are a number of accurate and independent positioning systems available,
the traffic is controlled so nothing should show up in front of the aircraft. The runways are equipped with ILS systems that guides the plane on
a perfect glide slope. The most problematic part might actually be to taxi from the runway and to park, as it's a visual process.
(Doesn't always work even today, I was once in a plane that got pushed into a light pole when leaving heathrow. It tooks some time to sort out, but at least
I can say that I have been in a airplane accident and walked away...)
However, it's a mistake to use these facts to conclude that's it's possible to build an autonomous airplane that's safe enough.
There are algorithms for obstacle avoidance, so it would be possible avoid most of the things that seems to be on a collision course,
and yes there are fuzzy or neural network based algorithms that seems to be able to adapt to damaged control surfaces and possibly
also missing or erroneous sensor data.
But to handle the sheer number of thing that can go wrong in complicated way, or even figure out that something has gone wrong,
requires more sophistication than we can currently create.
Things that are obvious to a human are surprisingly often extremely complicated to automate, like categorizing things,
detecting shapes, stand on one leg (or two) but stuff that we tend to think is hard normally isn't, like sudoku, long division, geometric calculations etc.
Even chess is just "semi-hard" though beating the best human players requires both clever algorithms and a significant amount of computation, .
We will build these machines, but I'm not flying with them until they are smarter than me.
,
I am certain that that day will come, eventually. Possibly in my own lifetime, and when that happens I think we will have much more interesting topics to discuss on slashdot than airplanes...
Huh? What are you talking about? Jar-files without version numbers in their file names? Maven? IBM including old versions of your favorite tool in their own servers and then implementing randomly behaving class loaders from hell in each release? You had to rename a few variables that happened to be called "enum" ?
The java api is stable and in almost every sense backwards compatible though. And so is the abi.
So still, moving old java programs to new servers is a walk in the park, compared to some unix related "migrations" i've been unfortunate to deal with.
Yes you need to test, but you don't have to code and code for days and weeks.
I live in Stockholm, Sweden, and here we have cameras in every intersection, scanning all licence plates.
I think the cameras have been there for more than 10 years, and the cameras where installed without any
kind of public announcement,supposedly because they are used for monitoring the traffic flow, and are storing only a hash of the licence numbers.
There is a short notice regarding the cameras on a government website, claiming that there are no privacy issues with the cameras,
as it is impossible to calculate a licence number from a hash.
It does not mention that it is trivial for anyone with access to the system to compute a hash given a license number, and find out wherever your car has been, and how fast it was driving, the last 10 years or so...
In computing, every minor thing can fuck up everything, but there is "not easy" and "totally and utterly fucked up".
Getting old java programs to run is in the "not easy" category...
True that,
Whole departments exists, inside or outside companies, just to run sql servers, web servers, java application servers, virtual windows machines, etc etc, that's used just for developing and testing, and to get something done with them, like restoring a database backup from before your script messed it up, you need to file a "work order" and hopefully, some dude, possibly in another country, would find the time, within a couple of days, to restore it for you, because, you know, it's *clearly* cost effective to have a rational and efficient organisation for running servers...
We have reached exactly the incitements for the "PC Revolution." Would it be called "Personal Cloud Computing" this time, or will the "cloud" become "the stink" before that happens?
Strict change control process you say...
It's hard to find anyone thats faster than a bunch of old COBOL geezers to rattle out untested code - or rather code that's not been even run even once - into production systems. But I guess they use changeman to do it, so they do at least know *what* code that's currently is running.
Hi AC.
I think you have confused the term "domain specific language" with something else. And besides, what's generally considered as a nice language is that it's easy to extend it (using the language itself) so that you can USE it as a DSL. Not so much for COBOL.
Today, it would probably make more sense to use a modern lisp dialect to write business applications, at least from the DSL point of view, and
its an even older language.
Whats keeping Fuckin' COBOL alive is the fact that it's running in a well defined virtual machine, and in a well defined OS on quite solid hardware.
Fucking Java is the *new* Fucking COBOL, for the fact that it's running in a well defined virtual machine, and in a well defined environment.
If you find a 10 year old COBOL program, Java program, and a C++ program, you will be able to compile and run the COBOL and Java program
more or less on the first try, but the c++ will take a rather long time to get in shape since the toolchain and every single library and include file is changed
since it last worked...
Another reason is that hey both seems to attract the different kind of-, but still fucking useless- programmers.
I think Djikstra nailed main problem with COBOL in 1975;
-- The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.
The best counter argument is something like this:
--COBOL programs with convoluted control flow indeed tend to 'cripple the mind, but meh...
I'm pretty sure that I could hack together something that could install java patches on a cluster if I had to do it manually over and over again,
so maybe it's not only the java installer that's crappy ?
Huh?
I'm pretty sure that the number of possible states in a moderately sized software system can be regarded as unfathomably too large, which isn't "infinite" but as close to "nearly infinite" as you can get... What's possibly saving these guys is that they are probably validating that the robotic "scalpel" is following all possible inputs and positions of the input device in the usual tree cosy and well behaved dimensions... OTH I didn't bother to read the paper, so what do I know...
Besides, what happened to Gödel, and all that? eh?
Oh, and
10 PRINT "K THX BYE"
20 GOTO 10
Like most, if not all other enviromental efforts, it's all about talk and symbolism, and very nearly nothing about actually doing the math...
Wouldn't that be "all" vulnerabilities?
A locally installed application is doing whatever it pleases, be it java or c++.
It's just a matter of trust and wishful thinking that it won't wipe your harddisk
or send every file to the Russian mafia.
There is a sandbox built into java which is used for applets and java-webstart apps,
which is why you can run applets supposedly without risk. (Unlike ActiveX plugins, which is in the wishful thinking category)
The reason for using java plugins for exploits is that it's ubiquitous, and the user relies on that the sandbox works.
The other target is flash which is also running its apps in a sandbox.
So, neither Java or Flash is primarily targeted because they're crap, but because they're installed everywhere,
and secondary because they are both very complex products and for that reason likely to contain vulnerabilities.
I don't know what you are doing for a living but...
I can live with typing small amounts of text like this on my laptop - which has a rather good full-size scissor keyboard,
I spend my days coding, and a the $5 membrane keyboard that came with my insanely expensive computer drove me crazy.
The keys twists and jams, sending the wrong keys and makes me miss the keys.
On the other hand, my model M replica is excellent, and I am typing twice as fast with significantly less errors.
I also tried a cherry-blue keyboard, but was quite disappointed.
The thing is, if you want one, you're old enough to remember the real thing and won't need the pictures...
My understanding is that they are using the same machines. Since the production volumes probably isn't as in the golden days,
i would suspect that the disappointing finish is because of worn out moulds, or if they are replaced, moulds with wider tolerances and
cheaper material that wears out faster.
On the other hand, my Customizer 104 is the best thing I have ever bought! And no, my coworkers doesn't complain about the noise.
I bought a so-called "mechanical keyboard" with Cherry MX-blues, but it was a complete load of utter bollocks. I returned it to the store
after 5 disappointing minutes of typing. Totally useless.
The best keyboard ever would be a slightly nicer shaped SpaceSaver, with the plastic cased filled with sound absorbing rubber paint, :-)
and equipped with pre-flossed buckling springs
It's not neccessary the case.
I did some research a few years ago comparing the total carbon footprint of
a bike messenger, riding 8 hours/day, who eats meat and a lot of vegetables,
and a messenger in a low-carbon-car, driving the same distance.
A large factor is the carbon footprint of the cars manufacturing,
as I can only guess that it's rather more than of a bike.
However, the footprint is rather dependent on the type of food.
The human body is not particularly efficient, so a bad lunch choice can
easily make a large dent in the carbon budget.
I can't find my calculation and the references, but if you have one hour,
it's not that hard to google various carbon footprints, and do some basic math.
But anyway, it's clearly a corner case :-) Most of us need the bike ride,
and would either just deposit the carbon as fat, and burn the carbon in either
a gym or a crematory.
First of all, to avoid neck pain, strained eyes and a generally bad posture, keep the top of all your monitors level with your eyes - or lower.
Looking up will make your eyes blink less often (or not at all) and will make them dry. The neck isn't good at looking up either, and
a "vulture neck" isn't a chick magnet...
Use a good separate keyboard and mouse, the best keyboard is the Model M ! Unicomp makes several variants with 104/105 keys and usb. It's awsome!
You are right. I just wanted to point out that the original intents probably have been corrupted. I would like to think so anyway.
You have to bleed the animals, or the meat gets spoiled.
Most of the halal-rules seems to be about food safety, protecting the animals from cruelty
and praying for the animal. Unfortunately, some religious propeller-heads trips up on some technically
regarding carrion and the use of captive bolts.
On the other hand, electrical- or carbon dioxide slaughtering are not exactly pleasant either,
but reduces the risk of missing. Bolting a pig in the eye by mistake is a terrible experience, for all parties involved.
I am not sure if there is a huge difference to die from cerebral anoxia caused by carbon dioxide or cerebral anoxia caused by bleeding.
My guess is that the brain reacts in a quite similar way.
I actually try to eat less pork just because of the relatively traumatic slaughter.
Less is more...
My rather expensive oven seems to be programmed by someone that never have cooked something in his life.
This is how to start it:
- Turn the the "function knob" to the correct function.
- Press cancel to dismiss the automatic cleaning procedure (as it's more than a week since it ran the last time...)
- Turn the right knob, until "temp" is selected on the display.
- Bend down, as you can't actually see the display while standing in front of the oven.
- Press the "ok" button.
- Set the desired temperature by turning the right knob.
- Press "ok"
- Turn the right knob to "preheat" as you can't actually see the current temperature unless "preheat" is selected.
- press "ok"
- Gently turn the right knob until "yes" is displayed. Gently, or it will flip back to "no"...
- press ok.
- Turn the right knob to "start"
- press ok.
If you now realize that you would rather like to use the fan-assist mode, they you have to start over and repeat all steps.
Maybe the use-case looked solid: If the user selects the "pre heat option", the flow continues as described in "2.3.6.2 - select pre-heat function"
It's safe to say that if it was connected to the internet, it would be p0wned within seconds :-)
Sorry mate, for most software development jobs it's part of the profession to tweeze out requirements from business people - both the sales types that can only think in "fluffy concepts", and the specialists who can't generalize that blue and red are two 'colours', since they are experts in every single shade of blue between 'navy blue' and 'egyptian blue'.
So, if you don't know what to do, you have to do some workshops and interviews, or just have a quick chat with "Bill, the salesguys". But to be honest, you probably already have a good hunch of what to do, you just want to make a point that there are a lot of people that have authority and with better pay than you, and they don't have a clue of what they really want or need.
I'll admit, most business do it wrong, since they think it's like designing steam engines or belt buckles , or something, and the "requirements process" is eventually leading to the "design process" which when completed, would spin up the code factory where hordes of talentless code monkeys would read the design specification and translate that into a working program, like a 1:1 mapping. Preferably in India. Or at least in the basement.
Hint: it's not how it works, and the reason for that it's not working like that is a combination of information theory (hey its thermodynamics!), emergence in systems theory, and how our brains work (our cogninitive abilitiies)
Ideally, work together with the business specialists, avoid "requirement specialist" and BA-types, since they add little or no value. Get rid of useless design documents that have no target audience , but create a common model (in your heads) and a common language, and develop and maintain (condensed) business rules and references that would actually be used when working with the system in the future. Pay attention to people that try to hide their incompetence by requiring more and more documentation.
Accept that the reality is surprisingly complex.
Yes!
I think that the point is that if the relation is of the win-win kind, then it's more likely that the long term profits are going to be high.
The tricky part is to be able to take the occasional tough decision.
I follow this simple rule: Just say no to drugs that's been transported in another animals lower intestine, and you're safe.
Luckily the cat's ass variant is optional...
Actually, I'm rather addicted to caffeine, and that's slightly annoying as I get sick if I don't get coffee for a day or two.
Other than that, it's a rather harmless drug. (In concentrations that won't kill you immediately.) and i really enjoy my coffee.
It's standard treatment in Sweden. If the crime is non-trivial, the attorney almost always requests solitary confinement. The reason is to prevent the accused from interfering with the criminal investigation, but I think at least partly it's done in order to break the accused, helping the interrogations.
Sweden has been criticized by the European Committee for the Prevention of Torture for this practice, but nothing seems to change.
I'd say that I am not that proud of our judicial system right now. This practice, the not-so-competent handling of Assange, the recent turn of events relating to a convicted serial killer (Tomas Quick) being found innocent for crime after crime, after withdrawing his own confessions, and the follow-up revelations of a closed boys-club judicial system - these events makes me ashamed and worried.
It's not necessarily attributed to malice, but it is certainly incompetence combined with the attitude among Swedish bureaucrats that the government is always right, always efficient, and certainly *never* wrong.
They need a rooster to keep them straight. Not kidding.