RSSAmplifier

Blog

Award Winning Fjords

Words & Wisdom by Thomas Reynolds

awardwinningfjords.comRSS feed ↗94 posts

Latest posts

Programming With Facts

Redux is an infinitely deep tree and every piece of code that accesses it needs to know where to find each piece of data. MobX is a set of inter-dependent silos which prefer to be singletons and require a lot of magic (such as decorators and observables...

Middleman v4

Middleman v4 Alpha 1 was released 16 months ago. Development hasn't really slowed in that time. I didn't mean to create a massively different codebase for what amounts to a handful of nice user-facing improvements, but, of course, I fell victim to...

My Weird Ruby

Over the past year, I've been rewriting large portions of the Middleman codebase to better reflect how I like to write code (as opposed to the silly version of me who did the original version 6 years ago). I've learned a lot since then, spent pretty...

Book Stuff: 2014

Started some long series (Honor Harrington and Discword), while finishing others (Vorkosigan). Books First Lord's Fury Cryoburn Small Favor Nexus Turn Coat Changes Crux Ghost Story Among Others The Color of Magic The Goblin Emperor Skin Game The...

Best Albums of the Year: 2014

Another year, another handful of albums to listen to. Here's my ranking, from 10 to 1. Weezer Everything Will Be Alright In The End Explain to me how Weezer can make a good album after 18 years of garbage...

Functional Programming in Javascript === Garbage

Functional Programming is great. It allows for simpler programs which are easy to test and reason about. Unfortunately, not all languages are created equal. I've been writing a bit of Clojure and really enjoying myself. As I've ported my learnings...

Still Reading

I read a lot this year. Not as much as last year, but still not too shabby. Books Best Served Cold A Civil Campgaign The Heroes Diplomatic Immunity Red Country The Human Division Etiquette & Espionage Caliban's War Warbreaker The Rithmatist Elantris

Made Some Websites in 2013

Looking back over 2013, I'm pretty proud of the projects I was able to work on. Of course, I've had no meaningful output on this blog since April, but other than that I was quite busy. Most of these projects were group efforts with multiple developers...

Best Albums of the Year: 2013

After my disappointment with 2012, this year came back with some great albums. I'm not going to bother to rank them, but here they are. Jizue Journal I've developed a fascination for Japanese Neo-Jazz when...

Google I/O 2013 Experiment Roundup

This year for Google I/O's pre-conference web site, we (Instrument) created a series of mobile-first experiments. It looks like this: Check out the whole thing at: https://developers.google.com/events/io/ and see if you can find all the unlockable...

Middleman Blog Editor v0.4

I'm happy to announce Middleman Blog Editor v0.4 , the second feature release of the project. With this release comes two big features and a bump in price to $12. You can purchase a license here . Existing users get free updates all the way until the...

New Features: Image Optimization, CDN and Gzip Support

Today I'm happy to announce the first round of new Fjords features. If you're not yet a user, find out more on the website . First, you'll need to update the Command-line Tool or Middleman extension to version 1.1.0 . This is as easy as: gem update...

A WWDC for the Web

The last few years has seen an explosion in what's possible with Web technologies. The Mobile Web will soon be the way the majority of users view your site. HTML5 applications are robust, stable and becoming ubiquitous. Simply put: the Web platform...

Fjords: A Simple Service for Sharing Static Websites

I'm very excited to announce my new project, Fjords . Fjords is a service that lets you upload your static websites to be hosted in the cloud. Use Case: Agency Environment I happen to work at an agency . As we design and build projects, we constantly...

Middleman Blog Editor

I'm incredibly excited to announce my holiday project: the Middleman Blog Editor . This is my first paid extension for Middleman and one that I hope will prove that the community is large and mature enough for 3rd-party features and extensions to have...

Moar Kindle Dots

Trends 5 Books by Brandon Sanderson (plus 1 novella and an audio book) 7 Vorkosigan Novels (Lois McMaster Bujold) 3 Books by John Scalzi 3 Trilogies (Mistborn, The First Law, The Hundred Thousand Kingdoms) 3 Audio Books (Legion, Fool Moon & Grave...

Best Albums of the Year: 2012

I think I'm getting old. Last year I only had 7 albums I like, this year is even worse. I listened to a lot of Leonard Cohen and Hall & Oates this year :-p Honorable Mentions: Japandroids, Regina Spektor, Between the Buried and Me, Dethklok, Killer...

Sparkle Motion: A Thousand Points of Light

This year, we ( Instrument ) had the opportunity to work on Google's Zeitgeist site . Every year, Google collects the most popular and fastest rising search results and shares them with the world. The site features the results of "The World" & 55 different...

Window Location in UIWebView

Which question. How do you get the current URL of a page in a UIWebView context (link followed from Twitter, Facebook, Gmail.app, etc)? If you said, window.location.href , you'd be wrong . In the final hours of testing before a new site launch, users...

How Do I: Structure Applications

This is part two in a series of "How Do I" articles ( part one, Animation, is here ). These are how I, Thomas Reynolds, accompish certain tasks. This isn't about comparing multiple technique or even justifying my prefered approach. This is a brain dump...

Facebook the Devourer

I can't find a way to write this article without it sounding like a rant, so why fight it? The views and opinions expressed are my own and do not necessarily represent the views of my employer. Facebook is a social network with 1 billion users. It...

How Do I: Animate

This is the first piece in a series of "How Do I" articles. Since that phrase can be taken multiple ways, let me explain: this is how I, Thomas Reynolds, accompish certain tasks. This isn't about comparing multiple technique or even justifying my prefered...

Beware of CoffeeScript Comprehensions

I've recently spent some time addressing bugs and speed issues with the first large CoffeeScript project (nearly 10,000 lines of code) I've worked on with multiple developers. For the most part, the process was painless. CoffeeScript hides a great...

Middleman 3.0 Beta 2

What is Middleman? Middleman is a small tool for developing stand-alone, static websites. It's great for separating frontend development from the backend, developing blazingly fast static websites or quickly creating prototypes. Middleman brings all...

Canvas Hit Tracking

NOTE: Code samples are in CoffeeScript One of the most fundamental interactions of any game is the ability to click (or touch) an on-screen component to manipulate it. Sounds simple enough, but when building HTML5 Canvas-based games, you'd be wrong...

Image Sequences: Let Me Count The Ways

Everyone's very excited by their "Pure CSS" this and "Pure CSS" that , but if we are front-end developers really want to start taking on traditionally Flash use-cases, we're going to need to step out animation game up a notch. Enter the Image Sequence...

Best Albums of the Year: 2011

I almost didn't write this article because I was so disappointed in 2011. Here it is anyways for posterity, I couldn't even manage to find 10 albums I like enough to list. Top 7: The Dear Hunter The Color Spectrum

Middleman 3.0 Beta

Middleman is a small tool for developing stand-alone, static websites. It's great for separating frontend development from the backend, developing blazingly fast static websites or quickly creating prototypes. Middleman brings all of the power of Rails...

Ember.js Live Collections

If you're writing a client-side application, there are two common tasks you can expect to perform. First, modern web applications are expected to show updated information as quickly as possible without a full page reload. (Think about Twitter or Facebook...

The Tweets They Are A-Changin'

How you do add more meaning to 140 characters optimizing for brevity over clarity? You can infer meaning and intention from what you know about the author. If you know the author in real life, often you can hear the way they would have said a certain...

Kindle Dots

I used to tear through several books at a time. I'd collect and organize as many as I could get my hands on and keep them in as pristine condition as possible. My dad loved comics and sci-fi, so I started there. Then, I became interested in pop-science...

Experiment: Particle Rider

Here's a little particle system I built to experiment with Paper.js . Move the mouse to draw a path and watch as the particles follow it. Trapping the particles in infinite loops is fun.

Just Launched: The License Lab

My first project, that I can talk about, with Instrument has just launched. The License Lab is a searchable, music catalog which can be licensed for a variety of uses. Vistors can browse and preview hundreds of available songs. Registered users can organize songs into playlists and share them with others. As the focus is on the songs, the heart of the website is the music search functionality…

Just Launched: Metalab Design v4

I'm happy to announce the latest version of the Metalab Design website is live! I worked on the initial development, interaction and code. Then Ali Bosworth and Jason Webster , of Flow fame, did the hard work of polishing the animations and getting things looking great cross-browser. Check it out!

Middleman 2.0

Middleman 2.0 is a huge release featuring a refactored core, a unified source folder, a unified command line, tons of new features and a full documentation website . As always, install via RubyGems: gem install middleman For more information, read the Getting Started guide. Here's an overview of everything that's changed.

CoffeeScript-specific Style Guide

First, go buy @topfunky 's new CoffeeScript PeepCode screencast . It's wonderful. All done? Okay. One of the most interesting pieces of information to me, as someone who's been writing a lot of CoffeeScript and has written a ton of Javascript in the past, is the subtle tweaks to style in CoffeeScript. Here are some quick preferred styles.

Javascript Microframeworks and The Future

Last week at jsconf , Thomas Fuchs continued his argument for small frameworks with the release of MicroJS which acts as a listing of tiny, single-purpose libraries. The idea being that freedom and choice, combined with optimizing for size will result in a better product than using a larger, monolithic "framework." But what are we talking about when we say "framework" and what kind of applications…

Trigger CSS3 Animations with jQuery

Did you know that jQuery 1.4.3 added a system for adding custom css attributes? For example, any normal style can be applied like so: $(elem).css({ background: 'red' }) But what about more complicated styles? Complicated polyfills and vendor-prefixed styles? What if you could add a custom handler for border-radius ? It's pretty simple and I'll show you a strawman example.

jQuery.Deferred Image Preloader

A little wrapper around jQuery.Deferred for an image preloader.

Just Launched: PixelUnion v2

A project I've been working on has just launched. Check out the release post from the Metalab blog below: About a year ago, we teamed up with 45royale to create Pixel Union , a premium Tumblr theme marketplace showcasing designs by some of the world...

Just Give a Damn About Something

I just want everyone to care about something. [...] I just think it's sad when people seem to have no passion in life. - Marco Arment

CrossFit is for Nerds

Yesterday I competed in the CrossFit Games Open WOD 11.5 at CrossFit HEL (in Portland, Oregon). To the majority of my readers, those words mean absolutely nothing. So, let's start at the beginning. What is CrossFit? CrossFit is an fitness program...

Branching Out, Opening Up and Publishing More

It's been 2 years and 1 month since I started writing seriously here. I've enjoyed it very much, but I've also focused almost exclusively on technical articles and the promotion of my own open source software. While I am proud of these articles, it...

Middleman v1.1

Update: Middleman version 2.0 has been released It's been a long time since I introduced Middleman on this blog in 2009. Since then, RubyGems reports that there have been 27,518 downloads, several great contributors to the source code and even a mention in a printed book. I've been working hard on documentation as it was the most requested feature from the "Future of Middleman Survey" . I'm a…

Adjustable Animations with Sliders

Quick question? What is the perfect amount of time to animate an element on a page? jQuery defaults to 400ms, which sounds short, but ends up being pretty perfect for most occasions. It gets the job done and then it gets out of the way. However, it shouldn't surprise you that designers have opinions on motion and we're just now reaching the point where motion is becoming important on the web.

Announcing: WouldHire.com

This year at SXSW I was either involved in or overheard the same conversation several times. Person A: So where do you work now? Person B: Just started a new job at Company X. Person A: Ah, man, you should have told me you were looking. I'd love to work with you. Somehow, despite all of our constant communication and over-sharing on Twitter, we still like to avoid "serious" conversations about…

Model and Data Store: JavascriptMVC

Last time, I wrote about client-side models in an abstract way using plain Javascript. Understanding the purpose of models and encapulating model-specific functionality is important for code organization, but you will end up having to write a bunch...

Aaron Quint on Javascript Hash URLs

Sammy and the ‘#’ are for applications. It provides a way to maintain state in a world where you can require JavaScript and even require the presence of certain browsers. If you’re an application, that requires login/signup you can make a number of...

Andy Rutledge on Kickstarter

By taking the professional-to-client approach for what should be a merchant-to-customer context, Mr. Chimero has abdicated ownership of his idea/genius and the results that will come of it. Having bought and paid for it, the collective investors now...

Future of Middleman Survey

I've created a brief survey about Middleman . If you've used the project, I would love your input. Thanks! http://www.surveymonkey.com/s/5P9B92Q