http://www.walkerrandolphsmith.commetalsmith-feedSat, 21 Oct 2017 08:15:20 GMTAsynchronous programming in Javascript involves a control flow that is not sequential like what is
expected from most programming languages. This non-sequence nature is due to the result of a function
not being available immediately. In this scenario the program continues execution despite the result of the first
function not returning and the subsequent operations on that result not occurring. Asynchronous code may be a result of
physical limitations causing the reults to not be instant or guaranteed like file IO and network requests.
Asynchronous programming can be a challenging task and it has evolved quite a bit in Javascript since I began programming.
In a few short years I have solved this problem like many other Javascript developers: using callbacks, promises, and now
even async and await. Each of these approaches changes the structure of the asynchronous code as well as the control flow.
For many people seeing the differences between these techniques will actually feel like a stroll down memory lane.]]>http://www.walkerrandolphsmith.com/promiseshttp://www.walkerrandolphsmith.com/promisesSat, 29 Oct 2016 21:03:24 GMTSets, lists, and collections are structures I deal with almost everyday when programming. ES5 brought cool features
like map and reduce, but prior to ES2015 I often used libraries like underscore and lodash to help me operate on arrays.
These libraries and another, Rambda, are still on my radar since they have optimized many of these operations, however
there are a couple common operations I will cover.]]>http://www.walkerrandolphsmith.com/arrayhttp://www.walkerrandolphsmith.com/arraySat, 29 Oct 2016 00:00:00 GMTOver the past two years I have practiced pair programming on a daily basis. Prior to this exposure I was familiar with
the concept of pair programming through reading about extreme programming. I was hopeful it would be beneficial, despite
also hearing negative reviews of the practice. Upon reflection of my experience I have determined that pair programming
is valuable and for many reasons including some I had suspicions of and some in ways I would have never expected.]]>http://www.walkerrandolphsmith.com/pair-programminghttp://www.walkerrandolphsmith.com/pair-programmingFri, 28 Oct 2016 00:00:00 GMTElectron allows for creating cross platform, native applications that run on the Node.js runtime.
Today, native applications can be created with a consistent set of tools including Javascript, HTML, and CSS.
Electron, developed by Github, was orginally known as Atom Shell as it powered the homegrown text editor created at Github, Atom.
Now well known applications such as Slack, Atom, Visual Studio Code, and more have been developed with Electron.
I am going to cover creating a minimal Electron application.]]>http://www.walkerrandolphsmith.com/electron-native-appshttp://www.walkerrandolphsmith.com/electron-native-appsSat, 22 Oct 2016 00:00:00 GMTRecently the VersionOne JavaScript SDK received some love and got a major version release.
The SDK allows communication with a VersionOne instance by exposing some of the well documented apis including
query.v1, rest-1.v1, and metav1. The SDK ultimately makes HTTP requests to a specified VersionOne instance.
In this scenario I will not consider CORS and make all the requests from a server.
This article assumes prior knowledge around Node.js and javascript.
I will cover how to set up a minimal node application that uses an express server and the SDK to make queries to VersionOne.
You can follow along with this git repo sample-v1sdk-app.]]>http://www.walkerrandolphsmith.com/versionone-javascript-sdkhttp://www.walkerrandolphsmith.com/versionone-javascript-sdkFri, 21 Oct 2016 00:00:00 GMTSingle page applications are web applications contained on a single HTML file that are dynamically updated using client side JavaScript in response to user interactions.
This article will discuss creating a SPA using Durandal and Knockout. This technology stack leverages a variation on
the traditional Model View Controller pattern called Model-View-View Model, MVVM, which a design pattern for building user interfaces.
The pattern divides the user interface into three major components.
The Models represent the application’s stored data. Ajax can be used with server-side code to read and write the stored model data.
The View-Models are JavaScript objects that represent a subset of data and operations on that data required by a specific user interface to render.
The Views are UI components that graphically expose the View-Model data and operations.
Durandal is one of many JavaScript frameworks that leverage this design pattern. One emerging giant is Angular and yesterday it was announced, here, on Twitter that Durandal and Angular will converge!]]>http://www.walkerrandolphsmith.com/knockout-and-durandalhttp://www.walkerrandolphsmith.com/knockout-and-durandalTue, 15 Apr 2014 00:00:00 GMTAdding public repositories hosted on Bitbucket to your blog is a great idea to showcase your projects.
Checking out how the Github aside works will help, as they are similar.
However, unlike Github, repository names on Bitbucket can have white space, but the URL to a repository is stripped of white space and every letter is converted to lowercase.]]>http://www.walkerrandolphsmith.com/add-bitbucket-aside-to-octopresshttp://www.walkerrandolphsmith.com/add-bitbucket-aside-to-octopressFri, 05 Jul 2013 00:00:00 GMT