- by Joel
- 06/15/2007
- Programming, Ruby
I have a few programming related things I'd like to do or am in the process of doing and I thought I'd write them down here to keep track of them.
- Learn Scala. This is partly motivated by my desire to use the lift framework and partly by interest in the language itself. I used to shudder involuntarily when I heard the word 'functional' (unpleasant flashbacks of YAPL-to-C translators written in LISP in college) but the concept of a functional/OO hybrid language seems like a good way to restore my relationship with my highly-parenthesized brethren.
- Write a JSON serializer in Java. I think there are probably a couple different approaches that I can take and I'm curious which is best. I might also try to write a deserializer. This is a project I'm undertaking for informational purposes and not to use the actual code. I might also try to write a Scala implementation just to see how they differ.
- Learn Python. This is something I need to do for work. I've heard a lot of good things about Python so I'm looking forward to working with it. This is more of a passive learning since I'll learn as much as I need to know to do what I need to do. Probably not the best way to learn a language, but for now it'll have to suffice.
- Write a JavaScript parser that will let me use Java style class and interface definitions and then convert it to JavaScript on the fly. I hate the way JavaScript does classes and member access and I want some way to clearly define what my objects look like and behave like. I would love to be able to write:
Instead of having the equivalent JavaScript that might look something like this:package com.joelpm.widgets; public class WidgetFoo { protected var width; protected var height; public WidgetFoo(var width, var height) { this.width = width; this.height = height; } public var getWidth() { return width; } public var getHeight() { return height; } public var move(var xDist, var yDist) { // do move... } }
Clearly, the JS parser would just convert the much nicer looking Java style class declaration syntax into the equivalent JS syntax and evaluate it, but development would be much nicer and the code would be clearer to both myself and anyone else who has to read it. I know there are JS compilers like Google's GWT that will turn actual Java into JS, but I'm looking for something that doesn't require a compile cycle to pick up changes. Anyway, this is probably something I'll never get around to, but the thought was prompted by a discussion I had yesterday.var com = {}; var com.joelpm = {}; var com.joelpm.widgets = {}; com.joelpm.widgets.WidgetFoo = function(width, height) { this.width = width; this.height = height; } com.joelpm.widgets.WidgetFoo.prototype.getHeight = function() { return this.height; } com.joelpm.widgets.WidgetFoo.prototype.getWidth = function() { return this.width; } com.joelpm.widgets.WidgetFoo.prototype.move = function(xDist, yDist) { // do move... } - In theory I also want to keep working on my RoR picture application. I've wanted an application that would let me upload all my pictures to a directory on my webhost via FTP and then process them all with a web-interface. Once they're all uploaded I want to go to the web-interface, type in the directory name, and click a button. The app should then find all new pictures, load the details (EXIF, size, etc) into a DB, create thumbnails, and create a default album. From there I want to be able to add the photos to custom albums and set privacy. I've got some basic code to read a dir and insert photos into a DB but there's a lot left to do. Recently this has been less important than learning Scala, but I may bounce back and forth between the two.
Looking back over my list I guess I've got enough to keep me busy for a while, and that's not counting the non-programming projects I'd also like to tackle at some point, like setting up my Ubuntu workstation as a wireless router that connects to the internet using my EVDO card. So much to do, so little time...
2 Responses to “My ToDo List”
Sorry, comments are closed for this article.
July 8th, 2007 at 11:51 AM i use this to serialize java objects as json: http://json-lib.sourceforge.net/ so far my only use of it to "seed" gwt widgets with data. gwt has json parsin built-in.
July 10th, 2007 at 11:07 AM I wondered if there was much use for deserializing json on the server - is there a need to send an object to the client, do something with it, then send it back to the server? And if so, what type of security constraints need to be in place? It's cool that GWT can do that. I need to take a look at GWT.