Embedded Brainfuck Canvas

Brainfuck is a turing-complete programming language and abstract machine which has only eight operators.

I’ve written a greasemonkey script which searches webpages for specially formatted brainfuck programs, and turns them into graphics by running a brainfuck interpreter and piping the output of the program to an HTML 5 canvas element.

Full details of the implementation are available on my website, where the embedded brainfuck canvas greasemonkey script can also be downloaded.

Here is an example program:

☸⠠⠐++++++++++++++++[}++++++++++++++++{-]}[{.+}-]{[-.]

And here is what it looks like when it runs: Brainfuck Spectrum program

(more)

Unicode Fancy Font Converter

Ⓣⓗⓔⓢⓔ 𝐖𝐨𝐫𝐝𝐬 𝔸𝕣𝕖 𝓐𝓵𝓵 𝕴𝖓 𝖳𝗁𝖾 𝚂𝚊𝚖𝚎 ⒣⒯⒨⒧ 𝓕𝓸𝓷𝓽-𝓕𝓪𝓬𝓮

Invisible in most major operating systems until recently, the unicode specification defines a bunch of weird tables which are intended to be used as mathematical variables, for people who are not satisfied with good old a to z, a′ to z′, a′′ to z′′, etc.

Many of these are composed of the full roman alphabet, meaning a fun hack is possible which allows you to type with a weird font in places where you cannot normally use formatting – such as a filename, facebook status, or anywhere you can type unicode text.

I’ve made a little script which allows you to enter some text and have it transformed into the silly font of your choosing.

Weird Unicode Font Converter – just copy and paste the outputted red text into somewhere inappropriate.

(more)

M3G whack-a-mouse

A silly game for mobile phones that I’ve been working on. It’s about half finished at the moment, but getting there.

(more)

Transcoding video for Motorola Droid on Linux

There’s a neat video player available for android called yxFlash, which can play a wide variety of formats that the built-in player cannot. The droid does a decent job of playing back foreign video formats such as wmv, divx, flv, mkv, but sadly it doesn’t quite have enough grunt to play back high resolution clips smoothly.

So, here’s how to use ffmpeg in Linux to transcode and resize pretty much any video to a format that the Motorola Droid or Milestone plays with the greatest ease – h264 & aac. The command also resizes the video to 480 pixels high, so it’s the right size for the droid / milestone’s screen.

(more)

Poking around firefox's bookmarks store: places.sqlite

Today I wanted to retrieve some bookmarks that I made the other day on my home computer, from far away. Thankfully I can access my pooter over SSH, allowing me to poke around inside it on the command line.

Older versions of firefox stored bookmarks in XML files, which made it easy to rifle through them on the shell. Newfangled firefox uses sqlite files however, which makes accessing this data a bit harder.

Here’s some quick commands you can run to extract your precious URLs from firefox’s places.sqlite file.

(more)

img2braille

I’ve just made a little php script which renders an image as braille, using the unicode characters 0×2800 – 0×28FF. Here’s some sample output:

⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠻⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡧⢀⠀⠀⠉⠀⢸⡟⣿⣟⡿⠻⠛⠛⠋⠁⠠⣾⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⠀⠀⠀⠀⠀⠘⣴⡿⡼⠋⠀⠈⠀⠀⣀⣴⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣤⠆⡶⣶⡄⠀⠛⠛⠀⣀⣀⠀⠀⠀⢡⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠉⠄⠀⠀⠛⠓⠀⠀⠀⡼⠻⡫⠁⣦⣀⢸⣿⣿⣿
⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢶⠗⠿⠀⠀⠀⢲⠶⠀⠀⠠⣀⣀⣾⢻⣾⣿⣿⣿
⣼⣿⣿⣿⡿⣹⣿⣿⣿⢏⣿⣿⢳⣌⠑⠤⣦⣤⠔⠚⠦⣀⣀⡄⠛⠛⢻⣾⣿⣿⣿⣿
⣿⣿⣿⣿⣵⣿⣿⣿⣯⣾⡿⣿⡘⣿⣿⡲⢼⣿⣿⠷⢶⠾⡿⠷⠒⣀⣩⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⡿⢧⣿⣯⣿⣽⢿⣮⡙⠿⣶⣽⡿⣧⣀⠀⠈⠙⠛⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⡏⣱⣿⣽⣿⡿⣅⠀⠉⠙⠲⣤⣝⣻⣷⣦⣥⡀⠲⠿⣛⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⡟⣠⣿⡿⣿⣿⣷⡿⠿⣶⣶⣿⣦⣤⡈⠉⠊⢍⡛⠗⣛⣋⣵⣿⣿⣿⣿⣿
⣿⣿⣿⣿⢮⣿⣿⣥⣤⣿⣦⣶⣿⢿⣿⣿⡟⣟⣻⣟⡦⠀⣉⣉⣠⠄⠻⠿⣿⣿⣿⣿
⣿⣿⣿⣷⡀⣿⣿⢿⣿⣿⠉⣩⣴⣟⣿⣟⣥⢹⡿⠠⠻⠚⠋⠉⠁⢀⠀⠀⠀⢀⠀⠈
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⣾⣤⣤⣴⣶⣶⣶⣦⣾⣷⣶⣿⣿⣷⣾

(more)

Console image viewer: pbmtoascii

Here’s a neat one-liner I just came up with for those times that you’re stuck at the unix/linux console and really need to peek at an image file but cannot use X11.

(more)

Animal Disco

Another silly Java3D app, this time some wolves and rhinos (with Parkinson’s) dancing at a disco in a grassy plain.

Rhinos and wolves gyrating in a field

The movement simply rotates and displaces each animal by a small random amount each frame, so it’s totally unrealistic but I think that makes it funny.

(more)

SexFlip v0.2

Using the default makehuman settings, I’ve created a new model for SexFlip Pro v0.2.

I created three models; one with androgynous features, one with a penis and one with breasts. The extra bits were removed from the latter two meshes, leaving floating private parts, the scale of which can be controlled separately as in SexFlip v0.1.

Trannie simulator v0.2

(more)

Virtua Transgenderism

Continuing my voyage in java 3D, I’ve added some interactivity to this applet allowing one to alter the scale of an incredibly crude box-person’s mammaries and genetalia.

The boobs can be scaled from invisible, through mere nipples up to bazongas, but if you make them too big they float away and turn into giant spectacles!

Similarly, the willy can be sized from invisible, to giant clitorus, through to a respectable package. Again, if you make it too big it will get heavy and fall off.

SexFlip v0.1 Transgenderism Simulator

(more)

Beyond XY

I’ve been playing about with Java3D and have made a little spinning lady with boobs that disappear and re-appear.

I think there’s a niche for adult 3D mobile phone games just waiting to be exploited. Sadly most content carriers have an Apple flavoured puritanical view of interactive entertainment, and won’t touch erotic games with a Short.MAX_VALUE length bargepole mesh.

Sketchy spinning Java3D lady

This crappy applet (source code contained within jar) marks the beginning of my adventure in 3D programming.

(more)

Command line arguments in wxWidgets

The wxCmdLineParser documentation is nice enough, but as is so often the case with programming library docs, they don’t provide any decent examples.

We learn by example, so here’s a very short yet fully working program showing how to parse and use command line arguments in your wxWidgets program.

(more)

Arduino Etch-a-scope

Over the xmas break I bought myself an Arduino Mini, which was a wonderful distraction from all of the revision I was supposed to be doing.

One of the things I did with it was to hook it up to an oscilloscope, in order to draw stuff on the screen.

Someone’s just asked me how I did it, so I figure now’s as good a time as any to write it up.

I rendered my face as a raster image on the oscilloscope

(more)

The proxy server is dead! Long live the proxy server

Even though it’s now the distant future, my university still insists on serving all web traffic through a single, archaic, annoying proxy server. So, when it explodes, like it has this evening, no-one on campus can surf the web. That includes the thousands of residents who live in university managed properties. There are no 24 hour technicians, so we will all have to wait until tomorrow until we can do any study that involves the internet (which is most of it, these days).

But! I’m posting this journal entry! Which means I can access the web. But how? The answer is not that I’m paying $0.002, nor even 0.002¢ per KB for mobile phone internet access. No; my saviour this evening is a combination of SDF public access unix system and SSH pretending to be a web proxy server.

(more)

Opaquing the translucent

convert input.png -fill "#3171b5" -opaque none output.jpg

Where #3171b5 is a colour.

(more)

New category: Unix tips

At last, somewhere to collect useful unix one-liners.

Unix/linux is great. It’ll do anything for you. You just need to know how to ask it.

(more)

Mplayer video wall script

So anyway, the thing that prompted me to set up this online journal was my recurring desire to share things that I create with the world. In this instance; the thing that pushed me to actually do something about it, was a perl script I had just written which creates a wall of videos. I created it to optimise my porn viewing, and because I couldn’t find anything to play multiple video files side by side, in a grid.

A 5x5 video wall of old American anti-drug propaganda

(more)

Pivot at sdf

So after an evening of not too painful bash scripting, pivot is now1 available as an auto-install tool on SDF.

See http://motd.org/ for more details about SDF’s web tools collection.

1 Once I’ve squashed whatever bug is causing the dubious file permissions.

Powered by Pivot. RSS Feed & ATOM Feed