The best shell ever created: http://fishshell.org/

This is strongly based off of the information provided at freeduino.de.
- Install all dependencies:
sudo apt-get install sun-java6-jre gcc-avr avr-libc ia32-libs librxtx-java
- Download 32-bit version of Arduino 0016: [download]
- Extract it and navigate to the
lib/directory. RenameRXTXcomm.jartoRXTXcomm.jar-disabledandlibrxtxSerial.sotolibrxtxSerial.so-disabled. - Go back to the main directory and open the
arduinoscript in a text editor. Change the third line (starts withCLASSPATH=[...]) to:CLASSPATH=java/lib/rt.jar:lib:lib/build:lib/pde.jar:lib/core.jar:lib/antlr.jar:lib/oro.jar:lib/registry.jar:lib/mrj.jar:/usr/share/java/RXTXcomm.jar
- Also, change the 13th line (starts with
LD_LIBRARY_PATH=[...]) to:LD_LIBRARY_PATH=/usr/lib:`pwd`/lib:${LD_LIBRARY_PATH}
- Done! Save the file and launch the IDE like normal.
Here’s a full printout of the modified arduino script for reference:
#!/bin/sh CLASSPATH=java/lib/rt.jar:lib:lib/build:lib/pde.jar:lib/core.jar:lib/antlr.jar:lib/oro.jar:lib/registry.jar:lib/mrj.jar:/usr/share/java/RXTXcomm.jar export CLASSPATH # put the directory where this file lives in the front of the path, because # that directory also contains jikes, which we will need at runtime. # PATH=`pwd`/tools:${PATH} export PATH # put the directory with the native RXTX libs in the library path LD_LIBRARY_PATH=/usr/lib:`pwd`/lib:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base
I made a small script to produce an animation with a series of images and JavaScript. I only tested it in Firefox 3, but I don’t see any reason why it wouldn’t work in other browsers.
Try it: http://doswa.com/projects/animate/
Download it: http://doswa.com/projects/animate/animate.zip
http://trac.sagemath.org/sage_trac/ticket/1483 inspired me to make this, since the sagenb.org server doesn’t have ImageMagick installed.
This is a little program to help debug AJAX (or anything else) from PHP.

Read the README file to instructions on setting it up on Ubuntu. Note that you must first install python-notify through apt-get for this to work correctly.
If the function name notify() conflicts with any of your functions, you can change it on lines 2 and 3 of prepend.php
This is a Python implementation of the RK4 numerical integrator that works with differential functions of all orders. That is, any function in the form F(x, y, y’, y”, …,
).
If you’re new to numerical integration or even RK4 integration, please read my other post first. It’s easier to understand because it’s a less generalized function.
def rk4(s0, fn, t, dt): """RK4 implementation. s0 = initial state as a list. ex.: [initial_position, initial_velocity] fn = function(state, t) to integrate t = current value of the independent variable dt = amount to increase the independent variable (step size)""" r = range(len(s0)) s1 = s0 + [fn(s0, t)] s2 = [s0[i] + 0.5*s1[i+1]*dt for i in r] s2 += [fn(s2, t+0.5*dt)] s3 = [s0[i] + 0.5*s2[i+1]*dt for i in r] s3 += [fn(s3, t+0.5*dt)] s4 = [s0[i] + s3[i+1]*dt for i in r] s4 += [fn(s4, t+dt)] return [s0[i] + (s1[i+1] + 2*(s2[i+1]+s3[i+1]) + s4[i+1])*dt/6.0 for i in r]
On a side note, I recently found out about Sage (sagemath.org and sagenb.org). Its plotting capabilities and convenient mathematical notation are especially useful. Plus, it uses Python!
I made a little Processing sketch based on the same physics as JavaScript physics.
(View the full post to try it out.)
Flight404, the personal site of Robert Hodgin of The Barbarian Group, has some interesting works created with Processing.
Flight404 main site (blog)
Flight404 Vimeo page - Has videos of many of his works
Some of his Processing experiments - These aren’t as fully developed as the ones on the other two links, but they include the source code
I made a very basic physics demo in JavaScript to practice using the MooTools library. It uses Verlet integration as outlined in Thomas Jakobsen’s paper.
To try out the demo, go to http://doswa.com/projects/physics_js/

Chain of particles attached by joints
In the previous post, I wrote about a way to generalize derivatives and integrals into one function. What happens if a number other than an integer is passed to that function?
Here is the generalization from the last post:

Set k=2 and
:

Now there’s a problem. Since a! is only defined for integers 0 or greater, a different way of calculating factorials is needed. Luckily, there exists a Gamma function defined for all real and complex numbers such that:

Substitute the Gamma function into the other equation and simplify:


So, the half derivative of
is approximately equal to
.
This can be used for ‘fractional integration’ as well, if a negative number is used for n.
Start with a simple expression,
, and take a few derivatives:




A pattern is emerging:

Now the hard part is finding the pattern in the coefficient. This needs to be taken out of the ‘…’ form. Focus on that:

This is a series of numbers, each one larger than the next. This looks like a factorial, so divide k! by that:

Note how the top goes from 1 to k and the bottom goes from k-n+1 to k. That means that k-n+1 to k is a subset of 1 to k, so just divide that part out:

Now solve for c:


Puts this back into the original equation to get:

So, the nth derivative of
is equal to:

Verify this with a couple of derivatives:


And a couple of integrals:


