Skip to content


Using SendGrid’s Parse API to Email yourself a Trello card

This is a placeholder, I’ll add more content shortly.

Nutshell: I used a free SendGrid developer account, a free Trello account, and a free Google App Engine account. I added a subdomain to iandouglas.com, set its MX record to point to mx.sendgrid.net, then modified a portion of py-trello to be appengine-compatible and answer to a POST operation that SendGrid would perform when receiving Email to any recipient at @mynewsubdomain.iandouglas.com using their Parse API. The appengine script then re-POST’s that information to Trello.

Why did I go through this? Two reasons:

1. Because I could.
2. Because I found some crazy service who wanted to charge $10/month for a similar service, and all of this can be done totally free with a little work. Not that I’m against paying money for a valuable service, I’m just opposed to their particular model that costs what seems an awfully large amount of money for the limited usage they allowed.

https://github.com/iandouglas/email-trello

Please review the README.md file at GitHub for additional information.

Posted in howto, misc, webdev.


Recruiters: Sass, Slime, Spam and Scorn

I got a LinkedIn connection request this morning from a recruiter from Zynga, who said:

Technical Recruiter at Zynga – *********@zynga.com or 415-603-****
Dont’; be so negative. And I don’t want to connect with you.

Well for starters, I only “connect” on LinkedIn with people I’ve personally worked with in the past, know on a personal level, or a handful of recruiters who have actually placed me successfully at a job, or that I (gasp) respect. Secondly, why not send a LinkedIn InMail instead of a connection request that says you do NOT want to connect? I tweeted a response that got some laughs from friends.

I admit I’m pretty harsh on recruiters, especially this open letter to LinkedIn, and the entire section of my web site dedicated to some of the worst recruiters/headhunters I’ve dealt with over the years. I get a chuckle whenever an interview candidate does their homework on me as the interviewer and they comment on my headhunter nightmares. I’ve even had recruiters reach out and say “Hey, I’m not trying to recruit you, just wanted to say I got a huge laugh at your headhunter nightmares, hopefully I never do that.”

I figured that I should take a few moments to actually explain why I’m so hard on recruiters who contact me.

My first dealings with recruiters was in the spring of 2000, when a recruiter in Los Angeles placed me quite successfully at a startup who, in the midst of the dot-com boom, paid to move me to the US from Canada, and it remains the longest time I’ve spent at any one job.

Once I got down to Los Angeles, you couldn’t even sneeze on the internet without recruiters trying to entice you away to some new “amazing opportunity”. Most of them didn’t even want to bother spending time to build a relationship with me as a potential recruit. And almost all of them say something along the lines of “I’m not that kind of recruiter”. If you’re not a typical recruiter, why are you trying to pitch me on a job opportunity in your second breath?

There ARE Good Recruiters Out There

Enter Luis Rhee. We met through dice.com in early 2006. Luis took several months, a nice lunch, and several phone calls to discuss my career goals, dislikes, and opportunities, and 5 months later placed me at a marketing agency where I was mentored by someone I still admire and respect to this day. Luis and I have remained in contact off and on over the years, and he’s one of the few recruiters that I call when I’m thinking about finding new work.

In fact, Luis and one other recruiter are the ONLY recruiters I trust to give out names of friends who are actively looking for work.

Some Firms Don’t Update Their Info, Though

Then there’s the recruiting agency, Workbridge/Jobscore, that placed me at SendGrid. They took their time, too, sort of, and it’s by far the best job in my career. Except they’ve reached out several times in the past 6 months trying to either recruit me away from SendGrid, or haven’t updated their information to realize I’m no longer at Armor Games, and think I’m a viable contact there to try to pitch recruits for job openings at Armor Games. Either way, pretty slimy, and I’ve had to start tracking down upper management there to get them to knock it off.


Where’s The Beef?

My biggest beef with recruiters? The opening statement on my LinkedIn profile CLEARLY states that I’m not looking for work, and to please avoid contacting me about new job opportunities. But that hasn’t stopped over 30 recruiters from sending me messages on LinkedIn asking if I’m open to a new opportunity. So I recently updated it, and I guess that’s what triggered the nastygram from someone at Zynga.

Dear Recruiters: Guess what? I’m STILL not looking for work. Recruiting attempts will be met with scorn and ridicule and possibly some harshly-worded Tweets in your direction. Also, I only add people I know in real life or have worked with at a previous job, so please don’t try to “connect” claiming we’ve worked together before.

Also, I’m relocating out of California in the summer of 2013. Please don’t waste my time, or yours, trying to convince me to stay in California.

“I’m calling from Slimy McSlimerstein’s Slimy Recruiting Scumbags…”

This past week at SendGrid, our office manager came by my desk and told me someone named “Andre” was trying to reach me. I know a few Andre’s, and asked her for more info, but she said the guy wouldn’t leave any additional information. Then he called back the next day saying that he was in the middle of talking to me and we got cut off, which is interesting since I was in a meeting at the time.

She thinks he tried calling again to reach out to another employee, starting the phone call with “Yeah, can I talk to ____, I have a quick PHP question for him.” And after one other failed attempt, tracked down this employee’s wife online, and sent her a private Email claiming he was a friend of the employee and could he get a cell phone number to reach our employee.

I tweeted (here and here) about these recent events right around the time that someone, whose Twitter profile says she’s a recruiter, started following me. I said that these tactics were “slimy” and she replied with “ouch“, but also favorited the tweet about this “Andre” guy trying to get private contact information. Then I tweeted that a recruiter who follows me “favorited” that tweet, and the recruiter tweeted back saying she hadn’t planned on contacting me, and only favorited it because she thought it was funny.

In Their Defense

It’s easy to get angry and frustrated when you don’t know everything about a particular business or industry. It’s easy to see get angry at bankers getting gazzilions in payoffs, benefits and retirements, as the bank closes its doors. It’s easy to get angry at politicians who cut funding to our favorite things like schools, or PBS. And it’s especially easy to get angry at recruiters who ignore your online profiles which clearly state things like “I’m not looking for work” or “I am not willing to relocate”. Or even more frustrated when a recruiter writes simply to ask for referrals for jobs, and wanting to scream “do your own job and find recruits!”

I actually debated starting a recruiting firm years ago, to do things differently. Build and foster relationships with the recruits, and businesses, use my own technical skills to srceen people, and use my networking and connections to help recruits find jobs they’re going to feel passionate about, not just finding them a paycheck so I get a commission. Then I sat down and really thought about what a day in the life of a headhunter must really be like, and decided to remain in programming.

Recently, I read that programmers and other technology related workers are some of the most private, secretive people who sometimes go out of their way to having private information on the Internet because they don’t want to be harassed about new job opportunities. Workers who focus on Marketing and Sales tend to make themselves as public as possible, where programmers hide behind pseudonyms and Email aliases that give nothing away.

It must be equally frustrating for recruiters to find quality people, especially these days when it seems that only tech companies are the ones struggling to find workers while other industries face massive layoffs and closures. And being unable to reach people has to make their jobs especially difficult.

What’s A Company To Do? Use Recruiters Or Not?

In this day and age though, for we the programmers, jobs are plenty. At SendGrid alone we currently have over 30 open positions we’re trying to fill. One of the biggest problems we have is geography. Our office in Anaheim isn’t easy to get to for all of the talent in West LA or Burbank areas. So we’ve been upping our own game, hiring in-house recruiters, and relying less on outside agencies to find potential candidates.

Should recruiting agencies go die in fire? Nah, I’m sure big corporations need them to attract people to less-than-glamorous jobs. But if you have a fun startup or small business, I would suggest you don’t waste your time: attend hackathons, sponsor them even. Get your name out there. Make your business about something people actually USE, and reach out to them. (We’ve lost count at SendGrid how many employees came from other companies who use SendGrid’s services) Continue to foster a strong trusting culture within your company and your employees will bring more than enough referrals.

Posted in misc, personal, recruiters.


Project Sputnik XPS13: Initial Impressions

My XPS13 arrived today. While I hadn’t initially applied to Dell’s beta group for Project Sputnik, I’ve been pretty eager about it to the point of wanting to purchase a full-price XPS13 on which to test the software. The appeal of downloadable chef recipes to configure a box for programming different languages was too strong to resist. My hesitation was the limitation of 4GB of RAM on the laptop, which is an oft-asked upgrade. Considering our production systems at work are an older version of Ubuntu, until I figure out how the Sputnik “deploy to cloud” system is supposed to work, I’ll need a VM running on my box, and that’s going to need 2GB of the 4GB of RAM on the system. Not a showstopper, but definitely something that will come up whenever I’m using the laptop. Incidentally, I’m going to attempt to use the XPS13 for most of the month of September as my “daily driver” once I get it configured.

Edit: I had debated trying the Sputnik software on my XPS15-L501x since I have that dual-booting with Ubuntu 12.04 already, but the Optimus graphics in it are flaky at best, and it’s my wife’s “daily driver” so trying to come up with an alternative for her would be more difficult.

After contacting Barton George, the lead on the project, and replying to some tweets by several people that they were not going to participate because of the cost of the laptop (c’mon, were you really expecting a free laptop?), Barton wrote back and said he’d see if he could get me into the beta. A day or two later, I had the paperwork printed, signed, scanned, and sent back. Friday morning I got my coupon code and ordered my XPS13. Initially delivery date was the following Thursday even with “next business day” shipping. The next morning, Dell pinged me to up my delivery date to Wednesday. Yesterday, FedEx reported the XPS13 would arrive today by 3pm, and it arrived by 11am.

I won’t cover unboxing, as Matt Woodward did a great job with his. Matt and I had never met prior to Sputnik, but his blog is full of great webdev’ery. Go check it out.

Before I powered on the XPS13, I plugged in a USB 2.0 pen drive with the Sputnik ISO installed per our instructions. I also plugged in a USB 3.0 drive enclosure with an SSD to back up the Windows 7 partition in case I wanted to dual-boot later, and powered on the laptop. I decided not to worry about Win7, unmounted the external drive, and tried to continue with the software installation., but the removal of the USB 3.0 SSD seems to have caused some internal issue (yay, Ubuntu… I’ve had similar issues on two other laptops), as installation crashed three times trying to get past the first two or three screens. I rebooted, didn’t hit F12 quick enough and Windows started booting. I powered off the laptop, powered it back on, mashed F12 a few times, which started the live image, and the installation program ran just fine.

I paused at the screen where I had to enter my username and password and wonder whether to encrypt the home folder in case I lose the XPS13. Anyone smart enough to use Linux will surely know how to remount the home folder anyway, or even easier: simply change my user password. Still, due diligence, right? As I was typing my information, I did notice that the keyboard felt quite warm around the IOP/KL; keys, and the laptop had been sitting completely idle. Lifting it up, it was warm underneath as well, and I confirmed that where it was sitting was not blocking any air vents. Hopefully that’s not indicative of other issues to come.

My initial thoughts, otherwise:

  • Wow, this thing is light. Then again, I’ve lugged around 10lb+ laptops for the past several years.
  • Feels sturdy for the form factor. I envision myself picking this up by a corner off the desk a lot, and don’t feel like it’s going to crack under the weight.
  • The keys feel slippery; they’re comfortable to type on, but feel like they have a glossy finish. Maybe this will make me a faster typist?
  • The trackpad being tap-able AND clickable is a little annoying. A deep press on the trackpad seems to equate to a left-button click, but a very soft tap on the trackpad does the same. Not to mention there are dedicted “left/right” button areas at the bottom of the trackpad anyway. Apparently someone at Dell used to work for the Redundant Department of Redundancy.
  • It’s hard to tell if the fan is blowing because there’s a lawnmower running outside.
  • These stickers gotta go. I *know* I’m running a Dell XPS13 Ultrabook, I don’t need a reminder, and the Win7 and Intel i7 stickers, meh. On the flip side, if they’d shipped it with some custom “project sputnik” sticker to put on the lid, I’d be in heaven. I’m a bit of a sticker nut on my laptops.
  • Installation was fast, though would have been significantly faster if installing from my USB 3.0 key instead of USB 2.0. Not sure why that was recommended, but I followed instructions. Reboot was “holy crap” fast. Like, turn my head to write a few words here and I hear the Ubuntu drum beats telling me it’s time to log in.

Per my tweet on the weekend, the one thing I’m finding lacking so far is instructions on “what’s next” in terms of getting the actual Sputnik programmer profiles downloaded and chef’d. Installing the ISO on a Virtualbox VM this weekend had issues downloading chef per Dell’s instructions, but then again I felt like there was some significant “hunting” needed to find the github repos where the profiles (here and here) exist. It would have been nice, since the Sputnik PPAs were already added to the ISO image, if *something* were installed on the desktop like a “getting started” guide.

As far as disclaimers go, Dell has asked that beta participants disclose up front that we have received significant discounts on the hardware as part of our beta program participation, and that we blog and tweet regularly about our experiences, within the guidelines of our non-disclosure contract.


Posted in devops, project sputnik, webdev.


I made a promise to LinkedIn about recruiter spam

I get spammed regularly and frequently by Ticketmaster / Live Nation via LinkedIn by someone named Natalie Kuperman (LinkedIn says she’s contact me a total of 16 times). I’ve asked her to stop, but I’m guessing that TM/LN have paid for some super premium account at LinkedIn which allows automated means to contact users in bulk.

Trouble is, LinkedIn has no way to allow me to block her messages. Worst of all, the Emails that wind up in my Inbox have no way to report the user for spamming, I have to waste a few minutes of my time to log into LinkedIn to flag her message (and her account) as spam.

I sent the following text to LinkedIn: (oh, and I had to guess that the Email address was support@linkedin.com since they didn’t have an easy-to-find way to contact them on their site. What is this, 1995?)

Hey support team,

I’ve asked this user (Natalie Kuperman) *repeatedly* to stop Emailing me. How do I blacklist them on LinkedIn or find a way to block them from seeing my profile, or get them kicked off of LinkedIn for spamming or whatever it’s going to take to get them to knock it off?

Their response showed up about 38 hours later:

Hi Ian,

Currently, we don’t have an option that allows you to block your profile from being seen by other LinkedIn members or messages from being sent from them. However, you might want to adjust the settings on your account to stop getting notifications. You can do this by going to this link:

https://www.linkedin.com/settings/?tab=email

If you have further questions, please feel free to let me know.

Regards,

Melvin
LinkedIn Customer Service

So if I understand Melvin correctly, changing this setting to “off” will only stop me from getting a copy of the LinkedIn Inbox message via Email. This doesn’t even fix the underlying problem since the next time I log into LinkedIn I’m still going to see their crappy spam. Or did he mean just to shut off ALL communication on the site?? Might as well just tell me to close my account.

Luckily, 48 hours and 2 minutes later, I got an Email asking if I’d like to fill out a survey about my support ticket. Oh, indeed I would. On the very last page, it gave the opportunity to write a few remarks. This was my little letter to LinkedIn, along with a promise that I would not only blog about my experience, but write Twitter messages every time I got recruiter spam.

First, LinkedIn needs to add a link to the bottom of Emails being sent by other users to “report this as spam” so I don’t have to log into the web site to flag it or report it there. I should be able to do this via a link in the Email footer.

Secondly, LinkedIn NEEDS to have a way to allow users to block individuals from contacting them if there is no LinkedIn connection between them. I’m getting recruiter spam from the same person about once a month, and it appears to be some automated means because I’m sure a human being would be able to read a response of “stop contacting me” several times over and over and be a decent person and knock it off. I have never connected with this person via LinkedIn, so it’s not a direct “hey, just following up with you” kind of conversation. They are explicitly spamming me about once a month for the past ~6 months or more.

Thirdly, you’re technically breaking the law by NOT having a feature to allow this. In effect, you’re guilty of being accomplices to spammers who have found a way around the CanSpam act since I have no way to be removed from THEIR mailings.

Fourth, your representative told me that my ONLY recourse was to COMPLETELY shut off getting messages from ANYONE on LinkedIn. I find this completely unacceptable, and I might as well just shut down my account. I *want* to get messages from coworkers, past and present, as well as hearing about opportunities to share my expertise, but there HAS to be a way to block individuals when we are not “connected” on LinkedIn.

Your corporate response would be akin to calling the police to report harassing phone calls and them telling me to just disconnect my phone service.

I’ll also be blogging about this, and tweeting about my blog post every time this user continues to spam me until either their account is shut down, or you guys give individuals a way to block un-linked spammers.

If I’m lucky, LinkedIn will fix the problem. Worst case, they see this blog post and close my account. Either way, I guess I win.

Posted in webdev.


name.com — shout out back at’cha

During scrum this morning, my phone kept buzzing that I’d been mentioned on Twitter. Over and over.

Imagine my surprise when a simple exchange last night — asking if anyone had an affiliate link I could follow for a registrar, and replying to two colleagues (@timsegraves and @travisberry) who recommended name.com, that my simple tweet saying “thanks, I’ll check out @namedotcom” – would turn into this unexpected summary of me and my skills from name.com: (read them in reverse order)

Don’t think I’ve ever seen a company try so hard to win over a customer. Maybe I should hit them up for a discount, since I’ll be moving several dozen domain names from GoDaddy this week…

Posted in webdev.




Get Adobe Flash player
This website uses a Hackadelic PlugIn, Hackadelic SEO Table Of Contents 1.7.3.