Domain: mit.edu
Stories and comments across the archive that link to mit.edu.
Comments · 7,673
-
MIT Digital Death Lab
We've got something like that at MIT... They've done some pretty cool stuff as well, its not a senior thing though.. just a normal class. The voice controlled chess is pretty cool though. http://web.mit.edu/6.111/www/f2008/index.html
-
Re:It simply illuminates a single fact.My wife is a teacher, and her one technology class covered . . . wait for it . . . Logo
Yeah, that's useful.
-
Re:PHP?
Or, you could go in the other direction, and reduce the typist burden, allowing them to use concepts to get things done quickly so they get positive feedback.
I'd suggest Scratch, from MIT:
The code is designed like lego blocks, and you attach things together. You can publish to the MIT website from within the development environment and develop a fan base, which gives more positive feedback. You can also download someone elses program from the site, tear it apart in the IDE, change things, then republish your new program and it will automatically attribute the program as being built by Jack, but based on work by Jill.
If you want something a little more sophisticated, you can teach them Squeak.
Squeak is a full featured implementation of Smalltalk, which was designed from the ground up to teach OOP.
http://en.wikipedia.org/wiki/Smalltalk
My 8 year old has used both of these, and I've introduced Scratch to 13 year old children to it and had them get very excited at what they could do with it.
-
Re:I hope this helps this problem
Technology such as telephones, email, websites, etc Should be acting as a double edged sword. In that whilst it allows such crooks the the ability to target more people than if they had to physically visit people in order to try and con them, as was their only option in the past.
I was surprised to learn that the word 'phoney' comes from telephone con artist. Bruce Sterling's 'The Hacker Crackdown' makes for interesting reading. http://www.mit.edu/hacker/hacker.html
-
Start with Scratch
MIT released scratch a while back
http://scratch.mit.edu/It is a brilliant graphical environment that focusses on multimedia projects - but which introduces standard concepts like variables, loops, conditions, etc.
e.g. to do a loop, you drag a loop graphic from the side. It looks a bit like a clamp and graphically wraps round 'blocks' of code.
There is no possibility of syntax problems like semi-colons at end of line, mis typed commands, etc - so it is a great way to introduce the concepts without the pain of precise syntactical communication (obviously, the programming ideas have to be precise)
Another major plus is that kids can easily make fun and significant programs rather than having to go through hours of boring text output programs.
Start here, show the kids how much fun it is to play when programming and the joy of creating applications. Then when they understand (and have used/debugged) the structural concepts, show them how to do the same in a text based language.
There is more; The programs will always compile and run (though may not do what the user expects). You can change the program while it runs. The environment is built for sharing programs (upload your app, download someone else's and change it). It is simple enough for 7 yr old kids to play meaningfully and rich enough that a bright 14 year old has plenty of scope to challenge themselves.
Give it a try, it is aimed exactly at your group, and I think it hits the mark brilliantly.
-
Language and Paradigm independence.
Man, I am SO late but... just to add to the pile.
1. Emphasize that there are multiple paradigms, not a single paradigm.
2. Demonstrate each paradigm with different programming cases and languages. For example, do something OOP in scheme. Something functional in Java. Or preferably do them all in multiple languages. Show how some languages have features that gear the language towards specific paradigms and coding practices.
3. Help them recognize the difference between learning how to build something, and the internals of programming. Building involves knowing your platform, getting the tools, knowing where to find help, and getting over bugs and quirks to accomplish the end result. An example would be making something for the iPhone, or for Windows. The internals of programming involves learning all the concepts, and how things *actually* work.
4. Teach what makes a good programmer independent of language. Code reading comprehension. Code debugging. Consistent syntax. Variable naming. Scope and namespaces. Commenting and organizing code in a way that lets other people easily work with it. Team concepts. Abstraction. Abstraction layers. Using and building APIs and libraries. Google searching skills.
5. If the science is important, why not show them this:
Structure and Interpretation of Computer Programs, Video Lectures by Hal Abelson and Gerald Jay Sussman from 1981 -
Re:Scratch
I was just looking into this recently for my nephew. Scratch looks really cool. I downloaded it and played for a few minutes and e-mailed my sister to tell her to install it for her kid. She hasn't done it yet, so I don't know if it was as good of an idea as I thought, but it sure looks cool.
It has color coded, drag and drop logic stuff that interlock like a puzzle so that kids can see how it fits together. It takes seconds to get a little animated sprite "walking" and do the fancy, whiz bang, pretty stuff today's kids will be wanting to see right away.
My kid has been using Scratch for over a year now, and programs her own games. Next up is Lego Mindstorms, so she can get some Robot programming in too.
-
Use the good old classics LOGO and PILOT
PILOT and LOGO:
RPILOT is a FOSS version of Pilot. Here is a list of LOGO resources find one that works for you. Berkely LOGO or Star LOGO or Net LOGO take your pick.
Grade Schools and Junior Highs used to teach PILOT or LOGO or both on the old 8 bit computers when I was that age. It was fun giving a virtual turtle commands to draw shapes and solve problems.
-
My 10 yr old likes Scratch
My 10 year old started with LOGO, a commercial version called MicroWorlds EX. That would be a good one to try if you have the budget to buy a classroom license. He tried Alice, but didn't care for it much because of limitations on what he could do with it.
He now spends most of his time on Scratch, I think mostly because he gets to upload projects to the Scratch website and share with friends he has made there. Since Scratch is free, teaches all the fundamental principles of programming languages without warping the brain as Basic would, and allows one to immediately create cool graphics stuff and collaborate with other kids, I would recommend it. http://scratch.mit.edu/
Lately he has also started hacking a Javascript tutorial because he wants to learn how to make web pages that do interesting things. I don't think it would be a good first programming language, but you might keep it in mind as an adjunct to a first course. Motivation is as important as the language, and being able to create cool stuff provides that.
-
MIT's Scratch
Someone in another thread noted that kids who haven't yet had Algebra may not be ready for complex programming. I agree. If you're not actually planning to prepare these kids for life as code monkeys, and you're just trying to introduce them to procedural thinking, I'd suggest MIT's Scratch.
It's sort of like Flash for kids, with a modular interface so that kids never see an error message. If you try to put a number in a slot where the syntax demands an operator, the number will just bounce out of the line -- it won't fit. All the elements have shapes that plug in only a certain way. The Scratch website has screencast tutorials (with cute kids narrating them) and a community for sharing creations.
Unlike Mindstorms, Scratch is free.
I've taught my own son when he was 9 and 10, using Just BASIC (we created a simple Choose Your Own Adventure story) and Scratch (he created a catch-and-avoid game).
I have also taught college English majors the fundamentals of computer programming, using Inform 7 (a relatively new developing environment for creating classic text-adventure games).
I should think that most kids in your target age group would get very excited by making their own mods, which could be a gateway into teaching them actual coding.
-
Scratch
I was just looking into this recently for my nephew. Scratch looks really cool. I downloaded it and played for a few minutes and e-mailed my sister to tell her to install it for her kid. She hasn't done it yet, so I don't know if it was as good of an idea as I thought, but it sure looks cool.
It has color coded, drag and drop logic stuff that interlock like a puzzle so that kids can see how it fits together. It takes seconds to get a little animated sprite "walking" and do the fancy, whiz bang, pretty stuff today's kids will be wanting to see right away.
-
Re:LOGO!
can assure you 11 year olds, let alone 14, will look at you funny when you tell them to move a turtle (that's what I remember it being called) around the screen drawing senseless shapes.
Sure, moving a turtle around drawing "senseless shapes" is probably not going to be very interesting to 11-14 year olds, especially those on the older end of that range, but then even the versions of Logo I used at 11 could be used to a lot more than that, and modern, agent-based versions of Logo are designed to do quite a lot more, easily. Take a look at NetLogo or StarLogo TNG.
-
Scratch
http://scratch.mit.edu/ Scratch is very cool, comes with an educational program for kids. It's an mit/ucla project
-
Re:All of them.
That's similar to what my first college CS course has been like. We used SICP and it was a really interesting semester. We did functional, OO, client/server, and logic programming (or well those were the 4 paradigms that the prof considered the main ones) and it was pretty interesting. Since most people came in with OO experience only, doing functional programming through people for a loop at first. Of course, we did it all in Scheme, which is a cool language, too.
-
Re:Strostrup is the problem
If that was the case, we wouldn't need Java and C#
Right, because Java and C# are new and improved systems programming languages. Don't say Singularity.
Down at the bottom, the fundamental problem with C and C++ is the "pointer=array" concept.
Of course, how stupid of them! All this work trying to support user-defined abstractions for systems programming and the problem was a tiny typing rule the whole time!!! Let me guess, the root of all Java's problems is the covariant array subtyping problem? The same with covariant argument subtyping in Eiffel too?
Perhaps you mean the ability to look at memory as a sequence of bytes... except that that's just a little bit fundamental to systems programming. So you think that the millions of lines of BIOSes, kernels, device drivers, and ROMs should be written in assembly? Trust me, although the specific memory models will change over time (certainly away from UMA), as long as there is systems programming, there will always be a high-level language (in the old meaning of the word) that takes you to the metal. Although clearly we shouldn't be using it to write e-Commerce apps, educational software, internal IT apps, and whatever you do.
-
Teach them All
The classic text SCIP teaches multiple computing paradigms. A fluent computer scientist should know all of them.
-
SICP
Structure and Interpretation of Computer Programs was my first CS text and it forever changed how thought about computers and programming. I can't recommend it strongly enough.
-
Re:FP without the syntax hurdle
First of all, Perl is the ultimate syntax hurdle, and I say this as a fan of Perl.
Second, if you're interested in functional programming, don't shy away from the languages you mention. Neither Common Lisp nor Scheme is particularly difficult (especially Scheme, whose syntax is almost nonexistent) and neither is purely functional.
Finally, read SICP.
-
Um... what?
An interpreter compiles each instruction every time it gets executed.
Um, a pure interpreter never "compiles" its program, in the sense of transforming the code into equivalent code in an object language. A pure interpreter usually works this way:
- Parse source code and produce an abstract syntax tree representation of the program.
- Traverse that AST according to the interpretation rules of the language, keeping track of the program state at each point.
The easiest example to learn here would be a typical Lisp meta-circular evaulator.
A compiler, on the other hand, translates the AST into equivalent object code in a different language, which can then be run in an implementation of that second language (which can be either a real machine, a virtual machine, a language interpreter, ). For a pure interpreter to "compile each instruction every time it gets executed," there would have to be a program in the object language involved somewhere... and there isn't one, only an model of the successive states of a computation.
-
Programming vs. Software Design
The big problem with most Computer Science bachelors' programs out there is that they make sure students are well equipped to deal with the hot language of the times (often n-1 due to the slowness of curriculum design). This is currently Java. This ensures graduates can go and get jobs in the industry and make money. However, when that language dies out and is replaced by whatever is next (often C#, Ruby, JavaScript, or even C/C++ with GTK+ or Qt), the graduates don't know how to adapt. Why? They were taught everything they know in just one language, and the lessons were too entrenched in the specifics of that language. They weren't taught to learn, they were taught to code. This separates the good CS degrees from the bad ones.
Until recently, MIT used a simplified version of scheme to teach its introduction course. The advantage to scheme was that it was mostly academic, and it was simple enough for the students to not get stuck on language-dependent structures (in fact, the course uses its own sub-language to further simplify things), plus it is VERY different from C/Java-style languages (scheme and lisp use prefix notation whereas C and Java use some informal mix of infix and prefix with ambiguous grouping rules). After that, it was on to Java.
I hear they use python in that course nowadays. Not just python like scripters and web developers use it, but python because it is a simple and easily learned language for the purpose of teaching specific concepts. In fact, the curriculum of that introductory class leans heavily on electrical engineering principles; An article of The Tech from 2006 describes the new entry-level course as "designed to teach freshmen introductory electrical engineering and computer science in an integrated fashion using mobile robots as a case study."
This pushes the idea of teaching the concepts rather than the language. A well-trained software engineer should be able to pick up a new language in short time, since all the abstract models are known quantities. The hurdles should be in learning or un-learning scrum, agile, and MVC rather than J2EE, Lua, and Qt.
Proper instruction must be modeled after teaching flexibility and raw logic. Entry-level courses should include basic theory of computation (automata) and should focus heavily on discrete math and logic. Middle-level courses should include statistics, probability, object-oriented design, and should additionally build on the entry-level courses. Advanced level courses should include collaborative design and over-arching design principles like MVC and agile development. At least two different languages should be required by various courses, and the math courses should not use any industry-usable language at all (NFA is a language after all...). Companies tend to vastly prefer CS-Math dual-majors over other degrees because it shows you understand the data structures and algorithms; such a program can't just teach you a programming language and call it a degree.
-
Re:The .com plan to fix the economy.
I'm waiting for a 2 bedroom condo in LA to approach $300,000, but I get the idea
:)Everyone should read about the Japanese deflation, it was an absolute mess. It would appear that the Obama folks are taking Krugman's advice:
So never mind those long lists of reasons for Japan's slump. The answer to the country's immediate problems is simple: PRINT LOTS OF MONEY. But won't that be inflationary? Well, remember that the Bank of Japan is supposed to be impotent: if it prints more money, people will simply hoard it rather than save it. But printing money is only inflationary if people spend it, and if that spending exceeds the economy's capacity to produce. You cannot first argue that monetary policy is ineffective as a way to increase demand, then reject a proposal to print more money on the grounds that it will cause inflation.
Japan's problems were compounded by people saving and then not ever spending. I heard, anecdotally, that it wasn't unusual for people in average jobs to have the equivalent of over $100,000, or several multiples of a years salary in their savings account. Since there was deflation this made sense, since freezing your money into a purchase would cause it to lose value, but if people didn't spend, demand would never drive price appreciation, thus investments lose money, thus don't buy, thus investments lose money, thus don't buy...
-
Re:No, how about...
Ohio's still 65 max thanks to our wonderful state patrolman's union =( For a list of speed limits see this site.
-
H.M. on tape
Here is an interview with Suzanne Corkin that includes taped dialog with H.M. featured at NPR.
http://www.npr.org/templates/story/story.php?storyId=7584970
He sounds like a very nice person. Dr. Corkin is with the Dept. of Brain and Cognitive Sciences at MIT.
-
Re:it's always a good time to try functional
What language would you recommend for an OO programmer to start with?
-
Re:arXiv articles - question
Yes and no. It was a program called SciGen. The purpose was to weed out conferences that are crap. The ones that exist to take, and make money, rather than really promote scholarly work.
---
About:
SCIgen is a program that generates random Computer Science research papers, including graphs, figures, and citations. It uses a hand-written context-free grammar to form all elements of the papers. Our aim here is to maximize amusement, rather than coherence.
One useful purpose for such a program is to auto-generate submissions to conferences that you suspect might have very low submission standards. A prime example, which you may recognize from spam in your inbox, is SCI/IIIS and its dozens of co-located conferences (check out the very broad conference description on the WMSCI 2005 website). There's also a list of known bogus conferences. Using SCIgen to generate submissions for conferences like this gives us pleasure to no end. In fact, one of our papers was accepted to SCI 2005! See Examples for more details.
-
Re:IPV4 addresses are NOT running out
Kapor is in his element now, fluent, thoroughly in command in his material. "You go tell a hardware Internet hacker that everyone should have a node on the Net," he says, "and the first thing they're going to say is, 'IP doesn't scale!'" ("IP" is the interface protocol for the Internet. As it currently exists, the IP software is simply not capable of indefinite expansion; it will run out of usable addresses, it will saturate.) "The answer," Kapor says, "is: evolve the protocol! Get the smart people together and figure out what to do. Do we add ID? Do we add new protocol? Don't just say, we can't do it."
Source: http://www.mit.edu/hacker/part4.html
Also posted before, for example at http://slashdot.org/comments.pl?sid=1046105&cid=25933303
-
Re:Ghosts
I won't duplicate the material, but chapter 4 of the book in question is "Consciousness". The draft version of this chapter is at Minsky's site:
-
Re:Let me guess...
Um, what? The thermohaline cycle is when the wind-driven surface currents, like the Gulf Stream, move water from the equator to the poles, during which it cools and sinks and heads back to start the cycle over.
The Gulf Stream is one of the wind-driven components of the meridional overturning circulation. The thermohaline circulation is the density-driven component. See here, here, here, and here.
I did neglect to mention that stopping the Gulf Stream would also stop the cool water flowing back in the opposite direction, which could cause various Atlantic islands to get rather more tropical.
The cold water is deep water. If islands get more tropical it's because less surface heat is being transported northward, not because less cold water is being transported southward.
But, regardless, saying the Gulf Stream would shut down is exactly correct.
It's exactly wrong, according to what oceanographers mean by the term "Gulf Stream".
'Europe', no. Northern Europe, yes.
As I said, see Gregory et al., which is one of the main model intercomparison studies. I quote: "Although THC weakening mitigates the CO2 warming in the Atlantic region (see also section 3), there is no cooling over any substantial region in any of the TRANSIENT experiments, because the CO2 effect is larger." When you see those scary temperature anomaly maps with huge cooling, what you're looking at is generally a freshwater hosing experiment which doesn't have CO2 forcing in it, just a freshwater response which is supposed to be analogous to the true warming-induced response.
A northern European "ice age" is not really the main concern with an MOC slowdown/collapse. The main impact is probably shifts in regional precipitation patterns.
And anyone who says we need a 'large amount' of warming to collapse the current is just, essentially, guessing.
That may be a "guess", but it's an informed one, based on oceanographic modeling and paleoclimate evidence. As such, it's at least more credible than someone who says that we need little warming to collapse the current.
We don't know how much it will take, and it's probably very dependent on Greenland glaciers, which are currently melting faster than expected.
See Jungclaus et al., GRL (2006). They find that even in a high Greenland melt rate scenario, the MOC weakening in the 21st century (under a fairly high-forcing SRES A1B BAU scenario) increases from 30% to 42% by 2100. That's not insignificant, but it's not a collapse either, and they predict a recovery in the 22nd century.
It's not the last word on the subject by any means, but most researchers in this field are converging on the opinion that it's hard to collapse the MOC in a modern interglacial period. If you've just come out of an interglacial and still have some of the bigger continental ice sheets lying around, that's different.
If you want to assert it won't happen until the earth heats up that much, well, that's kinda silly.
It's backed up by highly cited published research. It's kinda silly to ignore that research, unless you're aware of any new work which I'm not. If you are, what is the citation?
But, yes, without the Gulf Stream clearing out the warm water, it would essentially keep building up in the Gulf of Mexico, and any hurricane that made it past Florida would get a giant energy boost.
Likewise: what scientific papers back up your claim that every
-
Neural Smithing
Neural Smithing: Supervised Learning in Feedforward Artificial Neural Networks http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=8104 Great reference for me when I was doing my senior research in CS with neural networks.
-
MIT OpenCourseWare
MIT has been publishing their classes online for some time now on OpenCourseWare. I suggest you check out 6.034 Artificial Intelligence from the Fall 2006 semester.
They were using Patrick Winston's Artificial Intelligence. Might be worth a look. -
MIT OpenCourseWare
MIT has been publishing their classes online for some time now on OpenCourseWare. I suggest you check out 6.034 Artificial Intelligence from the Fall 2006 semester.
They were using Patrick Winston's Artificial Intelligence. Might be worth a look. -
Re:AIMA
Also seconded. Russel & Norvig. Artificial Intelligence: A Modern Approach is a good book, well illustrated, and generally lacks the undecipherable academia-speak that pervades lots of AI literature.
Here's an article that was particularly influential on me and some of my friends: Brooks, R. 1991. Intelligence Without Reason. MIT AI Memo num 1292. Even though it is 'just' a tech report, it is frequently cited. He had another one, Intelligence without Representation, which is also good.
Somebody else mentioned the McClelland and Rumelhart PDP (neural networks) book, and it is also still quite good in spite of its age.
The interesting thing about AI (to me) is the funny mix of domain expertise. You have philosophers, sociologists, cognitive scientists, psychologists, computer scientists, and mathematicians. That's not a complete list---I'm in human-computer interaction and design research.
But because of the motley crew of domains you have a hundred people speaking a hundred different dialects. Some people put everything in really mathy terms, and their journal articles look (to me) like they are written in Klingon. Then you have others who write in beautiful prose but don't give any specifics on how to implement things. Still others express everything in code or predicate logic.
The oldest school of AI holds that you can reduce intelligence to a series of rules that can operate on any input and make some deterministic and intelligent sense of it. That works to a degree, but it falls apart at some point partly because of the computational complexity (e.g. the algorithm works if you have a million years to wait for the answer). Another reason it falls apart is because there are some kinds of intelligence that can't be reduced to rational computation (e.g. I love my wife because of that thing she does...).
There's a newer kind of AI that is based on having relatively simple computational structures that eat lots of data, "learn" rules based on that data, and are capable of giving fairly convincing illusions of smartness when given additional data from the wild. Neural nets fall into this category.
A third kind of AI brings these two schools together in the belief that there are fundamental computational structures like Bayesian Networks that can model intelligence* but those structures by themselves are insufficient and must be able to adapt based on exposure to real data. So instead of having a static BN whose topology is defined at the start and remains the same throughout the life of the robot, we can have a dynamic BN whose structure changes based on the environment.
I remember reading a recent article by John McCarthy arguing that all this statistical business is hogwash, and that the old school positivist, reductionist approach will eventually win. He's a smart guy, inventor of LISP and a Turing Award recipient. It seems his view is in the minority, but I'm not one to say he's wrong. However, my inclination is that the third hybrid group is probably going to be the one to make the most progress in the years to come.
The reason for my preference to the hybrid school could probably be best explained by Lucy Suchman's Plans and Situated Actions . I can't really do her thesis justice in a few sentences, but the short version of her argument is that there are plans (the sequence of steps that we think we are about to carry out before performing some task) and actions, which is the set of things we actually do. In my mind, a plan corresponds roughly with the underlying computational mechanism, but the actions correspond with how that mechanism executes and what happens when the underlying structure is insufficient, wrong, misleading, or fails.
Hope that helps.
Gabe
* None of this is to say that computational structures that we implement with software/hardware ar
-
You basically have to read papers..
On Neural Nets at least.. The only text book that I can think of offhand which is decent is Duda, Hart and Stork
Hawkins, like many others, has ripped off many of his ideas from Steve Grossberg (in this case, the ART model). Although he's not very easy to read, especially if you start much earlier than say, Ellias and Grossberg, 1975. You should also check out the work of people like Jack Cowan, Rajesh Rao, Christof Koch , Tom Poggio, David McLaughlin, Bard Ermentrout, among many, many others. I think the above names are sufficient to start a survey.
-
Here's the actual data logged. Play Big Brother
You can download the entire data set, which has had some data removed.
It's mostly cellular phone transactions. Your cellphone provider and NSA already have this data.
-
Re:Absurd Question
Technology doesn't have to be cutting edge.
For example:
-
IPv6 has been known to be needed since 1991
Kapor is in his element now, fluent, thoroughly in command in his material. "You go tell a hardware Internet hacker that everyone should have a node on the Net," he says, "and the first thing they're going to say is, 'IP doesn't scale!'" ("IP" is the interface protocol for the Internet. As it currently exists, the IP software is simply not capable of indefinite expansion; it will run out of usable addresses, it will saturate.) "The answer," Kapor says, "is: evolve the protocol! Get the smart people together and figure out what to do. Do we add ID? Do we add new protocol? Don't just say, we can't do it."
Source: http://www.mit.edu/hacker/part4.html
So why the fuck hasn't it been adopted yet?
------
Anyway, does anyone have any sources as to know the other "big" OS's (MS Windows, Mac OS, the BSD's etc.) were able to speak IPv6 (if they are able to at all?)?
Also, I've tried to find information about whether FreeDOS can do IPv6, but couldn't. Could anyone help there?
-----
Finally, the beauty of FLOSS.
-
Re:Question....
I would suggest introducing them to Scratch.
I've taught my 8 year old to program with it. You can upload your programs to the MIT website and get kudos from other kids, which gives positive feedback. You can download other peoples programs and see how they made them, then hack them and upload them again, and it will preserve the fact that you created it, and whose work it was based upon, giving some opportunity to see the rewards that come with sharing information.
-
Re:I Just Took A Huge Shit
I probably used the present tense incorrectly. Here he mentions that he made his living from consulting work for the second half of the eighties (I guess he was available for consulting work if you needed stuff done in the code he maintained):
http://www.stallman.org/articles/texas.html
Here's an interview with him from the time:
http://www.gnu.org/gnu/byte-interview.htmlI seem to remember to have read about him doing consulting work in the nineties, too, but I cannot give a link and might be wrong. In any case, I once read about or heard quoted what he can charge, and it was a whole lot of money ($1000 per hour? Something like that, I think, but my memory is hazy). That, the MacArthur grant [1], and his priorities (which he made very clear) make me doubt that he ever was jealous about Mozilla's profits.
-
Try the MIT's OpenCourseWare
The MIT post a lot of excellent material on PDE. http://search.mit.edu/search?__EVENTTARGET=&__EVENTARGUMENT=&site=ocw&client=mit&getfields=*&output=xml_no_dtd&proxystylesheet=http%3A%2F%2Focw.mit.edu%2FOcwWeb%2Fsearch%2Fgoogle-ocw.xsl&proxyreload=1&as_dt=i&oe=utf-8&departmentName=web&courseName=&q=partial+differential+equation I presume you are not a student of MIT, but the material is open to the public and excellent for the studies you indicate you need. Better than just another text book and more focussed.
-
Challenge her to this trick Math Question:
What is $50,100 x 4?
The answer is not the more obvious $200,400, but is, in fact, the minimum she will spend at MIT over 4 years. I don't care if she is the smartest person to ever take the ACT, this is a lot of potential debt to burdening her with.
And yes, I know that MIT has great financial aid, but much of that aid is in the form of Loans, which I don't really consider aid at all, nor will you if you read a popular (if disreputable) website. -
Re:Nitpicking
some wonderful movies demonstrating the Fluid Dynamics of Drag can be found here:
http://web.mit.edu/hml/ncfmf.html -
Structure and Interpretation of Computer Programs
I would recommend the Wizard book as one option. It's not for everyone, but for people who can make use of it, it should be perfect for study without a computer. LISP can be interpreted by hand, most of the book is very algorithm oriented.
It won't do much for someone's immediate employability, I suppose, but someone who groks LISP should be able to pick up other languages easily. If I was looking for a sharp programmer, someone who knew the languages I needed, and understood this book, would look pretty good.
-
Re:Punishment or rehabilitation?
Sure.. don't forget to throw in SICP, also.
-
Missing the point
I haven't read this book yet, but visualization tools ARE a significant part of pattern detection that we've mostly overlooked.
Much as we try to create smarter algorithms that can do feature extraction, clustering, etc., the best pattern-detection engine we have is still the human brain. There are very few systems that can detect patterns when we have NO idea what we're looking for; the brain comes pre-installed. Have you ever tried to do logfile analysis on a few thousand machines? Playing "management by exception" doesn't work at scale; even the rare errors show up a few times a second.
I saw a presentation a few weeks ago by Deb Roy, who's heading the Speechome project at MIT. He's set up a bunch of cameras recording continuous audio and video in his house, in an attempt to map the language development of his son. That's a LOT of data to sift through - some 90,000 hours. Way too much for standard audio scrubbing/speedup, which would be the equivalent of our grep-a-log-file.
So they've had to develop some incredible visualization techniques that let you view higher-level patterns across multiple "rich data" streams - things like frequent patterns of motion (there's baby playing with his toy car with Daddy), eye-gaze focal points (there's baby looking at the car before saying "KA"), etc. that just pop out at you as you view the full data stream. It's truly jaw-dropping stuff, and it's applicable to far more than speech.
Anyone here ever defragged a hard drive (yeah, I know, ext3/HFS/etc.)? Would you get a better feel for the operation if you saw a list of sector numbers that were being relocated, or the usual 2D colored-block graph?
Anyone ever seen TreeMaps for finding large files on your drive?
Anyone ever known when a process is about to crash because the patterns of UI hesitation and hard-drive head-movement sounds change as the core files get written out?
That's all that info-vis is. It's presenting data in a way that lets you use intuition and subconscious cues to find what you're looking for - even if you don't KNOW what you're looking for.
Here's Deb Roy showing how you turn motion patterns from multiple video cameras into a two-dimensional, printable chart:
-
Missing the point
I haven't read this book yet, but visualization tools ARE a significant part of pattern detection that we've mostly overlooked.
Much as we try to create smarter algorithms that can do feature extraction, clustering, etc., the best pattern-detection engine we have is still the human brain. There are very few systems that can detect patterns when we have NO idea what we're looking for; the brain comes pre-installed. Have you ever tried to do logfile analysis on a few thousand machines? Playing "management by exception" doesn't work at scale; even the rare errors show up a few times a second.
I saw a presentation a few weeks ago by Deb Roy, who's heading the Speechome project at MIT. He's set up a bunch of cameras recording continuous audio and video in his house, in an attempt to map the language development of his son. That's a LOT of data to sift through - some 90,000 hours. Way too much for standard audio scrubbing/speedup, which would be the equivalent of our grep-a-log-file.
So they've had to develop some incredible visualization techniques that let you view higher-level patterns across multiple "rich data" streams - things like frequent patterns of motion (there's baby playing with his toy car with Daddy), eye-gaze focal points (there's baby looking at the car before saying "KA"), etc. that just pop out at you as you view the full data stream. It's truly jaw-dropping stuff, and it's applicable to far more than speech.
Anyone here ever defragged a hard drive (yeah, I know, ext3/HFS/etc.)? Would you get a better feel for the operation if you saw a list of sector numbers that were being relocated, or the usual 2D colored-block graph?
Anyone ever seen TreeMaps for finding large files on your drive?
Anyone ever known when a process is about to crash because the patterns of UI hesitation and hard-drive head-movement sounds change as the core files get written out?
That's all that info-vis is. It's presenting data in a way that lets you use intuition and subconscious cues to find what you're looking for - even if you don't KNOW what you're looking for.
Here's Deb Roy showing how you turn motion patterns from multiple video cameras into a two-dimensional, printable chart:
-
Theora is much more flexible than VP3!Theora is not VP3. The format is *much* more flexible and the 1.0 decoder supports all of it. Which means that in the next years we will see many improvements in the quality, with the same bitrate and 100 backward binary compatibility, just enhancing the encoders.
See:
http://web.mit.edu/xiphmont/Public/theora/demo5.html
http://v2v.cc/~j/ffmpeg2theora/ffmpeg2theora-0.22-thusnelda.exeAnd this is only the start. Just look at what the Lame encoder was able to do with the MP3 format in quality.
-
Re:Free Is Good, But Quality Is Lacking
There's certainly better quality codecs out there, compared to 1.0. Take a look at the work happening now on 1.1, though, it gets very competitive:
-
Re:Sad Really
Your post in turn reminds me of this lecture about situational contributors to violent and aggressive behavior. At 47:40 the lecturer discusses what he calls the "Lord of the Flies Effect".
He refers to a psychological study about the impact of anonymity on violent behavior. More interestingly, in my opinion, he mentions an anthropological literature review in which 12.5% of primitive societies that do not ritualistically alter their appearance (with face paint or masks) before battle are found to kill, mutilate, and torture their captives while 80% of those that do alter their appearance do so.
-
Re:How can they afford the monthly charges?
Haha, where did you manage to find a lot of land less than an hour commute from anything? =) I found a 3600 sqft loft space which I share with others, so I have lots of space inside, but places to raise horses sounds hard to come by anywhere I could find a job!
How come some of your chickens look like ducks? =) Congrats on the eggs, I would be thrilled to be able to produce my own real food. We have a tiny communal garden in the city, but it's mostly just herbs.
Here is my website for my artwork. I started the project in January, and now I'm in the process of installing 8 zigbee controlled light fixtures in my art gallery for a show in three weeks. Cost a pretty penny in parts, but they are extremely awesome looking, and there's definitely no commercially available fixtures which are anywhere near the color flexibility (I have red, orange, amber, green, cyan, blue, royal blue, and UV LEDs, so I can select lots of different pigments to make reflect), and mine are really well suited to illuminating art.
http://web.mit.edu/neltnerb/www/artwork/
I haven't taken any updated pictures in a while, unfortunately, but I will when I get my gallery all assembled for the show!
-Brian
-
Re:Pidgin?
Kerberos will authenticate without storing or sending passwords. It works for email, remote login (ssh, telnet, rlogin), file service (AFS, ftp) and web as well. Pidgin supports Kerberos, though you wouldn't know it to look at the documentation; it took me a while to realize I needed to load the Debian package libsasl2-modules-gssapi-mit.