I am actively looking for a designer & front-end web developer to collaborate with, prototype apps for fun, and win a prize or two at hackathons. You know, the usual trifecta: Fun, Fame and Profit.

I’m a full stack web developer in the SF Bay Area. I can do some front-end, but by no means an expert at it.

A designer who can slice and dice HTML & CSS (and maybe even a touch of JavaScript) would be the perfect complementary partner-in-crime for international coding-under-the-influence contests.

Because it’s hard to tell just how much we will end up arguing over our respective semicolon, code indentation, and toilet paper orientation philosophies in life, I suggest we work on a small project together for shits and giggles, to see if our synergistic combined output will be more shit or giggle.

If you have an idea for a small starter project, and have the design, HTML, CSS for it, I can build out the back-end (and take care of the associated dev ops / sys admin tasks). I also have a web app built that could use a more polished design: http://friend01k.herokuapp.com (or http://www.yodel.me .. still haven’t settled on a name yet)

A run-down of the web app’s features:

  • Stack: Django, Python, jQuery, Bootstrap, Heroku, Postgres, SendGrid
  • AJAX (JSON) error notification for duplicate or reserved username during registration, before form submit
  • Approximate radius / ZIP code search based on a ZIP code’s latitude & longitude
  • Vanity profile URL e.g. domain.com/username
  • Integration with django_messages for user -to-user messaging
  • Integration with django-taggit for tagging users with as many interest keywords as they want, and for finding users most similar to themselves
  • Integration with X-editable / Select2 for inline (front-end) editing e.g. profile description, age, gender, etc.
  • Use of Django’s messages framework (“flash” messages)
  • Use of custom form field validators, e.g. reserved usernames, e.g. “admin”, “blog”, “contact”, etc.
  • Use of custom template tags e.g. to highlight proper active tab on top nav bar
  • Control group error highlighting during input error (Bootstrap)
  • Security: input validation / sanitization, type checking, CSRF, login_required decorator, require_http_methods decorator (either POST or GET)
  • Inline-editor (X-editable / Select2): “type partial to autocomplete” e.g. typing “isia” will pick “Louisiana” as the state field
  • Wizard to on-board new users to fill out minimum required profile information
  • Responsive front-end, re-sizes automatically for desktop, tablet, and smartphones
  • Automatic determination of city and state based of ZIP code
  • Zip database (~42K records) is stored on Parse.com, accessed via REST API (to continue using Heroku’s free tier 🙂 )
  • And many more!
Please email me if you know of anyone who might be interested 🙂 This is actually a serious request. I am looking for somebody.
* Web app above is made for the purposes of sample code, less because the world needs yet another social network.

Hopefully this will save someone the few hours I spent hunting for a solution.

I’m using Django 1.9 on Heroku. I was using a 3rd party app (django_messages), which required database migrations. But the migration files were created in django_messsage’s migration directory, not my own app’s migration directory. heroku run python manage.py migrate was absolutely not picking up the 3rd party app’s migrations (the nature of the ephemeral file system complicated things).

Turns out, there’s a setting called MIGRATION_MODULES that can be used to specify the 3rd party app’s migration folder elsewhere.

So, what I did was run makemigrations for the django_messages (on the local dev env), then copied over the initial migration .py file into a migrations directory I created under my own app. Then, I checked in that directory and migration file into the git repo, and then ran migrate on Heroku.

Fear of anticipated pain can build up until the mind is overwhelmed, and triggers a decision tap out.

Focus on just getting by now, 10 seconds at a time, acknowledging the option to quit, but purposely setting that option aside for the next 10 seconds. Humor can be used to distract the mind from building up too much fear.

Excerpt below is from the book: The Heart and the Fist: The Education of a Humanitarian, the Making of a Navy SEAL by Eric Greitens.

“OK, gentlemen, just a few more hours until the sun goes down.” Laughter rolled through the bullhorn. Monday night was infamous. The hardest night of all. “Steel piers” was coming. We’d heard that steel piers would freeze you like a soaked and naked man left to die at the North Pole. Monday night was feared. Monday night was the killer night. Monday night would be the worst night of your life.

As the sunlight weakened, the instructors ran us out to the beach. We stood there in a line, and as we watched the sun drift down, they came out on their bullhorns:

“Say goodnight to the sun, gentlemen, say goodnight to the sun.”

“Tonight is going to be a very, very long night, gentlemen.”

They reminded us that tonight was going to be our first full night of Hell Week.

“And you men have many, many more nights to go.”

We watched the sun slip lower and make contact with the ocean. Then, when they really wanted to torture us, they said, “Anybody who quits right now gets hot coffee and doughnuts. Come on, who wants a doughnut? Who wants a little coffee?”

As we watched the sun slip away, something broke in our class. Out of the corner of my right eye, I saw men running for the bell. First two men ran, and then two more, and then another. The instructors had carried the bell out with us to the beach. To quit, you rang the bell three times. I could hear it ringing:

Ding, ding, ding.

Ding, ding, ding.

Ding, ding, ding.

A pack of men quit together. Weeks earlier, we had started our indoctrination phase with over 220 students. Only 21 originals from Class 237 would ultimately graduate with our class. I believe that we had more men quit at that moment than at any other time in all of BUD/S training.

Who would have thought that after having to swim fifty meters underwater, endure drown-proofing and surf torture and the obstacle course and four-mile runs in the sand and two-mile swims in the ocean and log PT and countless sit-ups and flutter kicks and pushups and hours in the cold and the sand, that the hardest thing to do in all of BUD/S training would be to stand on the beach and watch the sun set?

Each man quits for his own reasons, and it might be foolish to even attempt any general explanation. But if men were willing to train for months before ever joining the Navy, and then they were willing to enlist in the United States Navy and spend months in a boot camp and months in specialized training before they came to BUD/S, and if they were willing to subject themselves to the test of BUD/S and endure all of the pain and cold and trial that they had already endured up to this point, then it seems reasonable to ask, why did they quit now?

They quit, I believe, because they allowed their fear to overwhelm them. As the sun went down, and the thoughts of what was to come grew stronger and stronger, they focused on all of the pain that they thought they might have to endure and how difficult it might be. They were standing on the beach, perfectly at ease, reasonably warm, but they thought that they might be very cold and very pained and they thought that they might not be able to make it. Their fear built and built and built. The mind looked for a release, and the men who quit found their release in the bell. Others found their release in the self-detachment of humor.

“You think all this sand on my face is a good exfoliate?”

“Yeah, you’re lookin’ pretty GQ smooth.”

“They call this look Hell Week Chic. I don’t know what they call the way I smell.”

“You know, my girlfriend actually goes to a spa to pay for shit like this, where they scrub you down with sand and stuff.”

“Yeah, this is like a spa, but we’re getting paid to be here. Can you believe this? Awesome fucking deal.”

“I want to get a job at one of those spas.”

Others simply didn’t let fear come to rest in their minds. They’d learned to recognize the feelings and they’d think, Welcome back, fear. Sorry I don’t have time to spend with you right now, and they’d concentrate on the job of helping their teammates.

“How’s your foot?”


“Good. Keep an eye on it. Tonight’s gonna be a good night for us. Dinner should be pretty soon.”

Still others just focused on the moment. What a pretty sunset. This is all I have to do to make it through Hell Week right now? Stand on the beach. This is great.

One of my favorite guys in my crew was Eddie Franklin, former Marine, who had a very low tolerance for BS and a wicked sense of humor. Eddie would always joke about quitting. “I’m quitting today for sure. Right after the run. Then I’m gonna go up to Pacific Beach and surf and hang out and eat tacos.” We’d finish the run and Eddie would say, “Hey, anybody want to quit with me after breakfast? I gotta eat, but then I’m gonna quit.” We’d finish breakfast, and Eddie would say , “PT, I love PT, I’m gonna quit after PT.” After PT, “I’m gonna quit right after lunch. But they’ve got burgers today, and I’m crazy for those Navy chow hall burgers.” And so he could go on— sometimes to the annoyance of others who were truly thinking about quitting—but in Eddie’s humor there was wisdom. I can quit later if I have to, but this, whatever this is that I have to do— hold this log over my head, or sit in the freezing surf, or run down the beach with the boat bouncing on my head— I can do this for at least ten more seconds, and that’s really all I have to do.

Definitely recommended: The Heart and the Fist: The Education of a Humanitarian, the Making of a Navy SEAL by Eric Greitens.

TLDR: Counterintuitively, people think they’d regret a foolish action more than a foolish inaction (in the short run), but it’s actually the other way around (in the long run).

From the book “Stumbling on Happiness” by Dan Gilbert:

 Consider these two scenarios:

  1. You own shares in Company A. During the past year, you considered switching to stock in Company B but decide against it. You now find that you would have been better off by $1,200 if you switched. (regret from inaction)
  2. You own shares in Company C. During the past year, you switched to Company D. You now find that you would have been better off by $1,200 if you kept your stock in Company C. (regret from action)

Studies show that 9 of 10 people expect to feel more regret when they foolishly switch stocks than when they foolish fail to switch stocks, because people think they will regret foolish actions more than foolish inactions. But studies also show that 9 out of 10 people are wrong. Indeed, in the long run, people of every age and in every walk of life seem to regret not having done things much more than they regret things they did, which is why the most popular regrets include not going to college, not grasping profitable business opportunities, and not spending enough time with family and friends.

But why do people regret more inactions than actions? One reason is that psychological immune system has a more difficult time manufacturing positive and credible views of inactions than actions. When our action causes us to accept a marriage proposal from someone who later becomes an axe murder, we can console ourselves by thinking of all the things we learned from the experience (“Collecting hatchets is not  a healthy hobby”). But when our inaction causes us to reject a marriage proposal from someone who later becomes a movie star, we can’t console ourselves by thinking of all the things we learned from the experience because … well, there wasn’t one.

The irony is all too clear: Because we don’t realize that our psychological immune systems can rationalize an excess of courage more easily than an excess of cowardice, we hedge our bets when we should blunder forward.

Lesson learned: Most people have to make decisions with incomplete data about the future all the time. You’re better off making the decision and then recovering from failure, than to be paralyzed by fear and take no action. This reminds me of the “regret minimization framework” from Jeff Bezos, and of the top regrets of the dying.

This is just one of the gems (of many) from the book “Stumbling on Happiness” by Dan Gilbert.

Note: This was originally written for my company blog, cross-posting it here.

We were recently invited by Gartner to showcase the Double at the recent CIO Leadership Forum in Huntington Beach, California. In addition, we were also invited to be on a panel to share best practices in innovation.


Above: Photo of the panel in Huntington Beach, Calif. Dr. Sasi Pillay from Washington D.C. (NASA’s CIO) is on the Double. On Sasi’s right is Tom Soderstrom (microphone in hand), IT CTO for NASA JPL. On Sasi’s left is Jay Liew from Double Robotics.

Dr. Sasi Pillay, NASA’s CIO from Washington D.C. was one of the panelists but could not make it at the very last minute because of the new strict limits on employee travel, due to the recent 2013 federal budget sequestration.

Tamra Hall (VP, Executive Partner at Gartner) who was the panel moderator asked us if we could have Dr. Pillay be on the panel remotely, over a Double. After all, the Double is for telepresence and the only thing we needed was a regular wifi connection.

We were excited about taking on such a high profile challenge, especially in a room full of billion dollar company CIOs. We called up Dr. Pillay in D.C. and gave him the URL to our web interface, which works from a regular web browser.

He called in about 10-15 minutes before the session started, as the attendees walked in. Ms. Hall kicked it off by introducing the panelists, then launching into a few questions of her own before opening up the Q&A to the audience. It worked great. Dr. Pillay fielded the questions just like any other member on the panel.

We’d like to thank Gartner & NASA (and the travel budget cut!) for the opportunity to show just how the Double can help companies reduce their travel costs. Dr. Pillay may have been ~2600 miles away from where he needed to be, but the Double made that problem irrelevant.