Archive by Author
Gallery

RockNUG Programming Contest

24 Feb

Yesterday we hosted RockNUG’s Robocode programming contest in our offices. It was a blast, literally, as virtual tanks destroyed each other on screen, controlled by AI programs the competitors had built.

Quotes of the morning:

“This is harder than I thought it would be.”

“Why can’t I make my gun fire?”

Most of the morning was spent in development…

The morning was spent on intense debugging and optimization

The morning was spent on intense debugging and optimization

Team Titans and Team Bobblebot prepare for battle

Team Titans and Team Bobble Bot prepare for battle

Focus, focus, focus...

Focus, focus, focus…

One of the unit tests is failing and nobody knows why

One of the unit tests is failing and nobody knows why

Dan Kempner's Rambot was all brute force and no style

Dan Kempner’s Rambot was all brute force and no style

@slawrenc1's Ed 209 was brave and bold, but bugger, stronger robots kept kicking sand in its face

@slawrenc1’s Ed 209 was brave and bold, but bigger, stronger robots kept kicking sand in its face

Dean Fiala's Octo won an early scrimmage but didn't reach the 1:1 finals

Dean Fiala’s Octo won an early scrimmage but didn’t reach the 1:1 finals

Intense concentration on the Johnny 5 vs Panicbot 1:1 battle

Intense concentration on the Johnny 5 vs Panicbot 1:1 battle

Bobble Bot fights for its life

Bobble Bot fights for its life

@brettwgreen's Shockwave won the 1:1 contest

@brettwgreen’s Shockwave won the 1:1 contest

Megacrasher

Megacrasher won the final melee round.

Central Maryland Code Camp!

30 Nov

Fortigent is excited to announce that we’re a sponsor of CMAP (Central Maryland) Code Camp. We’re always looking for great developers, IT pros, and analysts, so please look for the Fortigent table and stop by to chat. I’m also presenting a session on Knockout, a data-binding framework for JavaScript. It would be great to see you at my session as well.

Knockout Resources

26 Oct

Following on from Tim’s great post about UI development, I want to thank CapArea.NET and Scott Lock for hosting my presentation on Knockout on Tuesday evening. For many of our pages, Knockout is the tool we use to display data. Knockout is a JavaScript framework that lets you create a JavaScript view model that represents the business data used by a page. Once you have a view model, you can add data-bind attributes to HTML elements. The data-bind attributes instruct Knockout to pull data from the view model and display it within the HTML. 

As promised on Tuesday evening, here is a list of Knockout resources and links to all the samples I used.

Knockout Samples

Here’s a list of the Knockout samples I used. All of them are from knockoutjs.com.  Each of these samples exists as both a web page and a JSFiddle. I’ve included both links below:

Web Page JSFiddle
Hello World Page Hello World Fiddle
Click Counter Page Click Counter Fiddle
Simple List (Observable Array) Page Simple List (Observable Array) Fiddle
Rich List Page Rich List Fiddle
Forms Controls Page Forms Controls Fiddle
Collections (foreach) Page Collections (foreach) Fiddle
Animation & Bindings Page Animation & Bindings Fiddle
Grid Custom Binding Page Grid Custom Binding Fiddle
Contact Editor Page Contact Editor Fiddle
Grid Editor Page Grid Editor Fiddle
Shopping Cart Page Shopping Cart Fiddle
Twitter Client Page Twitter Client Fiddle

Other Knockout Resources

The main page for Knockout is here. Hands-on tutorials are here. Documentation is here.

Steve Sanderson is the creator of Knockout.

Ryan Niemeyer’s blog includes some Knockout presentations.

Knockout Validation, which I didn’t cover, adds validation capabilities to Knockout.

Knockout Grid builds on the simple grid simple we reviewed to provide a more complete grid.

At the bar after the meeting, we had some discussion of Knockout competitors.  Steve Sanderson’s list of seven JavaScript frameworks is on his blog. Although Steve is the creator of Knockout, the comparison does a pretty good job of listing the pros and cons of each framework.

ToDoMVC is an application that’s been implemented in multiple JS frameworks as a comparison tool:

AngularJS is Google’s competitor to Knockout.