tag:aelag.com,2013:/posts Giftshop Scientist 2015-09-11T02:17:49Z Amir Elaguizy tag:aelag.com,2013:Post/613718 2013-10-28T15:02:15Z 2013-10-28T15:03:20Z Resourceful ways I use TaskRabbit in my startup

Startups produce a lot of one-off needs that can be painful to solve. I don’t have the manpower to put someone on them without sacrificing on core product development. I’m always on the lookout for a better way to handle these sorts of needs. To that end, I’ve experimented significantly with distributed workforce services. I’ve tried out all of the obvious candidates: Fiverr, mturk, TaskRabbit & MobileWorks. I have gotten quite good at using these services to fill needs without distracting the team from the most important work. My early experiments with MobileWorks have gone well but the best results I’ve seen have been from TaskRabbit. 

Going into these experiments one of my unspoken biases was the assumption that workers on these platforms are not skilled or highly educated. I was wrong - I’ve been consistently surprised at the quality of the distributed workforce taken as a whole. It is not exclusively unskilled labor. There are a lot of highly educated intelligent people who are picking up extra cash by taking on well-defined units of work in their spare time.  If anything I’ve found that the TaskRabbits I’ve hired are more motivated than the average employee. This is likely due to the review system. We’ve found people with MBAs and accounting degrees on TaskRabbit. Once I hired an IT manager from a well known software company to help do some technical research. 

The lesson here is to not assume that the task is too challenging or specialized before you give it a shot.

Here is a non-exhaustive list of some of the ways I’ve successfully used TaskRabbit:

Amir Elaguizy
tag:aelag.com,2013:Post/609148 2013-10-15T11:27:38Z 2015-02-22T08:34:07Z 58 things I learned at YC

General YC Advice

- Ask for help (rather than try to have all the answers)

- Everyone is basically scared of everyone else at first

- Make a conscious effort to meet everyone in your batch and know his or her name.

- Everyone in the room is smart as hell, even if you can't tell why at first

- The best companies didn't have political alliances because their product was awesome and they mostly knew it

- The second best companies had fantastic political alliances and an okay product / traction

- Have touch stones to relieve pressure (for me it was running)

- Almost everyone’s company looks great on the outside

- Make friends with other entrepreneurs they will be your biggest allies in the future

- Never discredit teams in YC if they are still showing up to the events together and seem to be working

- Not dying is harder than you think

- Bring a notebook; don’t take notes on your phone. People think you are tweeting or something.

- You will get conflicting advice from partners occasionally. It’s then on you to be smart.

- Use the advice e-mail address

- YC makes lots of mistakes; they are people too. You don’t win prizes for taking bad advice from good people.

- Frequently YC’s advice is applicable at the aggregate but not individual level. Like in the grand scheme the biggest number of successful startups would be produced if all of them followed this advice, but you personally would not have your YC Expected Value maximized by following it.

Founding Team & Psychology Advice

- Being able to clearly communicate your ideas is very important

- Intelligence is not enough

- The team will fall apart if it can

- Small problems between team members will become big problems given time

- If you are blaming each other you are already done

- The more stability the rest of your life has, the easier it’ll be to deal with the massive instability of a startup

- People without life responsibility (kids, wife, etc) are at a serious advantage in the beginning stages

- You probably know whether or not what you’re doing is a good idea but you just aren’t admitting it to yourself. Maybe that’s just me.

Company Advice

- There is no shortcut around learning, you just have to learn it

- Everything is harder than it looks

- Every guy has thought about starting a dating site

- Real businesses have customers

- There is no one thing that makes a company work.

- The most elusive skill seemed to be knowing what to invent and what to steal

- Just shut up and get a .com

- The best companies strive to empower the individual

- The worst companies strive to maintain control

- Living in or near san Francisco is a competitive advantage

- Being committed in the face of contrary evidence can sometimes be a game-maker. Generally though it’s just stupid.

- If there is no competition you’re probably screwed.

- It gets harder, not easier

Famous / Respected Speakers

- Winging it doesn't work for most speakers (unless you've prepared a talk JUST like this one a million times)

- Even very successful people frequently misunderstand their own success

- Everyone is a regular person if you catch them in the right light


- Stop dancing around the thing and say the thing

- Don't pitch from the defensive & don't start by apologizing

- Know your sexiest angle (hint: traction, revenue)

- Framing matters a LOT (seed round vs seed extension)


- Everyone’s problem is money until it’s hiring

- If it seems hard but important and you try to outsource it, you'll probably get screwed. Potentially for a long time.

- All the technology heavy startups wanted to try to somehow outsource their marketing or customer acquisition


- You have to be a salesman to raise money

- Investors are normal people too

- Angels are a LOT easier to get checks from than VCs

- Just close the first check

- Investors will not agree with the companies you think are awesome (mostly)

- If it seems funny/cute when hanging out with your cofounders, it’ll likely fall flat in front of an audience

- Treat raising money with the same seriousness you take the rest of your business.

- Have a spreadsheet.

- Take yes for an answer 

- Don’t optimize for valuation

- Frequently a bad company is great at raising money, that doesn’t make it a good company.

Amir Elaguizy
tag:aelag.com,2013:Post/606520 2013-10-05T18:01:29Z 2013-10-08T17:31:03Z Raising in the valley as an Austin company

I recently wrote about my YC application experience, which has generate a significant number of questions about our company being based in Austin.  There is a lot of interest out there from great companies in other parts of the country on what it’s like raising in the bay while living elsewhere. I’ll address the most common questions I’ve gotten here.

Did you tell Y Combinator that you would move to San Francisco?

No, we were very clear that we were not considering moving to the bay area. Our application did not leave much room for confusion:

Was it hard to get into Y Combinator while being an Austin company?

It was not an area of discussion during our interview. I can’t recall having been questioned about this by any YC partner ever. Furthermore there were a number of fantastic companies in our batch that were not based from San Francisco (Datarank and Estimote come to mind). A few weeks after graduation when I was saying goodbye to the partners I remember some being surprised that I was based out of Austin.

How was raising money in the bay while being based in Austin?

Literally every investor asked me why I was based out of Austin, and if I intended to move to the bay area. Before attempting to raise I reached out to my friend Lloyd of OwnLocal who has done this before – he also lives in Austin and is funded from the bay.  His advice was to prepare a strong business justification for your location.

I was able to prepare a succinct answer that is both true and convincing. It was essentially: I built and sold a company here and then ran a large engineering team for years after the acquisition. For us, living in Austin is a competitive advantage because I can tap my network to hire incredibly strong people for 2/3 of the cost in the bay area. I’d also already raised money in Austin and had a strong network because of the Capital Factory.

I left out the personal reasons: that Austin is my home, it’s where my wife and house are, and it’s where my family lives. (It’s also awesome.)

Had I not been prepared for this with a compelling business answer, I don’t think it would have gone as well. I know others that have been successful by justifying their location on the grounds of competitive advantage or proximity to key clients.

Amir Elaguizy
tag:aelag.com,2013:Post/606201 2013-10-04T12:27:19Z 2013-10-08T17:30:58Z The best fundraising advice I’ve received

My first money in was from a local angel investor. He committed very early over a lunch with a handshake, before there was even a clear plan. I was ecstatic. I called my wife (girlfriend then) and gushed. I e-mailed the team and told them we got our first money committed. I was on top of the world!

Then…nothing happened. I couldn’t get him to respond to my e-mails to sign the documents. I even sent him echosign documents so it was one click for him to sign. I thought something was wrong. I thought he was backing out of the deal. I sent him some emails of questionable tone trying to get a response. I was totally crushed! 

Luckily I was able to find some time to speak with my friend and mentor Josh Baer (hi Josh) over coffee at the Capital Factory. I explained the situation and Josh saw the look of panic on my face.

Josh said: Calm down Amir. He’s a good guy, and his word is good. He’s just very busy, and you’re not a priority.

Then he gave me the advice: 

Just be persistent.

Josh laid it out for me:

  • Let a few days go by, and then remind him.
  • Let a few more days go by, and remind him again.
  • After a few of these just start reminding him every day until he signs the docs or he tells you to go away.

Of course, it worked! Over the course of about 3 weeks I reminded this investor about 7 times. Eventually I did get a response from him and we scheduled lunch. I brought the documents with me to lunch and we signed after a great conversation. I prefer to use e-signatures but in this case I just wanted to get it done.

It turns out the investor was in the process of launching a new product and was just entirely underwater. It was nothing personal and his word was good. He has since become a huge resource, and mentor to me. Now that I am a priority to him I get an immediate response on any questions I have.

When I first heard the advice about persistence I was very worried about turning the investor off by being a nuisance, or appearing needy. This is a real fear but I’ve since learned there is a right way to be persistent - without being a turnoff. In fact, done well, it can strengthen the connection.

With some guidance and a long process of refinement I’ve arrived at a formula that has worked very well for me. Here’s how I remind people about a commitment they’ve made to me (not just investors):

  • I’m extremely friendly and my tone is entirely positive.
  • I’m short and to the point.
  • Here is the most important part: I’m never even slightly annoyed.

Even if I want to scream with frustration I don’t allow that tone to seep into my reminder e-mails.

Here is a (slightly doctored) sample of an actual email I sent the investor in question:

Re: Your investment in lark.io

Hey soandso,

Just wanted to keep this at the top of your inbox. Hope to speak soon.


Josh’s advice freed me to tap my natural relentlessness. I was pulling my punches because I was afraid of being too pushy. (Rightfully so; It is entirely possible to be too pushy!). I’ve since been able shed that fear to great reward. I have turned several “Nos” into “Yes” by being persistent.

What I’ve learned from this and future experiences:

  • Persistence works
  • There is a right way to be persistent
  • Once you’ve gotten a yes treat it like a yes until you explicitly get a no.

For the curious, that first check was the hardest to close and I’ve never had to work quite that hard since.

A great follow up read on this topic is Y Combinator's Handshake Deal Protocol.

Amir Elaguizy
tag:aelag.com,2013:Post/603690 2013-09-23T18:44:47Z 2013-10-08T17:30:28Z Leadership anti-pattern: The savant-snake

I have a product manager friend who quit his job at a fairly well known startup recently. Over beers he told me the main reason he quit was simple: the creative director of the company wanted approval of all A/B tests. His assertion was that any changes that may result in users receiving a subtly worse experience for a day could damage the user’s perception of the application. Therefore he needed to personally approve and design any A/B tests, even against as little as 1% of traffic. The creative director was a cofounder; my product manager friend was not. My friend put up with it for a while, and then quit. 

I mentally contrast this to a story Mark Zuckerberg told when I heard him speak in July. Mark told us about an internal tool he is proud of which allows an individual to test a new feature against a small slice of production traffic. The goal is to allow an individual to prove his or her way is better without having to convince anyone. Compare Mark’s approach with the approach of the creative director that drove my buddy to quit. Mark’s goal is to make the individual as effective as possible – in a word, to empower them. The creative director’s goal was to maintain as much personal control as possible.

In my little corner of Zynga there was an engineering lead that exhibited a similar pattern. I would occasionally receive notifications of comments on a Github repo via e-mail that were snarky. One comment in particular stands out, it said, “I should have been asked before this went in.” If in the course of coding this particular engineering lead found something he did not like he would go find the commit in Github even if it were weeks or months old. He would then write passive aggressive comments on the offending code. This guy actually lasted alot longer than you’d expect, he was eventually stuck in a corner on an individual project.

This summer, a fellow founder (CEO) in my YC batch spoke to my cofounder and I at length about a problem he was having with his in-house designer (I did get his approval before writing about this.) This was an employee, not a founder but at a startup frequently the distinction is trivial. 

The CEO wanted to run a test of a possible new product in parallel with their existing work. He wanted to use a contract designer to build a mini-site that he could then use to gauge interest for the product, without derailing his whole team. The employee was adamantly against this, as he did not want his name to be associated with inferior work. He was so adamant that he threatened to quit if the CEO used an outsource contractor to design the mini-site. The employee in question was extremely talented, and he knew it. The CEO did not want to lose him, but he knew that waiting for the designer would delay the test by at least a month. Ultimately the test was never run and the employee was asked to leave a few months later (to the great relief of the rest of the team).

I call this leadership anti-pattern the savant-snake; Savant because they tend to be extremely talented people, and snake because they undermine the capability of those around them. They effectively want to serialize all decisions being made in their sphere of concern through themselves.

The damage caused by someone like this, especially given direct control over others, is hard to overstate. They disempower everyone around them by creating a psychological barrier to innovation. My product manager friend, a talented guy, left the company. The engineering lead ended up being moved to a division where he could do no harm. The designer ended up being asked to leave after seriously damaging morale. I have even seen it contribute to burnout amongst founders in the past. The savant-snake is not to be ignored.

These people are inherently difficult to excise from the organization because they are valuable. If they weren’t extremely talented they wouldn’t be able to behave in this fashion for any significant period of time. In my experience one of the hardest decisions to make is to show an extremely talented person the door because of their impact on the company. There is no way around it, you will feel their loss. It will be painful. The only solace I can offer is that at you are controlling the situation, choosing the pain you are inflicted with, rather than sacrificing the morale of your team. My experience, though, has been that everyone breathes a sigh of relief when that savant-snake is shown the door.

Amir Elaguizy
tag:aelag.com,2013:Post/601724 2013-09-15T19:40:30Z 2015-09-11T02:17:49Z How I got into Y Combinator

We were part of the YC S13 batch, as Toutpost. I’m writing this mostly to preserve my own memories of the experience. I do make an attempt to provide useful advice for new applicants, some of which has not been said before.

The application

In mid February 2013, while doing my morning scan of Hacker News, I noticed this post: https://news.ycombinator.com/item?id=5190338. We were just getting our startup going at the Capital Factory in Austin, TX and were extremely early in the fundraising process. Extremely early as in I had not actually spoken to a single investor yet. One of my best friends (hi Tim) and I had frequently mused about “doing Y Combinator” one day. It was always sort of half in-jest, as we had just sold our company to Zynga and were doing fairly well financially. Never the less, something about this post spurred me into action and I decided to apply.  My co-founders agreed that it was worth doing, and I was off to the races.

I started by reading and watching as much as possible to prepare for the application. I strongly recommend that anyone considering applying start in the same fashion. Some of the resources I remember are:

Amir Elaguizy
tag:aelag.com,2013:Post/600797 2013-09-11T15:56:02Z 2013-10-08T17:29:49Z Early experiments in Javascript

I found links to my still running linode (props linode, 3 years strong) hosting some of my first javascript experiments:






Amir Elaguizy
tag:aelag.com,2013:Post/600795 2013-09-11T15:53:01Z 2014-07-14T20:21:45Z Migrated to Posthaven

I've migrated my blog to Posthaven!

Originally it was hosted on Posterous but following twitter's neglect of the property I migrated to tumblr for lack of better options. I'm migrating it off of tumblr following my realization that it's mostly for porn and teenagers (or combinations thereof).

Posthaven has been super easy to use, very much like Posterous in the beginning. It's snappy and intuitive. So far thumbs up!

Amir Elaguizy
tag:aelag.com,2013:Post/600757 2013-02-11T14:38:16Z 2013-10-08T17:29:48Z When I was a kid we didn’t have github search

This is the first record of my existence I can find on the internet:


It’s a poorly worded question by a 16 year old Amir:

Is there an equivelant of the dos C function call “FindFirst” in linux?

I’ve looked all over & the closest I can find is something called


The only answer I received was:

This is the wrong list for this kind of question.

This is list is for *development* of gcc.

It seems funny now but when I was 16 and trying to learn to write C in linux (I had only written it in dos up until then) this was two problems:

I didn’t understand what the difference between GCC and the C runtime was, so this reply was just confusing to me.

Not being able to locate the correct function set me back by days.

I remember this vividly. I had written this goofy dos program that allowed you to rewrite bits of a file given a binary string. So I could do things like:

./amirs_thing -o 8032 -i file.in -s 110110110111011

It would then overwrite the bits at offset 8032 with the binary string you specified in file.in.

I don’t remember why I wrote it but I remember being proud of it. I also remember wanting to share it with other people.  I was getting into linux at the time so my dream was to port it to linux and then have it published by GNU. To me at age 16 this was sort of like being given a purple heart, or a congressional medal of honor.

Reading the recent news of github’s new and improved code search (https://github.com/blog/1381-a-whole-new-code-search) made me remember this incident.  FWIW I just spent 15 minutes playing with it. The github implementation is so much better than the code.google implementation or some of these weird “code indexers” I have seen popping up on google.

Now if I were to encounter the same confusion point I’d simply fire up github and search for it. Within just a few minutes of looking I’d have stumbled upon this repository, which contains an api compatible version of the dos findfirst: https://github.com/dimroc/sunborn_igf/. I’d probably realize that there is a linux function called readdir, and then realize that I could have found that in the man pages.

It’s funny to think back to those days and just how frustrated I was about this stupid findfirst call. 

Given the availability of helpful tools like this that reduce the frustrating parts of coding and allow coders to spend more time in the “awesome implementation zen” phase I can’t help but wonder how much more efficient a good coder is today than 10 years ago. 

Kids these days. They have it so easy with their stackoverflow and their github code search and their automatic can openers. Get off my lawn.

Anyhow, what do you guys think - is the wide availability of a free and highly intuitive code search as big of a deal as I think it is?

Amir Elaguizy
tag:aelag.com,2013:Post/600759 2013-01-11T14:52:22Z 2013-10-08T17:29:48Z Does this exist?

I’d like a competitive research tool that accepts a list of companies and monitors the following:

1. Monitors their followers, likes, app MAU, quantcast/compete, etc

2. Monitors their social network apps, fan page, streams, etc for interesting announcements

3. Monitors user posts (forums, tweets, etc) which mention the brands or companies

4. Monitors ad spends, new campaigns (where possible)

5. Watches for market information (research about a company or market)

Based on this I’d like to see:

- Up to date and trended adoption, retention numbers historical and current data

- User sentiment trends

- Virility metrics

- Alerts for significant events (large inflection point in a piece of data)

- Market information (based on monitoring all the data points the overall market is growing, shrinking or stagnant, etc)

- Significant changes in marketing efforts

- Revenue estimates (where possible)

I’d also like recommendations for new companies or competitors in the field which may be of interest. So if some company comes out of private beta and starts to get a following I get a heads up, etc.

I already am doing some of this on my own with just some python scripts but it seems like someone should be doing this. I can think of a lot of people doing bits and pieces, but I’m not aware of anyone doing the whole thing.

Does this exist? If so, where?

If not - I’m somewhat tempted to build it - but I’m somewhat tempted to build everything, so it’s hard to separate signal from the noise.

Amir Elaguizy
tag:aelag.com,2013:Post/600758 2013-01-11T14:51:40Z 2013-10-08T17:29:48Z Fake user identification

You know it occurs that in this age of social profiles and freely available public records it oughta be possible to automatically identify fake users with a fairly high degree of accuracy. Seems like it could go a long way to catching people who are scamming user reviews. Although, it probably wouldn’t do anything about the “reviews for purchase” problem in which people are paid to use their real identity to do reviews. Seems like community policing is probably still the best bet there.



Amir Elaguizy
tag:aelag.com,2013:Post/600760 2013-01-10T12:00:00Z 2014-09-24T21:49:33Z Cellular EA

One of the big problems I’ve experienced with doing pipeline optimizations in a cluster is that it is not computationally efficient using a traditional genetic algorithm. The reason is that the entire cluster must wait while the longest running evaluations for a generation complete, which may take longer than 99% of the other individuals in that generation. The result is that a cluster might be 95% idle for significant periods of time.

Cellular EAs are a type of evolutionary algorithm that do not block. Mating occurs on a local neighborhood in an asynchronous fashion, which allows for full usage of cluster resources. I’ve added an initial grid based cEA to Inspyred and have added support for this algorithm to the mnist sample in pyvotune.

cEA fork of inspyred @ https://github.com/aelaguiz/inspyred

PyvoTune @ https://github.com/aelaguiz/pyvotune

Amir Elaguizy
tag:aelag.com,2013:Post/600761 2013-01-09T12:00:00Z 2013-10-08T17:29:48Z iPython = Cool

Amir discovered IPython today. It is awesome.

Killer feature = tab completion imo

Amir Elaguizy
tag:aelag.com,2013:Post/600762 2013-01-08T12:00:00Z 2013-10-08T17:29:48Z Translated theano logistic sgd

I’ve started translating the theano deeplearning tutorials from theano/python to python/numpy. This was mostly to validate my understanding but also help me learn theano.

I’m going to continue translating these, hopefully it is useful to someone.

Translated from: http://deeplearning.net/tutorial/logreg.html


I’ve got some simple benchmarks too. Theano is fast!

My version:

Optimization complete with best validation score of 7.479167 %,with test performance 7.489583 %

The code run for 75 epochs, with 1.674691 epochs/sec

The code for file logistic_sgd.py ran for 44.8s

real 0m29.138s

user 0m45.541s

sys 0m2.177s

Theano version:

Optimization complete with best validation score of 7.479167 %,with test performance 7.489583 %

The code run for 75 epochs, with 6.469746 epochs/sec

The code for file logistic_sgd.py ran for 11.6s

real 0m9.328s

user 0m14.780s

sys 0m1.116s

Amir Elaguizy
tag:aelag.com,2013:Post/600765 2013-01-07T12:00:00Z 2013-10-08T17:29:48Z Theano vs Raw Numpy Benchmark

Amir Elaguizy
tag:aelag.com,2013:Post/600766 2013-01-06T12:00:00Z 2013-10-08T17:29:48Z Translation of Theano Softmax function

Amir Elaguizy
tag:aelag.com,2013:Post/600767 2013-01-01T12:00:00Z 2013-10-08T17:29:48Z Pyvotune ranked 107 after 1 day

Pyvotune ranked #107th on Kaggle MNIST classification, first day it has been operational - not bad!

Amir Elaguizy
tag:aelag.com,2013:Post/600768 2012-12-29T12:00:00Z 2013-10-08T17:29:48Z PySplash - A Python RQ-Based Scaling Worker Pool


This one scratches a personal itch, managing a worker pool in a reliable way. I personally use RQ so it is built on top of RQ. Works great for ec2 based cluster computing for machine learning purposes.

Amir Elaguizy