robots.thoughtbot.com Archives - 25 April 2017, Tuesday

  • Building a React Native App in Two Days

    robots.thoughtbot.com 25 Apr '17, 4pm

    At the end of the year, thoughtbot hosts Ralphapalooza — a two day internal hackathon to learn and explore new technology (and hopefully ship something while doing so). This year we wanted to do something different, creative and fun but also get it out the door and into the world by t...

  • Building a React Native App in Two Days

    robots.thoughtbot.com 25 Apr '17, 12pm

    At the end of the year, thoughtbot hosts Ralphapalooza — a two day internal hackathon to learn and explore new technology (and hopefully ship something while doing so). This year we wanted to do something different, creative and fun but also get it out the door and into the world by t...

  • Liftoff Spinoff

    robots.thoughtbot.com 24 Apr '17, 12am

    Over 4 years ago, I wrote a blog post announcing Liftoff , our tool for customizing Xcode projects with opinionated settings. About a year after that, I wrote another post announcing the 1.0 version of Liftoff, which included project generation and custom templates. Today, I’m writing...

  • Creating A Remote Development Machine

    robots.thoughtbot.com 22 Apr '17, 9pm

    Recently we worked for a client that needed to block external IPs. We had a lot of back-and-forth asking to whitelist the various IPs we might be connecting from, so to make that easier I kicked off an experiment I’d been thinking about for a while. Working hypothesis Using a remote m...

  • The Bike Shirt

    The Bike Shirt

    robots.thoughtbot.com 14 Apr '17, 7pm

    To celebrate thoughtbot’s fifth year recording at RailsConf, we’ve printed a small batch of t-shirts for The Bike Shed ! They feature new artwork, are available in both fitted (below left) and straight cuts (below right), and are printed by our friends at Social Imprints . Pre-orders ...

  • Automatically Collapse Generated Files in GitHub Diffs

    Automatically Collapse Generated Files in GitHub Diffs

    robots.thoughtbot.com 11 Apr '17, 12am

    Not too long ago we introduced Pipe it Down , a Chrome extension to help deal with GitHub pull request diffs with lots of files. The major pain point it addresses for us is dealing with large files automatically generated by Unity. These files rarely get reviewed by a human, but we ha...

  • Following the Path

    robots.thoughtbot.com 10 Apr '17, 12am

    Sometimes you will have multiple versions of a command installed. For example psql from Homebrew and psql from Postgres.app . The which command is is great for finding out which one is being used. Use this info to tweak your $PATH to ensure the right one loads. You can also use the -a...

  • A React Rendering Misconception

    robots.thoughtbot.com 05 Apr '17, 12am

    Part of the misconception was that I didn’t understand that rendering a component and updating the DOM for that component are two separate steps in the lifecycle. The component has to be re-rendered in order for the diffing algorithm to compare it to the previous output. If the output...

  • Wrap Existing Text at 80 Characters in Vim

    robots.thoughtbot.com 04 Apr '17, 9am

    You have an existing block of text or code in vim. You want to re-format it to wrap to 80-characters. :set textwidth=80 You might want this setting to apply automatically within certain file types like Markdown: au BufRead,BufNewFile *.md setlocal textwidth=80 We have that setting in ...

  • Positioning Elements on the Web

    Positioning Elements on the Web

    robots.thoughtbot.com 04 Apr '17, 12am

    Absolute positioning should not be used to layout columns of content. Because the elements are removed form the document flow, that means every time you add content to one section, you may have to adjust the sizes of other sections by hand, and it makes responsive design much more of ...

  • It's About Time (Zones)

    robots.thoughtbot.com 03 Apr '17, 3pm

    that limits the set of zones provided by TZInfo to a meaningful subset of 146 zones. It displays zones with a friendlier name (e.g. “Eastern Time (US & Canada)” instead of “America/New_York”). And together with ActiveSupport::TimeWithZone , Rails provides the same API as Ruby Time ins...

  • Canimal: How we over engineered drinking La Croix

    robots.thoughtbot.com 03 Apr '17, 12am

    At the end of every year, thoughtbot sets aside two days to group together fellow thoughtbotters and build or create something. We call it Ralphapalooza since our logo is a robot named Ralph and it’s a palooza . So this year three of us got together and decided to build Canimal, a can...

  • You Don't Need JavaScript for That!

    robots.thoughtbot.com 31 Mar '17, 7pm

    I often use a few CSS alternatives to common JavaScript interactions when I’m developing the front-end of a website (especially a prototype). There are some projects where downloading a plugin or creating a new file for a few lines of code seems like overkill. Here are some components...

  • Decorating ActiveRecord

    robots.thoughtbot.com 31 Mar '17, 3pm

    object in Rails, you probably want to define the following to ensure the decorator works the way you expect instead of silently delegating to the underlying object:

  • Modeling a Paginated API as a Lazy Stream

    Modeling a Paginated API as a Lazy Stream

    robots.thoughtbot.com 29 Mar '17, 12am

    The API you’re integrating against returns an HTTP 404 response code for pages with no results so the Enumerator stops iterating when it gets a non-successful status code. For other API implementations, it may make sense to check on empty results instead. Some APIs provide links to th...

  • Writing Semantic Markup

    Writing Semantic Markup

    robots.thoughtbot.com 28 Mar '17, 12am

    The history of front-end development is not a short one as computer history goes, but it wasn’t until recently that it has started to get the tools and attention it deserves. Writing markup was mostly ignored as being both cumbersome and yet simplistic. The practice of crafting “the v...

  • Tell Me When It Closes

    Tell Me When It Closes

    robots.thoughtbot.com 28 Mar '17, 12am

    We’re thrilled to announce our newest service: Tell Me When it Closes , a simple, straightforward application that helps you keep up with GitHub discussions without getting lost in the noise. Instead of getting an email for every comment on an issue or PR, get just one email when the ...

  • Getting started with Neat 2.0, a lightweight and flexible Sass grid

    robots.thoughtbot.com 27 Mar '17, 6pm

    Another important distinction is that, similar to many other grid systems, Neat 2.0 columns have the gutters on exterior of the object. Basically this means that if you had a series of 12 columns in a 12 column grid, there will be gutters between each of the grid columns as well as gu...

  • Extending Elm Native UI with JavaScript

    Extending Elm Native UI with JavaScript

    robots.thoughtbot.com 27 Mar '17, 12am

    You may have heard about our foray into writing a native app using Elm Native UI . Purple Train accomplishes its goals quite well for us. It’s not only a useful product, it’s also a learning experience for us. We decided that it’s only fair for us to try to push the boundaries of the ...

  • Learning Vim in a Week

    robots.thoughtbot.com 24 Mar '17, 12am

    Learning Vim in a Week Thom Obarski March 24, 2017 vim boston From the Boston Vim Meetup , Mike Coutermarsh presents a beginner focused talk that covers getting up and running, and eventually productive with Vim. Check out more meetup presentations, editor tips/shortcuts, lightning ta...

  • A View State Machine for Network Calls on Android

    A View State Machine for Network Calls on Android

    robots.thoughtbot.com 23 Mar '17, 12am

    But enough mature pragmatism, back to the bad… Another reason I find these sorts of updates frustrating is that they can take away from the bigger picture of what is happening in a given view and focus too much on the minute details of visual implementation. Now I know what you’re thi...

  • How to Build and Test Decision Tree UX

    How to Build and Test Decision Tree UX

    robots.thoughtbot.com 22 Mar '17, 12am

    Not exactly. The key to this concept is the “achieving a single goal” part. For example, if you are just navigating around an app, you don’t really have a single goal. Another way of thinking about the “single goal” might be to think of it as “single state” - where all your choices an...

  • On Markup and Layout

    On Markup and Layout

    robots.thoughtbot.com 21 Mar '17, 12am

    Let’s talk a bit what makes designing for the web a unique challenge. One part of the challenge is simply how to display content on a screen. It should work in a variety of resolutions and physical dimensions, should respond appropriately to a tap or a mouse click, and it should relat...

  • Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs

    robots.thoughtbot.com 17 Mar '17, 12am

    Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs Thom Obarski March 17, 2017 emacs vim boston From the Boston Vim Meetup , Aaron Bieber talks about his recent experience using Emacs and how things looked on the other side. He shares what he found, what he missed from Vim, ...

  • Are You For Real?

    robots.thoughtbot.com 16 Mar '17, 12am

    Are You For Real? Melissa Xie March 16, 2017 happiness productivity Those who have Imposter Syndrome are said to be “high-achieving individuals marked by an inability to internalize their accomplishments and a persistent fear of being exposed as a ‘fraud’.” As a someone who does consu...

  • Testing Third Party Interactions

    Testing Third Party Interactions

    robots.thoughtbot.com 15 Mar '17, 12am

    When it comes to testing interactions with third-party APIs, it there are a bewildering set of approaches and tools to work with. We’ve written several articles listing various approaches as well as devoting a chapter to it in our new book Testing Rails . So how do you know which one ...

  • Whitespace

    Whitespace

    robots.thoughtbot.com 14 Mar '17, 12am

    Whitespace (or White space ) is probably the most under-appreciated yet impactful part of a good design. Whitespace refers to areas that aren’t the content of the design. That’s everything from the space around the layout, margins separating pieces of content, to the spaces between li...

  • ExMachina 2.0 - Cast Away

    robots.thoughtbot.com 13 Mar '17, 12am

    The biggest change in ExMachina 2.0 is the automatic casting of values on insert . Now, instead of having to cast dates or decimals manually, you can let ExMachina do the dirty work for you. Consider this schema:

  • Always Define respond_to_missing? When Overriding method_missing

    robots.thoughtbot.com 11 Mar '17, 10am

    method_missing is still considered scary, but here’s something more scary: forgetting to override respond_to? . Whoa, right? Just gave you an anxiety attack there. How about #method , though? Does that still work? Go ahead, try it. Here, I’ll try it with you: require 'ostruct' class O...

  • Improving Vim Speed

    robots.thoughtbot.com 10 Mar '17, 12am

    Improving Vim Speed Thom Obarski March 10, 2017 vim upcase On The Weekly Iteration from Upcase , Ben Orenstein and Joe Ferris present a grab-bag of tips to speed up your vimming! Check out more meetup presentations, editor tips/shortcuts, lightning talks, AMA’s, behind the scenes bloo...