HNHacker News
TopNewBestAskShowJobs

trapexit

402 karma · joined November 22, 2010

Dad of two, hacker, micro-entrepreneur, sales & business systems consultant based in Scotland.

Always happy to offer advice but due to current workload may be unable to respond for 1 or 2 weeks.

submissionscomments
trapexit··on Ask HN: Presell Rails development to pay for Rails devolopment course?
Oh, yeah, I misunderstood. I thought he was taking a course on how to build web apps in Rails so he could create his own product, not work for other people.

Pre-selling a contract software development service when you haven't yet learned how to do it is going to be a lot more of a challenge.

Much easier (and much more lucrative) to pre-sell a product and then pay someone else to build it.

trapexit··on Ask HN: Presell Rails development to pay for Rails devolopment course?
Yes. Definitely pre-sell. Not only does this fund your development efforts, it is the ultimate validation that you have actually come up with a product that people want to buy. There's a big difference between people saying they would buy something--and actually pulling out a credit card.

Offer your "charter members" 10% or 20% off for life in exchange for a 3 or 6 month prepay. Reverse the risk by guaranteeing their money back if they don't love it.

If you can't get clients to pre-pay, then your offer is not compelling enough.

trapexit··on Ask HN: Freelancers - What do you do when a client doesn't pay?
Welcome to contract work!

Customers paying late is a fact of life, and from time to time you'll need to be persistent and/or agressive about collections.

Get in touch with your contact at the client company and let them know you haven't been paid for your work yet. Ask for a contact in their Accounts Payable department. Follow up with that person and make sure that your invoice got entered into their system. Make it clear to them that they're past due, and unless you receive payment on the next banking day that you will begin assessing the late fee you stipulated in your contract (you did stipulate a late fee, right?)

If you're dealing with quality clients, they'll almost never just try to stiff you on the payment; instead, it's because their accounting processes are completely disorganized (sometimes intentionally!). If your client isn't a large, trustworthy, stable company, always get your payment up-front. Even if they are a big company you trust, get an advance; it'll help tide you over while you're waiting for them to pay your net-15 invoice... net-90.

After consulting for more than four years, my past-due receivables balance (which at one point exceeded $200,000!) finally went to down to $0 only last week. And that's because I stopped taking on new work.

I've had customers who were nearly 90 days behind on payment (I used to be really bad / lazy about collections) and required almost a dozen followup emails and calls to get things straightened out. As far as I can tell, it was never out of outright malice, just the general disorganization and reluctance to part with cash that you find at big companies.

Don't take any aggressive / adversarial actions until you've exhausted all the polite request options. Give them the benefit of a doubt (unless your contact is already the person who writes the checks, and has no excuse). Be polite, firm, and extremely persistent. Get a commitment that you will be paid before date X, and if you haven't been paid in full by then, assess your late fee and start calling / emailing on alternate days until you do get paid, or until your patience is exhausted. Get lawyers involved only as a last resort. And next time, get paid in advance. :)

trapexit··on Ask HN: Range these marketing channels for SaaS
Watch the 3rd video (Rob Walling) on this page: http://www.microconf.com/videos-2012.html

The whole video is well worth watching, but he covers channels specifically at around 37 minutes in.

trapexit··on Show HN: Delete with your Macbook Pro's power key
Coincidentally, I just discovered today that you can also do a forward-delete on a Mac laptop keyboard by hitting Fn+Delete. Very useful for e.g. sending a ⌘⌦ (Ctrl-Alt-Del) to a VirtualBox VM.
trapexit··on Ask HN: Freelancer? Seeking freelancer? (April 2013)
SEEKING PEOPLE WHO ARE SEEKING WORK-

Freelancers / consultants, I'm doing some research and would appreciate your input. Help a fellow entrepreneur out and maybe learn something valuable in the process.

If nothing else, you may get some referrals from me down the line. "Where can I find a good developer for X?" is a question I hear not infrequently.

I'd like to talk about your business goals and experiences with finding clients. This would be a short phone call / Skype call.

Email: bwb@holo.org

trapexit··on Multiple vulnerabilities found in Rack
The file traversal vulnerability allows an attacker to access unauthorized files outside of the document root, assuming that there exists a symlink from inside the document root to a path that is outside of it.

For example:

Symlink: public/foo -> /secret/path/not_very_secret

An attacker could request /foo/../really_secret, which the OS would interpret as /secret/path/really_secret and happily serve up.

The attacker is limited in the number of ".." components they can add to the path by the number of real path components that precede it, i.e. they still cannot do /foo/../../../etc/passwd

The fixed version of rack correctly removes ".." path components before passing the resulting path to the OS, i.e. "/foo/../really_secret" is translated to "/really_secret", and results in a 404 error instead of a security breach.

This vulnerability is particularly concerning for Rails apps deployed using Capistrano (unless config.serve_static_assets = false). This is because there are typically symlinks from public/assets and public/system to the corresponding directories under the Capistrano deploy's "shared" directory, and also under "shared" are typically things like logs, configuration, and a copy of the application code!

Fortunately, Rails ships by default with a production configuration that sets serve_static_assets to false, relying on the frontend web server to serve up all static content (so the attacker will just get a 404). This directory traversal bug is not present in current versions of Apache or nginx.

trapexit··on Ask HN: How do you get past the intellectual curiosity phase?
Why is it a problem that the project is unfinished?

If you really needed the tool, wouldn't you still be feeling the pain, which would presumably give you the incentive to finish it?

Maybe you just wanted the learning experience, not the finished project. I've started (and abandoned) scores of projects over the years. Some of them went nowhere. One of them actually turned out to be useful to some people even in its unfinished state, and became an active open source project that I have no involvement with. I don't feel bad about any of this.

trapexit··on Ask HN: How do you handle support during weekends and holidays?
Consider outsourcing your customer support to a company that specializes in it.

If you just hire two full-time employees, you're still going to be picking up the slack on weekends or when someone gets sick, goes on vacation, or resigns.

A vendor that specializes in customer service will be able to train multiple employees on your product and rotate them as necessary to give you 16/7 or 24/7 coverage if that is what you need.

Set the goal of having your customer service vendor handle 100% of first-line support inquiries. They should have a manual that tells them what to do in any conceivable situation that could arise.

Obviously, it's a lot of work to write this manual, or even to think up/research all of the possible problems a customer might have. Start by just identifying the top 4 or 5 issues and writing down what you currently do when someone has that issue.

Give this info to the CS vendor and tell them that it is their job to maintain the manual and to contact you whenever a situation arises that is not covered by the manual. When they call you, tell them what to do, and insist that they record this in the manual and handle all future situations of that type in the same way.

You should never do customer support unless either you like doing it, or because you are concerned about getting out of touch with your customers' wants, needs, and desires.

And if you really want your business to grow, you should find someone else to write code and fix bugs for you, too.

You're not a developer anymore. You're an entrepreneur. Yes, you can be both, but you can't simultaneously be excellent at both.

You've figured out how to get 300,000 users for your games, and you're apparently making enough money to pay for employees, which is phenomenal. Wouldn't all of that talent and skill that you have be better spent identifying new products to create, new ways to monetize your existing products, strategic partnerships you could form, new ways to get customers, etc.?

An excellent book on this subject is "The E-Myth Revisited" by Michael Gerber. He talks about how a business needs three personalities: a technician, a manager, and an entrepreneur. Most people who start businesses get stuck in the "technician" role all day and keep working in their business instead of on their business. A successful, sustainable business has employees who do most (or all) of the day-to-day work and supervision, with the founder/leader free to think and act strategically.

trapexit··on What The Rails Security Issue Means For Your Startup
This is currently being discussed on https://github.com/tenderlove/psych/issues/119

There is also https://github.com/dtao/safe_yaml (hat tip @patio11, who also points out that this has not been audited for completeness/correctness)

trapexit··on What The Rails Security Issue Means For Your Startup
Getting from local user access to root access on an interactively-used Mac is almost trivial. Inject something into the user's bashrc/zshrc that watches their commands and waits for them to successfully use sudo. Then run sudo again immediately and do arbitrary things as root.

There are several tricks that can be used by JavaScript to connect to non-origin servers, in limited ways.

To create a GET, inject an <img>, <script>, <iframe>, or <style> tag. (Or several others.)

To create a POST, inject a <form> tag, and call form.submit()

trapexit··on What kind of work do freelance RoR programmers get?
Regarding giving up IP, all of my consulting clients have wanted to own the copyright for the software I write for them and keep it as secret sauce. And I've written some amazingly good stuff over the years that I wish I could reuse for other clients or for myself.

Software is an asset. I don't like getting paid to create assets for other people. I want to create my own assets and leverage them to get paid. This is the route to wealth creation.

Cold calling is really awkward, yeah. I don't enjoy it, and probably wouldn't do it again unless there was no other way. It is possible, though. It's much easier if you have "warm" leads from an email campaign or via a LinkedIn group or something. Ultimately, it's a numbers game.

For phone sales skills, learn from the late, great Chet Holmes: http://vimeo.com/46164281

Don't contact people trying to sell them something; just try to learn about their problems. If you find one that's painful enough and get them into an emotional state about it, they'll beg you to fix it for them.

Read "SPIN Selling" for sure, and put it into practice. After I read that book and started putting it into practice, I went from spending weeks chasing deals (and often losing them) to closing them in a single phone call.

trapexit··on Enterprise
The example hypothesis is: "you do not need to be on the inside, or have a pre-existing connection on the inside, in order to create a successful B2B product".

How would you test this? Yes, one way is to build B2B products without any input and then try to sell them. Many people try to do this. This is, as you pointed out, a really terrible approach.

A much better approach is just to hit the streets or the phones and talk to potential customers. Maybe you think they'll blow you off (and in my experience, yes, some of them will). But what I'm asking you to test experimentally is that 100% of them will blow you off. I have actually tried this, and the surprising result is that this is simply not the case.

But don't believe me. Try it for yourself.

Once you have people who will talk to you, then you can find out their problems. Once you know what their problems are, you can see if other people in that position have similar problems. Pick the most painful one of these problems, and, with your new industry insider friends to guide you, build an awesome product.

My big point here is that one should not simply accept limiting beliefs about what is and is not possible without actually putting them to the test. Do the uncomfortable thing. Grow.

trapexit··on Enterprise
These are just limiting beliefs.

Don't believe me? Good. Treat them as hypotheses and test them. You will be astonished.

(Except for the last bit about why businesses buy; you're right there. The reason that big company decision-makers buy is not that the new product is "technically" better. They buy because they are convinced that the new product will deliver a better return on investment and also convinced that the decision will not blow in their face and get them fired.)

trapexit··on Ask HN: How bad does Bootstrap look on a production site?
Don't waste any time or money whatsoever on a custom design until you have validated your app idea by getting people to pay you money for it.

Even if you are building an app for hackers / designers who are familiar with Bootstrap and might balk at something being "Bootstrappy", your first customers are going to realize that it's just a beta site.

If you are building for any other market, you may never need to bother customizing your design. Out-of-the-box Bootstrap looks better than 99% of the niche software out there.

trapexit··on Ask HN: Internet controlled padlock.
Something like this?

http://www.cyberlock.com/cyberlock_cylinders.html

trapexit··on What kind of work do freelance RoR programmers get?
I love building software and serving people but don't like giving up my IP and doing the same work over and over again, so I'm actually shifting out of consulting and into product development.

But if I were starting over, this is what I'd do:

Call them up and ask them. Seriously! Yeah, I know, maybe 8 or 9 out of 10 calls will be dead ends, but you miss 100% of the shots you don't take. If you feel really awkward about this, you can say at first that you're doing a research study, or you're interested in their industry and want to learn about it, or whatever pretense you feel comfortable with. Just have a casual conversation, get some rapport, and find out what the person does on a day to day basis and what kind of things they hate doing or wish they didn't have to.

Do this enough times, refine your methods, and you'll get really good at identifying business problems that you can solve with technology.

Don't waste your time with struggling small businesses; call people who have money. Find people who are superstars in their industry. Or if you really want to work with small businesses, get into the business of teaching them how to be good at sales and marketing (so that they'll have money :) ).

A great question (once you have rapport) is: "Think about the last 10 or 20 emails you dealt with today. What were they about? What did you have to do?"

Once you find pain, lock onto it like a heat-seeking missile and dig deep to find out what's causing it, what the effects are on the bottom line, and what the emotional impact is on the person you're talking to. Is this something so painful that it's affecting their relationship with their family? Solve that one for them and they'll start treating you like family!

You only really need to do this once or twice before you start getting referrals from deliriously happy customers. You suddenly become the "go-to" guy. Raise your rates.

Everything I've said can be applied to creating a product business, too. The change is that you need to interview many people in the same industry (or profession) and get them on board with a product idea that will solve their common problem (i.e. validate the idea before you build it). I'm in the process of doing this right now within a certain service industry niche.

My email address is in my profile here, and of course I'm happy to answer questions or point you to helpful resources.

trapexit··on What kind of work do freelance RoR programmers get?
Don't be a freelancer. Be a consultant.

Talk to big companies (they have money!). Learn how to discover their problems and then sell them solutions.

Don't sell them on Rails apps or even on web apps. Find problems that are taking money out of their pockets and sell solutions to those problems.

Find problems that your customer doesn't even realize can be solved with a simple web app. Once you get outside the programmer world, virtually everyone you meet is less skilled at solving problems with web apps than you are.

Charge accordingly. (For rush projects, I've quoted prices that worked out to over $1000/hr for me, and the customer didn't blink.)

They pay you $X, and in return you make them software that causes them to save (or earn) $X * 10. Everybody is happy.

When you're at this level, design doesn't matter. The app is probably an internal thing and uncustomized Twitter Bootstrap is the fanciest thing they'll have ever seen. And even if fancy design is required for the project, the budget will be large enough that you can just take that part of the project to an agency.

trapexit··on Ask HN: Checklist of functionality for a basic SaaS app
https://github.com/RailsApps/rails-stripe-membership-saas
trapexit··on How I went from $100-an-hour programming to $X0,000-a-week consulting
"If I can optimize your front-end code, get you higher performance and SEO rankings, are you going to hesitate / ignore me because of my lack of years in the field?"

This is a testable hypothesis. Test it.

Seriously. Most people who fail are defeated not by external forces, but by forces from within. Stop worrying and start testing.

trapexit··on How I went from $100-an-hour programming to $X0,000-a-week consulting
Thankfully, someone already did. It's short and sweet.

http://www.amazon.com/Small-Step-Change-Your-Life/dp/0761129...

trapexit··on How I went from $100-an-hour programming to $X0,000-a-week consulting
Kaizen. Small improvements. Start now and don't deviate.

You grow by constantly pushing yourself just barely outside of your comfort zone. No anxiety or panic needed, just a little tiny dose of discomfort.

Start now, with the smallest improvement you could possibly make. Then continue to make one small improvement every day.

Are you a complete shut in? Make it your goal to spend just 1 minute outside in public. If 1 minute is too much, then make it 10 seconds. Do it again tomorrow, and add just a little more time. Did you feel a bit uncomfortable? Good. If not, push yourself just a little more.

Are you good with being outside? Make eye contact with one person for 1 second. Tomorrow, make eye contact with two people. Or try to hold eye contact for 2 seconds.

Good with eye contact? Let's get talking.

Go to the grocery store and use the human checkout line instead of the self-checkout. Then the next day, make it your goal to say one sentence to the checkout person beyond the usual pleasantries. A comment about the weather will be just fine. Once you're good with talking about the weather, ask the checker if they have big exciting plans for this evening/the weekend/Christmas/whatever.

Just take action every day. ACTION. EVERY. DAY.

If you feel like you're not making process fast enough, or if you slip up one day and stay firmly within your comfort zone, don't beat yourself up about it. Just get out there tomorrow and make one small improvement. Small improvements will have a huge effect on your quality of life before you even realize it.

I've been there. It's possible. Start now and don't deviate.

trapexit··on Ask HN: $3000 to incorporate. Is it a good deal?
Folks who have been there before will tell you not to waste a single cent on incorporating until you absolutely have to.

Wait until at least one of the following is true:

  1. You have investors who are ready to go.
  2. You hire an employee.
  3. You have actual customers and actual revenue.
  4. You have any significant exposure to liability.
Don't bother with any of the paperwork B.S. of setting up a business until you actually are a business. Once you go down that road, not only are you spending a bundle on getting papers filed, but you now have recurring expenses for annual report fees, state minimum taxes, business licenses, accountants, attorneys, etc.

I'll go even further and say don't even bother spending time or money on a name, logo, domain name, website, or business cards until you've talked to enough potential customers to be sure you've understood their problem and are building the right product.

If you bring on a co-founder later, you can draw up a simple agreement (find a template online, or get an attorney to help you) that spells out the understanding between the founders in terms of ownership and control of the company once it is incorporated, who owns the leftover IP if the company fails before you get to that point, what happens if one founder leaves, etc.

I know it's exciting to finally "be a real business" and print business cards naming yourself "CEO". But that's all just vanity. Hiring a lawyer and filing some forms doesn't make you a real business; creating a product and selling it to people does.

trapexit··on Ask HN: Grade my Landing Page
Next impression: The value proposition is murky. As a visitor to this page, I'm not immediately sure what I'm expecting to get in return for giving you my email address.

What am I getting sold here? How is this going to change my life?

Coupons and discounts... why do I want these? Are they for products and services that I actually use? Or am I supposed to pay you for the privilege of receiving other people's junky promotional spam?

75% discount... meaningless if there's no price attached. 75% off of a $2,000 fitness course? 75% discount off of a $2.99/mo webapp?

The bullets are hard to read (see earlier comment about color scheme), and this is the only point at which you start promising things that start to get concrete. You do, however, identify and address some common fitness concerns here, which is good ("it takes too long", "the same workout gets boring over time", "do I have to join a gym?", etc.).

"Get fit" is a weak promise, though. It's not concrete. How would someone know if they are fit? Is it being able to run a mile without collapsing from exhaustion? Running a marathon? Bench pressing 300lbs? What?

Also, how do I know this is for me? Is this a product for men? For women? For young people? Old people? Busy people? Office workers? Housewives?

The fitness market is huge and your competition is numerous and highly sophisticated. You will be far, far more successful as an upstart if you can laser-target your offering. It doesn't matter if it would work for everyone; "everyone" is a market that is much, much too expensive for you to reach. Once you are successful with your initial target market, you can leverage that experience to expand into others.

Having testimonials is very, very good... but are they real? The first one has a woman's picture, but is improbably captioned "Aaron K." Clean that up for sure! Don't use fake testimonials. You'll probably get away with it, but it's dishonest, and who wants to risk getting sued by the FTC?

The testimonials will also be much more powerful if you can get some concrete (i.e. objectively measurable) results into them. Before-and-after pictures are widely used in the fitness industry for a reason!

To sell your product: 1) start with a laser-targeted market... get as specific as you possibly can; 2) find out these people's biggest pain points around fitness; 3) promise them an amazing (but realistic) concrete result that they will achieve by using your service; and 4) back it up with proof in the form of testimonials and samples.

But on this particular landing page, it looks like you're just trying to capture leads in exchange for a bribe. The basic strategy is very good; if you can build a good relationship with your prospect list, you can sell them just about anything.

But you will have ridiculously better results by instead giving people something they can use right now. Give them a free workout plan by email (or a week's worth of plans, dripped out over several days), just for signing up. With a little programming work, you could even give them a customized workout... take them to a web form where they enter some basic parameters like age, weight, fitness level, and then have a script that uses those selections to choose from several possible plans.

If you send them something they can actually use immediately, that's much more valuable than vague offers of discounts, etc. It's actually compelling, especially if you do a good job of selling them on the benefits that your free workout plan is going to deliver to them (more energy, more mental clarity, higher self-confidence, more attention from the opposite sex... speak to whatever you know are the hot-button concerns of your market). This has more benefits for you than just getting the prospect onto your email list: they've now had an opportunity to sample your offering and receive real benefit from it, so they know you're for real, and hopefully, you've whet their appetite for more.

(That rambled on longer than I expected; hope it's not too overwhelming. Send me an email if you want to go into depth on any of that.)

trapexit··on Ask HN: Grade my Landing Page
First impression: Are you red-green colorblind by any chance? I ask because your landing page looks much better with a protanopia simulation filter applied.

If you aren't colorblind, then, well, let's just say I suggest that you start with color schemes that have been well-tested in other successful direct marketing pieces.

If I'd hit this page from an ad link, I'd have bounced immediately before your sales copy even registered.

trapexit··on F-35's biggest problems: software and bad relationships
It's a parody.

http://www.snopes.com/computer/program/stroustrup.asp

trapexit··on Customize Twitter Bootstrap To Not Look Bootstrap-y
Spot on. If your audience is basically anyone outside of the HN echo chamber, then default bootstrap is just fine.

I used to build big internal webapps for big companies. My design skills are only slightly better than those of a drunken orangutan.

After discovering Bootstrap, I used it to build a static prototype of a new system I was pitching to one of my clients. Not only did they spend nearly 10 minutes gushing about how clean and gorgeous and minimal the design was, they approved the project immediately and suggested that I re-skin an older webapp with the same theme.

After I told them that I'd used Bootstrap to build the mockup, they said "Oh yeah, I think one of our other teams is using that too. Good stuff!" I still got credit for being a design genius.

If you are building an app for attorneys, pool cleaners, CPAs, gardeners, insurance agents, property managers, window washers, dog walkers, code enforcers, self-storage facilities, mailbox companies, dentists, or payroll supervisors, then in 99% of the cases, they have never even seen a UI half as beautiful or usable as as the bare default Bootstrap styles.

Niche software is, as a general rule, terrible. It's clunky to use and looks even worse.

So, again, if you're building software for designers or people who hang out on HN all day and get annoyed by UI uniformity, then by all means invest a lot of time and money coming up with something unique. But if you're selling to people somewhere else out there in the greater world, that time and money will be 1000x better spent in getting to know your customers, finding out how to reach them most effectively, and creating a compelling offer.

trapexit··on Ask HN: I make $8/hour and can't pay for college. Any advice?
Hint #1: Your naming service is hugely underpriced. You could probably charge 10x-20x as much. See http://www.namedatlast.com/

Hint #2: You have an audience (your customers) Talk to them! Ask them what their challenges are. Call them up or email them and get an interview. Dig really really deep and find out what really annoys them, frustrates them, makes them fearful, or wastes their time.

Then, you can take one of several possible courses of action:

1) Do a lot of research on the topic... read everything you can find about it on the Internet, plus 5 or 10 books (free at the library!). Create an eBook, audio course, or video course that walks your customer step-by-step through solving their problem, and sell it.

2) Find an expert in the subject area and partner with them to create an eBook or online course, then sell it.

3) Find a programmer buddy and build a web app that solves their problem, and sell it.

trapexit··on Using mTurk to interview 100 customers (in 4 hours)
Check out Elastic: https://elasticsales.com/what-we-do/

(I don't work for them and haven't used them, but it sounds like they're doing exactly the thing you're looking for.)

trapexit··on Bootstrap 2.1 released
Not difficult at all. For a simple fix, one just needs to add a timeout between receiving the mouseOut event and hiding the menu. OS X appears to do something slightly more complicated; it hides the menu immediately if you mouse out away from the submenu, but keeps the menu open for about one second if you mouse out towards it.
← PreviousPage 2 of 3Next →