Posts categorized as:
Pre-cache for Performance
Improve your page load time by pre-caching resources during service worker installation.
Drop 20K from your production Angular app
Replace core-js with a modern reflect-metadata implementation to reduce your production build.
But First...The Weather (VIDEO)
Will and Jacob share some of their favorite tools for programming with weather.
Slaying a UI Antipattern with Web Components (and TypeScript)
The RemoteData pattern can simplify your code and make it more robust.
Using Capacitor to Build and Distribute an Elm App
An investigation into using Capacitor to build an existing web app for mobile platforms
A Tale of Four Components
Web Components with Ionic 4 and Elm: Promises and Pitfalls
The next version of Ionic will ship as a collection of web components, usable in any front end framework. Will it work with Elm?
PRPL on Rails Part 3: Service Workers
Improve your site's performance with service worker caching
PRPL on Rails Part 2: Optimize Rendering
Optimize rendering to speed up your site's time to interactive.
PRPL on Rails Part 1: Code Splitting
Awesome times at RailsConf
Bendyworkers were at RailsConf 2018 in Pittsburgh having fun and talking about PRPL and offline.
Bendyworkers Head to RailsConf
JSON API Phase 3: API Server
The second entry of the JSON API tutorial series. In this phase we will be implementing our JSON API server with Express.
JSON API Phase 2: API Design
The second entry of the JSON API tutorial series. In this phase we'll be designing our API and using Swagger
JSON API Phase 1: Setup
The first entry of the JSON API tutorial series. In this phase we'll be setting up our api and client projects.
PRPL on Rails Workshop at RailsConf
The Ground Is Shifting
With mobile browser support nearly everywhere, it's the right time to invest in a Progressive Web App.
Build a Web Component with Nutmeg
Nutmeg is a tool that helps you quickly create, test, and publish a web component.
Introducing Intersection Observer
The IntersectionObserver API is a relatively new web API that allows you to observe when a DOM element enters or leaves a viewport.
Google Closure Guide: Compiling Without Errors
Get Google Closure compiling without any errors
Getting started with Webpack: Source Maps
Learn how to easily debug your compiled code with Source Maps
The Ionic Eddystone Endeavor
My journey through beacons, local notifications, and background mode
Getting started with Webpack: Dev Server
Learn how to iterate quickly with the Webpack Dev Server
Ionic Lazy Loading Bonuses
How to use Ionic Lazy Loading to its full potential
Getting started with Webpack: TypeScript
Learn how to save time and cut down on bugs with TypeScript and Webpack
Building Dynamic Forms in Ionic 2
Building a dynamic form made simple in Ionic 2.
Elm on Rails 5.1 with Webpacker
Setting up and using Elm in Rails 5.1 is simple with the Webpacker gem
Make a Native Web Component with Custom Elements v1 and Shadow DOM v1
Make an re-useable, encapsulated web component using Custom Elements v1 and Shadow DOM v1
Video Messaging in Rails
Check out how to add video messaging to your Rails app and get it up and running on Heroku.
We ♥ Progressive Web Apps II
Progressive Web Apps bring powerful native features like push notifications, offline, and homescreen install to the web.
Using HdrHistogram with Ruby
Get more accurate performance profiling results with HdrHistogram
Building A Slack Bot With Elixir Part 2
Part 2 of a tutorial covering how to use Elixir to build a Slack bot
The Not At All Definitive Guide To Opening PDF Files In Ionic 2
There are a number of different options, none complete
Webpack v2 Quick Start
We show how to hit the ground running with webpack and start your development with a basic configuration.
The Tragedy of Maybe and Ruby
Explore why the Maybe Monad is useful, but perhaps not in Ruby.
Installing Ruby on Rails Edge with Bundler
Learn how to take the latest commits to the Ruby on Rails master branch for a spin
Programmatically accessing ClojureScripts Externs Inference
Building A Slack Bot With Elixir Part 1
The first of two posts about using Elixir to build a Slack bot
Optimizing Your CI and WebPack Builds
We show how to optimize your ci and webpack builds with a few plugins and adjusting your configuration.
We ♥ Progressive Web Apps
Progressive Web Apps bring powerful native features like push notifications, offline, and homescreen install to the web
Elm for the Frontend, Right Now (Updated for Elm 0.18)
Leverage immutability and functional programming for the front end with Elm!
Parallelizing HTTP Requests in Clojure
We show how to use pmap and doall to parallelize HTTP requests in Clojure
Leveling up Clojure’s Hash Maps
We improved ClojureScript’s hash-map performance by 2x-100x
A tale of two selectors in HTML and CSS
Rails Enum is a Sharp Knife
Rails enum is useful but dangerous; here's how to wield it properly.
Elm for the Frontend, Right Now
Leverage immutability and functional programming for the front end with Elm!
Using Linux C APIs in Swift: Glob
Learn how to wrap a Linux-based C API with Swift, featuring glob
AngularJS and Rails Donuts
We explore setting up a Rails backend with an Angular frontend... with donuts!
Haskell's New Packaging Tool, "Stack"
Ease your Haskell development environment with Stack, a new tool from FPComplete
Cut & Paste Rich Text with Pandoc and Markdown
Bridging the development-documentation gap between text formats
Frank on Fire: Getting Started with Sinatra and Ember-CLI
Connect a simple Ruby API with Ember using generators from Ember-CLI
Writing a Haskell API Server, Part 4
We’re open sourcing the code that this series of blog posts is based upon.
Guarantee Authentication via Haskell's Type System
In Part 2 we proceeded to closely mirror our domain logic using Haskell types and typeclasses
Writing a Haskell API Server, Part 2
In part two, we move on into the Haskell realm where we can build up true domain logic.
Caravan: Ruby API Versioning & Enforcement
We're releasing Caravan, a sample implementation of a version-enforced API server.
Actually Using the Database
Building a secure database-backed API server in Haskell.
2014 Rails Rumble
After 48 hours, we shipped an app for the Rails Rumble!
The Old and the New: SOAP and Ember.js
Using Ember.js with SOAP
When a small red circuit board called the Tessel appeared on a crowd-funding site over a year ago, its promise to bring simplicity to hardware hacking caught my eye. It’s now on the market and, with a project percolating in my mind, I ordered one to...
BendyConf: A Paean To Plain Text
In this day and age of rich documents with multimedia features, what can we say about plain text? Is there any place for it any longer?
talk poem Chris suggests...
BendyConf: Bad Estimating Games
Estimation is a crucial but challenging element to managing any software project. Without estimates, we can’t say what stories (or features, in our lingo) are in scope or not in scope for a given development phase. At the same time, the process of...
Clojure has been growing in popularity since its first major release in 2008. If you or your company is interested in understanding the value of Clojure at a high level, read on.
Clojure might be the answer if:
Your existing application is written...
BendyConf: Introduction To Firefox OS
Josh’s BendyConf talk introduced us to Firefox OS, an open source, web focused mobile operating system developed by Mozilla. Although it has been available for more than a year, this June marked the release of version 2.0, making now a good time to...
Velocity and Working Software
Four inches per minute. Two hundred forty miles per seven years. One and a half millimeters per second. Even without something to compare to, most would consider this an inordinately slow pace. And yet this is the average velocity of an engineering...
Swift Syntax Highlighting Workaround for Blogging
Since Swift was announced less than one week ago, we as a community can’t reasonably expect syntax rules to be pulled into popular highlighting libraries like Pygments yet (though it’s certainly already in the works). You’ll notice in our most recent...
Unit Testing in Swift
Swift, being all the rage these last four days, has definitely livened up our programming chat room quite a bit. With cautious optimism, we (Betsy and Brad) delved into the Xcode beta, curious about the state of testing with Swift. For the purposes...
UW Big Data Event presents Storm
After hearing that Twitter would be sending its engineers to the UW to talk about Apache Storm, a group of Bendyworkers bundled up against the cold and made the short trek to the UW.
Single Responsibility Principle & iOS
View Controllers in iOS: we need to talk. You are—without a shadow of a doubt—the worst offender of the Single Responsibility Principle, and that needs to stop.
From Ruby to Haskell, Part 3: Lazy Evaluation
One of the defining characteristics of Haskell— that you often see listed in what sets it apart from other languages— is that it is the only common language that’s lazy.
The Migrationless Migration
If I may impose upon you for a minute, relational algebra is one of those things that, like linear algebra, is a shining intellectual gem.
What can SQL do for you?
What can SQL do for you? Chris shares his thoughts on the changelog on how to take full advantage of relational databases.
Lists out of lambdas and boxes out of functions
There’s a cool article by Steve Losh called List out of Lambda that reminded me, in a really good way, of a section in SICP. If you want to read the boiled-down scheme version that’s in SICP, here it is: SICP section 2.1.3. What follows is my paraphrasing...
From Ruby to Haskell, Part 2: Similarity, Refactoring, and Patterns
It has been a while since I last wrote one of these posts and I didn’t want to leave people sitting by their computer desks forever, waiting with bated breath for the next one to pop up in your Google Reader feed (…whispers from the Internet…), okay...
You Don't Know Your Visitors, So Stop Pretending
Part 1: What is analytics really?
Web analytics should hurt a little. Not just the pain of seeing your low traffic revealed in hard numbers, but the realization that you don’t really know your visitors.
We programmers tend to be preoccupied by our...
From Ruby to Haskell, Part 1: Testing
You read that right. Or maybe, if you read it as “stop using Ruby and start using Haskell”, you read it wrong. I’m going to show you why I find Haskell to be utterly fascinating and eminently practical.
Foremost, I want to collect some bits and pieces...
Testing Security with Brakeman
Security in web applications is not something developers discuss often enough – some think of it as a taboo subject, or something the NOC guys have to deal with. Some treat security as a post deployment afterthought. Sometimes little thought is given...
Cthulhuian Document Preparation With Troff
tl;dr: If you are looking for a lightweight document preparation system in the style of LaTeX, try out
troff which is probably already on your system.
Lurking deep in UNIX, even on your shiny new Mac, is the eldritch horror of troff. It waits...
Don't Say 'Emacs' or 'Vi'
A brief tour of some other editors
Quick, think of your favorite
$EDITOR. If you’re anything like me or the people I work with, you’ve got a horse in this race. And again, if you’re anything like myself or my comrades, you’ll probably say Emacs or...
The Hidden Life of Stylesheet Preprocessing
Like any piece of art, a stylesheet should be indivisible and bold, but natural. It should arrive to the browser in one elegant file, a succinct connection between page semantics and presentation. Preprocessing distances a stylesheet from the Sturm...
Bwoken Version 1.1 Released
Version 1.1 of Bwoken has just been released! This feature release includes the ability to run UIAutomation tests on a device rather than the simulator, in addition to a number of internal improvements to Bwoken.
Developers we come across have always...
Respond With An Explanation
Shedding some light the respons_with feature of Rails
George Boole Returned As a Zombie and is Gnawing on My Brain
This is about that oft-neglected corner of programming, the humble boolean. Perhaps, by thinking about what’s going on in many boolean expressions, we can iron out his quickly-forking complexity. And, oh, what luck! Here’s a slab of boolean logic that...
UIAutomation and Pusher
Tiggering Pusher events from automation code.
Our first iOS app
A native front-end to Travis CI
From 0 to 1 Million in 6 Hours
A Twitter app written to help experience live events in a new way.
HTML5, AJAX, IE, and Shivs
Using HTML5 shiv libraries
Excluding Dev and Test Gems from Heroku
Some tips for managing gems on Heroku.
Script to Use Gems Locally, but Not on Heroku
Do two things to help with gems on Heroku.