Sunday 20 July 2014

Switching primary languages

Im on a roll here, three posts in one day, I have decided its time I switched primary launguage. I spent the eighties writting assembler and "C", the ninties writting "C++", and most of the noughties writting "PHP", so im due for another switch.

I have been looking at "go" the new systems language from google, and it meets all my needs, the depth and breadth of "C", the capabilities of "C++" and the rapid workflow i associate with "PHP". Im definatly going to have a long learning curve getting up to speed on it, so I have decided to set myself a task that I can start working towards and a schedule of two years with a prototype and then implememtation phase. I fully expect to throw all my initial work away and reimplement it properly once i know what I am doing.

The Task I have set myself is to build a 3D printer slicer and firmware set suitable for executing in an embeddeable computer. I will have to learn a bunch of techniques, but I have the required background and skills, for the last two years I have been building and operating 3d printers, and in the late 90's I specialised in building Postscript raster image processors for custom printers. At a push I can even build hardaware, im planning to initialy use  a small ARM board like a beagleboard black or one of the new Raspberry Pi's with the enhanced GPIO. But thats a choice I dont have to make yet. I want to abstract the higher level layers into a set of libraries, and leave the low level driver stages until I have a target built.

Im using the community version of the Jetbrains IDEA editor as my dev env, with the golang plugin which works really well, and is extreemly easy for me to use as I use thier PHPStorm Editor for all my PHP work, and the two are very simular. Im just looking at other tools now like dependancy managers, package managers and unitesting frameworks.

It will be fun, I am so looking forward to this.

Posted via Blogaway

HHVM and MongoDB

Just latley I have been playing with HHVM (HipHop) and MongoDB. To set the scene, we have a largish application written in PHP/Zend/MongodB that we would like to make faster. It has two main parts to it, a bunch of backend scripts called from crons, and the web application itself.
I recently got involved in an effort to produce a pure PHP MongDB driver, for the purpose of allowing servers which dont allow extentions to be loaded to interact with hosted MongoDB services such as MongoHQ, and beable to use MongoDB with HHVM.
The resulting driver is very complete, and implements a large subset of the Official PHP drivers support, in an dropin compatable fashion. You can see the php driver at https://github.com/mongofill/mongofill . Great as it is, there is an even better vertsion at https://github.com/mongofill/mongofill-hhvm which compiles the php driver alongside a "C" implementation of a BSON reader/writer to produce a loadable extension module for HHVM. And the results are fantastic. Our backend scripts are by no means simple Mongo/PHP code. But I was able to get them all working well with minor changes to the code. A testiment to the diligence of the Mongofill authors.

Posted via Blogaway4

Blogging from my tablet

This is my first post from my android tablet, i took the dive and got myself a super Samsung Galaxy Note 12.2, with LTE. Its night and day compared to my old Note 10.1. So much so that I got the bluetooth case/keyboard that goes with it, because its close to being an ultrabook.

Anyway this is my first post direct from the tablet, on the move, from a "Mr Dougnuts" store in Greenhill mall in pasig.

More to follow

Tuesday 11 February 2014

Microfabricator.com - The internets end stop

Microfabricator.com

Been building content/community sites again and my latest site is

Microfabricator.com

Microfabricator.com is a new news, forum, and social content site for the 3D Printing community. We will also be hosting the design and build of the the "Photon" 3D printer on this site.

The "Photon" is a new 3D printer design, designed to be built in countries which may not have access to sophisticated components, most of the design can be built from components available in a DIY Hardware store.

more than 70% of the structure is it self printed, so its ideal for bootstrapping.