robots.thoughtbot.com Archives - 23 March 2017, Thursday

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

  • Chain RSpec Matchers for Improved Test Readability

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

    I’ve recently journeyed back into the world of Rails development after an extended stay in more functional languages. One aspect of Ruby that always delights me is its focus on readability. With this focus, along with the ability to fold certain structures, I set out to improve a word...

  • Introducing Pipe it Down

    Introducing Pipe it Down

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

    We’ve been working with virtual reality in Unity3D quite a bit lately and one of the big pain points we’ve encountered is having lots of diff noise in our pull requests. Unity saves information about your 3D models and scenes in meta files, which are binary by default, but can be conf...

  • Typography

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

    Typography has a very long history, from ink and brush through the printing press, but type on the web starts with the advent of digital type. A “typeface” is a group of all the letters of a specific family, style, and weight, like “Helvetica Bold Italic”. A “font” is a file that cont...

  • The magic behind configure, make, make install

    robots.thoughtbot.com 06 Mar '17, 6am

    Programs that are built in this way have usually been packaged using a suite of programs collectively referred to as autotools . This suite includes autoconf , automake , and many other programs, all of which work together to make the life of a software maintainer significantly easier...

  • Don't Rush

    Don't Rush

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

    Don't Rush Luke Mitchell March 06, 2017 product design process agile prototyping user interface user experience design The thought of designing a product from nothing can be scary. It’s very tempting to start fast and maintain that pace. This usually means building up a series of piec...

  • Everybody Codes

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

    Antonio Rodriguez of Matrix Partners has spoken on the advantages of early stage web startups in which everybody codes, including “business people”. In this context, “coding” might mean activities like: Adding JavScript snippets for analytics tools to the app. Writing SQL queries on a...

  • A Shortage of Developers

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

    If we were in China, would the govt mandate the creation of 100K Ruby developers? This shortage is killing us. - Jeffrey Bussgang , VC at Flybridge Capital Partners Demand for developers and designers at web startups is currently outstripping supply. I believe this is true because mos...

  • The Editor of a Lifetime

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

    From the New York Emacs Meetup : Perry Metzger has been using Emacs as his text editor since early September, 1983. Over much of that time, it has also been his primary way to read email, compile programs, and perform a variety of other tasks. Why would anyone use a single program for...

    Related:
    1. mmve rubygems.org 05 Mar '17, 11am
  • Spend Your Divergence Wisely

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

    As software developers what is it we’re actually doing every day? Obviously we’re pressing buttons on a rectangular box to make computers do things we want them to do but why is that difficult? And why does it take so long? What we’re actually doing is making choices about where to di...

  • Elm Native UI in Production

    Elm Native UI in Production

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

    In November, thoughtbot released a new app called Purple Train . The app was implemented in React Native, which we’ve been using to rapidly build cross-platform apps. We’ve grown to love React Native thanks to a number of improvements over traditional mobile dev, such as a (mostly) de...

  • Writing a Server Sent Events server in Go

    robots.thoughtbot.com 28 Feb '17, 3pm

    I based my implementation largely on this example , and my own finalised production code is here . In this article I’ll take you through some of the code to illustrate how elegantly can Go model network concurrency. The patterns described below can be adapted to other problems where a...

  • Abstraction vs Skeuomorphism

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

    Early graphical user interfaces and operating systems were limited by their processors and displays. During these early days, monitors with a resolution around 800x600 pixels and less than 256 colors were the standard. This created an aesthetic that had few colors, less clutter, and s...

  • Slicing up Rails Application.js for Faster Load Times

    Slicing up Rails Application.js for Faster Load Times

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

    When using a fast device it’s easy to forget that page load times are impacted by not just network speed but processing power too. Browsing the thoughtbot website on a MacBook Pro with a fast internet connection and warm cache feels snappy. Backed by a CDN, the homepage usually loads ...

  • Mastering the Vim Language

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

    From the Boston Vim Meetup , Chris Toomey talks about mastering the Vim language. Vim’s core is the amazing command mappings and text objects that allow for countless combinations to define precise edits. Learn how to master the built-in commands, motions, and text objects, and even h...

  • Neat 2.0 Building the future of floated Sass grids

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

    As I have worked on the web, I have always been fascinated with grid systems. While I have used and contributed to quite a few libraries, they have never quite met my needs. More often than not, these libraries behave unpredictably, use things like nth-child selectors, and dump huge a...

  • Balance

    Balance

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

    Balance is great example of how viewers give physical dimensions to non-physical things. Balance is usually described as how “heavy” elements feel to the viewer according to how elements are arranged. For displaying text, it’s best to provide a comfortable experience for the user to f...

  • How to manage your Python projects with Pipenv

    robots.thoughtbot.com 20 Feb '17, 12am

    This approach works fine but sometimes it can be a juggling act, as you have to manually install or remove packages with particular versions, and remember to regularly update the requirements.txt file, in order to keep the project environment consistent. Especially when there are Pyth...

  • Back to Basics: SOLID

    robots.thoughtbot.com 19 Feb '17, 8pm

    In the above class we have a single command interface that processes commission payments for deals. At first glance the class seems simple enough, but let’s look at reasons we might want to change this class. Any change in how we calculate commissions would require a change to this cl...

  • Emacs as a Python IDE

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

    From the New York Emacs Meetup , Drew Werner shows how, with a little effort, Emacs can be a powerful, multi-language IDE with code completion, documentation lookup, and more. Using Python as our language, we will show how to use the the auto-complete, epc, and jedi.el libraries to cr...

  • Android Interpolators: A Visual Guide

    Android Interpolators: A Visual Guide

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

    Each interpolator is applied to an identical pink dot in a vertical list. All of the dots have the exact same animation set on them except, of course, for their interpolator. As you can see in the screenshot above, the dots are all labeled with their respective Interpolator class name...