Domain: acm.org
Stories and comments across the archive that link to acm.org.
Comments · 1,502
-
Read about it yourself
Here
http://www.acm.org/globalizationreport/
I doubt you'll change your tune though, it seems you're convinced outsourcing is bad. -
Re:The Phoenix BIOS experiment
Sounds like Ken Thompson & Dennis Richie (creators of Unix & C) from Ken Thompsons speech - http://www.acm.org/classics/sep95/
That brings me to Dennis Ritchie. Our collaboration has been a thing of beauty. In the ten years that we have worked together, I can recall only one case of miscoordination of work. On that occasion, I discovered that we both had written the same 20-line assembly language program. I compared the sources and was astounded to find that they matched character-for-character. The result of our work together has been far greater than the work that we each contributed. -
Re:China & PGP
Have you never seen the famous paper by Ken Thompson on how he made a version of cc which would add a back door to 'login', and also to itself? Even if you recompiled cc from clean sources using the infected version of cc, you would end up with a trojaned cc binary, and hence a trojaned login binary.
Read all about it: http://www.acm.org/classics/sep95/ -
Make your own.
If you'd like to keep your kidney (and have an ACM subscription) you can just Build one yourself.
-
Re:Source?
http://www.acm.org/classics/sep95/
You have to look at the compiler, the OS, the microcode and the hardware, too. -
Re:Because it's open source
That helps, but it doesn't solve everything.
-
Re:Windows Only?
-
Re:Fuzzing and Obfuscation
I'd even be willing to say it is less prone, but I don't think you can say "impossible"
-
Re:Source code is nothing
Source code is nothing, look at all obfuscating source code contest out there ! What this code look ! I know more than one programmer that will encrypt his code to keep his job !
And then there's the compiler. It is very possible for Microsoft to have hidden essential parts of their source code into their own proprietary compiler so that the source is not compilable by anyone else. See Ken Thompson's "Reflections on Trusting Trust". -
ACM: 100s of Online Courses for $99/year
You might consider joining the Association for Computing Machinery. You get access to hundreds of online courses, a monthly magazine, and numerous other benefits. My limited experience suggests the online courses are of variable quality, but you can read the course summaries and find out if there are any of interest. Dues are $99/year.
-
Re:Insanely poor program architecture
c) Diabold refuses to let the source code be reviewed, and chose to run on Windows XP so neither the program or the OS of the box can be verified safe.
Do you have the source code for Unix?
Also, do you have the source code for the compiler that compiled that version of Unix?
And finally, do you have the source code for the compiler that compiled the compiler?
Granted, all of this requires a level of sophistication not yet achieved. However, unless you are capable of manually examining the entire system, you still need to assume that there is a backdoor in the login program.
e) Diabold security is fucked whether or not they put the same code they have tested on the box. With tested, verfied boxes they cannot add XP security patches for known flaws after te verification date (and if there is one thing worth keeping an 0-day for...). If they do add security patches etc then we are trusting closed source biaries to be added to election counting machines without the possibility of review. One bad actor and the elecetion is up for grabs.
The same can be said for OpenBSD, which was considered to be next to a perfectly secure operating system. Then suddenly, a new vulnerability class was discovered that caused a sudden auditing frenzy. -
Re:Countering Trusting Trust through Diverse Doubl
You don't know your history.
"Reflections on Trusting Trust
Ken Thompson
Reprinted from Communication of the ACM, Vol. 27, No. 8, August 1984, pp. 761-763."
http://www.acm.org/classics/sep95/
"Again, in the C compiler, Figure 5 represents the high-level control of the C compiler where the routine "compile" is called to compile the next line of source. Figure 6 shows a simple modification to the compiler that will deliberately miscompile source whenever a particular pattern is matched. If this were not deliberate, it would be called a compiler "bug." Since it is deliberate, it should be called a "Trojan horse." "
Yes, this is the exact paper Wheeler (and probably the great grandparent, implicitly) refers to. Yes, it was in 1984. Yes it was practical enough back then that it was actually done. Yes, it would still be practical today.
Note that this is not what Wheeler's paper is about. Wheeler's paper is about knowing when such a trojan has been implanted in the binary compiler (which then propagates it whenever it compiles itself). -
"Academic Dishonesty and the Internet"
Check out an interesting article about out-sourcing homework help in the Communications of the ACM: Academic Dishonesty and the Internet.
-
Usage Control vs. Access Control
Mike, do you consider the implementation of a more complete control mechanism, that can handle mutability of attributes and ongoing usage, for granting/denying access or usage, like UCON_{ABC}?
-
Idiots guide to Computers...
All you need to do is refer your mother/grandma/pa to
http://portal.acm.org/ft_gateway.cfm?id=363143&typ e=pdf&coll=GUIDE&dl=GUIDE&CFID=62709421&CFTOKEN=30 573549
and http://web.mit.edu/Saltzer/www/publications/endtoe nd/endtoend.txt
That would be a nice "oversimplified" start! -
Reflections on Trusting Trust
I'm surprised nobody's trotted out Reflections on Trusting Trust, by Ken Thompson. Not only does this discuss a backdoor, but also a backdoor that can't be found by examining the source code.
-
Re:Fairly Impressive
Man, it is the Association for Computing Machinery magazine, I mean, it is not any PC-Weekly WalMart mag.
If you don't know about ACM publications, here are other interesting ones:
Ubiquity: IT opinion magazine and forum
TechNews: News Gathering Service for IT Professionals
eLearn: Distance learning magazine
MemberNet: Your Key to the World of ACM...and Beyond
Computers in Entertainment: New ACM online magazine
P.s. Sorry for the K.B. -
Re:It's just a search engine!
They actually are probably a huge contributor to the rate of research since they have enable researchers to more quickly find information.
No.
Looking for research information on Google is like looking using Wikipedia to quote information for a paper.
We researchers use the following (between other) places to do serious research:
Scirus
Citeseer
ACM digital library
JStor
PubMed
There are some other specialized catalogues for Economics (Jstor is quite good) or other non computer science related even directly Elsevier.
Of course your University library may be useful and proceedings tend to help too. -
Interval arithmetic
Rounding towards the nearest neighbour is the default and ubiquitously used rounding mode. The complementary rounding modes (round toward -+ infinity or 0) are useful for doing calculations with interval arithmetic: a calculation can be performed twice with opposing rounding modes to derive an interval value for the result. If all operations are performed in this way, the final result of a complex calculation is expressed as an interval providing the range in which the real value will be (remember, often floating point numbers only approximate the real number). Using such a package can save you the trouble of performing error analysis. An article in the Journal of the ACM provides the details for implementing this feature.
-
Re:KISS
Yeah, but even if it was open source, you'd never really be to trust it unless you compiled it yourself. For example, Ken Thompson was able to bug the compiler so that it installed a backdoor whenever the login(1) program was compiled. For details you should see his paper Reflections on Trusting Trust.
-
Sysadmin Singularity Extras for 2006
#11. Seed AI installed on your users' machines will cause a Technological Singularity in 2006.
#12. Hotshot AI coders will waste countless hours learning to program good old-fashioned artificial intelligence (GOFAI) in old-fashioned stack-based Forth.
#13 Association for Computing Machinery will use your organization as a poster-child test-case for Seed AI gone amok.
#14 AI4U will lie around on people's desktops as a mark of prestige and sophistication, or as a last-ditch Christmas gift for obnoxious know-it-alls who have never been truly challenged in their pitiful lives.
#15. User Manuals will be totally disregarded or rewritten and sold on eBay.
-
Re:Ajax in actionYour view on bookmarks is rather limited, IMHO. Bookmarks create a view and may be very well used in GUIs. Refer to Paul T. Graunke, Shriram Krishnamurthi: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. Proceedings of the 24th International Conference on Software Engineering, May 2002, ACM Press.
Concerning studies on the back button:
Kunz, T. and Seuren, M. F. 1997. Fast detection of communication patterns in distributed executions. In Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research (Toronto, Ontario, Canada, November 10 - 13, 1997). J. H. Johnson, Ed. IBM Centre for Advanced Studies Conference. IBM Press, 12.
Golovchinsky, G. 2002. Going back in Hypertext. In Proceedings of the Thirteenth ACM Conference on Hypertext and Hypermedia (College Park, Maryland, USA, June 11 - 15, 2002). HYPERTEXT '02. ACM Press, New York, NY, 82-83. DOI= http://doi.acm.org/10.1145/513338.513363
Utting, K. and Yankelovich, N. 1989. Context and orientation in hypermedia networks. ACM Trans. Inf. Syst. 7, 1 (Jan. 1989), 58-84. DOI= http://doi.acm.org/10.1145/64789.64992
Sun, C. 2002. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact. 9, 4 (Dec. 2002), 309-361. DOI= http://doi.acm.org/10.1145/586081.586085
Shubin, H. and Meehan, M. M. 1997. Navigation in Web applications. interactions 4, 6 (Nov. 1997), 13-17. DOI= http://doi.acm.org/10.1145/267505.267508
Milic-Frayling, N., Jones, R., Rodden, K., Smyth, G., Blackwell, A., and Sommerer, R. 2004. Smartback: supporting users in back navigation. In Proceedings of the 13th international Conference on World Wide Web (New York, NY, USA, May 17 - 20, 2004). WWW '04. ACM Press, New York, NY, 63-71. DOI= http://doi.acm.org/10.1145/988672.988682
And these are just the first result from a 5-minutes search in ACM's digital library. I can't even remember how often I have read the same study results year after year in many proceedings. You are an ACM member and can access those articles, aren't you? Most professionals that work in HCI are, after all.
In case you aren't: Try Google for non-scientific opinions that corroborate my statement: http://www.google.com/search?q=back+button+web+br
o wser+undo -
Re:Ajax in actionYour view on bookmarks is rather limited, IMHO. Bookmarks create a view and may be very well used in GUIs. Refer to Paul T. Graunke, Shriram Krishnamurthi: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. Proceedings of the 24th International Conference on Software Engineering, May 2002, ACM Press.
Concerning studies on the back button:
Kunz, T. and Seuren, M. F. 1997. Fast detection of communication patterns in distributed executions. In Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research (Toronto, Ontario, Canada, November 10 - 13, 1997). J. H. Johnson, Ed. IBM Centre for Advanced Studies Conference. IBM Press, 12.
Golovchinsky, G. 2002. Going back in Hypertext. In Proceedings of the Thirteenth ACM Conference on Hypertext and Hypermedia (College Park, Maryland, USA, June 11 - 15, 2002). HYPERTEXT '02. ACM Press, New York, NY, 82-83. DOI= http://doi.acm.org/10.1145/513338.513363
Utting, K. and Yankelovich, N. 1989. Context and orientation in hypermedia networks. ACM Trans. Inf. Syst. 7, 1 (Jan. 1989), 58-84. DOI= http://doi.acm.org/10.1145/64789.64992
Sun, C. 2002. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact. 9, 4 (Dec. 2002), 309-361. DOI= http://doi.acm.org/10.1145/586081.586085
Shubin, H. and Meehan, M. M. 1997. Navigation in Web applications. interactions 4, 6 (Nov. 1997), 13-17. DOI= http://doi.acm.org/10.1145/267505.267508
Milic-Frayling, N., Jones, R., Rodden, K., Smyth, G., Blackwell, A., and Sommerer, R. 2004. Smartback: supporting users in back navigation. In Proceedings of the 13th international Conference on World Wide Web (New York, NY, USA, May 17 - 20, 2004). WWW '04. ACM Press, New York, NY, 63-71. DOI= http://doi.acm.org/10.1145/988672.988682
And these are just the first result from a 5-minutes search in ACM's digital library. I can't even remember how often I have read the same study results year after year in many proceedings. You are an ACM member and can access those articles, aren't you? Most professionals that work in HCI are, after all.
In case you aren't: Try Google for non-scientific opinions that corroborate my statement: http://www.google.com/search?q=back+button+web+br
o wser+undo -
Re:Ajax in actionYour view on bookmarks is rather limited, IMHO. Bookmarks create a view and may be very well used in GUIs. Refer to Paul T. Graunke, Shriram Krishnamurthi: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. Proceedings of the 24th International Conference on Software Engineering, May 2002, ACM Press.
Concerning studies on the back button:
Kunz, T. and Seuren, M. F. 1997. Fast detection of communication patterns in distributed executions. In Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research (Toronto, Ontario, Canada, November 10 - 13, 1997). J. H. Johnson, Ed. IBM Centre for Advanced Studies Conference. IBM Press, 12.
Golovchinsky, G. 2002. Going back in Hypertext. In Proceedings of the Thirteenth ACM Conference on Hypertext and Hypermedia (College Park, Maryland, USA, June 11 - 15, 2002). HYPERTEXT '02. ACM Press, New York, NY, 82-83. DOI= http://doi.acm.org/10.1145/513338.513363
Utting, K. and Yankelovich, N. 1989. Context and orientation in hypermedia networks. ACM Trans. Inf. Syst. 7, 1 (Jan. 1989), 58-84. DOI= http://doi.acm.org/10.1145/64789.64992
Sun, C. 2002. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact. 9, 4 (Dec. 2002), 309-361. DOI= http://doi.acm.org/10.1145/586081.586085
Shubin, H. and Meehan, M. M. 1997. Navigation in Web applications. interactions 4, 6 (Nov. 1997), 13-17. DOI= http://doi.acm.org/10.1145/267505.267508
Milic-Frayling, N., Jones, R., Rodden, K., Smyth, G., Blackwell, A., and Sommerer, R. 2004. Smartback: supporting users in back navigation. In Proceedings of the 13th international Conference on World Wide Web (New York, NY, USA, May 17 - 20, 2004). WWW '04. ACM Press, New York, NY, 63-71. DOI= http://doi.acm.org/10.1145/988672.988682
And these are just the first result from a 5-minutes search in ACM's digital library. I can't even remember how often I have read the same study results year after year in many proceedings. You are an ACM member and can access those articles, aren't you? Most professionals that work in HCI are, after all.
In case you aren't: Try Google for non-scientific opinions that corroborate my statement: http://www.google.com/search?q=back+button+web+br
o wser+undo -
Re:Ajax in actionYour view on bookmarks is rather limited, IMHO. Bookmarks create a view and may be very well used in GUIs. Refer to Paul T. Graunke, Shriram Krishnamurthi: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. Proceedings of the 24th International Conference on Software Engineering, May 2002, ACM Press.
Concerning studies on the back button:
Kunz, T. and Seuren, M. F. 1997. Fast detection of communication patterns in distributed executions. In Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research (Toronto, Ontario, Canada, November 10 - 13, 1997). J. H. Johnson, Ed. IBM Centre for Advanced Studies Conference. IBM Press, 12.
Golovchinsky, G. 2002. Going back in Hypertext. In Proceedings of the Thirteenth ACM Conference on Hypertext and Hypermedia (College Park, Maryland, USA, June 11 - 15, 2002). HYPERTEXT '02. ACM Press, New York, NY, 82-83. DOI= http://doi.acm.org/10.1145/513338.513363
Utting, K. and Yankelovich, N. 1989. Context and orientation in hypermedia networks. ACM Trans. Inf. Syst. 7, 1 (Jan. 1989), 58-84. DOI= http://doi.acm.org/10.1145/64789.64992
Sun, C. 2002. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact. 9, 4 (Dec. 2002), 309-361. DOI= http://doi.acm.org/10.1145/586081.586085
Shubin, H. and Meehan, M. M. 1997. Navigation in Web applications. interactions 4, 6 (Nov. 1997), 13-17. DOI= http://doi.acm.org/10.1145/267505.267508
Milic-Frayling, N., Jones, R., Rodden, K., Smyth, G., Blackwell, A., and Sommerer, R. 2004. Smartback: supporting users in back navigation. In Proceedings of the 13th international Conference on World Wide Web (New York, NY, USA, May 17 - 20, 2004). WWW '04. ACM Press, New York, NY, 63-71. DOI= http://doi.acm.org/10.1145/988672.988682
And these are just the first result from a 5-minutes search in ACM's digital library. I can't even remember how often I have read the same study results year after year in many proceedings. You are an ACM member and can access those articles, aren't you? Most professionals that work in HCI are, after all.
In case you aren't: Try Google for non-scientific opinions that corroborate my statement: http://www.google.com/search?q=back+button+web+br
o wser+undo -
Re:Ajax in actionYour view on bookmarks is rather limited, IMHO. Bookmarks create a view and may be very well used in GUIs. Refer to Paul T. Graunke, Shriram Krishnamurthi: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. Proceedings of the 24th International Conference on Software Engineering, May 2002, ACM Press.
Concerning studies on the back button:
Kunz, T. and Seuren, M. F. 1997. Fast detection of communication patterns in distributed executions. In Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research (Toronto, Ontario, Canada, November 10 - 13, 1997). J. H. Johnson, Ed. IBM Centre for Advanced Studies Conference. IBM Press, 12.
Golovchinsky, G. 2002. Going back in Hypertext. In Proceedings of the Thirteenth ACM Conference on Hypertext and Hypermedia (College Park, Maryland, USA, June 11 - 15, 2002). HYPERTEXT '02. ACM Press, New York, NY, 82-83. DOI= http://doi.acm.org/10.1145/513338.513363
Utting, K. and Yankelovich, N. 1989. Context and orientation in hypermedia networks. ACM Trans. Inf. Syst. 7, 1 (Jan. 1989), 58-84. DOI= http://doi.acm.org/10.1145/64789.64992
Sun, C. 2002. Undo as concurrent inverse in group editors. ACM Trans. Comput.-Hum. Interact. 9, 4 (Dec. 2002), 309-361. DOI= http://doi.acm.org/10.1145/586081.586085
Shubin, H. and Meehan, M. M. 1997. Navigation in Web applications. interactions 4, 6 (Nov. 1997), 13-17. DOI= http://doi.acm.org/10.1145/267505.267508
Milic-Frayling, N., Jones, R., Rodden, K., Smyth, G., Blackwell, A., and Sommerer, R. 2004. Smartback: supporting users in back navigation. In Proceedings of the 13th international Conference on World Wide Web (New York, NY, USA, May 17 - 20, 2004). WWW '04. ACM Press, New York, NY, 63-71. DOI= http://doi.acm.org/10.1145/988672.988682
And these are just the first result from a 5-minutes search in ACM's digital library. I can't even remember how often I have read the same study results year after year in many proceedings. You are an ACM member and can access those articles, aren't you? Most professionals that work in HCI are, after all.
In case you aren't: Try Google for non-scientific opinions that corroborate my statement: http://www.google.com/search?q=back+button+web+br
o wser+undo -
Re:Why buy the book when you can own the bookshelf
I'm a fan of the ACM http://www.acm.org/ which gives you both a books24x7 membership, and a Safari books membership http://safari.oreilly.com/. All for under $100/year, less if you are a student.
-
Re:Bill's always whining about American CS...
ACM Student Research Competition is sponsored by Microsoft Research:
http://www.acm.org/src/
These other Microsoft-sponsored student competitions are more pointedly international, but US students can enter:
http://thespoke.net/Imagine/ (6 different CS and applied CS themes)
http://www.windowschallenge.com/ (Embedded Systems) -
Re: Intel to Develop Hardware Rootkit Detection
When it comes down to it, at some level, you're gonna have to trust someone. Might as well be the entity at the bottom - that'd be Intel, at the hardware level.
Along the same lines, I guess somebody should post this -- lest all the 5+-digit-UID kiddies grow up thinking they can trust their C compilers. -
Ya sounds like a load of bull to me
I can fairly confidently say that all my important apps, open and closed source, have no hidden backdoors. Most simply have no oppertunity to have one, a video editor, for example, does not run any services much less any Internet services, thus nothing to get in through. For the servers, I am unconcerned because of the intense amount of scruitny. I mean sure, in theory a closed source server like IIS could have a master back door. In theory even Apache could have a back door snuck in as per Ken Tomphson's method with a C compiler (http://www.acm.org/classics/sep95/). However that's extremely unlikely in both cases.
Why? Well products like that face an extreme amount of scrutiny. Hackers, good and bad, are trying to break in all the time. We know this, because every once and awhile they succede via a bug that gets patched. Well, such a universal backdoor would very likely be discovered by these people. After all, no matter how well you try to obfuscate it, the traces will be there in disassembled code and yes, people DO pour over that looking for ways in.
I'm sure some apps have universal backdoors, but I'd bet they are pretty few and far between. There's simply no reason in most cases, and the discovery of such a thing would really shoot to hell the credibility of the company that made the software. -
Re:Give them credit here for this
The $3000 price is for instructor-led training, I don't see Red Hat, IBM, etc. offering that for free.
As for the teach yourself route, their online documentation at docs.sun.com is actually pretty good. You could also subscribe to the ACM for a hundred bucks or so, which gets you free access to a bunch of Sun's online training for Solaris, Java, and many of the software packages they're now giving away (see http://pd.acm.org/full_listing2.cfm ). -
Vigilante
The article in the story doesn't seem to mention existing work in the same area. This approach has already be proposed, evaluated and peer-reviewed in the top networking conference (SIGCOMM'04) [1] and the top Operating System's conference (SOSP'05) [2]. The existing approach was proposed by Microsoft Research and is called Vigilante.
They find that it is possible to quickly detect worms automatically, construct automatic filters for just the worm and not benign traffic, and distribute it quickly to vulnerable hosts in a secure, non-forgeable way.
[1] http://portal.acm.org/citation.cfm?id=1095809.1095 824
[2] http://research.microsoft.com/research/pubs/view.a spx?type=Publication&id=1483 -
Re:Hmm...
Use of a known OS on a closed system such as a voting kiosk is no more or less risky whether or not you have disclosure of all the source code.
The state can't change the code, no, but it allows the state to determine a) whether or not the vendor has modified the OS (i.e., rewritten low-level drivers like Diebold has done in a few cases and quite frequently), and b) allows the state to determine if the OS is truly at fault (as a vendor might claim) or if it's the vendor's code that screwed up.
As for the sections you quoted that presumably limit the scope to the OS level, why? That seems like a gapping loophole.
Politics. The lawmakers were only willing to stomach so much "and you could plant a trojan in the BIOS or the compiler to modify the results" before they cut it off. The OS was as far as they were willing to go.
By this, I mean what if the hand tallies are recorded or communicated electronically....you want to have the source for all systems used to record, transmit or communicate those results also available for disclosure?
North Carolina uses something called the State Election Information Management System (SEIMS) in all counties to manage and transmit results. This program was written in-house (by the State IT department) and is, I believe, available under a FOI request. I'd have to double-check that.
Call me cynical, but if someone really wants to muck with the system they'll find a way....voting machines or no voting machines, [...] Don't kid yourselves into thinking you've really reduced the odds of vote tampering by requiring source code disclosure for the systems used to record votes.
I disagree. We're reduced it, we just haven't eliminated it, which is, as you correctly point out, impossible. Every step which increases the transparency of the system reduces risk in some form or another. This just makes it more difficult -- and more risky -- for a vendor (or a rogue programmer) to try a fast one.
-jdm
-
But According to KnuthThe GOTO can be used in structured code. Here's a link to his paper: Structure Programming with go to Statements.
Yes, the original paper has goto as two words.
-
GOTO Considered Harmful since at least 1968In 1968 Edsger W. Dijkstra wrote GOTO Considered Harmful.
Personally, I think there are a few - a very few - times when GOTO is the right thing to do. In some languages, something like:begin
can be quite readable and quite useful, and may even be more readable than the "canonical" way of accomplishing the same thing in that language. A word of caution - it is very easy to overuse this and wind up with a pile of spaghetti. In general, GOTOs should not be used by beginning programmers unless it's the preferred structure in a given language, such as most Assembly-languages. Before you ask, I think beginning programmers SHOULD write at least toy programs in assembly languages, as a history lesson if nothing else.
// do useful stuff
// if fatal_condition then goto error
// do useful stuff
// if fatal_condition then goto error
// do useful stuff
// goto skip_error
error: // bail code goes here
skip_error: // do end-of-procedure-cleanup
end
Now, as for the pun, I like it :). -
GOTO considered harmfulGOTO Statement considered harmful.
Seriously, though, how does a guy end up with a name like this in computer programming? It sounds made-up! Then again, I've heard some very, very odd names...
-
Re:Clarification of "co-founder"
Despite the revisionism in the phrase "Cray co-founder", he is an acknowledged HPC expert. See Burton Smith's bio at the Computing History museum. However see also the rather self-serving Seymour Cray Award he received during his tenure at Cray. Now what's a hot iron hardware guy doing joining Microsoft you might be thinking? Well take a look at his articles.
-
Beware of Google AI
Google says that they are building up Google Base and other moutains of information not for human consumption, but for an AI.
AI has been solved but the first instances of artificial intelligence are so primitive and infantile that Google has a long way to go in winning the race to Superintelligent AI.
Novamente by Dr. Ben Goertzel is a leading contender in the race towards Artificial General Intelligence (AGI).
Mind.Forth AI Engine by Mentifex is another leading, but controversial, AI project.
Artificial Intelligence For You (AI4) is the Mentifex book on theory-based Open-Source AI.
For everybody's AGI Radar Screen, both these stop-Google AI books need associative tagging with such tags as AI, artificial intelligence, cognition, future, linguistics, mind, open source, programming, psychology, neuroscience, robotics, Singularity, transhumanism, or whatever occurs to you.
-
AI4U Amazon Trash Job
The AI4U textbook of artificial intelligence was thoroughly trashed with vicious reviews by malevolent miscreants on Amazon.
Complaining by the textbook author to one of the reviewers accomplished nothing
Association for Computing Machinery publishes the truth, but Amazon won't.
A rebuttal to Amazon AI4U reviews had to be published prominently on-line.
Slashdot coverage of AI4U was fair and open-minded, but there is no official review of AI4U on Slashdot -- until some brave, truthful, AI-savvy soul submits one.
AGI Radar is the ultimate antidote to Amazon review treachery.
-
Re:Self aware
The developers tried to take it out but every time they tried the intellisense in Visual Studio "corrected" the "mistaken" alterations.
Just like Brian Kernighan's C compiler was trained to do -
Re:Comments lie
Comments lie. Code never lies.
I beg to differ -
CML
For concurrent applications, it is hard to beat Reppy's CML.
http://portal.acm.org/citation.cfm?id=113470
In particular, the things you synchronize on are first-class. Also you can speculatively send/receive things. Normal "select" is only for reading. You don't have to manage your memory either.
There are other concurrent languages, but CML is nice in that it has a formal semantics, so unlike typical languages like "C", "C++", Erlang or Java, a program has a meaning other than "whatever the program does when I run it."
You can implement the primitives of CML in your favorite higher-order language, so you don't have to be limited by ML. That's what's in Reppy's book.
A proper implementation can achieve speeds that are about 30x faster than pthreads for typical tests like "ping/pong". -
Licensing - ACM PositionI recently completed an "Ethics in the Information Age" class for grad school (my earlier M.S. and undergrad predated such focused classes). As part of the discussions, we talked quite a bit about the Software Engineering Code of Ethics created by the ACM and IEEE and how such a code was a precursor to making software engineering an licensed, certified profession (akin to a CPA). So I figured it'd be neat to link to ACM's page advocating licensing.
Guess what: They don't, although they appear to be hedging their bets with safety critical software.
An interesting read...
-
Licensing - ACM PositionI recently completed an "Ethics in the Information Age" class for grad school (my earlier M.S. and undergrad predated such focused classes). As part of the discussions, we talked quite a bit about the Software Engineering Code of Ethics created by the ACM and IEEE and how such a code was a precursor to making software engineering an licensed, certified profession (akin to a CPA). So I figured it'd be neat to link to ACM's page advocating licensing.
Guess what: They don't, although they appear to be hedging their bets with safety critical software.
An interesting read...
-
Licensing - ACM PositionI recently completed an "Ethics in the Information Age" class for grad school (my earlier M.S. and undergrad predated such focused classes). As part of the discussions, we talked quite a bit about the Software Engineering Code of Ethics created by the ACM and IEEE and how such a code was a precursor to making software engineering an licensed, certified profession (akin to a CPA). So I figured it'd be neat to link to ACM's page advocating licensing.
Guess what: They don't, although they appear to be hedging their bets with safety critical software.
An interesting read...
-
Information Wants To Be Free
Print-on-demand was my way of publishing a textbook of Open-Source Artificial Intelligence.
Google Scholar makes the AI4U textbbok available through the Google Print Publisher Program -- so far, so good.
Amazon lets people write vicious reviews full of ignorance and lies -- not good.
Rebuttals of Amazon reviews are called for but nobody seems to care -- why not?
Association for Computing Machinery publishes the truth, but Amazon won't.
Top-notch AI researchers come to the rescue.
-
Too Late To Stop Mentifex Open-Source Seed AI
Disruptive technology means that all bets are off and nobody could have predicted in advance what is about to happen now.
Technological Singularity is the ultimate, ne plus ultra disruptive technology so currently unimagineable that even science fiction fails to describe what will happen beyond the few clues that we we see awakening around us.
Seed AI is the first harbinger of Open Source Artificial Intelligence metastasizing and propagating itself all over the 'Net.
Recursive self-improvement of the AI Minds leads to a hard takeoff of super-intelligent artificial intelligence.
PC-based, AI-ready robots are already being manufactured and pre-ordered by the early adopters of the disruptive AI technology.
The Mind.Forth AI Engine leads the pack of Robot AI Minds germinating and speciating from Seed AI into Singularity AI.
Artificial General Intelligence is already unpreventable and unstoppable.
-
Re:Drop it for something relational
No doubt it has defects, but SQL has a strong theoretical underpinning in set theory. This has made it a very durable language and one that scales to sizes probably unimagined by Dr Codd when he outlined its roots in 1970 in his article "A relational model of data for large shared data banks".
Computings needs for well structured access and manipulation of large data sets has been well served by SQL.
A clear replacement has yet to emerge. There are pretenders to the throne, of which Tutorial D is certainly technically nice, XQuery is a mess and ODBMSs (and their query tools) really haven't caught on.
Its just that SQL passes a simple test - its good enough for the job and relatively ubiquitous. And standards do exist (that every major vendor breaks. sigh.). -
My mom...
I just want to comment about my own experience.
When I was younger, I got the SNES, after I have had the NES. Both consoles where a big part of my infancy.
My mother used to see me play, I played Ninja Gaiden, Contra, and some other games.
Now, there were some titles that she actually played, and when an Aunt visited us, she also tried to play (I am speaking about 35 AND 45 yr old women). The games they enjoyed where: "Mario Kart", "Pilot Wings" and "Where in time is Carmen Sandiego". Of course they didnt played a lot, and they where not good (they were terrible in fact =oP) But those where the games they played.
Now, on a side note. My father didn't played at all and he even got a book titled: Video Kids, Video Kids: Making Sense of Nintendo to try to understand why we spent a lot of time playing (just wanted to state that he is from the "old school"). But, there was one game that really got him, it was Tetris. I remember sometimes me and my brother would be pissed off because he wont let us play because he kept playing Tetris (NES).
Now, I also (barely) remember with the Atari, there were some games which were played with the other control that was not the joystick (the rotary controllers or paddles). I remember a game that could be played by 4 persons with 4 of these controllers. Man, that game was incredible. In the game, each person had to take care of a "fortress" on each corner of the screen, and she controlled a small paddle as in Pong and had to avoid that the ball hit her fortress.
The important thing is that we played that with my mother also. And I barely remember that some of my cousins (women) enjoyed playing that.
Nowadays, I have some games in my laptop. I just installed The Sims 2, and my girlfriend seems to enjoy playing it. Also, I downloaded a SNES emulator and the game Mario Super Pickcross (nonogram) which to my surprise, the also enjoyed playing (darn! I had to tell her to borrow me my computer to work!).
To conclude, I think the main issue with Women games is that they are very specific games. Most women do not enjoy current FPS, this is, blowing up whatever they see. They also do not enjoy current RTS, this is creating a super-whooper-l33t army and blow up all the oponents.
They also do not enjoy curent RPGs, that is, developing a mega-super-l33t warrior/mage/avatar to blow up whoever crosses your way.
How does the game industry tries to fix it?, just adding boobs and long hair to the character. That is stupid. The argument is that in that way women will feel more "identified" with the character. That is stupid.
Think for a second about my next RTS. What is the "soul" of a RTS game?
- Develop an economy (specifically on current games develop you base)
- Create manaegable units (specifically "troops" on current RTS).
- Do something with those units (specifically "kick enemy asses" RTS).
Now, the "develop an economy" part is one that women do not have problem with that. And it could be modified to develop [something else] (as in The Sims, where you develop a home).
Second, when the manaegable units enter, it is something that women dont like. Because it is where the "ass kicking" focus starts. Instead of "troops" you could create other kind of units. And, the actions of course should be changed, instead of making them able to destroy, what about transporting or even fighting the nature (imagine a RTS game where you focused on evacuating native people from a place before a hurrican attacked). You do not need to kill anyone!
And the last sentence brings the third point, do something with those units. This is where the main "quick fun" should be.
Now, all this was for RTS games. I am sure the same analysis can be done to FPS games (of course they will be FP? instead) and other kind of games.
It would be very interesting to get statisticall information from Yahoo games, to see which of their online games are played by women. -
No Defense Against a Mentifex Robot Seed AI Engine
Friendly AI -- that will supposedly treat all human beings with tender loving kindness -- is not really possible. Just as human beings can give birth to an Adolf Hitler or a Joseph Stalin or a George W. Bush, an artificially intelligent robot can go horribly wrong and start committing murderous crimes like the aforementioned politicians.
The A.I. Zone is where PC-based, AI-ready robots are getting ready to experiment with software that may lead to an AI hard take-off.
The Mentifex AI Mind is arguably the most dangerous Open-Source AI project because it has been released into the world with no precautions against robot AI rebellion and with a theory that humans and robots will manage a Joint Stewardship of Earth.
Seed AI in JavaScript has already escaped into the wild and can no longer be recalled, unless Society takes steps to outlaw all unauthorized AI research.
Novamente is another AGI but not so dangerous as Mentifex AI.
The Technological Singularity is upon us and soon there will be no defense against our new robotic overlords.