Wednesday, May 28, 2008

The saga continues...

Well, it's been almost 3 weeks since commencement; as usual, I've been in summer-time slacking mode. I'm still doing a bit of work, but most of my time has been allocated to playing games and sleeping. Hopefully I can come off this habitual productivity death (don't I say this every summer?). Of course, I have goals, but they're farfetched as always, given my work ethic.

Last summer was mostly spent looking at Pylons as a Python web framework; Bennett and I started a project that progressed at a reasonable pace until school resumed. After awhile, I started looking at Django again, so hopefully I can come up with a good project idea that would use it. Since my last experiments with Django, they've made some great progress in development, as well as the release of a new book, which is a good reference; something I feel that Pylons never really had.

I have a few project ideas in mind, but they're all personal. I'm more or less hoping some others will be interested in some sort of group project (and have ideas!); unfortunately, most of my friends are starting "real life" mid-summer at their jobs all over the country, so I don't know how feasible this will be.

Django aside, I feel like it might be time to learn another language—Erlang is a possibility, but at this point I'm thinking that JavaScript is a good candidate. It's in the theme of web development (I guess you could argue that Erlang is too), and isn't something I've touched since middle school. Undoubtedly JavaScript would be much easier to learn than Erlang, so maybe restricting myself to one language is not a good idea. Suggestions are welcome.

Getting away from web development, shaim is still up in the air as to if I'll start working on it again. An IRC plugin is scheduled for the 0.5 milestone, and since I've made IRC clients before, this would be my area of expertise. What I really need to do is manage my time (stop playing games), but I don't foresee that occurring—at least not completely.

I also get to introduce one of my brothers to C this summer—as the next family member in line to go into Computer Science, he's one of the programmers for the high school's robotics team. This will be interesting, given that I've been so used to teaching Java (and hence gotten used to programming in Java, not C). I was just going to throw K&R at him, but I can't seem to find my copy.

Researchy type things are still ongoing; the same stuff as this last semester. Professor Vitek is out of the country for the entire summer, so I'm kind of on my own as far as real-time Java goes (P.S., I got a free Macbook Pro), but I hope to make more progress than I did during the semester, without any class obligations. I've nearly completed the labs for the new class, currently offered as CS180M, but subject to change. It will be interesting to see how multicore programming will pan out for freshmen; I would like to see how I would have fared in such a course. Of course, now something like that would be a cinch (given that I'm writing the labs).

I'm also apparently under obligation to be flying around again this summer to visit people. I haven't quite made a schedule for it yet, since I am technically working already, but I guess the unnamed will drown in a cup of sorrow if I don't fly out.

Next semester should be interesting. I decided my schedule with Professor Vitek before he left, and it looks like I'll be taking:

  1. CS580 - Algorithms (Frederickson)
  2. CS565 - Programming Languages (Vitek)
  3. CS591C - Research Seminar (Various)
  4. CS590V - Principles of Programming Languages

The first two have qualifiers, which will probably suck a lot. As someone who's gotten away with not studying for exams (predominantly), qualifiers will probably destroy the notion of me getting away with laziness. These next years will be quite an adventure.

Next time, a blog post at request of a future Purdue student.

4 comments:

Luke said...

I learned Django last Christmas break and have been doing almost all my coding in Erlang and Python since then. Erlang is super easy to learn and is awesome for parallelism (as you've probably heard ;-P). James seemed to pick it up pretty quickly as well. Here's the method I like to use to mix Erlang and Python:
http://humani.st/scalable-web-apps-erlang-python/

saiyr said...

I've looked at Erlang a few times; I feel like its syntax is crazy looking. I haven't put any actual effort into learning it, aside from going the a talk here a few weeks ago which was okay, but kind of confusing (scattered concepts, I think).

I did read your article, but didn't read the interview until today. I can understand the concepts easily, but I don't really know how Erlang would tie in yet (I noticed someone else had questions as well). I think I'm more interested in concrete examples than concepts; if it's something that you've actually done, all the better. Maybe a followup post is in order :)

Luke said...

Erlang does have weird syntax but it was designed 20 years ago =) It's like picking a house based on the color.

I've done a project using the erlang + python method I talked about but I just haven't written about it yet. Probably should since quite a few people asked for concrete examples. Some people were asking about all the IT stuff as well. I just think a lot of people think scalable means reverse proxies and caches and they don't think about computational parallelism.

Anyway, I'm planning on making money on my project so I'd like to release it before talking about exactly how I did it.

saiyr said...

Yeah? Good luck on that then, I'll be watching for news on it.