#kbsc (keyboard shortcut) tip: Browse RubyMine rails console history ⌥⌘E

Aug 4th, 2014

Scrolling through console history with the up key in any command line environment can be pretty tedious. Next time you’re in rails console mode, hit ⌥⌘E, or option-command-E, and enjoy your history in all of it’s glory.

 

 

 

 

Note: this keyboard shortcut may apply to all IntelliJ IDE derivatives that have console modes.

Tags:

Pushing the limits.

Mar 1st, 2014

When you believe that you are working your tail off and pushing the limits, ask yourself, “Am I really pushing the correct thing?” For instance, lets imagine you’re working on a software project. You plan to work on it all day and through the night. Are you truly pushing the project to new heights or to new milestones? Or, are you just pushing your body and mind to the limits? Often when we’re driven to get something done in a superhuman fashion, what we actually end up doing is pushing our physical and mental stability to the limits, and achieving mediocre results.

We’ve all worked ourselves to complete mental and physical exhaustion at one time or another. And during that process, there is that inflection point of diminishing returns (2 lines of code in the past 2 hours), followed by the flash point of negative productivity (committing errors that move you backwards). The next time you plan on pushing the limits, try to measure and boost your productivity without sacrificing your health.

Tags:

#kbsc (keyboard shortcut) tip: switch to next app window with ⌘~

Apr 29th, 2013

2013-04-29_11-37-13_kbsc

I’ve got a lot of screen real estate (4800 x 1900 pixels). #pixelbrag  This also means I have a fudge ton of windows open at any given time. Thus, this #kbsc, Command-Tilde (⌘~) is a time saver. If you have multiple terminal windows open (not tabs), and wish to jump between them? ⌘~ and you jump tot he next terminal. Have multiple Firefox windows open and want to jump between only Firefox windows? ⌘~. We all know that ⌘tab allows you to jump from active app to active app — but ⌘~ only jumps to the next window of the same app. Additionally, you can use Shift ⌘~ to the same thing, but in the reverse order (useful if you have 3 or more windows open).

I don’t have a Windows machine near me, but I’m guessing you can get the same thing done with Alt-Tilde.

When Twitter is down…

Jan 21st, 2013

.. I feel lost, with no place to post a snarky one-liner.

Tags:

Happy 2013.

Jan 11th, 2013

May you have a safe, prosperous and lovely year. </eom>

Tags:

Twitter API changes got you stressed? Here are some action items.

Aug 22nd, 2012

There’s a lot of hubbub around Twitter’s latest policy changes. Rate limits are being ratcheted down. Acceptable use cases for their API are narrowing. For developers that like to tinker with the Twitter API, you’re largely unaffected. However, if your business, at any level (startup/consumer to blue chip/enterprise) has product features built on the Twitter platform (either consume or publish operations), here are a few things to do to reduce your stress levels:

  • Measure – know exactly which endpoints you are calling (with corresponding credentials), and measure. If hitting your limit (and API calls stop working) is your only measurement tool, you’re toast. Every time you make a call on any endpoint, log the request. At minimum, you’ll know where you stand with your quota/limits. With minimal effort, you’ll have some trending usage data. But you want to stay ahead of the game, which leads to the next action…
  • Refactor – the new limits are: 60 calls per-hour per-endpoint (and possibly per-authcredential). So, try and spread out your consumption to as many different endpoints as possible, rather than pounding the same one. The limits aren’t suffocating, but that’s based on my current understanding (2012-08-22 @ 10:30A PST). With good analytics (discussed above), you’ll discover inefficient use of the API. Optimize your code, and you might even end up delivering a better user experience (less latency).
  • License - if these limits are too constricting or you believe that additional ratcheting down of limits could adversely affect your business, don’t wait — get the business development/licensing conversation started. Look at Gnip and DataSift.
  • Spread Out – keep your eye on other social platforms. Consider baking in Facebook, LinkedIn, Identi.ca / Status.net, Salesforce, Google+, foursquare, etc. At the moment, status updates across multiple networks feels like herding clones of cats (and de-duping), but obtaining data from the origin of the syndication (from a partner that has an established relationship with Twitter) may satisfy the needs of your app while adding multiple in-bound data channels. At minimum, think of it as redundancy. However, you might just discover new richness for your app by adding more API integrations. Look beyond the 140 characters. :)

Don’t look at the Twitter API acceptable use case quadrant, plop yourself into a square and declare that you’re either screwed or safe as houses. Just take care of business.

Ian Murdock – You’re No Guido van Rossum

Aug 18th, 2012

The other night I went out to dinner in SF with several folks from Mashery and ExactTarget. About 30 minutes in, our conversation meandered into OSCON and open source software, and I discovered that Ian, sitting directly in front of me, was the perl -e ‘print substr(‘debian’,3,6);‘. His full name is Ian Murdock, and he’s the co-founder of the Debian Linux distro. If you’re not familiar with Debian, Ubuntu is based on Debian, and surely, you know Ubuntu. Today, Ian is the VP of Platform at ExactTarget, considered one of the world’s leading email/mobile/social marketing SaaS players.

I’ll spare you the details of our time-warp conversation — but imagine, in fast motion, 30 minutes of — Apple //+, Apple //e, 300 baud, QEMM, DesqView, BBS, Cobol, Fortran, v32.bis, IRC, 56K, data centers, T1, Slackware, Debian, Redhat, SGI/Irix, Sun/OpenSolaris, C, Objective-C, C#, Perl (I always manage to toss in a \$reference), I/O Docs, I/O Wraps, hackathons, Guido van Rossum.

Looking back at my sparse blog, it appears I’ve failed to mention the Guido van Rossum story. A few years back at Google I/O, I spotted Guido standing by himself at the back of a room. I walked over and said, “Hi, I’m Neil, a developer. Would you mind taking a picture with me?” As I was about to hand my phone off to another guy to shoot the pic, Guido nodded his head, saying, “No pictures.” I looked at him sideways, like a confused German shepherd waiting for his owner to reveal the hidden chewtoy behind his back, and thought, “Dude, really?” So now, each time I take pictures along-side swell folks that contribute to open source software, I genuinely thank them with a token of appreciation: You’re no Guido van Rossum.

Ian, you’re definitely no Guido van Rossum. ;)

Tags:

Whodata Wins Hackathon Award for Best Data Integration Using Qwerly, Klout and Hunch

Jun 5th, 2011

Mash up the words “hack” and “marathon” and you end up with hackathon – a race to build the best app in a limited amount of time. Some hackathons are short, limited to just a few hours. But the truly grueling ones run overnight – because they give contestants a false sense that there’s plenty of time to build something awesome. However, as the night creeps on, with bellies full of pizza and Red Bull, the clock seems to move faster as productivity fades in place of sleepiness.

Just the other week, my co-worker Todd Singleton and I competed in the TechCrunch Disrupt hackathon in New York City. Mashery was a sponsor of the event and we were there to spread the good word about the Mashery API Network. Prior to the event, Todd and I came up with a few ideas but never came up with any solid plan. So we winged it!

We recruited a couple of young graphic designers on-site because neither Todd or myself are “front-end” guys. The idea that we decided to pursue was building a replacement for “Googling” individuals by utilizing social media profiles and related meta-data.

In the spirit of tech buzzwords, we pivoted our project several times in a matter of hours. We tasked our young graphic designers, Kate and David, with building a UI to nameless product that had no clear value proposition. All we knew was that there was a multitude of data about people out in the wild, and we wanted to build something that would replace “Googling.” And then came Harold from Hunch.

Harold Cooper, an engineer from Hunch, was giving an API workshop talk about their API. Hunch is a product and technology company that is building a taste graph — a way to make and discover recommendations based on users’ tastes. Harold was discussing Hunch’s get-recommendations API call which provides an incredible amount of retail, travel and other recommendations based only on an individual’s Twitter handle or Facebook ID – and they don’t even have to be a Hunch user. Harold also mentioned that Hunch was awarding $1,000 to the best hack that utilized the Hunch API. Wow!

We had about 18 hours total to build something, and what we ended up submitting (with just minutes to spare) was Whodata, pronounced  like, “Who Dat? Ahh..”  A little Detroit flavor.  Over 100 teams presented their apps in front of a panel of judges including Jeff Clavier, Christopher Poole (moot) and Bradley Horowitz. With nearly a full days of hacking and no sleep, we were given only 60 seconds for our demo pitch. Despite the lack of sleep and turbo demo, it all worked out.

Whodata was built with PHP, Java, Perl and JavaScript. It uses the Qwerly API to get social media profile information based on Twitter name. Next, it uses Klout API to pull down social influence data. And lastly, it uses the Hunch API for taste graph/recommendation data.

Whodata was awarded with the “Best Data Integration” by Palentir Technologies who sponsored the hackathon. The prize was $1,000 of Amazon Web Services. We were excited and flattered to win. The hackathon was incredibly fun and very well organized. Big thank you to TechCrunch for holding an incredibly fun and well organized hackathon. And of course, a big thanks to Palentir for the AWS credit.

Shout out to team Whodata – Kate Proulx (@proulxsie) and Dave Caputo (@davecaputo), two young roller derbying graphic designers from New York.

As for the $1,000 AWS credit – I’ll be using that to spin up instances and provide environments for people participating at future Mashery sponsored hackathons coming near you! :)

It’s 2011. Refresh. Clear Your Cache.

Jan 1st, 2011

Do you remember the first time you tried yoga or meditating [successfully], and you felt like your body and mind were given back to you, as everything else just melted away? Unplug. Discharge. Wait five seconds. Press the reset button. Or for you über geeks, locate JP2 on your motherboard, short pins 2 & 3 to clear your CMOS. Plug in. Happy new year! wOOt!

My Affinity for SMS Continues, a la EtsyText.

Oct 28th, 2010

EtsyText messages (SMS) hold a special place in my heart.  They’re still rather cute little communication packages — sort of like a top-secret message to your pal sent over a string between two paper cups.  So far, we have managed to avoid the deluge of text-message spam, due mostly to the fact that it’s not as easy to send nor affordable as e-mail spam.  SMS continues to be a dominant clear channel to communicate, be it personally, professionally, asynchronously (casual/passive), and synchronously (urgent/active).  Boundaries, in terms of appropriateness of content and time , are generally respected.  But most of all, SMS is special because it is ubiquitous, meaning that everyone has it.

About a year ago, I told a friend of mine that I’d like to take the work I’ve done for seller real-time SMS notifications on eBay, and bring it over to Etsy.  Etsy is a marketplace for handmade goods.  I tabled the idea until last month when Etsy announced their next generation API (v2).  I figured it would be a fun project to hack and give me an opportunity to pick up some new skills.  For those that know me well, I’m on a mission to learn new stuff, and my objectives of the project were to:

  • get an actual artist to make the art
  • layout the the Web app with nothing but <div> tags and CSS
  • use more jQuery and less hacky JavaScript
  • OAuth using a generic OAuth library (ended up using PHP)
  • do it in less than three days

Mission accomplished (sans less hacky JS).  It’s EtsyText, version one and free.  Sell an item on Etsy and you’ll instantly receive a text message on your mobile phone.  There are hundreds of Etsy community members using it, and it’s just fantastic to hear their enthusiasm and feedback in both the discussion forums and convos (internal Etsy member messages).  For the Etsy sellers, this helps them stay informed about their sales immediately, without having to be near their computer.  There are many more EtsyText features to come as Etsy continues to enhance their API offerings.