Blog
$
- High Modernism & Software Design
- What Might Happen If You Share It
- But What About the Bus Factor?
- Welcome to the Twitterscape
- On Working Alone
- Mocking Classes with TypeScript
- Museum of the Analog Native
- A Tale of Two Issues
- Notes on AngularConnect 2017
- The Covert Opt-In
- Going Static with Hugo
- Productivity Is Happiness
- The Elevator of Infinite Abstraction
- Some notes on Angular 2 AoT mode with Webpack, Sass & ngtools
- An Early Look at SKQW: JavaScript Audio Visualizer
- Why I Haven’t Fixed Your Issue Yet
- Components with Custom Templates in Angular 2 (beta.7)
- Angular 2, CommonJS and Circular Dependencies
- AngularConnect: Summary and Analysis
- The Republic of Virtue: Terror, Tolerance and the Internet
- Fixing Chrome Autofill: Mysterious Wrong Values Solved
- Automatic @import of Less/Sass files with Gulp
- angular-wordpress-seed: A complete example project with AngularJS and the WordPress JSON REST API
- A Note on Angular Expressions And JavaScript Identifiers
- Book Review: Responsive Web Design with AngularJS; plus Musings on Technical Writing
- Exploring ES6 Classes In AngularJS 1.x
- The Programmer Dad
- One Year of GitHub and Open Source
- Building a 3D Game with CSS + HTML
- My Thoughts on ngEurope 2014 and AngularJS 2.0
- Writing Multi-Element Directives in AngularJS
- CSS + JavaScript 3D Butterfly: A Case Study
- Experiences Building a Website with AngularJS + WP-API (WordPress API)
- A Note on Touch (Pointer) Events in Internet Explorer
- Enable Rich Social Sharing in Your AngularJS App
- A Killer Startup Idea
- What Makes A Good Tech Talk?
- Site-Wide Split Tests With Google Analytics Content Experiments
- Paginate (almost) Anything in AngularJS
- Auto-breadcrumbs with angular-ui-router
- Simple 1D Noise in JavaScript
- Confessions of an Intermediate Programmer
- Audio Visualization with Web Audio, Canvas and the Soundcloud API
- Using Disqus with AngularJS
- An Overview of the ng-conf 2014 Presentations
- An Ordinal Date Filter for AngularJS
- How I got Zurb Foundation 4 to work with IE8 with zero lines of code
-
Simple 1D Noise in JavaScript
I am working on a side project in which I needed to generate some “random”, or more accurately, unpredictable motion. At first I tried using the Math.random() method, and using those values to set the position of my moving element. This, of course, looks terrible because the element will simply jump around to various points, “teleporting” between them. After searching around for a bit (one of those slow search processes where you don’t really know what you are looking for) I figured out I needed some kind of noise function. -
Confessions of an Intermediate Programmer
I am an intermediate programmer. I have a pretty good grasp of the basics. I have made enough mistakes to have a good idea why they were mistakes. I am aware that there is a lot that I need to know more about. Crucially, I have some idea of what those things are, and I am actively and energetically working on improving. It has taken a while for me to get to the point where I am confident enough to admit that I am only average in ability. -
Audio Visualization with Web Audio, Canvas and the Soundcloud API
Audio visualization Update 05/02/14 - This demo got featured on Google’s Chrome Experiments website! This has generated a lot more interest (as in hundreds of views per day rather than one or two per week) so hopefully we will see some improvements from the community via the GitHub repo - I’ve already had a first pull request adding some very cool new functionality! Update May 2015 - As of latest versions of Chrome (42+) and recent versions of Firefox, changes in the way cross-origin audio is handled mean this demo may not work. -
Using Disqus with AngularJS
Getting the comments platform Disqus to work with your Angular-based website is probably not going to be as simple as dropping in the default Disqus code snippet into your HTML template. Due to the way Angular loads its templates, it is likely that the Disqus script will not get executed and you won’t see the comments box on your page. I searched on Google to see if there was a documented way to get Disqus to work with Angular, and I came across this project on GitHub. -
An Overview of the ng-conf 2014 Presentations
Although I couldn’t be there in person, I just finished watching the entire ng-conf on YouTube. Here is my overview of what I learned and what I enjoyed from the presentations. To give you an idea of my perspective, I’m a relatively new AngularJS developer. I’m getting comfortable with the basics and I’m about to embark on a pretty large-scale Angular project. So my main interests in this conference were learning about building at scale, cementing my understanding of the basics, and gaining a deeper appreciation of how all the magic in Angular actually works. -
An Ordinal Date Filter for AngularJS
The AngularJS date filter is used to format a time stamp into a human-readable date string. For this website, I wanted to be able to format the date so that the day of the month included the English ordinal suffix, 1st, 2nd, 3rd, 4th etc. Having worked with PHP’s date() function, I expected there to be a format string for this very thing, but was surprised to see that there isn’t. -
How I got Zurb Foundation 4 to work with IE8 with zero lines of code
I recently did a re-design of a medium-sized e-commerce website with version 4 of the excellent Foundation framework from Zurb. Right at the very end of the project, I realised that my carefully-crafted design completely broke on IE8. It literally looked like it had been run over by a bus and had flattened into a big tyre-track of dead webpage running down my monitor. But…why even support IE8? Good question. The Zurb guys themselves made the decision to drop support from version 4 onwards.