Victor Quinn

I am a programmer, author, technology leader, legal scholar, writer, husband, and more.

I have engineered software in the education, political, and location-based spaces.

I have been formally educated in computer science, physics, and intellectual property law.

I write regularly and have authored a book.

I am always looking for new challenges, new problems to solve, new things to learn.

Current

Recent Updates

My first book

I completed work on my first book which was recently published!

Titled Getting Started with tmux, this book is a getting started book for tmux, a command line program which can allow a single terminal to act as many. This book is targeted at anyone who is a developer, devops engineer, or other professional who spends any amount of time in a terminal.

Bit of backstory, I got contacted by an acquisition editor from Packt Publishing who had read a tutorial on tmux I had written back in 2011. She wanted to know if I was interested in expanding my tutorial into a book and I emphatically said YES! The writing and editorial process took place in bursts over the next 6 months or so and now it is published!

Location

I currently live in Northern Virginia and work in Washington, D.C.

I commute in daily on my motorcycle or take the Metro, depending on the weather.

Employment

I am currently working for DC-based startup SocialRadar.

We are building mobile applications for iOS, Android, Google Glass, and more which can give you real-time information on the people around you.

more...

In order to power that app, we have built some incredible backend technology around geolocation and social media which can marry the two to provide location information in the app on friends, coworkers, and others that aren't even using SocialRadar but share their location on other networks (in addition to providing location information for friends using the app of course).

In my capacity, I am primarily building this backend system whch provides an API that receives data from and feeds data to our mobile applications so they can deliver a consistent experience across all of the platforms we support.

Due to the nature of the devices sending a large volume of data, location and otherwise, to our servers, we have built the API to scale with massive concurrency and low latency using Node.js.

Our backend consists of a half dozen Node.js apps which work in concert to deliver the SocialRadar experience to the mobile devices. In addition to the API and our location search, this backend also includes other processes such as sending push notifications to the devices, sending emails to users, performing background processing of social media feeds, handling other big data, reporting and analytics, debugging, and dozens of other tasks.

In addition to using some of the usual suspects in terms of open source technology, we are constantly evaluating alternatives and thinking of better ways to refine our current processes. A big part of my job is researching and evaluating these alternatives and pulling them into our stack, where appropriate.

In some cases this means writing something new entirely which we do our best to contribute back to the open source community.

Contact

Reach out to Me

Identify Me

Projects

My Open Source Libraries

Chance

Chance is a minimalist library for generating anything random in JavaScript.

more...

I started this project when I was writing unit tests and noticed myself writing a bunch of utility functions to do things like generate a number, generate a string, and so on.

It seemed silly that me and any developer wanting to pick a random number from 1-100 had to write a bunch of nonsense like

Math.ceil(Math.random()*100)
just to generate a simple random number.

Generating a random string was worse, for a string, it was something like:

function randomString(length) {
    var str = "";
    var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for(var i = 0; i < length; i++) {
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    }
    return text;
}
It seemed silly that me and any developer would have to jump through all those hoops just to generate a random number or string, so I started building built Chance so they don't have to.