Tuesday, June 17, 2008

Long Time No See

Wow, I haven't visited this in a while. I used to use LiveJournal a lot, and I only used this during my cosmos times. Well, I decided to document my thoughts on my summer projects. Here are some things I'd like to work on this summer. Web development Html, Css, Javascript, and servers (if I have time/resources)
Immediate goal: I'm going to start developing for something for Bread of Life. It's going to be at http://bread.bol.ucla.edu. Exciting! I thought about using frames, but I decided to use tables and css instead. Today I worked on getting the home page done. It's pretty much completed. The rest should go faster, now that I've learned something about CSS. Also, some content will be the same/similar throughout all pages, so I can copy and paste that. Hopefully it'll turn out nice, I'm putting this as my priority right now.
Short-term goal: So for html, I've been practicing on my own website from Bruin Online. I'm going to try putting up some old programs I have, and... yeah I'm not quite sure what else I'll put here yet =) but it's fun.
Short-term goal: I also want to try some more interactive stuff. I used some CGI scripts from Bruin Online to do some basic forms, but the cgi scripts are annoying. The Bruin Online one asks you to perform some basic math so they know you're not spamming. I'm going to try making some kind of search engine. Full-scale web is too ambitious for right now. I'm going to try to make a topical/thematic one on a finite source like a book(s). Currently using the Bible because it's division into books, chapters, and verse give me an idea for rankings. Perhaps this will expand later.
Medium-range goal- javascript 2-player turn-based game. Just some client-side processing. Some pokemon-style game, but maybe without the pokemon. I'm thinking of a battle with a finite moveset, and some moves will be more effective against a particular type of move than others. This will be fleshed out later.
Long-term goal- Learn how to interface with Google or Yahoo image search. Since image search just looks for images next to the text you enter in the query, I want to learn how to refine those search results based on relevant image content. That, needless to say, is quite an ambitious task...
Long-term goal- Learn AJAX, php, asp, mySQL, or another server-side language. And at the same time, I'll need to learn how to set up a server. Hopefully I'll have the resources to do that. I don't have a specific application in mind yet, but I'm positive that whatever search engine I have will be much better if it's server-side, instead of on the client. Right now you pretty much have to download the entire database. So the search engine is one possibility. Others will come I'm sure.

Monday, July 25, 2005

Problems with today's lab/cluster

As requested, some problems with the freeway simulaiton. 1) We can't edit the source code, only view it. 2) The cars crash far too often. 3) There isn't any event when two cars crash. 4) Many cars don't make an effort to avoid a crash. 5) The presets don't seem to have the proper bounds... Sometimes the fastest cars were the cautious drivers, the slowest were the normal drivers, and the agressive drivers were not agressive at all. 6) The track is too long or there should be a way to clear the entire track. 7) The simulation should be able to handle more cars... 8) The program should have a counter for the number of crashes. 9) I don't see a clear link between the science of computing and the freeway simulator. One problem is that the code is too obscure and difficult to understand, especially since programming was not a requirement for this cluster. Additionally, the three professors seem to have different ideas on which programming language to use. C++, C#, Javascript... Running a freeway simulator may be interesting, but it doesn't leave much behind. Some clusters have clearly visible work from their experiences here. Clocks, kinetic sculptures, wooden buildings to break apart in a simulated earthquakes, performing labs... but we're not so much doing labs as much as running somebody else's program. And of course, there isn't enough time to program these simulations/topics ourselves... Finally, the project is still extremely open-ended right now. Although we got a list of possible topic ideas, they don't have much unity other than they all deal with computeres. It can be possible to have a very specific idea of what to do and still have a huge amount of freedom in choosing what to do- for example make a kinetic sculpture, or perform a lab, or even everyone program a game or a program that solves ________ problem. But this is still a bit general...

Wednesday, July 20, 2005

The SDSC

Yesterday afternoon, we went to the San Diego Supercomputer Center right in UCSD, outside the Elenor Roosevelt College. Hopefully it's not the last field trip we take... It was somewhat interesting... We went to the machine room and walked around a little. That part was pretty cool, seeing all the supercomputers. After that they had a little presentation, which we already saw at a Discovery lecture, and a demo of a game they were working on, which was definitely not super. The tour overall was poorly done. It was just looking at some computers and a kiddie-oriented presentation. It didn't really show how special these computers were... just some cool stuff, but nothing spectacular. It would have been much better if there did a demo of its capabilities there. Pretty uninteresting, except for seeing the computers.

Monday, July 18, 2005

The Past 2 Days

Monday- We did more number cruching this morning. Figuring out some stuff with Google, like how much computational power it would need, how fast would x computers need to operate to do y amount of work within this time, etc. He seems to like doing these estimation things a lot, which is going to be a good skill to have in the future... although practicing it can be quite boring! We went over some sorting algorithms. It was actually very interesting, even though I learned it in computer science. AP ComSci mainly dealt with one computer, and thus was very limited in what it could do in terms of time. But COSMOS introduced the concept of parallel and distrubuted processing, which is quite interesting. We never discussed dividing work among multiple computers. Running multiple outer loops of bubble sort while the inner loops were still going was really, really cool... Quicksort was also pretty cool, because he talked about ideas for making the program faster, not just more efficient. Rather than waiting for each group to finish sorting, you can immediately begin the next step while the previous step is still working. Pretty cool concepts that we haven't touched in AP. In the afternoon, Christine discussed human and machine perception... like some difficulties in how to interpret images. We talked about some general guidelines to determine the correct interpretation called the Gestalt Rules. We worked in the lab a bit... some web activities dealing with perception, then some introductory C# stuff. I think Christine is much more organized in the lab. There's definite stuff to work on, rather than just go to the lab and do whatever. I think it lets us learn better, which is important because there's only 3 weeks left. Unfortunately, we still don't know more about the final project... except that it could involve programming. I think we need some definite ideas about what we can do, because everyone is still clueless about what it involves. This morning, we had a lecture on Brain-based robots... robots that could learn. There was one that could learn to avoid "bad-tasting" (non-conductive) objects and go to the "good-tasting" conductive objects and associate them with both images and sounds. But the really interesting one was a robot called Brainworks... it was an attempt to get robots to play soccer! It was really interesting, especially because the speaker had a lot of videos to show of the robot learning and performing. Very interesting lecture. We're going to go to the SuperComputer Center this afternoon! Should be a lot of fun... hopefully it won't be our only field trip.

Friday, July 15, 2005

We're starting to have discussions, not lectures! =)

The course's getting more interesting. This morning was about the possibility of computer thinking... we studied an analogy called the Chinese Room. Basically, there is a closed room with an input device that displays Chinese characters, an output device that displays Chinese characters, a monolinguistic English speaking person, and a rule ledger, written so that the English-speaker can understand the rules, specifying which characters to display when certain characters are input. This is combined with the Turing Test. One version is... basically, if a professional is unable to discern the difference between a computer's response and a human's response, the computer is said to be intelligent... supposedly. However, this Chinese Room is an analogy for a computer. And if the rule ledger is written well enough, then this English guy's responses would be indescernible from a fluent Chinese speaker. He would pass the Turing Test. However, the person doesn't understand Chinese. So he might be able to pass the Turing Test without understanding it. Same thing with computers. Maybe in the future they'll be able to pass the Turing Test, but that still won't indicate that they can think. That took up this morning's discussion. The afternoon discussion was about whether humans are machines and to what level. Pretty interesting discussion. Of course, people have different views on abstract concepts such as souls, religion, consciousness, free will, definition of a human, definition of a machine, intelligence, inventiveness, etc. etc. etc... But it was pretty thought-provoking and interesting. Well, there's supposed to be a dance tonight... a lot of people don't seem very excited, surprisingly. One of the other camps here is having it and... it seems that we're inviting them along on a movie thing, and so they had to invite us back, so... we're going to their dance for some reason. Interesting...

Thursday, July 14, 2005

We just listened to a lecture on Bioinformatics by a leader in the field, Professor Pevzner. It was incredibly interesting... discussion of "genetic faults" in evolution. The lecture asked whether certain genomes are more likely to break than others, somewhat like earthquake faults. Just like California's more likely to have an earthquake than say, Illinois, are certain genomes more likely to have lasting mutations (for the species as a whole) than others? He talked about a concept called breakpoints, which is basically what it sounds like. Points where the DNA strand breaks and rearranges itself (he discussed inversion mainly). Anyway, each rearrangement should create 2 breakpoints at most (you know... left and right...), which should be normal if evolution is random (something like... the Ohno 1973 Random SOMETHING Hypothesis). Of course, you can get one new breakpoint if one breakpoint has already been used- i.e. it's already been broken once. So if everything's random, that should be extremely unlikely. You have about 3 billion genes... what are the odds that the same places will get broken repeatedly? However, there were 260 breakpoints found using some kind of human-mouse similarities graphing superposition and computer analysis (GRIMM maybe?), implying 130 breakpoints, assuming the random hypothesis is correct. However... some scientists managed to predict that in the 80's and confirm in the 90's that there are 245 rearrangments or something... not quite sure on the details. So 245 is significantly greater than 130... it means that each breakpoint was used about 2 times (closer to 1.9). If you think about it... that is extremely unlikely using the random hypothesis. There are 3 billion genes, so chance shouldn't play a big factor in it (I mean, maybe it's just coincidence if there were about 10 genes). So that suggests that certain areas are much more likely to mutate (with a lasting effect). It's supposed to be in the July 2005 issue of Science and written by Murphy et al, and to appear on July 22? I'm not quite sure on the details of that either... It was incredibly interesting, everybody seemed to love it. That is a major contrast from this morning's Discovery Series Lecture (this one was arranged by our professors for our cluster, Discovery is arranged by COSMOS for all clusters). I thought the topic was actually pretty interesting. Building the Brain: From Simplicity to Complexity. The first 3/5 was actually pretty interesting. 2 sections on the basics of the brain, then the 5 steps in the development of the human embryo (which are Tissue Specification, Proliferation, Migration, Differentiation, and Formation of Connections/Synapses), then... I'm not quite sure, I couldn't stay awake. I believe something about Dynamic Development and the role of Electricity in the development of neurons. I wanted to listen, but for some reason I just couldn't keep my eyelids open. Even if they were... the material seemed to be in way too much depth. I was nodding off into sleep all the time... I could stay awake for literally 5-10 seconds before nodding off again. But I managed to figure out that they recorded Calcium spikes (which would indicate neuron firings) and looked at the effects those had on young neurons. I managed to catch that axons would turn... The speaker was a very knowlegable guy, very enthusiastic, good speaker, interesting materials on the screen, good use of videos/iimages but I couldn't stay awake for the last half. I guess overall the course will be interesting. The first 2.5 days weren't exactly great, but I suppose that's just some introductory stuff that we have to cover. The cluster still isn't well-organized, being the first year this has been run at COSMOS, but it should be some interesting material. I've always thought of Computer Science as programming and stuff... Mr. Hochhaus said that it was using computers to solve problems, but everyone, including himself, basically assumed that was using programming to solve programming-esque problems. Well, we've been dumped into a lot of new fields, much of it in way too much depth and which requires a background in the field to get some understanding of it. I mean... learning javascript? Requires com sci background, learning computing power in relationship to computer hardware requires hardware background, bioinfo requires bio background... But it should be quite interesting. We're doing a lot of AI/computer perception stuff, should be fun. Gotta go now...

Tuesday, July 12, 2005

3rd Day at COSMOS...

I've been at UCSD taking a summer program called cosmos for 3 days now. Taking a cluster (who came up with that term?) called The Science of Computing. We're supposed to be bloggin'... I'm not sure how that relates to the topic, but that's fine with me. The course has been moving pretty quickly. I guess that they expect a lot from us... for you people who took ComSci, one of the prof's showed us 9 html documents using javascript (pretty much the same as java) which basically covered the entire first semester of AP ComSci in one hour! And they actually expect us to be able to program!!! Wow... And they expect us to be able to use so many different types... not just prog. languages, but also to learn to use Unix. I'm so rusty with C++... I think i got the code for Hello World right, but... it's not executing properly, can't find some file. Oh well... If I have a choice, I'll be using java... which should be fine, since all the examples were in javascript... Kinda disorganized right now, being the first week of the first year. Our cluster's lost 2 people already, has not yet arrived on time for something, and we're a partially - installed building. The chairs still have moving labels on them, boxes all over the place, padding still in the elevators, some rooms are still empty, computer lab barely works... but it's all right. I think things will be better next week... The days seem very long actually. I feel like I've been here a long time... , but it's not even 72 hours yet. And there's so much walking! We're living in the Elenor Roosevelt college, on the west side, and we're mostly working in the Jacobs Engineering/Warren College/some kinda science building... so... Walk halfway across the school, walk back, walk there again, walk back, etc..... my legs are so tired, and I thought I could walk pretty well! Ok, have fun... should be able to get into more detail tomorrow, maybe later today.... but I gotta go refresh my memory of programming.

Sunday, July 10, 2005

My First Post

The blog has been created!