Human Computer Interaction by Scott Klemmer

Over the past few months I have been engaged in binge MOOCing.  It started out because I found a really worthwhile course covering web application architecture for Ruby on Rails via Coursera, but I quickly realized that many of the courses were at least as interesting as the shows and movies available via streaming sites.  I will skip the process in the middle for the sake of this post, but I would like to point you to another great MOOC via Coursera.  The course, Human Computer Interaction by Scott Klemmer, covers topics including from the design process and prototyping and is really easy to follow.  It neatly fits into both my binge MOOC routine and the learn to code self study curriculum that I have been assembling as I reboot my personal professional focus.

If you are someone who is interested in starting a startup, working on a startup, writing code, or aspiring to learn to code then this is a course that you should definitely check out.  The course has already started, but it is not too late to watch the lectures.

I would also like to point out that this course is also a great pre-startup course for anyone who wants to design or build a minimum viable product (MVP) for their startup (hint: you should watch this course or take a similar one BEFORE you try to find or hire a programmer or designer to build your startup idea or app.  Scot does a great job of teaching you how to improve and accelerate your learning while minimizing the amount of time or cost associated with getting a your product right.  This is really important for first time founders and repeat founders as well.

Check it out here:
Human Computer Interaction by Scott Klemmer, Associate Professor, Computer Science, UC San Diego.

For other great courses that I have reviewed or added to my learn to code section, go HERE (or check the links at the top of this page).

Add Comment Register

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

How Can I Get Paid To Work From Home As A Developer, Designer or Other Role?

Someone asked me how to find a remote (telecommute) job that pays well earlier today.  Here is my answer to them. It felt like a question that a lot of people have so I decided to write an article about it.  If you want to work from home, the chances are less as a functional business person than if you are a developer or designer.  Your odds will much better if you are either a web developer who can do some design or a full stack web developer who can work with JavaScript (jQuery, probably AngularJS and Node.js (these last two are optional, but are in high demand right now) and either Ruby on Rails, Python & Django or PHP and one of the popular frameworks like Laravel, Symphony or Zend.  If you are looking to move yourself in one of these directions check out my learn to code section.  You would also need to develop a portfolio of work experience as a developer that you could showcase via a portfolio website that showcases your design and development skill set and via Github (some people also use Bitbucket, but Github is the more popular option) which showcases selections of your code in a publicly accessible way.

In all three possible scenarios (business functional role, Designer, Developer) you are going to have to hustle a lot more than you do during your current day job to make sure you have project work.  Part of this is because you are your own agent and sales rep.  You will also want to network like crazy, and not stop until you have so much coming your way that you don’t need to or until you have found several people who can refer business to you that they can’t work on or a larger company that will hire you full time.  Attending related conferences (e.g. web design, web development, development (e.g. programming full stack web applications) will also help.

You should also get yourself set up with an LLC or S Corp and a standard service contract so that when you do work there is no risk to the client that you are their w2 employee.  1099 is often used instead of w2, but most stats and the federal government are not fooled. You and your client can get a painful and inconvenient reclassification long after the work has been done so it isn’t worth it.  An incorporation itself usually runs around $150-300/yr (sometimes every other year).  You should hire a lawyer to help you with this if it is your first time.  Be sure to check back with at least once a year to make sure your contract does not need any major changes due to changes in local, state or federal law.  Don’t assume your plain text reading arm chair analyst self can divine what the contract terms that you find on a site like doc stock will be sufficient.  You will also need to file taxes every year which you should be able to do with the help of an upgraded version of Turbotax.  A CPA could be hired for the early stages, but that is overkill – just use turbotax.  You should also check to make sure if your county or state has a personal property tax requirement for your business (some states do, some don’t).  This may require that you file an additional return that is not covered by Turbotax.  The tax is usually minor.

Not everyone likes working from home.  Ask people what it is like and how they cope or if they need to.  A lot of people end up getting a co-working space membership to help make things more social.

Your best bet is to start doing this on the side long before you quit your day job to do it.  It is harder and more complicated than you think it will be, but it has its rewards and can give you more flexibility.  An even better option would be to find a company that is 100% remote or 100% distributed.  One example of a company like this is Intridea.  They are that kind of company and they have people all over the world working for them.  What you don’t want to do is to try to convince a company that is not that way from the start to let you be 100% telecommute.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

How To Delete All Photos From An iPhone Using iOS (Mac & PC)

I grew in an Atari family that eventually switched to PC’s with DOS and then Windows for  so I wasn’t wowed by the Macintosh when it arrived.  I personally hated the Apple II because I was stuck with it in school long after it was out of date.  I also hated the Oregon Trail game that I was forced to “play” when teachers wanted to sit around and grade papers or snooze instead of teaching.  The iPhone was a different story.  It was light years better than the smart phones and devices that came before it.  The Apple store I could do without though.  Apple stores strike me as too paternalistic.  Then there was the time that the manager at an Apple store refused to help me upgrade my iPhone battery or get my iPhone screen replaced, but was more than happy to sell me a new $200 replacement phone.  Then I got back into programming after a long break and it was clear that using a Mac with its Linux based OS instead of a PC was not much of a question…the Mac was just the right tool for the job.  Fast forward a few OS X’s and a lot of iOS upgrades to the present and I am finding myself a bit frustrated by Apple’s OS X + iOS straight jacket on my data.  I bought a new storage device to help me to keep up with a growing photo and video collection a few days ago.  I decided to clear off all the photos and videos from my iPhone and my wife’s iPhone.  This post is about how to delete all photos from an iPhone using iOS (Mac & PC).  The reason it is worth of a post and a bit of a rant about Apple will follow.

Windows machines and OS X machines have an explorer program.  It is not iTunes or Windows Media something or other.  In Windows I can view my iPhone in the Windows Explorer app.  On Mac OS X I can’t.  Instead, I must open Image Capture.  The problem is that Image Capture does not allow me to delete files AND that it requires that I open two different file explorer apps just to copy some files.  I can’t cut and past files, nor can I delete files, in either app.  With Microsoft’s Windows Explorer I can do all of that in one app.

To delete photo and video files I have to use my iPhone’s Photos app on iOS.  It gets worse.  You can’t select all…instead you are forced to select “moments” which are groups of anywhere from a few dozen to two or three photos grouped somewhat randomly by date.  If you have a 35 gig iPhone like I do then this could take an hour or possibly more.  If you have a larger phone it is much worse.

I spent a solid chunk of time seeking out a workaround or solution for how to do this via my Mac instead of my iPhone, but there simply isn’t an answer.  So while I was backing things up on my Windows laptop I plugged in my iPhone to charge it and that is where I remembered that I could delete files on my iPhone in bulk using Windows Explorer.  Problem solved.

I don’t get why Apple feels that it needs to be so paternalistic about people’s data.  There is no good reason to make it so hard for people to clean out their iPhone to make room for new video and photos.  I guess this helps make the case for upgrading to an iPhone with more gigs of memory, but that isn’t a good reason to me.  If you use your iPhone to take a ton of photos or use it with your camera that has 10+ megapixels this space will dry up really fast.

iCloud essentially adds even more insult to injury. You can’t turn it off.  There is a constant popup asking me to enter my password for iCloud even though I don’t use it and don’t plan to anytime soon.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

It’s Not Bad, Yet. It Will Be: Thoughts on Testing Startup Apps

The title, ‘It’s Not Bad, Yet. It Will Be: Thoughts on Testing Startup Apps’ is one that was added after the fact.  This originally appeared as an answer on a popular Q&A site (see foot note).  

Context: A founder asked the following question: ‘Is it bad that I don’t have a single test written for my Startup Web App written in Rails? It’s an online analytic app.  I’m not used to writing Tests, but with my Dev team we understand the features that we implement and make sure things are in place before we go into production.

This is not my first time.  I have been launching and developing for the last 5 years.  But, I just wonder what are some pitfalls of that practice.’

It’s not bad. Clearly you’ve not had an “a-ha” moment with testing yet though. When that time comes, you’ll lament on how terrible it was when you didn’t have unit and functional tests. You’ll likely push a feature to production only to realize 3 days later that the newly released code breaks some obscure part of your system. Upon fixing that, you accidentally push more bugs to production.

Then you hire new engineers. They’re CONSTANTLY submitting pull requests  laden with bugs. So you put more stringent code review requirements on them. You don’t trust their code and you end up wasting more and more time fixing the issues they create.

Your new hires eventually learn their way around, and if you were smart while hiring, they even know their way better than you do now. As a matter of fact, one asshole of a developer has now written ~33% of your codebase and he’s decided to leave your dumb startup to work for BetterSalary Co. He followed your lead: no testing whatsoever.

Now you’ve got to implement a new reporting feature that extends functionality written by your old, and more handsomely-paid, subordinate.

“Oh GOD,” you cringe as you open his code. You plead with the coding gods to help your plight, but alas, they do not help you. Coding gods do not exist.

As you trudge and hack your way to completion, you realize that you literally have no idea what’s happening, why your code works, or even how long it will work. “Let’s try this out in staging…” you wisely muse. Nothing works. You ponder the issue and A-HA! “TIMEZONES!” You exclaim. How could you forget to take into account timezones?

You push a fix. Ok, that got you a little further, but it’s still breaking on some of the code that your colleague wrote.

Next week, you’ve got slightly less hair, your co-founders are feeling slightly less confident in your ability and you finally feel vindicated – you just pushed that stupid reporting feature.

In group chat, your sales team is going nuts. “WE CAN’T GET INTO OUR WIZWOG THINGY AND ALL OF OUR OPERATIONS HAVE STOPPED.”

Good thing you at least take snapshots. Le rollback.

If only you had setup tests. You might not have pushed all those bugs to prod and your new hires would have some guard rails while they learn the ropes. Furthermore, given sufficient time, complexity will prevent you from groking all parts of your system. You need to test so you stay productive as time goes on.

So, it’s not bad, yet. It will be.

This article is adapted from an answer to a question titled ‘Is it bad that I don’t have a single test written for my Startup Web App written in Rails? It’s an online analytic app.‘ by John Fawcet.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Startup Burn Rates: A Game of High Stakes Poker

Yesterday, over on Quibb, I commented on an article about the alarm sounded by Bill Gurley in a recent Wall Street Journal article, then echoed by Fred Wilson and Marc Andreessen. They warn how the increase in startup burn rates could lead to spectacular flameouts. I’ve decided to join the conversation and share my view on what I speculate is happening.

As a pure spectator, entrepreneur and investor, I’ve witnessed changes in early stage venture capital and the startup liquidity cycle. These changes have been widely reported by Mark Suster from Upfront Ventures and other notable VCs. To summarize, investing has changed because startups have changed.

Here is how:

1 — What once took $3 million and 20 engineers to build, now cost $30k and only requires two good engineers to build. With 100x cost reduction comes 100x more startups. Most startups don’t fail because they weren’t successful at building a product, they fail because they aren’t successful at gaining traction and growing users and revenues.

2 — When companies are successful at #1, money becomes a commodity. When you can show that customers in a large or rapidly growing market are adopting your product, and your customer lifetime value (CLV) exceeds what it costs you to acquire that customer, you can almost always raise capital to fund growth.

3 — For startups, the market values growth, not profitability. As a result, startups that are successful at #2 choose to grow at unreasonable rate, as opposed to growing at a reasonable rate that keeps them borderline profitable. Since the market values growth, startups are in an arms race to gain marketshare. Consequently, they’re driven to raise money on a near continual basis to invest in customer acquisition to “own their market.”

The cycle goes like this: raise a round; invest in growth; show growth data to VCs; then let them compete to fund your next round – which leads to a much higher valuation. Rinse and repeat! When you’re successful, your startup is on its way to the unicorn club.

With the above mentioned changes in entrepreneurship, venture investing has changed accordingly:

1 — Early stage VCs that make initial investments in companies at Series A or Series B typically reserve 50% of their investment funds for follow on rounds. Historically this has been enough to maintain a decent pro-rata percentage ownership to limit dilution as portfolio companies raise later-stage rounds to accelerate growth. Many venture funds are now finding that their reserves aren’t nearly enough to maintain pro-rata in the wake of multi hundred million dollar late stage rounds. Some early stage VCs have raised additional funds reserved specifically this purpose.

2 — Due to the changes in startup growth described above; a significantly larger growth opportunity due to a growing market of mobile consumers with credit cards on file; and the propensity for startups to remain private longer, the funding landscape has changed accordingly. Many large institutional investors that historically invested only in public equities have now started investing, pre-IPO, in unicorns. Uber’s recent $1.2 billion raise at a $17 billion pre-money is the premier example of this — but not the only example.

3 — If I were an early stage VC trying to maintain pro-rata as my portfolio companies doubled down on fundraising due to the arms race for growth fueled by a new crop of eager late stage investors, I’d be very uncomfortable as well. Growth for most companies typically requires more headcount. In addition to payroll growth, increased headcount almost always requires more office space — leading to significant long-term lease commitments and other fixed expenses. When and if this new crop of late stage investors retreat back to public equities, the late stage funding bubble will pop. Massive layoffs and in some cases insolvency will ensue, resulting in spectacular flameouts.

For early stage investors like Bill Gurley, Fred Wilson and Marc Andreessen who have lived through the dot-com down cycles of the past, follow-on investing to maintain pro-rata in the current environment must feel like a game of high stakes poker.

Note: This article originally appeared on Clarence’s blog here.  Clarence is a SocialMatchbox alumni based in Palo Alto, CA.  Before he moved to the bay area he lived in Maryland.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

No Cell Service At The Office or At Home? Fix For Crappy AT&T Cell Service.

After a ton of trial and error, I have a half-way decent solution to my nightmare scenario.  Are you getting no cell service at the office and at home?  Here is my fix for crappy AT&T cellular service.

This started with an incubator that I moved my startup into a few years ago.  There was a 1-3 bar level of signal for my iPhone 4, and then on the 5 via AT&T.  I tried everything except getting a booster antenna.  It was on a major college campus so I was wondering if AT&T had some major coverage issues.  I also wondered if it was the building’s science and tech engineering that made it impervious to signals.

The problem was so bad I managed to convince AT&T to let me out of my contract.  Tip: If you are in a building most of the day for your job or home and you can’t get coverage then you can get out of your contract.  It will take some back and forth over a few weeks or months, but you can make it happen.

The cure was Verizon, or so I thought.  Verizon infuriates me every time I interact with them.  AT&T did too when they lied to me about an upgrade to my service level that cost me unlimited data for two iPhones, but not in the way that Verizon does.  For example: a few years back I moved and needed to change my Internet service address.  Verizon tried to double my cost with no improvement. The new location was across the street from a Verizon building which added insult to injury as far as I am concerned.  After significant frustration I decided to cancel and they switched me over to someone who offered to give me a net decrease in the cost of my Internet service through Verizon.  I said no thanks.  I do not wish to do business with companies that cause me unnecessary frustration as a customer.  Anyway, I switched over to Verizon.  Let’s just say that I was not happy with the call waiting user experience on the Verizon iPhone vs. the AT&T phone (e.g. you can’t switch over and hang up on the call you are on with Verizon, so you end up on two simultaneous calls with the same person you were leaving a voicemail with or whatever else.) so I got out of my Verizon contract and switched back to AT&T (that was surprisingly easy).

You are probably thinking that I had to be crazy to go for a phone that doesn’t work, but I just decided to use Skype’s dedicated phone number option and opted to go through 4 headsets until I got to one that I liked.  That worked really well for me because I had a static IP address and a really fast Internet connection thanks to the incubator being on a campus that also happened to be a major Internet hub location.  I could forward my calls to Skype.

Fast forward to our moving the startup out of the incubator into an office in a major downtown area a few years.  I ended up with a bunch of new problems (e.g. four out of five calls attempted fail and nearly every call faded in and out).  AT&T told me a bunch of lies (yes, literally) about what the problem could have been, but wasn’t.  After an upgrade to a new iPhone model I figured this out after I got a really open and communicative guy form their tech support team who was really savvy about tech (most of the folks I spoke with were level 1 help desk people reading scripts – nice people, but not capable of really helping).  It turned out that of 4-5 towers, one was up to date and it was blocked by a building.  It was also having some difficulties.  The block caused the phones in our office to alternate between the older out of date towers and the new one which caused us to get from 0-3 bars.  The average number of bars was 1-2.  One bar is not enough to make or sustain a call and the variance was frequent enough that we could not use our phones.

I started using Google Hangouts to make calls, but eventually got a 3G Micro Cell tower.  AT&T sent me two before I got the one that worked, but it does work.  It gets me 5 bars now even though I have to turn off LTE while I am using the tower.  If you are not getting cellular service in your home or office then this could help you.

One tip that should help you avoid the time suck that I had to go through once I got the 3G Micro Cell tower is to do a web search for troubleshooting the 3G Micro Cell tower for your specific router.  The AT&T tech support people do not have any idea what to do with your router even though the company has at least one article on how to solve this issue for D-Link routers on their website.  I found it and solved my own problem after 2 hours on the phone with them telling me to power-cycle my router, modem and 3G Micro Cell tower over two days. So you can skip calling 800-331-0500 or 611 once you get them to send you a 3G Micro Cell tower.  Just make sure they send you one for free like they did for me.  You should NOT have to pay for duct tape on their crappy infrastructure in your home or office zip code.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Trap Catch Of The Week


Last week I signed up for and attend an event called DC Tech Day.  This event was hosted by a group from New York.  It was a good event, but today I learned that they sold or shared my email address with at least one 3rd party (General Assembly) without my permission.  There is no excuse for this.

Here is how I caught them in case you want to do the same. I use a web host that allows catch all email addresses. I used “”.  When I register for an event, I use the domain of the event or event host.  In this case it was dctechday.  When I get an email from General Assembly via dctechday@, it was clear that I had not signed up via generalassembly@ (I know because I am signed up for General Assembly via that separate address).

The DC Tech Day event organizers (their LinkedIn profiles) (and here, and here) should know better than to do this.  If you attended their event you should let them know that you do not wish for your email address to be sold or shared without your permission.  For the record, they are a third party development outsourcing shop from out of region hosting a “local” event as if they were local.  Shame on both General Assembly for acquiring email addresses to spam this way and for engaging in spamming emails that are clearly not opt-in.

I personally hate spam and take it very seriously.  If you spam me I will take the time to report the violation to your email host (in this case it is SendGrid), my ISP, and to spam lists.  I get more emails than I can possibly ever read and I do not need your help filling my inbox with whatever it is that you should have found a way to get in front of me through creative and ethical channels.  If you are new to the job or an amateur when it comes to sending emails that is no excuse.

If that is you, you should take the time to go out and figure out what you should be doing before you continue to do your job.  Mailchimp has a great article titled ‘Common Rookie Mistakes‘ that is a good place to start.  Ophelie LeChat also wrote a great post titled ‘How to Sell Your Email List Without Spamming Them‘ that would be good reading as well.  Serena Acker’s article on the Hubspot blog also provides some good background: ‘Your Email Marketing Tactics Might Be Illegal. Here’s How to Fix Them‘.

Still not convinced that this is a bad idea? How do you know if you are compliant with US, UK, European, state or other national spam laws? If you are going into the business of selling email addresses then you might want to think twice.  According to a discussion on Slashdot, the selling of email addresses could send you to jail.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>