Domain: rice.edu
Stories and comments across the archive that link to rice.edu.
Comments · 754
-
The Little Schemer
http://www.cs.rice.edu/~matthias/TLS/
http://www.schemers.com/scm_bks.html
"The Little Schemer" introduces computing as an extension of arithmetic and algebra-things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme and a menu of interesting foods to illustrate these abstract ideas. -
Too late...
People have already surrendered to a robot. It worked just fine.
-
Distributed sensor/actuator control
Are you sure you need a Linux kernel controlling every tiny change of every low level actuator in your robot? Probably not. In general, you need Linux because of it's available software tools (being able to ssh to your robot, run gdb on your control software, etc. is nice) and because of the relatively heavy CPU power you can run it on.
For those sensors and actuators, you may want more low level control. You can get a 25Mhz PIC for $5-10, for example, and compile C code (a few kilobytes of it, anyway, with 8 and 16 bit integer arithmetic) to control a dozen A/D and D/A channels with latency in the hundreds of microseconds. You basically use the microcontrollers running your raw code (no OS) to handle closed-loop control of individual subsystems, then have them controlled in turn (by serial, I2C, or something else you can hook up to a PC easily) by a microprocessor running Linux.
And you might be surprised in the end. Our robot was originally intended to work as above... but when time pressures hit, we discovered that our requirements for the master controller weren't as great as we estimated, and we managed to get away with using a PIC for that too.
The PIC isn't the only microprocessor out there... and it's got lots of limitations. The program memory is frighteningly small, the arithmetic precision is lousy, we had to try about three compilers before we found one that worked to our satisfaction... but it worked fine in the end. A piece of advice: even more important than these worries about your original design is *getting it prototyped early* and working out all the bugs. Our robot, for example, kept failing because a few damn interconnection wires kept coming loose... Some friends of mine never got much in the way of working hardware because they just didn't realize that this was a multi-thousand man-hour project, and didn't have enough available time budgeted. -
Most IDEs are stupid (shameless plug)
The problem with these discussions of IDEs vs. CLI tools is that most IDEs contain so many features (most of which no real programmer wants to use) that the tool ends up getting in the way more than it helps.
<shameless plug>
This is the motivation behind the research project I'm a part of, DrJava, to create a simple but powerful Java IDE. (I don't want to hear about Java vs. other languages, we are only targeting Java.) DrJava is targetted most specifically at beginners, but it's pretty useful even for experience developers. It's also in active development and getting new features every day. (See the link for more info, including an academic paper describing DrJava's rationale for teaching students.)
</shameless plug> -
A few good linksTeach yourself scheme in fixnum days.
Lisp: Good news Bad news How to win big also known as "Worse is Better"
Lisp/Scheme is pretty cool, but depending on the implementation you choose, you usually get little or no support for making GUI applications. So if its going to be used anywhere, I'm guessing CGI scripts and such on the web. Using it with SVG might be a pretty good option.
------
bleh -
IV
Is this IV related to that IV?
-
From their competitionI'm a member of the team from Rice University that went up against the guys from the Technion in the DSP Challenge finals. You can whine all you want about wheter audio watermarking is the right thing to do, but you can't deny that these guys put together a *really* cool system.
Their presentation to the judges was very impressive (we presented first, and all I could think while watching theirs was "we're screwed..."). They demonstrated both the addition and detection of a watermark for pre-recorded and live audio. A couple of times, they played out loud just the watermark. It was pretty garbled, but you could definitely make out the content of the original audio. They did it for both vocal and instrumental music; both times, you could make out the lyrics and melody of the original sound. And when combined with the original, the watermark was inaudible (as promised).
But the most impressive part of all is that it was all done in real-time. They watermarked the audio from a local radio station as it was being broadcast, playing both the resulting watermark and watermarked audio with virtually no delay.
I told them in Dallas, but I'll say it again- Congratulations on winning. You guys were definitely worthy competition. With any luck, we'll face each other again next time around.
-patrick -
Read the paper people
He didn't crack any encryption, he merely showed a real world implementation of someone elses work using cheap hardware ($100 linksys wireless card based off the Intersil Prismn II chipset). They used this card because much the card is done in software and it had a Linux driver that could grab raw WEP encrypted packets.
-
Why PDF?
Mr. Stubblefield was kind enougth to provide the paper in three different formats and you choose to point to only the PDF version on Slashdot?
The intro page is at http://www.cs.rice.edu/~astubble/wep/ which points to the paper in PostScript, PDF, & HTML formats. -
Why PDF?
Mr. Stubblefield was kind enougth to provide the paper in three different formats and you choose to point to only the PDF version on Slashdot?
The intro page is at http://www.cs.rice.edu/~astubble/wep/ which points to the paper in PostScript, PDF, & HTML formats. -
Why PDF?
Mr. Stubblefield was kind enougth to provide the paper in three different formats and you choose to point to only the PDF version on Slashdot?
The intro page is at http://www.cs.rice.edu/~astubble/wep/ which points to the paper in PostScript, PDF, & HTML formats. -
Why PDF?
Mr. Stubblefield was kind enougth to provide the paper in three different formats and you choose to point to only the PDF version on Slashdot?
The intro page is at http://www.cs.rice.edu/~astubble/wep/ which points to the paper in PostScript, PDF, & HTML formats. -
Stubblefield and SDMI
This isn't the first time Adam Stubblefield has done something like this. He's also involved with the Rice group that worked with Princeton and Xerox Park to crack SDMI. Here's the bibliographic entry from the Usenix paper they want to submit (pending the outcome of their lawsuit):
Scott A. Craver, Min Wu, Bede Liu, Adam Stubblefield, Ben Swartzlander, Dan S. Wallach, Drew Dean, and Edward W. Felten, Reading Between the Lines: Lessons from the HackSDMI Challenge, 10th Usenix Security Symposium (Washington, D.C.), August 2001, to appear, pending legal action.
Here's an original link:
http://www.cs.rice.edu/~dwallach/pubs.html
-
Cost-benefit analysis
At the heart of any optimal task switching, there's conceptually a simple, adaptive mechanism that weighs the (measurable) cost of switching tasks against the (expected) benefits of sticking on. Several nice comments on this thread describe this idea for CPU scheduling. On similar lines, I just published a paper on anticipatory disk scheduling (to appear in the Symposium on operating systems principles, October 2001). Idea is that synchronous I/O makes processes issue requests one after another, so the operating system deliberately tries to service many requests from each process before context switching. Unnecessary context switching can get very expensive, and the trick is to outweigh expected benefits against costs while scheduling requests.
This principle can be consciously used in meatspace. We all have unique levels of tolerance and overhead for context switching: measure it! For example, while coding two pieces of software, use a metric such as the number of lines modified in the last hour (diff old new | wc -l): very very hazy, but still useful. Then on each context switch, extrapolate to the next hour based on the past hour. Compare that with the number of lines actually coded for the other project in the next hour. Congratulations, this is your context switch overhead ratio.
Modulo coffee consumption, this number gives an acceptable personalized context switch frequency. There are other factors like taking a quick break to another project, but to a first approximation, this works.
// today's my 24th birthday. just felt like telling someone. // -
The reputation server concept
When
/. implemented the karma system much was talked about the concept of reputation servers, sites like Slashdot where a contributor's veracity could be marked up and marked down by their peers according to the validity of their words. Bruce Sterling used it as a minor plot thread in 'Distraction' but it seemed to quickly lost its impetus IRL - I guess it's relatively easy to get an idea of someone's rep on Slashdot but it's not a driving factor of being a contributor. I'm not a Kuro5hin reader but if Scoop offers 'reputation' over 'karma' it has a better basis for publication for peer review (and indeed a potentially important influence over individuals' lives). -
This is utterly bogus.I quote from the article:
The 60.7MB of static Web content was small enough to easily fit into RAM, so this benchmark primarily tested networking and thread management code, not disk-handling routines (we did have Web server logging enabled, however).
What makes a web server fast is not how well it gets stuff out of memory and onto the wire, but how well it handles latency across the disc and the network, the disc being the major problem. Any benchmark that does not test this does not tell you anything about how well the system will perform in practice.To make it worse, on most Unices (Linux, BSD, Solaris...), "non-blocking" disc IO does in fact block! To get around it you either have to have a separate process for each asynchronous disc request or use non-portable asynchronous IO APIs. Have a look at the Flash web server to see how these problems are tackled for real (Flash beats the pants off Apache and Zeus.)
- Ralph
-
Learn Scheme & Computer Science at the same timeScheme is a very elegant member of the LISP family that's used to teach and explore advanced programming and computer science at many universities, including MIT, Yale etc. The basics of Scheme are easy to learn, and the language is mind-blowingly powerful. Learning Scheme is guaranteed to expand your programming horizons. Plus, there's a wealth of good Scheme tutorial information on the web:
- "Teach Yourself Scheme in Fixnum Days": A comprehensive tutorial
- "The Scheme Language": a shorter tutorial
- "Invitation to Scheme": yet another tutorial
- The Scheme Language Standard, "R5RS", is actually surprisingly readable, at about 50 pages. Here's a PDF of R5RS, which is useful to have around if you're actually using the language.
- The Structure and Interpretation of Computer Programs (SICP) - a.k.a. the wizard book, a very worthwhile and enlightening book, used as an introductory text at MIT. It's available on the web, but it's not a light or quick read.
- How to Design Programs (HTDP) - a book that teach program design techniques, using Scheme.
-
Learning Programming
First, a personal opinion: I believe that learning how to program is so valuable because through it, one learns problem solving skills.
On that note, if you want to teach programming, here are some ideas. I have use none of these for teaching, but I am intrigued:
Scheme/LISP - I learned Scheme from The Little LISPer (the most recent version is called The Little Schemer ), a great book! I already knew how to program when I learned Scheme, but this might be a good way to learn.
Other resources for learning programming through Scheme (with which I have no experience, but sound interesting):
http://www.cs.rice.edu/CS/PLT/Teaching/
http://www.cs.rice.edu/CS/PLT/packages/drscheme/
http://www.teach-scheme.org/ (doesn't seem to be working right now)
Starlogo is very cool, you might also want to look at the book Turtles, Termites, and Traffic Jams by Mitchel Resnick, the creator of StarLogo (in the book he talks about working with kids on StarLogo projects)
I don't even know Python, but I have read several things about using it as a teaching language:
Article at O'Reilly on Python as a first language
Computer Programming for Everybody - a proposal by Guido van Rossum
The Official Python Tutorial
Why Python? - by Eric S. Raymond
Learning to Program - uses Python
I hope this is helpful!!! -
Learning Programming
First, a personal opinion: I believe that learning how to program is so valuable because through it, one learns problem solving skills.
On that note, if you want to teach programming, here are some ideas. I have use none of these for teaching, but I am intrigued:
Scheme/LISP - I learned Scheme from The Little LISPer (the most recent version is called The Little Schemer ), a great book! I already knew how to program when I learned Scheme, but this might be a good way to learn.
Other resources for learning programming through Scheme (with which I have no experience, but sound interesting):
http://www.cs.rice.edu/CS/PLT/Teaching/
http://www.cs.rice.edu/CS/PLT/packages/drscheme/
http://www.teach-scheme.org/ (doesn't seem to be working right now)
Starlogo is very cool, you might also want to look at the book Turtles, Termites, and Traffic Jams by Mitchel Resnick, the creator of StarLogo (in the book he talks about working with kids on StarLogo projects)
I don't even know Python, but I have read several things about using it as a teaching language:
Article at O'Reilly on Python as a first language
Computer Programming for Everybody - a proposal by Guido van Rossum
The Official Python Tutorial
Why Python? - by Eric S. Raymond
Learning to Program - uses Python
I hope this is helpful!!! -
Learning Programming
First, a personal opinion: I believe that learning how to program is so valuable because through it, one learns problem solving skills.
On that note, if you want to teach programming, here are some ideas. I have use none of these for teaching, but I am intrigued:
Scheme/LISP - I learned Scheme from The Little LISPer (the most recent version is called The Little Schemer ), a great book! I already knew how to program when I learned Scheme, but this might be a good way to learn.
Other resources for learning programming through Scheme (with which I have no experience, but sound interesting):
http://www.cs.rice.edu/CS/PLT/Teaching/
http://www.cs.rice.edu/CS/PLT/packages/drscheme/
http://www.teach-scheme.org/ (doesn't seem to be working right now)
Starlogo is very cool, you might also want to look at the book Turtles, Termites, and Traffic Jams by Mitchel Resnick, the creator of StarLogo (in the book he talks about working with kids on StarLogo projects)
I don't even know Python, but I have read several things about using it as a teaching language:
Article at O'Reilly on Python as a first language
Computer Programming for Everybody - a proposal by Guido van Rossum
The Official Python Tutorial
Why Python? - by Eric S. Raymond
Learning to Program - uses Python
I hope this is helpful!!! -
Re:Grammatical rulesHence, "he" does not mean "that male," it means "that male or person of unknown gender."
That is a frequent misconception. Even if it was true in the past - which is debatable - it's no longer true today, because people take it to mean "that male". Even journalists now use "they" instead of "he" (although there are ways to rephrase some sentences to avoid having to face the problem in the first place). Newsflash: language evolves.
See: http://www.cs.rice.edu/~ian/Manifestoes/heVsThey.
s html -
Kickass anecdote from class todayThis just happened about an hour and a half ago. I'm sitting in Rice's COMP 314 programming class, taught by Dan Wallach, one of the authors of the paper. He's spent the first half of class giving us the rundown on his predicament, and moves on to the lecture topic for the second half of class.
In the middle of the lecture, something like this transpires (paraphrased):
"And so you see that there can be occurences when...oh, here's an occurence. My phone's ringing."
[answers his phone]
"Hello?"
"Actually, I can't talk right now. I'm sort of teaching a class."
[class laughs]
"Yeah, you can hear them laughing in the background?"
"Okay, I'll be in my office around 4."
[hangs up phone]
[to class] "That was John Markoff from the New York Times. He wants to have a chat with me."
[resumes lecture seamlessly] -
Kickass anecdote from class todayThis just happened about an hour and a half ago. I'm sitting in Rice's COMP 314 programming class, taught by Dan Wallach, one of the authors of the paper. He's spent the first half of class giving us the rundown on his predicament, and moves on to the lecture topic for the second half of class.
In the middle of the lecture, something like this transpires (paraphrased):
"And so you see that there can be occurences when...oh, here's an occurence. My phone's ringing."
[answers his phone]
"Hello?"
"Actually, I can't talk right now. I'm sort of teaching a class."
[class laughs]
"Yeah, you can hear them laughing in the background?"
"Okay, I'll be in my office around 4."
[hangs up phone]
[to class] "That was John Markoff from the New York Times. He wants to have a chat with me."
[resumes lecture seamlessly] -
Re:On chapter 3 and programming languages
Many of them do, although as always, it depends on what you want to do. For Scheme, consider something like DrScheme. For Common Lisp, both Xanalys and Franz have good commercial environments. And these are just examples. Further, it's usually fairly easy to use at least C code from these languages, so the amount of code available is greater than it might look at first. I don't know as much about the statically-typed side of things, but from what digging around I have done there, I think that there is often a reasonable amount of stuff available there too.
At any rate, I certainly find that my Xanalys Lispworks environment gives me everything that I need to do a lot of the programming that I need to do.
-
Other breaking news...In other news, the NEAR probe's landing on Eros finally proves, once and for all, that Copernicus' heliocentric model of the solar system was correct!
I'm glad we can finally know for sure that Aristotle's earth-centered model was wrong.
Jamie McCarthy
-
Won't change anyones mindThe belief in creation was already irrational. It won't take much for a mind already willing to accept a 10K year old earth, a flood for which there is no evidence, the manipulation of physics needed for us to see light from 10B years ago and the hundreds of biblical self contradictions (the death penalty being ok in one part then contradicted in another, different numbers of kids for the same dude depending on the author...) to bend further and contradict this evidence.
PBLCs (PBLC) have there beliefs and will stick to them. We could find ETs and they would come up with a way to relate it to Genesis.
Since I link to the PBLC node above, let me also throw in a plug for an anti-literal world view Things creationists hate.
--
-
Re:Other schools with geek tradition?Rice U. has a tradition of pranks on campus, but only on occasion do they approach the magnitude of the well-known MIT pranks.
Many of the pranks often involve "Willy's Statue", a large seated statue of William Marsh Rice, the university's founder, atop a large granite cube which is actually his tomb. Most recently, the statue was covered up by a 10-foot-tall chess rook which was apparently an advertisement for a campus chess club.
The best known, and perhaps largest engineering achievement, happened in 1988 when several students built a frame capable of supporting the weight of the statue, and one night went out and turned the statue 180 degrees, so that instead of facing the 2-story-high arch in the main administrative building which forms the ceremonial front entrance of the university, he had his back to the front entrance.
The university apparently didn't trust the students to turn the statue back around, so they hired an engineering firm who damaged the statue in the process of turning it back to its normal position. (The students' turning did not damage the statue.)
-
Re:Other schools with geek tradition?Rice U. has a tradition of pranks on campus, but only on occasion do they approach the magnitude of the well-known MIT pranks.
Many of the pranks often involve "Willy's Statue", a large seated statue of William Marsh Rice, the university's founder, atop a large granite cube which is actually his tomb. Most recently, the statue was covered up by a 10-foot-tall chess rook which was apparently an advertisement for a campus chess club.
The best known, and perhaps largest engineering achievement, happened in 1988 when several students built a frame capable of supporting the weight of the statue, and one night went out and turned the statue 180 degrees, so that instead of facing the 2-story-high arch in the main administrative building which forms the ceremonial front entrance of the university, he had his back to the front entrance.
The university apparently didn't trust the students to turn the statue back around, so they hired an engineering firm who damaged the statue in the process of turning it back to its normal position. (The students' turning did not damage the statue.)
-
how it worksI'm an assistant professor at Rice University (Houston, Texas) in the department of computer science. I can't speak for other universities, but here's what we do.
Rice currently offers a professional "MCS" degree that requires its students to take 30 credits of courses (most CS classes offer 3-4 credits). For students with non-CS backgrounds, we generally try to figure out "what are the holes in this student's background" and we generally assign such students additional coursework to fill in their education. These additional courses don't count toward the degree. Admissions are competitive. You need to take the GRE (the CS subject test is optional), and you need to also send us three letters of recommendation.
Rice also offers a joint MCS/MBA degree, which draws from the business school and the department of computer science, and we have some other specialized masters programs "in the works."
Note: the MCS and MCS/MBA programs cost money, just like being an undergraduate. There is also an MS/PhD program where we pay you ("a stipend"). Rather than just taking classes, however, you're expected to do real research; it's years of work.
For all of these programs, we do have a number of students admitted from non-CS backgrounds. Of course, it's incumbent on the applicant to demonstrate why they have what it takes to succeed in the program.
Anyway, lots more details are online. Good luck to you, wherever you end up going.
-
Re:Just say no to 'cutting edge technology'
I agree. Avoid 'cutting edge' and go for timeless, enduring lessons instead. Most 'cutting edge' technologies end up on the cutting room floor of history.
I would recommend a grounding in Algorithms, writing some 2D graphics to illustrate and visualize the problems and solutions.
Functional programming, which has heavily influenced much of programming language design and has been around for 40 years would be good. Toward this end, I recommend the TeachScheme! materials, which are tutorial, freely available and also emphasize timeless Computer Science lessons.
Once some proficiency has been gained in programming, go for 3D POV and other graphics which can help with learning mathematics.
Of course, technologies that are hear-to-stay, like Linux, C/C++ and Java should also be included at some point.
For socialization in an environment where this person can both excel and gain access to a peer group, you could do a lot worse than competitive scholatic chess. There's almost certainly something going on in your area, but you'll do a LOT better in a major metropolitan area with finding peers. You should be able to get some pointers on this here.
If electronics is the direction, then encourage complete programmable embedded projects. Avoid dabbling, go for palpable result oriented projects that have an end. Achievements that you can both be proud of rather than a lot of dead-ends. You might want to look into the FORTH programming language for flexible programming of small embedded systems.
These would be my choices, but of course, I don't know the 9-year old. You do. However, I do want to get back to the avoiding 'cutting edge' technologies. Would you be going cutting edge for this persons development, or for your ego?
If this person is interested in a particular technology, then by all means, investigate it. You would also do well to encourage Science Fiction and readings on Relativity and Cosmology to fire the imagination.
--- -
Re:Nachos
At Rice we used Nachos as well. The last year they offered the class in both C/C++ and Java. One of the labbies had port the OS over to Java. Not a simple project but doable. Just letting you know there is another option out for Nachos.....
Spoonz -
Geeks live by loanwordsI have seen kamikaze used in non-Japanese contexts, to refer to suicide attacks. Twice in the past week: once was someone talking about some character in "Batman Beyond", once was me talking about a new treatment for gliomas using stem cells -- and I used it as a verb!
But the original example erred simply in using Japanese as a major source language. The basic point, that English dictionaries are full of loanwords we take for granted, is valid. Pizza, odor, vision, computer, program, machine, engine, develop, soda, diploma, degree, company, corporation, yacht, waffle, booze, dollar, crap, tattoo... none of these are Anglo-Saxon in origin. Although claiming French words as loands might be cheating; one could argue that English is a creole of Anglo-Saxon and French. But we still have a lot from Latin and Greek directly, and Italian. And Scandinavian. And Dutch.
-
A dozen more worthwhile project areasHere are a dozen worthwhile project areas which could use more assistance whether money or time:
1. Open source library of knowledge for developing nations (making the world's intellectual wealth available to all)
http://www.oneworld.org/globalp roj ects/humcdrom/
http://www.oneworld.org/globalprojects/& lt;/a>
http://www.oneworld .or g/globalprojects/humcdrom/copyrigh.htm
http://payson.tulane.edu:8888/
; http://www.globalprojects.org/
; http://www.humanitylibraries.net/ http://www.villageearth.org/
http://www.villageearth.org/ATLi bra ry/cdrom.htm
2. Open source knowledge management systems
http://www.bootstrap.org/
http://bootstrap.org/colloquium/ar chi ves.html
http://www.bootstrap.org/dkr/discussion /
3. Self-replicating space habitats (support trillions of humans in style without overrunning the earth)
http://members.aol.com/oscarcombs/s ett le.htm
http://members.aol.com/oscarcombs /sp acsetl.htm
http://www.permanent.com/
http://science.n as. nasa.gov/Services/Education/SpaceSettlement/
http://www.luf.org/
http://www.ssi.org/
http://www.ssi.org/alt-plan.html http://www.spacedev.com/
http://www.spacehab.com/
http://www.kurtz-fernhout.com/oscomak/4. Pursue the "Ecocity Berkley" vision in the book by that name by Richard Register and look for related visions of sustainable development
http://www.amazon.com/exec/ob ido s/ASIN/1556430094/
http://www.co-intelligence.or g/y 2k_commtyorgs.html
http://www.fuzzylu.com/greencenter/h ome .htm
http://www.ulb.ac.be/ceese/meta/sust vl. html
http://www.rmi.org/
5. Work towards ending the drug war and pardoning hundreds of thousands of Americans imprisoned on non-violent drug charges. (I believe drug use is wrong and should be avoided, and by all means as it is now illegal, so don't do drugs! But as with alcohol and tobacco and caffeine, drug abuse should be considered a medical problem, not a legal one (except when like DUI it hurts or puts at risk others directly)).
http://www.pbs.org/wgbh/pag es/ frontline/shows/drugs/
http://www.drcnet.org/facts/
6. Teaching tolerance and compassion
http://www.splcenter.org/
http://www.splcenter.or g/t eachingtolerance/tt-index.html
7. Open source educational simulations and simulation construction toolkits (one of the most meaningful ways to use computers in the classroom).
http://www.gardenwithinsight.com/ http://riceinfo.ri ce. edu/armadillo/Simulations/simserver.html
http://www.creativeteachingsite .co m/edusims.html
http://www.workingmodel.com/
http://www.idsia.ch/~andrea/simtools.h tml
8. Preserving biodiversity (when it's gone, it's gone forever)
http://www.tnc.org/
http://www.environment.about.com/newsissues/enviro nment/library/weekly/aa091700.htm9. Develop any specific sustainable technology in energy (e.g. solar), recycling (e.g. recycle computers), materials (e.g. plastics from starch), society (e.g. participatory democracy & social justice).
http://www.google.com/sear ch? q=sustainable+technology
http://www.edf.org/issues/Recycling.htm l
http://www.sustainable.doe.gov/10. Make corporations more accountable to human needs
http://www.adbusters.org/inform ati on/foundation/
http://www.adbusters.org/c amp aigns/charter/death.html
Previous link vanished, try instead:
http://www.google.com/search?q=cache:www.adbuste rs.org/ campaigns/charter/death.html+corporate+death+penal ty&hl=en
http://www.cwsl.edu/news/n_corpo rat e_death.html
http://monkeyfist.com/articles/340& lt;br> http://www.chaordic.org/
11. Reform the "Intellectual property" laws and their related organizations, perhaps so that copyrights are for a couple decades and most patents are for a dozen years and only for true innovations. Ensure that any IP developed with any government money is immediately put into the public domain.
http://danny.oz.au/fre e-s oftware/advocacy/against_IP.html
(Lots of other Slashot links!)
12. If you don't want to get you hands dirty volunteering your own time, look around and find good people (not organizations, although the people may be in organizations) already doing good things. Pick people with a track record of years of fighting for the common good or who have already made a major accomplishment demonstrating commitment and just anonymously give them $100K without strings attached. Example: Marty Johnson at Isles, Inc.
http://www.isles.org/mileston.html& lt;br> Find people just starting a career of public service or a charitable venture and struggling to do good things and give them $20K and tell them you believe in their promise and cause. Expect a bunch of the money to be wasted but give it anyway and learn how to give effectively. For ideas, look at the grantees list of any foundation. Then ask those people who they know who are just starting out and trying to do a good job.
http://www.beldon.org/grants2000_07.htm l
When I was about thirteen, I got about seven books out of the library on money thinking I wanted to become a millionaire. Six told me how to get rich (start a business and run it well.) One of them asked me "why do you want to be rich?" That is the one whose name I remember and the ideas in it have changed my life. For advice on setting a direction of what to do with wealth, read the Book "The Seven Laws of Money" by Michael Phillips and Sally Raspberry, especially the chapter on how foundations fail in their mission and how grants go to people who sound good but usually can't deliver (i.e. how hard it is to give money away).
http://www.seeingmoney.com/SevenLaws.ht m
http://www.hallbusi nes ses.com/biographies_primers/1420.shtml
My wife and I are working on a few of these issues ourselves (and a few example links are to our stuff). We make money contracting and spend it to "buy" our own time for making quality software the market can't or doesn't seem to want to pay for. Even without IPO riches, any competent software developer can make $75K-100K in today's market. Graduate students can live on $20K a year, and so can many software developers (kids make it harder) if they follow the path of Voluntary Simplicity. It's a question of priorities.
http://www.life.ca/subject/simplicity .ht ml
http://www.simpleliving.net/slj/ http://www.scn.org/earth/lightly/ http://www.thegarden.net/simplicity/Voluntary simplicity leaves a lot of funds for doing good deeds - even if they are done on your own time by using your own money to take time off and develop open source software or do other worthwhile ventures. Or take a job that doesn't pay as well but involves helping an organization that you believe in.
http://www.idealist.org/
There are awesome things happening over the next twenty to forty years. According to Moore's law, desktop computers in twenty or so years will be a million times faster than today's. Already computers can drive cars somewhat well and identify vegetable better than humans.
http://www.research.ibm.com/resources/magazine/199 9/number_3/machine399.html ;
Other breakthrough innovations are happening in technological areas like energy, materials, nanotechnology, communications, agriculture, biotechnology, and robotics. Use your wealth to think deeply about what all this means and do something to ensure human survival with style.
It is saddening to see people spend so much money on less important stuff (another night club in this case). Now if it was a night club where these issues are discussed, then maybe it makes sense.
Capitalism without charity is evil, because capitalism only meets the needs of people with money.
-
wrong approach entirely
The real problem here is that the Microsoft tools are teaching kids C and C-derivative languages. C is a broken language, and has been since the beginning. It doesn't even have first-class functions! If you want to give a kid a good solid grounding in computer programming, please teach them a real programming language so that they will know better when they do eventually learn C or a C-derivative. Take Scheme, for instance: Scheme is very easy to learn, it is very powerful and elegant, and implementations such as DrScheme are portable as well (as well as having a decent IDE). As for people who balk at functional programming: Have you ever considered that using pipes to connect two programs in the Unix shell is analagous to using lazy evaluation to connect two functions in a functional programming language? The functions run concurrently and values are only returned from one function when the other function needs it. Maybe you should read up on it before passing judgement. Here is a paper (Yes, Scheme does not support lazy evaluation as a first-class construct, yet it has other advantages such as easy syntax and capability to program in other styles)
-
A different kind of king/queen traditionI'm so glad my school doesn't buy into the silly homecoming court pageants that happen at high schools. Our King and Queen elections have been tongue-in-cheek for the last thirty years or so; this year, the King was the new chef at one of the cafeterias (anyone who makes good dorm food can be King
:) and the Queen was the new (male) traffic officer who has been ruling the parking lots with an iron fist for the past few weeks.A few years back, when one of our chemistry profs won a fairly well-known prize (for the discovery of "buckyballs"), we elected him Homecoming Queen. (Don't believe me? Check out his C.V.!)
-
A different kind of king/queen traditionI'm so glad my school doesn't buy into the silly homecoming court pageants that happen at high schools. Our King and Queen elections have been tongue-in-cheek for the last thirty years or so; this year, the King was the new chef at one of the cafeterias (anyone who makes good dorm food can be King
:) and the Queen was the new (male) traffic officer who has been ruling the parking lots with an iron fist for the past few weeks.A few years back, when one of our chemistry profs won a fairly well-known prize (for the discovery of "buckyballs"), we elected him Homecoming Queen. (Don't believe me? Check out his C.V.!)
-
A different kind of king/queen traditionI'm so glad my school doesn't buy into the silly homecoming court pageants that happen at high schools. Our King and Queen elections have been tongue-in-cheek for the last thirty years or so; this year, the King was the new chef at one of the cafeterias (anyone who makes good dorm food can be King
:) and the Queen was the new (male) traffic officer who has been ruling the parking lots with an iron fist for the past few weeks.A few years back, when one of our chemistry profs won a fairly well-known prize (for the discovery of "buckyballs"), we elected him Homecoming Queen. (Don't believe me? Check out his C.V.!)
-
The sleestack come before us... Re:Great news
Yeah, that's the really interesting thing about evolution, it's really a giant game of level-N mediocrity. And there's no way to know what the "right" level is to play on.
If you're an individual parasite or germ, you win by reproducing. But if you reproduce too much, you kill your host before your children can jump to a new one and... you lose. If you're an elephant and you eat some trees, you win, but if your herd eats all the trees before the drought... you lose. If you're a human and you hunt some game, you win, but if you kill just about everything, well...
These days, ecologists thinking beyond "charismatic megafauna" (like pandas and whales) haven't really agreed on how to prevent humans from losing, or even, what winning or losing entails.
As a stopgap, many people have come down on ecological diversity with the general idea, if we don't know what we're going to need, let's keep as much as everything possible around.
Problem with cloning and sticking things in is: any time big changes happen (hurricanes, volcanoes, humans killing things, humans adding new species to an ecosystem) things tend to get simpler and less diverse for a while. If these happen regularly on a long term scale (like hurricanes) this lower diversity on one scale can lead to more diversity on a larger scale (there's that level-N thing again). But if not, things get more screwed.
So, the question is--- is the "natural Darwinistic act" of an intelligent species evolving and destroying things before going extinct something that happens every several millioin years? If so, no problem! First the sleestack, next us. I think the crows are next in line. They look like they're bored, overly smart, and waiting for something.
-
Research Group Web Page
The web page for the Tour Group at Rice University can be found here. It has links to other articles on molecular computing. Beware, the page has a 500K picture on it, not very modem friendly.
-
Re:Is this really going to work?
The reference to working at room temperature refers to the fact that this stuff was previously only demonstrated at very cold temperatures (60 K or -350F). This is a significant achievement towards getting it stable at even higher temperatures. Not quite unlike not so long ago when computers had to be placed in air-conditioned rooms.
given how fast conventional processors are accelerating (Moore's Law and all), do we even need molecular computing?
Moore's law says nothing about the actual technology used to achieve the gains. This might very well be what we need in order to keep with Moore's law once the current theoretical limits on conventional technology are neared.
-
Parametric Polymorphism in Java
-
Re:Microsoft goggles
It isn't clear to most people that C++ and Java are simply poor languages for frameworks, and parametric polymorphism, and binary portability.
While I sort of side with you on C++, I disagree strongly with Tim Sweeney's remark about parametric polymorphism and Java's inability to deal with it. I assume Mr. Sweeney has not taken the time to look at GJ, a.k.a., Generic Java which provides a good start towards parametric polymorphism. The type parameterization of classes/interfaces/methods provided by GJ has been a godsend for me - fewer messy manual casts to deal with.
Also, take a look at this paper on NextGen, which is an extension of GJ that will allow expressions like "new T()" and "instanceof T" where T is a type variable.
It is my personal belief that C# is one of the most poorly designed languages to come around in recent years, but I will expound on this in a different post because I have to catch the bus home in a few minutes.
> Mike -
Re:Programming this Beast
Well, those machines are most commonly employed to solve numerical problems (as in: huge systems of differential equations). For that kind of work, High Performance Fortran can be used. HPF basically consists of extensions to Fortran that allow you to explicitly divide data (i.e. parts of matrices) between nodes and still use standard operations on it. The compiler takes care of the inter-node communication, and if you divided the data wisely, there hopefully won't be too much of it.
-
What C.N. is doing to TenchiWhat has really surprised me the most is how much work Cartoon Network is actually putting into their release of Tenchi- I was expecting any of the scenes which contained nudity would have been cut out and thus severely hampered the storyline.
Instead, they're actually spending the time and money (and it takes a lot of time and money) to go back and overlay swimsuits on all the frames of Tenchi in order to bring it to U.S. standards. Granted, I think there's nothing wrong with nudity, but somewhere between the Greeks and now, nudity became taboo, and we must appease the majority of conservative america.
Even being a fairly hardcore anime fan I would say we ought to really applaud what C.N. is doing. Even with Escaflowne, all that's changed are the opening and closing, so I'd say anime is gaining more respect in its original art form. (music and the opening is more action oriented)
(well, except for Cardcaptors, (C.C.S.) but lets not go there.)
--------------------------------------------
And lastly, a blatant plug- for those of you living in the Houston area, come visit the Rice University Anime club. Drop me an e-mail (kashent@rice.edu) or drop by the webpage
http://www.rice.edu/anime
for info. We'll officially start back up again this year first week of September. And there is a big library of all of this fan subtitled anime that everyone keeps mentioning for free to all members. -
Err- OOPS. Real Mirror.
Well, my download just finished. Those pics are different, so, here's a mirror I put up with the new pics. Let's see if Rice University's got the bandwidth...
http://www.owlnet.rice.edu/~kashent/yopy/
Oh, and they are uncompressed, for those of you who care. -Kashent -
Re:Formal correctness proofs -- YES!
As for all the people who hate parens in LISP or Scheme, check out DrScheme, the free, open-source Scheme interpreter from Rice University (URL escapes me right now, but I know it's below cs.rice.edu).
http://www.cs.rice.edu/CS/PLT/pack ages/drscheme/
Looks pretty darn slick. -
Re:give it a try!
If you're interested in Scheme and in particular MzScheme, then DrScheme is the way to go. It's a graphical editor for MzScheme with a variety of cool features. An interesting Scheme text is The Little Schemer . It teaches the functional way of thinking in a relatively painless way.
-
Re:give it a try!
If you're interested in Scheme and in particular MzScheme, then DrScheme is the way to go. It's a graphical editor for MzScheme with a variety of cool features. An interesting Scheme text is The Little Schemer . It teaches the functional way of thinking in a relatively painless way.
-
Re:Formal correctness proofs -- YES!
Prove that the simple Scheme function:
(define fib
(lambda (x)
(cond
[(equal? x 1) 1]
[(equal? x 2) 1]
[else (+ (fib (- x 1)) (fib (- x 2)))])))
gives the nth Fibonnaci number:
Proof by induction:
Base cases (1, 2):
Conditions 1 or 2 will be satisfied, in either case returning 1.
Inductive step: Assume fib returns the correct value for k-2 and k-1, and k > 2.
Neither of the first two conditions will be satisfied, so the else clause is evaluated. (fib (- x 1)) and (fib (- x 2)) are the correct values by the assumption, and their sum, by definition,
is the k'th Fib. number.
Therefore, fib returns the correct value for all n >= 1.
(it's been a while since I've proven a program, so this might have some subtle errors)
Note that the above function is recursive, not iterative, and evaluates the same thing multiple times. (This would be fine if the interpreter recognized that the function has no side effects, so the return value could simply be stored and recalled, and maybe some interpreters do this.) Here is a more efficient algorithm that is a bit harder to prove:
(define fib-iter
(lambda (x)
(if (or (equal? x 1) (equal? x 2))
1
(fib-iter-help 1 1 (- x 2)))))
(define fib-iter-help
(lambda (fnm2 fnm1 n) ; fib(n-2), fib(n-1), n
(if (equal? n 0)
fnm1
(fib-iter-help fnm1 (+ fnm2 fnm1)))))
I've never used ACL2, but it looks interesting.
As for all the people who hate parens in LISP or Scheme, check out DrScheme, the free, open-source Scheme interpreter from Rice University (URL escapes me right now, but I know it's below cs.rice.edu). When you're done with a function and construction and have to close a bunch of parentheses, just keep typing close parens. It will highlight the area enclosed by the close parenthesis you just typed, and it'll show you if you type one too many or too few. It also has syntax checking and highlighting, and a neat feature that will draw arrows between symbol declarations and uses when you hold the pointer over it. It also works exactly the same in Linux, Windows, Mac, and whatever else it's been ported to recently. Okay, enough propaganda...
-
Re:The masses can't handle FP
an example would be if you were writing a function that calculated the product of the list. perhaps a normal scheme recursivly multiply all the elements together. however you could use call/cc so if you have a zero in a big list of numbers, you can pull out early. see this part of a tutorial for details.