Monday, September 7, 2015


Things have changed alot since I have been out of The United States of Methmerica, being gone for several years, i see so much has changed. Now there are many zombie-like-creatures roaming the streets at night, looking for fights, and "Kris" (Methamphetamine). Since being back in California for almost a year, I have traveled to: Sacramento, Stockton, Oakland, Elk Grove, and Eureka. Kris and heroin now dominate these places. It has become normal to see orange syringe caps along with other garbage in the streets. In places like Eureka, the once peaceful redwood forests, have now become a killing zone, filled with garbage, human waste, and dangerous people. In Oakland I have seen people living in actual dog houses. In Sacramento I have been in hand-to-hand combat with human-zombies and their unleashed pitbulls.

Two Birds with One Meth-Rock

The forests of California are burning, raging with wildfires more and more each year. I have seen methmericans in the forests chopping wood to take back to their camps, and guess what, they chop really fast and seem to really enjoy it. What should California do? Employ all the drug addicts within the Forestry/Ranger department, give them drugs, and send them (escorted by forest rangers) into the forest to clean out all the fallen branches and other debris that trigger these massive forest fires. To get off meth they need to be productive, and do something actually useful. Methmericans, we need you!

Thursday, July 9, 2015

Fuck New Zealand

I never thought I would say fuck New Zealand. July 9th, 2015 I arrive at Auckland airport, and I am fully ready to start having fun. I get my bag and head to customs/immgration, having no idea of what is about to happen. The first customs officer takes one look at me and waves for me to go down some odd looking passageway, I start thinking, hey, why am I not going where every body else is going?

Down the hallway, I reach what looks like a serious fucking search area, large metal inspection tables, twitchy sniffer dogs, and plenty of pissed off looking people. I'm thinking, ok, this is not a big problem, they just put me here because I look like a stoner. I see everybody else in this area also looks like a stoner, and then I notice one customs officier with a guys phone, interrogating him about each message - at this point i'm starting to realize this could be some real shit.

Now its my turn, i'm hit with all kinds of questions about my plans in NZ, who am I, what do I do, etc. In a subtle and almost indirect way, I am then asked if I smoke cannabis. I pause, remembering how honesty-is-always-best-policy, and admit that I do, and also point out that in California it is legal. This sets off some sort of red alert, and I am quickly taken to the stoner lock down room. In there I meet other travelers who are more or less obvious stoners, simply by the way they dress, and their natural calm demanor, it was pretty clear they wake-and-bake just like me.

Interrogation Part1

I am greeted by a bulky almost muscular short haired angry customs officer, who bombards me with questions of all kinds. She asks me to list out all the drugs I have taken in my entire lifetime, and estimate how much of each one, it takes me a minute to recall:
  • crystal meth: one time - 3 hits
  • cocain: five times - about 20 lines
  • LSD: 10 tabs
  • shrooms: 20+ trips
  • weed: blazed everyday
I think to myself, I have a pretty light drug history. The interrogation was fully video tapped, with written notes, and hostile interrogator, it was kinda like being in a movie. After about an hour of questions, she steps out of the room, and returns moments later with the final decision: I will not be allowed entry into New Zealand, with the primary reason being that she thinks it is likely I would use cannibis while in NZ. She asks if I have any comments, I say: not really, just that I now hate NZ and fuck NZ. Its back to stoner lock down room.

Interrogation Part2

The final part of getting kicked out of NZ is the police interview. The two officiers were actually nice guys and I enjoyed talking to them. Their job was to assess if I had lost my mind about getting fucked over by NZ customs, basically after all this shit - was I a danger to myself or others. I let them know, in the end, I was actually proud that I told the truth and was denied entry. The police also aggreed with me that weed is no big deal and NZ law needs to be updated asap.

Monday, June 15, 2015

Nine Inch Nails Reanimated

view the live demo here:

above, vectorized version of "Star Fuckers Incorporated" music video

Sunday, June 14, 2015

Thursday, June 4, 2015

Spaceship Earth - part2

At the moment, mankind is quickly destroying the Earth's natural environment and each other. Spaceship Earth helps us see the Earth as a permanent home, rather than something we are simply going to ditch in a couple billion years when the sun becomes a hostile red giant star. We need to start working together now to clean up the environment, and make sure all races and cultures can first live in peace, and then voluntarily cooperate to create this mega structure. No other species can save the planet, so we better step up and get to work now on a real peace plan.

Spaceship Earth Near Light Speed

After living in peace and harmony for millions of years, humanity and the entire earth reach relativistic speeds.

Blender Scene

Created with Blender 2.74

Saturday, May 23, 2015

vectorized video compression

Not every type of video needs high resolution and frame rates to look good. For music videos, 4K at 60fps is overkill, and a waste of bandwidth and power. Traditional video compression operates only on pixels, and removes detail in low contrast areas, leading to blocky artifacts.

My compression technique is optimized for a stylized output, and a much smaller data stream. It mixes SVG vector graphics with super compressed low resolution video. The video stream is resized to 240 pixels wide, and frame rate dropped to 8fps, this makes the file 10X smaller than the original compressed version. The backend pre-computes the SVG each frame using Potrace. Each SVG file is recompressed with SVGO, which can reduce the file size by another ten percent or more. As the video plays it triggers reloading of the SVG overlay frame, to compensate for the delay, the server is hardcoded to return two frames ahead of the requested frame.

You can view the live demo at heroku. Note this is a free and limited account, so if the site gets busy try again later. note: heroku is limiting my connection rate, so svg playback is limited to 4fps

Thursday, April 16, 2015

Unreal Engine4 Plugin - hello world linux

Get my fork of Unreal Engine this fixes some c++11 issues and makes it compatible with my new project Rusthon, see this example plugin that links in a dynamic library and prints hello world. You can compile the plugin by running:

git clone
cd Rusthon
./ ./examples/ --output-dir=~/Documents/Unreal\ Projects/MyProject

Unreal has an build system based on C# scripts, and a naming convention that requires you to keep your folders, files and class names in sync. You also need to setup your includes to pull in from a single header, the so called "PCH" (pre-precompiled-header). The other problem in getting started with a simple plugin are most of the Unreal docs focus on Windows and OSX, and not command line usage from Linux. It took me awhile to figure out that Unreal was caching the build files, and how to properly clear them in the install script. See the install script at the top of

import TestPluginPrivatePCH.h
import ITestPlugin.h

def hello_rusthon() -> int:

class FTestPlugin( ITestPlugin ):
 def StartupModule():
  a = hello_rusthon()
  print a  ## should print 99
  raise std::exception()

 def ShutdownModule():

macro("IMPLEMENT_MODULE( FTestPlugin, TestPlugin )")

Monday, April 13, 2015

4D Navigation

This weekend I teamed up with Steve Favis on a nearly nonstop 30 hour hackathon for NASA SpaceApps 2015. We developed a navigation system that takes into account the physics of possible future events and jumping to reach its target goal. Checkout Steve's twitter for more info: @stevefavis

Tuesday, March 11, 2014

PythonJS 0.8.6 Released

Above, PythonJS is used to create a dynamic water physics demo that integrates: Three.js, Skunami.js, p2.js, and Pixi.js. The yellow 'blob' is created by an array of p2.js springs and particles that are rendered as metaballs using MarchingCubes in Three.js.

You can get the new PythonJS 0.8.6 release here. The new release includes many bug fixes and better inter-operation with external JavaScript libraries. Bindings and wrappers are no longer required to work with external JavaScript libraries, types passed to JavaScript functions will be recursively transformed into JavaScript types. Calling Python functions from JavaScript has also been improved. New experimental backends are also included that translate Python into: CoffeeScript, Dart, and Lua.

Sunday, February 23, 2014

pypubjs exports to Android

The Pypubjs IDE can now export to Android using Phonegap. This requires installing PhoneGap and the Android SDK. Phonegap is easily installed with one command sudo npm install -g phonegap. The Android SDK is more work to setup, download it and set your PATH environment variable to include: /tools and /platform-tools. You also need Oracle's Java, here is the steps I did to get it running in Ubuntu:

 sudo add-apt-repository ppa:webupd8team/java
 sudo apt-get update
 sudo apt-get install oracle-java7-installer
 sudo apt-get install ant

 export JAVA_HOME=/usr/lib/jvm/java-7-oracle

Code Visualization

I have integrated a new backend into PythonJS that translates Python code into a visual graph using vis.js. You can load code into the Pypubjs editor, and by clicking "graph" it will run the translation in the background and display the graph in a new window. This can be helpful if you are working with code written by someone else, and need a way to quickly understand it at a higher level.

source code

Friday, February 21, 2014

Fishing in a River of Trash - part2


I am working on an integrated development environment for PythonJS, called Pypubjs. Using Pypubjs you will be able to easily put together HTML5 projects written in CSS, JavaScript and Python, and quickly package binaries for all platforms: Linux, Windows, OSX and mobile using PhoneGap. The IDE itself is written in PythonJS and HTML5 using Node-Webkit and the Ace.js code editor with Darkstrap CSS by Dan Neu (a hack of Twitter's Bootstrap.

see source code