We just completed the 2014 Rails Rumble. We built an app called Gatherings for coordinating Game and TV viewing nights with friends. More details coming soon!

We don’t always get to choose the technologies we have to deal with everyday. I, for one, would love to be using an iPhone 9 right now, but it seems Apple hasn’t yet invented it. Despite it being 2014, some of us have to deal with SOAP every day and yet yearn to use some […]

As a frequent speaker, I hook my laptop up to strange projectors that my laptop has never seen before. I also need to get my presentation working quickly as any delay or perceived technical problems set a poor tone for the presentation and stress me out. Through my speaking career, I’ve learned two tricks that everyone who […]

Recently Rich Hickey announced transducers for Clojure, the next big idea in Clojure after reducers. In Clojure, we often work with collections in various types of sequences (lazy or not), and core.async channels. The workhorse functions in Clojure–map, reduce, and filter, among others–are all functions that operate on collections. When we compose multiple functions that operate […]

August in Madison always brings a buzz of excitement for Madison+ Ruby. In just 10 days we will welcome members of the international Ruby community to our hometown (we’re honored!). Madison+ Ruby has set a high bar for Ruby conferences ever since it was founded four years ago. Its organizers, Jim and Jen Remsik of […]

BendyConf 2014: “Tech Education for the Rest of Us” by Betsy Lorton from Bendyworks on Vimeo. Dev Bootcamp is one of many programs to crop up  in the last few years offering an intense, immersive educational setting where those with or without experience can break into software development. Betsy, a Bendyworks developer, attended Dev Bootcamp […]

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 play with. This post documents my initial impressions after […]

We’ve been playing around with Ember since before it was extracted from SproutCore, and it wasn’t until recently that we got this unusual request from one of our clients: “Can you embed an Ember app in an external page like you would Google Analytics or Google Maps?” Our immediate answer was “Probably…” quickly followed by […]

BendyConf 2014: “A Paean To Plain Text” by Chris Wilson from Bendyworks on Vimeo. 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? In this talk poem Chris suggests that perhaps plain text is as relevant as ever. It has […]

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 estimation is often influenced by power dynamics and other subtleties of psychology that […]

A guy walks into a web shop. I’m thinking of starting a travel blog,” he says. “I’m sure you’ll need a logo.” “Oh, a logo? Can you make me one of those?” And so begins the act of arting, as Bendyworks designer Kelly Rauwerdink calls it, a black box process to many of us outside of […]

I’m not an SEO. Until MozCon, I didn’t realize SEO (Search Engine Optimization) could be used as a job title. I knew that keywords and links are important for building site traffic, but meeting over a thousand people at MozCon whose entire careers center on keywords, clicks, and links blew my mind. I had a […]

I’m not an SEO. Until MozCon, I didn’t realize SEO (Search Engine Optimization) could be used as a job title. I knew that keywords and links are important for building site traffic, but meeting over a thousand people at MozCon whose entire careers center on keywords, clicks, and links blew my mind. I had a […]

  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 in Java. Clojure runs on the JVM (Java Virtual Machine) and has direct […]

I’m not an SEO. Until MozCon, I didn’t realize SEO (Search Engine Optimization) could be used as a job title. I knew that keywords and links are important for building site traffic, but meeting over a thousand people at MozCon whose entire careers center on keywords, clicks, and links blew my mind. (What’s MozCon, you […]

When we speak to prospective clients or when we explain what we do to people we meet, they often tell us that they don’t understand technology or software. We hear a range of comments from, “I don’t know that much about tech” to “I’m so software illiterate.” These comments are disheartening because we know these […]

This post is one in a series of blog posts that answer some of the most common questions we get from prospective and current clients. All of the posts in this series are under the Questions tag if you want to view more like this. As a consultancy, we think a great deal about our practices […]

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 get acquainted with the project. The key feature of Firefox OS is its use of open standards and web technologies: application layout […]

We believe it’s important that companies provide a forum for employees to share their passions, learn about a diverse array of topics, and enjoy the company of their coworkers. For us at Bendyworks, a big way we do that is through our internal conference, BendyConf. BendyConf allows us to learn from each other while also […]

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 project I worked on, from its development in the lab to getting it […]

In his talk The Internet Is Your New Database, Will laid bare the ideas behind the semantic web. While usually shrouded in misunderstanding, the semantic web has lots of cool ideas packed in it. Triples Will started with the simple notion of a triple: Subject: Will “Fresh Prince” Smith Predicate: from Object: West Philadelphia Or as I first thought of […]

For a while now, Bendyworks has offered its employees an annual budget of $1,000 for attending conferences. Travel, lodging, tickets… if it relates to attending a conference, we’ve got our team covered. And if a Bendyworker is speaking at the conference, they don’t even have to dip into their Bendyworks conference budget. While we do […]

Can’t get enough summer tunes? We certainly can’t, and so we’ve partnered with a number of local businesses to bring more music al fresco to our fine city. ELEVATE, a free concert on the roof of the Madison Museum of Contemporary Art, places beautiful sounds smack on top of floors of beautiful sights. If you’re not already as passionate about supporting local artists and […]

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 post, Unit Testing in Swift, that we successfully applied syntax highlighting to our code […]

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 of this article, we’ll only cover the basics of unit testing with […]

I recently attended BayHac 2014, the Bay Area Haskell Hackathon, and I wanted to cover some of my impressions from the conference. I’m breaking it down by the days and the things that I attended. There’s a ton more on the event page linked above for those that are interested. Friday The hackathon started out […]

In our neighborhood spring has arrived. For us here in Wisconsin, that means we crawl out of our frost caves and igloos and offer sacrifices of cheese to the Sky-serpent so that he regurgitates Sky-orb for the summer. Also there’s lots of road construction. But enough with what you all know about us Wisconsinites. The […]

Throughout the year, Bendyworks contributes to a number of community-based events – this year we’re also sponsoring individuals to support important work being done in the tech community.

To deepen the team’s knowledge of each of our projects, we started a client talk series during our weekly tech talk lunches.

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.

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.

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.

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.

Happy New Year, from Bendyworks and Flying Rabbit Press from Bendyworks on Vimeo. This year we went analog with our holiday card. We got our hands dirty with Kate Clapper of Flying Rabbit Press to document the unique process that is letterpress–from mixing the ink to rolling the drum across the press, one color at […]

In an industry where paper feels like an artifact of a bygone era, we decided a little tactility and handmade detail would be a welcome change of pace. After months of illustrating and distilling Bendyworks’ values into some sparkly copywriting, we’re happy to present the Bendyworks 2014 calendar: a showcase of our values, our design […]

Mark your calendars! Bendyworks will be hosting the Global Day of Code Retreat on Saturday, December 14th. What’s a code retreat, you ask? A code retreat is a programming event that focuses on honing your skills. You take time out from your usually busy day to focus on learning. It is “practice” over “production,” “sharpening” […]

A fresh perspective is critical to taking design from good to great. An outsider can give input to help tweak elements until all the images dazzle and animations flow smoothly. That’s what Mic and I did for the Wisconsin Media Lab’s Wisconsin Biographies interactive site intended to teach kids about famous Wisconsites. They already had the animations […]

It’s a foggy week here in Madison, folks. We’re all about matching our music to our mood, which meant it was perfect that Jonk Music posted this video of Ghosts from last month’s B-Sides with ON AN ON. No matter the weather where you are, take a listen. We think you’ll like what you hear. B-Sides […]

What can SQL do for you? Chris shares his thoughts on the changelog on how to take full advantage of relational databases:

Chicago-based ON AN ON was named the number one band to see at SXSW 2013 by Time magazine. We couldn’t make it to Austin to verify that ourselves, but we’ve been playing them over the communal Bendywaves this past week in anticipation for their appearance at our upcoming B-Sides. Our reactions: Music to work to […]

As Bendyworks’ latest apprentice it’s easy to forget that no one knows everything. My journey as a developer began just 20 months ago, and with a background in French language and photography, it hasn’t always felt like the easiest transition. However, as Stephen indicates in this video, we work in an industry that constantly evolves […]

In response to a great discussion in the bwoken issues forum, I’m happy to announce the first beta of bwoken version 2! The major change, which justified the major version bump, is that bwoken is no longer invoked with rake but instead with bwoken. So, now you can do fun things like this! $ bwoken […]

Imagine yourself at a concert on the streets of Madison, a block away from the Wisconsin State Capitol (known for, among other things, being the largest granite dome in the world), listening to Willy Porter, and waiting for the headliner—Eric Hutchinson—to take the stage. As you wend your way through the crowds, you come across […]

When you’re pitched a four dimensional water bottle, a baby’s first mace, or completely opaque windshields, you might want to stop and wonder how you found yourself in that position. While this isn’t exactly a common situation at Bendyworks, it certainly happened at the office this past Wednesday. Fortunately for today’s savvy consumer, however, none […]

Bendyworks | Growth Day from StoryFirst Media on Vimeo. Here at Bendyworks we take Fridays for personal, professional and company growth. We think growth days are vital to stay engaged with the open source community, polish our skills, and work on new technologies that clients may not need today but will in the future. Our […]

Bendyworks is happy to announce that we’ve partnered with some great folks to bring you more access to the Madison music scene. The Majestic Theatre has been bringing national touring acts to our area for the last five years and has supported the community with projects like the Live on King Street concert series. Together, […]

While visiting Twilio for a day on my two-week programming pilgrimage I learned that I’ve been pretty insecure. Joël Franusic (@jf) explained that I needed a security makeover. You probably do too! So let’s get started. Follow the suggestions as you read this article and by the end you can be pretty comfortable about your […]

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 of that plus a few comments on the current Javascript hotness of Promises […]

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 never mind that Google Reader thing. I had […]

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 creations. We repetitively visit our sites, refining and building. Reading our own […]

You might as well learn it now, because you’ll be using it in 6 months. Styleguide rails is a cool gem that builds a living, breathing styleguide for your site. You can add it to your project really easily (let’s just do it right now): gem install styleguide_rails OR edit your Gemfile: gem ‘styleguide_rails’ and then bundle. […]

In August 2012 I resolved to become a world-class web developer in one year and to share my progress and discoveries along the way. I challenged myself with the task of learning a new programming topic every two weeks, blogging about what I learned and giving talks at user groups and conferences. Forcing myself to […]

Bendyworks origins in Madison, WI means that we are football fans. With Green Bay in the playoffs we were able to try out a new advertising medium. Take a listen to our ad below or listen to WIBA AM or FM during today’s game.

“Centro’s experience with Bendyworks was very positive. The developers we worked with were able to jump right into a complex code base and quickly contribute quality code to an ongoing project. Everyone was smart, pragmatic, and fun to work with.” – David Bortz, Centro

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 from articles that I have read and talks that I have […]

More Unix than Unix Do you like Unix? Do you really like Unix? Well, what if I told you there’s a little-known operating system out there that’s more Unix than even Unix is. Cool, right?

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 after an attack has already occurred. Some web developers ignore security all together. […]

Madison’s Weekly Newspaper, Isthmus, picked up a story from local freelance journalist Marc Eisen. The story, one in a series on Madison’s Next Economy, focuses on Brad Grzesiak’s idea of creating a tech corridor on the East Side of Madison. Several aspects of Bendyworks which are unique to the area are also featured prominently in […]

Last weekend, three Bendyworkers and a Swink-person (Swink-ee?) participated in the Rails Rumble, a competition to build a web application in just 48 hours. Rather than hacking on the backend like I usually do, I ended up almost exclusively forging the frontend. In doing so, I came to further appreciate the sheer immensity of tasks required […]

Last night I was able to attend a workshop at Madison Media Institute featuring Moldover and his crazy custom mixers and modified instruments such as the Robocaster. At the end of the night I was so impressed I twisted his arm until he came to Bendyworks to perform and share with us. The buttons and […]

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. Intro Lurking deep in UNIX, even on your shiny new Mac, is the eldritch horror of troff. It waits, dead but dreaming, for when the stars are right to reëmerge from the unplumbed […]

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 Vi. You can check: egrep ‘EDITOR|VISUAL’ ~/.bashrc If you don’t know what […]

Matthew McCullough (@matthewmccull) leads Git workshops across the world. He recently visited Madison, Wisconsin to discuss and demonstrate advanced topics such as rerere merging, the reflog, interactive rebase, cherry-pick, show-branch, branch filtering, submodules, querying the log, refspecs, and path aliases. However, to me, Matthew’s most fascinating observation is that Git excels at representing changes independently […]

Sometimes a line of discussion will open up into areas of unexpected intensity. Suddenly people are vehement and they won’t let go. When that happens, it’s interesting, and it might mean something. This happened at Madison Ruby (#MadisonRuby) during a moderated panel of principal Rails teachers: Steve Anderson of Bendyworks, Chad Pytel of Thoughtbot, Jeff […]

So, there’s this conference in town this week. It’s going to be damned good: attend if you can. One of the most remarkable parts of it is the RailsBridge Women’s Outreach Workshop being offered on Wednesday evening and during the day on Thursday. If you’re a woman who’s new to Rails, or even to programming in […]

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 und Drang of its development, and this distance is necessary for completion and refinement. Carpenters remove […]

(This is the first of a recurring series describing our work during most, if not all, growth days at Bendyworks. Note that we won’t do growth day on Friday the 20th, because it’s UXMad.) What’s a “Growth Day”? Bendyworks invests in our developers and the Open Source communities by providing growth days on Friday. We […]

“Want to see the future?” Dale Sande (@anotheruiguy) leaned toward me with a conspiratorial gleam in his eye. His laptop was crowded with code and design layouts. He proceeded to show me that I have been doing CSS all wrong. My first mistake is using CSS at all. “If you’re like most developers you start […]

What’s coming up the rest of the month? The major event is clearly UXMAD. This is a premier user experience conference for a decidedly less than premium price. Thursday the 19th there will be hands-on workshops; Friday the 20th and Saturday the 21st an impressive roster of speakers. This embarrassment of intellectual, artistic, and professional […]

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 asked: How do I run UIAutomation tests on my device? Now with Bwoken we […]

Using respond_to and respond_with is, as Rails tends to be, Convention Over Configuration™. This is a wonderful thing, but proficiency requires an understanding of these conventions which, in the case of respond_with, may be less than intuitive. What follows is an attempt to shed some light on this new(ish) feature of Rails. We recently ran […]

Bendyworkers Devin and Chris were recently interviewed on the Relevance podcast. They sat down to speak with Craig Andera, Jared Pace, and Alan Dipert of Relevance, on the topic of our recent craftsman swap. Back in March, Chris Wilson visited Durham, NC to spend a week working with Relevance. At the same time, Jared Pace […]

Bwoken is a UIAutomation test runner for both iPhone and iPad, which lets you write your tests in CoffeeScript, then run them in bulk from the command line. Watch the video, then head on over to its homepage!

The software industry faces a pressing issue: we just can’t find enough seasoned developers. Universities may produce excellent computer scientists, but recent grads are typically short on practical knowledge and experience. Regardless of pedigree, however, we’ve found that the apprenticeship model jumpstarts developer productivity by putting novices shoulder-to-shoulder with veteran mentors, pair programming on real […]

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 I just happened to have at hand (variable names have been changed to protect the […]

Yesterday, at the request of their teacher Suman Banerjee, I presented a view of what it’s like to be a professional programmer to a class of Computer Sciences students at the University of Wisconsin–Madison. The focus of the talk was “Mobile & Professionalism,” since the class’ title is “Foundations of Mobile Systems and Applications.” The […]

Today marks a milestone for the Travis CI project: it launched a crowd-funding campaign titled love.travis-ci.org to finance a slew of new features. Among the planned additions are private build support, pre-tested Github pull requests, build artifacts, and more language support. Bendyworks is proud to be a platinum sponsor of this effort. We sincerely believe […]

Here’s how Bendyworks has given back to the community in the past week: Jim recorded an interview with the fine folks at EngineYard about our experiences working with them. Look for the link to the audio soon! Madison Ruby registration and Call for Proposals are now open! Brad started a gem called guard-readme-on-github that allows […]

UIAutomation is Apple’s answer to integration tests. It allows you to drive and run assertions against your application using a javascript library that interacts with user interface elements. It’s great to have such a powerful tool, but what if you have an application that depends on external triggers, such as Pusher events? Let me introduce […]

Note: This article was cross-posted from Brad’s personal blog: Naming Things is Hard Over the last month at Bendyworks, I’ve been pairing with Jaymes on our latest initiative: adding iOS development to our repertoire. As a Ruby developer learning Objective-C and Cocoa, you might expect me to be a bit put off by a number […]

We just launched our first iOS app: TravisCI! It lets you browse and view live updates of builds submitted to Travis-CI.org. We chose to build a native front end to Travis CI in order to hone our iOS skills while working with a RESTful API. During development, we came across many neat libraries and tools […]

I started at Bendyworks on July 18, 2011 as an apprentice. On my first day, Stephen Anderson and I dove right into pressing client work. We always pair program at Bendyworks so I was never “stuck” or “lost.” However, Bendyworks prides itself on using the best tools for the job, even when there’s a steep […]

Having an office less than a block away from a protest that’s making international headlines gave us a unique opportunity: use our technology prowess to experience live events in a new way. So what did we do? We wrote a site using Rails, WebSockets, Heroku, MongoDB, and the Twitter Streaming API. In 6 hours. credit: […]

Standard procedure for using HTML5 on IE is to use a library like html5shim, html5shiv, or Modernizr. These tools are, in general, quite great. We at Bendyworks tend to use Modernizr. Unfortunately, something happens when you combine HTML5 elements with AJAX (more specifically, any javascript) in Internet Explorer 8 (and, I’m assuming, below): the feature […]

Over the course of 48 hours, Stephen, Brad, Nick and Jaymes cranked out one of the 180 web applications to hit the Internet thanks to the Rails Rumble. The result of their efforts is AtaconApp, an app to facilitate conference participation. Starting with a Linode Stack Script written by Brad Grzesiak and Levi Cook, the […]

Update: Check out our newer blog article that shows a better method of excluding dev and test gems from heroku. Heroku is awesome. Bundler is awesome. Combining the two… not always awesome. Are you getting this when pushing to Heroku? You have modified your Gemfile in development but did not check the resulting snapshot (Gemfile.lock) […]

We’ve already blogged about how heroku and bundler occasionally don’t play nice. Instead of describing an elaborate checklist that doesn’t work in all cases, just do two things. First, make your Gemfile look something like this: ource :rubygems gem ‘rails’ # Or find something else that returns true # locally, but false on heroku if […]

We’re making an effort to post all of our presentations online. Thanks to the magic of jekyll, showoff (sometimes… otherwise probably Keynote), and github, you can now review our talks!

Greetings and salutations! Welcome to Bendyworks’ blog. We’ll try to keep this up-to-date with our learnings and happenings. First up: BarCampMadison. BarCamp, in general, is a type of unconference, where the speakers are not determined ahead of time, but rather they are self-selected amongst the attendees. Madison, home of our headquarters, is hosting its 3rd […]

Copyright 2014. Made with love by Bendyworkers in Madison, Wisconsin