Domain: mit.edu
Stories and comments across the archive that link to mit.edu.
Comments · 7,673
-
Re:I like the pattern, but I want more.
You mean this?
http://cellmatrix.com/
Or maybe this?
http://www.swiss.csail.mit.edu/projects/amorphous/ paperlisting.html#butera
-SR -
Re:Where's the Answer?
At the application level, this, and this are two possible answers, or at least workarounds. On the filesystem level, this could be a possible workaround as well.
I agree however that it would seem people have been caught with their pants down in regards to WinFS though. The usual sentiment about it among Linux peeps from what I've seen is that it either isn't doable, or that it is, but that it'd be horribly slow.
Methinks a change in attitude is called for, however. This could very well be Bill's answer to the One Ring if he gets it out, which is presumably why Microsoft are trying to get a working release ASAP. Forget the coder bias for a minute here, and think about what the implications of this could be from the perspective of ease-of-use...and then think about what a battle we'd have converting people to Linux if we still don't have it when Microsoft does.
Longhorn was intended to be a Linux killer...but of all the elements I've seen, WinFS is the only one which could truly cause us problems...Especially when you consider how difficult back-engineering compatibility with such an FS would probably be.
As I said, I'm aware WinFS hasn't been taken seriously around here so far...but somebody needs to start to. -
Re:Anyone else gets nauseated...I like to think of myself as a "the right tools for the job" kind of person. I prefer to do Windows GUI apps in Delphi, I do online game and communications apps in C, and simple CGIs and scripts in Perl. Until recently, I earned a living coding in FORTRAN, on a machine where its performance is unsurpassed by other languages.
As such, I don't see anything seriously wrong with Java. Thanks to its clean and simple syntax and its rich library, I feel it lets me solve problems faster than many other languages. At least on the server, it runs at compiled speeds, and the base of free code to build on is enormous.
There are certainly "better" languages, for various flavors of "better". Lisp and Smalltalk come to mind. Look at Structure and Interpretation of Computer Programs for a glimpse at the awesome power of Lisp. Smalltalk programmers never cease to rave about what a joy it is to work with. These two languages suffer from lack of acceptance by the masses, something like why Microsoft and not {*nix|*BSD|BeOS|VMS} is the dominant operating system. I posit that it takes hardly more intellectual prowess to program in Java than in BASIC, but Lisp and Smalltalk are better suited for hardcore geeks.
The other languages you mentioned each have some glaring flaws:- PHP is a haphazardly thrown-together toy language, lacking structure, standards and consistency. It makes some things, mostly Web-related, very easy but doesn't help you not get tangled up in more complicated projects.
- ASP is not a language, the underlying language is (Visual) BASIC. It runs only on Windows!
- Python is not a bad language, and from what I hear, Ruby is even better. But it's still (mostly) interpreted and hence too slow for many Enterprise applications. Also, it doesn't have Java's breadth of support. Libraries, utilities, documentation, hype -- Guido/Matz just don't have as deep pockets as Sun.
- C is a good systems-level language. Because a programmer must micro-manage memory, it and C++ suck as application development languages. The sheer mass of existing C/C++ coding doesn't disprove this; it dates back to a time when programmer productivity wasn't valued as much.
J2EE is horribly complicated. But because it was backed by Sun, and still much more manageable than CORBA, it was happily accepted by the industry. The standard is improving, the code base is growing -- Java has momentum, and for better or worse it isn't going away anytime soon. -
Re:Colliding Beam Fusion?
Yes reminded me of that too! However, look at that last link you gave. It, along with the PhD thesis of Todd Rider done in 1995 appears to rule out all noneqilibrium methods of attaining power from fusion.
:( -
Re:Yeay! Security plus portability minus cost...
-
strong AI
It seems insane for anyone to go about attempting a "human-level strong AI" when there are much more basic levels that could be mastered. I would love to see some good ant AI first. I don't mean " capture the flag" ant AI... i mean build-an-ant-hill, fight-the-other-ant-colony, protect-the-queen ant AI. I bet there's some decent software versions of said AI, but i'd like to see it done with ant robots (i.e. - mini robot with feelers, mandibles, etc). Now that would be a doozy - managing communication via feeler tapping instead of by phat pipe. I would pay to see that.
(seriously.) -
COG? COG was a flop.Cog was an embarassing bit of hubris on the part of Rod Brooks at MIT. Brooks did some excellent insect-level work in the 1980s, and then he got carried away and tried to jump to human-level AI. I once asked him "Why don't you try to do an artificial mouse. You might be able to make that work." He replied "Because I don't want to go down in history as the man who created the world's greatest robot mouse." And that's the problem.
What they ended up with was something that sort of fakes human interaction. That's been done before. Remember Ananova? Chatterbots? My Real Baby, from Hasbro? COG is basically similar, but with a bigger budget.
The COG web site apparently hasn't been updated since 2000. Like the Leg Lab, it seems to have reached the limits of the ideas used.
This is sad, because there were some good ideas there. But they weren't anywhere near enough to even consider going to human-level AI in one jump. This is a classic vice of AI researchers - they have a reasonably good idea, and then start claiming that human-level strong AI is right around the corner. We went though this with the "expert systems" crowd in the 1980s, and that was even more embarassing and expensive, because doomed startups were launched. AI as a field was dead for a decade after that.
That's the price of overhyping a technology.
-
COG? COG was a flop.Cog was an embarassing bit of hubris on the part of Rod Brooks at MIT. Brooks did some excellent insect-level work in the 1980s, and then he got carried away and tried to jump to human-level AI. I once asked him "Why don't you try to do an artificial mouse. You might be able to make that work." He replied "Because I don't want to go down in history as the man who created the world's greatest robot mouse." And that's the problem.
What they ended up with was something that sort of fakes human interaction. That's been done before. Remember Ananova? Chatterbots? My Real Baby, from Hasbro? COG is basically similar, but with a bigger budget.
The COG web site apparently hasn't been updated since 2000. Like the Leg Lab, it seems to have reached the limits of the ideas used.
This is sad, because there were some good ideas there. But they weren't anywhere near enough to even consider going to human-level AI in one jump. This is a classic vice of AI researchers - they have a reasonably good idea, and then start claiming that human-level strong AI is right around the corner. We went though this with the "expert systems" crowd in the 1980s, and that was even more embarassing and expensive, because doomed startups were launched. AI as a field was dead for a decade after that.
That's the price of overhyping a technology.
-
Do you have a clue.
You are not seriously this ignorant. "The public wants Buck Rogers or Star Trek, not another Mars rover. Bleh!" Make science like TV and you get crappy science. By the way, NASA already has plans to go to Mars, whether or not it is the best use of science resources. http://www.npr.org/templates/story/story.php?stor
y Id=4181187 http://web.mit.edu/newsoffice/2004/mars-quotes-012 8.html We'll see if anything come of this grand plan. It will take years before we can seriously try it though. It is 30 days of travel to reach Mars and the windows to get there and to return to Earth in a reasonable time frame tend not to line up so the trip would have to take longer than 2 months. -
Re:Power concerns
I wish I had a newer link but I recently heard something on NPR regarding this research http://web.mit.edu/newsoffice/1998/battery.html To adapt an adage from the engineering or restaurant business: Good, Fast or Cheap - Pick Two Batteries would be: Safe, Powerful or Cheap - Pick Two
-
Why he denied Tenis for 2 & Space War
It's obvious why he denied those two games as being videogames. It's because his company, Magnovox, had a patent on game consoles. As long as Magnovox held on to the patent, anybody wanting to make a game console would have to pay royalties.
But of course, it is obvious that Tennis for Two and Space Wars are videogames. In fact, anybody who wants to play the origional Spacewar can do it here -
Spacewar!
Spacewar not a "real" game? What a crock! Here is Spacewar running on a PDP-11 emulator in a Java applet:
:-) http://lcs.www.media.mit.edu/groups/el/projects/sp acewar/ -
New drug makes people smarter! Quick! Ban It!
ANYTHING that tastes good, makes us feel good, makes us stronger, gives us a better memory or helps us concentrate or otherwise gives us any kind of advantage over someone not ingesting said drug is dangerous and must have hidden side effects. Some nutjobs might argue that a drug that might improve our memories dramatically and thus advance the productivity and technology of our civilization would be beneficical. However, any drug that does this is bound to be toxic, addictive, and otherwise damaging and even if it kills 1 person out of a million. Even if that one person who dies took thirty times the recommended dosage we must ban it because the only acceptable use of ingestible non-food substances should be to cure disease.
That being said, there is a horrible drug plaguing our streets known as 1,3,7-trimethylxanthine. It is lethal in doses as small as 3.2 grams. It is consumed compulsivley by a growing number of American addicts. It can cause psychomoter agitation, rambling flow of though and speech, tachycardia or cardiac arrhythmia. Large evil megacorps are trying to poison our childrens lives with them by getting them addicted to it early and it is even being distributed in schools by their dealers! Some people even say it helps them concentrate and lets them stay up longer but these benefits pale in comparison to the evils of this psychotropic drug. The Deaths piling up because of this drug should lead us to ban it immediately! We should also ban a substance often taken in conjunction with this awful drug known as DHMO. -
Re:Comments on the article...
Changes the current "first to invent" standard to "first to file," which means patent rights go to the first inventor to file for a patent who can provide sufficient evidence for a claimed invention.
Biggest mistake, in my opinion. . .
."First to file" really means "first inventor to file." If A invents something, but keeps it secret, and B comes up with the same invention, B gets the patent under a first to file system. But B must be an independent inventor.
Under our current system, A can file after B has filed triggering interference proceedings. These are costly proceedings that require both parties to produce evidence of when they each conceived of the invention and evidence that they were diligent in perfecting it.
While "first to invent" sounds more fair than "first to file" in theory, the emperical evidence is that it only affects a very small number of applications (somewhere around 3000 over the last 20 years). Independent inventors also are also a little more likely to lose in an interference when they filed first than they are to win in these proceedings when they invented first. See Mossinghoff , "The U.S. First-to-Invent System has Provided No Advantage to Small Entities."
Eliminates the subjective "best mode" requirement from 112 of the Patent Act, delineating objective criteria that an inventor must set forth in an application
This seems fine to me.
Elimination of the "best mode" requirement would simplify litigation. Proving that the patent holder contemplated or did not contemplate a better embodiment of the invention can be difficult. On the other hand, elimination of this requirement could make it easier for powerful de factor standards setters to obtain narrow patents on minor changes to the software they market without disclosing particular details of their inventions. See Morgan , page 9.
Imposes a duty of candor and good faith on parties to contested cases before the patent office, eliminating inequitable conduct as a defense of patent unenforceability.
Don't know what this means exactly. Kind of scary that you'd have to legislate "duty of candor and good faith though"
One does not always have "duty of candor and good faith." In criminal proceedings, the defendant has a right to remain silent. Perjury is illegal, but the defendant does not have to admit to guilt. It is up to the prosecutor to make the case. Good faith is also difficult to prove or disprove. Objective standards are much easier to work with.
Duty of candor and good faith already exists. The difference with this bill is that the USPTO would be the sole investigator and enforcer of this duty. Currently, these issues come up in court when a patent is being litigated. It's easy to alledge but costly to defend because of substantial discovery costs.
Reduces the scope of willful infringement by raising the standard of proof required, and limits the amount of damages a patentholder can collect from an infringer
Like any damage caps, this is good and bad. Good for the little guy getting sued by MegaCorp., terrible for the little company MegaCorp. is doing patent infringement on.
This provision could be really good though because there has been a trend of patent attorneys advising companies to not have their engineers and scientists look at other patents. The legal theory, which is supported by case law, is that the employees learn of the patent and any infringement is willful because the company didn't get a legal opinion. This extreme position is plain stupid. The scientists and engineers inventing cool stuff are the ones who can quickly understand an inv
-
How I succeeded
When I went from MIT to another employer, I succeeded at being able to GPL code I wrote here using my essay about Solving the Buy vs Build Dilemma.
-
Re:When will BT be webbased?
http://moztorrent.mozdev.org/
and also see this PDF
http://pdos.csail.mit.edu/6.824-2004/reports/jwolf e.pdf
Thanks to http://mimir.silverfir.net/blogs/index.php?blog=6& cat=31 for the links -
Re:Prior art.
Try this if your having problems
-
Re:Upgrade your programming style
-
Re:As Yoda said, "Another There is."
This is CL we're talking about here. Kitchensink, etc, etc, remember?
first: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP /HyperSpec/Body/acc_firstcm_s_inthcm_tenth.html
rest:
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP /HyperSpec/Body/acc_rest.html
Moreover, this is Lisp we're talking about. If you want your own syntax, just start defining your own package. There's no visible difference between user-defined functions/macros and standard ones. -
Re:As Yoda said, "Another There is."
This is CL we're talking about here. Kitchensink, etc, etc, remember?
first: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP /HyperSpec/Body/acc_firstcm_s_inthcm_tenth.html
rest:
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP /HyperSpec/Body/acc_rest.html
Moreover, this is Lisp we're talking about. If you want your own syntax, just start defining your own package. There's no visible difference between user-defined functions/macros and standard ones. -
Re:Speculation is useless
a new 128-bit proc composed entirely of turtles.
I bet it runs LOGO really quick. -
faster on what ?Niagra is a server chip. It works well on OLTP, web-serving style workloads, because those have an inherent thread-level scalability and also miss to memory a lot. Instead of having a wide, out-of-order core that is unutilized most of the time, it's more efficient to have a bunch of simple, in-order cores that execute multiple threads.
That's good for sun, because they sell server stuff, but for other kinds of workloads this approach is very innefficient. See the Piranha research paper, by Barroso et al.
-
Re:Ok guys... educumacate meThe Elegant Universe right there at PBS, First couple are a good visual example.http://www.pbs.org/wgbh/nova/elegant/
@ Learner.org
Science in Focus: EnergyThis video workshop for K-6 teachers explores the scientific meaning of energy and examines the role it plays in motion, machines, the body, and the universe. http://learner.org/resources/series160.html
A Private Universe This video documentary for grade 5-12 educators explores why students from early grades to Ivy League graduates don't really grasp basic science concepts.http://learner.org/resources/series28.ht
m lEduMUcate Yourself man. http://ocw.mit.edu/OcwWeb/Physics/index.htm
Take a good look around those last two sites.
-
Re:There isn't a single complete SVG viewer anywhe
The other approach is to first let the world sort out what features are actually desirable, then standardize what's there and try to get implementers to converge towards the standard... Common Lisp is an example of this from programming languages.
Don't, don't, don't follow Common LISP as an example. Common LISP has been a disaster. There are far fewer people earning their living from LISP now than there were before Common LISP standard was introduced, and far fewer programs in regular use written in LISP.
Common LISP is a very bad standard. As Scott Fahlman wrote:
The result is a language that... not even its mother could love. Like the camel, Common Lisp is a horse designed by committee. Camels do have their uses.
He should know. As he says on his home page:
I was one of the principal designers of the Common Lisp language.
Common LISP essentially destroyed LISP as a usable, productive language. It made an incredible number of simply wrong technical decisions; and too many of those decisions were made by the smaller companies of the eastern United States - Symbolics, LMI, Franz - trying to write a standard which was as different as possible from InterLISP, in order to kill competition from Xerox. I'm not pretending InterLISP was brilliant or the answer to all problems. It wasn't. Like Common LISP, it was a LISP2, making an artificial distinction between data and code; and it was in many ways clumsy and unorthogonal itself. But there was a great deal of creativity coming out of the InterLISP community, which Common LISP effectively killed.
We would have been so much better with a standard based on Portable Standard Lisp, or on EuLisp, or on Scheme. We would have been so much better with no standard at all. Instead, we got a LISP2 with a bizarrely complex lambda-list syntax, with a comment syntax which was incompatible with the LISP reader (so that in-core editing and development were effectively impossible), with so many horrible design errors.
Of course, it succeeded in its primary goal. Xerox was driven out of the LISP marketplace. But the cost for LISP has been horrendous: the language has been effectively destroyed. And for what was and should be the queen of programing languages, that's a disaster.
Oh, yes - I was during the eighties a very junior member of the British Standards Institution's LISP working group. I was there. I still think LISP is the best possible programming language, but these days I use Java.
-
Re:AutoDJ is half baked, unrelated to iPod or iTun
Actually, you're right but I somewhat barely do know what eigenvalues are. I saw Eigenradio (which uses eigenvalues for PCA, according to the diagram) a while ago, which is what got me thinking. What I thought was cool about eigenvalues is what you think sucks about them for this purpose. Also I think you're talking about computing eigenvalues on the song files' metadata. I mean computing eigenvalues and doing PCA on the raw audio data for the actual music contained in the files. The cool thing about this is that the covariance you get is freely independant of any arbitrary categorization in the files' artist or genre tags.
I thought about your suggestion about using FFTs too, but I came down to the suspicion that a lot of the heavy lifting is to support all of the assumptions about what makes a song flow well with another one: like frequency distribution or the other things you listed like variance of volume (which audio people call compression, and beats per minute. Also you do a lot of heavy lifting to gather statistics on the whole song, whereas only the beginning and end are significant to a good segue. Also you do a lot of heavy lifting to always compare against the complete set of statistical metadata for your songs when all you need is to take the favorite match from a limited set of randomly selected possible next tracks.
Of course, if I'm wrong about iTunes, but right about generating a better playlist through statistical matching, we may have totally blown the patent here
:) -
Mine too... (creatively using computesr at 3.5+)> My son has been fluent with a mouse for about a year, since he was 3 1/2.
That's about the same age my younger son Jonatan started using the computer intensively. The older one (Daniel) started a bit later (about 4 1/2). But we had a laptop with only a touchpad back then so it was more difficult for him. Last year the children's demand for the computer became so high that I set them up with their own computers (photo of their room, that my wife would never have allowed me to publish if she could prevent it...).
Whatever they play, on the computer or not on the computer, the most important thing is that it should be a tool to aid their creativity, not to limit it. In "Hardware toys" it means things like Lego basic constrution sets (and other manufacturers. Both quality and quantity are mportant factors here: lack of each limits the child's creativity).
With Daniel we started with some cheap commercial games from Office Depot clearance. I don't think it's the right way. These quite limit the child to following instructions.
With Jonatan, we didn't make the effort to look for things to buy. He's a second child... So it was more like finding whatever we have that can occupy him so he doesn't bother us, and it worked better. M$ Paint turned out to be really great for him. It was simple enough to use, and he was very creative with it. Then he discovered Google: he uses Google images to look for pictures, then he cpopies and pastes them into his own works (He got a bit addicted to Google, and when we went on a 3 weeks vacation and he didn't have acess to the computer he was drawing pictures of the Google logo with his crayons... A few months ago when he wanted to find something his granfather told him it cannot be found on Google. So he said to his Grandpa: "Grandpa, anything can be found on Google if you know how to look for it!". Even searching Google requires creativity).Another good piece of Children's software that encourages creativity is Drape (Drawing Programming Environment). It is a sort of programming environment similar to to Logo in some respect, but not exactly the same. One advantage is that it allows for very easy mouse interaction, so a child can create things that "work" quite easily (i.e., with just a bit of adult intervention). Form the same source, Game Maker is more suitable for older children. It is a programming environment to create games, either by using drag and drop or a builtin programming language. I've seen nice cooperation between the younger and older brother here: the young one chooses the objects and graphics, and drwas the levels of the games. The older one completes the game by adding the more abstract parts: actions and interactions. Logo is of course a very good thing for children. For the smaller ones the online r-logo is very easy and fun to use. For more serious Logo programming MSWlogo is a much more powerful implementation (including 3-dimensionality and multi-tasking). There's no need to "choose one". My son Daniel first thinks of an idea he wants to implement, then chooses the most appropriate tool, just like a programmer choosing the most appropriate programming languge for the job (he has several flavors of Logo and choses the one that has what he needs for a project. He also uses Visual Basic that he learned at school).
What else?
For several months my kids were addicted to Enigma. It's "just a game", but actually it involved loads of creativity in solving an entirely different puzzle in each level, and has the right balance between sing the brain and coordinating mo -
Mine too... (creatively using computesr at 3.5+)> My son has been fluent with a mouse for about a year, since he was 3 1/2.
That's about the same age my younger son Jonatan started using the computer intensively. The older one (Daniel) started a bit later (about 4 1/2). But we had a laptop with only a touchpad back then so it was more difficult for him. Last year the children's demand for the computer became so high that I set them up with their own computers (photo of their room, that my wife would never have allowed me to publish if she could prevent it...).
Whatever they play, on the computer or not on the computer, the most important thing is that it should be a tool to aid their creativity, not to limit it. In "Hardware toys" it means things like Lego basic constrution sets (and other manufacturers. Both quality and quantity are mportant factors here: lack of each limits the child's creativity).
With Daniel we started with some cheap commercial games from Office Depot clearance. I don't think it's the right way. These quite limit the child to following instructions.
With Jonatan, we didn't make the effort to look for things to buy. He's a second child... So it was more like finding whatever we have that can occupy him so he doesn't bother us, and it worked better. M$ Paint turned out to be really great for him. It was simple enough to use, and he was very creative with it. Then he discovered Google: he uses Google images to look for pictures, then he cpopies and pastes them into his own works (He got a bit addicted to Google, and when we went on a 3 weeks vacation and he didn't have acess to the computer he was drawing pictures of the Google logo with his crayons... A few months ago when he wanted to find something his granfather told him it cannot be found on Google. So he said to his Grandpa: "Grandpa, anything can be found on Google if you know how to look for it!". Even searching Google requires creativity).Another good piece of Children's software that encourages creativity is Drape (Drawing Programming Environment). It is a sort of programming environment similar to to Logo in some respect, but not exactly the same. One advantage is that it allows for very easy mouse interaction, so a child can create things that "work" quite easily (i.e., with just a bit of adult intervention). Form the same source, Game Maker is more suitable for older children. It is a programming environment to create games, either by using drag and drop or a builtin programming language. I've seen nice cooperation between the younger and older brother here: the young one chooses the objects and graphics, and drwas the levels of the games. The older one completes the game by adding the more abstract parts: actions and interactions. Logo is of course a very good thing for children. For the smaller ones the online r-logo is very easy and fun to use. For more serious Logo programming MSWlogo is a much more powerful implementation (including 3-dimensionality and multi-tasking). There's no need to "choose one". My son Daniel first thinks of an idea he wants to implement, then chooses the most appropriate tool, just like a programmer choosing the most appropriate programming languge for the job (he has several flavors of Logo and choses the one that has what he needs for a project. He also uses Visual Basic that he learned at school).
What else?
For several months my kids were addicted to Enigma. It's "just a game", but actually it involved loads of creativity in solving an entirely different puzzle in each level, and has the right balance between sing the brain and coordinating mo -
I had this Project in College
Our class was given this exact same problem for Physics 201. It was worth 25% of our grade. I used this site as a resource. Giving due credit of course. Our assignment had the efficiency of the rocket and the fuel supply given. We had to calculate the most efficient way to get there and back and how long it would take. We were told to research it and not given any hint on where to get the information. I plugged the info into these formulas and got 100%.
-
Re:How about Apple Logo?
I used Logo pretty extensively in grade school. We were assigned problems similar to what you suggest, but these are not really games.
Logo was developed as an educational tool, here's the Logo Foundation link to explain:
http://el.media.mit.edu/logo-foundation/logo/index .html
Lots of interesting tidbits in the link, and the parent site. -
Of course...
you could then combine it with this system, and you'd have a... um... piss-powered and controlled PSP. (SFW)
More of a "pee-ess-pee", I guess.
(i like that they use a chick with a strap-on for the photos... makes the whole thing hotter, somehow)
m- -
Everything old is new again...
The MIT folks were doing this in 1981 and earlier. See ftp://publications.ai.mit.edu/ai-publications/pdf
/ AITR-619.pdf -
Re:Journalists Garble The Facts As Usual
I don't have either the information or inclination to say whether cato is reliable, but I don't doubt your claim. However, from the top of the article:
Richard S. Lindzen is the Alfred P. Sloan Professor of Meteorology at the Massachusetts Institute of Technology.
If the article is somehow misused or not representative of his original publication, someone should let him know. If Richard S. Lindzen isn't reliable, why is he still at MIT?
I don't seek to assert that the claims in the article are correct, just that they merit consideration, and the whole concept of global warming is not necessarily a fact, or due to CO2. We don't know yet, but the article presents a valid, well argued view on the situation. Read it. Cato sicken you? MIT PDF google cache of pdf
To be fair, Article questioning Lindzen's integrity.
-
Re:DrScheme
I agree, Scheme's a really clean start.
"Structure and Interpretation of Computer Programs" is a great book to learn programming. And it uses Scheme! And it's online: http://mitpress.mit.edu/sicp/ -
Re:How long?
How soon they forget. The Morris Worm, in 1988, didn't deliberately format your hard drive, but it spread slowly and insidiously and pervasively enough that you had to go back to complete backups from at least 4 days previously to make sure you had it completely clear on your re-installed system, and the patches to block it had to be downloaded slowly and carefully because of the overwhelmed patch servers. By the standards of the day, the thing was an insatiable monster and was slapping down core DNS, SMTP, and other network servers so hard that entire buildings and companies were offline for days while their sys-admins labored round the clock to re-install them. And he didn't even write it to do damage, he wrote it to demonstrate security vulnerabilities and mail the successful entries back to him. And of course, Mr. Morris never spent a day in jail. (It must be awfully nice to have a father who's head of the NSA to help you avoid jailtime.) He's never even publicly apologized that I can find anywhere: instead, he's a professor at MIT (http://pdos.csail.mit.edu/~rtm/). We've got him teaching a whole new generation of MIT students just how to break other people's toys with their brilliant ideas, then run away from responsibility for it.
-
Multiple Tiers for Teaching Programming...
I've noticed everyone here is recommending their favorite language, without mentioning why it might be useful for beginning programming. I'd like to address that issue:
In Beginning Programming, you're assuming that the student know absolutely nothing about programming. They should know Algebra (to understand variables), but that's about the extent of Math.
Thus, probably the Right Thing to do is build on the basic Math understanding that your students have, and start to introduce programming concepts from there.
For that reason, I'd start with a Functional Programming language as they tend to be rather obviously Math-derived, and help ease the introduction of programming constructs. I would recommend Scheme, since it is associated with one of the best "Teaching Programming" texts ever, Structure and Interpretation of Computer Programs.
After they've grasped Functional Programming, I'd have them move on to Procedural Programming, starting in Pascal or Modula-2. These two are excellent languages which illustrate the fundamentals of procedural programming, without some of the nastier pitfalls. There are also excellent textbooks available for Pascal (fewer for Modula-2). Later, I'd move them to C to introduce pointers and some of the other hairier features.
Finally, they're ready for Object Oriented Programming, for which I'd use Java - it's widely used, very common for college-level coursework, and there are a large number of supporting utilties and good textbooks useful for teaching aids.
Overall, I'd look at teaching Functional in 1 semester, Procedural in 1 or 2 semesters (depending on the detail and breadth you want), and OO in 1 or 2 semesters.
In all honestly, I love scripting languages like Perl, Python, and Ruby. However, as a teaching tool, they're all too multi-purpose, and it's easy for the student to do something they're not supposed to do (even though it works). For teaching languages, you want ones which pretty much only allow the student to program in the methodology you're teaching. That is, you generally want those languages which are LESS flexible, since your main goal is correctness, not functionality.
-Erik
-
Re:Calling home
Well, you can read the paper here:
http://groupmedia.media.mit.edu/jk.php -
Link to the actual project site
-
Re:Obligatory
Well... actually... http://web.mit.edu/newsoffice/2005/nanocell.html
They're getting closer. -
Re:Scheme
Scheme is a great progamming language to start with. At least try an interpreted language first, you can explore while interacting directly with the interpreter, it's more fun.
And there are video lectures about scheme available online for free at the MIT. Very interesting, and made by the creators of the language (Abelson and Sussman).
(Please don't start downloading them all at once, those are huge files).
http://www.swiss.ai.mit.edu/classes/6.001/abelson- sussman-lectures/ -
Re:Pretty easy solution
It'd be far harder for a hacker to find a way to optimize the binary than change some constant
Then it's time to bust out the dynamic recompiler -
Not data-oriented
Frans,
you are right about the hype. For some heavy-duty train-regulation & aeronautics stuff, however, I have been using IOA, a specification-based language:
http://larch-www.lcs.mit.edu:8001/~garland/ioaLang uage.html.
You may find this interesting. -
The best web dev framework you've never heard ofWell, for web development (God, do I now have to call this "RIA development"?) I found a diamond in the rough.
It turns out there's this Python-based application server/templating language called SkunkWeb (http://www.skunkweb.org/) which seems to be the Holy Grail for me of, well, a Python-based web framework that doesn't completely suck (Okay, I know 1995 and CGI was awesome and everything, but no one should be writing "print '<html><head>'..." statements within Python code to make web pages, and don't get me started on Zope.) And no, I'm not affiliated with the project or its developers.
I don't know about Ruby/Ruby on Rails, but I'd rather write in Python which, to me, has a more accessible syntax and a truly badass standard library. And doesn't make you want to jump blindfolded off of tall buildings.
Skunkweb lets you combine the best of Python and PHP -- you create real Python classes to do the heavy lifting/DB accesses/app logic (and you can unit test those separately) without the PHP spaghetti code mess, and then you use Skunkweb's refreshingly sane blend-of-HTML-and-Python template language (contrived example -- need a list of usernames? It's this easy)<:import foo:>
to tie it all together. The win is that this way you can separate logic (standalone Python modules) from presentation (templated HTML/Python) in a much cleaner manner than other web development frameworks.
<table>
<:for `foo.Users.getSome()` u:>
<tr><td><:val `u.username`:></td></tr>
<:/for:>
</table>
In addition, it was built from the ground up for scalability (ok, the application server itself is probably slower than Apache/PHP, but I don't notice the difference, and you can use psyco or other methods to speed things up) and has caching and db connection pooling and other performance-oriented features built in.
I've been doing web development for nearly a decade, and Skunkweb has recently been my best-kept secret and a big competitive advantage. It's at the core of two companies I'm starting (one of which is a comprehensive online SAT prep course and is already profitable, the other which is earlier stage but angel-funded) It lends itself to clean and quick development and if it didn't have the stupid name (good luck convincing your boss to bet the farm on something with "skunk" in the name) it would have taken over the world by now.
Anyway, you heard it here first, folks. If anyone else out there is using Skunk, drop me a line (houston at mit.edu) because it would be nice to start a little community.
-fren -
What's with thhe jumpsuits?
Perhaps MIT would have faired better if they hadn't spent time and money on making uniforms with NASA/boyscout-style patches.
-
Re:Stallman was right up to this point ...
Finally, the success of other free software projects at the university level suggests to me that a free text-book program would be quite welcome. The students would certainly put quite a bit of pressure on the university and its faculty to implement it regardless.
Anyone know if something like this exists?
MIT's Open Courseware is a big step in this direction. It includes course descriptions, syllabus, calendar, readings, lecture notes, assignments, and study materials. All available online for free.
-
Re:Stallman was right up to this point ...
Well, it's not QUITE what you're describing, but MIT started a program a little while ago called "open courseware". Basically, they open sourced their course material and published it on the internet. A lot of the stuff really is quite fantastic. I've used it a few times for reference and just for general reading and the stuff in there is really quite good. The best part is there's a really wide range of courses covered, but the comp/elec eng section is really quite expansive.
MIT open courseware site: http://ocw.mit.edu/index.html -
Re:Learning?
a) A hell of a lot of learning happens at a good university, the trick is finding the good ones.
b) Universities aren't all about profit. Given the crappy wages that academics generally get, a healthy dose of idealism is an absolute necessity for maintaining progress.
I have at least one professor who is, IIRC, extremely rich and only teaches because he wants to "give something back" to the academic community. Any attempt to kill that kind of spirit impoverishes us all. -
Re:Oh, crap
Yeast has also been used to produce gold filaments.
http://www.wi.mit.edu/news/archives/2003/sl_0331.h tml
http://www.pnas.org/cgi/content/abstract/100/8/452 7
Mmm... Chips AND beer... -
Re:Virtualization
You're right, seperation does carry very little overhead compared to other methods of virtualization, however you still have the host OS kernel to deal with and interface through.
I believe the most efficient method would be to have the host OS run an exokernel, which is being researched at MIT. Basically, an exokernel allows processes to have complete control of the system, allowing them to finely tune their resource usage (among other things) to maximize performance. For example, a database server or file server could customize the file-caching parameters and memory usage for optimal usage.
Giving a virtualization process this kind of control would greatly improve things, and I think eventually if part of this virtualization back-end is placed into the kernel, we could achieve OS-level abstraction - one of the holy grails of modern CS. -
Re:Worked for me
-
One of my favorite Dilbert strips