Toward a Swankier Rails Console

As Rails developers, we spend a fair amount of time in the Rails console, which is itself just the native Interactive Ruby Shell (IRB). By default, it’s not particularly pretty…

$ rails c
irb(main):001:0> def hello
irb(main):002:1> puts “hello”
irb(main):003:1> end
=> :hello
irb(main):004:0> hello
=> nil

…but it gets the job done. We were content with it, because we didn’t know things could be better.

Read More

A way to change a foreign key reference with zero downtime

In a project we recently completed, we had to refactor an object so that one of its foreign key associations referred to a new model. We use Ruby/Rails and deploy code to Heroku with Preboot enabled. Implementing this change safely without any downtime was surprisingly tricky to get right (in fact we didn’t at first, and ended up with a brief outage in a part of our product, although fortunately no data was lost). Pedro Belo’s post on hot compatibility lists some patterns to make basic data migrations zero-downtime deployment safe. As Belo mentions at the end of his post, hot compatibility needs to be addressed at the application level, and often takes a lot of planning and work. This article describes a reusable pattern to safely make a change to a foreign key reference with no downtime.

Read More

Our Engineering Book Club

Every Wednesday afternoon you will find the engineers at Panorama huddled by the couches or gathered around the desks by the projector. Why? It’s Book Club time!

The Book Club started back in June 2014 when we realized that all of us had favorite programming/technical books which we loved talking about and wanted everyone else to read. So we decided that we’d all read a book together and then share our thoughts, learnings, questions. And then, every Wednesday, we discuss for half an hour what the chapter taught us, what we agree or disagree with and how can we incorporate the learnings in our daily work.

Read More
Ninja for the Blog

Panorama Engineering Goes Civic Hacking!

At Panorama, one of our core company values is to contribute to the communities we are a part of and in the spirit of this value, one of the goals of the engineering team this quarter is to further this culture of giving back to the community. As part of this goal, we are undertaking initiatives to get involved with the thriving local developer community in Boston.

We identified CodeAcross Boston 2015, a civic tech hackathon organized by Code for Boston, as a cool local developer event to attend; David, Geoffrey and I represented Panorama at the weekend-long hackathon. Our goals for this event were twofold: first, get acquainted with other developers around Boston, and second, hack on a project that we believed could benefit the people of the city.

Read More
1 2