Skip to content
October 14, 2015 / geeksretreat

How to draw a Dartboard using HTML’s Canvas

This post will cover the steps required to draw a traditional Dartboard using HTML5’s canvas.  The final product produces the following rendered board.


Dartboard drawn using HTML5’s canvas

To tackle this task one’s thought process was to picture how one would draw a dartboard using layers.  In theory you would start by drawing the black circle that forms the base of the board.  Followed by the alternating black and while pie sections.  The double and treble arcs would then be placed accordingly, followed by the outer-bull and bulls-eye circles.  And finally, the wire-works between the pie sections and lettering on the outer ring.

Read more…

September 19, 2014 / geeksretreat

Canvas Drag and Drop with Collision Detection

In this post I’ll cover the basics of implementing drag and drop with collision detection using the Canvas element and JavaScript. The end result will produce the following:

Drag and Drag shapes on the canvas

Each item on the canvas is represented by a rectangle.  When clicking inside the bounds of an rectangle the inner circle’s colour changes to grey to indicate the item is selected.  Release the button results in a mouse up event .  Between the mouse down and up events the item can be dragged and thus moved around the canvas.  When two objects collide they will be coloured red. This functionality has been implemented as follows. Read more…

August 12, 2014 / geeksretreat

Automate screenshots with Node and Grunt

nodeThe official site claims ‘Node is built on Chrome’s JavaScript runtime it can be used for building fast, scalable network applications’.  Drilling into that verbiage; it is quite obvious what fast means.  Scalable is also semi-obvious; but, only within context.  Scalable in this context means an application – for example a website similar to twitter – can easily be modified to cater for increasing demand: such as the number of users accessing a site increasing.  Without understanding the technology behind sites such as twitter we can all imagine the amount of people tweeting at any one time – a lot.  How does the technology behind twitter handle this amount of activity: in short the answer is, by being scalable.  The final part of Node’s official statement refers to the ‘network application’.  This simply means the components that provide technology behind any given website and/or mobile app.   Read more…

May 30, 2014 / geeksretreat

Tip #2 Web development tips and tricks

Tip #2 in this series touches on the topic of security.  With the latest heartbleed vulnerability within OpenSSL hitting the headlines security it currently at the forefront.  I think it is fair to say that security is not a priority for most web developers: for some it is not even on the radar.  The problem is, that it is way, way too easy, to roll-out a site for a new project, get paid and move on. But, what happens to the site a week, month or a year down the line?  Worse case scenario is the site gets hacked.  Why? Because, it is not being kept up-to-date with the latest security patches and your web developer has moved on.

The simple solution is to keep you platform up-to-date.  Whether it Magento, Symfony, WordPress or Joomla.  It needs to be kept current.  If you were offered a way to improve the security of your house would you take it?  Of course you would.  The same should apply to your website.  Security vulnerabilities are discovered all the time. We should give the framework vendors credit here.  They issue security patches with a high level of speed and efficiency.  The problem you face is getting that security patch installed on your website.  I’d suggest striking a deal with your web designer/agency so they are responsible.  Of course they would expected some recompense for this, but, it shouldn’t be a lot.  Any web designer/agency who will not agree to this are obviously not a good choice to begin with.  Security first!

March 25, 2014 / geeksretreat

Tip #1 Web development tips and tricks


Web development is a hard playing field to operate in.  The competition is great and keeping ahead of your competitors is difficult.  Assuming potential customers rate your work and compare your goods against the competition means there is no place for complacency.  This tip will help ensure level’s of quality are high and more importantly transparent and measurable to your audience!


Read more…

February 12, 2014 / geeksretreat

Responsive Design does not equal Mobile Optimised

Responsive Web Design

2013 Responsive Design really exploded.  It seems to have past the test of time and is here to say. Yes, it causes web developers a little more of a headache than a non-responsive site; however, the advantages it brings are well worth reaping.  With the ever increasing number of mobile devices it is hard to ignore responsive design.
Read more…

January 4, 2014 / geeksretreat

A simple HTML5 Game tutorial – Part 4

A simple game create using HTML's canvas and JavaScript

Screenshot of HTML5 game

In the previous parts  (1, 2 and 3) we’ve developed a basic game which allows a player to move a target around the screen and shot some bad guys. In this post we’ll add labels to show the shots fired, hits and accuracy ratio.  This will give the player a reason for playing e.g. improve your statistics by shooting all of the bad guys with the minimum amount of shots.  With this in place we can start to think about adding levels and keeping a high-score table.
Read more…

December 31, 2013 / geeksretreat

2013 in review

The stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

Madison Square Garden can seat 20,000 people for a concert. This blog was viewed about 61,000 times in 2013. If it were a concert at Madison Square Garden, it would take about 3 sold-out performances for that many people to see it.

Click here to see the complete report.

December 4, 2013 / geeksretreat

A simple HTML5 Game tutorial – Part 3

Great Little Computer!

Following on from Part 2 we have put in place the foundation of our game and have some ‘bad guys’ moving in a menacing manner.  We are close to having a game: if we could just shot the ‘bad guys’.  Reminding ourselves of the goals set out in Part 1 we need to achieve the following: Read more…

November 22, 2013 / geeksretreat

A simple HTML5 Game tutorial – Part 2

Keyboard with historical game keys in orange

Following on from Part 1 we have put in place the foundation of our game.  But, we can’t really call it a game as we have no interaction. Reminder ourselves of the goal set out in Part 1 we need to achieve the following:

In you want to have a peek at the result of following this post click here.

Read more…


Get every new post delivered to your Inbox.

Join 175 other followers