robots.thoughtbot.com Archives - 29 May 2016, Sunday

  • Prototyping Animation with Keynote

    robots.thoughtbot.com 29 May '16, 12pm

    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...

  • Failing on Day One

    robots.thoughtbot.com 27 May '16, 6am

    It’s the first week of a brand new project. You and the whole team are excited and optimistic about its success. In the second week, one of the features you are working on takes two days longer than expected. “No problem,” you think, “I can make it up next week”. The next day you have...

  • Your Program is a Special and Unique Snowflake

    robots.thoughtbot.com 26 May '16, 12am

    Your Program is a Special and Unique Snowflake Joe Ferris May 26, 2016 good code ruby Everyone’s special…which is another way of saying no one is. — The Incredibles Developers live in a world of abstraction. Rails abstracts away the details of web requests, providing you with a world ...

  • Action Mailer and Active Job sitting in a tree...

    robots.thoughtbot.com 25 May '16, 12am

    # Gemfile group :development, :test do gem "dotenv-rails" end # .env APPLICATION_HOST=localhost:3000 SMTP_ADDRESS=smtp.example.com SMTP_DOMAIN=example.com SMTP_PASSWORD=password SMTP_USERNAME=username # config/environments/production.rb config.action_mailer.delivery_method = :smtp con...

  • Analyzing Minard's Visualization Of Napoleon's 1812 March

    robots.thoughtbot.com 24 May '16, 4am

    Czar Alexander of Russia sees that Napoleon was becoming too powerful, so he refuses to participate in this embargo. Angry at Czar Alexander’s decision, Napoleon gathers a massive army of over 400,000 to attack Russia in June of 1812. While Russia’s troops are not as numerous as Franc...

  • Announcing fake_stripe

    robots.thoughtbot.com 24 May '16, 12am

    We like to use Stripe for payment processing in our clients’ applications and in our own. That’s why we created fake_stripe , a gem that makes testing your Rails app against Stripe much easier. fake_stripe spins up a local server that acts like Stripe’s and also serves a fake version ...

  • How Design is Changing IT

    robots.thoughtbot.com 23 May '16, 12am

    If you’re at an enterprise company, your intranet and the tools your company uses probably suck. The reason why? The primary needs and concerns of the IT department are not the same as yours. So the people who decided to buy the software are not the people who will use it. However, fo...

  • Converting To Jobs Stories

    robots.thoughtbot.com 21 May '16, 2pm

    We have used user stories as part of our design and development process for many years. You could find several mentions of them throughout our playbook . We used user stories to give designers and developers context to the problems that the user is having and give space for them to so...

  • My issues with Let

    robots.thoughtbot.com 20 May '16, 7pm

    For a while now, we’ve recommended against using let in RSpec and minitest. We even have a blog post explaining our thoughts. Despite that, I still have trouble explaining my problems with let and before to other developers. They’re wonderful for cleaning up duplication, and can make ...

  • Four-Phase Test

    robots.thoughtbot.com 20 May '16, 12am

    The Four-Phase Test is a testing pattern, applicable to all programming languages and unit tests (not so much integration tests). It takes the following general form: test do setup exercise verify teardown end There are four distinct phases of the test. They are executed sequentially....

  • Rules Made Up by You

    robots.thoughtbot.com 13 May '16, 8pm

    Kelly Johnson worked at and was one of the driving forces behind Lockheed Martin’s Skunk Works group. As part of an upcoming project management book I’ve been writing (it’s called SWARM, is meant for managers of small teams of software developers, and has a picture of bees on the cove...

  • Scrum story points kit

    robots.thoughtbot.com 13 May '16, 12am

    At thoughtbot we prefer not to estimate with story points for user stories. Story points are a proxy for time, and if we need to know how many days a feature would take, we just talk in terms of time. Some projects require us to estimate using story points, and when that happens, we b...

  • Fuck Bullshit

    robots.thoughtbot.com 12 May '16, 12am

    Fuck Bullshit Mike Burns May 12, 2016 business There’s a lot of nonsense in the everyday world, but I’d like to focus on four that affect us: symbols, metaphors, white lies, and omission. They affect us as software developers, as tech consultants, and as citizens. Symbols Our industry...

  • Testing Elixir Plugs

    robots.thoughtbot.com 11 May '16, 12am

    On a Phoenix application I worked on recently, I decided to tackle a bug where we weren’t redirecting users to a sign-in page even though we were expecting conn.assigns to have current_user . This was only happening in a few different areas of the app. Plugs to the rescue. What are Pl...

  • Architecting Front-end Styles

    Architecting Front-end Styles

    robots.thoughtbot.com 10 May '16, 12am

    The last directory contains views. In an ideal world this directory stays empty forever. This directory exists for styles specific to a single view that affect multiple patterns within them. Definitions here are so specific that it is nonsensical or even destructive to try to abstract...

  • A Tale of Three Pricing Models

    robots.thoughtbot.com 09 May '16, 12am

    Eighteen months ago we launched a product called FormKeep to make it pleasant to add forms to static sites. Since its launch, FormKeep has had three very different pricing models. We thought it might be useful to others to reflect on our experiences with each. Our first attempt: pay w...

  • Paperclip IS vulnerable to the ImageTragick vulnerability

    robots.thoughtbot.com 06 May '16, 9pm

    Two days ago we announced that paperclip was not affected by the ImageTragick vulnerability. Since then we learned that paperclip is affected by this bug in ImageTragick, and users of paperclip should upgrade to ImageMagick 7.0.1-1 or newer, which includes the fix. Another workaround ...

  • Disabling Caching in Tests

    robots.thoughtbot.com 06 May '16, 12am

    I ran into a problem on a Rails app recently where tests were leaking state via caching. Typically you may see the following configuration in config/environments/test.rb : Rails.application.configure do config.action_controller.perform_caching = false end However, this only disables c...

  • FOMObot Will Help With Your Slack FOMO

    robots.thoughtbot.com 05 May '16, 12am

    Slack , a relatively new messaging app for teams, has been booming in popularity and bringing more fun to team communication. We’ve been using it for over a year now and we love it. Slack makes it easy to create new channels and add integrations that send automated messages. In fact w...

  • ImageMagick vulnerability does not affect Paperclip

    robots.thoughtbot.com 04 May '16, 10pm

    Vulnerability CVE-2016–3714 in ImageMagick was disclosed yesterday . One of the vulnerabilities can lead to remote code execution (RCE) when processing user submitted images. See ImageMagick’s disclosure . See related paperclip issue . Updates and proof of concept will be available in...

  • Testing Your Style With ESLint and Mocha

    robots.thoughtbot.com 04 May '16, 12am

    I’ve been working on a front-end application that uses ESLint for linting and Mocha as our testing framework. We’ve tried a few solutions to integrate linting into our workflow but it can easily be ignored. To make sure linting errors were given the attention they deserved we decided ...

  • Routing in Elm with Hop and Mailboxes

    robots.thoughtbot.com 03 May '16, 12am

    for a while now and, in the interest of understanding what types of applications can be built with the language, I decided to try out Hop , a routing library for single page applications that, as of version 4.0, supports

  • A New Look for PLIBMTTBHGATY

    robots.thoughtbot.com 03 May '16, 12am

    Programming Languages I’ve Been Meaning To Try But Haven’t Gotten Around To Yet. What is it even? And how do you do it? After a year of organizing PLIBMTTBHGATY events and getting to know some members of the community, I teamed up with thoughtbot designer Connie Chan to help us answer...

  • Introducing Empties – Unstyled Components

    robots.thoughtbot.com 02 May '16, 12am

    Announcing the latest addition to the Bourbon suite! Meet Refills’ less fashionable sibling, Empties , a new library of components that are completely – or for the most part – unstyled. The Weight of Refills A few years ago we came up with the idea for the Refills Components Library t...

  • Accessibility Testing on Android

    robots.thoughtbot.com 29 Apr '16, 12am

    Programming an accessible Android app is not technically difficult, but is often skipped in the rush of a deadline. With the right tools, skipping accessibility is a compromise you don’t have to make. Here are some ways to help your team ensure that accessibility is added and part of ...

  • Postgres Window Functions

    robots.thoughtbot.com 28 Apr '16, 7pm

    CREATE TABLE posts ( id integer PRIMARY KEY, body varchar, created_at timestamp DEFAULT current_timestamp ); CREATE TABLE comments ( id INTEGER PRIMARY KEY, post_id integer NOT NULL, body varchar, created_at timestamp DEFAULT current_timestamp ); /* make two posts */ INSERT INTO posts...

  • Building iOS Interfaces: Subclassing Views

    Building iOS Interfaces: Subclassing Views

    robots.thoughtbot.com 28 Apr '16, 12am

    , we implemented a custom button by going back and forth between Interface Builder and Swift–a process that would quickly become strenuous if repeated over and over, unless you are building a flashlight app with a single button in the UI. Putting aside the fact that repetition is no f...

  • My coworker @jessieay is such a master at freaking me out

    How To Create GitHub Avatars For Pairs

    robots.thoughtbot.com 27 Apr '16, 5pm

    Whether you love or hate pairing, we can all agree that attributing work to both pair partners is a pain. Enter: The Easiest Solution Possible™. Step 1: Create a commit with both of your names Before you merge your commit, run the following: git commit --amend --author="Jessie and Joe...

  • Have Some (Referential) Integrity with Foreign Keys

    robots.thoughtbot.com 27 Apr '16, 3pm

    Referential integrity is a relational database concept that states implied relationships among data should be enforced. Referential integrity ensures that the relationship between rows in two tables will remain synchronized during all updates and deletes. Rails allows us to easily set...

  • Factories Should be the Bare Minimum

    robots.thoughtbot.com 26 Apr '16, 12am

    I left the following feedback on a recent pull request: factory :deliverable do title "A cool title" tags { { assigned: true, status: "draft" } } Is this required for the factory to be valid? How would you feel about having the factory only add the bare minimum required to create this...