<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:blog.zackshapiro.com,2014:/feed</id>
  <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com"/>
  <link rel="self" type="application/atom+xml" href="http://blog.zackshapiro.com/feed"/>
  <title>Zack Shapiro</title>
  <updated>2013-10-07T08:44:37-07:00</updated>
  <author>
    <name>Zack Shapiro</name>
    <uri>http://blog.zackshapiro.com</uri>
    <email>zack@zackshapiro.com</email>
  </author>
  <generator>Svbtle.com</generator>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/bikeshare-a-ruby-gem-for-interacting-with-bay-area-bike-share</id>
    <published>2013-10-07T08:44:37-07:00</published>
    <updated>2013-10-07T08:44:37-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/bikeshare-a-ruby-gem-for-interacting-with-bay-area-bike-share"/>
    <title>BikeShare: a Ruby gem for Bay Area Bike Share</title>
    <content type="html">&lt;p&gt;San Francisco is a fantastic city that suffers from some infrastructure problems. Most notably, biking infrastructure is pretty sparse. Of all of the ways to get around the city, biking is probably the best (and healthiest) option. That said, we need to make our city so much safer and more accessible for bikers.&lt;/p&gt;

&lt;p&gt;Recently, &lt;a href="http://bayareabikeshare.com/"&gt;Bay Area Bike Share&lt;/a&gt; went live which will help introduce more biking into the city and the South Bay.  Options for their web and mobile apps aren’t too good right now and I wanted to help.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introducing bikeshare&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/zackshapiro/bikeshare"&gt;&lt;code class="prettyprint"&gt;bikeshare&lt;/code&gt;&lt;/a&gt; is a Ruby gem that makes working with Bay Area Bike Share’s station and bike information pretty easy.&lt;/p&gt;

&lt;p&gt;Start by including &lt;code class="prettyprint"&gt;bikeshare&lt;/code&gt; in your Gemfile or with a &lt;code class="prettyprint"&gt;require&lt;/code&gt; statement at the top of your Ruby script.&lt;/p&gt;

&lt;p&gt;After, you can instantiate a new &lt;code class="prettyprint"&gt;BikeShare&lt;/code&gt; class which will give you the latest data from every bike share station in the Bay Area. &lt;/p&gt;

&lt;p&gt;You have access to methods like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="prettyprint"&gt;.station_info&lt;/code&gt; which takes a station id integer (between 2 and 77) and returns all data related to that particular station.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="prettyprint"&gt;.stations&lt;/code&gt; which takes a string like “San Francisco” or “Palo Alto” and returns an array of all of the stations in that area.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="prettyprint"&gt;.empty?&lt;/code&gt; will tell you whether a particular station is empty by its id.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="prettyprint"&gt;.available_bikes&lt;/code&gt; will tell you how many bikes are available to take out at a particular station.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="prettyprint"&gt;.offline_stations&lt;/code&gt; will tell you which stations, if any, are not currently in operation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/zackshapiro/bikeshare"&gt;bikeshare is open source&lt;/a&gt;. Feel free to fork it, add, remove, remix, or improve it. If you decide to build an app using the gem, please let me know, I’d love to see it!&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Finally, my good friend &lt;a href="http://twitter.com/ptraughber"&gt;Patrick Traughber&lt;/a&gt; is leading an inspiring effort to help bring safer infrastructure for bikers in the city. That means fighting for better-designed streets and many more bike lanes in high-traffic areas.&lt;/p&gt;

&lt;p&gt;He has been studying cities all over the world and noting who has the best systems in place for bikers (Copenhagen and New York City) and has been working with bikers, business owners, community members, and politicians in the city to bring awareness.&lt;/p&gt;

&lt;p&gt;If you would like to help in his effort, please &lt;a href="mailto:patricktraughber@gmail.com?subject=I%20want%20to%20help%20make%20SF%20safer%20for%20bikers"&gt;email him&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/a-list-of-the-best-media-in-the-world-right-now</id>
    <published>2013-08-20T10:25:06-07:00</published>
    <updated>2013-08-20T10:25:06-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/a-list-of-the-best-media-in-the-world-right-now"/>
    <title>A list of the best media in the world right now</title>
    <content type="html">&lt;p&gt;The following is a list what I’ve found to be the absolute best in media and publishing in the world right now. Every time I consume or interact with one of these, they inspire me and push me to create better things. They are presented in no particular order:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://economist.com"&gt;The Economist&lt;/a&gt; (print/web publication)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.esquire.com/"&gt;Esquire Magazine&lt;/a&gt; (print/web publication)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.theatlantic.com/"&gt;The Atlantic&lt;/a&gt; (print/web publication)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.topgear.com/uk/"&gt;Top Gear&lt;/a&gt; (TV)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.thisamericanlife.org/"&gt;This American Life&lt;/a&gt; (radio)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://grantland.com"&gt;Grantland.com&lt;/a&gt; (blog)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.amctv.com/shows/breaking-bad"&gt;Breaking Bad&lt;/a&gt; (TV)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.cooksillustrated.com/"&gt;Cook’s Illustrated&lt;/a&gt; (magazine)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.thegaslightanthem.com/"&gt;The Gaslight Anthem&lt;/a&gt; (band)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.americanmary.com/"&gt;The National&lt;/a&gt; (band)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://instagram.com"&gt;Instagram&lt;/a&gt; (public photo-sharing app)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://path.com"&gt;Path&lt;/a&gt;  / &lt;a href="https://itunes.apple.com/us/app/days-photo-gif-diary-by-wander/id630768365?mt=8"&gt;Days&lt;/a&gt; (private photo-sharing app)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://lift.do"&gt;Lift&lt;/a&gt; (habit-tracking app)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.drweil.com/"&gt;Dr. Weil’s blog&lt;/a&gt; (health website)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://npr.org"&gt;NPR&lt;/a&gt; (radio)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://medium.com"&gt;Medium&lt;/a&gt; (publishing)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://github.com"&gt;GitHub&lt;/a&gt; (knowledge-sharing website)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[Kottke.org](kottke.org) (blog)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a level of quality and care that is put into each and every one of the items above in order to provide a flawless experience each and every time. &lt;/p&gt;

&lt;p&gt;Was there something I left off this list that you think should be on it? &lt;a href="http://twitter.com/zackshapiro"&gt;Send me a tweet&lt;/a&gt;.&lt;/p&gt;

&lt;iframe src="https://draftin.com/share_buttons/new.html?url=http%3A%2F%2Fblog.zackshapiro.com%2Fa-list-of-the-best-media-in-the-world-right-now&amp;amp;title=A%20list%20of%20the%20best%20media%20in%20the%20world%20right%20now" frameborder="0" style="border:none;overflow:hidden;width:800px;height:21px;"&gt;&lt;/iframe&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/play-your-own-game</id>
    <published>2013-08-14T22:33:25-07:00</published>
    <updated>2013-08-14T22:33:25-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/play-your-own-game"/>
    <title>Play your own game</title>
    <content type="html">&lt;p&gt;Every day I feel like I’m doing something wrong.&lt;/p&gt;

&lt;p&gt;I’m working on the wrong thing. Or I should be working in a traditional job. My exercise routine? That isn’t right. My diet? Suddenly it doesn’t make sense anymore. &lt;/p&gt;

&lt;p&gt;They say you’re the average of the five people you hang out with the most. Now I feel like I need different friends. I learned to code and I absolutely love it. But am I good enough?&lt;/p&gt;

&lt;p&gt;Some days I have too much stuff. Other days, I don’t have enough. I should buy a place and stop renting. Coffee is bad for you, I need to stop drinking it. But it also prevents certain forms of cancer, I better start drinking it again.&lt;/p&gt;

&lt;p&gt;I heard that I need to read more to be more innovative. I also now know the “Ten ways I’m messing up &lt;a href="http://silencer.io"&gt;my company’s&lt;/a&gt; marketing”. I can’t wait to read this book I just bought how I should be on an information diet.&lt;/p&gt;

&lt;p&gt;Sound familiar?&lt;/p&gt;

&lt;p&gt;There’s a whole lot of money and energy spent on making us feel like we’re living our lives incorrectly.  &lt;/p&gt;

&lt;p&gt;Marketing exists so that we can buy things that solve problems in our lives. It also exists to confuse us. If the product they’re selling can solve our problems and cure our woes. We can be happier, richer, more successful.&lt;/p&gt;

&lt;p&gt;I’ve gotten beat out of three jobs by equally qualified candidates who just happened to go to Harvard. Some days I feel bad that I didn’t go to a more reputable college. &lt;/p&gt;

&lt;p&gt;Then I remember that going to the University of Colorado was one of the best decisions I’ve ever made. I remember how incredibly proud I am of what I did in my three and a half years there. How much fun I had. How many amazing, lifelong friends I made there. How much I love Boulder.&lt;/p&gt;

&lt;p&gt;Feeling like we’re doing something wrong is impossible to escape and we probably never will.&lt;/p&gt;

&lt;p&gt;It’s important to remind ourselves that we’re doing well. That many times, when we feel like we should be doing more, we’re doing the best we can. &lt;/p&gt;

&lt;p&gt;The truth in life is that the phrase and the idea “I’m doing the right thing” is a spectrum. Sometimes I feel really good about my habits, the company I keep, and the actions that I take. Other times, my habits need work. Friends are good and I’m happy in those relationships but maybe I’m unhappy with some recent actions. &lt;/p&gt;

&lt;p&gt;Like most things, we ebb and flow.&lt;/p&gt;

&lt;p&gt;I truly believe &lt;a href="https://github.com/zackshapiro/thoughts/blob/master/things-that-i-believe.md#life"&gt;there are no rules&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;To me what that means is that we should absorb and consider many things that people tell us. But also remember that they probably don’t know what they’re talking about either. Many facts expressed to us are actually just opinions stated very definitively.&lt;/p&gt;

&lt;p&gt;We should disregard social norms and “the way things are done.”&lt;/p&gt;

&lt;p&gt;We can design our lives, our careers, our relationships, our homes, everything.&lt;/p&gt;

&lt;p&gt;Social norms exist because they make things easier. They provide a path of little or no resistance. They act as the things that people already accept and the things that we “should” do to achieve a desired outcome.&lt;/p&gt;

&lt;p&gt;A teacher of mine used to say to me “Many roads lead to Rome,” meaning that you could arrive at your goal any number of ways.&lt;/p&gt;

&lt;p&gt;You always have the freedom to pick a destination and figure out how to get there.&lt;/p&gt;
&lt;blockquote class="short"&gt;
&lt;span class="accent-dot"&gt;&lt;/span&gt;&lt;p&gt;The things that have made you successful thus far in life will make you successful in whatever you do next.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A friend said this to me a few weeks ago over breakfast. I had to stop and repeat it slowly. Because I never realized that before. &lt;/p&gt;

&lt;p&gt;We use the same tools in everything that we pursue in order to try to get what we want. Our experiences build on themselves and we bring our lessons with us but what makes us unique, also helps us establish and play by our own rules.&lt;/p&gt;

&lt;p&gt;So we should live our lives in ways that feel good to us. Forget what anyone else thinks! When we don’t like things, we should change them.&lt;/p&gt;

&lt;p&gt;We get one shot at life and we should swing for the fucking fences. That sentence should be completely open to your interpretation. Whatever swinging for the fences means to you, do it. &lt;/p&gt;

&lt;p&gt;Think for yourself. Analyze and synthesize information. Make your own decisions, even if they’re unpopular. Try not to blindly accept things. Meditate.&lt;/p&gt;

&lt;p&gt;Play by your own rules. Stand by them. Your principles make you intriguing, interesting, and sexy. When things change, change your rules.&lt;/p&gt;

&lt;p&gt;Do things just to amuse yourself. Do things solely for your own enjoyment. Not everything has to be shared. Not everything needs to be a discussion.&lt;/p&gt;

&lt;p&gt;When you make your own rules and live a life that you truly love, people notice. You gain this attraction where others show up in your life who are aligned, just as you are.&lt;/p&gt;

&lt;p&gt;You’re &lt;em&gt;not&lt;/em&gt; living your life wrong. It’s yours to do with it what you will. &lt;/p&gt;

&lt;p&gt;I hope you do the things that mean the most to you. That you do find the work and the people who inspire you constantly. That you create your own reality. Your principles, your terms, your rules.&lt;/p&gt;

&lt;p&gt;It’s your game to play, after all. &lt;/p&gt;

&lt;iframe src="https://draftin.com/share_buttons/new.html?url=http%3A%2F%2Fblog.zackshapiro.com%2Fplay-your-own-game&amp;amp;title=Play%20your%20own%20game" frameborder="0" style="border:none;overflow:hidden;width:800px;height:21px;"&gt;&lt;/iframe&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/i-think-i-figured-out-what-hashtags-are-for</id>
    <published>2013-07-15T21:51:00-07:00</published>
    <updated>2013-07-15T21:51:00-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/i-think-i-figured-out-what-hashtags-are-for"/>
    <title>I finally figured out what hashtags are for</title>
    <content type="html">&lt;p&gt;Yesterday I tweeted, “Hashtags may be my biggest pet peeve on the Internet.” I hate hashtags. I think 98% of the time they’re useless and dumb. Most people have no idea how to use them.&lt;/p&gt;

&lt;p&gt;Let’s start at the beginning. Twitter user &lt;a href="https://twitter.com/chrismessina"&gt;Chris Messina&lt;/a&gt; created the hashtag in 2007, inspired by IRC, trying to help people organize their tweets into relative groups.&lt;/p&gt;

&lt;p&gt;Hashtags were pretty nerdy for a while, but once political events and news networks covering those events started pointing them out to viewers who were also Twitter users, usage increased and spread beyond politics and early-hashtag adopters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No one really explained to anyone what hashtags were for or how to use them effectively. As a consequence, today, few people know how to use them!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s look at two bad examples of using hashtags: &lt;/p&gt;

&lt;p&gt;The first, the useless hashtagging of random words in your tweet, in the hopes your tweet will be widely seen, and generally because you don’t know how to use hashtags: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://svbtleusercontent.com/pl6la856kizm3g.png"&gt;&lt;img src="https://svbtleusercontent.com/pl6la856kizm3g_small.png" alt="Screen Shot 2013-07-16 at 12.55.59 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Second (and by far the worst use of hashtags), I don’t even know what to do with this tweet:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://svbtleusercontent.com/5vgaruroqv2iog.png"&gt;&lt;img src="https://svbtleusercontent.com/5vgaruroqv2iog_small.png" alt="Screen Shot 2013-07-16 at 12.54.33 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some people, marketers for example, have specific searches they do regularly for certain words that pertain to their brand on the space in which their brand operates. They want to discover new content or customers through certain tweets, but you have to think strategically about what people are monitoring.&lt;/p&gt;

&lt;p&gt;Realistically, no one is really searching #app or #mobile or #design or #love or anything that general, really. They’re too noisy and no one whose content you really want to see is using those hashtags to extend the reach of their content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hashtagging random words is a behavior that needs to stop because it doesn’t do anything but dilute your message and make your tweet ugly!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So when you write a tweet like: &lt;/p&gt;
&lt;blockquote class="short"&gt;
&lt;span class="accent-dot"&gt;&lt;/span&gt;&lt;p&gt;Such an #amazing #summer day with my #bestfriends! I love #Colorado. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Just take all the hashtags out (and add a space between ‘best’ and ‘friends.’)&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;After a few conversations over Twitter, I figured it out: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hashtags are for events!&lt;/strong&gt; (And that’s &lt;em&gt;it&lt;/em&gt;!)&lt;/p&gt;

&lt;p&gt;Two great examples:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://svbtleusercontent.com/ijklk2vvstlcaq.png"&gt;&lt;img src="https://svbtleusercontent.com/ijklk2vvstlcaq_small.png" alt="Screen Shot 2013-07-16 at 1.08.19 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://svbtleusercontent.com/y2jyr35npnqp1w.png"&gt;&lt;img src="https://svbtleusercontent.com/y2jyr35npnqp1w_small.png" alt="Screen Shot 2013-07-16 at 1.09.24 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the first, Ben uses a hashtag to make sure his tweet was included with several thousand related to &lt;a href="http://www.bigomaha.com/"&gt;Big Omaha&lt;/a&gt; (one of the the best conferences around). In the second, Wendy also groups her thought into the Big Omaha collection but in a natural language-y way that actually makes sense! &lt;/p&gt;

&lt;p&gt;Both are attached to an event which exists for a temporary period of time and in this case, it makes sense to use some sort of grouping thing here!&lt;/p&gt;

&lt;p&gt;Egypt uprising. The Super Bowl. Forest Fires. Conferences. A Fourth of July party at a ranch in the middle of a landlocked state.&lt;/p&gt;

&lt;p&gt;Hashtags work for every single one of these because it helps people meet one another and capture thoughts, links, media, and conversation related to that thing that occurred temporarily in time and space.&lt;/p&gt;

&lt;p&gt;When that event is done, you have the hashtag to click on and go back to the people and thoughts of that period of time, that exist like a little digital time capsule.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your hashtag should add content to a group with a very high signal and very low noise.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s as simple as that. Think of hashtags for time-based events instead of general categories that you tweet might fall into.&lt;/p&gt;

&lt;p&gt;And please, practice hashtagging responsibly.&lt;/p&gt;

&lt;iframe src="https://draftin.com/share_buttons/new.html?url=http%3A%2F%2Fblog.zackshapiro.com%2Fi-think-i-figured-out-what-hashtags-are-for&amp;amp;title=I%20finally%20figured%20out%20what%20hashtags%20are%20for" frameborder="0" style="border:none;overflow:hidden;width:800px;height:21px;"&gt;&lt;/iframe&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/craftsmanship</id>
    <published>2013-07-02T09:00:03-07:00</published>
    <updated>2013-07-02T09:00:03-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/craftsmanship"/>
    <title>Craftsmanship</title>
    <content type="html">&lt;p&gt;Craftsmanship is everything. A way of life. A commitment to the fine details. It’s not sexy; it’s difficult. It requires discipline, iteration, and introspection.&lt;br&gt;
If anything, it’s the most important part of our work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is an attempt to answer this week’s Startup Edition question: “&lt;a href="http://bit.ly/1cmF2P5"&gt;How do you build engaging products?&lt;/a&gt;”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Lately, I’ve fallen in love with restaurants but not for the reason you might imagine. I’ve really come to admire restaurants during their off hours.&lt;/p&gt;

&lt;p&gt;To me, this embodies craftsmanship.&lt;/p&gt;

&lt;p&gt;The dinner rush is the prestige. It’s the part of the act that I see and that amazes me most. There’s so much more work that goes into a successful dinner rush than most customers ever think about.&lt;/p&gt;

&lt;p&gt;At 10am, the chef comes into the restaurant. He walks through the freezers and walk-ins, surveying what’s still in stock and what needs to be ordered. A truck or two might come and bring ingredients for the evening ahead. He begins to prepare for the evening rush.&lt;/p&gt;

&lt;p&gt;At 11:30am, the supporting chefs come into the restaurant. They begin to chop vegetables and make a few sauces. When that’s done, they store the veggies and soups in covered containers and put them in the refrigerator. A stew cooks slowly in the oven until the early afternoon.&lt;/p&gt;

&lt;p&gt;Hours go by. More prep is done. Tables are cleaned in the front. The waiters are educated on the night’s specials.&lt;/p&gt;

&lt;p&gt;When 3pm hits, most of what’s needed for the evening’s service is ready as remaining ingredients and preparations are delivered shortly before customers dine.&lt;/p&gt;

&lt;p&gt;The pieces are in place. Ready for moves to be made.&lt;/p&gt;

&lt;p&gt;The kitchen staff’s diligent preparation, hours before your first bite, is key to the final experience. Sauce simmering for hours, building its flavor. Fights erupt in the kitchen. Bags form under the eyes of the tired kitchen staff.&lt;/p&gt;

&lt;p&gt;That’s craftsmanship. Those are the hidden details that you don’t see, that make the product phenomenal.&lt;/p&gt;

&lt;p&gt;And as dinner finishes, you pay your check and go home, the staff has four more hours of work, washing dishes and moving tables. Scrubbing counter tops, cleaning knives, and getting everything ready for tomorrow’s prep.&lt;/p&gt;

&lt;p&gt;The romantic, dim yellow glow of the house lights at 1:30 in the morning as the staff drinks a bottle of wine and stories of the day are told. Chairs are pushed in and the staff goes home, to do the same thing tomorrow.&lt;/p&gt;

&lt;p&gt;Craftsmanship isn’t glamorized most of the time. It’s the things we have to do in order to do our jobs well. To provide that great experience for our customers. Craftsmanship is an ethos, a pledge, and a commitment. To a better way of doing things. To never settle. To compromising only when it makes sense.&lt;/p&gt;

&lt;p&gt;That’s how you build an amazing experience. By preparing correctly and breaking things down thoughtfully. By taking the care to think through how someone will interact with your product.&lt;/p&gt;

&lt;p&gt;Even though it’s hard to see, the details are actually the product itself. The details are what makes your customers smile and brings them back for more.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/want-to-learn-rails-start-with-meim-teaching-a-course</id>
    <published>2013-06-09T12:07:01-07:00</published>
    <updated>2013-06-09T12:07:01-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/want-to-learn-rails-start-with-meim-teaching-a-course"/>
    <title>Want to learn Rails? Start with me.(I'm teaching a course!)</title>
    <content type="html">&lt;p&gt;On Saturday June 22 &lt;a href="http://thenextweb.com/academy/class/from-rails-zero-to-hero"&gt;I’m going to be a teaching a three hour online Rails course&lt;/a&gt;. The course is offered through The Next Web’s Academy platform, costs $99 and I promise to make it worth both your time and money.&lt;/p&gt;

&lt;p&gt;I wanted to teach a Rails course to help enable the next generation of developers and engineers who want to get started but don’t know where to turn. &lt;/p&gt;

&lt;p&gt;My goal is to teach you the fundamental pieces you need in order to start writing Rails applications and building the wonderful ideas that are in your head.&lt;/p&gt;

&lt;p&gt;I plan to offer this course in multiple parts, each class building on the previous week. Each class will have homework assignments designed to push you a little beyond the boundaries we walk through each week.&lt;/p&gt;

&lt;p&gt;In addition, The Next Web’s Academy platform also gives you access to my video and slides as long as you buy the course, you can revisit in the coming days, weeks, and months.&lt;/p&gt;

&lt;p&gt;I hope you’ll join me! There are only 100 spots open in this class. &lt;/p&gt;

&lt;p&gt;I’m excited to teach a whole batch of new people Rails and help you turn into the developer you’ve always wanted to be!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://thenextweb.com/academy/class/from-rails-zero-to-hero"&gt;Sign up now&lt;/a&gt;. I’ll see you there!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/a-pause</id>
    <published>2013-06-09T09:17:48-07:00</published>
    <updated>2013-06-09T09:17:48-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/a-pause"/>
    <title>A pause</title>
    <content type="html">&lt;p&gt;This post was going to be something completely different.&lt;/p&gt;

&lt;p&gt;Until I finished it and it did nothing for me. It wasn’t that it was bad writing. It’s that it didn’t speak to me at all. And it probably wouldn’t speak to you.&lt;/p&gt;

&lt;p&gt;Maybe that is bad writing.&lt;/p&gt;

&lt;p&gt;So I’m going to pivot a bit. Usually I don’t talk about my writing direction and choices but I’m going to now.&lt;/p&gt;

&lt;p&gt;Because or world lacks a lot of authenticity right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And I just want to make a little dent in that, so you feel some authenticity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wrote a piece a few days ago called &lt;a href="https://medium.com/unforgettable-moments/dd0215846690"&gt;Graduation&lt;/a&gt; that I’m really proud of and I hope you read it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s so much better, exponentially better, than what this post was going to be. Before I paused.&lt;/p&gt;

&lt;p&gt;I’m going to back up and decide what it is that I want to write about. I think I’ll ditch the Sunday posting schedule because Sundays are no fun. &lt;/p&gt;

&lt;p&gt;Spontaneity and serendipity is fun. It feeds our souls and gives us stories to tell. I’m going to tell more stories and give less advice. &lt;/p&gt;

&lt;p&gt;After all, I don’t know what I’m talking about. Neither do you. (&lt;a href="https://github.com/zackshapiro/thoughts/blob/master/things-that-i-believe.md"&gt;See also under Life, point 4&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Here’s to authenticity, and going forward.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/semipermeable-standards</id>
    <published>2013-04-07T11:56:06-07:00</published>
    <updated>2013-04-07T11:56:06-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/semipermeable-standards"/>
    <title>Semipermeable standards</title>
    <content type="html">&lt;p&gt;I believe that now, more than ever, we should draw deeper lines in the sand. Set our boundaries more effectively. Put up chain link fences with little holes, that keep most things out. I say most things because there’s always something that, for a specific reason, ends up being too good to pass up.&lt;/p&gt;

&lt;p&gt;One of the resounding psychological traits I see in many people today is the inability to make decisions. We want abundance and endless choice, all the time. All the while, secretly hoping that most people will like us.&lt;/p&gt;

&lt;p&gt;Add instant gratification on top of that, constantly delivered by our phones and computers and the software we create, and you have a fairly messy recipe for successful human beings. &lt;/p&gt;

&lt;p&gt;In short, we get nowhere.&lt;/p&gt;

&lt;p&gt;Once we set up semipermeable standards, &lt;strong&gt;we can get somewhere.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://withfriendship.com/images/h/36305/Semipermeable-membrane-pic.jpg" alt="semipermeable membrane"&gt;&lt;/p&gt;

&lt;p&gt;Like the membrane keeping the salt out of the right side of beaker, our cells have a semipermeable membranes. These boundaries allow certain nutrients and proteins to enter into the cell while keeping unnecessary items and toxins out out that can’t fit through the specially-shaped openings.&lt;/p&gt;

&lt;p&gt;Our brains and our time should work like this too.&lt;/p&gt;

&lt;p&gt;Here’s the thing: &lt;strong&gt;our brains love boundaries!&lt;/strong&gt; When we have boundaries, we’re forced to get creative inside of those boundaries. &lt;/p&gt;

&lt;p&gt;Our standards should have exceptions too. The world is more grey than it is black and white, after all. Like the holes in a cell’s wall, if a particle approaches at the right angle with the right shape, it can squeak through an opening. Events in every day life are much the same. &lt;/p&gt;

&lt;p&gt;As an example, I don’t tolerate flakiness in people. If we make plans, I want to hang out with you. I understand that things come up that we can’t avoid and I’m open to that. If you show a pattern of something always coming up at the last minute, right when we’re going to hang out, I’m going make much less of an effort to spend time with you than I would have before.&lt;/p&gt;

&lt;p&gt;Maybe we missed our first meeting because of something that came up last minute and maybe this time, you had a family emergency that you had to fly home for. Totally understandable. If you just forgot and didn’t show up, that’s much different.&lt;/p&gt;

&lt;p&gt;But that’s the line I’ve drawn: I don’t do flaky. I’ve had some hard conversations with friends telling them that it both disappoints me and wastes my time when I plan to spend time with them and they don’t show up. For the most part, people are pretty responsive.&lt;/p&gt;

&lt;p&gt;As a result, I’m not meant to be friends with certain people. You know what? That’s okay. &lt;/p&gt;

&lt;p&gt;We teach other people how to treat us. How someone treats you in the long term is all about the semipermeable standards that you set and live by.&lt;/p&gt;

&lt;p&gt;If you don’t want something, say so. If something doesn’t feel right to you, say no.&lt;/p&gt;

&lt;p&gt;I encourage you think deeply about what you like and don’t like. Also think about what you vocalize and portray for others.&lt;/p&gt;

&lt;p&gt;Do you act on the parameters you have in your head? &lt;/p&gt;

&lt;p&gt;Do you let most things slide by because you’re scared of what or who you might miss?&lt;/p&gt;

&lt;p&gt;Do you feel stuck sometimes? Mad at yourself for doing something that you don’t really want to do, only because you don’t want to upset other people? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At the end of the day, all we can control are ourselves.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of being reactive to the world around you, establish some semipermeable boundaries around what you’re willing to tolerate. &lt;/p&gt;

&lt;p&gt;Be proactive and let world reform around what &lt;em&gt;you’re&lt;/em&gt; willing to tolerate. &lt;/p&gt;

&lt;p&gt;Your personal happiness and focus will be worth the effort.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/want-to-learn-to-code-start-here</id>
    <published>2013-03-31T11:33:06-07:00</published>
    <updated>2013-03-31T11:33:06-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/want-to-learn-to-code-start-here"/>
    <title>Want to learn to code? Start here.</title>
    <content type="html">&lt;p&gt;Last September, I wrote a post called &lt;a href="http://zackshapiro.com/post/31672964808/want-to-learn-rails-start-here"&gt;Want to learn Rails? Start here.&lt;/a&gt; which has been pretty successful. I’ve met and emailed a good amount of people who have follow up questions or are in the middle of learning how to build things with software. I’ve referred a bunch of people to the post as well. I’m proud that the post is actionable and helpful. Since I wrote that post a while ago and developed my engineering skills much, much further. I wanted to write a follow-up post, some revised thoughts on learning how to code.&lt;/p&gt;

&lt;p&gt;This post is intended for working professionals who feels a strong desire to code to build things that they want to see exist in the world. This post is not intended for the person who &lt;em&gt;thinks they should code&lt;/em&gt; because they hear so much about it. I mean no offense but I’ve found those people to be lacking in the short and medium-term fire it takes to learn to actually build software.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;1) Nights, weekends are bad&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Given my personal experiences and a slew of conversations, I’ve found that learning how to code only on nights and weekends is a terrible way to go about it. When your brain is not trained to think the way coding forces you to think, it’s very easy to lose where you were or not remember a key concept you just picked up. Putting in as much time as possible is your friend.&lt;/p&gt;

&lt;p&gt;This point of view is reinforced by programs like &lt;a href="http://devbootcamp.com/"&gt;Dev Bootcamp&lt;/a&gt; which not only require a full nine weeks of your life but also make you pay tuition to attend (which is not a small sum). They make you buy in temporally and financially to ensure your success.  &lt;strong&gt;You have to throw yourself in or you will fail.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Forget Codecademy&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote class="short"&gt;
&lt;span class="accent-dot"&gt;&lt;/span&gt;&lt;p&gt;“I’m learning how to code! I’m doing Codecademy!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don’t know how many people tell me this. If I follow up with any of those people six-to-eight weeks later, they’ve fallen off the boat completely. &lt;/p&gt;

&lt;p&gt;Here’s why Codecademy doesn’t work in the long term: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You’re coding in a browser which you literally never do outside of Codecademy. Learning the syntax of JavaScript, Python, or Ruby is good but that’s about all you get out of the program, in my opinion. You’ll learn these skills elsewhere.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You don’t know how to set up a development environment. Any time you have the slightest inkling to build something for yourself leveraging what you’ve learned in Codecademy, you can’t and probably don’t know where to start. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You’ll need to go through the process of setting up your dev environment which can be incredibly challenging for someone with very little coding experience.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3) Have a real project you want to build&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have something &lt;em&gt;tiny&lt;/em&gt; you want to build. One of my first projects was called Today I Learned. It’s a text box that you enter stuff into and it shows the date you entered it in descending order. That’s all it does. &lt;/p&gt;

&lt;p&gt;Your first project is going to be crappy. But it will be done. And it will be done by you. And that’s fucking awesome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) Everything you build, builds on top of the stuff you’ve built before&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built Today I Learned and whatever I built next, was better because of one or two concepts I learned while building TIL. You’ll constantly be referencing your old code, code other places in the codebase or code from the Internet, once you understand what the pieces mean.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) Don’t copy and paste others’ code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tommy Nicholas wrote &lt;a href="http://www.shockoe.com/blog/typingcodeout/"&gt;a post&lt;/a&gt; in December which echoes the same point. You learn things when you write code out. You question what certain pieces mean. Hopefully you Google those questions to learn more and understand more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Stop telling people you’re learning to code unless they’re technical and you want them to help you&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you’re starting out, your goal should be to find a technical mentor or two, not impress your other non-coding friends with the fact that you’ve taken the first step. &lt;/p&gt;

&lt;p&gt;I’m a firm believer that if you talk about what you want to do, you never actually do it. So unless you’re talking to someone you hope will be a mentor, close your mouth, put your head down, and keep building. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Loose lips sink ships&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7) Coding is failing a ton and understanding why. It’s painful and frustrating&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The way you learn how to build software is by making the same mistake a few times, learning why that doesn’t work, and doing it correctly. The next time you come across a similar problem (and trust me, you will), you’ll either remember the way you did it last time or at least the part of the codebase that you struggled in, which you will then reference and remember what you learned from all of that failing. &lt;/p&gt;

&lt;p&gt;The rewards for building software are incredible. The feeling of “that came out of my brain” is what I live for. I love it. But the road to get to that point can be tough. &lt;a href="http://blog.zackshapiro.com/momentum-is-a-hell-of-a-drug"&gt;Build momentum. Keep going.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8) Stop trying to figure out what you should do and just start.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A friend of a friend kept emailing me with a bunch of questions. He was trying to figure out all of the places he could fail before he even started. &lt;/p&gt;

&lt;p&gt;That’s the absolute wrong way to go about this. Pick a language, (Ruby or Python) buy a really recent book that assumes you know nothing and just start. Do chapter one. Do it again maybe. The amount that you don’t know that you don’t know is bigger than you can imagine. Don’t worry about that. You’ll understand more pieces in time. We all will.&lt;/p&gt;

&lt;p&gt;Good luck. &lt;/p&gt;

&lt;iframe src="https://draftin.com/share_buttons/new.html?url=http%3A%2F%2Fblog.zackshapiro.com%2Fwant-to-learn-to-code-start-here&amp;amp;title=Want%20to%20learn%20to%20code?%20Start%20here." frameborder="0" style="border:none;overflow:hidden;width:800px;height:21px;"&gt;&lt;/iframe&gt;
</content>
  </entry>
  <entry>
    <id>tag:blog.zackshapiro.com,2014:Post/momentum-is-a-hell-of-a-drug</id>
    <published>2013-03-23T10:08:09-07:00</published>
    <updated>2013-03-23T10:08:09-07:00</updated>
    <link rel="alternate" type="text/html" href="http://blog.zackshapiro.com/momentum-is-a-hell-of-a-drug"/>
    <title>Momentum is a hell of a drug</title>
    <content type="html">&lt;p&gt;On Friday, after being down by 16 at halftime. Colorado came out and scored 21 straight points on Illinois before Illinois put another point up on the board. Illinois had gone cold. Dead cold. Colorado had all the momentum in the world. I love momentum shifts.&lt;/p&gt;

&lt;p&gt;But then Illinois started scoring again and Colorado started missing shots that they would have made when the adrenaline was flowing. Colorado got cold. Illinois got hot. Another momentum shift. Illinois eventually won the game.&lt;/p&gt;

&lt;p&gt;What a shame. But it got me thinking a lot about momentum.&lt;/p&gt;

&lt;p&gt;It’s incredibly hard to start, and continue, a lot of things. A new habit,  a small behavioral change, and even scoring streaks (á la Colorado).&lt;/p&gt;

&lt;p&gt;One of the primary reasons that it’s so hard is because we’re subject to the natural triggers of our environment and our &lt;a href="http://www.nytimes.com/2011/08/21/magazine/do-you-suffer-from-decision-fatigue.html?pagewanted=all&amp;amp;_r=0"&gt;diminishing willpower&lt;/a&gt; throughout the day. &lt;/p&gt;

&lt;p&gt;You were going to work on that personal project on Thursday night after work right? But then work wore you out and your friends were going to that Passion Pit show downtown and just happened to have an extra ticket. Decisions, &lt;em&gt;right?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do we build defenses against the triggers of our environment other than our willpower? We do it by creating and sustaining momentum.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote class="short"&gt;
&lt;span class="accent-dot"&gt;&lt;/span&gt;&lt;p&gt;If there is no net force on an object, then its velocity is constant. - Newton’s &lt;a href="http://en.wikipedia.org/wiki/Newton's_laws_of_motion"&gt;First Law of Motion&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let’s say you’re starting a software project, something you’ve always wanted to build but never really prioritized before. It’s lived on a notepad somewhere in your apartment for the better part of six months. &lt;/p&gt;

&lt;p&gt;Today you’re going to start. No excuses.&lt;/p&gt;

&lt;p&gt;Start by making a list of the things you need to do. Then break down each of those pieces into incredibly small pieces. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(Personally, I put things on my list that I’ve already done, to trick my brain into thinking how accomplished I already am!)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;You start attacking things on the list, crossing them off as you go. As you’re building, you add things to the bottom of the list. More small steps you need to take, as you pull things off the top of the list and complete them.&lt;/p&gt;

&lt;p&gt;Feel that adrenaline? The pulsing and excitement in your body? That’s momentum. That’s you exerting a force on the previously immovable object. By moving your project, you’ve established velocity. Every item you cross off your list increases your velocity. &lt;/p&gt;

&lt;p&gt;Keep going!&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Streaks are incredibly powerful psychological triggers.&lt;/p&gt;

&lt;p&gt;Streaks get us to keep doing what we’ve been doing and keep coming back for more.&lt;/p&gt;

&lt;p&gt;When we see that we’re on a streak, our brains want to do more to continue the streak. The longer the streak, the greater the disappointment if we break the streak. &lt;/p&gt;

&lt;p&gt;If you’ve done something for 61 days in a row, don’t you want to hit 62? Wouldn’t it &lt;em&gt;suck&lt;/em&gt; to start over again at one?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So today, I encourage you to take the first step in starting a streak.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make a list. Backfill it with things you’ve already done today. &lt;/p&gt;

&lt;p&gt;Now do the first item on that list. Maybe you do the second one too. Keep it going and don’t stop.&lt;/p&gt;

&lt;p&gt;Excellence is momentum. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you enjoyed this post, I’d be humbled if you’d &lt;a href="https://twitter.com/ZackShapiro"&gt;follow me on Twitter&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content>
  </entry>
</feed>
