Saturday, December 29, 2012

petulant computing

After ignoring the Linux desktop all year I find that both my virtual machines are broken on OSX.

Installing latest Mint64 on VirtualBox was a total fail last week so I'm going to have one more go this week / year at some Linux development.

Day 1

8:07 a.m. download Ubuntu 12.04 32 bit

8:22 695MB download complete

8:24 boot iso file in virtualbox and begin install

8:28 setup credentials while installing, nice

8:46 installing language packs. Really?

8:48 Configuring hardware

9:03 Restarting...

9:10 first boot to desktop complete, download blitzmax, unpack to /home

9:14 running MaxIDE without complaint with a rebuilds docs even, but a helloworld wants g++

9:18 now blogging from Ubuntu and following is go after finding a terminal window and using
sudo apt-get install g++
Framework brl.standardio
Print "hello"
9:55 clipboard not working but MaxIDE is yet to crash and rebuild of modules followed by some flashing colors is sorted after the following additions
sudo apt-get install libfreetype6-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libxxf86vm-dev
sudo apt-get install libxpm-dev
Graphics 640,480
While Not KeyHit(KEY_ESCAPE)
    SetClsColor Rnd(255),Rnd(255),Rnd(255)
11:32 back after some exercise, to quickly test digesteroids, fullscreen good, sound not so

11:34 download, chmod +x the binaries and install just the following
sudo apt-get install libqt4-dev 
11:59 finish installing guest additions and restarting for a few big checkouts...

12:56 found email from mark, copied latest official MaxIDE to maxgui repos

13:01 FLTK MaxGUI built and running in all it's unholy fugliness with 1 get
sudo apt-get install libxft-dev

13:09 back in monkey land, start downloading Qt Creator and 1 more get for glfw targets
sudo apt-get install libopenal-dev

13:22 QT Creator finally installed, off to play with Ted... 

13:57 Yikes, Google+ + Firefox = hideous performance outages...

14:10 Yikes, qtmax module is humungous

15:15 qtmax.mod built and examples working without further ado

Day 2

9:42 me, bothered? am I bothered? do I look bothered?

9:45 250 updates fave been selected, 189.9 MB will be downloaded

9:58 GLFW monkey firepaint working fine with few complaints
OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.

AL lib: pulseaudio.c:331: PulseAudio returned minreq tlength/2; expect break up
10:08 reboot with Hardware Accelerated 3D enabled in Virtual Box, holycrud!

10:10 firefox still struggling, time for chrome...

10:23 chrome looks nice, gmail still chugfest but Blogger is feeling positively spritely

10:32 unity desktop is annoyingly bad, horribly unresponsive in basic ways

10:33 nice to be in such a slow environment, good apps shine, shit ones sink

10:58 flipped USE_XFT in fltk.mod/config.h so fonts stop making my eyes bleed

11:38 rebuild all modules and some caustic beats on the android later...

11:34 uploaded

Day 3

8:20 a.m. upgraded from 1280x800 to 1920x1080 while H is on holiday

9:02 removing xfree dependencies from BlitzMax system.mod and MaxIDE crashes.

9:05 removed utf8 processing in TOutputPanel write and we're building again

9:16 I give up, I will now park my mouse pointer at top left, stupid modern desktop design...

10:16 must remember, install all Ubuntu updates before installing Virtual Box additions

10:27 finished tidying up system.mod, removing xxf86vm dependent update with this code:

int bbSystemDesktopWidth(){
  Screen *screen=XDefaultScreenOfDisplay(x_display);
  return WidthOfScreen(screen);
int bbSystemDesktopHeight(){
  Screen *screen=XDefaultScreenOfDisplay(x_display);
  return HeightOfScreen(screen);
int bbSystemDesktopDepth(){
  Screen *screen=XDefaultScreenOfDisplay(x_display);
  return DefaultDepthOfScreen(screen);
int bbSystemDesktopHertz(){
  return 60;

10:30 it's high tide, time for a swim

16:17 and some tennis and  some game-storming with acid software's chief scientist

18:07 fixed fltk text interface with some utf8 conversion at the glue level

Day 4

9:41 Posted and then reflected on topic at bb, topic=99662#1171394, woza

2:59 back from olds, removed annoying bbusew= logging in my system.c module

3:25 unicode hopelessly broken in win32maxgui also, day of da feet

Day 5

7:29 small steps... just a little bit of TWindowsTextArea to start the day

8:30 after couple of hours playing we find this

Day 6

8:40 bad blogger style flow, at bottom of doc, enter does not end heading section


I'm most happy FLTK-MaxGUI and FLTK-MaxIDE are now back in usable form.

MaxIDE needs UTF8 pipe upgrades and some more testing.

21013 is year of MaxGUI I8N (internationalisation), more fixes due soon.

Friday, August 24, 2012

monkey graphing

A graph editor using some monkey code with reflection generated user interface.

Load and save of graph now working. Interface clunky as hell...

Now running on 360. Interface clunky as hell...

Some audio units running in a very pleasing performance oriented manner.

The same app reflecting itself in itself, while running very nicely on iPad.

More media streams connected including 30hz 16 bit depth buffer from a Kinect.

Monday, February 27, 2012

Android GIS Utitlity

Another solo effort of mine was the Trifecta Mapping Utilty Device. 

The following images are screen grabs from a 10" Samsung Tab running a prototype version for local GIS merchants Trifecta. 

Off-line satellite cache with optional RTC enhanced GNSS walking modes. Here with data from Spar300 magnetic sampler from Optimal Ranging.

Satellite tiles were switchable between Google, Bing and OSM sources.

The topographical data is from local agency LINZ overlaid for test purposes on google maps activity to ensure WGS84 conversion of spherical geo-coordinates are correctly transformed to metric display space by the haversine formula.

Saturday, January 14, 2012

monkey demo, install and run

If you want to code 2D video games in HTML5 or any other target for that matter, monkey provides a simple fun environment where you can get your game design on. 

Monkey code is easy to read, clean with a pleasing modern programming design.

Write code in monkey once and then let it produce efficient translations into 5 other programming languages hosted on no less than 7 different target computing devices.

The following is a step by step install and go style tutorial for the monkey demo. The monkey demo, is in fact a free, unrestricted, powerful programming environment for HTML5 development.

At, locate the huge DOWNLOAD button at the top right of the site. This takes you directly into the shop which is where you download the absolutely free Monkey development system with HTML5 target included.

The demo is currently 45C a particularly stable version of the monkey language with interfaces and generics language additions and an HTML5 server daemon named mserver.

Monkey is distributed as a single portable folder inside a zip archive. 

If you are simply evaluating monkey, expand the folder onto your desktop.

Monk is the free code editor for Monkey and is distributed with both MacOS and Windows versions in same folder.

Blitz Research does not sign their tools so if you have downloaded the demo from the official site as instructed above, untick the "Always ask before opening" box and run the monk editor.

Instead of reading the manual, go straight to the bananas folder inside monkey in the treeview on the right. This folder contains a number of samples contributed by the original beta testing crew in particular the mak folder where the author of the monkey language Mark keeps his tests and examples.

Selecting the bouncingaliens.monkey file should load the source code into the editor. 

Clicking on the spaceship or pressing the F5 key should build and run the source code.

More permissions are required so that monkey's internal web server can run and communicate with your HTML5 web browser (IE9 and above, Chrome, Safari, FireFox etc.).

After building the bouncy aliens demo you can Refresh the folder view to explore the newly created .build folder that monkey has created.

Those with existing html5 skills can modify the games .html container. There are some dependencies between a .build folder created by monkey and the monkey version. When upgrading to newer versions of monkey, be prepared to move or backup then delete the .build directory structure monkey maintains in your game's source folder.

The Code tab of the monk tree view allows you to navigate a program.

A standard monkey app such as bouncyaliens uses the mojo app framework to update its inputs and then render its outputs.

Unlike other environments keyboard and other input is only valid in the applications OnUpdate method.

Likewise the mojo drawing commands are only valid during an apps OnRender.