Knowledge: Tech Blog

Where we share our thoughts on technology and design.


Nick Owen

White-labelling using PostCSS path resolution

Theming an application is a concern for many organisations and products. In this post I'll present a simple way to manage branding using current tooling.

Luke Page

Aurelia, less2css and bundling

In the second post of my series on the Aurelia framework I walkthrough bundling the less2css project. The result of which significantly reduced the load time, but did uncover a few aspects of the Aurelia bundling process that do not yet feel fully formed.

Luke Page

Creating less2css using Aurelia

This post gives a walkthrough of a project that makes use of the new Aurelia framework. It also take a look at how it compares to Angular 2.0, which is still in development.

Luke Page

Making a RTL plugin in less

I mentioned in the previous post that I would create a plugin for less which converted from LTR to RTL. Here is a tutorial post on creating that plugin. Setting the project up I know we want to modify the AST (abstract syntax tree), so we will need a visitor...

Luke Page

Less vs Sass vs Stylus

First off, this is a biased blog post as I am heavily involved in less.js at the moment. I have been inspired to write this because of the popular sass vs less post and because although it is very accurate (at the time it was written) it doesn't really cover...

Luke Page

Extends in less

For a long time now, extends in less have been bubbling away. When I joined the less team in September last year it was one of the highest asked for feature requests. We decided that 1.3.x releases would fix bugs and implement minor feature requests and that 1.4.0 would include...

Graham Odds

Illusions in CSS

In an attempt to see how powerful pure CSS can be these days I decided to try implementing some of my favourite visual illusions without any JavaScript. Not only was this good fun, I gained quite a few insights into the current state of CSS.

Mark Rhodes

Improving Raphael performance on iOS with CSS transitions

In this post I'll run through the development of DOM-Raphael, a basic CSS3 based JavaScript library which acts as a replacement for Raphael and can be used to improve performance when running on iOS. The source code for the JavaScript for this post is available on GitHub. The driver behind...

Luke Page

Headless testing in less.js with PhantomJS

Introduction Less.js can be run in two ways, firstly through node and secondly in the browser. A great deal of the code is shared, but not all of it - particularly the way it deals with imports, paths and url's differs. Whilst typing "make test" in the node less.js repository...

Luke Page

The world of LESS

Luke Page, one of the project leads, gives an introduction to less.

Mark Rhodes

Picker Style Number Animation with jQuery and CSS3

This post describes a jQuery plugin which performs "picker style" animations between numbers using CSS3 transitions and transforms. The plugin was originally designed with iOS Safari in mind but works on the latest versions of Opera, Chrome and Firefox too (it should work on IE10 too but I've been unable...

Chris Price

Just what is the CSS 3D perspective property?

Most of us have had a play with CSS3 3D transforms, stacked a few elements, rotated them, maybe even made a cube out of them. And somewhere along the way, you'll probably have set the perspective property, tweaked it, wondered what it did, tweaked it some more, figured it looked...

Colin Eberhardt

Visualising StackOverflow Tag Relationships with Silverlight

UPDATE: I have posted the sourcecode for this control on codeproject. Recently I have been wondering about the wealth of information that can be gleaned from the 2.5 million programming question on Stack Overflow. A few weeks back I found a tag trending tool, which can be used to measure...

Luke Page

Text Overflow Ellipsis - FF, IE7 and background colours

Introduction This post is inspired by the news that text overflow ellipsis capabilities have reached the mozilla code base trunk (see bug). This should be in Firefox 7, which thanks to the new 6 week release cycles, won't be long. So, what is text overflow and why do I care?...

Luke Page

CSS Performance Part 3 - Updating Nodes

Introduction In the first two parts I looked at different ways of performing dom manipulation tasks like adding rows to a table and sorting rows in a table. These tend to be quite common since we display data in a table and a dynamic website may wish to show live...

Luke Page

CSS 3 Transitions vs jQuery

Introduction This post is me taking a break from the CSS Performance series. I have the next post almost written though... I was reading an article on CSS 3 transitions that was very interesting, but as I was reading, it seemed like the feature was designed for CSS designers -...

Luke Page

Css Performance - Part 2

Introduction In the first part I created a simple speed test harness and found the best way of creating 100 rows in a large table, regardless of the CSS conditions. Now I'm going to do the same for sorting. This isn't a look at sort algorithms, because that has nothing...

Luke Page

Css Performance - Part 1

Introduction Over the last month or so, I've been interested in website performance. There are a lot of useful tools that exist to help you get the most out the HTML/JavaScript/CSS Technologies - One resource in particular I've used is Google Page Speed. Among the recommendation is one to optimise...

Colin Eberhardt

Developing a Lookless Silverlight Gauge Control (part 2)

In a previous blog post I described the process of creating a lookless gauge control. I introduced the concept of an attached view model which separates view specific concepts from the control. In this post I demonstrate how this allows for great flexibility when re-templating the control. In my previous...

Colin Eberhardt

Developing a (very) Lookless Silverlight Radial Gauge Control

This blog post describes the development of a lookless radial gauge control. In this post I will explore the use of an attached view model in order to move view specific properties and logic out of the control code in order to give a truly lookless control. Today I had...

Colin Eberhardt

Using CSS Selectors for Styling in WPF

When I first encountered WPF I was really impressed by its styling and templating features which are more powerful than anything else I had previously seen for desktop software development. The property-value pairing within styles instantly reminded me of CSS, however the WPF styles lack the most powerful feature of...