tag:blogger.com,1999:blog-24444557796514255722024-02-21T18:31:17.348-08:00Coder GirlCoding tips and life tipsAnonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-2444455779651425572.post-758426046157214192014-09-02T15:24:00.002-07:002014-09-02T15:24:52.256-07:00How to Stop Yak Shaving<div class="tr_bq">
Sometimes in the software development world, things go more or less according to plan. I have a project, I work through said project in a relatively orderly fashion, and I finish and release the project more or less on the deadline.</div>
<div class="tr_bq">
<br /></div>
<div class="tr_bq">
And then there's the rest of the time. I start in on a project thinking that everything that everything is under control, only to find that three weeks have passed and I'm no closer to achieving my original goal, but I'm sure that what I am building is going to be epic and if I can just finish this one thing that I thought of yesterday and started implementing this morning that is not even in the same hemisphere as my original goal but is <u>very</u> <u>important</u>, everything will be perfect and I'll be finished in no time.</div>
<div class="tr_bq">
<br /></div>
<div class="tr_bq">
Ever been there? I certainly have, and apparently so have enough other people that there's even a term for it - yak shaving.</div>
<div class="tr_bq">
<br /></div>
The term "yak shaving" was first popularized at <a href="http://www.catb.org/~esr/jargon/html/Y/yak-shaving.html" target="_blank">MIT Media Labs</a>, and later translated into non-technical terms by <a href="http://sethgodin.typepad.com/seths_blog/2005/03/dont_shave_that.html" target="_blank">Seth Godin</a>. Personally, I like Seth's explanation the best:<br />
<br />
<blockquote class="tr_bq">
Yak Shaving is the last step of a series of steps that occurs when you find something you need to do. "I want to wax the car today."<br />"Oops, the hose is still broken from the winter. I'll need to buy a new one at Home Depot."<br />"But Home Depot is on the other side of the Tappan Zee bridge and getting there without my EZPass is miserable because of the tolls."<br />"But, wait! I could borrow my neighbor's EZPass..."<br />"Bob won't lend me his EZPass until I return the mooshi pillow my son borrowed, though."<br />"And we haven't returned it because some of the stuffing fell out and we need to get some yak hair to restuff it."<br />And the next thing you know, you're at the zoo, shaving a yak, all so you can wax your car.<br />From <a href="http://sethgodin.typepad.com/seths_blog/2005/03/dont_shave_that.html" target="_blank">Seth's Blog: Don't Shave That Yak! </a></blockquote>
<br />
<br />
The danger of yak shaving is that it <i>feels</i> productive. Perhaps all publicity is good publicity, but not all work is good work. While waxing your car and fixing a yak hair pillow may both be important, fixing a yak hair pillow as a means to wax your car is not.<br />
<br />
So how do I stop yak shaving?<br />
<br />
<b><span style="font-size: large;">Step 1: Admit that you have a problem</span></b><br />
<br />
The first step, of course, is to admit that I'm yak shaving. As with most problems, this step is the most difficult.<br />
<br />
"No, this isn't yak shaving, this is <u>really</u> <u>important</u>." (I'm halfway to the zoo at this point.)<br />
<br />
To decide (honestly) if I'm yak shaving, I have to remind myself of my original goal, and how closely what I'm currently working on relates to/helps with that goal. If the relationship is "my goal is to wash the car, and I'm using the car to drive to the zoo", it's time to take action.<br />
<br />
<b><span style="font-size: large;">Step 2: Stop everything</span></b><br />
<br />
The only way to stop yak shaving is, well, to stop yak shaving. For me, this means stopping what I'm working on cold turkey. There's a real temptation to work for "just five more minutes", but ultimately this isn't any more productive than hitting the snooze button in the morning. One moment you're sleeping an extra five minutes, and the next you're running out of the house, one shoe half on, the other in your hand, and the third...wait, why do I have three shoes!?<br />
<br />
Walking away is hard because it feels like giving up. What drives yak shaving is the feeling of productivity combined with the promise of future excellence. In reality, yak shaving is the work equivalent of an infinite loop - you're using CPU cycles, but you aren't really getting anywhere.<br />
<br />
<b><span style="font-size: large;">Step 3: Work on (and finish) something else</span></b><br />
<br />
After completely walking away from my half-shaved yak (sorry buddy!), my next step is to find a bite-sized project that I can finish quickly and easily. This new project <u>must</u> be completely unrelated to my yak disaster, it <u>must</u> be small and I <u>must</u> finish it. Even if the project is incredibly trivial, the point is to re-train my brain to start and finish something, <i>anything</i>, without expanding and second guessing and finding a way to make it epic. In addition to reminding me how to finish a project, this serves to restore my confidence that I <u>can</u> finish a project.<br />
<br />
<b><span style="font-size: large;">Step 4: Return to the original project (with a fresh perspective)</span></b><br />
<br />
Once I've completed my unrelated project, I can go back to the zoo and assess the damages Usually, with this much-needed distance and perspective, I can get back to washing my car like I originally planned.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-55711327179895269802014-01-13T15:38:00.001-08:002014-01-14T09:10:09.551-08:00I Can't Find Women Because They Don't Exist, and Other Myths<br />
"I don't have any women on my [team, industry, board, etc] because they don't exist." <br />
<br />
This is the obliquitous response to the question "where are the women?".<br />
<br />
"I looked, but qualified women just aren't out there." <br />
<br />
Sure, in some cases, there are actually fewer women available to fill a particular role, but by allowing this as an excuse, we miss the bigger issue. If you're having to specifically "seek out women" and "just can't find women who are qualified", perhaps you're not offering something that is appealing to women, or at the very least, you're not offering it in a way that's appealing to women.<br />
<br />
I'm not saying you don't have something that women want. Do women want jobs? Of course. To work in technology? Sure. Hold board seats? Absolutely. However, having something that people want isn't the same thing as having something that is appealing.<br />
<br />
Let's frame this same conversation a little differently. A new marketing manager at a company has their first meeting with their new boss. "I can't find any customers because they aren't out there. I looked everywhere, but it seems that there just aren't people qualified to buy our product." So as not to be completely remiss, the marketing manager offers an explanation. "It seems the problem starts in school. People just aren't interested in getting the education required to qualify them to buy our product."<br />
<br />
…<br />
<br />
Sufficed to say, our marketing manager soon finds himself out of a job.<br />
<br />
The problem with the "we looked but we couldn't find them" excuse is that, either figuratively or literally, you're leaving money on the table. It's no secret that <a href="http://blogs.wsj.com/venturecapital/2012/10/04/women-executives-make-venture-backed-companies-more-successful-study/" target="_blank">startups with a female executives are more successful</a>, and that <a href="http://www.forbes.com/sites/katetaylor/2012/06/26/the-new-case-for-women-on-corporate-boards-new-perspectives-increased-profits/" target="_blank">companies with women on their boards are more profitable</a>, and yet so many people are still embracing the "it's been working well enough so far, so why think about or risk changing it?" mentality. In the startup world in particular, we pride ourselves on innovation. We are hackers. We are all about disruption and changing the status quo. But as we look for industries to disrupt, we don't always consider what it means to disrupt our own.<br />
<br />
In many cases, women who have succeeded in male-dominiated areas (the Sheryl Sandbergs of the world), have done so by learning to play a man's game. Much of the current status quo was created by men, and therefore, as makes sense, is reflective of what makes men comfortable. Women who want to succeed in male-dominated areas have to learn not only whatever specific skills are required for their actual job, but also have develop the skills to cope with considerably more discomfort than their male counterparts. (I'm intentionally leaving the whole "are men and women fundamentally different and is it because of nature/nurture/society/teddy bears" conversation aside for the moment. Let's just assume that, whatever the reason, men and women have their differences.) As an example, there is no shortage of books, articles, etc, giving advice to women on how to negotiate raises, because, as a sweeping generalization, this is something that is more uncomfortable for women than it is for men.<br />
<br />
If you really want to bridge the gender gap, you have to go back to basics. Instead of trying to find women who are willing to play a man's game, think about how to change your game so that women actually want to play. Disruption isn't just about about introducing innovative technical solutions, it's about fundamentally changing the status quo for everyone's benefit. If you want to attract women, figure out what women are attracted to (hint: in this process, sometimes it helps to get an actual woman's perspective). Maybe it's creating a company where raises aren't given through negotiation, maybe it's about innovating a new way for founders to pitch your venture capital firm, maybe it's about holding your board meetings in the office, rather than a golf course.<br />
<br />
The impetus is not on women to get interested in your company, industry, board, etc, it's on you make your board, company, etc, interesting to women. Unless you enjoy leaving money on the table, in which case, be my guest. <br />
More for me.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-67084666114296857512013-12-18T13:24:00.000-08:002014-01-02T08:01:23.749-08:00Product Design: What Can You Take Away?I've been spending a lot of time blogging on <a href="http://blog.coapp.co/" target="_blank">my company's blog</a>, and one of my <a href="http://blog.coapp.co/2013/12/the-evolution-of-design-from-non.html" target="_blank">most recent posts</a> was on learning to design as a software engineer, aka someone with no design background. One of the lessons I've learned is that a critical part of good design isn't what you add, it's what you take away. When designing a product, the creator invariably wants to make sure the product includes All The Things to maximize the product's utility. While some of The Things do enhance your product, others take away from it by making the product overly complex, sucking up development resources that could be better utilized on a different feature, etc.<br />
<br />
Instead of "What should I add?", the better question to ask is "What can I take away?".<br />
<br />
Figuring out what to remove is incredibly difficult, especially because at first glance everything seems critical. In the game of elimination, it is important that no feature is safe. Sometimes the thing that should be removed is the thing that's least obvious.<br />
<br />
Let's consider my favorite real world example:<br />
<br />
Have you ever noticed how at major airports, airplanes use trucks to push them when they need to go in reverse? Commercial airplanes don't reverse. At this point, major airports are aware of this and are set up to deal with it, but at first glance the ability for an airplane to reverse is not an obvious feature to remove. Airplanes are motor vehicles - of course they can drive in reverse. Cars reverse, boats reverse, go carts reverse, why wouldn't airplanes? Not only is an airplane's ability to reverse an expected behavior, an airplane has to reverse as part of it's daily operation to back away from the gate, etc. This makes the choice to remove this feature even less obvious. <br />
<br />
With all these considerations in mind, certainly the airline industry has the resources to dedicate the time, effort, and man-power to building a airplane that is easy to reverse or capable of reversing. The important question is: should they? Is the ability of an airplane to go in reverse something that is absolutely critical to the product, or can it be removed?<br />
<br />
The answer, in this case, is that it can be removed. (The internet informs me that while some airplanes are physically capable of reversing, it is usually not practical for them to do so.) This, however, doesn't address the issue that airplanes do actually need to move in reverse, which brings me to my next point:<br />
<br />
There's more than one way to solve a problem.<br />
<br />
If airplanes need to move in reverse, and making airplanes that reverse easily is out, then what are the other solutions? One solution would be to design airports in a way that airplanes never need to reverse (though I imagine you could potentially run into a Zoolander-style situation if something didn't go as planned). Another solution is to use a different motor vehicle to move them backwards, like a reverse tow truck. Ultimately, this is the solution that won.<br />
<br />
In product development and design, asking what can be removed and looking for multiple solutions to a problem are key to building the best product possible. When you break down expectations and allow yourself to really think outside the box, the least obvious and often best solutions arise.<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-55309852481478155062013-04-15T22:11:00.001-07:002013-06-12T13:09:12.727-07:00I Can't Hit A GirlLet's talk about hazing.
<br><br>
What is hazing? Well, as a former college athlete (and team captain who was forced to attend a workshop on the matter), I could tell you more than you or I ever wanted to know. Though it has been infamized by athletics in recent years, hazing exists in all walks of life. It's purpose, at least theoretically, is to introduce a new member or members to an existing group, and also, and perhaps more importantly, test their ability to join the group. Does making a new frat brother chuck a gallon of water really achieve that? No. But that's a conversation for another time.
<br><br>
<i>Note: I do not in any way condone any/all hazing activities that go on in college, or any other venue really, that are harmful or hurtful.</i>
<br><br>
So why is this relevant to software engineering?
<br><br>
As with <a href="http://blog.c0d3r-girl.com/2012/03/boys-are-better-programmers.html">many of my posts</a>, this one stems from an interesting conversation I found myself in about a week ago. I was talking to a (male) programmer about hacking culture, and he started the conversation by discussing how hacking is FILLED with hazing. I quickly agreed, without thinking too much of it. And then I stopped...
<br><br>
Wait a minute. Of. Course. It. Is!
<br><br>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvTypvgmWSTaGdnvDGmJVe-9aWwFmVBDzO0eRTQaUZka0ekTujWB7sl5ahQSw157KRG_CkA_qUPI9jtv-mSTkjb4bcgaA4yo5Q8my-t2XQZYdZjXans7TyErSOWcrxp7eNAZVM8O0SkU/s1600/wtfs_per_minute.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvTypvgmWSTaGdnvDGmJVe-9aWwFmVBDzO0eRTQaUZka0ekTujWB7sl5ahQSw157KRG_CkA_qUPI9jtv-mSTkjb4bcgaA4yo5Q8my-t2XQZYdZjXans7TyErSOWcrxp7eNAZVM8O0SkU/s320/wtfs_per_minute.jpg" /></a>
<br><br>
Male programmers test, badger, cajole, and downright come to blows with each other ALL THE TIME. They test each other's programming chops, they badger each other over languages, programming ideologies, code format, etc - and honestly, this constant competition is an important part of what creates great code. Constantly being questioned, challenged, etc, can lead to thinking about a problem a new way and innovating a completely revolutionary solution. Where this "hazing culture" breaks down is when a female programmer enters the equation.
<br><br>
"But I can't hit a girl."
<br><br>
While men will test, bother, and argue with each other all day long, there is a complete unwillingness to include women in this process. My guess (and correct me if I'm wrong, guys), is that this is an extension of the whole "I can't hit a girl" philosophy that starts on the playground. While in a literal sense this is a very good rule (a. very. good. rule.), in this particular case, it's misapplied and in fact detrimental.
<br><br>
Here's why: If men are unwilling to treat female programmers in the same way they treat each other - aka badger us, give us grief, question us - we are never really invited to participate because we can never prove our worth. And if we can't prove our worth and aren't in the game? Well, no one ever got any practice or won any metals sitting on the sidelines.
<br><br>
So men, don't be afraid to test a female programmer in the same way you'd test a man. If you think my code is shit, tell me my code is shit! If you think my choice of programming languages is stupid, hassle me about it. Think you can code better or faster than I can? Let's have a pissing match! I won't break, I promise, and I'm not afraid to get my hands dirty! In fact, I'd prefer it. Because that's when the best things happen.Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-83035161841744983962013-01-26T17:56:00.000-08:002013-06-12T13:08:44.097-07:00Don't Learn the Rules - They'll Just Change Anyway"The rules" as they once were don't exist anymore. It used to be easy to be successful (or at the very least, straightforward). Go to school, get good grades, go to college, get good grades, get job at company, stay there for 20-30 years, make lots of money, retire, move to Florida.
<br><br>
Simple, right?
<br><br>
But then the internet came along, upending nearly every industry (and for the industries it hasn't upended yet, it's just a matter of time). And the recession hit, leaving many people with careers that were distinctly derailed. All of this left people saying "wait a minute, I did what I was told to do but I didn't get the life I was promised - what went wrong??".
<br><br>
Welp, the rules changed. Or maybe there were never really rules to begin with. Either way, the only consistent thing these days is change.
<br><br>
Crap! Now what??
<br><br>
It's all about adaptability.
<br><br>
A friend of mine was asking me recently for travel advice (I travel a bit) and the best advice I could give her was "be flexible and don't have a rigid plan." If you think back on any trips you've taken (either across the world or just across town), I would be willing to bet that the greatest moments of stress came from plans changing. Maybe your flight was delayed and you missed a connection. Maybe you hit some crazy, unexpected traffic. Maybe the hotel you'd booked lost your reservation. Whatever it was, your sense of calm came from knowing the rules (or plans), and your stress rose from having those rules change.
<br><br>
The solution: Have no plan!
<br><br>
Ok, that's a little extreme. You can have a plan. But perhaps we should take a look at what that actually means.
<br><br>
In the case of traveling, let's say you have a room booked in Paris for the night. You arrive there, tired and ready to check in, and the hotel has lost your reservation. Not only have they lost your reservation, they are completely booked solid. Even the couches in the lobby are spoken for - there is no way you are staying there for the night.
<br><br>
Panic.
<br><br>
Now in your head, your plan may have been to stay at the specific hotel, but the REAL plan, your real goal, is to visit Paris. Which hotel you're staying at doesn't actually make a material difference in your REAL goal. So, use the hotel's wifi to find a new hotel, or ask around, or walk down the street (hotels are often in clumps). All you need is *a* place to stay not *this* place to stay.
<br><br>
<i>(As it turns out, there's another hotel down the street that doesn't really do the whole "online" thing and therefore has much better rates and is much more unique - and you never would have found it if it weren't for hotel mishap #1!)</i>
<br><br>
The same philosophy applies to most (probably all) aspects of life. Having an idea is good (I want to visit Paris). Having a rigid plan (must. stay. in. this. hotel.) is, well, limiting. Things change. Industries change, plans change, careers change, the world changes. And this is a GOOD thing (unless you'd like to go back to milling your own wheat...personally I would not). Change means innovation and innovation means progress.
<br><br>
So how do you plan for a world where the rules are constantly changing?
<br><br>
The best skill you can have is the ability to think on your feet - to adapt. Have your goals in mind, but be flexible about how you achieve them. Be willing to try a new way of doing something, be willing to explore until you find a better option, accept that if plans A-D fall through, plan E might have been the best option all along.
<br><br>
Breathe, relax, and enjoy the ride!
<br><br><br><br>
<div class="separator" style="clear: both; text-align: center;">
To illustrate my point, <br> while traveling last year I missed my bus <br> - the only one running that day - <br> and ended up going to a totally different place
<br>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioA3oKNUQH1Gvd0ZjP0OiTSXlhUhbYmURJOltUVwc5oghkfYPWJ25wCtWYz1nazsIVx2HzRCMB1rTvHc-u8GDO-J3IYrtzHv3Y8Lrt4poJERWlRfDD3oXCBSN0tP7dsoJwSfDdRk2Thho/s1600/Screenshot_1_26_13_4_52_PM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="320" width="319" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioA3oKNUQH1Gvd0ZjP0OiTSXlhUhbYmURJOltUVwc5oghkfYPWJ25wCtWYz1nazsIVx2HzRCMB1rTvHc-u8GDO-J3IYrtzHv3Y8Lrt4poJERWlRfDD3oXCBSN0tP7dsoJwSfDdRk2Thho/s320/Screenshot_1_26_13_4_52_PM.png" /></a>
<br>
...that looks like this.
<br>
<i>Palaiochora, Crete, Greece</i>
</div>Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com1tag:blogger.com,1999:blog-2444455779651425572.post-70819808786887498472012-12-29T11:53:00.000-08:002013-06-12T13:08:12.630-07:00The Best Cappuccino in the East VillageSo I'm going to deviate a little bit from talking about technology, or things related to technology, and talk about coffee. I know, I know, not exactly a huge deviation, coffee is to coding as...I dunno something very important.
<br /><br />
I moved to the East Village in New York a little over a year ago, and have spent the last year scouring the neighborhood for the best coffee. I have tried to sample as many different brews as possible in search of the best - and the list below is what I have come up with.
<br /><br />
It should be noted that I am an avid cappuccino drinker and I am therefore using a cappuccino as my baseline at the places below. In fact, any time I say "coffee" you can assume I mean "cappuccino".
<br /><br />
So, in a very particular order:
<br /><br />
<a href="http://www.frescogelateria.com" target="_blank"><strong>Fresco Gelateria</strong></a><br />
138 2nd Ave<br />
Brewing: <a href="http://lacolombe.com" target="_blank">La Colombe</a> <br />
<i>This is a new addition to the East Village (and also somewhat newly discovered by yours truly). I've walked by this place a million times, but always forgot about it when it was time for my morning coffee run. Finally I remember and went in and WOW I'm so glad I did! The coffee is amazing, the owner is incredibly sweet - she gives you a mini croissant with your coffee if she has extras, and the pastries are delicious! This has quickly become my favorite coffee spot.</i>
<br /><br />
<a href="http://www.ninthstreetespresso.com" target="_blank"><strong>Ninth Street Espresso</strong></a><br />
341 East 10th Street and 700 East 9th Street<br />
Brewing: Their own roast <br />
<i>Whenever I come here I always joke that I'm going to "Ninth Street Espresso on Tenth". Unless of course I'm actually at the ninth street location - which is an amazing coffee shop. It sort of feels like you're in someone's backyard greenhouse - an impressive feat in the middle of Manhattan. The location on tenth boasts the same delicious coffee - one of my absolute favs.</i>
<br /><br />
<a href="http://abraconyc.com/" target="_blank"><strong>Abraço</strong></a><br />
86 East 7th Street<br />
Brewing: <a href="http://stumptowncoffee.com" target="_blank">Stumptown</a> <br />
<i>Famous for its coffee snobbery, this place does actually live up to its reputation. The coffee is delicious, the pastries are to DIE for, and the ambiance is very hipsters-cafinating-their-hangovers. The olive oil cake alone is enough to keep you coming back, but put everything together and you've got the perfect coffee experience.</i>
<br /><br />
<a href="http://everymanespresso.com" target="_blank"><strong>Everyman Espresso</strong></a><br />
136 East 13th Street<br />
Brewing: <a href="http://counterculturecoffee.com" target="_blank">Counter Culture Coffee</a> <br />
<i>This coffee shop is in the front of a theater (the kind with plays, not the kind with movies), which I always get a kick out of. Their coffee is delicious, their staff is friendly, and the location is convenient (I often go here on my way to Union Square or some other part of the city).</i>
<br /><br />
<a href="http://www.vanleeuwenicecream.com" target="_blank"><strong>Van Leeuwen</strong></a><br />
48 1/2 East 7th Street<br />
Brewing: <a href="http://www.intelligentsiacoffee.com" target="_blank">Intelligentsia</a> <br />
<i>Mmmmm ice cream. I mean coffee! Yes, coffee. Though technically this is an ice cream place (which also means they do affogato...mmmm...), the coffee here is quite delicious. They have their own roast of intelligentsia, always a good sign, and the baristas work magic with it.</i>
<br /><br />
<a href="http://milkbarstore.com" target="_blank"><strong>Momofuku Milk Bar</strong></a><br />
251 East 13th Street<br />
Brewing: <a href="http://stumptowncoffee.com" target="_blank">Stumptown</a> <br />
<i>Again, not a place you'd expect to go for coffee. In addition to having some of the best desserts around, this place actually boasts some legitimate coffee as well. If you haven't tried their desserts...beware. They even have one called "Crack Pie".</i>
<br /><br />
Special mention (technically their locations are in NoHo and SoHo respectively):
<br /><br />
<a href="http://lacolombe.com" target="_blank"><strong>La Colombe</strong></a><br />
270 and 400 Lafayette Street<br />
Brewing: <a href="http://lacolombe.com" target="_blank">La Colombe</a> <br />
<i>Delicious, delicious coffee, but this place makes the list for two other reasons. First, the cappuccinos are larger than most places (I know, I know, that means more milk, not more coffee, but hey sometimes you wanna savor your coffee that little bit longer). Second, they set your coffee on the bar with a plate and a spoon, even if you're getting it to go (just like in Italy, though the concept of "to go" would be a little lost on Italians). The idea that you can stand at the coffee bar and sip your cappuccino in an American coffee shop is pretty radical. And by radical, I mean awesome.</i>
<br /><br />Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-84284292530110671542012-11-14T12:35:00.001-08:002012-11-14T12:36:59.939-08:00Hacking Entrepreneurship I had a great conversation with a friend over dinner a few nights ago about what it means to be an entrepreneur.
<br><br>
When one thinks of an entrepreneur, specifically in the tech industry, the common image is someone who works 25 hours a day - someone who sleeps, eats, and breathes their company. Someone who codes/plans/networks/blogs until the wee hours of the morning. Someone who never stops working.
<br><br>
This image is not only the accepted standard - it is self perpetuating. If you're not working 25 hours a day, you are not working hard enough, and your company is not going to succeed. The most successful entrepreneur is the one who works the hardest, who eats ramen for the longest, who sleeps the least, who sacrifices the most.
<br><br>
When you're thinking about starting a company, as I am, this is a daunting image. The accepted model for entrepreneurship says "beware all ye who enter here - you are about to sacrifice every part of your life if you choose this path". A certain about of risk and sacrifice are inevitable, of course, that's part of the draw, but everything? I have to sacrifice everything? Live off ramen and sleep two hours a night and forego all social life and life in my parents' basement if I have any hope of success? I'm not so sure.
<br><br>
So let's take a step back. What is an entrepreneur, actually? We might think of an entrepreneur as someone who starts a company, or someone who is able to support themselves by some means other than a traditional 9-5 job. According to Merriam Webster, and entrepreneur is <i>one who organizes, manages, and assumes the risks of a business or enterprise</i>. So what does that really mean?
<br><br>
Let's start from the last point: "one who assumes risks". The emphasis on hard work and sacrifice stem mostly from the risk the entrepreneur assumes. Success? You get the accolades. Failure? That's on you too. No matter what happens, you as the entrepreneur are ultimately responsible. The fear of failure is hugely motivating. Everyone wants to found the next Facebook/Twitter/etc, not the next...wait what was the name of that company?
<br><br>
Assuming all the risk for a company is terrifying. The idea of never getting another good night's sleep is nerve wracking. Having to sacrifice every other aspect of your life makes one start to reconsider.
<br><br>
As someone who is in the process of starting their own tech company, this image of entrepreneurship has given me pause. Am I really ready to give up everything in my life? Am I ready to be tethered to a computer 25/7? Is this really what I want? Maybe I should just go back to working a 9-5 job.
<br><br>
Two of the most important parts of entrepreneurship are innovation and creative problem solving. To start a company is to create a new way of doing something, or to create a new thing to do. If you can innovate a product, what not innovate what it means to be an entrepreneur?
<br><br>
In addition to assuming risk, and entrepreneur is "one who organizes" and "one who manages". If you are the one organizing a company, why not organize it in a way that makes sense for you? Want to be able to hire talent regardless of geographic location? Who says you can't? (<a href="http://37signals.com/svn" target="_blank">37 signals does it</a>) Love working from home? Build telecommuting into your culture. Prefer to be around people? Find a good office or <a href="http://weworklabs.com" target="_blank">coworking space</a>. You're the boss now - you get to make the rules.
<br><br>
Though the entrepreneur is the one who assumes all the risk of a company, that does not mean they have to be the one to do all the work. Part of building a company is building a competent team to surround you. Though your company is expected to be on call 25/7, you as an individual aren't. Your team is there to support you, to work with you, to take on their piece of the work. Hire people you trust, and trust them to do their jobs. Assume the roll of "one who manages".
<br><br>
As I move forward with <a href="http://coapp.co" target="_blank">my company</a>, I am realizing that I don't need to fall into the trap of what entrepreneurship is "supposed" to be. I can create my own definition of what it means to be an entrepreneur - one that fits me. That doesn't mean I won't be working hard, I know I will be, but as they say when you're doing what you love (in the way that fits you), it doesn't feel like work at all.
<br><br>
Stay tuned.
Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com1tag:blogger.com,1999:blog-2444455779651425572.post-45698642153286131772012-10-30T11:27:00.001-07:002014-05-06T09:23:56.319-07:00Ladies Helping Ladies: A Few Thoughts<i>I've been thinking about this post for a while, trying to figure out exactly what I want to write. Incidentally, I am writing this with a pen and paper (gasp!) in a hotel in Santa Rosa, Colombia - to be typed up (and spell checked) the next time I'm at my computer.</i>
<br />
<br />
I've spent the better part of this year traveling, and as a result have found myself (both accidentally and on purpose) in a few countries that have a decidedly different view on women. Some might say "marginalizing" or "sexist" or some other word that connotes "bad", but personally I hesitate to even use the word "different" because I'm not sure even that is entirely accurate.
<br />
<br />
At home, I go about my day without too much consideration for my gender, in fact I prefer to ignore it. I'm sure it dictates a certain amount of my habits, life experience, etc, but it's not something I choose to consider on a daily basis. Traveling in countries where my gender is constantly being brought to my attention forces a certain level of awareness and introspection that don't exist in my day to day life. My gender is similar to my age - sure it has something to do with who I am and how I live my life, but I'm not asked to consider on a daily basis how old I am.
<br />
<br />
My gender has yielded many things throughout my travels, from being required to wear more/different clothing from my male counterparts in blazingly hot places (yuck), to being allowed to pre-board a flight (yay!), to being told I'm strong while doing significantly less than the men around me (sure?). Through all of it, it was a brief moment in the New Delhi airport that has really stayed with me.
<br />
<br />
In New Delhi (and other places in that part of the world), security lines at the airport are gender segregated. Men go through the metal detectors in a process that is very similar to a western security checkpoint, while women are pulled, one by one, into a tiny, enclosed box with curtains covering the entrance and exit, and are subjected to a physical search. For someone who is neither used to nor interested in being gender segregated and/or physically searched, it's a bit unnerving.
<br />
<br />
Standing in the "women only" line waiting my turn to be searched, I found myself looking wistfully over at the men going through the "normal" security checkpoint. Why can't I just go through the metal detector? What is about to happen in that enclosed box? Maybe I can just pull the "I'm foreign" card and stand in the men's line? No such luck.
<br />
<br />
As my turn came and I stepped into the box to be searched, I was greeted by the security officer in charge of searching me. As unnerved and out of my element as I felt, she immediately put me at ease. Her warm smile and kind eyes told me I had nothing to be nervous about - that she was on my side. I was so struck by this woman in their foreign country and foreign culture, so eager to put me at ease, so eager to help. It's something I will never forget.
<br />
<br />
So, what's the take away?
<br />
<br />
In the technology industry, there are distinctly few women. Women can become marginalized simply due to the fact that there aren't a lot of us in the room. A technology event can be as foreign as an airport in India with customs and rituals equally as foreign.
<br />
<br />
So what about the woman who are in the room? What can we do?
<br />
<br />
Well, we can give each other the gift the security guard gave me: We can help each other out. We can smile at each other. We can offer reassurance. We can offer each other a helping hand. We can put each other at ease.
<br />
<br />
<b>EDIT:</b> Making the women who are in the room feel comfortable encourages more women to be in the room. For thoughts on why that's a good thing, I refer you to <a href="http://www.sarajchipps.com/2012/10/in-which-i-answer-all-of-the-questions.html" target="_blank">an excellent post by Sara Chipps</a> on the subject.
Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-54005445477691468462012-03-15T20:33:00.000-07:002012-03-15T20:33:36.913-07:00Best Cafes to Work From in NYCAhh, the startup life. When I first moved to New York, which, frighteningly, was almost a year ago now, I lacked both office space and an apartment suitable for working from home. Well, this is New York, so figuring this city has everything (if you know where you look) I set about hunting for the best coffee shops to make into my offices on the go. I did eventually get a permanent office (I work out of <a href="http://weworklabs.com/" target="_blank">WeWork Labs</a>), but not before spending a good few months trying as many coffee shops as possible.<br />
<br />
I've compiled a list of a few of my favorites. They meet the criteria of having decent coffee, good (free) wifi, reasonable food, and most importantly staff that don't mind if you camp out for a little while.<br />
<br />
<a href="http://www.groundedcoffee.com/" target="_blank">Grounded</a><br />
28 Jane St (West Village)<br />
Wifi: strong and consistent, and the staff is willing to reboot the router if it goes down<br />
Outlets: some<br />
Coffee: good<br />
Food: average<br />
Tip: can get crowded sometimes and though there is technically a time limit for the seats no one follows it<br />
<br />
<a href="http://thinkcoffeenyc.com" target="_blank">Think Coffee</a><br />
248 Mercer Street (Greenwich Village)<br />
Wifi: sometimes spotty<br />
Outlets: few<br />
Coffee: good<br />
Food: good<br />
Tip: this is an NYU study spot, so it's huge, open late, and the staff is used to people camping out there all day. note: there are multiple think coffee locations but this is the only one with wifi (to my knowledge).<br />
<br />
<a href="http://www.birchcoffee.com/" target="_blank">Birch Coffee</a><br />
5 East 27th Street (Flatiron)<br />
Wifi: requires a code which expires after an hour<br />
Outlets: many<br />
Coffee: good<br />
Food: good, but they stop serving it early-ish<br />
Tip: what makes this place great is the upstairs library. it's super cute, very quiet, and a great place to disappear to get work done without interruption<br />
<br />
<a href="http://www.soycafenyc.com/" target="_blank">Soy Cafe</a><br />
115 Greenwich Ave (West Village)<br />
Wifi: consistent, strong<br />
Outlets: many<br />
Coffee: good<br />
Food: delicious!<br />
Tip: this place is great to go if you're in the mood for a snack. it does get crowded in the later afternoons, so get there early.<br />
<br />
<a href="http://www.aroma.us/" target="_blank">Aroma Espresso Bar</a><br />
161 West 72nd Street (Upper West Side)<br />
Wifi: requires a code which expires after an hour<br />
Outlets: few<br />
Coffee: good<br />
Food: good<br />
Tip: Upstairs has comfy couches, but the real gem is the upstairs back patio (weather permitting).<br />
<br />
The final option, which I list only as a last resort, is Starbucks. There are many of them, they all have free wifi, they work in a pinch.<br />
<br />
What's your favorite?Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-78761565168765508642012-03-12T11:03:00.000-07:002012-03-12T11:03:23.764-07:00Boys Are Better ProgrammersAs a female programmer, I've gotten a lot of funny reactions over the years. They've ranged from "I've never met a programmer who looks like you before" to "wow, you're a girl, so you must be pretty bad at math - how do you do it?" to "um, so, how did YOU become a programmer?" (to which my response, to a fellow (male) programmer, is: "I dunno, how did YOU become a programmer?"). Of course there are those who play it cool at first, but after a few minutes of conversation there's the inevitable "yeah, I was trying not to say anything, but you're a GIRL CODER??" (A for effort).<br />
<br />
As much as I wish my gender didn't become the main talking point as soon as I state my profession (despite the amazing set of reactions it elicits), it isn't entirely unjustified. People talk a good game about gender equality and encouraging girls and women in math and sciences, etc, but despite all this there is a very distinct lack of women in the software engineering profession.<br />
<br />
But, why?<br />
<br />
I've had a lot of time to ruminate on this issue and I've considered every option I can think of (lack of role models, girls aren't treated equitably in the classroom, maybe boys are just genetically better at math and science).<br />
<br />
A few months ago I was at a networking event and, perhaps feeling a little punchier than usual, decided to speculate out loud about the third possibility - that women are just genetically disadvantaged when it comes to programming. "Men are just smarter and better at math, science, and engineering" was my hypothesis. The person I was talking to (who happened to be a male programmer) took my comment in stride and offered an alternative hypothesis (much to his credit) that has stayed with me.<br />
<br />
"It's not that men are smarter, it's just that due to ego/nature/whatever else, they are willing to suffer in silence for a long time while they're figuring out a problem. To many, it may appear that a certain field, skill, etc comes naturally to them, but behind that "inherent skill" are many long, hard hours of beating their heads against a wall. In short, men aren't better, they just suffer in silence so all you see are the fruits of their labor, not the labor itself."<br />
(this is not a direct quote, but this is what was said as nearly as I can remember it)<br />
<br />
Hmm, so you mean guys aren't just better? They log the countless hours of bug fixing, documentation reading, head/wall slamming, and wee-hour programming as well?<br />
<br />
Whew!<br />
<br />
And here I thought it was just me.<br />
<br />
<br />
<br />
"It’s not that I’m so smart, it’s just that I stay with problems longer."<br />
- Albert Einstein via <a href="http://howilearnedtocode.tumblr.com/post/15316548575/its-not-that-im-so-smart-its-just-that-i-stay">this post</a>Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com1tag:blogger.com,1999:blog-2444455779651425572.post-62858693933963625162011-11-03T16:34:00.000-07:002011-11-03T16:34:14.265-07:00Movies About Hollywood Are BoringLet's talk for a minute about Sofia Coppola's latest movie, "Somewhere". I'm not particularly a movie buff, actually I'm not a movie buff at all, but somehow this movie made it on to my radar around the time that it was in post-production. It piqued my interest enough that I actually started checking for it on iTunes, Netflix, Redbox, etc, periodically to see if it was out yet. Should be released in a few months tops, I figured.<br />
<br />
A few months passed: nothing. So broadened my search, still nothing. Random news article here and there revealed that it had appeared in a few film festivals, and had been released on DVD in a few foreign countries, but no mention of when it might be available in the US for me to watch.<br />
<br />
At this point it's worth noting that this is probably the most effort I've put into finding a movie, well, maybe ever. Though I do love watching movies, I am pretty easy to please and generally don't mind watching whatever smut is readily available. What can I say? I'm a fan of convenience. For some reason, I decided this one was worth the effort.<br />
<br />
After over a year of searching, I FINALLY found it in the most unexpected place: A pirated movie stand in a small town in Mexico. How these Mexicans had come upon this DVD that I'd been so unable to find was a mystery, but finally, "Somewhere" was MINE! (sorry production studio, actors, etc, I would have bought a non-pirated copy had I been able to locate one!)<br />
<br />
AT LAST! I rushed home and popped it in - this was the movie I'd been waiting so long for!<br />
<br />
...<br />
<br />
Now I know Sofia Coppola movies are slow, that's kind of their charm, so I sat watching with rapt attention waiting for all the pieces to slowly come together and make this moving into the amazing masterpiece that I knew it to be.<br />
<br />
But they never did. The movie ended and still nothing. It was a slow movie with a slow beginning, middle, and end. Not only was it slow, more importantly, it was BORING.<br />
<br />
Now every movie (or piece of art, or product, etc) has a target audience. Based on how boring I found "Somewhere" to be, it's safe for this movie I'm not it - which is fine. I'm also not the target audience for horrible slasher films, though I can respect the fact that they fill a significant market need. What troubles me about "Somewhere" is not so much that I am not their target audience, but who, I imagine, their target audience is.<br />
<br />
For those of you who haven't seen "Somewhere", the movie is about the inner struggles and emotional journey of what I imagine to be a "typical" successful hollywood actor. For successful actors, people who know them, and even people in the entertainment industry in general, I imagine this story line resinates and proves to be a somewhat compelling narrative. Unfortunately, I am none of these things, which is why the movie missed it's mark with me.<br />
<br />
SO WHAT?<br />
<br />
A movie was made that I didn't like. It's not like this is the first (or last) time this has happened. Why take the time to single out this particular movie?<br />
<br />
Because "Somewhere" is the movie equivalent of a bad startup. It is guilty of a crime that the startup world has been accused of a lot lately: Failing to make a product/company that is relevant outside the technology industry.<br />
<br />
Startups in certain tech-heavy areas (notably Silicon Valley/San Francisco, New York, Seattle, etc) can easily fall into what I'll call the "somewhere" trap - they create a product or have a service that is not terribly relevant to the rest of the world. (I'm sure you've heard the elevator pitch: "We are the [blank] of [blank] with, of course, a totally revolutionary way to combine the successes of [blank] and [blank] to create a superior super-startup that solves a very pressing and highly relevant business need that we are personally incredibly passionate about." If this doesn't sound familiar to you, see <a href="http://itsthisforthat.com" target="_blank">http://itsthisforthat.com</a>.) <br />
<br />
Given the way a startup often comes to life (the founder sits down and thinks of previously unsolved or inadequately solved problems in his or her life that they would like to have solved and starts a company to this end), this isn't terribly surprising. If you are immersed in technology, you will tend to have and be passionate about solving problems related to technology.<br />
<br />
The funny thing is, this isn't, historically, a bad thing. Microsoft began by developing a version of BASIC for one of the first personal computers. Google's claim to fame is creating the best technology to find technology (er, the best algorithm to location content on the internet). Intel makes (arguably) the best microprocessors, IBM made the best computers. These companies did ok, so what gives?<br />
<br />
As the world of technology and "the real world" converge more and more (a trend I don't expect is going away any time soon), technology entrepreneurs are going to be forced to step outside their bubble and start to solve "real world" problems. We no longer have the luxury of developing technology for technology's sake if we expect to stay highly relevant (or be more than a flash in the pan) - we have to branch out.<br />
<br />
There are movies made about just about anything you can think of. From romantic comedies to documentaries about the science of sleep, a movie is a vehicle for a story to be told. As technology becomes an integral part of almost everything that we do, we have the historically-unique opportunity to start a technology company in almost any industry, which really, when you think about it, is pretty amazing.<br />
<br />
So when starting your company, bring your most valuable asset to the table: YOU. What are your interests, your passions? If someone handed you $1 million tomorrow, what would you spend your time doing? The barriers to entry in many industries have been dramatically reduced by the influx of technology, and there's no time like the present to do something you're truly passionate about. Who says your greatest passion can't be your most lucrative business endeavor? There's certainly no time like the present to find out.<br />
<br />
Let "Somewhere" be a lesson to us: Movies about Hollywood are boring. Similarly, startups about startups are boring.<br />
<br />
And no one wants to be boring.Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com1tag:blogger.com,1999:blog-2444455779651425572.post-58876028985717657152011-08-21T14:03:00.000-07:002011-08-21T14:03:06.039-07:00Hacking Your Startup: Best Practices for Software Engineers and EntrepreneursI've been asked to write a post for <a href="http://www.women2.org/">Women 2.0</a> about some software development best practices that translate well into the business (startup) world. I'll admit, I've been having a bit of writers block, and as such I thought I'd flesh out some of my ideas here in hopes that it will help me pull this article together.<br />
<br />
What makes this subject particularly interesting to write about is the animosity that software engineers and "business people" seem to have for each other. "They just don't get it" is heard loudly and often from both sides of the table. Why is that? Really, at the end of the day, software engineers and entrepreneurs aren't so different - for both the goal is to take an idea, concept, mock, sketch, etc and bring it to life. Taking something from concept to reality is a challenge, to say the least, and requires a unique mix of art, science, faith, and luck.<br />
<br />
Each business or software project is different, and there are of course a million ways to get from point A to point B. That said, there are a few universal best practices that I've come to live by to make this A to B movement a little smoother.<br />
<br />
Stay tuned...<br />
<br />
Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-27257966220194704022011-03-20T23:31:00.000-07:002011-03-24T15:54:03.102-07:00CakePHP and Themed AssetsJust a quick note that might save some of you a lot of time, if you're working with CakePHP and trying to set up themes with theme-specific css, the CakePHP documentation will tell you to place your assets under /app/webroot/themed/example/css/ (as documented <a href="http://book.cakephp.org/view/488/Themes">here</a>). This makes sense, given that themed views would be under /app/webroot/themed/example/. <br />
<br />
After some <s>quick</s> perusal of the cake source code, I discovered that assets should in fact be placed under /app/webroot/theme/example/css/ (theme, not themed, no 'd' - take it away).<br />
<br />
Not the first time a single character has broken more than it's fair share of code (this coder girl may or may not have taken down an entire site by failing to declare a '.' as a literal character and not a wildcard in a regular expression), but it's the last time THAT particular character will break your themed assets.Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com2tag:blogger.com,1999:blog-2444455779651425572.post-26005141219469844052011-01-25T15:04:00.000-08:002011-02-12T20:19:48.057-08:00Desktop Geolocation with HTML5These days it seems like everyone is excited about Geolocation. With the influx of location-aware technology comes the need for, well, location awareness. An increasing number of internet-ready devices come equipped with GPS (smartphones, etc), but what about location awareness in a desktop browser? While some applications for location awareness are more conducive to mobile devices (I don't need to see an augmented reality of my living room wall), sometimes it would be useful for a desktop browser to detect that I am in my living room (and more importantly where my living room is located).<br />
<br />
Enter HTML5 geolocation.<br />
<br />
<h2>How it works</h2><br />
<h2>navigator.geolocation.getCurrentPosition(successCallback, errorCallback);</h2>This function prompts the user for their current location. If they grant permission and the location is successfully obtained, the successCallback function is executed. If they do not grant permission or the location is not successfully obtained, the errorCallback function is executed.<br />
<br />
<h2>successCallback(position)</h2>If a user grants permission for us to have their current location, and the location is successfully obtained, the successCallback function is executed and a position variable is passed. The position object is as follows:<br />
<br />
interface Position {<br />
readonly attribute Coordinates coords;<br />
readonly attribute DOMTimeStamp timestamp;<br />
};<br />
<br />
interface Coordinates {<br />
readonly attribute double latitude;<br />
readonly attribute double longitude;<br />
readonly attribute double? altitude;<br />
readonly attribute double accuracy;<br />
readonly attribute double? altitudeAccuracy;<br />
readonly attribute double? heading;<br />
readonly attribute double? speed;<br />
};<br />
<br />
<h2>errorCallback(error)</h2>If a user does not grant permission for us to have their current location, or there is an error in obtaining the user's location, the errorCallback function is executed and an error variable is passed. The error object is as follows:<br />
<br />
interface PositionError {<br />
const unsigned short PERMISSION_DENIED = 1;<br />
const unsigned short POSITION_UNAVAILABLE = 2;<br />
const unsigned short TIMEOUT = 3;<br />
readonly attribute unsigned short code;<br />
readonly attribute DOMString message;<br />
};<br />
<br />
<h2>Pulling it all together</h2><br />
function successCallback(position) {<br />
// get the coordinates from the position object<br />
var lat = position.coords.latitude;<br />
var lng = position.coords.longitude;<br />
<br />
// do something fun with the coordinates!<br />
// at this point you have the user's latitude<br />
// and longitude. you can use them to show<br />
// the user's position on a map using the google<br />
// maps api, or any number of other fun things. <br />
}<br />
<br />
function errorCallback(error) {<br />
switch(error.code) {<br />
case error.PERMISSION_DENIED:<br />
alert("You have chosen not to share your location");<br />
break;<br />
case error.POSITION_UNAVAILABLE:<br />
alert("This service is unavailable for your location");<br />
break;<br />
case error.TIMEOUT:<br />
alert("The request has timed out");<br />
break;<br />
}<br />
}<br />
}<br />
<br />
function getCurrentLocation() {<br />
// if the geolocation object is available<br />
if (navigator.geolocation) {<br />
// request location<br />
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);<br />
} else {<br />
// geolocation object is not available<br />
error('not available');<br />
}<br />
}<br />
<br />
And voila! Geolocation. The fun part, of course, is what you do with the coordinates once you have them, but I'll leave that up to you (for now).Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com0tag:blogger.com,1999:blog-2444455779651425572.post-66793160270243303632011-01-13T17:27:00.001-08:002012-12-03T06:19:42.649-08:00Textmate for iPadAhh, the iPad. So fun, so beautiful, and yet so seemingly useless when it comes to doing actual work (aka development). I've spent the last view days sorting through blog posts and reading app reviews in an attempt to discover if there are enough iPad apps available to make development on the go feasible (Textmate for iPad anyone?).<br />
<br />
I tested out quite a few editors, ftp clients, and mysql clients in an attempt to simulate my desktop environment. To be a little more explicit I was looking for an app that would interface with an SVN repository (basic update and commit functionality would be enough for my needs, I wasn't looking to get fancy with diff or even revert, though of course they would be nice), and allow for editing of files locally on my iPad (preferably with syntax highlighting, though this also wasn't critical). I was also looking for some sort of terminal or ssh app to then be able to connect to a remote server and push any of my changes into production. Huge bonus points, of course, if this all could take place within one application. After searching high and low and sampling quite a few apps, I discovered I can check out repositories and view, edit, and commit files, but not all within the same app. Unfortunately, that means that as of yet there isn't an app that meets my needs - but here's a list of everything I sampled, what's great about it, and why it doesn't quite replace my desktop (yet).<br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">PlainText</h2><a href="http://itunes.apple.com/us/app/plaintext-dropbox-text-editing/id391254385?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/053/Purple/60/77/6c/mzi.bouyeccs.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A basic text editor (add/edit/remove files and folders).<br />
<strong>Interfaces with:</strong><br />
iTunes, Dropbox<br />
<strong>What's great about it:</strong><br />
Very simple and easy to use.<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
No svn/ssh support. I could move all my files into Dropbox or onto my iPad via iTunes, but getting them back into the repository or onto the server would be a nightmare.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">iRepoEditor</h2><a href="http://itunes.apple.com/us/app/irepoeditor/id404799255?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/003/Purple/3a/a7/d4/mzi.lbvaqwen.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A basic file viewer<br />
<strong>Interfaces with:</strong><br />
Subversion, Dropbox<br />
<strong>What's great about it:</strong><br />
Has SVN capabilities including checkout, commit, add, and revert.<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
No in-app file editing. Once you've checked out your repository you can only view the files within the app - to edit them you have to open the files in an external editor such as PlainText. If there was a way to save the files in PlainText and reopen them in iRepoEditor, I would have a solution (albeit a cumbersome one), but as of yet this app doesn't have the functionality I'm looking for. Also, it's a little buggy.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">Source Code</h2><a href="http://itunes.apple.com/us/app/source-code/id384046187?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/035/Purple/2e/fa/90/mzi.zobpqwka.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A basic file viewer<br />
<strong>Interfaces with:</strong><br />
Git, Hg, SVN, Zip, Raw, Darcs<br />
<strong>What's great about it:</strong><br />
Ability to change the background and text color in the viewer. Supports seemingly infinite file types (for text viewing). <br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
Subversion does not allow for authentication, meaning there is no checkout/commit capability. Also, no in-app file editing.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">HTML Edit</h2><a href="http://itunes.apple.com/us/app/html-edit/id364372032?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/054/Purple/55/8c/92/mzi.opkjanby.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
An html editor.<br />
<strong>Interfaces with:</strong><br />
FTP<br />
<strong>What's great about it:</strong><br />
Syntax highlighting (though only for .html files). Local and remote preview of files. Ability to upload and download files via FTP.<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
No SVN, though I could find a workaround with FTP...if it was SFTP...but sadly it isn't.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">Code Viewer 2</h2><a href="http://itunes.apple.com/us/app/code-viewer-2/id369008033?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/056/Purple/4a/27/9e/mzi.gmhrnlqj.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A file viewer.<br />
<strong>Interfaces with:</strong><br />
Subversion<br />
<strong>What's great about it:</strong><br />
Ability to search and email files. Recently viewed files are readily displayed. Syntax highlighting for .php files.<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
Again, no in-app editing. Also no svn commit option, only checkout, so I suppose file editing would be pointless anyway.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">Gusto</h2><a href="http://itunes.apple.com/us/app/gusto/id364906873?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/043/Purple/0f/18/d4/mzi.liflbudb.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A project management tool for website.<br />
<strong>Interfaces with:</strong><br />
FTP<br />
<strong>What's great about it:</strong><br />
Really nice (and pretty) interface. Tabbed file viewing. Ability to upload and download files individually or as a group. Ability to preview files locally and remotely.<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
This app is probably the closest, but the lack of SVN and/or SFTP again makes it a no-go.<br />
</div><br />
<br />
<div><h2 style="margin:0px; margin-bottom:5px; padding:0px; text-transform:none; font-size:14px;">iSSH - SSH / VNC Console</h2><a href="http://itunes.apple.com/us/app/issh-ssh-vnc-console/id287765826?mt=8" style="float:left; padding:0px 5px 0px 0px; margin:0px; display:inline-block;"><img src="http://a1.phobos.apple.com/us/r1000/020/Purple/13/93/ca/mzi.ticshzjx.175x175-75.jpg" width="100px" /></a><strong>Description:</strong><br />
A terminal emulator / ssh client<br />
<strong>Interfaces via:</strong><br />
SSH/Telnet<br />
<strong>What's great about it:</strong><br />
It works!<br />
<br />
<strong>Why it doesn't replace my desktop:</strong><br />
This app actually does pretty much emulate it's desktop counterparts, with the one downside being that the ssh connection times out after about 10 minutes if the app isn't in the foreground. If I wanted to do all my editing directly on the server with Emacs or Vi, this app would be a viable solution. Since that doesn't sound particularly appealing (nor is it remotely in the ballpark of best practices), I still need a code editing app as a companion.<br />
</div><br />
So, is development on the go feasible on iPad? Not yet. But I imagine that won't be true for too much longer.Anonymoushttp://www.blogger.com/profile/03596476411279940439noreply@blogger.com3