|
Marc,
Very nice. Good definitions and insights.
Here's some of my thoughts:
1. Most developers/coders are not actually "software engineers". Nor do they actually "engineer" anything. They just "write" code. But would you actually fly in a plane that was "written" rather than "engineered"? This last weekend I made a note that I'm going to have to finally write a book about software engineering rather than "writing" or "coding" software because I mention it significantly in a book that that I'm currently writing. If anyone has suggestions for materials or reference books/blogs/etc on "software engineering" versus "software writing/coding" I'd like to hear them. Thanks!
2. Devices/Machines/Tools are all really what I would call "Constructs". A Construct can be a physical tool or device that extends our normal body actions (that's what all tools really do) or it can be a conceptual construct that provides a structure to knowledge/ways of looking or classifying or organizing ideas/thoughts. Software is really a tool, a construct, and a very poorly defined one at that. Ideas for "constructing" can be as simple as the creation of a struct or class instead of using a loose grouping of global variables to the development of true software engineering (which has not occurred yet). Thus, there can be devices/machines/tools of a conceptual nature also.
3. Ethics is all about actions and their results and ramifications (echoing results). Each person engages in interaction with their 3D environment here. And use tools and machines to extend and amplify those actions. Ethics/morality can only apply to individuals. Tools have no ethics or morals. While the intended action of a tool may have sinister implications (a doomsday device for example) the tool technically does not have ethics or morals although it may provide any easy avenue towards misuse by an individual(s) which would be immoral/unethical. So we should look at tools and devices as only things, sometimes with implicit intents, and focus on the people/individuals who would build and/or use them.
4. The duality you mention is interesting. I would ask, "What is the purpose of the device? It's intent? And it's vector of change that it performs?" The device/machine/tool is an Object built with intent and purpose. And it can show the intent(s) of the creator/builder as well. I think that this is the duality to which you write.
But how does this apply to software?
Perhaps viruses, malware, and Trojans are the doomsday devices of software with unethical intent. Other tools are just tools without evil intent buy may be simply misused. A hard disk format utility comes to mind. Much software is poorly written but usable. And the constant pseudo-evolution of software and software development shows an immature field (where's the engineering for example) and the inability to actually build good generic general purpose tools that can do elementary things like nicely represent (and update) data from a person to/from a database. But are you trying to say something more?
- Grant
Cary Grant Anderson
-------------------------------------------------
www.CGrantAnderson.com, www.CaryGrantAnderson.com
|
|
|
|
|
Can I get an EOF
MAn! That is a great line.
|
|
|
|
|
Very interesting and provocative, Marc. Thank you.
Even after reading your mini-essay quite a few times, I remain at a loss as to your point. But, I did enjoy it.
As I read the curious references to trickery in relation to the definitions, I was reminded that there has always been, it seems, a certain mysterious quality to technology for most people. The Arthur C. Clarke quote came to mind, "any sufficiently advanced technology is indistinguishable from magic." (from memory)
I experience the same wonder and awe at seeing a great magician perform. I think it's the same thing. Objectively, the magician is executing a known, rationally explainable, physical act; so from the magician's perspective, it ISN'T magic. Since I, the audience, have no clue how it's done, to me there's mystery, and it IS magic.
How this all ties into ethics is this for me...
a) some people fear what they don't understand;
b) some people imagine the worst possible outcomes;
c) some people are moved to attempt control of everyone else's behaviour because of a) and b).
It is unethical and immoral to limit my freedom to employ and enjoy technology, just because you're frightened I MIGHT do something unethical or immoral with it.
On the other side, I have a responsibility to use technology ethically and morally - according to the codified standards of society; i.e., the laws of the land.
Cheers,
Mike Fidler
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
|
|
|
|
|
I got this in the mail recently.
Question: What is the truest definition of Globalization?
Answer: Princess Diana's death.
Question: How come?
Answer : An English princess with an Egyptian boyfriend crashes in a French tunnel, riding in a German car with a Dutch engine, driven by a Belgian who was drunk on Scottish whisky, (check the bottle before you change the spelling), followed closely by Italian Paparazzi, on Japanese motorcycles, treated by an American doctor, using Brazilian medicines.
This is sent to you by a Sri Lankan, using the American Bill Gates' technology, and you're probably reading this on your computer, that uses Taiwanese chips, and a Korean monitor, assembled by Bangladeshi workers in a Singapore plant, transported by Indian truck drivers, hijacked by Indonesians, unloaded by Sicilian longshoremen, and trucked to you by Mexican illegals.....
That, my friends, is Globalization !
|
|
|
|
|
Vivic wrote: This is sent to you by a Sri Lankan, using the American Bill Gates' technology, and you're probably reading this on your computer, that uses Taiwanese chips, and a Korean monitor, assembled by Bangladeshi workers in a Singapore plant, transported by Indian truck drivers, hijacked by Indonesians, unloaded by Sicilian longshoremen, and trucked to you by Mexican illegals..... You forgot the Canadian based web site, launched by an Australian with alien intervention.
However, this whole section actually does not have anything to do with Princess Diana's death. It is just related to your post.
I saw the news about Princess Diana's death on TV shortly after it had happened. I suppose you might be able to come up with a similar list related to nationality of new anchors, news agencies, TV technology, TV manufacturing, etc.
Soren Madsen
"When you don't know what you're doing it's best to do it quickly" - Jase #DuckDynasty
modified 18-May-14 4:58am.
|
|
|
|
|
What year is it? I thought this type of sh*t stopped being E-Mailed around in the early 2000's.
.-.
|o,o|
,| _\=/_ .-""-.
||/_/_\_\ /[] _ _\
|_/|(_)|\\ _|_o_LII|_
\._. |\_/|"` |_| ==== |_|
|_|_| ||" || ||
|-|-| ||LI o ||
|_|_| ||'----'||
/_/ \_\ /__| |__\
|
|
|
|
|
I believe JSOP's PC has started forwarding ancient emails to randomly generated addresses
Soren Madsen
"When you don't know what you're doing it's best to do it quickly" - Jase #DuckDynasty
|
|
|
|
|
... because I tore some of it out debugging an old FORTRAN program today. They should torture people who use subroutines with multiple ENTRY points by making them debug them. At least I didn't have to wade through any COMPUTED GOTO's this time!
Is there any other language that allows such means of obfuscation in what appears at first glance to be perfectly readable code?
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Of course, this begs the question, why were you debugging some old FORTRAN today? That sounds like an interesting story of its own.
Software Zen: delete this;
|
|
|
|
|
Actually I need a reservoir simulator for some consulting work and I don't have time to write my own from scratch. I did that in grad school about 30 years ago, I don't have the source code (it was on punch cards), and it wasn't complete enough for actual use - it was just to run class problems and get a grade. The commercial ones cost like $5K - 10K per month to rent a license and my client doesn't have a budget for anything approaching that. I also want the software for other uses, where there is no budget.
It happens that the US DOE sponsored development of a simulator and the source code is public domain. You can download the software and source code from the DOE web site[^]. Unfortunately most of the compiled versions won't run on modern Windows systems. Only the BOAST98 system will run, but it includes a graphics interface and I want something that I can tweak and customize, perhaps even incorporate into some other stuff. The supposedly latest version, BOASTVHS, has obvious source code problems and it looks like someone grabbed some stuff out of the trash to throw up on a web site. It has SUBROUTINE calls where the number and type of parameters don't match, etc. It's mess.
Since I did get the BOAST3 source code to run using f2c and gcc on Linux many moons ago, I decided that BOAST3 would be a good place to start. So, I needed to take the source code and find a way to compile it. Most of the changes were pretty easy, but it took many hours of tracing and testing to find the ENTRY point problems. I compiled and ran it using the GNU compiler, gfortran, so no real nice debugger. I was back to sticking in WRITE statements and rerunning, just like I did many years ago.
At any rate it is now apparently working, so I can go on with the rest of the project. It would be nice to be able to convert the code to run on .NET, but looking at the structure, I think that would be a difficult and frustrating task.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Reading this interesting tale of code-archaeology, for some reason the words from Robert Service's ballad "The Cremation of Sam McGee" came to my mind:
"There are strange things done 'neath the midnight sun
By the men who moil for gold.
The arctic trails have their secret tales
That would make your blood run cold."
cheers, Bill
“I speak in a poem of the ancient food of heroes: humiliation, unhappiness, discord. Those things are given to us to transform, so that we may make from the miserable circumstances of our lives things that are eternal, or aspire to be so.” Jorge Luis Borges
|
|
|
|
|
My brother turned me on to Robert Service many years ago, my favorite is The shooting of Dan McGrew.
When out of the night which was 50 below and into the din and glare
There stumbled a miner fresh from the creek, dog dirty and loaded for bear
Along with Antimatter and Dark Matter they've discovered the existence of Doesn't Matter which appears to have no effect on the universe whatsoever!
Rich Tennant 5th Wave
|
|
|
|
|
That sounds familiar, actually. Back in the late 80's I worked for a defense contractor. I worked briefly on an effort to aggregate results from a number of flight control simulations, some of which dated from the 60's, all of which were written in one dialect of FORTRAN or another. As I recall we decided not to pursue the contract, because it would require too much effort to build the tools necessary to convert all of the code to a common form.
Software Zen: delete this;
|
|
|
|
|
Um...not according to your profile pic.
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
OriginalGriff wrote: not according to your profile pic
A number of years ago, a colleague was switching from being a co-op to a full time employee. Part of the process was a drug test; they required 3 months worth of hair growth to conduct the test.
He basically kept his hair in a crew cut since he didn't know about the impending drug test.
When he arrived and they looked at his head, they said he had two options... he lifted his arm very quickly.
When I switched from a contractor to an employee, I delayed my hair cut until AFTER the testing was complete.
|
|
|
|
|
Not a problem I would have - I could give 'em a dozen years of drug testable material!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
Actually I keep it combed back, but there is sufficient hair on my head. I have to get it thinned every time I go to the barber.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Debugging it is fun, ever tried re-writing it?
One of my apps is C++ with one routine written in 'optimised' F77. One day I thought "Having one FORTRAN source code file in this project is silly, I'll quickly re-write that in C++, just because".
Between entry points and multiple, nested labelled GOTOs - trying to replicate the flow through the original code was mind boggling.
It would actually be easier to replicate the function of the code in C++ from scratch, than to directly re-write it.
In the end, it wasn't broke, so I didn't 'fix' it.
|
|
|
|
|
Yeah, I've rewritten lots of Fortran. Depending on how it was structured, it can be easy or it can be a nightmare. I'm afraid this bunch of source code would be a nightmare, but I may attempt it some day if I have time and need a challenge.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Apparently, since at least version 10, IE refuses to keep any manually added websites in the Compatibility View list if the option to 'Delete Browsing history on exit' is turned on.
After an update to IE 11, one of the web applications used at my Saturday job refused to work correctly in 'Edge' mode. Adding the website to the Compatibility View list solved the problem. If, for whatever reason, the browser was closed and reopened, the web application would again fail, due to the previously added website mysteriously dissappearing from the CV list. For a week they have been on chats and remotes with 3 different technicians from the website purveyor to get it sorted out. The transcripts are in front of me now and it seems they were only interested in closing the ticket...explain that their application only works under IE 10 or less...nope Chrome won't work, neither will Firefox...we tried them all. There is a rewrite for the application scheduled, but it won't be available until next year. They screw with some of the IE advanced settings, re-add the website to the CV and all is well. Case/ticket resolved, 'see, it works'. The next time the application was restarted, the CV setting was gone. For a week, they have had to manually add the website into the CV each and every time to use the application. The culprit was the 'Delete Browsing History on exit' setting.
I understand how the connection between the two could be missed the first time, but three support techs completely missed the solution even when the customer explained the symptoms quite clearly. I don't understand why MS decided this was the way to do it, and I don't understand why someone would need to delete the browser cache every time it closed, but that's not the point. I should be able to do both. Better yet, I should expect that a company selling monthly subscriptions for a 'state of the art' web based service should be able to correct some silly browser display problems that keep it from working correctly in any newer common browsers. It's not rocket science guys!
"Go forth into the source" - Neal Morse
|
|
|
|
|
I raise you the Samsung developer pages. They are a mess, and finding anything useful (a DEVICE EMULATOR, for example) is a PITA. I found some, but apparently they are not working with the SDK they are promoting. A repository where you could get everything you need, added as Eclipse addon? Naah, no one would need this. Let them rather search t'interwebs.
Now that I know how much I love MS, can you please just bring me the stuff I need?
Pete O'H, if you are reading this: Are you using a device simulator for you Neo development?
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
How to ask a question
|
|
|
|
|
SAP. One abbreviation that will make you love MS. MS is way better when it comes to SAP.
|
|
|
|
|
2 words: Never again.
When I was unemployed 2 years ago I actually turned down a job cause they wanted me to do SAP (k other reasons as well but that was one of the big one's).
|
|
|
|
|
Is that the Samsung Accessory Protocol you are talking about?
I hope not, because this is what comes once I found the emulator...
I will never again mention that Dalek Dave was the poster of the One Millionth Lounge Post, nor that it was complete drivel.
How to ask a question
|
|
|
|
|
SAP == Slows All Processes
|
|
|
|
|