Notes from the Generate Conference 2015 in NYC

It was an amazing Friday last week, at the Generate Conference in NYC.

Here’s a brief recap of topics covered (from my point of view).

Best talks
– Expertise category: Lara Hogan on performance
– Case study category: Jon Setzen on 24-hour experience
– Entertaining category: Dave Rupert on prototyping and play
– Energizing and ass-kicking category: Mike Monteiro on 13 designers’ mistakes

Notable trends
– performance is being taken seriously now. Everyone recommended webpagetest.com, and working across teams to educate them on importance of performance optimization, and establishing “performance budget” for your projects
– rapid prototyping helps win business
– it’s a designer’s job to lead a presentation and “sell” the design to clients. “A good designer who can sell work is more valuable than a great designer who can’t.”

Random notes
– Brad Frost cracking up the entire time during Dave Rupert’s presentation. Crowd-energizing talk by Mike Monteiro. It is pure joy to watch someone who’s not only an expert, but also funny and/or brutally honest
– Shopify workshop was informative and inspiring. I built a Shopify store 3 years ago, and it was a great experience. Good opportunity for developers to make money by being experts/affiliates on their platform
– Good format, venue and programming. One day, 2 tracks, great speakers, AND reasonable pricing
– Got Mike’s book and Shopify’s Grow guide. Happy.

Instagram is happy, Twitter is whiny

Agree with Jason Fried’s take on these two platforms.

When I have a few minutes to kill, and my phone is in front of me, I almost always reach for Instagram. I never regret it. I come away feeling the same or better. When I occasionally reach for Twitter, I discover someone’s pissed about something. I often come away feeling worse, feeling anxious, or just generally not feeling great about the world. Twitter actually gives me a negative impression of my friends. I know it’s not Twitter doing it, but it’s happening on Twitter. that’s how Twitter feels to me.

For similar reasons, I don’t use Facebook and almost never check Twitter. I’m not that cool to be on Snapchat or Periscope. But I’m on Instagram all the time. And best way to get in touch is via good old fashioned email: ntanya@gmail.com.

Who wants to start an online business?

Recently, I took an online course on starting an online business by Penelope Trunk.

Here are the reasons I loved her content:
– a very specific topic: it’s not about startups, not about non-profits, non about million-dollar businesses. It is about a side (some call it lifestyle) online business, that can potentially supplement or even become your main source of income
– she walks the walk: she started a few successful businesses herself
– she is a woman, who has a huge career AND is raising kids. This is a key factor for me: I want to hear from a woman with kids, because I am one, too. (as much as I love Ramit’s stuff)
– she uses personality type analysis in her courses. Everyone has unique strengths, and it is just so much easier to use something YOU are naturally good at for building a business.
– she’s honest and fun. Read her blog to get honest insights on womens issues, educational system, keeping together a marriage and career advice. Watch her videos to see how fun she is. She’s the real deal to me.

Here’s a quick example from Penelope’s summary email:

In short, you can divide people in four categories:

NT’s like to live in the world of ideas and will like systems.

F’s care about people, and feelings, and things that matter in the world.

SJ’s like details as opposed to big strategies

SP’s and NTP’s will thrive with smaller projects instead of long, drawn out projects.

I’m an ISTJ, and here are tips for people like me:

SJ’s are very systems driven. They’re not interested in ideas because you can’t quantify an idea. They want a system to push people through so they can see progress immediately. SJ’s should focus on online businesses and tasks that rely on systems based thinking.

ESTJ’s and ISTJ’s

The ESTJ is going to be a rock star at testing online businesses. No one will be able to launch and test faster than the ESTJ. They’re great with a to-do list, so they should write a list of every business type and just start going down the list and executing. Once they find one that feels right, they should go with that.

The ISTJ isn’t as adventurous in what they want to implement, because they want to know everything they’re doing is right. They will research until they’re sure their idea will work. That’s fine. They should wait for their idea.

That last one is so true. I just can’t dive into something until I know it is a right idea and it will work!

A couple of years ago, my friend Ohn and I had our side online business: an online store for womens clothing, jewelry and accessories. Ohn did a fantastic job running and promoting it, and she had fun with it (she’s an ESTP). I, on the other hand, enjoyed building out the site, coding up the template and anything related building stuff around the website. We since closed down the store, because stores with inventory in a crowded space are really tough to run (lesson learned). It was a great learning experience, and a testament to our friendship – we are still best friends (and sometimes reminisce about days when we had this fun project and did photoshoots modeling our clothes). So if you are doing a business with a partner, pick someone with skills that are complimentary to yours.

Question to all of my friends: do you have ideas for a business? I’d love to hear more, share the learnings from this online course, and potentially form a partnership – let me know!

Build vs Buy: Appcelerator Cloud API Case Study

A lot of times a project at hand has some components that can either be built from scratch, or a ready-to-use solution can be bought from a 3rd-party vendor. For example, there’s lots of ways to build a blog or a CMS, but most likely you will just use one of the many solutions already available on the market (such as WordPress).

One of the projects I have at work has a star rating component, and we had a vendor in mind – Poll Daddy (interestingly enough owned by Automattic – the creators of WordPress). It’s a super quick and easy JavaScript-based solution, that allows users to give a rating from 1 to 5 stars. It costs about $900/year for unlimited ratings, and requires virtually no development effort (aside from copying&pasting the script code).

Then, someone suggested we user a “cheaper” option – a rating component built on top of Appcelerator cloud services. Usage of the API is apparently free for up to a certain call volume (and who doesn’t like free?). I’m not opposed to using a better solution, so I decided to look deeper into this platform and what it offers.

Here’s essentially what it is: Appcelerator Cloud Services provides a back-end infrastructure mostly targeted towards mobile apps that use its Titanium development platform. The API provides a layer of methods and services that allows developers to build apps without worrying about server-side infrastructure. There are pre-built components that can allow for faster development, one of the components is Ratings and Reviews.

However, it’s not a plug-and-play deal. In order to achieve the star ratings functionality that we need, there are multiple implementation steps and gotchas:

  • We would need to create a list of products we want to be rated as Custom Object type in the API
  • To submit reviews we’ll have to know which product they apply to, so we’d have to map Custom Objects to products, probably performing a “GET” call to fetch Custom Object data and map it to products
  • We’d need to create a mechanism to prevent duplicate submissions (session or cookie or IP-based). Appcelerator asks for a user_id value to be specified whenever a rating is submitted, so it means we would have to create and work with a User object as well
  • Submitting a rating requires the user to be logged in – another API call
  • It also turns out that PUT and DELETE API methods trigger an XHR error from 3rd-party domains. This is resolvable by adding headers (Access-Control-Allow-Origin per CORS specifications), but will require additional settings adjustment on the server-side
  • And finally, any custom development will need to be thoroughly QA’d – which adds effort and time

I’m sure the Appcelerator cloud API is a great solution for certain cases, but for a super-simple component in my scenario it is much quicker and easier to go with a pre-built solution that satisfies all of my requirements.

Funny enough, we had another “build vs buy” discussion at lunch with Mike today, and thought that 80/20 rule can be applied to this problem: if spending 20% of the effort yields you 80% of result, that’s what you should go for.

Curious to hear about other build vs buy examples, so leave your notes in the comments!

PyCon 2015 tutorials at home

Last week, due to awesomeness of the internet, I learned that PyCon 2015 conference is happening in April in Montreal. This got me super excited, even though I don’t quite get to use Python as much as I’d love to. The conference seems to be organized so well, in the beautiful city of Montreal, with amazing workshop options, hotel share options, AND on-site childcare!

So there I am, excited and trying to plan how I can swing it, looking up flights (bonus post for you on saving over 50% on flights) and emailing this girl about sharing a hotel room… Then bummer! Not only the conference was sold out, but also most of the workshops! (I was only hoping to attend tutorial days) But to re-phrase that old saying: if you can’t go to a conference, let a conference come to you!

I made a list of the workshops I would take if I could go, and started looking online for authors and their past presentations. Luckily, all of them had prep materials and some even had videos!

Here is the list focused on machine learning and data analysis for all of you, fellow curious Python lovers. Thank you so much to speakers for sharing these amazing study materials.

  1. Machine learning with Python, basics

    Hands-on data analysis with Python by Sarah Guido
    Description
    Python is quickly becoming the go-to language for data analysis. However, it can be difficult to figure out which tools are good to use. In this workshop, we’ll work through in-depth examples of tools for data wrangling, machine learning, and data visualization. I’ll show you how to work through a data analysis workflow, and how to deal with different kinds of data.

  2. Hadoop with Python (video) by Donald Miner
    Description
    In this tutorial, students will learn how to use Python with Apache Hadoop to store, process, and analyze incredibly large data sets. Hadoop has become the standard in distributed data processing, but has mostly required Java in the past. Today, there are a numerous open source projects that support Hadoop in Python and this tutorial will show students how to use them.

  3. Learning Pandas by Brandon Rhodes
    Description
    The typical Pandas user learns one dataframe method at a time, slowly scraping features together through trial and error until they can solve the task in front of them. In this tutorial you will re-learn how to think about dataframes from the ground up, and discover how to select intelligently from their abilities to solve your data processing problems through direct and deliberately-chosen steps.

  4. Bayesian statistics made simple (video) by Allen Downey
    Description
    An introduction to Bayesian statistics using Python. Bayesian statistics are usually presented mathematically, but many of the ideas are easier to understand computationally. People who know Python can get started quickly and use Bayesian analysis to solve real problems. This tutorial is based on material and case studies from Think Bayes (O’Reilly Media).

  5. Building a recommendation engine with Python (video) by Diego Maniloff, Christian Fricke, Zach Howard
    Description
    In this tutorial we’ll set ourselves the goal of building a minimal recommendation engine, and in the process learn about Python’s excellent Pydata and related projects and tools: NumPy, pandas, and the IPython Notebook.

This post begs a follow-up on takeaways from each class. To be continued…