Domain: acm.org
Stories and comments across the archive that link to acm.org.
Comments · 1,502
-
BCS and ACM have oneThis has already been attempted by both the BCS (British Computer Society) and the ACM (Association for Computing Machinery)
Neither cover all important points and both have problems, but they are a good start. In particular neither are very clear when two requirements contradict. For example from the BCS Code of Conduct:
3. You shall have regard to the legitimate rights of third parties.
may contradict
4. You shall ensure that within your professional field/s you have knowledge and understanding of relevant legislation, regulations and standards, and that you comply with such requirements.
In some cases where DMCA or EUCD apply.Despite these problems, the various documents are certainly worth a look:
-
ACM and IEEE have codes of ethics . . .. . . and supposedly you are supposed to be kicked out if you break them. See ACM's code of Ethics and IEEE's code of Ethics. There is a third one around somewhere that is made jointly by IEEE-CS and ACM, but I can' remember the URL (I think someone else posted it already).
As for what I think of them, since I am a member of ACM and IEEE, I stand by them. This may sound a little idealistic; I believe I am just being realistic and trying to set an example for the rest of industry. And for those that say "good luck getting a job", think about a couple of things: 1) If enough people do it, it will work and 2) I work for the US government. One of the big things is that you have to be responsible with your client's (the military) information, or else you are fired and put on trial for treason. A bit ironic that the US government is leading the way in this area.
On a side note, I think it would be great if we could create an organization that functioned as both a union/lobbying group and one that certified people and held them to a higher standard of ethics and excellence. It might seem like it would be too hard for one group to cover so many goals, but think of the power that group would have if it worked: Want good software that doesn't violate people's rights? Then treat us with respect!
-
Coding isn't really a profession like medicineA couple of quick thoughts:
- Medicine is a field which requires certification. Writing code is not a profession in that sense. There is no body analagous to the American Medical Association or the IEEE that regulates best practices, standards,ethics. There is no journal of the American Coders Association
- Certification is a tricky business for technical, rapidly changing fields; any sysadmin aware of the SAGE Certification program should know about the long, hard road to determining what makes a certified sysadmin.
- Most coders don't even participate in the Association for Computer Machinery, the first computer professional organization.
- The low barriers to entry for coders make regualtion damn near impossible. It's a lot like the repeated attempts to unionize sex workers: there's always another eighteen year old waiting in the wings to take the work and do a miserable job. I have way more respect for the average sex worker than coders - competetion makes them good at what they do. Most coders get paid either way. But that's a different rant.
- Who determines the public good? This is ostensibly the work of the government, but occasionally falls to non-governmental organizations like the AMA. This is not a job for the self-righteous
/. community. Is spyware harmful? I think so, but most people either aren't aware or are indifferent. This isn't a technocracy, which despite what some readers might think is a good thing - technical people can't govern any better than anyone else, and frequently do worse. Nice idea, but you can't get there from here.
Some days it's horribly obvious that too many
/. readers really don't know any serious computer professionals. These aren't new issues, but they've never been brought to the attention of this community.
-
Philosophy of the ACM Code of Ethics
The basic idea behind the ACM code of ethics, which was first developed in the 1960's (but has been amended many times since) is to avoid being specific or definitive in any way. There are good reasons for this that were published in an ACM paper titled "Rules for Ethics in Information Processing", by Donn B. Parker in the ACM journal for March, 1968, describing the reasons that the code of ethics was designed how it is.
If you look at the code of ethics carefully, there are virtually no declarations in the entire thing that state "thou shalt not" or "thou shalt". If there's anything that says that, it puts the judgement of what it means on the member themselves.
When it comes down to it, the code of ethics is more of a requirement that ACM members use their common sense and do what they truly believe is right and ethical in a way that is within reason acceptable to society. Every single person has their own idea of what is ethical, and the boundaries are very fuzzy. As soon as you start drawing lines, you create as many problems as you solve.
It has been used in the past to kick people out of the organisation. I think one of the first times it was used was to dismiss a member who'd put workarounds in some banking software so that his own account had certain financial advantages over everyone else's... or something similar. He was put before a committee representing ACM, he couldn't ethicly justify what he'd done in a way that satisfied the committee, and so he was thrown out.
The ACM paper above is a good read about why it isn't a good idea to have a strict code of ethics. Personally I think the ACM approach is a good way to do it.
-
you mean like...
...the ACM Code of Ethics?
-
Yes.
However, Physicians are centrally licensed by the American Medical Association in order to prevent the widespread public harm by quacks. The same goes for Psychiatrists, Architects, Lawyers, etc. All of these groups are able to enforce their own oaths because you can be disbarred, de-licensed, etc. for violating them. Once that has happened it is a crime to practice your profession and many countries will send you to jail (for fraud if nothing else) for trying.
Similarly most patients, plaintiffs, etc. are not in a position to go over national (or even state) borders to find a cheaper (unlicensed) practitioner. Nor are many in a position of being their own legal counsel or physician (although many are forced to economically). As a result the oaths and their violations have teeth.
There is no central body controlling software developers or engineers in this way, nor do I think that there should be, per se. I believe that ethics in engineering is a valid thing (see works by Samuel C. Florman for more discussion.)
Yet, I do not think that the field can be so easily regulated. Physicians say "Do no Harm" that means "Do not kill people" Lawyers say "Do not lie" (and they mean it whatever common wisdom holds). But what does that mean for software developers?
"Do not help the wrong people get information?" Who are the "wrong people" many people (myself excluded) feel that "the government" should have any and all information it can on people as "Innocent People have nothing to hide" (John Ashcroft). Many others do not.
Similarly many people (myself included) feel that the RIAA is overstepping its bounds on trying to control users and should not be allowed to mandate national copyright control. Many others disagree, not because they are greedy bastards but because they support strong copyright.
The same questions could be made about developing weapons, Blue Boxes, and working for the DEA, etc. Because such ideas are not so clear-cut I don't think that you could easily put together a national consensus (or even a local consensus) on just what is and is not "harm." As endless language debates have shown "Clean code" is a debatable point.
That having been said, I think that ethics are a good thing, and that we as geeks should enforce them in our peers and ourselves as much as possible. This may include returning to the age-old custom of shunning sinners. At the very least we can work to see that what we do in our professional and personal development is good, and ensure that, when we have a say, no-one gets hired to our companies who doesn't measure up.
You might see also:
Computer Professionals for Social Responsibility
The Association for Computing Machinery
and their working group on Computers in Society
My $0.02.
Irvu.
-
Yes.
However, Physicians are centrally licensed by the American Medical Association in order to prevent the widespread public harm by quacks. The same goes for Psychiatrists, Architects, Lawyers, etc. All of these groups are able to enforce their own oaths because you can be disbarred, de-licensed, etc. for violating them. Once that has happened it is a crime to practice your profession and many countries will send you to jail (for fraud if nothing else) for trying.
Similarly most patients, plaintiffs, etc. are not in a position to go over national (or even state) borders to find a cheaper (unlicensed) practitioner. Nor are many in a position of being their own legal counsel or physician (although many are forced to economically). As a result the oaths and their violations have teeth.
There is no central body controlling software developers or engineers in this way, nor do I think that there should be, per se. I believe that ethics in engineering is a valid thing (see works by Samuel C. Florman for more discussion.)
Yet, I do not think that the field can be so easily regulated. Physicians say "Do no Harm" that means "Do not kill people" Lawyers say "Do not lie" (and they mean it whatever common wisdom holds). But what does that mean for software developers?
"Do not help the wrong people get information?" Who are the "wrong people" many people (myself excluded) feel that "the government" should have any and all information it can on people as "Innocent People have nothing to hide" (John Ashcroft). Many others do not.
Similarly many people (myself included) feel that the RIAA is overstepping its bounds on trying to control users and should not be allowed to mandate national copyright control. Many others disagree, not because they are greedy bastards but because they support strong copyright.
The same questions could be made about developing weapons, Blue Boxes, and working for the DEA, etc. Because such ideas are not so clear-cut I don't think that you could easily put together a national consensus (or even a local consensus) on just what is and is not "harm." As endless language debates have shown "Clean code" is a debatable point.
That having been said, I think that ethics are a good thing, and that we as geeks should enforce them in our peers and ourselves as much as possible. This may include returning to the age-old custom of shunning sinners. At the very least we can work to see that what we do in our professional and personal development is good, and ensure that, when we have a say, no-one gets hired to our companies who doesn't measure up.
You might see also:
Computer Professionals for Social Responsibility
The Association for Computing Machinery
and their working group on Computers in Society
My $0.02.
Irvu.
-
ACM/IEEE Software Engineering Code of Ethicshttp://www.acm.org/serving/se/code.htm
Software Engineering Code of Ethics and Professional Practice
ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices
Short Version
PREAMBLE
The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code.Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:
1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
-
ACM Code of Ethics already covers this
1. GENERAL MORAL IMPERATIVES.
1.1 Contribute to society and human well-being.
1.2 Avoid harm to others. ...continuing through 1.8. -
Re:Worth readingUIs that are good for the beginning user may not be good for the power-user...
That's a common point I have yet to see proven. Usually, expert users use different applications than beginners and the designer/developer of an application can adjust to that.
For applications that are being used by all kinds of users (e.g. a file manager), ease of use serves both sides. If you find something that makes a beginner's life easier, why should experts not be able to profit from that? It's not like having to throw annoying wizards all over the place was ever essential for an easy-to-use system.
The pure beginner is, IMSO, overrated. Easy to use should not mean beginnerfriendly but userfriendly. A homecomputer is not an ATM or ticket vending machine that needs to be understood immediately. If it's a little hard to learn, the user will bother once. If it's a pain in the ass to use, the user will bother every time. See the Anti-Mac Interface for details. -
Re:Can somebody point out more academic resources?HCI is a broad field, and its practicioners have a a wide range of degrees, backgrounds, expertise, etc. Most either have degrees in psychology or in computer science (e.g., me), but some have degrees in art or design. Although HCI is not viewed well in some CS departments/schools, there are some where it's well-supported, such as U.C. Berkeley, Virginia Tech, Georgia Tech, and Maryland (College Park) (to name some I can think of off the top of my head). Also, there are a small but increasing number of schools that offer degrees in HCI. Carnegie Mellon offers a professional Master's and PhDs in HCI, for example, at the HCI Institute. (Full disclosure: I currently work at the HCII.) As another comment said, schools or departments of information science/technology are becoming more prevalent, and would provide a suitable background for HCI.
Then again, you don't necessarily need a degree in HCI, CS, or psych at all. For example, if you're coming from the programming side (as I suspect many here on
/. are :) ), you could get a job building user interfaces, which is mostly programming with some HCI component. Then you could migrate pretty smoothly to doing higher-level, design type work, which would be more HCIish and less CSish.As far as books, here are a few I like:
- The Design of Everyday Things, by Don Norman.
- Programming As If People Mattered, by Nathaniel Borenstein.
If you want to see what the cutting edge of HCI is, check out proceedings and journals, such as the ACM conference on HCI (Human Factors in Computing Systems, a.k.a. SIGCHI) or the ACM Symposium on User Interfaces Software and Technology (UIST).
-
Re:Can somebody point out more academic resources?HCI is a broad field, and its practicioners have a a wide range of degrees, backgrounds, expertise, etc. Most either have degrees in psychology or in computer science (e.g., me), but some have degrees in art or design. Although HCI is not viewed well in some CS departments/schools, there are some where it's well-supported, such as U.C. Berkeley, Virginia Tech, Georgia Tech, and Maryland (College Park) (to name some I can think of off the top of my head). Also, there are a small but increasing number of schools that offer degrees in HCI. Carnegie Mellon offers a professional Master's and PhDs in HCI, for example, at the HCI Institute. (Full disclosure: I currently work at the HCII.) As another comment said, schools or departments of information science/technology are becoming more prevalent, and would provide a suitable background for HCI.
Then again, you don't necessarily need a degree in HCI, CS, or psych at all. For example, if you're coming from the programming side (as I suspect many here on
/. are :) ), you could get a job building user interfaces, which is mostly programming with some HCI component. Then you could migrate pretty smoothly to doing higher-level, design type work, which would be more HCIish and less CSish.As far as books, here are a few I like:
- The Design of Everyday Things, by Don Norman.
- Programming As If People Mattered, by Nathaniel Borenstein.
If you want to see what the cutting edge of HCI is, check out proceedings and journals, such as the ACM conference on HCI (Human Factors in Computing Systems, a.k.a. SIGCHI) or the ACM Symposium on User Interfaces Software and Technology (UIST).
-
Honesty and Professionalism
When something is sold as "advertising" but is nothing less than an attempt to trick or confuse a person into purchasing, downloading or installing your software, that's misrepresentation and/or fraud. Regardless of any 2pt fine-print at the bottom, or "user agreement" on the page. Hard to stop them, though.
I think you're on the right track there. Granted, IANAL, so I don't know the legal details of this. From my experience, what is needed is a sense of honesty in those who are planning, designing, and coding this stuff. Here's a definition that I've found to work really well for me:
Honesty: The absence of the intention to deceive.
There are some developers, somewhere, who actually are writing this code. Devising and implementing techniques that appear to be one thing but are actually something else. From the referenced article:
For example, when visiting a site a person may receive a pop-up box that appears as a security warning with the message: "Do you accept this download?" If the consumer clicks "Yes," an application is automatically installed.
It sure looks to me that there is an intention to deceive! If these were being honest, the prompt would be more along the lines of:
"Do you want to download a program whose sole purpose is to force you to view advertisements?"
I wonder how many users would click on "Yes" for that?
Unfortunately, there are people who are willing to follow this path. Not just advertising agencies lacking any moral scruples, either. What about struggling web sites that are just trying to meet the payroll for their employees after discovering they could not make a profit under their failed business plan? There's a desire to do what's right in getting paychecks to people who have families to support and bills to pay, and that pressure can lead people to step over the line of what they otherwise might do. It seems to me that as these practices becomes more widespread, there's less of an onus against them, leading to even even greater adoption of these techniques, which leads to even wider use, greater adoption,
... lather, rinse, repeat.
Where's the sense of ethics and professionalism here? I offer, as food for thought, the ACM(*) Code of Ethics. NOTE: I am not suggesting everyone should mind heedlessly to these. What I have found in my own experience, though, is that reading through these has given me insights and perspectives on things that I otherwise would not have even considered.
As long as someone can take some programming classes, gain some technical expertise, and hire out as a programmer... well I believe there's more to it than just writing code. Though I hope otherwise, I have a feeling that it is going to take a lot more of these "products" getting a public black eye before there is a groundswell of support for anything different -- things are likely to get worse until they get better. If the $billions lost on Code Red and other worms and viruses has not been enough, just what WILL it take for things to change?
(*)"The ACM (Association for Computing Machinery) is the world's oldest and largest educational and scientific computing society. Since 1947 ACM has provided a vital forum for the exchange of information, ideas, and discoveries."
-
Honesty and Professionalism
When something is sold as "advertising" but is nothing less than an attempt to trick or confuse a person into purchasing, downloading or installing your software, that's misrepresentation and/or fraud. Regardless of any 2pt fine-print at the bottom, or "user agreement" on the page. Hard to stop them, though.
I think you're on the right track there. Granted, IANAL, so I don't know the legal details of this. From my experience, what is needed is a sense of honesty in those who are planning, designing, and coding this stuff. Here's a definition that I've found to work really well for me:
Honesty: The absence of the intention to deceive.
There are some developers, somewhere, who actually are writing this code. Devising and implementing techniques that appear to be one thing but are actually something else. From the referenced article:
For example, when visiting a site a person may receive a pop-up box that appears as a security warning with the message: "Do you accept this download?" If the consumer clicks "Yes," an application is automatically installed.
It sure looks to me that there is an intention to deceive! If these were being honest, the prompt would be more along the lines of:
"Do you want to download a program whose sole purpose is to force you to view advertisements?"
I wonder how many users would click on "Yes" for that?
Unfortunately, there are people who are willing to follow this path. Not just advertising agencies lacking any moral scruples, either. What about struggling web sites that are just trying to meet the payroll for their employees after discovering they could not make a profit under their failed business plan? There's a desire to do what's right in getting paychecks to people who have families to support and bills to pay, and that pressure can lead people to step over the line of what they otherwise might do. It seems to me that as these practices becomes more widespread, there's less of an onus against them, leading to even even greater adoption of these techniques, which leads to even wider use, greater adoption,
... lather, rinse, repeat.
Where's the sense of ethics and professionalism here? I offer, as food for thought, the ACM(*) Code of Ethics. NOTE: I am not suggesting everyone should mind heedlessly to these. What I have found in my own experience, though, is that reading through these has given me insights and perspectives on things that I otherwise would not have even considered.
As long as someone can take some programming classes, gain some technical expertise, and hire out as a programmer... well I believe there's more to it than just writing code. Though I hope otherwise, I have a feeling that it is going to take a lot more of these "products" getting a public black eye before there is a groundswell of support for anything different -- things are likely to get worse until they get better. If the $billions lost on Code Red and other worms and viruses has not been enough, just what WILL it take for things to change?
(*)"The ACM (Association for Computing Machinery) is the world's oldest and largest educational and scientific computing society. Since 1947 ACM has provided a vital forum for the exchange of information, ideas, and discoveries."
-
The Relevant Entry------- Additional Comment #14 From tor@acm.org 2001-07-31 10:47 -------
Here's a summary of the jpeg2000 situation that I wrote up, but never made it into bugzilla:
You might want to ask Tom Lane, head of the Independent JPEG Group, for his opinion.
It seems that adding jpeg2000 support would get us involved in a legal mess. If you look at appendix L of the jpeg2000 draft, there are 22 companies who believe that implementing the spec may require use of their patents. From http://www.jpeg.org/CDs15444.htm :
Particular attention is drawn to the use within the standard of selected technology or algorithms which are claimed to be protected by national and/or international patents. In the case of technology submitted for consideration by JPEG for incorporation in Part 1 of the standard, the JPEG committee believes that the individual organisations concerned will make available licences to use this intellectual property, on a royalty- and fee-free basis, under specified conditions which may apply only to conforming implementations of the standard. These conditions are available on application to the organisations concerned, which are listed in an Annex to the document.
It is of course still possible that other organisations or individuals may claim intellectual property rights that affect implementation of the standard, and any implementors are urged to carry out their own searches and investigations in this area. The JPEG committee requests any organisations or individuals claiming (or being aware of claims) that any of the committee drafts available for download here infringes other intellectual property rights to provide information and/or evidence to substantiate their claim to the JPEG Convener in the first instance.
Moving on to more practical considerations, there is one open (sort of) C implementation of the jpeg2000 standard that I'm aware of, Jasper:
http://www.ece.ubc.ca/~mdadams/jasper/
The licensing terms are specified in this document:
http://www.ece.ubc.ca/~mdadams/jasper/LICENSE-1.00 0
While I'm not a lawyer, the impression I get is that once ISO officially publishes part 5 of the jpeg200 standard we're free to use the library as we like.
-
Re:Integrated database computers: IBM AS/400
> Well, when 7 dead astronauts are traced to SQL flaws, then perhaps the "real relational" model will finally get the attention that it allegedly deserves.
You should read the authors you criticize before being ironic about them anyway, my example was purposefully overshooted to try to bring your attention to the fact that theory is practical, and there is more than one book about that, but you seem to have also purposefully missed the point.
> What you need to sell it is catchy buzzwords and toy examples and techno-cliches that inject half-baked ideas (or even those that happen to be full-baked) to PHB's.
Here I agree with you. But all this can come just after an implementation of the relational model gains some acceptance. It’s a chicken-and-egg problem which was broken for the basic relational ideas by IBM Future System’s System R prototype which eventually became SQL/DS. BS12 could have been it for the full relational compliance, but perhaps now it’s too late for it, even with IBM newfound open source friendliness. But Alphora Dataphor could be it, too bad slashdotters don’t want to hear about it. There were at least two rejected submissions about it.
> I agree that NULL stinks overall. It's few benefits are not with the myriad frustrations it causes.
You get the point relating to NULLs. You can say about the same about duplicates, inconsistent language design, lack of closure, arbitrary restrictions, broken types and domains system, mistaken object support (the relvar == class blunder), and the list goes ever on that’s why it’s way better to ditch SQL and start all over again, and that’s why we need The Third Manifesto.
-
ACM position letter
You might want to look the the ACM position letter found here:
http://www.acm.org/usacm/SSSCA-letter.html
It is a little bit dated (Sept. 2001) but it was well thought out and has many valid points. Let me know if there is any way I can help personally...
-Derek -
ACM position letter
You might want to look the the ACM position letter found here:
http://www.acm.org/usacm/SSSCA-letter.html
It is a little bit dated (Sept. 2001) but it was well thought out and has many valid points. Let me know if there is any way I can help personally...
-Derek -
Re:How fast do we really need to go?
"Some of the beefier supercomputers can pull a few frames/second when doing real-time ray traced images, given a small window and a low level of image complexity".
That's utter crap. Those guys can't program worth shit, in that case. I've seen SOFTWARE realtime raytracing on a 700MHz Pentium III easily pull 10+FPS. Stop being so thick and see this page. Which, by the way, took me less than 0.1 seconds to find, after typing in "realtime raytracing" into Google and hitting "I'm feeling lucky". -
Re:That's what you get...
Even if you compile everything yourself, you could still have problems if a single binary not compiled by you was ever used in your computer (like the compiler, for example), as is demonstrated by this article.
-
This was my final year project thesis
This was my final year project thesis. Just remember the golden rule unstructured 2 structured == convert 2 XML I wrote a [very bad] program in C++/Perl/tcsh IPC=pipes to add XML tags to English, and then index them into a search engine which would use the lingual data stored in the XML tags to help the search.
NIST does a MASSIVE competition on this annually. I don't want to be an XML-buzzword whore <Arnold Schwarzenegger accent> (XML commando eats Green berets, C++, Java, Perl, COBOL for breakfast)</Arnold Schwarzenegger accent> but you can't beat XML for easily converting anything that you can make sense out of into computer readable format. Real h3cKoRs use SGML, but us underlings have to stick with things we can understand like XML. As for expandability, if we want to encode something else into the document, then just tag-it-and-go
It took me 200 hours to fish out all these links (before the Google days), I don't want anyone to have to waste as much time as I did feeding the search engines exotic foods. It's a year old so pardon me for the odd broken link, armed with these you could probably turn jello into XML ;-)
My favourite bookmarx
PROJect[21 links]
Beginners' Guide[13 links]
Berkeley Linguistics Dept. Course Summaries, general stuffzzzzzzzzzzzzzzCryptic IR Vocabulary defined
Explanations of weird words like hypernym zzzzzzzzzzzzzzHow do we produce and understand speech
How Inverted Files are Created - Univeristy of Berkeley zzzzzzzzzzzzzzNLP Univ. of Indiana, very good basics e.g. word sense d
Simple langauge - useful.... zzzzzzzzzzzzzzWhat is Natural Language Processing, links
What is POS tagging........ zzzzzzzzzzzzzzWord Sense Disambiguation defined
Word Sense Disambiguation in detail, scroll down far zzzzzzzzzzzzzzWord Sense Disambiguator - LOLITA (tested at MUC-7 and SENSEVAL competition as best)
XML for the absolute beginner
HTML, XML stuff + parsers[19 links]
Apache plug-in that uhhh does stuff with XML zzzzzzzzzzzzzzConvert COM to XML
convert XML, HTML to Unix pipeable formats zzzzzzzzzzzzzzconverters to and from HTML
expat XML parser zzzzzzzzzzzzzzHTML Tidy - converts HTML 2 XML + source code!!
Parse DB (RDBMS, whatever) to XML zzzzzzzzzzzzzzPerl-XML Module List
PHP Manual XML parser functions - what the hell are they talking about, PHP Virtual M... zzzzzzzzzzzzzzPublic SGML-XML Software
Pyxie - XML Processor for Python, Perl, etc. zzzzzzzzzzzzzzSGML+XML tools.org
The XML Resource Centre - massive number of links zzzzzzzzzzzzzzW4F wrapper - wrapper converts XML to HTML
XFlat - convert flat file into XML zzzzzzzzzzzzzzXML Parsers and other XML stuff
XML.com - Parsers, etc. zzzzzzzzzzzzzzXML-Data Catalog System - uhhhh looks close
XTAL's general converter - convert anything 2 XML
other Background[8 links]
Is Linux ready for the Enterprise, scalable... zzzzzzzzzzzzzzLinux reliability
Linux Versus Windows NT, Mark(sysinternals bloke) zzzzzzzzzzzzzzPC reliability (pcworld)
SPEC - Standard Performance Evaluation Corp. zzzzzzzzzzzzzzSystems benchmarks
TPC - Transaction Processing Performance Council zzzzzzzzzzzzzzUnix Beats Back NT In EDA Workstation Arena
Proper TREC(-8) QA systems[2 links]
pg. 387 LIMSI-CNRS pretty deep parsing[2 links]
More links....
NLP, IR links - lots to corpii, etc.
pg. 575 U. of Ottawa and NRL (shit system, got 0%)[1 links]
LAKE Lab
pg. 607! University of Sheffield (crap system, but OPEN SOURCE!)[2 links]
GATE - FREE IE app w`source code
LaSIE - ER, coreference, template (cv)
pg. 617 Univ of Surrey (inconclusive matches)[2 links]
System Quirk - Or is this their search system..... Hmmmmmm
Univ of Surrey - pointers (hopefully this is their WILDER search system...)
SMU - Pg. 65[1 links]
Natural Language Processing Laboratory at SMU
Textract[2 links]
Cymfony - Technology
Textract - State of the Art Information Extraction
Xerox uhhhhh maybe[1 links]
Xerox Palo Alto Research Center
(OVERVIEW) 1999 TREC-8 Q&A Track Home Page
NLP bloke, Univ Sussex
Tcl-Tk[4 links] Tcl tutorial
Tcl-Tk Contributed Programs Index
Tcl-Tk Resources, sources
TclXML - manipulating XML using Tcl-Tk
Artificial Natural Language - Is this what I'm trying to parse into...
Comparison of Indexers - Prise vs. Inquery vs. MG, etc.
Eagles - Language Engineering Standards
Language Technology Group - lots of modules!
LDC - Linguistic Data Consortium, lots of corpora
Lexical Resources
Links 2 resources, indexers.....
Lots of IR stuff, University of uhhh
Managing Gigabytes Indexer
Managing Gigabytes Manuals and stuff
Htdig search system
NLP & IR (NLPIR, NIST) Group
OVERVIEW OF MUC-7-MET-2
Perl XML Indexing - XML search engine type thing
Phrasys Language Processing Software Components (money)
QA HCI bullshit
SIGIR - TREC-type thing, resources
SMART indexer system documentation
Text REtrieval Conference (TREC) Home Page
The Natural Language Software Registry
Thunderstone IE and IR products
WordNet - FREE DOWNLOADABLE lexical English database
Page created with URL+, nice utility for working with internet shortcuts -
Knowledge Discovery in Databases
This article refers to something called KDD. Knowledge Discovery in Databases [KDD] - as his counterpart Knowledge Discovery in Texts [KDT] - is a whole field of computer sciences. It's been around for more than 20 years now. The ACM even has a Special Interest Group : ACM-SIGKDD.
For an introduction you should read: _Introduction to Machine Learning_ (Kodratoff, Yves; Morgan Kaufmann Pub; 1988) or for a more recent and complete survey: _Advances in Knowledge Discovery and Data Mining_ (Fayaad, Usama; AAAI/MIT Press; 1996). -
Re:How to get the source codeBzzt. If we're using the tool to get and build the source for the tool itself, we can't trust the source it shows us:
-
Let computers be computers, humans be humans
I think it does an OK job for a computer, but nobody's going to accuse those summaries of being overly coherent (or well-typed).
Occasionally, the summary will juxtapose two sentences (it's just ripping examplar sentences from different stories), that when put together create screw up the meaning:
"Now that David Letterman is staying at CBS, ABC s corporate bosses took steps to mend fences with"Nightline"host Ted Koppel on Tuesday. And that ' s appealing to beer companies..."
Doh!
I think a more fruitful avenue of research is new methods of presenting information so that humans can decide what to read. Instead of using tricks to simulate a computer understanding the meaning of an article, this uses the same tricks to simply assist reading the article.
Apple's research group did some interesting work in that area in the 90's. -
The joys of the self-compiling troj--er, compiler
Ken Thompson has a few words on the subject that all programmers are well served to read.
--Blair -
Re:Sound good, until...
What if Microsoft is trojaning all our code?
We will never know, now will we? What's the good of open source that is built off of completely untrustworthy closed source?
They set up us the logic bomb! -
Re:...and more
The parent post got moderated down, as off-topic, probably because linzeal has a signature about the troubles in the mid-east. But his or her main point, was a link to Ken Thompson's 1995 ACM lecture...
-
Re:...and more
-
Re:Campus networks
heh. Too bad they don't offer financial aid to geeks that need T1 lines.
Interesting that this story comes on the same day as the House passes the Broadband legistlation bill. The article makes an excellent point: Hollings, champion of the SSSCA, will probably kill it when it gets to the Senate.
-
Way later, dude
I believe Pong was the first successful commercialized game (1972) (created by Atari founder Nolan Bushnell after his unsuccessful Computer Space in 1971). A home TV version of Pong appeared around 1976. MIT Space War, the game cited here, ran on "The" PDP-1 a decade earlier. It was the coolest.
-
Re:http://www.linuxfromscratch.org/
That's a good start, but not good enough. Unless, that is, you bootstrapped the compiler yourself, directly in machine code. And that's not secure either, because whatever tool you used to enter and verify the machine code could have been compromised also.
For a better idea of this, check out these two sites:
http://www.tuxedo.org/~esr/jargon/html/entry/back- door.html
http://www.acm.org/classics/sep95/ -
Re:http://www.linuxfromscratch.org/
But how did you build your binaries? You really should read this before you trust a compiler that you didn't bootstrap yourself.
-
Found lots of informationI found some related (and maybe some not so related) information on this by using Google and searching for "soviet union computers technology". Here's a handful of links for ya;
- "Computing in the Former Soviet Union and Eastern Europe"
- "Where did Soviet scientists go?"
- "Creator of the first stored program computer in continental Europe"
--
Evil Attraction -
Re:Ryad lineI found the acm.org's site search to be unuseable on linux/mozilla, which is ironic -- however, a google search on "soviet site:acm.org" turned up some interesting papers available as pdf (special tribute to Russian Dmitry Sklyarov ?):
The Soviet Bloc's Unified System of Computers by N.C. Davis and S.E. Goodman -- this talks about the "Ryad" s/360 clones.
Computing in the Former Soviet Union and Eastern Europe -- more an overview, but has a biography.
There are more, but the google search page is probably the place to go, rather than me cutting-and-pasting it here.
By the way, that guy S.E. Goodman seems to have also written an article about Red China's internet infrastructure.
-
Re:Ryad lineI found the acm.org's site search to be unuseable on linux/mozilla, which is ironic -- however, a google search on "soviet site:acm.org" turned up some interesting papers available as pdf (special tribute to Russian Dmitry Sklyarov ?):
The Soviet Bloc's Unified System of Computers by N.C. Davis and S.E. Goodman -- this talks about the "Ryad" s/360 clones.
Computing in the Former Soviet Union and Eastern Europe -- more an overview, but has a biography.
There are more, but the google search page is probably the place to go, rather than me cutting-and-pasting it here.
By the way, that guy S.E. Goodman seems to have also written an article about Red China's internet infrastructure.
-
If I were Microsoft
I would already have realised that I might have to give up the source code to win9x. I woudl have had a secret cabal of top programmers going through it obfuscating and repairing deliberatly anti-competitive routines.
Source code is also no good if it can't compile and be run. Do the state experts have the necessary compilers to do this? I bet it's not a vanilla MS-C or MS-C++. And we all know that you can't trust the compiler.
If you suspect that someone is untrustworthy then asking them for their written documentation of their untrustworthyness cannot be trusted.
HA! They should use that as a defense!!
I'm guilty but you can't take my word for it, I'm a liar. -
Prior art: Sega Out Run 1986 and IFIP 1971
what about all the coin-ops that had force feedback in the 80's
Sega's Out Run had force feedback in 1986. More importantly, there seems to be a paper by a J. Batter from IFIP 1971 called "GROPE-I: A computer display to the sense of feel." It is referenced on a UNC force feedback research page as well as by a 1985 SIGGRAPH article (paid ACM membership required). This is all well before the Feb., 1990 filing date of Immersion's earliest relevant patent.
The irony is that if J. Batter had filed a patent in 1971, it would have expired before Immersion's patent was filed!
-
Re:How about a FPS game?
-
A currrent ACM article on Open Source Developers
There is another survey about Open Source Developers in the "Communications of the ACM", February 2002 Vol. 45. No. 2, which has the article "Who Is an Open Source Developer", by Bert J. Dempsey, Debra Weiss, Paul Jones, and Jane Greenberg. ACM
The ACM researchers took a different approach, mostly compiling their data by analyzing many of the MetaLab Linux Archives, Linux Software Maps, the formatted metadata files which are often used to describe a Linux contribution. So the article could perhaps be titled "Who are Open Source Linux Contributors who uses LSM's." The BCG survey gets more into the motivations and classifications of OSD's (another TLA?) while the ACM approach focusses on what code gets contributed. The two surveys appear to support and complement each other in several conclusions. The ACM research seems quite realistic, and has interesting insights into Open Source Development, imho its not just a filler article re-stating the blindingly obvious for academic kudos.
The ACM paper has some not totally intuitive results (well some of it was news to me anyway). It also suggests that open source developers are a highly European, rather global group, with Germany in the lead and the UK featuring prominently, this supports the BCG survey. The ACM article does not however get into where submissions based on
.com addresses may really originate from, While the BCG offers some insight there.It supports the notion that each Open Source Developer tends to contribute a small number of code submissions in a narrow area of specialized interest, usually application oriented (not games), which is counter to the "heroic developer/hacker" stereotype and much more defensible as a stable development process.
The ACM study appears to provide support for the position that Open Source Development posesses an inherently long term and dynamic stability. It suggests that Open Source Development is not dependent on a few people, but rather on a growing effort to submit detailed, practical development work, by a diverse and truly globally community of software developers. That may not be news to most
/. folks, but good statistical support for such a conclusion may be useful news for many technologists. the ACM study appears to bode extremely well for the long term success of Open Source movements. Enjoy! -
Decent resourcesI'd suggest searching for articles on the subject in the ACM's digital library. They have a huge quantity of very technical papers, which are likely to at the very least lead you in the right direction. I tried a few searches, but it wasn't obvious to me, as somebody who has never researched that problem, which of the papers was relevant.
Posting anonymously, due to broken slash code.
-
From a database perspective
First, obviously any minimally decent relational-like, even SQL database is better than any non-relational (object, hierarchical) one &ndash& before proceeding please read Database Debunkings. So substituting MS SQL Server for NTFS should be A Good Thing(tm).
Second, SQL isn't a good implementation of the relational model... so it doesn't matter what's the management system behind it (MS SQL, DB/2, Oracle), if it's SQL it's not ideal -- a really relational system should be faster, have less arbitrary restrictions, and do everything a hierarchical or OO database management system could possibly do. But still SQL would be far better than any hierarchical or OO filesystem.
Third, as a SQL implementation MS SQL isn't quite ideal, and Jet (Access, Exchange, the registry) is simply horrible. So while this will probably improve Windows feature-wise, it will make Windows even more bloated, perhaps even less stable and slower. But if they manage to fix the database engine, it could even make Windows faster and more stable.
Fourth, this has already been done. By Oracle. It's called iFS (sorry but I couldn't access Oracle site to get a better page), and exports SMB and other filesystems. As Oracle is too big, proprietary and isn't even SQL compliant, and iFS does not support NFS, I didn't care much about it, but I may have an opportunity to use it as a kind of version control for binaries very shortly.
Last but not least, this idea should be adopted by the Free Software comunity ASAP. We should create a really relational implementation, ideally based on Tutorial D -- there's already a SourceForge project, but nothing has been done up to now. Then this would became a Hurd filesystem (because of Hurd's flexibility) to be ported to Linux. That would blow Longhorn out of water.
If we don't do it better than Microsoft, and if computers continue to get faster and Windows less unreliable, we could have serious competition, say some two or three generations after Longhorn.
-
Classics...
- Structure and Interpretation of Computer Programs
- Common Lisp HyperSpec
- Common Lisp the Language, 2. ed
- Common Lisp - A gentle Introduction to symbolic computation
- The Scheme Programming language, 2. ed
- Reflections on trusting trust
- Lisp: Good News, Bad News. How to Win Big
- John McCarthy's homepage
- Dennis Ritchie's homepage
- Various classic papers it's a shame ACM never bothered to continue adding to
- Another list of classic papers (this time related mostly to programming language design)
- GTK-Gnome Application Development (not a classic, though, as the field is too young)
- KDE 2.0 Development (not a classic though, as the field is too young)
- Eric Weissteins Mathworld
- Compilers and compiler generators - an introduction with C++ (although I'm not too sure if it deserves being called a classic...)
- Parsing techniques - A practical guide
- Art of assembly language programming (never was a dead tree, but good anyway)
- Paul Carters 386 assembly book (same comment as above)
- An Introduction to Scheme and its Implementation (see comment above)
- How to design programs - An introduction to programming and computing (not a classic, yet!)
- The Gutenberg archives contains much non-copyrighted classic fiction in ASCII format
- Sacred texts has copies of or links to many religious text for various major (or minor) religions
-
Classics...
- Structure and Interpretation of Computer Programs
- Common Lisp HyperSpec
- Common Lisp the Language, 2. ed
- Common Lisp - A gentle Introduction to symbolic computation
- The Scheme Programming language, 2. ed
- Reflections on trusting trust
- Lisp: Good News, Bad News. How to Win Big
- John McCarthy's homepage
- Dennis Ritchie's homepage
- Various classic papers it's a shame ACM never bothered to continue adding to
- Another list of classic papers (this time related mostly to programming language design)
- GTK-Gnome Application Development (not a classic, though, as the field is too young)
- KDE 2.0 Development (not a classic though, as the field is too young)
- Eric Weissteins Mathworld
- Compilers and compiler generators - an introduction with C++ (although I'm not too sure if it deserves being called a classic...)
- Parsing techniques - A practical guide
- Art of assembly language programming (never was a dead tree, but good anyway)
- Paul Carters 386 assembly book (same comment as above)
- An Introduction to Scheme and its Implementation (see comment above)
- How to design programs - An introduction to programming and computing (not a classic, yet!)
- The Gutenberg archives contains much non-copyrighted classic fiction in ASCII format
- Sacred texts has copies of or links to many religious text for various major (or minor) religions
-
Re:Gadget confusion
I'm not sure I'd want to invest in a piece of soon-to-be obsolete equipment
Like a PC, for example? You could always donate your obsolete DVD-ETC to charity when it becomes obsolete. At least, until they catch on... (Charities Say No To Obsolete Crap)
-
The root of the problem is Right Here(tm)"I have watched kids testifying before Congress. It is clear that they are completely unaware of the seriousness of their acts. There is obviously a cultural gap. The act of breaking into a computer system has to have the same social stigma as breaking into a neighbor's house. It should not matter that the neighbor's door is unlocked. The press must learn that misguided use of a computer is no more amazing than drunk driving of an automobile."
At first glance, one might attribute that statement to a computer-illiterate senator or to an incompetent journalist. You may be surprised, then, to find that this quote was from Ken Thompson in 1995. Yes, one of our own - a creator of the UNIX system and the command line we use every single day - condemned the antisocial activities of malicious computer users. Which leads me to ask: why aren't we listening, and where is our moral compass?
A few years ago, it was all the media's fault: the media gave much attention to antisocial criminals who happened to use computers. Nowadays, computer crime is rarely front-page news, especially in light of the recent terrorist attacks caused by the usual suspects. So what kind of notoriety, then, are these criminally insane geeks seeking? The fact of the matter is that the open source community here on Slashdot is not only tolerating illicit behavior; it is encouraging it. We are partially responsible for every Brian West, Eric Corley, Dmitri Skylarov, Ted Felten, Randal Schwartz,, and DrinkOrDie member. We are harboring criminals because we are glorifying their acts and lauding them for "civil disobedience." We are not unlike the Arabs who cheered as they watched the Twin Towers collapse on their (banned) TV sets. And like those ungrateful Arabs, we owe our prosperity to the American government and the capitalist society that so many users here seem to despise. We have become our own enemy.
We, as a community, need to stop tolerating this behavior. Instead of encouraging people like Jon Johansen by sending money to the EFF to help them keep these ingrates' lilly white asses out of jail, we need to send a strong message that computer crime is not consistent with our ethical standards. We need to lead by example - log off of Gnutella, start paying for software (even Windows), stop cracking your DVDs and eBooks "for fun," and start acting like an upstanding citizen. It is only then that the powers that be will start taking us seriously and repeal the DMCA/SSSCA/PATRIOT legislation, and start giving us our rights back. It is crystal clear that we will not get our rights back a moment before we get out of the business of producing criminals, and the first step is to stop empathizing with them.
freebsd guy
-
Backdoor/Trojan which is *source code clean*
Good point. But even if your crack team of security experts inspect and approve each and every line of source code, then do a "make world", you still are not safe!
Long ago Ken Thompson wrote a paper about a trojan/backdoor that is source code clean . This is usually accompanied with an antecdote about a guy at a computer show struggling to get his demo ready, but he forgets his root password. Just then, a bearded freaky guy from the next booth says "No problem", types a magic password, and viola! The demo proceeds as planned. The story is that every version of /bin/login has this trojan, and that this same bearded freaky guy can log in as root to any unix box on the planet ... if he wants to.
It's possible. Read the paper!
PS: Most linux users do not even attempt to build their systems from source. Every linux system is shipped with /bin/cc, /bin/ls, /bin/make, etc. in binary form, and thus, are all suspect. Every linux system *may* be infected with some backdoor/spyware which is just benign enough to have gone undected thus far. -
Thompson's hack
-
Cautionary Tale
Well, it's not a tale, really, but don't forget Ken Thompson's musings on the dangers of compiling compilers without knowing their full pedigree: the binary compiler can be a trojan horse factory that inserts weaknesses into programs it thinks should be targeted (e.g. "login"), including copying its trojan generation code into the next version of the compiiler.
-
Re:a dumb question
what is so good about a compiler being able to compile itself?
Once the compiler can compile itself, you can stick a trojan into it and have a good chance of nobody noticing. -
(Re:We do it!) Lots do!!
Glad to read about your applications! Of course, you are hardly alone in such endeavors! Half of the October 2001 issue of the Communications of the ACM was dedicated to High Performance Computing using Java. For a more immediate and applied example of using O-O methods for engineering type problems, have a look at the excellent recent book Object-Oriented Implementation of Numerical Methods: An Introduction using Java and Smalltalk by Dibier H. Bessett (Academic Press, 2001). I am sure it isn't too hard to find lots of other examples.