robots.thoughtbot.com Archives - 23 November 2014, Sunday

  • .@upcase is better than ever and now more affordable!

    Upcase Is Now More Affordable

    robots.thoughtbot.com 21 Nov '14, 7pm

    Over the last several months, we’ve been working to make Upcase even better and more affordable. Today, we are simplifying our pricing plans, and reducing the cost of our most popular plan from $99 per month to just $29 per month. We are committed to this new pricing strategy, and the...

  • Control Rdio from Vim by @gabebw

    Control Rdio from Vim

    robots.thoughtbot.com 21 Nov '14, 2pm

    function findRdioTab(){ var app = Application("Google Chrome"); var rdioTab = undefined; for(var i = 0; i < app.windows().length; i++){ var window = app.windows[i]; var possibleRdioTabs = window.tabs.whose({ title: { _endsWith: 'Rdio' } }) if( possibleRdioTabs.length > 0 ){ rdioTab = ...

  • Writing Clojure in Vim

    robots.thoughtbot.com 20 Nov '14, 4pm

    Editing Clojure , or any other Lisp dialect , is unlike editing any other language we normally write. We can no longer just make our changes line-wise, instead we must deal with editing s-expressions , or expressions surrounded by parentheses. Let’s look at a small Clojure function. (...

  • Using Yesql in Clojure

    robots.thoughtbot.com 20 Nov '14, 12am

    We previously wrote about writing webapps with Liberator in Clojure . This time I want to look at how we chose to integrate our JSON API with PostgreSQL . Without trying to overgeneralize, there seems to be a few common ways to integrate Clojure with databases. The first, as shown in ...

  • Updated Test-Driven Rails Videos

    robots.thoughtbot.com 18 Nov '14, 9pm

    I’m happy to announce that we’ve updated the content for our popular Test-Driven Rails course on Upcase . What’s changed? Updated Gems, including Rails 4 and RSpec 3 We’ve updated the course to take advantage of newer versions of Ruby, Rails, RSpec, and Capybara, allowing viewers to b...

    Related:
    1. Ruby on Rails testanswers-100.info 18 Nov '14, 6pm
  • Getting Started with Liberator

    robots.thoughtbot.com 18 Nov '14, 7pm

    In Tips for Clojure Beginners , Ben laid out some great resources for starting out with the language . Now, I want to focus on writing webapps in Clojure using Liberator . We started using Liberator as the backend for a JSON API and have had a good experience with it so far. So, I wan...

    Related:
    1. Angular with Rails, Part III intridea.com 18 Nov '14, 4pm
    2. Rubyconf2014 rubyconf.org 17 Nov '14, 11pm
  • Ember for Designers: Alternate States

    Ember for Designers: Alternate States

    robots.thoughtbot.com 17 Nov '14, 4pm

    Product designers typically start by designing for content, and leave alternate states as an afterthought (or worse, forget about them altogether). They’re critical to a usable experience, and can help reinforce mental models and visibility of system status . We’re going to walk throu...

  • Hound Reviews JavaScript For Style Violations

    Hound Reviews JavaScript For Style Violations

    robots.thoughtbot.com 15 Nov '14, 9pm

    Five months ago, we announced Hound , a hosted service that reviews code for style violations and comments about them on your GitHub pull requests. Since then, over 3,000 users have signed up and used Hound to review code over 150,000 times. Today, we’re pleased to announce that Hound...

  • Speed Up JavaScript Capybara Specs by Blacklisting URLs

    robots.thoughtbot.com 14 Nov '14, 5pm

    On a project recently, our full test suite began to crawl (taking ~9 minutes instead of less than 1) on our local machines running OS X but ran normally on CI. This slowdown took our productivity to near zero. We discovered our Capybara specs with js: true set were the culprit but we ...

  • Why Fixed Bids Are Bad For Clients, Too

    robots.thoughtbot.com 13 Nov '14, 5pm

    Most software developers know that fixed bid contracts are bad for them. But what most clients don’t know is that fixed bids are bad for them as well. Traditionally, when a client needed a piece of software built they would draft a Request for Proposal (RFP). This document would descr...

  • Accessible After Effects

    Accessible After Effects

    robots.thoughtbot.com 12 Nov '14, 4pm

    Prototyping an animation can be done in many different ways, and there are an equal number of tools available today that attempt to help us accomplish this (Designer and co-worker Andrew Cohen recently wrote an excellent blog post on animating in Keynote). One tool that has been aroun...

  • Lazy Refactoring

    Lazy Refactoring

    robots.thoughtbot.com 07 Nov '14, 5pm

    On the first Tuesday of each month our Boston office hosts Boston.rb’s project night . This is an opportunity for the community to get together and hack away on each other’s projects. At a recent project night we encountered an interesting problem. We went through several iterations, ...

  • Ember is for Designers

    robots.thoughtbot.com 06 Nov '14, 2pm

    Though I’ve been working with Rails for years, I started my first Ember.js client project a year ago. It was a bit confusing stepping into a world where the JavaScript framework controls everything. I really started to love Ember once I got over the learning curve. I realized why I lo...

    Related:
    1. Rails + Angular / Rails + Ember airpair.com 06 Nov '14, 3pm
  • SVG Animations

    robots.thoughtbot.com 05 Nov '14, 5pm

    The first keyframe animation we’ll define will be called grow . It will contain steps, written as percentages, for a CSS transform to scale the background from small to large. In order to make it more fluid and realistic, we can add steps to scale the SVG more and less than 1, to make...

  • Design Spiking

    robots.thoughtbot.com 04 Nov '14, 5pm

    A “spike” is a development term for a quick exercise that lets you explore solutions without the burden of writing good code , then throwing it all away so you can do it the right way with confidence. These are typically experiments timeboxed to a certain number of hours set aside jus...

  • Design Sprint Case Study: Merck Development Portal

    Design Sprint Case Study: Merck Development Portal

    robots.thoughtbot.com 04 Nov '14, 2pm

    We recently completed a four-day product design sprint with Merck . They are actively building their development team and looking for a central place to share Merck specific development knowledge and tools. There is a potential for aspects like APIs, code snippets, and general procedu...

    Related:
    1. Design Spiking robots.thoughtbot.com 04 Nov '14, 5pm
  • Collaboration is Other People

    robots.thoughtbot.com 04 Nov '14, 1pm

    You’ve heard a colleague say “You’re all smart coders. You can figure out how my code works!” as an excuse to let less-than-clear code slip in. This is bunk. Well, let’s back up a bit. This is technically true. When you’re reading code, you probably should be able to figure out how it...

  • Git Interactive Rebase, Squash, Amend and Other Ways of Rewriting History

    robots.thoughtbot.com 03 Nov '14, 9pm

    pick 07c5abd Introduce OpenPGP and teach basic usage pick de9b1eb Fix PostChecker::Post#urls pick 3e7ee36 Hey kids, stop all the highlighting pick fa20af3 git interactive rebase, squash, amend # Rebase 8db7e8b..fa20af3 onto 8db7e8b # # Commands: # p, pick = use commit # r, reword = us...

  • Upcoming Events for November 2014

    robots.thoughtbot.com 03 Nov '14, 9pm

    Upcoming Events for November 2014 Chad Pytel November 03, 2014 events Each month we organize and attend events at our offices, and around the world. Here is a summary of what’s happening this month. We often have thoughtbot stickers, and sometimes shirts. We’d love to see you at some ...

  • The Bike Shed

    robots.thoughtbot.com 02 Nov '14, 2pm

    We’re excited to announce the release of The Bike Shed , which joins Build Phase and Giant Robots in the thoughtbot podcast family. The Bike Shed, hosted by Sean Griffin and Derek Prior , is a biweekly show discussing thoughtbot’s experiences in web development. Episode one, “Sandi an...

  • Man Pages For Your RubyGems

    robots.thoughtbot.com 01 Nov '14, 12pm

    Whether I’m implementing an HTTP API client, using a Ruby library for the first time or installing a new dishwasher, I always appreciate well-written and correct documentation. Besides being well written and correct, documentation also has to be accessible in order to be usable. Usabl...

  • PGP and You

    robots.thoughtbot.com 31 Oct '14, 4pm

    Since I don’t have George here to tell me his fingerprint in person, I’ll go through a few extra steps. I’ve already confirmed that my trusted introducer, Mike Burns, has signed George’s key. Next, I’ll ask George to give me his fingerprint in a couple of different locations: an email...

  • Beginner's Mind

    robots.thoughtbot.com 27 Oct '14, 5pm

    I’m a Ruby programmer. I enjoy the language, and I credit it for revitalizing my curiosity and interest in writing software for a living. I’m constantly learning more about Ruby and Rails every day, but I have a solid grasp of the language and platform. I’ve recently started to learn ...

  • Human-Centered Typography

    Human-Centered Typography

    robots.thoughtbot.com 24 Oct '14, 10pm

    The fundamental goal of typography is to make text easy and enjoyable to read. Typography has its own set of rules and guidelines. From there, we bend the rules to prioritize how to make the text easier to read. Text as an Interface Treating text as an interface is as much about usabi...

  • You Should Take A Codecation

    You Should Take A Codecation

    robots.thoughtbot.com 23 Oct '14, 5pm

    A codecation is like a vacation, but you spend most of your time writing code. How to take a codecation: Find someone you really like or want to know better. Choose somewhere you both want to go. Go there, but spend most of your time writing code. Ship something. Complete these tasks,...

  • A more efficient and organized workflow for SVGs

    robots.thoughtbot.com 22 Oct '14, 4pm

    SVGs can be messy to develop with, often times being exported from a graphics application and being pasted into a document. However, they become much more delightful to work with when you have a readable file and clean markup. Optimizing SVG for the web When an SVG is exported from an...

  • Introducing FormKeep

    Introducing FormKeep

    robots.thoughtbot.com 15 Oct '14, 7pm

    We are excited to announce FormKeep , the easiest way to create form endpoints for designers and developers. Why would you use FormKeep? You need to collect data from users, but you don’t want to build a backend yourself to view data, fight spam, or integrate with other services. In t...

    Related:
    1. Introducing Lotus::Validations rubyflow.com 24 Oct '14, 1pm
  • Functional Swift for dealing with Optional values

    robots.thoughtbot.com 15 Oct '14, 3pm

    Implicitly Unwrapped Optionals ) is unfortunately an everyday part of our life as forward-looking iOS developers. The entirety of the Cocoa API won’t be audited for optionals for a good long while, so these things are here to stay. This means we’re going to introduce some actual runti...

  • Prototyping Animation with Keynote

    Prototyping Animation with Keynote

    robots.thoughtbot.com 13 Oct '14, 2pm

    One look on Dribbble, and you’ll notice the abundance of animations that emphasize interaction. The increasing number of devices, screens, and use cases have required designers to think of new ways to improve the usability of applications. Animation can be a tool for solving these pro...

  • Refactoring From Model to View Helper to Null Object

    robots.thoughtbot.com 10 Oct '14, 3pm

    We are working to add more thorough progress tracking to upcase.com . Chad and I were pairing on the backend for this feature, and we created a model called Status , that belongs both to a User and to an Exercise . This is a many-to-many relationship that holds a state attribute. That...