HamOnt.js JavaScript conference this Fall

When: Saturday October 22nd 2016 from 9:00am to 5:00pm

Where: CoMotion On King at 115 King Street East (3rd floor)

Register: eventbrite.ca/e/hamontjs-tickets-26315170383

Cost: $20 regular, $10 student (event includes lunch, drinks, snacks)


HamOnt.js is a new JavaScript conference… low cost and kick ass, featuring experts from within and abroad for a full day of talks… we would love for you to join us on Saturday October 22nd!

Before we finalize the speaker line-up, we would like to get your feedback on what topics you would like to hear about.  Please fill out this survey to help us make this conference a great experience!




Interested in giving a talk?  Fill out this application and we’ll get back to you shortly!



Interested in sponsoring?  E-mail hamontjs@gmail.com for details!



Hamilton Spectator Reader’s Choice awards



The Hamilton Spectator Reader’s Choice awards are taking place this year, and the Best New Business in 2015/2016 features several Hamilton-area startups and former DemoCamp demo-ers like Bruha and Tasytt.

“Every year The Hamilton Spectator hosts an online nomination site at readerschoice.thespec.com where people from the community can go to nominate their favourite businesses and/or professionals from the Hamilton area so they can be recognized.”

Nominate some of your favourite businesses today!


McMaster forms new Walter G Booth School of Engineering Practice and Technology



Check out the full article on McMaster Daily News.

“Two McMaster powerhouses of practice-oriented engineering will soon come together to form one new school.

On July 1, the Faculty of Engineering’s Walter G. Booth School of Engineering Practice, which offers graduate programs, and its School of Engineering Technology, home to the McMaster-Mohawk Bachelor of Technology Partnership, will become The Walter G. Booth School of Engineering Practice and Technology.

Walter G. Booth, a philanthropist, entrepreneur, and 1962 Faculty of Engineering graduate gave generously to McMaster, the only university willing to take a chance on his non-traditional route through the post-secondary education system.”


Asteroid mining on sale for a limited time only



Planetary Prospectors A.R.M. (Asteroid Resource Mining) by local startup Nefarious Dimensions (@nefdimensions) is on sale!

Until noon EST on Monday the game has been reduced by 70% from $19.99 to $6.19 – check it out on Steam!


Game description…

The gold rush in space has begun! Corporations and many independent prospectors have entered the race to collect the most minerals and become the wealthiest miners in the galaxy.

You have been given the opportunity to mine asteroids within an infinite procedurally generated universe that contains meteor showers, space stations, mining refineries and much more to be discovered.

Purchase and upgrade a wide variety of spaceships and equipment. Use the right tools at the right time on many different kinds of surfaces to more effectively recover gems and minerals. Plan, strategize and prioritize which asteroids to mine and manage limited fuel and cargo space. Get too greedy and you can get stuck in deep space with no fuel! But manage your resources wisely and you could be rolling in spacebucks…


And some gameplay footage here…


Code Outside the Box – HTML Canvas

Originally posted on zimjavascript.wordpress.com


Interactive Media can be laid out in boxes like information sites or it can transcend boxes like applications to make art. While traditional HTML, CSS and JavaScript are great for making sites in boxes, coding the HTML canvas with JavaScript, CreateJS and ZIMjs is designed for making free-form Interactive Media like:

  • Games and Puzzles
  • Collages and Generative Art
  • E-learning Applications
  • Simulations and Visualizations
  • Interactive Logos and Infographics
  • Gadgets and Tools
  • Configurators and Comics
  • Parallax and Sliding Sites
  • Interfaces and Components


HTML is made of tags that are displayed in boxes. In fact, the CSS Box Model specifies that every element on the page is a rectangular box with width, height, borders, margin and padding.



The new HTML 5 canvas tag changes all this! We are free to dynamically draw on the canvas. We can make games, art, simulations and apps where people interact to create visual content not just passively consume content. Coding the canvas offers an open source alternative to Adobe Flash which previously dominated and indeed defined the Interactive Media industry (along with its predecessor, Macromedia Director).



There are two leading libraries to help code on the canvas – CreateJS and Pixie. CreateJS is a more general library, while Pixie is focused on high-end performance. Both were built by former Flash Developers and extend the learning that comes from twenty years of brilliant Engineers and Developers honing software to make Interactive Media. These people are heroes of our Information Age!



The ZIM library adds many functions and components to CreateJS to make it even easier to code Interactive Media, like:

  • One-line drag and drop
  • Multiple types of hit tests
  • Buttons, Panes and Tabs
  • Shapes, Sliders and Steppers
  • Waiters and ColorPickers
  • Indicators, Dials and Pads
  • Scalable Template Framework
  • Easy asset loading
  • Page and Layout Control
  • Mobile Optimization
  • Swipes and HotSpots
  • Guides, Grids and Outlines
  • Parallax, Scroll and Tiling
  • Animation, Damping and more!

To some degree, ZIM is like jQuery but for the freely expressive canvas. You can read about the relation in the post:
ZIM Loves CreateJS.



Traditional HTML was intended for browsing – to view content. The interactivity level is quite basic – that of selection – “Please show me that page”. Selection is by far the most common form of interactivity, but it was already available in the authoritative media of print, radio and television. New Interactive Media requires a spectrum of tasks. Most Web developers have never needed to code scaling, rotating, masking, dragging and hit tests. Yet when making Interactive Media these are essential.


HTML with CSS and JavaScript is catching up with respect to advanced interactivity but it is far from elegant. For example, here is how we rotate in HTML:

var rect = document.getElementById('rect');
rect.style.transform = "rotate(" + 10 + "deg)";

Here is rotating in CreateJS:

rect.rotation = 10;

When coding Interactive Media, we are constantly changing properties such as x, y, alpha, rotation, and scale. These have number values. In HTML, these values are strings and as such are harder to work with. For instance, here is how we move a rectangle to the right in CreateJS:

rect.x += 5;

Here is how we would do this in HTML where we need to remove the px so we can add a number and then replace the px back again:

var rect = document.getElementById('rect');
var left = rect.style.left.replace("px", ""));
rect.style.left = (left + 5) + "px";



With respect to drag and drop in HTML, this can range from 800 lines of code that you just would not believe, with many lines like:

var topPosMouse = (e.touches !== undefined) ? (dropDestination.offsetTop + Math.max(document.body.scrollTop, document.documentElement.scrollTop)) + dh / 2 : (e.clientY + Math.max(document.body.scrollTop, document.documentElement.scrollTop));

to the rather restrictive HTML 5 drag and drop specification with QuirkMode’s disastrous review. Just a search on Stack Overflow and you will see all the run-around!

Here is drag and drop in ZIM:




It is a common requirement in games and apps, such as e-learning apps, to see if objects are hitting one another. We often want to find out if the shape of something is hitting not just the bounding box – and this is difficult if not impossible to do in traditional HTML which only knows boxes.

On the canvas in CreateJS we have object.hitTest(point); which tells us if the shape of the object, such as a star or a racing car, is hitting a point on the screen such as the cursor point. In ZIM we have the following helpful hit tests:

  • hitTestPoint()
  • hitTestCircle()
  • hitTestRect()
  • hitTestReg()
  • hitTestBounds()
  • hitTestGrid()



HTML has had the same components for over 20 years with very little advancement. These are text fields, text areas, buttons, radio buttons and check boxes. HTML 5 added a few components that are erratically implemented like sliders and color and number pickers. The components can be styled but are still well behind the components available in most authoring environments like Flash and xCode for mobile iOS.


CreateJS does not provide components so ZIM gives us Labels, Buttons, Panes, Tabs, Sliders, Steppers, Watiers, ColorPickers, Indicators, Dials and Pads. When building a complete interactive system, it does not make sense to use a different system for controls. Overlaying traditional HTML components on the canvas would make alignment when scaling difficult and communication is awkward. CreateJS provides an on() method in replacement to the cumbersome addEventListener() method. Mixing the two as we code is unpleasant.


HTML and CSS are great for presenting information that flows in columns and boxes. But when we want to create visually, it is more efficient to work in an environment designed to be free in which we can let the user dynamically draw and more easily arrange content.

ZIM and CreateJS running JavaScript on the HTML Canvas was specially designed to make coding free-form Interactive Media as easy as possible so that you can spend time making apps, art and games without having to spend time coding infrastructure. As an aspiring developer / designer said “JavaScript is scary… ZIM looks like a lot of fun!”.


Code outside the box with ZIM – TRI ZIM (3) at http://zimjs.com


Startup Soiree by The Forge on July 12th



When: Tuesday July 12th 2016 from 5:30pm – 8:00pm

Where: Faculty Club at McMaster University on 1280 Main Street West, Hamilton, Ontario

Register: eventbrite.ca/e/startup-soiree-tickets-25864194502

Organizer: The Forge (@TheForgeHamOnt)


Please join us on Tuesday, July 12th, 2016 for The Forge accelerator’s Startup Soiree!

Startup Soiree is your chance to connect with The Forge’s brand-new cohort of exciting tech startup companies. The aim is to showcase what’s new in The Forge incubator, to celebrate our dedicated community of mentors, and to connect interested prospective advisors, mentors and investors with Forge companies.

Join us for an evening of celebration, networking, new ideas and fun.

5:30 p.m. – 6:15 p.m.: Registration, cocktail reception and refreshments
6:15 p.m. – 6:45 p.m.: Welcome, pitches by five new Forge startups
6:45 p.m. – 7:15 p.m.: Networking break, vote for Best Company Gear
7:15 p.m. – 7:35 p.m: Pitches by five new Forge startups
7:35 p.m. – 8:00 p.m.: Networking




Python meetup on July 6th



When: Wednesday July 6th at 7:00pm

Where: CoMotion on King @ 115 King Street East, Hamilton, Ontario

Register: meetup.com/Python-Hamilton/events/232135021

Organizer: Python Hamilton (@PythonHamilton)


Come out for another evening of good talks and good company!

Speaking of talks:

– Douglas Petican will be telling us all about Python and embedded systems

– Brandon Aubie is telling us how email may always suck, but it can suck less when we send it from Python using SparkPost

Look forward to seeing you all there!

VRSociety meetup on July 7th



When: Thursday July 7 2016 at 7:00pm

Where: Halton Hive at 901 Guelph Line, Burlington, Ontario

Register: meetup.com/Halton-Hamilton-Virtual-Augmented-Reality-Group/events/231714101

Organizer: VRSociety: Hamilton/Halton Virtual Reality Meetup Group


VRSociety V2.0: We will have a number of new HMD (Head Mounted Display) units for direct comparisons. HTC Vive & Oculus CV1 running demos of their ecosystems and an interesting experience or two. There will be a short talk on the consumer level history of HMDs and open discussion about the future of them. Also expect some new VR-related peripherals to demo and discuss. Look for more updates shortly!

I would also like us to talk about VR and social responsiblity – with all the current innovation and hype in VR, a discussion of the pros and cons of its effect on society is imperative. Lets keep it real! 🙂

Feel free to bring your demos and/or just socialize.