I suck at calculus

Calculus are for engineering(especially physics related) students. I thought a Math/CS majors like me would never use calculus after the completion of the calculus sequence. I don't intend to learn calculus to the point that I can do integrals like my second nature.

Then today I was doing AMS 311's HW 5. It requires immense calculus power. I wasn't aware of how much calculus was required for this course. Now it replaced CSE 541 as the hardest course ever.(CSE 541's midterm is pretty ez, in fact, I feel CSE 541 is really really ez now... as long as I understand the tower of definition and really long proofs)

I should have seen it coming, it's a AMS classes that have to work with continuous functions. AMS don't use analysis to prove thing, they calculate stuff. Calculus is RIGHT THERE.

This is not the first time I noticed how I suck at calculus.

I never got calculus. so what if I got 9 in math placement because of the AP test. If I go and take a MAT 131 final right now I would surely fail.

This lack of calculus skill have struck me at least 3 times since I'm in the university.

1. While doing MAT 305, I found it's impossible to do some integrals without a table of integral around me. I also have to look up integration by parts.
2. People around me who are in calc 1 or calc 2 would ask me calc problems. and I can't answer them without help of mathematica. In fact, why ask me when one can use Wolfram Alpha? I can't provide any more insight than rephrase the question in a way a computer would understand.
3. During Putnam, I skipped any problem has differentiation or integration.

I remember I was having breakfast last semester, and someone gave me this simple limit problem, and I can't solve it even when I have finished breakfast. What a disappointment, people believed I can do MAT 131 level problems because I was in more advanced math courses. No, I just do different kind of math.

I'm sure I can improve my calculus problem solving technique to among the best by finish Demidovich's book of around 5000 calculus problems. I see no point in that though, since AMS 311 might be the last time I will ever really do calculus.

Web design and interface

There are many different websites running on different themes.
Some websites have the same kind of sections, but presented in a different way.
For example, the navigation is on the right instead of left. Recent comment bar is showing on the bottom instead of top or w/e.
Each time I go on a website I have to get used to the interface.
If I'm only going to use this website once, it still take time to find information I need.

Semantic web is nice. Because I can ignore all the web design, and apply my own set of templates on all of them.

Semantic web NOW!

I have to complain because I have nothing better to do. Now I'm happy and going back to study for the midterm.

I wish I can get paid for complaining.

Random: Recording problems

I like to record the problems so I can use them in the future.
I like data to be portable. I should create some standard so I and possibility someone else can use to store problems for really easy manipulation later.(Minimal migration required).

Currently I haven't developed the system I need to manipulate those data. There will be some function map each JSON file to a directory of files.(each resource is a file) Someone going to write it, likely me.
Problems can be recorded with JSON or XML. I prefer JSON.

top level there are the field id, name, output and resources
where id is a unique string(here I use a 64bit integer in hex form).(btw I have this 64bit integer in hex script that generate it for you)
name is the name for the problem. In English or Romanization/translation of the name of the problem.

Output is an array of objects, each have 4 fields: type, format, language, and out. Type can be "problem_statement, sample_in, sample_out, input, output" and others I can't think of.
format include any possible plain text output format that might be useful. I think "latex, html" are pretty much it for now. out is either a string or an array of strings.
Language is the language it is in. Seems reasonable.

Resource field is there to store binary files. It's an dictionary of binary files. Currently I don't need it. It is possible to use it for the future.

BTW JSON is a context free language.

{
    "id": "7455689cc5d35040",
    "name": "Putnam and Beyond Problem 12",
    "output": [
        {
            "type": "problem_statement",
            "format": "latex",
            "language": "English",
            "out": [
                "Prove that $|\\sin nx| \\leq n |\\sin x|$ for any real number $x$ and positive integer $n$."
            ] 
        },
        {
            "type": "citation",
            "format": "plain",
            "language": "English",
            "out": [
                "Putnam and Beyond ISBN:9780387257655 p.6"
            ] 
        } 
    ]
}

Nice.
Of course, it can be XML files.

This will become useful later.
I'm keeping set of problems in some database. So I can keep a queue of problems I didn't figure out the first time by just record their ID's somewhere.

Idea: Interactive problem solving sessions on campus

I found it boring to only solving problems by myself.

Only a few classes I have attended have interactive problem solving sessions, those classes ROCKED.

---List of problem solving sessions I had on campus--- ignore if you don't care---
CSE 150, I think this is the best course I have taken in my entire life. I assume this class is somewhat like classes in AwesomeMath or other math camps. Students engaged and anticipated in solving the problems.
CSE 350, especially the recitation, is similar to CSE 150.

There are two other classes related to problem solving, but not that interactive.
CSE 392. Most of the thinking for the problems are done outside classroom. The class is basically explaining how someone solved it.
MAT 160. I been to the class only twice. It seems to be like: Do the hw, discuss how it is done. Instead of doing it in class. What's good about the class, is there are people who are enthusiastic about solving the problems.

I expect to try MAT 260 and see how it works.

Other than courses, there are 2 other places I had done some problem solving.
Math club. Last semester the preparation for Putnam, the clubbers have done some problems.
ACM practice was also similar.
--------------------end list---------------------

I feel it's not enough. There is a lack of interactive problem solving sessions on campus. Won't it be nice if there is some club that meet sometimes every week and work on some problem collaboratively. Problems of math, computer science and physics nature. i.e. Union of math/cs/physics club and intersect it with problem solving.

Some possible format.
ARML/HMMT team competition like.
People can organize them into smaller groups, working on a set of problems at a time.
Then people explain their ideas.

Seminar like. Someone pick out some set of problem, and direct the flow of the solvers, ask for participation, until the problem get solved.(Similar to last semester's math club)

Just putting the idea out there. I would totally come to events like this.

Revision repositories and text backup

Instead of using cvs, svn, git just for large open source projects. It can be used as a personal system for backups of text files.(that include source codes to essays)

Github gave each free user 300MB of space. Pretty nice. That should be enough for just storing texts, right?
It might be abusing the ToS a little. Github free should be used for free and open source projects. All the files one commit are open to everyone. Make sure only to back up things you allow others to see.

Let's assume one doesn't store the end product the first time they commit their work. And each commit should only create a small change in the work. To be safe, let all the revisions of a file 2 times the size of the original file. Then we have 100MB of space.

For some people, they use only ascii, thus 1 byte per characters. That would be 100 million characters.
I envy people who only know English, because they will never need to use any other language, thus live in ascii world happily. They never have to worry about charset, input method and some software might not support what ever they are going to type.
I digress.
Suppose someone use UTF in some of them. Then it need 50 million characters. Let's not consider them, just consider English and source codes.

Is it possible to write 100 million characters in one's life time?
Sure.
If one type at the speed of one character per second on average over a period of 3 years, it will surpass the limit.

Likely, that's not going to happen, especially if one use their brains before writing down anything. I use lots and lots of scrap papers. My notebooks are scrap papers. I only store information on the computer in electronic format.

The source of all the hw I have done from last semester to now is 0.2MB. All the source I submitted to any online judge this semester is 0.025MB. Certainly I have written other stuff, like my blog posts. Those doesn't require back up because it's in my blog. Suppose those do require backup, I would believe it is less than 0.25MB.
Thus a total of around 0.5MB of original data was generated for a period of around 6 months.

That means I can use github for backup for 100 years if my productivity stays the same.

The amount of keystrokes I had was "6163302", last updated 2010/01/23.(I don't have a linux version yet :() It was on the computer that I use less often after college, but I would believe it contained at least 6 months of keystrokes. Even if all those keystrokes are realized, it is only a 6MB file.
Github is at least good enough for 10 years. At least I can use it until I start to earn money to pay for extra storage. COOL.

If I got a new laptop, or I need to do something on someone else's computer. All I have to
do to sync is a few command line code. Nice.

Some people did all their work in Word or w/e, where do they back them up? Google Docs. LaTeX gave me more freedom because LaTeX codes are plain texts. WIN. That's why I stopped using word. Except I dislike how kile don't have automatic spell check function yet.

Honey Pot that kill bots