Mark Rushakoff

Biography

  • Barriers to deterministic, reproducible zip files

    Barriers to deterministic, reproducible zip files

    Despite all my Google searching for an existing tool that would build an identical zip file every time for the same inputs, I came up empty-handed. I decided to dig as deep as necessary to figure...

    Read More
  • Domains and IP Addresses Reserved for Documentation – and Why You Should Use Them

    Domains and IP Addresses Reserved for Documentation – and Why You Should Use Them

    Earlier in my programming days, my go-to example would have been foo.com. Well, not always. If we had any inside jokes on the team, I might put something clever in there for fun. On the Cloud...

    Read More
  • git rebase vs. git merge: an agile perspective

    git rebase vs. git merge: an agile perspective

    At Pivotal Labs, we’ve been using Quandora for about 6 months as an easier way to archive and discover discussions about the hows and whys of consulting and software engineering here. Earlier...

    Read More
  • An attitude shift as we approach production

    An attitude shift as we approach production

    I had the good fortune of attending a workshop about responding to production incidents, led by the folks behind Blackrock 3. I plan to share, over several posts, what I learned with the...

    Read More
  • Use fold to wrap long lines for an easier diff

    Use fold to wrap long lines for an easier diff

    We had two versions of a not-really-intended-to-be-human-readable file that were only slightly different, and we wanted to know how they were different. The lines were several hundred characters...

    Read More
  • Building identical gems

    Building identical gems

    We ran into a problem where we were running `gem build` on identical input files and the built gems had different checksums; that is to say, if you run `gem build` twice in a row, the resulting...

    Read More
  • What happened to stdout on CI?

    What happened to stdout on CI?

    We were struggling for a bit yesterday trying to figure out why the few puts statements in our tests weren’t being displayed in Jenkins’ console output. It turns out the ci_reporter gem that we...

    Read More
  • Making life easier after your organization requires two-step authentication

    Making life easier after your organization requires two-step authentication

    My normal workflow at home used to be that I would use one session of Chrome for normal internet browsing with my personal accounts, and I would simultaneously use an incognito session for work...

    Read More
  • Headphones in a pair programming environment

    Headphones in a pair programming environment

    We strive to always pair program here at Pivotal, but occasionally there will be an odd number of people on a team and one person will not be pairing. Sometimes, the solo developer will put on...

    Read More
  • Dealing with issues in third-party libraries

    Dealing with issues in third-party libraries

    Sometimes, despite your best efforts and despite following the documentation, the third-party library you chose for a task just won't cooperate. Maybe it crashes, or maybe it produces the wrong...

    Read More
  • How I remember the difference between Function.call and Function.apply

    How I remember the difference between Function.call and Function.apply

    In Javascript, when you use a function as a first-class-object, you can call the function directly without any special context: function execute(func) { func(); } where the context is...

    Read More
  • CSS :first-child, :nth-child, and :last-child are not like :eq

    CSS :first-child, :nth-child, and :last-child are not like :eq

    One mistake I've seen made a few times is the notion that CSS's nth-child pseudoselector acts like jQuery's :eq pseudoselector. jQuery's :eq(n) pseudoselector gives you a single element that is...

    Read More
  • Shorthand for searching a View's DOM in Backbone

    Shorthand for searching a View's DOM in Backbone

    Sometimes you use a pattern so frequently that you don't realize that other people might not know about it. Here's the most recent one for me -- I was surprised that this wasn't being used in the...

    Read More
  • A simple way to detect unused files in a project using git

    A simple way to detect unused files in a project using git

    After finding that we had a few images checked into our project's repository but that were not referenced in the project, I wanted to write a script to quickly see if there were any other unused...

    Read More
  • You can't (yet) programmatically copy an image to the clipboard from a Javascript web app

    You can't (yet) programmatically copy an image to the clipboard from a Javascript web app

    Earlier this week we had an investigation chore about whether it was possible to programmatically copy an image to the clipboard in a Javascript web app. Our conclusion was no, it's not currently...

    Read More
  • JavaScript disappoints yet again: sorting an array of numbers

    JavaScript disappoints yet again: sorting an array of numbers

    We were writing a spec yesterday where we had a method that was returning an array of numbers in no particular order, and we wanted to verify its output. It went something...

    Read More
  • A Great Example of Vendor-Library Abstraction in ActiveSupport

    A Great Example of Vendor-Library Abstraction in ActiveSupport

    Depending on what you're working on, you may have been bitten at least once by a heavy dependency on a third-party library. This happens when you become very dependent on the API of someone else's...

    Read More
  • Simplifying View-View Events in Backbone using the Mediator Pattern

    Simplifying View-View Events in Backbone using the Mediator Pattern

    In most single-page apps, you will inevitably end up having multiple views on one page at a time. It usually starts out with just one view, and then that view needs to bind to events on a subview,...

    Read More
  • We're finally getting destroy! in Rails 4

    We're finally getting destroy! in Rails 4

    Unlike create!, save!, and friends, the destroy! method didn't exist in Rails 3. It took me a while to get used to destroy instead of destroy! from the Rails console and from test code, but Rails...

    Read More
  • Testing mass assignment with RSpec-Shoulda

    Testing mass assignment with RSpec-Shoulda

    If you're new to Rails, or if you've been using Rails 2 for a long time, you might not be aware that Shoulda offers an allow_mass_assignment_of matcher that works just like it sounds. Here's the...

    Read More
  • loading
    Loading More...