[ /tiny/code ]

I was born in Cape Breton, Nova Scotia. My family moved to the suburbs just north of the city of Toronto when I was still an infant.

I grew up there, and moved into the heart of the city just after turning 19. I'm glad I grew up where I did, and that I was able to experience many of the things that I did. That being said, the city is hectic.

I live on the eastern edge of the city now, nearly at the edge of the subway system. I spend very little of my time in the core of the city, mostly preferring to stay home, where it's quiet, calm, and warm.

My parents have long talked about moving back to Nova Scotia, and it's something I've always thought I would eventually do. Only recently, though, has it become a very attractive idea.

I mostly work from home, these days, spending my time at the terminal. I write, prose (like this), chat on irc, javascript code for servers or web pages... the point is, hardly anything I do depends on any physical location. I can work from anywhere.

So what?

Growing up, most of my attention went towards music, and musicians tend to accumulate gear. I own a number of amps, guitars, drums, mixers, microphones, cables, the list goes on.

A few years back, I started to get really tired of it, and I started to divert more and more of my attention to programming, until I got to where I am now.

I like knowing how things work, but overall I love the idea of having a tiny footprint. I can be quite happy with nothing more than an old laptop, but minimalism has become more pervasive in my life than just that.

We the Tiny Code People

I while back I watched a documentary, We the Tiny House People. It explores the growing subculture of those who forsake the value of living in a large estate. To them it is a more of a restriction than a luxury. A large house means a large heating bill, more taxation, greater expenses decorating, more time cleaning...

The film resonated with me, and I've been exploring how this can apply to my own code. The maker of this documentary explains that she is by no means a leader of this subculture, it already had deep roots when she found it. I found the same:

  • MicroJS aims to make it easier to find javascript libraries that accomplish a lot with minimal overhead.
  • ki.js aims to provide a tiny alternative to jQuery's selector syntax (which is enough for most common tasks).
  • ki.extend.js provides most of whatever jQuery features ki.js does not implement.
  • You Might Not Need JQuery and vanilla-js highlight the 'modern' web's unnecessary dependency upon bulky frameworks.
  • PureCSS aims to provide a tiny alternative to responsive design frameworks like Bootstrap and Foundation.

What am I using?

I plan to use this blag to sound off about my experiences with Tiny Code, and how I integrate different approaches to minimizing a server's impact on its network.

I first started writing this series of articles in mid-2014, and a lot has changed since then. I chose not to go back to school, and instead started working as a web developer. That turned into a full time gig, and I picked up a lot of tricks for clientside js.

I seldom get a chance to flex my minimalist chops at work, since people seem to love heavy animations. For my own sites, my own code, I get to make the choices, and I always try to choose the lightweight option.

I'm still using ki.js, but I've been actively working at fine-tuning its extensions to suit my tastes. When I need a new method, I add it. To avoid having to send two http requests to get all the methods, I've bundled them into a single file called ui.js. You'll see it if you look at this page's source.

No more CSS Frameworks

As I wrote more and more clientside code, I found that the biggest bottleneck for productivity was always CSS. I can get a lot done with very little javascript, but styling almost always means writing a lot of code. To keep small stylistic choices from hampering productivity, I've made Less a part of my toolchain. It's meant an extra dependency, but it simplifies things enough that I'm okay with pulling it in.

Using Less, it's possible to define variables for height, width, color, and most things which tend to be repeated throughout a stylesheet. This made it quite a bit easier to define a color palette, and to tinker with a lot of values at once. Once I was able to do that, I found it quite easy to write some fancy CSS that did everything I used to use pureCSS for. If you've been browsing this site for a while, you'll notice I made some changes. All the CSS here is my own, now, though I've used some common Less mixins to achieve certain effects. In most cases, these are the simplest possible implementations, so I'm not locked into using any vendor prefixes.

Otherwise, I'm still using marked.js, basically for the same purposes. Unlike js, HTML and CSS are especially verbose, and having a preprocessor in front cuts down on the repetitive aspects of editing their content.

You can try turning on Javascript for this site, and see that you hardly lose any functionality. Previously, there were quite a few things that would break. I'll write more about these new techniques going forward.