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

  • Cutting our Blueteeth on React Native

    Cutting our Blueteeth on React Native

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

    Cutting our Blueteeth on React Native Ian C. Anderson and Blake Williams July 17, 2017 react native javascript ios android mobile We’ve been working on a project with Zagster that uses Bluetooth Low Energy (BLE) to connect to a BLE-powered bike lock so that we can authorize, read, wri...

  • Join us in SF for PLIBMTTBHGATY

    robots.thoughtbot.com 14 Jul '17, 8pm

    On Saturday, August 5th, we’ll be hosting a PLIBMTTBHGATY event in our San Francisco office. If you’ve never attended one of these, you’re missing out. It’s a lightly-structured party where people get together and work on a project in a new programming language or framework, either wi...

  • Fight back UTF-8 Invalid Byte Sequences

    robots.thoughtbot.com 14 Jul '17, 8pm

    Chances are, some of you have run into the issue with the invalid byte sequence in UTF-8 error when dealing with user-submitted data. A Google search shows that my hunch isn’t off. Among the search results are plenty of answers—some using the deprecated iconv library—that might lead y...

  • London Panel Discussion: The Developer's Path

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

    London Panel Discussion: The Developer's Path Nick Charlton July 11, 2017 events Are you interested in how developers get better and how you can apply that to yourself? We’re hosting an event in London to explore thoughtbot’s approaches to this and how other organisations tackle this ...

    Related:
    1. Open discussion: redmine.org 09 Jul '17, 2pm
  • Alternative View Layers for an Elm App

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

    port module Main exposing (main) import Json.Decode -- A bug in Elm forces us to explicitly require this type alias Model = Int port increment : ( Int -> msg ) -> Sub msg port reset : ( () -> msg ) -> Sub msg port render : Model -> Cmd msg type Msg = Increment Int | Reset subscription...

  • Use Factory Girl's build_stubbed for a Faster Test Suite

    robots.thoughtbot.com 05 Jul '17, 2pm

    is the younger, more hip sibling to build ; it instantiates and assigns attributes just like build , but that’s where the similarities end. It makes objects look like they’ve been persisted, creates associations with the build_stubbed strategy (whereas build still uses create ), and s...

  • Dive Into Neovim & Vim 8, Now on Upcase

    Dive Into Neovim & Vim 8, Now on Upcase

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

    There’s nothing more frustrating than a clunky workflow or IDE when coding. It can take years to optimize your workflow to code quickly and effectively. One of the most important parts of that workflow is your text editor. If you’re a Vim or Neovim user, it feels like there is unlimit...

  • Ruby 2 Keyword Arguments

    robots.thoughtbot.com 30 Jun '17, 7pm

    Like most things, keyword arguments have their trade-offs. Positional arguments offer a more succinct way to call a method. Usually, the code clarity and maintainability gained from keyword arguments outweigh the terseness offered by positional arguments. I would use positional argume...

  • Simple Phoenix Text Inputs with Formulator

    robots.thoughtbot.com 30 Jun '17, 12am

    If you’re a Rails developer and new to Phoenix, you’ll soon discover that Phoenix tries to get the form errors closer to the input tags themselves, as opposed to Rails where error messages are typically flashed near the top of a page. Getting used to this difference is like putting my...

  • Why Do Rubyists Test So Completely?

    robots.thoughtbot.com 29 Jun '17, 6pm

    The Ruby community, according to some data I am making up, has the strongest test-driven development attitude. Not all of us TATFT ; not all of us test most of the time; and not all of us test ever—but those who do test make up a larger proportion than they do in, say, the Java world....

  • Fun Shell Commands

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

    Fun Shell Commands Thom Obarski June 23, 2017 emacs new york city From Pandora playback and YouTube downloading, to Instagram image saving and Google Translate, Jay Dixit talks at this month’s New York Emacs Meetup on how he optimizes his daily routine directly from the shell! Check o...

  • Tips for Using FactoryGirl Without an ORM

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

    Recently I’ve been working on a Rails project that doesn’t need any database persistence and therefore doesn’t use an object-relational mapper like ActiveRecord. Instead data is fetched from an external JSON API and parsed into value objects written in plain Ruby.

  • How to Git with Unity

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

    Noise : The editor manages hundreds of temporary files. Merely opening or closing the editor will create, delete, or modify some of these files. Additionally, since it’s possible to develop on and build for multiple platforms, there are many more extraneous files than you might expect...

    Related:
    1. Git Cop 1.0.0 rubyflow.com 19 Jun '17, 12pm
  • Recapping the First Artboard 1 Event

    Recapping the First Artboard 1 Event

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

    Last week we hosted the first session of Artboard 1 , a design event series we started in San Francisco. It was a 1-hour design challenge where teams worked on one of three possible prompts generated by Sharpen.design : designing a poster for public libraries, a chatbot for the dark w...

  • Creating Gesture-Based Gradients and Shipping Fast with React Native

    robots.thoughtbot.com 16 Jun '17, 5pm

    Gradients are beautiful. You can find them in nature during dusk and dawn. Or after an afternoon thunderstorm when a rainbow appears. These moments are impactful and anchored in experiencing color. These are the moments you share with your family and friends from your travels or your ...

  • Headless Capybara Feature Specs with Chrome

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

    While tests executing with Capybara-WebKit are headless, I initially did not have this option when configuring ChromeDriver. In this initial configuration, I was reminded that it is occasionally useful to watch a test execute without having to resort to save_and_open_screenshot . I wa...

  • Creating gesture based gradients and shipping fast with React Native

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

    Gradients are beautiful. You can find them in nature during dusk and dawn. Or after an afternoon thunderstorm when a rainbow appears. These moments are impactful and anchored in experiencing color. These are the moments you share with your family and friends from your travels or your ...

  • Purple Train is Open Source!

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

    A few months ago, we wrote about using Elm Native UI in production for our mobile app Purple Train . Today we’re happy to announce that the code is publicly available on GitHub . Purple Train is the first native mobile app in the App Store and the Google Play Store written in the wond...

  • We'll be at Lean Startup Summit London

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

    Next week (13th and 14th June), we’ll be at Lean Startup Summit in London. Development Director Laurie Young is going to give a short talk about design sprints and we will have a small booth. If you’re going to be there, please come and say hello! Lean Startup Summit is a two-day conf...

  • Writing a Domain-Specific Language in Ruby

    robots.thoughtbot.com 08 Jun '17, 3am

    , or DSL, is “a programming language of limited expressiveness focused on a particular domain”. It makes tasks in its domain easier by removing extraneous code for a particular task and allowing you to focus on the specific task at hand. It also helps other people read the code, becau...

  • Using GDB to Inspect a Running Ruby Process

    robots.thoughtbot.com 04 Jun '17, 1pm

    Start up gdb by running gdb /path/to/ruby PID , where /path/to/ruby is the full path to the actual ruby binary and PID is the process ID of the ruby you want to check out. Paste those functions above into the gdb prompt (you might also want to store them in ~/.gdbinit for later). Run ...

  • Join thoughtbot for  WWDC17

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

    Join thoughtbot for  WWDC17 Chad Pytel May 24, 2017 news ios macos apple On June 5th, we’ll be gathering in several of our cities to watch the 2017 Apple WWDC Keynote. We’d love to have you join us. Join us for dinner and drinks in our London studio at 5:30pm BST to watch the Keynote...

    Related:
    1. 17だった rubygems.org 27 May '17, 4am
    2. Takasaki 17 June 2017 railsgirls.com 27 May '17, 11am
  • Recent FormKeep Improvements

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

    Keeping momentum up on a product like FormKeep is not terribly difficult as the feedback we receive from our users is immensely helpful. Some of that feedback has recently helped us ship some high leverage features and updates to FormKeep that we’d love to share with you. Dynamic Redi...

  • Introducing Artboard 1

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

    We’re excited to announce Artboard 1 , a new design event series in our San Francisco office! Join us for workshops, design challenges, and opportunities to make cool and weird things for their own sake. We welcome everyone, whether or not they think of themselves as designers. Our fi...

  • The Remix

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

    Pablo Picasso famously said that “good artists borrow, great artists steal”. The same can be said for interface design. The building blocks for your product are already out there, you just have to find them. Looking at similar products will provide context and highlight knowledge gaps...

  • Real time online activity monitor example with node.js and WebSocket

    robots.thoughtbot.com 21 May '17, 9pm

    The HTML 5 specification introduces the Web Socket interface, which defines a full-duplex communications channel that operates over a single socket and is exposed via a JavaScript interface in HTML 5 compliant browsers. The bi-directional capabilities of Comet and Ajax, unlike Web Soc...

  • Unity Lighting Basics

    robots.thoughtbot.com 19 May '17, 6pm

    Lighting in Unity can be tricky, especially if you’re worried about performance. This guide will cover a few introductory tips that will give you greater control over lighting in your 3D projects while making it run smoothly. Some familiarity with Unity is helpful for this tutorial, b...

    Related:
    1. Unity Lighting Basics robots.thoughtbot.com 18 May '17, 12am
  • Unity Lighting Basics

    robots.thoughtbot.com 18 May '17, 12am

    Lighting in Unity can be tricky, especially if you’re worried about performance. This guide will cover a few introductory tips that will give you greater control over lighting in your 3D projects while making it run smoothly. Some familiarity with Unity is helpful for this tutorial, b...

    Related:
    1. Unity Lighting Basics robots.thoughtbot.com 19 May '17, 6pm
  • Writing a Hypermedia API client in Ruby

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

    Much ink and pixels have been spent discussing the virtues and flaws of Hypermedia for API design. Like with REST , the sheer amount of theory and jargon around the subject can make it hard to understand the potential benefits for you as an API developer, the cost of implementation an...

  • Tell Me When It Closes: Bookmarklet

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

    About a month ago we launched Tell Me When It Closes , a service for getting less noise from GitHub issues/pull requests and more signal. At thoughtbot we believe we can always be improving, from the big issues down to the smallest things like having to copy and paste a URL. The Impet...