September 28, 2004 Project
Notetaker: Katie Editor:
Pedagogical note: Lynn is not primarily interested in how good of a software engineer someone is. FoCS project is more about displaying the concepts from class in actual code, in order to show what you know.
For next week (actually Oct 12 or some such -- we're not meeting on the immediate next tuesday):
- Pick one of the following(or even your own cool project that also accomplishes such an application of the FSM/regexp concepts):
- Use regular expressions in the web stuff you're doing. (rdf, xslt, screenscraping)
Lex is a tool that will build a parser off of regular expressions. Generate "something" with Lex.
- Build a conversational agent. (may or may not involve Lex. See also google for ELIZA programs).
- Build a thing that takes in a description of an FSM, and can run an input through the machine.
- There's an MS tool that uses an FSM (there is a link "somewhere" on the wiki for this) or some other tool... Some tool where the user builds an FSM, and the tool uses this FSM to do its job. Find one of these, play with it, build one?
What we want to start doing is have people do little 5-min presentations during project time. Goals of such presentations:
- show off the coolness of what you did
- show off how the topic we're talking about in FoCS relates to what you did
What we talked about
- Amazon Web Services -- an API they provide that lets you access their database information. (Go to a particularly constructed URL, and it gives you an XML document with the data you wanted)
- Really cool! In particular, learned about the API, and learned about parsing XML.
- Program purpose: Finds "Similar Products" to some seed product and tosses them into the queue, continues crawling.
Kinda wants to build a thing that finds degrees of separation between two products ( though we're not talking about graphs, which will totally help with this, for about a month. Feel free to go find info on this though -- Algs textbook will have this. Graphs also come into play a lot with the semantic web and FOAF -- think friendster.)
Lynn says: Generate a demo! I'd love to get something that we could display as a "Here's how this works, here's how I thought of it, here's how it relates to the class, doesn't Olin rock?" There are, in particular, conferences where we could send such a thing. Too many times Olin does cool stuff but never shows it to other people, which is a shame.
- Google also has an API that will let you have 1000 queries/day for educational use. If you want to play with that, we can make it work.
Jesus says: Paypal also has an API, that will let you do payment processing with/through them.
- Has an idea, but not much done yet.
- "Wouldn't it be nice if the dining menu was an RSS?"
- Other things that would be nice as RSS feeds... Laundry machines, etc. Data that is currently presented that would be better presented in the way that RSS does.
- FoCS mailing list archive is currently password-protected, which doesn't lend itself well to scraping and RSSificating. Is it really such a big deal to make it public?
Lynn -- ...probably not, as long as the subscriber list doesn't get universe-visible.
- XQuery is really cool. Somewhat related to XPath.
At an IT expo in Toronto -- Somebody("This guy from MIT -- waterlang.org?") made a programming languages out of XML -- basically it's a java server thing that would allow you to run this language on any platform. It's ridiculously high-level. "Why don't we make one language that does everything?"
RSS in five minutes!
- ..maybe next time. Doing RDF first will help, in which case doing XML first will help.
What is XML? (in five minutes!)
- it really isn't anything at all -- subsets of languages underneath it. a subset of sgml... there's a lot of history.
- .. this is going to take more than 2 minutes -- will continue next time. the really short version: XML is syntax for representing trees of data. Two representations: one looks like html syntax, the other is namespaces, which lets you use prefixes and sometimes data in other places. It's a very neutral format; there are a WHOLE BUNCH of other things people build on top of XML, in particular and interesting, RDF. XPath -- a way of working with an XML tree.
There's an article somewhere with the suspicion that XML is just Lisp with <> instead of (). Want: some "Here is some XML" example that is interesting for some reason. Somebody want to do "Here's some cool XML in five minutes?"