First-person Math
Nothing brings together the remote reaches of computer science together like writing your own programming language. My abstract syntax tree exploits inheritance and polymorphism and multiple inheritance. My parsing is done in Java while the model of the program is built up of C++ classes. I’ve got tables, stacks, and vectors. Recursion is naturally all […]
First Run of Madeup
I’ve been working on building a mobile programming language and environment for generating 3-D objects. It’s called Madeup. The language uses Logo-like syntax, but it supports closures and 3-D navigation commands. The former is so that you don’t have to type as much. Functions just see variables in their enclosing scope; they don’t need as […]
Keystrokes File Format
A Keystrokes text movie is composed of a number of frames. Each frame is currently stored in a separate file, and all metadata describing the frame is stored in the file name. The only thing inside the file is the text of the frame (or a diff describing how to construct it from the previous […]
Keystrokes Patcher
For our Keystrokes project, we grab “frames” for our text movie as snapshots of the file being edited. We don’t really want to pass the complete file around for every snapshot, so instead we store diffs between frames that allow us to reconstruct any particular frame beyond the first. To produce frame 2, we apply […]
See Books Listen
My office of research sent me this invitation last semester: ORSP is wondering if you would be interested in presenting at our Forum this spring. This is an opportunity for faculty or staff to present on their ongoing research/scholarly/creative activity to a broad segment of the university community. Presentations are 20 minutes to half an […]
AphasiaWeb Fixes
I’ve fixed a few more lingering bugs or incomplete features on our AphasiaWeb project: Videos not working. The video files were not getting to the database insert function. The cause? On the client, I was writing to post.videoPath the URL after the upload finished, but I was reading from post.videoURL. Switching both to use post.videoURL […]
Taming jQuery
In our AphasiaWeb project, I’ve run into a few problems that deserve some mention. jQuery.load and Caching We have several places in our code where we retrieve content from the server with a jQuery.load() call: I was finding that after adding posts, new content failed to show up. It appeared that load() wasn’t being called. […]
A texture renderer on the Raspberry Pi
A collaborator is working on using a cluster of Raspberry Pis to build a multi-monitor display wall. We’re using textures in OpenGL to blit each frame across the display. For his benefit, I pieced together a simple texture renderer, where the texture is procedurally generated by XORing the texel indices. XOR textures are interesting: The […]
Getting video data via OpenCV
I was able to get image data out of a .mpg file using the OpenCV Python wrapper. After installing the following: sudo apt-get install gstreamer0.10-plugins-bad gstreamer0.10-plugins-really-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg OpenCV was able to to read the .mpg file form the “CaputreFromFile” function. I then grabbed the frame with “QueryFrame” which returned an iplImage object which has […]
OpenCV + Python
In order to build the display wall, potentially each Pi will need to be able to grab a frame from a video file and display a section of it. So the first step is grabbing and displaying one frame on one Pi. OpenCV (Open Computer Vision) has the capabilities to do this, but it doesn’t […]