hacker news with inline top comments    .. more ..    22 Jun 2014 Ask
home   ask   best   4 years ago   
Tell HN: I want out
70 points by canileaveplease  1 hour ago   40 comments top 33
patio11 1 hour ago 4 replies      
You're probably overestimating peoples' reactions to you leaving. Business owners manage to simultaneously believe the business is beyond their control and yet hanging on their every word. They can't both be true, right? If you left tomorrow, odds are a successful business continues, and it will be one which wouldn't have existed but for you.

That said: what stops you from having an all-hands meeting and saying "Is this REALLY what we want?" If it isn't, it is your business. Change it. Client needs to be able to text you at 8 PM? Client will be assisted in finding a more appropriate service provider. Employee feels that nobody can go home at 6? Employee gets told by his boss "Go home. It will be here tomorrow. There are companies that pull all-nighters every day. This is not one of them."

Also: raise your rates.

hluska 1 hour ago 0 replies      
I was going to write a quasi-motivational post telling you to take some time off, raise your rates, and talk with your team. But, then I read your question over and focused on one paragraph.

I honestly thought I was super tough and I can take this on. I actually really just want to kill myself.

First, you are super tough and this 'Tell HN' is proof of that. When you hit your absolute limit, you reached out for help. That is amazing and everyone here should be proud of you.

Second, if the anxiety is so severe that you want to kill yourself, you have a choice. You can keep doing the same thing you are doing now. Or, you can make big changes. If you keep doing the same thing you are doing, unfortunately, this is only going to get worse. If you want to fix this, you need to make some big changes.

Other commenters have suggested some good changes already. I encourage you to follow their advice. However, my email address is in my profile. If you need someone to talk to, please use it. I can even send you my phone number, or my Skype ID so that if you ever need a friendly voice that likely doesn't know you and who will never judge you, you can reach out. Alternately, go check out http://www.7cupsoftea.com/.

I've felt this exact same way, where I was so anxious that my own death felt like the only way out. You're going through something horrible and posting here represents a herculean effort.

Now, this is an ugly topic to bring up and I don't expect you to answer this on a public forum, but do you have a plan for how and when you will harm yourself? If you do, this is a medical emergency. Please take steps to protect yourself. Unfortunately, in most places, if you tell a medical professional that you have a plan, you are immediately committed for observation. So, be careful, but also take extraordinary steps to care for yourself.

I'm sorry that I don't have a solution. The best I can offer is my support. Use my email address if you need it.

noir_lord 1 hour ago 0 replies      
> Not "um we have 8 pages left to design for tomorrow, nobody is going anywhere" says one of the developers.

It's your company, if you want to leave on time that is your prerogative, me I'd go pull the master breaker and shout "home time, fuck off" ;).

You sound like someone rapidly approaching burn out, you need to give yourself some time away from a screen to try and get some perspective on what you are doing.

skadamat 1 hour ago 0 replies      
The main mistake you made was thinking that the startup life was a Bohemian life style. Doing a startup is incredibly stressful, you have to be pretty compelled to do it (really enjoy working on the problem, working with your team, etc).

First off, you CAN leave the business you started if you're getting burned out. Second off, I would try to pinpoint why you dislike working on your company. Does the problem not interest you? You keep referring to everything you are doing as 'work' and paint your coworkers / cofounders as your jailors. If you're not interested in solving that problem, you need to get out or you will bring the company down with you.

Now, you have to ask yourself if you dislike working in GENERAL. That may be a possibility and if you still want to have the dream lifestyle you've always wanted, I would look into freelancing part-time or starting a small lifestyle business that pays your bills and then some but doesn't require much effort.

If you want to fix your current situation/ burnout, try googling around for advice - http://www.businessweek.com/articles/2012-04-12/how-to-avoid... - and set expectations with your team on the hours you are available as well. If you just want out, then what's stopping you from getting out and starting over. You can't be passive aggressive about this; it's going to be awful if you stick around, don't deliver, don't show enthusiasm, and aren't willing to fix it and it's going to be awful when you have to tell everyone you're leaving. Starting a company takes more stomach than picking between these 2 decisions and you've already done that so either of these should be a cake walk in comparison!

rcfox 1 hour ago 0 replies      
It sounds like your company has bitten off more than it can chew. You didn't mention how you're doing money-wise. If you can afford it, perhaps you should stop taking new clients until you've finished your current projects, and then negotiate more reasonable deadlines in the future.
oomkiller 23 minutes ago 0 replies      
Please Relax.

Don't leave. Write down your problems, and logically develop solutions to work on solving each of them. It sounds like you're in charge of your company. If so, change things up so where y'all can work together to deliver a successful product without killing each-other. If there is too much work, take on less, and plan better.

If anxiety is an issue, there are many anti-anxiety drugs that you can use to help control it (see /r/nootropics and/or a psychiatrist). Anxiety issues can affect your perception in many ways, and they're often invisible, which is what makes things seem so difficult.

Also, you may need to sit down and figure out exactly what you want out of life, then align the rest of your goals and plans with that. Getting a good life balance can be tremendously helpful in these situations.

jarrett 1 hour ago 0 replies      
Have you had a discussion with your cofounders and employees about establishing goals for work/life balance in the company? If so, what did they say?

Realistically, I don't think owning a company will give you massively more freedom than being an employee of one. But it does put you in a position to enshrine freedom as a goal for everyone in the company, employees and owners alike. Economic necessity will mean absolute freedom is never possible. But in my experience, it's very possible to have good work/life balance, flexible hours, and a fun workplace so long as the leadership is on board.

You might also consider asking whether you're setting the right expectations with your clients. If you're constantly making promises that force you to work 14-hour days and always be in crisis mode, perhaps that could be adjusted.

zupa-hu 32 minutes ago 0 replies      
This sounds like you have several bugs in your processes. That's likely normal as you grow, and luckily you have a built-in alarm to beep that now it is time to fix them, it is no more premature optimization. Congratulations for hitting that point, don't kill yourself or quit yet, fix the problem.

You get a text every 5 seconds? Where is it coming from? Clients? Introduce an issue tracking system, or some kind of a queue, so that you can handle those problems asynchronously.

Are those messages immediate bug fix requests? Fixing bugs should eliminate them over time. If they are not, you are not doing it right. Introduce test driven development, rewrite code. Often, most of the bugs are contained in few modules of a program. Localize and rewrite (not fix) them. (Idea source: Code Complete)

Are your colleagues pinging you for approval all the time? Introduce decision making guidelines. Possibly with some examples how they were applied in the past.

Clients asking the same questions repeatedly? Create a FAQ or some Help. I made a policy for myself once to always just answer client requests with links to the Help. If I could find answers in the Help, I linked them, otherwise I added them to the Help first. This teaches clients to first check the Help.One client was asking the same questions all them time. I made that client a custom private help page with a link collection - it helped. Another I printed a paper he could glue over his monitor on the wall because he couldn't find anything on his computer.

For all your other issues: identify what bothers you; keep asking why it is happening and how you could fix it. Fix one problem at a time so it won't recur. You will have loads of free time really soon.

That said, you might as well consider raising your prices as others noted if your current margins can't justify the effort needed to deliver. Otherwise, you just created some new jobs that pay worse than the alternatives. In that case, everyone is loosing and closing your company would make everyone better off. But most likely you could add processes to handle things better. Or cut back on 20% of the features that require most of your time, but deliver least of the value.

Also, you should talk about the problems with your colleagues. You are better off solving them together because it starts to build a culture of solving these problems.

Good luck.

thothamon 45 minutes ago 0 replies      
You founded the company. So take control.

Set 6 pm as the going-home time for EVERYBODY. If something is late because of this, that means the company should not have made commitments it can't keep (and you should take a strong interest in not making the same mistake again).

As someone said, don't answer the phone past a certain time. Most phones have some kind of do-not-interrupt mode. Use that. If people have an emergency, at the very least they can call and leave voicemail.

How about bringing a refrigerator and some beers into the office? Lead by example. If you're drinking beer at 2 pm, that tells everyone else this is the kind of startup where drinking beers at 2 pm is OK. People who are too uptight to deal with that will leave: let them.

It's _your_ startup. Run it the way _you_ think is best. What's stopping you?

jdotjdot 1 hour ago 0 replies      
The issue isn't leaving, but abdicating your responsibilities. This is clearly what you care about as well, when you say "I can't ditch them." While there certainly would be something to be said for the "meaning" of what you'd pitched if you leave, the key here is making sure that the actions you take do not negatively influence everyone else there and the people you brought into this venture.

I think the question to be asking is "What steps can I take to transition my responsibilities to other people without negatively affecting the company and my colleagues?" If you can find an answer to that question--hiring someone who you groom to replace you, making the business more institutionalized and self-sustaining so that you don't need 14-hour days, etc.--you'll be closer to getting there.

It's pretty incredible how many people I see who start their own companies hoping for freedom, and find the opposite. Responsibility often means less freedom, and having clients and employees beholden to you means more responsibility. In some ways, being employed can mean being more free. There was a great article on HN recently pointing out that the true level of freedom for entrepreneurs is likely to be found not at founding your own company, but specifically at founding your own moderately successful company--once great success comes, you have much more responsibility.

tehwebguy 1 hour ago 0 replies      
Sounds like the machine is running mostly on it's own now, have you taken a single day or week off yet? It might give you serious relief to step back for a few days and see if it's still there when you come back.

The job at hand isn't killing you, the anxiety is (probably)

n72 45 minutes ago 0 replies      
"I just want to earn decent money and be able to do what I want to do whenever during the day."

"Beers at 2pm? Sure!"

You may want to recalibrate your expectations. I mean, this sounds a lot like you want your cake and to eat it too. What do you consider decent money? If you want to do whatever you want whenever and have beers at 2, you may have to settle for a considerably smaller income than you consider "decent".

kmfrk 1 hour ago 0 replies      
Well, one thing to make sure you do is delineate your work from the rest of the life. So, Monday to Friday, 9 AM to 5 PM (or whatever the hours), you're in work mode, but as soon as the clock strikes 5, you turn off everything work-related, and you should not be considered reachable, barring any emergencies.

If that doesn't work for your co-workers, you fundamentally have an unsustainable company, which is no more your fault than theirs.

When clients and your work make a claim for your personal time, you need to put a stake in the ground - directly or indirectly by not responding outside working hours.

It also sounds like you may have a problem with your planning and workflow, if you've got e-mails and texts coming your way like a hailstorm. Since you're a founder, you're fortunately in a position to dictate how communication and project management works. Because no one deserves a flurry of e-mails and texts.

sumeetchawla 1 hour ago 0 replies      
Hey buddy,

What you need is a long vacation. I would recommend you to find the right sub-ordinates/partners to take your place for the time being and plan a 2-3 week trip to a place where you can relax. :)

The whole point of building a company is that different people can do what they are best at and solve a problem. All members of an organization are a cogs in the wheel. They all need to move together to get things done smoothly. Being an entrepreneur has a lot of pressure but when you already have a company set up, with employees, with business people etc, you should focus on building strategies. Delegate more, hire the right people, apply the right management techniques which suit your work culture. It's all about having the right people under you so that you can just lead the company in the right direction.

Trust me, a vacation will have a big influence on you right now and give you a different perspective too :)

Take care and don't take any rash decisions.

- Sumeet

kourt 56 minutes ago 0 replies      
I honestly thought I was super tough and I can take this on. I actually really just want to kill myself. I so

Stop immediately the thoughts of self-harm: nothing good comes out of that direction. You'll live through this (making changes, staying, or going), just like you would have lived through the business failure.

Right now I'm working 14 hour days and everyone gets mad when someone tries to leave while the others are working. There is no FREEDOM. The whole point of this venture WAS FREEDOM. Beers at 2pm? Sure! Not "um we have 8 pages left to design for tomorrow, nobody is going anywhere" says one of the developers. This attitude, day in, day out. Always something to do, always due tomorrow. I don't have the spine to delay my clients or deliver anything less than perfect and it's breaking me. My developers don't want to do anything besides work

There are basically 3 questions here:1) What do you want? (obviously not this)2) What does everybody else really want?3) Can 1 and 2 coexist?

In addition to what you're feeling personally, if the rest of the team is doing the same thing, they're also burning out whether they admit it or not.

As far as disappointing others, perhaps just (as others have suggested) you could set some boundaries for yourself rather than quitting completely.

mladenkovacevic 1 hour ago 1 reply      
Sounds like you need a culture readjustment. Who is driving the culture right now? As a cofounder surely you should at least have a say in it.
Jean-Philipe 1 hour ago 0 replies      
I've been in a similar situation: working 12h and weekends in a company I co-founded, hired people and got others to work even more. I've been one that my co-founders always doubted my "commitment" (using the very term in German) because I didn't sleep in the office like they did. Until I we got another kid and my wife forced me to work 6h days. I told them I needed to work less and it worked. Wasn't easy though, but it worked. During the following months, the company became a nicer place to work at. Don't be afraid.
ibrad 36 minutes ago 0 replies      
You will be surprised how no one will care when you quit. Not that they don't care about you, but in a week it will be like you were never there.

Just imagine someone else in the team leaving and see what are the steps you will take to replace them. It will be easy to move on

notahacker 52 minutes ago 0 replies      
The one advantage of having employees and partners involved with this is you have the opportunity to delegate more
thekevan 36 minutes ago 0 replies      
Then don't leave. If something is broken, fix it. Don't throw it away.
Thiz 41 minutes ago 0 replies      
You're doing it wrong.

Go to work at 10, say a stupid but inspiring quote of the day.

Go to lunch at 12. Then hit the course at 3.

That's how you do it. In other words: Delegate.

webmaven 1 hour ago 0 replies      
The simplest solution I know of is to start raising your prices. You will gradually start to get fewer new clients, and gradually start to lose a few of the old ones, but individually the remaining projects will be more profitable and enjoyable, and the work volume will become more manageable, all without having to ditch any of your clients (rather, they will be ditching you, leaving you off the hook).

A book you might find useful is 'The Business Side of Creativity': http://books.wwnorton.com/books/detail.aspx?ID=4294978649

jroes 1 hour ago 0 replies      
I don't know if you have the patience or time for it, but The E-Myth Revisited, an old book with a cheesy name, was made for you and this situation.
qwertzuiopasd 8 minutes ago 0 replies      
you had a goal in mind, but you followed a different recipe (sales guy, employees, real clients), now you wonder why you have the shit everbody else has (too much work, short on time, not enough life).

to reach your goal (if its still your goal) you need definitely need a new recipe, probably the complete opposite.

my recommendation: (it's not much, but it's what i do)

read http://en.m.wikipedia.org/wiki/The_Ballad_of_Halo_Jones it's a comic by allan moore about "getting out" - its a good book and a good book is never wasted

second: quit and travel alone (or if you have wive and kids, take them wih you, it's less expensive then it sounds) for a few months, without your phone. reinvent yourself when you come back. i run an agency, i do this every year (including reading the comic).

anonzz9pza 30 minutes ago 0 replies      
>I can't ditch my clients, my business partners, my friends, my employees. I don't know how to get out. I so furiously pitched my friends to start this company, I brought them ALL into this. I hired everyone, I convinced them to jump ship from their jobs and work with me. If I bail now, every word I said, anything I did, will mean nothing.

I'm in a similar position myself. I don't think this should be a factor in your decision making. They're adults and they made a choice.

You may feel like you let them down, but as I said they're adults, they made a choice. It even sounds like they wont lose their jobs if you quit, and if they're no longer interested in working there without you, they should have time to find other positions. Even if that wasn't the case, it shouldn't be a factor for you.

They may hate you, but they'll get over it.

So, if you need to quit for your mental well being, do it. If you feel it's worth trying other things first, go for it, but there's nothing to be ashamed for here.

bung 1 hour ago 0 replies      
Sounds like you need to talk to your project managers and review how you're setting timelines with your employees and clients. If you don't have any project managers, then you and anyone else in management need to do it. If it's just you, you need to get someone help with management! You should be able to take your team to beers (maybe 4pm instead?) scheduled every couple weeks, barring a big launch.
Liesmith 39 minutes ago 0 replies      
You should probably see a psychiatrist and/or psychologist instead of asking hackernews how to solve this problem.
ntiku 1 hour ago 0 replies      
The company you started with the friend was part of the bohemian lifestyle? Or you want to quit the company you started to pursue a bohemian life style?
nawitus 1 hour ago 0 replies      
Couldn't help but be reminded of Sonata Arctica's song I Want Out.
battani 1 hour ago 1 reply      
If you want freedom, learn how to algorithmically trade Forex.

Edit: Downvote? I'm serious about this. Trading is the only activity I know that gives you

1) income

2) no boss to report to

3) no employees to take care of

4) location freedom (e.g. can be done from anywhere)

5) relatively low starting costs

6) low starting risk (you don't need to work 2+ years to figure out if your company will actually make money)

7) a market you know will always be there

8) an ability to be totally hands off with algorithmic trading

Most people think this is a pipe dream perhaps that explains the downvotes. It's not. I live off semi-algorithmic Forex trading and know many others who do too.

binocarlos 1 hour ago 1 reply      
Sounds like you are doing well! Perhaps look for some grey in between the 2 extremes.

Ditching everything vs Burning out - classic balancing act of a startup innit

Running full pelt at a marathon only to hit 2 miles exhausted - time for tortoise to take over - he actually makes it!

Sindrome 1 hour ago 0 replies      
You unplugged from the Matrix. But the reality is the matrix isn't that bad. Good luck.
Ask HN: What to do as a programmer about to go homeless
5 points by brandonhsiao  1 hour ago   1 comment top
junto 4 minutes ago 0 replies      
First thing I would suggest is to edit your podt and let people know which city you are in. HNers that are local to you might be able to give you a sofa for a few nights or ask you to pop by their office for a chat or informal interview. You could be in my city, but since it isn't immediately obvious I'm not going to then bother to contact you via your HN profile to ask.
Ask HN: Can you provide a Roadmap+Tools for a Beginner?
2 points by joshfenmore  37 minutes ago   discuss
Ask HN: Google AdSense Still Bans Ajax. What are the Alternatives?
45 points by wikiburner  1 day ago   32 comments top 10
onestone 1 day ago 1 reply      
There is actually pretty good support, but you have to use AdSense through Google DFP - https://www.google.com/dfp/. Things like creating ad slots dynamically / loading them later / refreshing them dynamically work fine when you use GPT tags in DFP.
radq 23 hours ago 0 replies      
You can use BuySellAds units with Google Adsense as backfill.

For an example of this you can check out our Discourse instance: http://forums.hummingbird.me/ ads may not load on the initial pageview because of a timing bug I have not fixed yet, but try clicking somewhere and back to the homepage).

This is the source code: https://github.com/vikhyat/discourse-bsa/blob/master/assets/... Ember.js)

PaulHoule 1 day ago 4 replies      
The world could really use a good competitor to Adsense, couldn't it? How about some ad network that is based on contextual technology such as Facebook, retargeting, etc.
paulgb 1 day ago 0 replies      
The question isn't about using code in ads, but about including ads on content that is loaded with ajax.

There are probably technical (though not insurmountable) reasons for this, i.e. if the ads are content based Google has to be able to scrape the content to know which keywords to match.

hiphopyo 1 day ago 2 replies      
I prefer affiliate networks because they, unlike AdSense, give me the freedom to design my own ads. Also there's this:


Who wants this eyesore on their websites anyway?


I'm surprised the AdSense team is still toying around with amateur designs at the expense of the whole AdSense programme. I've seen the past works of the designers on the AdSense team and I'm not impressed. Plus it's quite naive to think that one design will fit all websites. Why can't AdSense, like other ad and affiliate networks, just open up an API so publishers themselves can be in charge of how their ads look and behave?

chaddeshon 1 day ago 0 replies      
I run BromBone.com. We have several customers using it to make static versions of their AJAX sites for Google Adsense purposes.

Email me at chad@brombone.com if you want to talk details.

yanghan 1 day ago 1 reply      
It seems like you can give native advertising a try.I'm the cofounder of http://www.stackadapt.com and you can load our ad tag through ajax. You can also define ad formats using your site's HTML, so the ads are completely native and responsive to your site.
ojr 1 day ago 0 replies      
An alternative way to make money online, is by removing ads and create a subscription-based feature, Stripe has a nice developer platform
im3w1l 1 day ago 1 reply      
Maybe dynamically add iframes with ajax-content? Every iframe would be static, and so could have adsense.
vkjv 1 day ago 0 replies      
AFAIK, your only option with Adsense is to implement a #! alternative crawlable site.
Ask HN: Is it ok to pursue master in cs at Maharishi University of Management?
3 points by hemtros  6 hours ago   4 comments top 4
gus_massa 5 hours ago 0 replies      
Sorry, I dont know the details, but Ill make a few comments about a random link in a Google search: http://mum-master.blogspot.com.ar/2009/01/be-carefull-of-mah... (dont believe everything that is in the Internet, but be careful)

>> [from a promotional email] You will earn an MSCS degree from a highly respected, accredited university that integrates the study of computer science with a scientifically proven technology for awakening your total brain potential.

I never heard before about this university. Apparently, this is an accredited university, but I dont understand the details of the accreditation system. From the Wikipedia page, it looks like CS is not the main area.

I really dont like with a scientifically proven technology for awakening your total brain potential (But this is a alleged quote from a link. Did you get a similar promotional material?)

> They attract people from outside the US by saying that they are going to be hired which is 100% false, you will never get job due to many factors such as student visa limitations by employers who seek H1B or residency.

USAs visas are a very difficult topic. To work you need the right visa. I think that its not so easy to get an internship with a student visa.

brudgers 3 hours ago 0 replies      
From what I see, it provides a unique approach to higher education. My advice is it deserves consideration to the degree that approach is more in line with your personal values than more common or traditional pedagogical practices.

I would not recommend attending on the basis of cost or primarily on that basis. The compromise for someone not attracted to the pedagogy seems too great.

As for mixed reviews, its approach is not for everyone so that would be expected.

hkarthik 4 hours ago 0 replies      
My personal opinion: if you can get admission into a state university with better accreditation that attracts recruiters from Google, Facebook, Amazon, etc, it is far better to go that route. These are the only companies hiring lots of H1-b visa holders.

That said, I have a family friend who is teaching at that Maharishi university and he previously studied at IIM in India and worked in Austin, TX for IBM in a management role for many years. He can give you some good perspective.

My email address is in my profile. Contact me and I can put you in touch with him. Good luck!

hemtros 2 hours ago 0 replies      
Please upvote so that many HNers would answer.
Ask HN: Join our Skype Strong AI Group
23 points by chegra  1 day ago   21 comments top 6
mhitza 1 day ago 1 reply      
I hate skype; it's enough punishment I have to use it for work. I would maybe join it from time to time if it where an IRC channel instead.
spolu 1 day ago 2 replies      
Very intersting... but Skype???
brador 1 day ago 1 reply      
You should record the conversations, with permission, then put them up on youtube. It's a shame to lose them.
canvia 1 day ago 1 reply      
Skype is not secure. Why not XMPP?
dn2k 23 hours ago 0 replies      
id join an IRC channel on freenode..
TheMamboKing 1 day ago 1 reply      
What topics are you guys currently looking at?
Ask HN: Are the insides of Airbnb listings being commercialized?
20 points by jasonbarone  1 day ago   18 comments top 6
nate 1 day ago 3 replies      
Related: I had a Lyft ride recently where the driver the entire ride was trying to sell me health and life insurance. And he had clearly done this before and it was all part of his ride. He had a stack of cards right there on his dash ready with his pitch.
mcintyre1994 7 hours ago 0 replies      
This is actually an interesting idea and not necessarily bad for the experience. If a place had certain demographics Sony or Microsoft could offer a free new console around/before release. Special feature for host to offer, bonus for guest, seems like a solid path to a sale for the company. It seems that could possibly work for other things too, and it'd surely be more interesting to advertisers than a typical hotel.

I guess the big thing is visitors probably aren't returning so local businesses aren't going to get much success- but I can see interesting opportunities for less location constrained companies. What if Netflix gave a free account to a chunk of places with certain demographics?

nichodges 21 hours ago 0 replies      
I was messaged by a local business owner, asking if I'd be interested in putting his product in my listing photos, mentioning the business in the listing, and also in my "welcome to the apartment" notes for visitors.

Next time I was in his shop I told him I really don't rent the place out enough for it to be worthwhile, but asked him how the response from other people he messaged was. He said one woman was really angry in her message back, and a few others took him up on the offer. To be honest the ROI for him wouldn't be great, especially given many of the customers from AirBnB won't be returning.

If it is against AirBnB's terms and they take issue with it I can only imagine the irony-laden field day the media would have.

charlesdm 1 day ago 1 reply      
Not direct promotion for products or services, but I rented an apt once from a luxury real estate developer. He told about some of the projects he was working on. Pretty impressive. We've actually become good friends.
dominotw 22 hours ago 0 replies      
>has anyone seen listings being used to promote products or services?

Yes . For prostitution. http://www.huffingtonpost.com/2014/04/14/prostitutes-renting...

bin1 1 day ago 1 reply      
Here is a good example: https://www.airbnb.co.uk/rooms/72229
Idea for an app but no programming skill. how to bring it alive?
4 points by amrrs  13 hours ago   3 comments top
vitovito 12 hours ago 1 reply      
The simple answer is, it's in the contract. Your contract with your developer, which you both negotiate and sign, says that you pay for them to develop your app, and perhaps would have a non-compete clause to prevent them from self-publishing a similar app within, say, a year.

If they violate the terms of the contract, your lawyer sues them.

Now, this is tricky in general, because app store submission processes are developer-oriented, and there will inevitably be bugs, which your developer will have to fix. There are a lot of details to hammer out on how to arrange all of that. But it's not a trust issue, it's just a paperwork one, as long as you can afford to enforce it.

Now, if you can't afford to enforce it, then you do need trust. And one way to have that trust is to have respect. A developer will respect you more if you bring something tangible to the table. That is, more than just an idea. This is the long answer.

If all you have is an idea, then a developer (or designer, for that matter) is going to have to figure out a lot on their own. They're going to have to figure out what you mean, who the users are going to be, what the users want, how the marketing will promote the app, what it should cost, how many users at one time the app will have to handle, on and on, every detail. There will be so many details that you haven't thought of yet, that the developer will have to figure out, that it will basically be the developer's app.

Any developer (or designer) worth their salt is going to ask for at least 51% equity in your company to build your idea, because they will basically be doing all the work.

The only way to retain control, and to earn enough respect to deserve it, is to do all of that work up front, yourself.

That's the role of the businessperson in a startup. You do all the market research to figure out that people will definitely buy this kind app. You do all customer development to figure out what problem this app will solve for them. You do all the user research to figure out exactly how the app will solve that problem. You do the competitive analysis to figure out the price and positioning of your app relative to other solutions in the market. You do all the sales channel development to figure out how to tell people about the app. You do all the projections to figure out how much money you might make. And then you put that all in a Powerpoint to convince a developer that "all" they need to do is build it, they can focus on code and not have to worry about all that business stuff, you've got it covered.

That's your job. An idea isn't good enough. There's a lot more than just programming that goes into an app, and you have to have covered everything else if all you want is a programmer to build you something.

Good luck!

Ask HN: Built a prototype for getting leads from social networks
3 points by sumeetchawla  11 hours ago   10 comments top 3
amrrs 9 hours ago 1 reply      
When you talk about Lead generation,

* What kind of details are you giving the user - Full Name, Title, Email, Company and Phone or it's just a Facebook id saying that this user is in need of something that you offer.

* Also have you made it location specific and any demographics to target or filters of that kind?

* If possible include competitor mapping too, for eg: If I'm Costa coffee, very often someone commenting in Starbucks page must be my lead too.

* Fees - A Telesales executive or an Internet guy can sure get more leads and they are not algorithmic, so if your service is to assist them or replace them, the charges have to reflect that.

ColinWright 10 hours ago 1 reply      
yopeoplefinder 10 hours ago 1 reply      
Interesting concept although I would make it clearer on the homepage who the target audience is - 'for your business' is a little generic.
Ask HN: What are the most difficult aspects of running an online/app business?
4 points by aliston  18 hours ago   1 comment top
digikk 18 hours ago 0 replies      
I'm interested in this, too.
Ask HN: How do you find good developers on oDesk?
50 points by basdevries  1 day ago   61 comments top 26
MortenK 1 day ago 1 reply      
The broader topic for this is "outsourcing". When work is done 90/100% remote, to countries far away, it's commonly referred to as "offshore outsourcing". It's a whole separate production discipline, with unique challenges all the way from staffing to day-to-day management.

Many business people and entrepreneurs try offshore outsourcing a couple of times, lured in by the seemingly low prices. They then fail and declare outsourcing as a non-viable solution for product development.

It can and does work, but it requires experience.

So while you are looking for specific tips for searching for developers, you need to be aware that the work doesn't end there - there's a lot more to it.

To get specific though:

1) Always create a private job and invite developers yourself. If not, you'll be spammed with offers from the bottom of the barrel.

2) Filter for location first. If it's your first time with outsourcing, you are best off with developers from countries that are as close as possible to your own culture. For Western Europe, a good bet is Eastern Europe and Western Russia. In the US, you're probably better of with certain south American countries like Argentina and Chile due to the lower time difference.

3) Look for developers that has had long contracts (500+ hours) with 5 star feedback. You can't base much off small contracts with 5 star feedback.

4) Apply same screening techniques as you would, were you hiring locally: Does the guy have an impressive portfolio, CS education, does he have some side projects / Github profile etc, how many years of experience and so on. Don't put too much stock in any single point: There is for example plenty of extremely competent people, who do not have a degree, who do not give a shit about maintaining a Stackoverflow or Github profile and so on.

5) Once you've screened them, invite them to the job listing. Get them on skype, either talk or chat. They need at least a very good written English, if it's your first try with outsourcing. Ask for code samples and review them.

6) If not "just" front-end coding: Have a good, thorough specification ready, for the developers to read. Sometimes they will want payment just to read the spec, sometimes they'll do it for free. Either way, it doesn't show much about their competence.

7) Ask them to deliver a written deliverable of something reasonably advanced. Stuff like a suggested database model, or a very high-level overview of a proposed architecture for whatever it is you are building. This will usually be paid work, between 4 and 8 hours. The purpose is not to get the absolute right db model or architecture - it's to see a written deliverable from the developer. This is invaluable, since it requires real skill, thinking and communication abilities, while still being relatively cheap. If they cannot deliver this, they are not good enough. An exception is if you are looking for some front-end guy, then just get a sample of their markup.

8) Monitor their work closely in the first period of time (first 2-3 weeks is usually enough).

9) Be ready for disappointments. Even with all the above work, you will still not hit a good guy every time.

10) If all else fails, drop me a line, I'll be happy to assist :-)

kator 1 day ago 2 replies      
Good question. I have an associate of mine who is building a fairly large web based system with oDesk developers. He told me the other day he spent $100k "figuring it out" and has burned through some 100+ people. He now has a core of about 12 that contribute and a small core of about 4 people who are daily parts of his team.

His insight is that you want a process to bring people in and shoot them quickly if they don't work out. It's sort of sink-or-swim but with a rubber ducky that has a leak in it. If they figure out the system from documentation and start contributing good stuff the core team will start working more with them. If they're slow to respond, don't submit stuff that looks useful they just whack them and move on.

He has some pretty amazing people on his team, that said he's dealing with the typical timezone and remote worker synchronization problem that all these teams have. Recent conversations have turned towards building a core team that is "in an office together" somewhere to get core work moving quickly and smoothly with stuff at the edges being worked on oDesk team members.

I personally haven't done any oDesk projects yet but I imagine "Hire carefully fire quickly" is going to be the best advice I can give.

noodle 1 day ago 3 replies      
You don't. Or if you do, you're lucky and/or you wait in line for them.

Good developers don't use oDesk to find freelance work. They have a good enough reputation to find work through their professional network. oDesk is a race to the bottom where you compete on price instead of skills. Its a market for lemons (http://en.wikipedia.org/wiki/The_Market_for_Lemons)

I'm a contractor and I wouldn't touch oDesk with a 10 ft pole.

sparkzilla 1 day ago 0 replies      
I am using oDesk for a couple of small PHP projects now (<$500). I switched from Elance because it seemed that the developers were better. I had to cancel the first project on Elance because the developer wanted to go through the proposal line by line on Skype every day. It was too time-consuming. There's no point in trying to get $10/hr programming if it takes five times as long.

You must find someone who speaks excellent English -- it's too frustrating otherwise. The number of hours a person has worked on other projects the most important. I'm sure anyone can fake reviews. Devs will also say they can do everything, so you have to track down their specialty. I was looking for experience with date functions so I made sure to ask for that and confirm with the devs I shortlisted.

I am currently working on oDesk with a guy from India. His English is excellent and the project is going well. I pay $20/hr. I am very careful with the assignment of hours. Any extra hours are negotiated up front. If he doesn't negotiate an extension on his side then he won't get paid for it.

Another thing to consider is that you may have to work late in the night or very early in the morning, especially during debugging sessions, which can be disruptive to your life. Due to the time difference I would actually prefer to hire an American dev but I didn't see that many on the site, and I guess they would charge much more.

arnvald 1 day ago 0 replies      
I'm both freelancer and I had a chance to interview a few candidates found on oDesk. Here are my thoughts:

1. Reviews by clients are not worth much. I've had a situation where my client asked me to fix the project after previous developer, who's code was horrible, but at that time my client didn't realize it, so they gave him 5 stars.

2. Pay attention to the language candidates use - very often their summary/portfolio is written in correct English, but during conversation they make lots of very basic mistakes. I'm not a native English speaker, I also make mistakes, but quite often these people just can't communicate in English, and this , sooner or later, will become a problem for you.

3. It's better to invite developers than to just post an offer - I've seen offers starting with "ONLY DEVELOPERS BASED IN US" to which hundreds of people from Asia applied. People don't even read descriptions, they just apply everywhere.

4. Developers' summaries are overrated - I've interviewed people with "more than 5 years of experience in web development" etc. whose code was more like junior developer's.

5. Having said that - ask people for samples of their work. The best is some OS project, because then you know it's their code, but actually few people write OS. Anyway, reading the code, even just 2-3 simple files, helped me to reject a few developers who made good impression during the talk.

TL;DR: chat to see if they can use English, read their code, be sceptical about what they and their clients wrote about them.

sergiotapia 1 day ago 0 replies      
Hi there,

I've been freelancing for about 2 years now on oDesk and owe so much to that platform. It's allowed me to find great paying jobs with smart people.

Here's what I look for when applying for jobs. My oDesk rate is usually from $30 to $45 /hr - so this may not apply to the lower end of 'cheap cheap cheap fast fast' developers.

* Well written job titles. Descriptive and concise.

* Clear information on where the project stands at the moment. Is this a greenfield project? Is this in the design phase? Do you have mockups? Specs?

* Client history. If I see a client has an average hourly rate of hiring at $10/hr I don't bother applying as I don't think we'll be a good fit. Likewise if the client is new with no feedback or previous contracts completed, I may be hesitant to apply.


These are the key things I look for to find good jobs on oDesk. If you want to attract great developers, keep them in mind, they're a must!

alexhoang 1 day ago 0 replies      
I see a lot of "luck" in the comments. I have 6 years of outsourcing experience and I agree it's part luck, but there are great ways to spot out great talent on outsourcing platforms such as oDesk. I usually set aside a few thousand (not $100k like kator mentioned, but around $2-10k), and post a project on all three of the major platforms; oDesk, Freelancer, and Elance. This project will only be a small portion of the whole project to gauge how the developer works and if that is in line of how I work, can be different for you. I found more success on oDesk than the other two, but I wouldn't limit to just one source for talent.

Things I avoid:

- Groups where I have to talk to a Project Manager. Especially where the Project Manager is the translator to the team because this can cause a lot of misinterpretation and mis-communication.

- Non-English developers. This doesn't mean the developer has to be fully fluent in English, but if they can't convey their ideas via text/email where they have as much time as they need then it's hard vice versa.

- Yes-(wo)man. A Yes-man is a freelancer that just says yes on everything you say instead of coming up with other solutions. This is common when you deal with Project Managers.

Things I love:

- Talking to engineers and letting them know they can freely give any input.

- Engineers that provide feedback. I had two engineers say they can do the project in the way I wanted it, but also mentioned that they could do it a better way that's faster, safer, and less expensive. I hired them for a few more projects after that and they kept saying the same thing. I ended up partnering with them with equal shares on future projects.

If you need any more help, feel free to message me

mistermann 1 day ago 1 reply      
I've found that different cultures tend to have distinctly different values, such as the acceptability of lying and deceit, so maybe it is sad to say but geographical location is a key consideration for me.
JoachimSchipper 1 day ago 1 reply      
Considering that tptacek, patio11 and many other experienced (ex-)consultants on HN don't have many nice things to say about oDesk (basically, "don't commoditize yourself")... is oDesk a requirement?

If nothing else, HN job threads tend to be full of people looking for remote work.

(I have no experience with oDesk, on either side.)

bstar77 1 day ago 2 replies      
I generally hire devs on odesk for front end work (css/html). We'll put out a request for work, interview the most promising candidates and hire 2. Both of them work on the exact same thing, we just choose the better implementation in the end.

This works for front end development to mitigate risk. Every time we get a very clear winner and it's not always the one we predicted before hand.

I would never use odesk for architecture work, that's what my job is for. Mission critical systems should be developed internally, or at the worst completely understood by someone internally.

odesk is also fantastic for advise or simple scripts on things I don's specialize in. I can often get a script/optimization in an hour that would have taken me a day to figure out myself.

TimPC 1 day ago 0 replies      
I think in general the experience on oDesk/elance type sites is pretty bad. I don't include it in my search at all because I have close to zero tolerance for being on webcam as a form of logging hours (Pretty much every contract I do has a bunch of work away from the computer). In order for me to put up with that you'd need to pay me a large premium. You also either need to not assign me any work complicated enough to want to do pen and paper/whiteboard work on or pay an additional premium to make up for the unbilled hours (similarly if I have to start a webcam every time I reply to off hours e-mail or it's free (especially if my off-hours e-mail responses are unbilled if I answer on a phone). I imagine a lot of senior contractors feel similarly, oDesk type sites seems to have a lot of bad experiences for contract work and a lot of joke employers enough so that it doesn't become a part of your get work strategy if you have other good ways of sourcing work.

With regards to recruiting and the 20% good recruiters charge, most companies are set up to expect recruiting fees and don't convert the extra cash into rates or wages when they don't have to pay them -- in theory a company that spends $0 on recruiting fees should have 20% more to pay, in practice it almost never works that way so avoiding recruiting fees seems to be a one-sided benefit. If you're good enough to get quality contracts through a good recruiter, you're not going to make more money on oDesk and you'll lose billable hours to managing site profile, and going through entire bid/negotiation and in some cases estimation processes without getting paid. Assuming that most contract developers feel the same way, the site is likely to cater to the bottom of the market, which makes finding talent extremely hard.

Remote work has it's own challenges, the things that I've found essential is:

- Great communication- Great documentation- Smart lightweight processes- At certain stages of company avoid outright remote (even 9 days remote + 1 day in office every 2 weeks is a very different animal from outright remote -- you actually meet everyone in the company in person in one of these two cases)- Personality and culture fit as well as general empathy are important: negotiation and responsibility under pressure with people you've never met in person is difficult.- Great management- Manage time zone differential if the product is subject to lots of change: (12 hour cycles for back and forth Q&A on something that's unclear is extremely expensive).

Note that by great in the above requirements, I mean higher quality than most early stage start-ups achieve.

JacobJans 1 day ago 0 replies      
I don't have any experience with oDesk, or with hiring developers, but I do have a lot of experience hiring writers on such sites. I have had good successs, but it was a learning process. Here's a little bit of what I've learned.

You have to be very careful about the type of job you hire for. It needs to be highly structured, with very limited flexibility. The instructions I post are often as long as the document that needs to be written. Because my instructions are so explicit, there is little room for error. They know exactly what they need to do, and how to do it. If they screw up, I take it as a failure in my instructions, and tweak them for the next time.

The job details also include something about how they should write their bid. I usually ask them to write a sentence that indicates their understanding. This is usually specific, and relevant to the job, such as a list of topics they're able to write, based on the job description. You'd be surprised how many people don't do this. It's a quick and easy filter.

Once the freelancer has successfully completed an assignment with me, they've earned a little bit of trust. I'll hire them again. Eventually, I'll give them more flexibility, more pay, and more challenging work. Most freelancers won't get there, but that's OK. I've structured things so that it's hard to fail. It's also not particularly easy to get ahead. They've got to pass the filters.

atlantic 1 day ago 0 replies      
You can't hire solely based on profile, as it may or may not be factually correct. Instead, the key indicator of competence is the number of projects a person has participated in, the duration of each project, and the kind of income they have made on oDesk. This should allow you to draw up a shortlist. Make your projects private, invitation only, and contact the people on your list. Start with a short Skype interview to get a feel for them. Forget tests. Start them off on one or two small tasks, which should indicate both their competence and their capacity to integrate with your team.
dyadic 1 day ago 0 replies      
I've been an oDesk freelancer for the last few months so I'll explain what appeals to me about a client / job. My hourly rate makes me an outlier on the site however, so this is less applicable if you're after cheap and good.

The easiest way to find good developers is have them come to you, and the best to way do that is to have a good job ad.

* Tag the ad with the appropriate tech

* Add a high level description of what the job is. Not just technically, but what is being made too. Also, whether it's as part of a team or completely autonomous.

* Include links, to a company website if you are one, or to your own website / twitter / github / etc if you have them.

* Post hourly jobs only. Fixed price jobs may be appropriate sometimes, but only if they're fully specced out to avoid scope creep.

* oDesk allows you to specify the experience level you want (Entry Level - $, Intermediate - $$, Expert - $$$), treat this more as how much you're willing to pay rather than the real experience level. Ideally, they should correlate, but they often don't.

Tagging the ad with the tech is important, I have a filtered view on the job feed to remove all that isn't relevant to me. I see only ~10-15 new jobs per week and may apply for one or two of them. If your ad is tagged and it's something that I'm interested in then I'll see it.

Next, filtering out the less good / less interested freelancers by making the job application process a little more difficult. Many freelancers spam out applications without even reading the ad contents, you want to exclude them.

* I've seen some ads that ask freelancers to include a certain word in their application so the client can filter based on that.

* Even better (IMO), and the best way to find good hires, is to include a couple of your own questions in the application. oDesk allows you to set these in addition or instead of the standard cover letter approach. It will filter out a lot of freelancers that are solely spamming out applications and don't have time for anything that doesn't fit the standard template. Those that get through, you can filter them on their answers.

Once you have a few freelancers that you're considering hiring, send them a bit of extra information on the job, maybe discuss it a little, set up a Skype meeting. Don't go overboard here, it should be a short-ish process, not a free consultation.

Then, hire someone. If it doesn't work out, we're easy to fire.


An additional note on the job ad (from experience), be honest in it about rates etc. Don't tick the "expert" box if you're looking for someone at $cheap/hr. If you're a startup that's looking to pay in equity that state that up front instead of after going through all of the above.

sogen 1 day ago 0 replies      
chatmasta 1 day ago 0 replies      
It's very hit or miss. I've had success hiring people on elance, and actually not too many misses. If you're a good judge of talent, you should be able to screen somebody on Skype and know pretty quickly whether or not they know what they're doing. If you think they are okay, then pay them hourly on a small job. If it works out, give them a bigger job, and so on.
aytekin 1 day ago 0 replies      
This method worked really well for me:https://medium.com/jotform-form-builder/today-i-hired-6-deve...

The developer I hired worked out well and he is still employed.

dotnick 1 day ago 0 replies      
I have to ask; why oDesk? (or Elance or freelancer.com?)

I moonlight on Elance but I'm trying to build a solid portfolio to get away, and I think most decent remote workers do the same, mostly because projects posted on these websites are a race to the bottom.

I would say stay away; you're better of posting the position on the 'Who is hiring' thread here on HN, careers.stackoverflow etc.

If you insist on hiring developers from freelancing websites though, my personal opinion is:

1. Have a realistic budget. You get what you pay for. Yes, there are differences between countries, and not everyone needs to charge $100 an hour to make ends meet but when you're hiring a developer for $15 an hour (from anywhere in the world), you're taking a huge risk.

2. Don't bother with job posts, the signal to noise ratio is too low, especially when you specify a decent budget. Just search around for developers with solid portfolios. Don't pay too much attention to reviews, all it takes is one bad client who's not able to communicate to ruin your 5-star record.

EugeneOZ 20 hours ago 0 replies      
Try to find a team-lead first, who will take care about architecture, will help you with interviewing candidats. You should be sure in skills of the team lead, so it will take some time to find 100% matching person. If you have tech guy/girl already in team who really thinks he/she can be team lead (and maybe even have experience), start hiring developers with she/him.

Post a job - maybe somebody is looking for a job and you can't see him/her. And try to find them also - maybe they are working so hard that even don't have a time break for job searching.

Mankhool 1 day ago 0 replies      
In my experience using sites like oDesk was too detached from any community I consider myself a part of. Speaking only about my first (and only) app development, I found my dev here. And when he had to move on I toyed with Reddit, but in the end came back here for FsF and found another exceptional person very quickly. Both of my hires were remote, but because they were part of HN that gave them credibility - because they are interested in "this thing that we do" and don't want the distraction of social or loss of time being on, FB for example, or being buried in the bureaucracy of something like oDesk. Just my 2 dirhams.
GnarfGnarf 1 day ago 0 replies      
I've had some very good experiences on oDesk. One guy in Ukraine did a complete project in Flash for a really good price.

Review the applicants' portfolios thoroughly. They are a good indication of experience and ability.

The trick is to have very extensive, clear specifications. Also, oDesk is good when you need a specific technical problem solved.

Set some defined milestones, make sure they are met, bail if there are unmistakable signs the contractor can't cut it.

gbachik 1 day ago 0 replies      
You don't its as simple as that!Those sites are terrible!

I've tried multiple times over a span of 4 years and never once had a good experience or even got a single project done -.-

WWKong 22 hours ago 0 replies      
You don't
dominotw 1 day ago 0 replies      
you dont.
binceipt 1 day ago 2 replies      
avoid developer from india
binceipt 1 day ago 0 replies      
avoid developer in india
Ask HN: What music motivates you? Any genre. Go.
2 points by rblion  12 hours ago   5 comments top 5
brotchie 8 hours ago 0 replies      
List of my most frequently played Spotify tracks that I've fav'ed while coding. Mostly discovered through Spotify radio.

    Action Bronson - Shiraz    Feed Me - Rat Trap    Gammer + Whizzkid - We Killed the Rave    Michael Woods - Flash Hands    Robyn - Hang With Me (Acoustic)    ATB - 9pm (Till I Come)    K-391 - Electro House 2012    You Blocked Me on Facebook - Internet Friends    Groove Coverage - 21st Century Digital Girl    Vinylshakerz - One Night in Bangkok    Tantrum Desire - Reach VIP    Kdrew - Bullseye    Pegboard Nerds - Razor Sharp    Disclosure - You & Me - Flume Remix    Todd Terje - Inspector Norse    Flight Facilities - Crave You    Friendly Fires - Paris    Chromeo - Jealous (From the Google Watch ad)    Flux Pavilion - Freeway
And for fun:

    The Chainsmokers - #SELFIE    The Teenagers - Homecoming

biff 9 hours ago 0 replies      
Artist: Soundgarden. Badmotorfinger, Superunknown, and Down on the Upside, specifically.

Devo is my go to for programming music (Freedom of Choice, New Traditionalists, Oh No! It's Devo). Not gonna lie, you may well hate them, but for whatever reason Devo works for me when I'm trying to focus.

Also a big fan of the album Love by The Cult and pretty much anything by David Bowie or Rush. For newer stuff, Zero 7's Simple Things is really chill. Also, if you're really looking to zone out to something esoteric, Bethany Curve and Children of the Bong are nicely mellow. The album Who's Next by The Who is also great. Guess I'm just dumping my Spotify playlist out at this point, pick and choose what you want? :)

mkal_tsr 12 hours ago 0 replies      
I have an entire playlist dedicated to folk-metal drinking songs, enjoy - http://open.spotify.com/user/shortkid422/playlist/2uNWN1AEQO...
hisham_hm 11 hours ago 0 replies      
"Ceiling Unlimited", by Rush.
Yaa101 11 hours ago 0 replies      
Boss tunes...
Ask HN: How do startups restrict employees from accessing private user data?
22 points by GuiA  2 days ago   14 comments top 5
patio11 2 days ago 2 replies      
One of the first thing your DevOps team is going to do as you grow is make sure that employees don't have unrestricted access to the production DB / console access / root on the production web tier, since down that path lies madness.

This comes down partly to policy and partly to tech. The policy, disclosed early and often, is that misuse of customer data is an instant firing offense. Google, Facebook, etc have indeed terminated people over this, often literally count-the-minutes after the fact of the misuse became known to other people at the company.

Tech-wise, it's spiritually similar to other security measures. You lock down access on a need-to-have basis, you log the heck out of extraordinary requests for access, and you audit those requests.

e.g. Many companies will eventually develop a Use The Software As User X feature. At some, this requires you to a) be logged in as a privileged employee, then b) click to activate the feature, c) write an explanation why you need access to User #12345's account, and d) checkbox that you have receive #12345's consent for this. (I know some companies that skip D, largely in B2C.) When you hit submit, that logs it to the DB and fires an email to the audits@ email address, which goes out to 5 different people, or pipes "Patrick just logged in as #12345 because [chasing down display bug -- customer reports unescaped HTML in the message window, can't reproduce on staging or with own account]" into your team's HipChat/etc channel.

jlawer 2 days ago 0 replies      
I've really only seen 2 core approaches to this:

1.) Free Access to everything. You trust everyone and hope it works out right. This is the simplest solution, but offers nothing to prevent someone violating that trust.

2.) Lock production down to a trusted team. Typically this is done with a full dev / ops separation. Dev build the site and test, Ops run it live and have access to the live database. You trust 3 people in ops fully and no one else. Locking down production often entrenches rivalries between dev and ops, and makes debugging performance issues a PITA as dev typically don't have access to the dataset that is exhibiting the problem.

I've seen both work and both fail, and neither protects you from a trusted employee screwing you over.

What I have seen work rather well though is audit logging. Logging all access to the key systems and periodically (and randomly) auditing access. I've seen this done at the db level, system level and app level before. Basically the story is not that you will be prevented from doing something you shouldn't, but if you are that you will be held accountable for it (typically on the spot termination). However to be effective the company needs to be able to take the high ground and be consistent. This won't work if someone (co-founder, manager) is doing a similar thing and getting away with it.

As long as the data isn't high value (Credit Cards, etc) enough to make the opportunity cost worth it, knowing you will loose your job provides enough to make most hesitant to break the rules.

eshvk 1 day ago 0 replies      
Also, what if you are a data scientist? Yes, you could encrypt User IDs. However, when even publicly anonymized datasets can be reverse engineered, surely, a person in charge of feature selection and access to company datasets could wreak havoc even under the restriction?

I am specifically curious how Facebook/Google/NFLX which are companies with massive datascience teams handle this.

donavanm 2 days ago 0 replies      
Trust but verify, ie tamper resistant auditing, works for low sensitivity data. It's also an investment you'll never outgrow. When you get larger, or more sensitive, its time to implement something like a Two Man Rule. Take your pick of implementations of Shamirs Secret Sharing. And lastly, my favorite, operators of the service can not access customer data without explicit permission from the customer. A friend implemented this, Grendel, as an internal service at Wesabi.

Personally I dislike identity impersonation schemes, even between internal services. It leads to poor visibility and accountability. A proper Auth/Authz/RHAC scheme where the customer expliceitly grants specific priveleges to your internal service, and delegates, works better long term.

edoceo 2 days ago 0 replies      
My early stage employees and partners are too busy interviewing customers, writing code a getting shit done (or commenting on HN) to waste the time looking at inane things posted by GP.
Ask HN: Is it always a good thing to be a "serial entreprenuer"
3 points by jmnicholson  1 day ago   1 comment top
krrishd 1 day ago 0 replies      
I'd say its good in the first context. But when I hear the term, I usually think of the second one.
Ask HN: What horrifying and/or terrible things have you seen in production code?
11 points by jackweirdy  1 day ago   18 comments top 13
vijayaggarwal 1 day ago 1 reply      
I've seen many things in my 10+ years of coding, Here are some favourites:

* No authentication check on any page after login page. (You could type in any URL in browser address bar and gain access).

* GET request updating home page related content in database. (A few of these GET request was picked up by Alexa bot and we hard our home page content change randomly for many days. We had a real hard time troubleshooting this one).

* Use of mysql_query() in PHP. (Deprecated mote than 10 years ago. Opens doors for SQL injection).

* Use of loop variables i,j,k,l,m for 5-level nested loop. (Too error prone and difficult to read).

* Unit testing applied to a highly monolithic code. (The hacks for isolating code units produced more garbage than the code itself). It was a legacy code and the management blindly ordered writing of unit tests when a few bugs were caught in production.

sergiotapia 1 day ago 1 reply      
* Horrible duplicate code.* Functions with more than 200 lines.* Functions with about 16 parameters.* A deploy process that consisted of copy and pasting using FTP.* No source code control. Not even regular file backups, the 'code' was just on production and everybody worked against that.* If else cases in the double digits.
S4M 1 day ago 0 replies      
In a video game company, something like (it was in Action Script, I don't remember the exact syntax of that language):

    public class ScoreManager {         //some statements         public void updateScore(Action action) {              int n = action.entityDestroyed;              if n < n1 {                   playSound1();                   score += 100*n;              } else {                   playSound2();                   score += 200*n;              }          }    }
I had to deal with that piece of code for something, and asked the developer to move the functions playing the sound out of the ScoreManager class so I could reuse it, and he categorically refused without giving me any explanation.

EDIT: typos

thejteam 1 day ago 1 reply      
A function that consisted of a giant switch statement, with each case consisting of another switch statement. Half of the sub-cases contained GOTO statements back to the top of the function.

Even worse... I wrote the code. It was 2am, I had been working for 18 hours straight to get everything ready for a demo the next morning.

Even worse than that... the code worked so management wouldn't let me change it. I tried my best to find an edge case it wouldn't handle but never could. So the code shipped.

dwarman 1 day ago 0 replies      
A company for which I used to work decided to buy rather than invent some new technology. In this one case, after the principles had taken their money and run, I was asked to look at the IP that money purchased. This came in the form of 8 8" floppy disks (dating me:). At the time I was in a metrics MSc class, so I decided to write a comment stats program, and ran these disks through it. With a alarming result - precisely 1 comment. And when I searched it out, it was this:

"I don't know why this works"

Oops. After that they put me at the front end due diligence instead of the back end.

adolfoabegg 23 hours ago 0 replies      
It was 2005, I had to execute an Oracle function from c#. The PL/SQL programmer that created the package/function told me that the function will return a single string.

The returned string had the info a customer concatenated, like this:

    Pete      McDonald  5519500303
The instructions - to extract the data - were:

  The indexes from 0 to 9 will contain the name (please trim the trailing spaces)  The indexes from 10 to 19 will contain the last name (same, please trim)  20 to 21 will contain the age of the customer  the rest of the string contains the customer's birthday
EDIT: formatting

twunde 1 day ago 0 replies      
Upon login, an application that created a new database for the user and then imported ALL the data from the api before allowing the user to continue to the next screen. The database would be dropped upon logout. Login times were in the hours if it was successful at all.

And now think about the security and data integrity problems that implies.

mschuster91 1 day ago 0 replies      
Passwordless sudo for www-data and a shellcode injection attack give a pretty nice exploit vendor.
rachelandrew 1 day ago 1 reply      
I used to do quite a bit of troubleshooting/rescuing half finished projects, or live things that had no developer involved for one reason or another.

Not that many years ago I was still seeing people storing credit card numbers in plain text files on servers, and sending them unencrypted via email.

scdna 1 day ago 0 replies      
- no index on the db with even more reads than writes

- duplicating full data set to handle offline sync of data between a client and a server

- over 1000 lines of java per source file

Edit: formatting

GnarfGnarf 1 day ago 0 replies      
Jumping (GOTO) out of a subroutine directly back to a label in the main code.


Sorting months by alpha name.

andrewstuart 1 day ago 0 replies      
All the code I wrote.
BenMorganIO 1 day ago 0 replies      
XUL code and I had to install Firefox 16.2. Was not happy.
Ask HN: What do you listen to while coding (and how)?
19 points by dennybritz  1 day ago   33 comments top 28
sytelus 1 day ago 0 replies      
It takes time to "train" Pandora but I've been at it for 3-4 years now seeding with all the tracks that are great for coding and thumbing up when I hear something that promotes going in to zen mode. The results are great and now this is my favorite music source in everything else I've tried out: http://www.pandora.com/station/play/164715539305919382. The status features mostly vocal-free distraction less music with rhythmic beats that puts you in the zone and occasional uplifting tracks that keeps you going.

I've also found this music station to be very anti-procrastinating. If you feel like procrastating, just press the play button and suddenly you would want to get back to coding :).

bichiliad 1 day ago 0 replies      
If it's complex / thought intensive, brown noise on http://www.noisli.com/

If it's something I can just crank out, and I've thought about the overall design, I keep a list of soundcloud favorites (https://soundcloud.com/basik/likes and http://thudsandrumbles.com/). I always look for new things, though. Today, I listened to Christopher O'Riley cover Radiohead.

hansy 1 day ago 0 replies      
Classical on Pandora. I used to listen to EDM, but I couldn't concentrate on my work. I guess I subconsciously associate EDM with going out, having fun, etc so my mind just wanders.

The Classical station on Pandora (at least my station) isn't just the "stuffy" Beethoven pieces, but also incorporates really cool string or piano covers for famous songs. Try it out.

a3n 1 day ago 0 replies      
I'm a big fan of quiet. I find that music determines my mental rhythm, and what I'm thinking about or constructing doesn't have a regular rhythm. For me personally, music interferes with thinking about something specific, so I only listen to music when what I'm doing is Listening To Music, or if I'm OK with letting my thinking wander.

I realize I'm unusual in this.

existencebox 1 day ago 0 replies      
Goodness. Just about anything, but I guess of note due to unusuality would be that when I need "motivation music" I'll code to Moombahton/trap/hip hop; It's the same sort of mood I get into during a good workout.
shoo 13 hours ago 0 replies      
i've been listening to albums on youtube lately - it recommended me this the other day: https://www.youtube.com/watch?v=y1v3NeGtm_Y

it's pretty crazy. i (re)wrote a lot of code to it yesterday.

mkal_tsr 1 day ago 0 replies      
Soma.fm for ambient, drone, chillout, lush, and a few other channels. Otherwise Spotify for streaming most of my music or what I have locally (which I usually play in an old winamp version). Lots and lots of youtube related videos for image-only song videos on youtube.

As far as music content, it's usually metal, psybient, folk metal, chillout, drone, and classic rock.

snarkyturtle 1 day ago 1 reply      
Essential Mixes via bootlegged mp3s are awesome to code with.

I've also been following THUMP on Soundcloud and they've been putting up a fair amount of awesome mixes: https://soundcloud.com/thump

nastynash 2 hours ago 0 replies      
You can try deepmix.ru.

It's an Internet radio station where every song is mixed with the following. I mean, no dj speech, non-stop chill-ambient music.

jlteran 1 day ago 0 replies      
I like listening to Electronic Dance Music because it gets me pumped and I can code for longer hours at a time. A good source of the latest EDM is Spinnin' Sessions on Youtube. They roll out 1 hour sessions every Thursday. http://bit.ly/1gX4ge6
wglb 1 day ago 0 replies      
Generally, total silence.

If in busy environment, I put on some headphones/earbuds and maybe a little Dave Brubeck.

mppatterson 1 day ago 0 replies      
Surprised no one has mentioned Focus at Will (https://www.focusatwill.com/). I've had huge productivity boosts while listening, whether it's programming or writing emails. The free version is nice, but the paid version is really worthwhile since you get a much wider variety of music (it adds an "intensity" option to each genre).
kumarishan 1 day ago 0 replies      
I dont really listen to music. But sometimes I like to run an action packed movie in the background. The movie shouldn't be new to me, preferably in other language too. Maybe I like it because of adrenalin rush. :).

Even those rainy moods are better than music.

Music distracts with an urge to sing with it. And with instrumentals I get bored soon.

Oculus 1 day ago 0 replies      
I'm actually a huge fan of Tycho. I like the music I listen to to be good when I pay attention, but not overwhelming while coding.
dankoss 1 day ago 0 replies      
I listen to a variety of stuff on Spotify now but when I listened to EDM more exclusively I would hit the di.fm online radio stations.
vijayaggarwal 1 day ago 0 replies      
I listen to Vedic chanting. Even though I understand nothing (I know very little of Sanskrit language), the music itself is very relaxing and helps concentrate.
leostatic 1 day ago 1 reply      
EDM on http://8tracks.com most of the time. If not EDM, then alternative but it's always on 8tracks. I love that site.
kafkaesque 1 day ago 0 replies      
Nobody has a Spotify playlist for this?
cl8ton 1 day ago 0 replies      
Depending on time of day

I either listen to Reggae (Banton or Tosh) or Swedish House Mafia (Techno) all via Youtube Channels

noiv 1 day ago 0 replies      
rdtsc 1 day ago 1 reply      
somafm.com -- drone zone, space station or groove salad stations
MarcScott 1 day ago 0 replies      
BBC Radio 4
pizza 1 day ago 0 replies      
the velvet underground
ForHackernews 1 day ago 0 replies      
Bubblegum pop on Pandora.
publicprivacy 1 day ago 1 reply      
vaporwave /r/Vaporwave
Ask HN: What are you learning right now?
24 points by brickmort  4 days ago   35 comments top 28
rubiquity 3 days ago 0 replies      
I'm spending a lot of my free with Erlang and Elixir, a Ruby-syntax inspired language that runs on the same VM as Erlang. I'm enjoying Elixir a lot and finding it adds some clarity to the little things I'm writing with it.
mswen 3 days ago 0 replies      
I have been learning about mapping. Using leafletjs to incorporate mapping elements in web applications. Building check-in operations based on current location, placing markers/icons and modifying the icon color to represent data values and making it easy for users to contribute location data that is currently missing from the data set.

I am also exploring options for efficiently storing sparse matrix data, doing automated statistical distance/similarity analysis and storing all-to-all distance measures back into a database.

rthomas6 2 days ago 0 replies      
SICP. It's my first introduction to functional or object-oriented programming. It's making me want to minimize mutable data/state in my projects from now on.
brickmort 3 days ago 0 replies      
I'm a Python programmer but I have some familiarity with Java, but I haven't really touched Java in over five years, so I've been refreshing my mind with the recent Java 8 docs and it's been a pretty fun experience so far.
27182818284 3 days ago 0 replies      
R programming, Android development, and Lisp programming with Norvig's book.

Android development. So far, it is the exact opposite of what fun with computers is.

partisan 3 days ago 0 replies      
Grails. I'm a C#/.NET programmer. I've been trying out Scala with Play, and Clojure with Luminus, and RoR before then. Grails is making me the happiest as an open source alternative to C#.
mbrownnyc 3 days ago 1 reply      
I'm learning how to be better. I started reading Farnam Street about two months ago, and picked up Ryan Holiday's The Obstacle is the Way two weeks ago. Meditations: A New Translation and Thinking Fast and Slow are on their way. I'm facing not a crisis of self, but a realization that I am at a point where in order to move forward, and achieve what I want to achieve, I have some huge ego driven flaws that require a megalithic perspective shift.
krapp 1 day ago 0 replies      
SDL2 in C++ and Android development.
zachlatta 1 day ago 0 replies      
AngularJS and devops. CoreOS is so cool!
zipc 2 days ago 0 replies      
Django and the Django Rest Framework. I develop android apps but it feels I lack skills in creating web services. Also, I'm learning how to solve problems - it's a tough one
borplk 3 days ago 0 replies      
Learning the Ada programming language. I can't believe I had not looked into it all this time. It's awesome.
dotnick 3 days ago 0 replies      

A lot of people suggested I get straight into Swift but some of my clients need help with their existing apps so I chose to start with Obj-C.

gaze 3 days ago 0 replies      
Quantum weak measurement and generating GPU code in haskell
springogeek 3 days ago 0 replies      
C# for use with XNA.Working on an indie xbox/Windows game which I hope to port to MonoGame and other platforms.
jason_slack 3 days ago 1 reply      
OpenGL and Chinese.
Chetane 3 days ago 0 replies      
Learning to make my first iOS app using Swift within 2 weeks. I'm almost done the first week...
whostolemyhat 3 days ago 0 replies      
I'm picking up Node at the moment. Express makes it incredibly easy for me to knock up a REST API.
Kakashi 3 days ago 2 replies      
Japanese. Got the JLPT N3 in two weeks.
sevilo 2 days ago 0 replies      
programming-wise, AngularJS. Reading a few typography books on the side (finding it really interesting by far) :-
murtza 1 day ago 0 replies      
tylerpachal 3 days ago 0 replies      
Machine Learning and Korean!
rmaratos 3 days ago 0 replies      
JQuery! Can't believe how much I do in just a few lines.
smoothgrips 3 days ago 0 replies      
Started a project using AngularJS. I'm finding it quite fun and exciting. I have a decent JQuery background and find myself having to actively refrain from using JQuery. Trying to learning the "Angular way" of doing things.
kovrik 1 day ago 0 replies      
Learning Clojure
oseifrimpong 2 days ago 0 replies      
I am learning RoR and Bootstrap.
fatalness 3 days ago 0 replies      
Linear algebra by the David Poole's book "Linear algebra: A modern introducing" (not even learning seriously, just refreshing 'cause I am CS-graduate
kull 2 days ago 0 replies      
Angular js
gabemesq 3 days ago 0 replies      
Fuck yeah ok? Kiss lobe
What do I need to know before I start consulting?
8 points by twunde  2 days ago   14 comments top 13
philbarr 2 days ago 0 replies      
I've been thinking about consulting myself, and have slowly been working out solutions to those problems. Remember this is from someone who doesn't actually consult yet though. But since I seem to be the first one to comment here goes nothing:

1 - I'm in the UK so not a problem. But if I was in the US and didn't have a regular income, no immediate life-threatening diseases and was just starting out I'd be tempted to let that slide for a few months. Put it on the priority list for when you get stable.

2 - Think of yourself as your customer that's looking for a consultant. Find consultants in your local area-ish and ask them what their rate is. Make it a bit cheaper than that to start with and be honest with your customers that you are just starting out, "so you're getting an experienced dev for cheap but I would like to use you as a reference."

3 - As much work as you can get to start with! Never stop looking for business. Even if you're jammed with work right now (and you're not) you should expect to spend some of your time each week "feeding the pipeline". Also remember to sell support contracts to your customers as much as you can, this is where you're going to get your regular income. You charge more for "instant response" and on-the-day fixes. Free tech support is "I'll answer an email when I get a chance". It also makes sure that your customers know that just because you did some work for them that doesn't mean they now get 24/7 support for free for life.

4 - I've worked from home for 3 years and I like it. Some don't. Either way make sure to get some social interaction. I have a dog I walk to the pub :). Another good way to meet people is to join a gym but then do the sports clubs there - I've joined the squash club and we meet every Thursday and Sunday. It's good because you meet different people and it kind of forces you to get out. Also remember to put in a bit of effort to see friends and family. It takes a little more effort because it means you have to get off your arse and out of the house - but it's not that much more.

5 - Sales, sales, sales. Who are your contacts? What business meetups are there in your local area? Is your website setup with your own domain and clean and professional? Do you have business cards? You're not just a dev now, you're a businessman/dev.

Hope this helps...

poulsbohemian 2 days ago 0 replies      
Realize that you are going into business for yourself. Bread will only arrive on your table and the mortgage will only get paid through your blood, sweat, and tears (not speaking figuratively at all here). You have to hunt down that prospect, turn them into a customer. You do the work, you do the billing, you nag them until they pay the invoice, and gee wiz, you may have accounts payable before you have accounts receivable.

1) Health insurance: assuming you are in the US, you buy it - try ehealthinsurance.com, your state's health exchange, etc. 2) You figure out what your customers can afford relative to what your competitors are charging3) As much as you can get, from any source you can find. Build a sales pipeline, you are in business for yourself now.4) There's no time for social interaction, you are self-employed. Any time you aren't doing the work, you need to be doing sales, bookkeeping, marketing, updating your website, writing new work proposals, and half-a-dozen other things. Your only social interaction will be with customer and prospective customers. I'm only partially kidding.

I'm assuming the 20 hours/week that you are doing now is in addition to a full time gig. If that's the case, keep your day job. Keep doing these moonlighting gigs (and saving the money from them!) and use them as a test to help you figure out things like a) what to charge b) what it takes to win new business c) how much work you can handle. When you have enough work built up that it is overtaking your day job, then you'll know it is time to quit and go full time on consulting.

Good luck!

brudgers 2 days ago 0 replies      
Number one, above everything else:

Work is never lined up for a consultant. Either you have a signed contract and a cashed retainer, or you have a job you are chasing. There's no in between because lined up work doesn't pay the bills. People cancel projects. Consultants get underbid. Start dates get moved back. There's no paycheck on Friday.

As a corollary, clients are people with whom you have a contract. Paying clients have already written you checks. Great clients have written you lots of checks and done so quickly and without hassle. Everyone else is a potential client or a deadbeat. Don't work with deadbeats. Don't pursue potential clients that give you clues they will be deadbeats.

Insist on a retainer applied against final invoice. The arguments a potential client gives against a retainer will be based on their concept of business. If that model is that everyone tries to scam everyone else, take it as a tell about their future behavior.

Lastly, discount all future payments to zero. Don't plan around getting paid on a particular day. Don't plan on getting paid at all by any particular client until you really know their business model inside out and have done enough repeat work with the client that you can describe where your money comes from in their process. Even then you should discount to zero because outliers happen, but nobody can.

Good luck.

wikwocket 1 day ago 0 replies      
Regarding insurance, shop around. Look to the government healthcare exchange, but also check with your credit union, home insurance provider, local agents, etc. Ask agents about the pros and cons of low/high deductible, coinsurance, maximums, etc.

Regarding pricing, price based on value, not cost. Don't come up with a rate by saying, well I used to make the equivalent of $30 an hour at my day job, so I'll change $40! Instead work on finding projects where you can build something that makes or saves a customer many thousands of dollars, and charge based on that value. As you gain business/industry knowledge, develop a pitch that communicates this. As you become more experienced with scoping and delivering projects, switch to weekly pricing or project pricing, in the $X0,000 range.

The other reason not to come up with a rate based on your day job is that you now need to cover insurance, time off, dry spells, non-paying customers, etc out of your own pocket. Make sure whatever rate you do settle on accounts for all of this.

Finally, talk to an accountant and a lawyer. You're going to want to know what's coming before tax season, and you're going to want to have signed agreements (preferably with cash down) with customers.

eswat 2 days ago 1 reply      
2) I assume youre charging by time. In that case do some research on what your local competitors charge and find a balance between that average amount and what youre comfortable with based on your experience. Dont be afraid of increasing prices. Once you get some experience under your belt, look at value-based income[1].

3) I do a guesstimate on how much I can actually work in a week - a bit more than the 20 hours you have, but not 40 - and allocate clients to that time. Most of my current clients are people I have worked with in some capacity, but going to meetups and talking to people about your business helps get new clients as well. Always be selling, even to friends.

4) Ironically I get more social interaction now than when I had a full-time job, mostly due to compressing my work schedule which offers more flexibility for meeting with people (having lunch with others in my industry, going to meetups earlier and staying later to network, etc.).

I suggest just working your damn hardest during the day so you save enough time to get some proper social interaction after work. Co-working spaces are another avenue, but if anything I found people less talkative in these setups than an actual office (in Ottawa at least).

5) Think about getting an accountant, even if you think you dont need one. Sooner or later youll need their help for some trivial thing you didnt account for, such as signing a new apartment lease and being able to prove your income.

And be open to collaborations if possible. Working with other consultants on a project that they cant quite get off the ground will help both of you than working individually.

[1] http://breakingthetimebarrier.freshbooks.com/

twunde 14 hours ago 0 replies      
I just want to thank everyone who replied. There is a lot of great information in this thread. Who knows, maybe in a while I'll have a blog post about going solo
canterburry 2 days ago 0 replies      
Charge enough so that you can afford downtime and choosing your gigs rather than having to take whatever comes your way. Being short on money forces you to take whatever low paying work you happen upon. Low paying gigs make you short on money. It's a vicious cycle.

My consulting gigs where usually long term 9 months+ full time with 3 - 4 months of downtime during the year. You need to charge enough to easily last 6 months without a gig and still afford to be choosy, pay yourself retirement, healthcare, vacation, savings etc.

robbiea 2 days ago 0 replies      
A lot of great advice in this thread. My input is to get involved in organizations that are the most likely to help you find clients.

If you're a digital marketer, get involved in digital marketing meetups. If your clients are most likely lawyers, go to lawyer meetups. When I say get involved, I mean really get involved. Get a position on the board. Immerse yourself in the community where your clients are.

JSeymourATL 2 days ago 0 replies      
In terms of time management- a solid idea to consider from David Maister, split the day into 3 categories:

1)Income Time (serving clients)

2)Investment Time (creating ones future)

3)Individual Time (everything else)

The essence of this approach is to start treating your investment time as serious as income time. This will significantly affect your future success-- and lifestyle.

Look up Alan Weiss on consulting > http://www.amazon.com/Million-Dollar-Launch-Kick-start-Succe...

Im_Talking 1 day ago 0 replies      
You know you have hit the perfect pricing point when the client says to you: "You do great work but fuck are you expensive". This means they can't do without you but cringe paying the bill.

My other advise is don't be a consultant. No leverage, no building value, no holidays (trust me on this), no security (you're always first to go). My advise: find a pain point and build a product.

cafard 2 days ago 0 replies      
Might I recommend Gerald Weinberg's The Secrets of Consulting (http://www.dorsethouse.com/books/soc.html)? Much of it is written in a light and amusing manner, but he hits a lot of the points people have mentioned here.
nuff 2 days ago 0 replies      
I started consulting about 2 years back. The most important thing I have learned is Cash Flow management. Always keep in mind the 'earned money' is going to be in your bank account for a while. Sometimes for over a month. Make sure you stay afloat.
chris_wot 2 days ago 0 replies      
Watch the company you keep.
Ask HN: What are the future options for Software Quality Assurance Analyst
2 points by ankitgarg43  1 day ago   1 comment top
tiogemini 1 day ago 0 replies      
Do you know how to program? Do you want to stay technical? What are you doing to maintain and improve your skills?
Tell HN: The site was offline. What changed?
209 points by kogir  12 days ago   100 comments top 14
_wmd 12 days ago 4 replies      
I know it's crazy talk, but glancing at my own profile, I count maybe 100 bytes of data? Yet to represent that data in memory, it's going to blow up to 4096 bytes plus structs to represent the inode and directory entry/entries because you put each profile in its own file.

By that count, you might get somewhere near a 40x cache utilization improvement if you just used a real database like the rest of us do - even just an embedded database.

This of course before saying anything about transactional safety of writing directly to the filesystem

tdicola 12 days ago 1 reply      
Wow that's interesting that you use files to store the data. Is there any sharding across machines or is it all just one machine? Do you use big SSDs or old spinning disks?
bndr 12 days ago 6 replies      
Can someone explain why "Items moved from /12345 to /12/34/12345. HN now starts in one fifth the time" that increases performance? why is it better?
mariusz79 12 days ago 1 reply      
I just don't get one thing.. Don't you have dev and staging server, where you could develop, test, and pre-deploy everything without shutting down the website?
diafygi 12 days ago 2 replies      
Why worry about case-insensitive file systems if you are not using one currently?
tim333 12 days ago 2 replies      
Newbie question here - I'm just curious. Is it quicker to store the data this way in loads of files or to use Postgres?
gnurag 12 days ago 1 reply      
> and is why the site went down on June 18th.

Do you mean the site will go down on June 18th?

yiedyie 12 days ago 0 replies      
And the question for this answer:https://news.ycombinator.com/item?id=7872121
idoco 12 days ago 0 replies      
Thanks, I got so much work done today!
gdewilde 11 days ago 0 replies      
I love how hn doesn't load 150 circus elements. I can reload pages all day long.

I was just thinking.....

  function byId(id) {     return document.getElementById(id);  }    // hide arrows    byId('up_'   + item).style.visibility = 'hidden';    byId('down_' + item).style.visibility = 'hidden';
could be :

  function hide(id) {     document.getElementById(id).style.visibility = 'hidden';   }     // hide arrows     hide('up_'   + item);     hide('down_' + item);
Then it is 150 in stead of 185 chars, 19% smaller or 23% bigger.

And the function name is better of course.

sirtel 12 days ago 1 reply      
And, HN becomes responsive. ( '' ) /
bryanh 12 days ago 0 replies      
I bet some before/after load charts would be pretty impressive!
rafeed 12 days ago 0 replies      
It's definitely snappier and now looks responsive too! Thanks for the hard work kogir et al!
xenonite 12 days ago  replies      
Just curious: why are user names case sensitive?
Ask HN: Help me validate my idea
12 points by ijovanovic  3 days ago   29 comments top 18
PeterWhittaker 3 days ago 2 replies      
I see a lot of "don't do this unless..." or "why would you...".

Ignore those. Start by researching books (good, old, paper-based pbooks) that offer exactly this: There are plenty of them out there, usually one or two quotes per page, usually taken from public sources. Some of them are work related, some have a spiritual bent, etc.

Do this research just to satisfy yourself that yes, there are people who buy this sort of thing.

Next, validate the idea: Not with the HN crowd, I can almost guarantee they are not your audience. We tend to be self-starters, independent thinkers, etc. Some of us even mock the whole "motivational quote/poster/speaker" model.

Hell, how many of us would have told the guy who created "bingo card creator" to stick to his day job? Most of us. We are not good judges of the broader market because we all of us live on the fringes.

(Sure, there are one or two or a few people in here who can see into that broader but they are few. If you are lucky, some of the better ones will comment on this.)

Bring up those inspirational quote books with your friends, your family members, and acquaintances from non-tech fields. Do this in small groups and at times when people are more reflective, more willing to consider. Ask what they think of these books. Do they read them? Openly? As guilty pleasures? If they do, say something along the lines of "too bad there is no app for this". Judge their reactions.

As to how to do this, crowdsource the quotes. Create a system where people can submit (and correct) quotes with attributions, where they can upvote them. Whether or not a login is required is up to you, but if you go with a login, make it facebook and/or twitter, maybe pinterest, not google+ or roll your own, etc: My guess is that the people who would use this app will be very comfortable logging in with facebook and/or twitter, sharing their favourite quotes on those platforms, etc.

Make it possible for people to tag quotes, e.g., #spirituality, #productivity, #friendship, #peace, etc.

Have quotes of the day, featured quotes, etc.

There are opportunities for translation into many, many languages. See if you can crowdsource that, too.

Do NOT expect to make money doing this. Not because you won't (hell, I have no idea), but because that will allow you to gauge how much time to spend on it. Unless and until you have a successful kickstarter campaign or VC funding or hit a magical pricing structure that "just works", you will be doing this because you enjoy it, but it will not put food in your mouth or a roof over your bed.

Budget your time accordingly.

callmeed 2 days ago 0 replies      
This is interesting. By "quotes", do you mean quotes that are short (often funny)? Or do you mean longer, monologue-type quotes?

IMDB has a quotes page for many movies[0] and there is a quotes.list file in their text file dumps[1].

I love movie quotes and I've had the idea of a Twitter account that tweets quotes 2x a day and the first person to reply with the correct movie title would win a prize (monetization strategy undetermined).

[0] http://www.imdb.com/title/tt0109686/quotes[1] ftp://ftp.fu-berlin.de/pub/misc/movies/database/

xauronx 2 days ago 0 replies      
Not very helpful, but just in case you pitch this to people in the future..

"I am avid reader" and "I haven't read too many novels so I am not much interested in quotes from there." conflict in my mind. Like, you love reading... just not novels? I equate being an avid reader to reading books/novels. Otherwise, you're just literate.

Not trying to be a douche, just giving you a take on those first two lines.

I think an app like that would be pretty cool though. A lot of times when I'm out with friends someone will say a quote and there will be a debate on what it's from. Or, someone will quote a book and they'll get called out on it for misquoting it. Regardless, arguments ensue, and I could definitely see someone pulling up your app to settle the debate.

lukasm 3 days ago 0 replies      
I'd use such thing if this won't be just simple list of quotes. Google is good enough for it.

How do I find a quote that I cannot google? (don't remember exact wording)How do I find quote related to X?

strick 3 days ago 0 replies      
I'd recommend running this as a simple twitter account to test the concept. Reach out to people who follow the shows you are interested in. Tweet at a scheduled interval. If they don't follow it is unlikely the app would get traction. If the followers didn't grow organically once you had a core group of followers I would see that as a bad sign.

One more thought: if there was demonstrated growth and interest, you could use the twitter account to promote the app once it was released.

bennesvig 3 days ago 0 replies      
I'd download it. It would be cool if you were able to upvote the quotes like with quotes from books on GoodReads.
3rd3 3 days ago 1 reply      
> I enjoy reading quotes.

As someone who is not into reading and quotes Id like to ask what you find fascinating about it. Can you maybe give an example what kind of quotes you find interesting? Dialogs, aphorisms? Is more about entertainment or worldly wisdom? Or is it more an intellectual fascination, for example thinking through how the author came up with it and considering different interaction possibilities of the actors?

napolux 3 days ago 1 reply      
Not really helpful on validating, but here's a source for quotes...

http://en.wikiquote.org/wiki/Main_Page has an API as all the wikimedia projects.


cliveowen 3 days ago 2 replies      
The fact that there isn't any app that does the same thing doesn't necessarily means that there's an opportunity, on the opposite, it likely means that there is no market for it. Yours it's a niche interest and the app would thus have a niche market, which means you won't make money out of it. If you're okay with it and money isn't what you're looking for, then by any means create your own app.
tejasm 3 days ago 1 reply      
Wouldn't such a question on imdb or tv.com forums give you more feedback?

Personally, I'd love such app. I love quotes from Mad Men, GoT and White Collar.

jmathai 3 days ago 1 reply      
I look up quotes from movies on occasion. I wouldn't say I'm avid about it though and tend to look it up on Google when I need. That works good enough for me.

Did you envision a community that frequents the site/app or would it be a collection of quotes that rank well on Google searches?

petersouth 1 day ago 0 replies      
Sometimes I enjoy reading quotes from the quote section of IMDB. Is there a way for all of those to automatically go to an app? Maybe with something like kimonify?
cail 3 days ago 0 replies      
I doubt I would use it personally. It's not something I would use often enough to justify adding another icon on my phone. Especially when I can just look on google for movie quotes. If it added functionality to find quotes by actors or attempt to find quotes from an incomplete quote (I forgot the actual quote but know the gist) and the ability to drill down by quote subject I might use it but I'd likely still prefer it to be a website.
ThomPete 3 days ago 0 replies      
There is only one way to find out and that is to try it out.

It's not a complex app so shouldn't take you more than a few weekends.

freefolk 3 days ago 1 reply      
Your one and only problem in making this will be populating it. How will you fill it with data and/or get others to do so? It's not valuable until there's content.

You should pursue this idea if and only if you have a solid understanding of how you'll accomplish this, and why it will work. Just making this and dumping this on the app store will not work.

rweir 3 days ago 1 reply      
little reason for it to be an app, and lots of websites along these lines already exist.
subes 3 days ago 0 replies      
fortune has a large db of quotes, using it to render quotes on my wallpaper every minute


vishalzone2002 3 days ago 0 replies      
shazam for quotes..
Ask HN: How can i help my dad?
130 points by eagerNewb  9 days ago   58 comments top 26
jgrahamc 9 days ago 0 replies      
What sort of networking engineer? Could you post a short summary of his skills and experience?
drinchev 9 days ago 1 reply      
Disclaimer: I'm a Bulgarian.

My story short : I recently moved to Berlin without knowing German. I was hired 2 weeks after I started to search for a job and I had enough offers to choose the job I want ( I've graduated law, but programming is what I've been doing my whole life ). Before this I was freelancing successfully in Bulgaria for awhile and had pretty decent amount of income anyway. I moved here, because of personal wishes ( I really like the spirit here ).

Nowadays is really easy to change country inside EU, but anyway I don't believe that Bulgarian economy is unstable especially for IT. You can also check out a lot of positions in Sofia and around the country that are in extreme need for specialists ( my friends still keep complaining they can't find people, because most of them are abroad ).

Whatever your father is doing if he really knows English ( working level ) he will be offered with a job here or if the position allows he can even work remotely from BG.

If you think I can help you personally contact me.

ars 9 days ago 0 replies      
People in this type of situation usually volunteer. Your local library, school, or place of worship are the most common.

It's not as much fun as building a huge network, so you have to replace that part of the experience with the people - get to know the people there, and enjoy having them appreciate you (i.e. quality of interaction instead of quantity).

leandot 9 days ago 0 replies      
I feel your pain is genuine and I am sorry for is happening with your father. As a Bulgarian though I feel the need to say that there are several untrue facts in your post - e.g. there are no riots in BG. Also the IT sector is very strong with HP, Micsosoft, IBM etc. having offices + emerging startup ecosystem growing rapidly and I honestly have not heard anyone in IT having issues finding a well-paid job.

That being said I think you can help your father in many ways:

Support him by telling him he is doing a great job of being a father and caring for his family and profession.

You can help with the CV - I recently read an article on HN about an older guy in US in a similar position and basically it turned out that his CV was just not adjusted to the new realities of the IT world.

Be active in communities like HN and you might get unexpected help.

Checkout the portfolios of startup hubs - e.g. http://launchub.com/portfolio/ - perfection and attention to detail do mean a lot there. Contact directly, be creative -e.g. ask if they would like to have someone helping them with networking for free one month and they can then decide if they would like to hire.

If you are more adventurous try a small project on indiegogo https://www.indiegogo.com/ - I believe enough people from HN will back it. If it is a nice idea I know I will.

If it is not about the work itself but looking urgently for money - try mechanical turk or something like that to make ends meet for the time being..

Hope it helps, I wish you luck

blrgeek 9 days ago 0 replies      
Can he do these things remotely?

Can you help get overseas projects?

Can you setup a profile on eLance/etc where he can get projects?

Can you get an investment from Kiva or another crowd-funding site?

smoyer 9 days ago 0 replies      
What did the company he worked for provide to the client that he couldn't/didn't provide directly? It sounds to me like he should start doing these projects under his own shingle.
LTheobald 9 days ago 1 reply      
So I've got to ask - what country?. Riots and a controlling government doesn't narrow it down. Is there any chance of emigrating? How are your dad's language skills - how's his English for example?

What things has he tried? Sending out speculative letters? Taking unpaid placements (if possible) to get a foot in the door?

brudgers 9 days ago 0 replies      
No matter how much you love your father. you can't 'fix' him.

You can however be supportive. In part that means putting aside what you think he should do because it's not your call. Provide love without being asked. Provide advice only when.

Don't expect him to suddenly stop acting in ways in which he takes pride. He would work without pay again if the circumstances were the same. Accept him for who he is. Doing the right things will be hard because it is about him not you.

Good luck.

labaraka 9 days ago 0 replies      
I don't have any specific ideas for you but just came here to say that your dad is very lucky to have such a caring son/daughter.
brickcap 9 days ago 1 reply      
What I am saying is not a solution to your problem but have you considered suing the organization that did not pay your dad for 7 months? It won't help him get a job but I think it is quite unfair that the organization which profited immensely from his hard unpaid labour should be allowed to walk away. I am assuming of course that being involved in a lawsuit would not lower is his prospects of finding a job.
rwhitman 9 days ago 0 replies      
The connections you're going to get out of the comments on this HN thread will probably be a huge gift to your dad. You're a good kid.
taprun 9 days ago 1 reply      
Could he start a hacklab? Find an old warehouse, put in some big tables and some equipment then invite people to come in and learn about engineering?

Some people got together nearby, got a government grant and setup a building to do just that. Charge a monthly fee to members and BAM! He's a business owner doing what he loves.

jkaljundi 9 days ago 0 replies      
How about he approaches some Bulgarian accelerators, seed funds etc and offers to first help them, even if pro bono to begin with. Mentor startup teams on technology and other issues. Build a network. You build great contacts and definitely something will show up if he is good. Not starting from "I need a job" or "I need an investment" but just getting involved in the scene? A network engineer is usually a good all-around tech guy and as such can be very valuable to young people. Also participate at events there and help out.

Quite often in that situation being part of a community and being useful can do wonders to your mentality and self-assurance. But networking is just as important.

Why not go visit http://11.me/ and http://launchub.com/ and http://www.betahaus.bg/ and others?

fredkelly 9 days ago 0 replies      
I felt a similar predicament with my father after he was made redundant at the age of 65, having working for large US corporations (working from the UK) for most of his working life. He spent many months searching for work, at first for equal/lower calibre roles in similar industries (he was a manager for a large telecoms company), later just looking for anything to fill his time and bring in some money. You could argue that he could've tried X or Y, but the truth is it seems (at least for his line of work) that job-hunting in the "twilight years" of your career is always going to be a struggle.

At first I thought this was wholly unfair. I know have come to think it's more an unfortunate fact of life. That said, it's not as if our ability to do go work just vanishes as we get older. For sure we aren't as sharp; but I don't see this as a deal breaker.

I'd like to think when I reach his age there will still be a meaningful role for me to fill?!

vayarajesh 9 days ago 0 replies      
He can try on http://angel.co where mostly startups are listed and he can get what he loves may be. (there are remote jobs as well)
blablabla123 9 days ago 1 reply      
Do you have an E-Mail address or some stuff? I know a Network company that has a lot of people working remote.
dansman 9 days ago 1 reply      
Bulgaria is in the European Union since 2007. Your dad is eligible to work in any of the 28 Member states without any restrictions. Why did you not consider this yet?
stevehawk 9 days ago 0 replies      
Get him a book on Amazon Web Services... pay for him to get an architecture certificate... and try to get him consulting work.
algorix 9 days ago 0 replies      
In times of crisis sometimes is good we try new areas, maybe your father finds happiness working with something else.

A small business, something that he can be independent, owner.

ForHackernews 9 days ago 0 replies      
Would it be possible for him to get a remote-work job? That would get around some of the problems specific to your country, and it might also help somewhat with the ageism issue.
hiphopyo 9 days ago 0 replies      
You could always team up with your dad and create the coolest app your country has ever seen.
Rigjig 9 days ago 0 replies      
I've been in the same position, as you with my dad. The best thing to do is network. Put his resume on indeed.com, dice.com, working with rails (or something of that sort). There are a few cofounder sites as well (techcofounder.com is one). Rest is all chance, people with the stupidest startups are making quite a bit of money.
slvn 9 days ago 0 replies      
I imagine that him doing computer networking work has been a refuge from the bad kind of social networking the country imposes...
jfoster 9 days ago 0 replies      
How about taking some jobs from freelancing websites? (eg. ODesk or Freelancer)

I've heard that these can sometimes lead to ongoing arrangements.

jasoncartwright 9 days ago 4 replies      
> we live in a country, where things like perfection, attention to detail mean nothing

Is this actually true? Seems like a kneejerk generalisation. If it is true, then surely this is a huge opportunity.

otec 9 days ago 1 reply      
I don't think your father need any help. You will just waste your time trying and there won't be any benefit for him.

He is an adult. I assume, because he is a IT professional he has a good education.

I bet he knows that there are countries where he can get a better pay job. But for his own reasons, he has decided not to pursue this endeavor. I bet he made a choice of staying where he is now consciously. Maybe it's not his cup of tea moving between countries.

Of course no harm talking to him and reiterating the above. But I bet he knows and made up his mind already.

Ask HN: What can I do to find more leads for freelancing?
16 points by notastartup  3 days ago   13 comments top 7
swanson 3 days ago 1 reply      
There are a few weekly emails that provide a steady flow of curated leads:


wikwocket 3 days ago 0 replies      
Don't advertise; network! The leads you get as referrals from people you've already helped will be higher quality clients, and they will come to you already having respect for what you do, due to the referrer's recommendation.

To this end, ask past clients if they have any colleagues or friends in need of work. Also ask them if they're willing to be featured in a case study/whitepaper/writeup. My best-paying gigs came from friends' referrals.

Also consider starting your own network. Use your knowledge of industry XYZ (gleaned from serving XYZ companies) to put together a 1-2 hour talk on "Bringing XYZ to mobile" or "How to solve XYZ problems on the web." Hold a seminar/webinar/meet & greet session at your local library/hotel/chamber of commerce. Bring coffee and donuts and get it listed in the local paper and village newsletter. People will come (if only for the donuts), see you as the leading local authority on XYZ-meets-technology. At this point, stick around after the session for Q&A and the leads will start coming in. My lawyer friend has a lot of success with this technique.

Rodeoclash 3 days ago 1 reply      
If you don't mind working with design agencies then send them email to setup a meet and chat about yourself. Don't send a super long email to them, just a short, conversational tone asking to meet for a coffee and a chat about what they do and what you do.
kkoppenhaver 3 days ago 0 replies      
Just a heads up, the TD Ameritrade link on your site is broken. Have you looked into getting referrals from previous clients? Do they know you're still freelancing/looking for new leads?
Im_Talking 3 days ago 0 replies      
You should be identifying and marketing to other businesses within the same industries as your previous clients. Most businesses in a particular industry will have pain in the same areas.
kull 2 days ago 0 replies      
Area301.com - most freelance job board leads in one place with removed low quality postings.
bdcravens 3 days ago 1 reply      
Ask HN: How do you handle auto renew for SaaS?
7 points by chatmasta  2 days ago   10 comments top 4
patio11 2 days ago 1 reply      
You prominently disclose that it is priced on a monthly basis and then charge your customers as agreed. Very rarely, a customer will be very surprised that SaaS which is priced on a monthly basis means that they will be billed a second time in the second month. You will apologize to them for the confusion and ask whether they'd prefer a refund or your software.

This question suggests you may not be psychologically OK with taking people's money, since approximately every SaaS handles this identically, without drama, in a fashion which doesn't even seem to be in your solution set. You run a business. I would counsel coming to the realization that, if you're providing value to people, it is in fact OK to take their money.

palidanx 1 day ago 0 replies      
This is how I handled it. As for auto renew, I have it where all saas subscriptions by default are auto-renew.

1) On credit card submit, I had a checkbox at sign-up NOT checked by default. Also right next to it was a link to the terms of service they can read.

2) On billing confirmation e-mails, I put a link where they can change their plan or cancel.

Now here are a couple particular scenarios I've handled

+ Several customers called in the second month being very surprised they got charged as they thought it was a one time fee and not a saas subscription. In both cases, they e-mailed or called me directly. I told them I could refund their last month's charge and cancel their account.

+ I had one chargeback, but it was a generally unhappy customer. I let that chargeback go through, and e-mailed the client apologizing and mentioning I would not challenge the chargeback.

---ChargebacksNow in the general case of chargebacks, you can defend against them (I use Braintree Payments who have been awesome in guiding me through the process), if you generally do the following

1) State exactly what your refund policy is in your tos. For me, I have a 'we refund your last month for any reason'.

2) Keep track of your billing e-mails. If the client files a chargeback, the bank will check to see if the payment has been monthly. If the bank sees it is a monthly bill, there is a very low chance of them winning the chargeback.

tldr;Make your tos policies as transparent as possible.

srehnborg 2 days ago 0 replies      
Having sold two different SaaS products over the last few years, I would do a couple of things.

Make it clear on the website. $20.00/user per month. To most people, that is clear that they will be charged each month that price.

In addition to that, in your terms & conditions, you can explain the exact details of the terms.

Depending on the price of the product, I wouldn't waste too much space on the website explaining that they will be auto-renewed as it should be self explanatory and it could cause confusion.

Also, do you have a sales team or do you rely on people to just sign up on the website?

byoung2 2 days ago 0 replies      
You should try this as a poll: https://news.ycombinator.com/newpoll
Ask HN: When a startup supplies a computer, do you own it?
7 points by bcursed  2 days ago   7 comments top 6
patio11 2 days ago 0 replies      
Typically, the employer. They'll probably want to manage it, include e.g. "nuke from orbit if you lose physical control of the device." Owning the computer makes their claim to your code (even) stronger. Owning the computer means that e.g. the company's insurance won't insta-deny any claims that they make because they fail a checkbox item about letting uncontrolled hardware access their network, etc etc.

Buying you a computer is also not tax advantageous when compared to buying a computer for your use. If they buy you a $3,000 Macbook and give it to you, that costs ~$4,500. If they buy it for you, the cost is upper bounded by $3,000, since they can book the depreciation on it as a business expense and carry forward the tax loss as an asset.

thejteam 2 days ago 0 replies      
The startup may be able to fly under the radar for personal property tax considerations, but in many states if the company owns property in the state then they have to file a personal property tax return, with the proper filing fee, etc. This could get pretty burdensome if the employees are spread out over a few states, to the point where they may just let the employee own the property.

This varies by state, of course, and if all the remote employees are in the same state is probably not a big deal.

rmc 2 days ago 0 replies      
Almost certainly they own it. Mostly because they want to be able to control it. Remember if they buy it for you, then you will have to be taxed (benefit in kind). It's not a great deal as a perk for you, you're much better asking for a 5k raise. :P
YoAdrian 2 days ago 1 reply      
This is something you need to clarify with the company. My company has remote employees, but they get company owned laptops, monitors, etc.. When the employee leaves the company, they have to ship the company owned equipment back. You need to have this clarified in writing if you expect to keep the equipment.
suzyperplexus 1 day ago 0 replies      
I agree that the company owns the laptop, but also that they own any inventions ever mentioned, worked on, or accessed from it. If you're working on your own projects, make sure you offer a list of inventions dating the creation of any intellectual property you don't want your company to claim rights to.
JSeymourATL 2 days ago 0 replies      
This perk is no different than a company car, or club membership. If you ever separate from the company, the equipment rightfully belongs to them.

If the company fails, as was my experience-- the founder said just keep it as a souvenir.

Ask HN: What does modern front-end web development look like?
16 points by Fr0styMatt  4 days ago   12 comments top 5
brianchu 3 days ago 0 replies      
A modern front-end stack looks like:

For structure/content: raw HTML, or less commonly a language that compiles to HTML (Haml, Jade, etc.).

If the HTML is being rendered and served from the backend, you might use a templating language like Django's templating or Jinja (Haml and Jade also have these features).

If you are creating an application that does a lot of AJAX, you will also often use a JavaScript templating system like Handlebars.

For styling: raw CSS, or fairly commonly a CSS pre-processor like SASS, Less, or Stylus. Very often you will use a CSS framework like Bootstrap or Foundation to give you pre-made forms, buttons, grids, and other essentials.

For logic/interaction: JavaScript. Many people will also use compile-to-JS languages like CoffeeScript, TypeScript, or ClojureScript (in decreasing order of frequency). There are a lot of libraries/frameworks that can be used here. Most commonly you'll use jQuery and jQuery UI widgets. For more complex applications, single page app frameworks like Backbone, Angular, or React come into play.

Build process: For more complex projects, build tools like Grunt or Gulp to watch for changes to the filesystem and re-compile files (typically when you're using CoffeeScript or a CSS preprocessor), to package everything for deployment (minifying JavaScript, etc), and to run tests.

Packaging: Often you'll use a tool to keep track of modules/packages. These tools are quite different. Bower, RequireJS, Browserify, Component, and other tools occupy this space.

Often you'll use Node's npm to keep track of build process and testing packages!

Testing: For testing you'll often see frameworks like Jasmine or Mocha/Chai for unit tests/integration tests. For end-to-end tests you might see things like Selenium (run tests in a browser window). There are also test-runner frameworks like Karma.

Debugging: Chrome's developer tools (or Firebug/Firefox/Safari).

For someone starting out this is probably overwhelming. The important things to realize are that:

1) No one uses all these tools

2) Most of these tools are only useful for large complex codebases with large teams.

2) The most common stack is raw HTML, raw CSS, raw JS, jQuery, jQuery UI, Bootstrap, no build process, no packaging, no testing.

timmm 2 days ago 1 reply      
Development Tools

1. An HTML/CSS editor (FireBug for FireFox)

2. Network Traffic Monitor (Foxmeter for Firefox)

3. Cookie Manager (Advanced Cookie Manager)

4. User Agent Switcher (for Firefox)

5. Modify Headers (optional)

6. Javascript Console

Those are your tools for debugging, writing some things.

Technologies you will have to learn...

1. jQuery

2. MVC framework

3. API/JSON content calls


5. Cookies (same/cross domain)

bdicasa 4 days ago 0 replies      
Not many developers that I know of use WYSIWYG editors. Most is done by hand, at least in my world of web development. Haven't taken the courses by Treehouse but I've heard good things. I'd recommend looking into a good JavaScript framework like Facebook's React, Google's AngularJS or Backbone.

If you really like strongly typed languages, and want to try out a new platform, check out Google Dart.

fjabre 2 days ago 0 replies      
HTML & CSS were developed to abstract documents and present them through a web browser.

You'd be better served making a native app that integrates with a RESTful web api on the backend.

You still get the reach that the web provides, while having access to all the presentation and graphics goodies you get in a native app environment.

sejje 4 days ago 3 replies      
No WYSIWYG. Virtually all raw HTML.

Treehouse was decent when it launched, and I imagine it's improved a solid amount by now.

If you're coming from a development background, you'll do fine.

If you're building true front-end apps, you're going to want to look at Angular or Node.

If the back-end does the heavy lifting, they become less important.

Ask HN: Does AdWords work for you?
3 points by waterlooalex  1 day ago   7 comments top 5
petersouth 1 day ago 0 replies      
I've used it for five years now. I started with one of those free fifty or hundred dollars vouchers in the business magazines and I don't think I've ever paid any extra. I would periodically get emails from google saying if I do something they would add an extra fifty bucks credit.

My biggest three recommendations are:-Keep cost low. I saw that some people were paying like $10 for a Justin Beiber click. Maybe if you are trying to sell some hair-gel to make you look like justin beiber buying a $.25 hair-gel keyword could be better from a cost perspective.-Target location. My clickrate went up a bunch for a few months but didn't see an influx of users. I checked analytics and found a bunch of clicks were coming from some weird Japanese website. Some kind of fraud. It was using like 90% of my click payments. I disabled Japan and had no problems since.-Be very careful accepting their auto-recommendations. I did all their recommendations and I think it would be bad for a serious company. It adds creepy shit like "watch grandma peeing" and my keywords aren't related to that at all. It also isn't accurate. It says "we estimate you'll get 150 new clicks every day from now for x dollars." and I'll get none or one.

byoung2 1 day ago 1 reply      
I experimented with it back in 2008 to advertise an ebook I paid to have written (my 4 hour work week phase). I was targeting long tail keywords, but no matter what I did, the cost per click was too high to make it worthwhile. $1 a click doesn't make sense when you're selling a $20 ebook. Then I hired a guy on elance to optimize my campaign and for $150 he tweaked the keywords, landing page text, and ad copy, and got the CPC down to under 5 cents. It's all about quality score. If your landing page text, ad copy, and keywords all line up, you get rewarded with cheaper clicks. That is the only way you can afford it.
vijayaggarwal 1 day ago 0 replies      
I've seen both sides of the story - both successful and unsuccessful. Following are some points that distinguish between the two:

1. Keyword research: understand the search volume and competition level for each target keyword before you start your campaigns. Having an estimate of CPC before you start is critical to right planning. If you operate in an industry where search volumes are less and/or competition is high, you should perhaps not depend on search engine are your primary traffic source.

2. Contextual relevancy of keywords: the more relevant the keyword is, the lesser price you pay as you drive more CTR. Google charges lower CPC for higher CTR ads. SEO directly helps SEM.

3. Catchy headlines, good description: ad making is an art. Even text ads. Test multiple copies for each keyword group and see which one does best. See if having FREE in the heading helps, try adding phone number, etc. Again higher CTR implies lower CPC.

ASquare 1 day ago 0 replies      
You should try asking this question at growthhackers.com - there's folks who hang out there that have more experience with paid marketing.
GnarfGnarf 1 day ago 0 replies      
The Emperor has no clothes.
Ask HN: Validate my idea
2 points by vsakos  1 day ago   6 comments top 4
vitovito 1 day ago 0 replies      
Hi! Designer and researcher, here. When Steve Blank/Eric Ries say you should "validate" your idea, this is not what they mean. This is not validating an idea. This is having a solution and looking for a problem.

To actually validate this idea, you need a few things. (Note: if all you want to do is build something for fun, then you don't need to validate anything at all! Building it for fun should be enough. Just don't expect anything more out of it, and if you decide to productize it, expect to start over from scratch.)

First, get rid of everything after "The idea is: Digital guestbook". Everything after that is way too specific. You need a hypothesis you can test, and your hypothesis is "Is there market interest for guestbooks, but digital."

Second, asking strangers here, in this way, isn't helpful. It's not providing true validation. This isn't any better than asking friends and family what they think of your idea. None of the data you get out of this (or asking your friends/family) is valid. It can't be used to support a business case.

To actually validate your idea, you need to start by making a list of places where companies already use guestbooks. The last time I saw a guestbook was a wedding. I can't remember the last time I saw one in a business. Find businesses that use a traditional, paper guestbook. Make a list of both the type of business (retail, restaurant, etc.) and the actual businesses name/location themselves.

Then, interview the business owners. Not a manager, not the cashier, but the owner, the person who is ultimately financially responsible for the entire enterprise. Ask them why they have a guestbook. Ask them what they get out of it. Ask them when they started having one and why. Ask them what they got out of it then and how that is different from what they get out of it now. Ask them about other ways they get information about their customers. Ask them to compare and contrast the utility of those methods with the guestbook. Ask them what kind of information they'd like to get from customers, but currently don't, or don't get well, or don't get easily.

Don't ask them about your digital guestbook idea at all.

Rather, interview enough business owners in different types of businesses until you start to see patterns emerging. This could be as few as a dozen interviews. This could also not be until you've interviewed a dozen people in each type of business. 2-3 is not enough, you need 8-12 people saying roughly the same thing, unprompted, on their own.

Once you have that consensus, then you can evaluate your "guestbooks, but digital" idea against it. Do "guestbooks, but digital" solve those problems?


Then you were not able to validate your hypothesis. Don't pursue it.


Then you need to see if businesses would pay you for digital guestbooks. Go back to those businesses. Present your understanding of the problem. Make sure it's correct. If it is, present how "guestbooks, but digital" solves that problem. Ask them to sign a check for $X. Do they sign a check?


Then you were not able to validate your hypothesis. Don't pursue it.


Then go build it and sell it.

That's the only true validation: will they cut you a check? That's the core part of MVP that people forget about: it's the minimum product that someone will pay for.

If they would, that's validation for your idea. If they wouldn't, you need to figure out if your solution is wrong, or if there's not a market there.

Good luck!

petersouth 15 hours ago 0 replies      
fast food restaurants like chick fil a and checkers do this. I fill out a lengthly survey on the receipt and get a free sandwich. I don't see many sit-down restaurants doing this and it is surprising. I think you have something. What I don't like is the signature thing. Don't recommend adding/implementing that.
lun4r 1 day ago 1 reply      
What's the benefit for the restaurant owners and their customers? What would you say is your riskiest assumption? Which would be harder: getting restaurant owners to invite their customers to leave a message, or getting their customers to post a message?Think of a small-scale experiment how you could test your assumptions.
ganessh 1 day ago 0 replies      
If I am the owner of a restaurant, I will go to the Yelp page and see the customer reviews. What advantage are you going to offer, so I should subscribe to you?
Ask HN: Freelance web developer advice
13 points by shire  4 days ago   11 comments top 7
zackmorris 3 days ago 1 reply      
I want to chime in because I did EXACTLY the same thing you did. I took a $10 furniture moving/warehouse job out of college back around 2001 so that I could finance my struggling shareware game business. I worked seasonally, 7-9 hours during the summer and a few 6 hour days a week during the winter, for 3 years.

It was one of the worst decisions I ever made.

I lost the next decade of my life to profound depression after the loss of a close friend, crushing debt, no social life, just really endless problems that were exacerbated by the regressive political climate of the times. I felt a strange duty to give up my dreams and put my nose to the grindstone to make up for the cushy years of the late 90s when the future was so bright you had to wear shades. It put me so far behind that I was just coming out of my funk in 2007 and had no reserves to prepare for the housing bust even when I saw it coming a mile away. I got another dead end computer repair job for 3 more years only to see $1000 per month go toward my credit card debt (which never went down even though I havent used a credit card since 2008) which led to a falling out with my business partner and total implosion of my finances which I wont go into. So in many ways my career didnt begin until around 2011 or so when I started over.

But, in the 3 years since, I worked very hard every day to make it as a freelancer and it seems the effort is beginning to pay off. I started small on freelancer.com, getting $100 jobs that I completed every 1-3 days and began to see that it was a possible replacement for a regular job. I supplemented my income by flipping old Macs on ebay and craigslist. Then I moved up to elance and odesk and began taking jobs in the $1000-1500 range. Ive worked with a couple of clients in the $5000 range and had a 6 month contract at my hourly contracting rate which allowed me to save enough to live up to a year afterward with no outside income. Ive started getting so many leads filling my inbox that I cant answer them all. The catch is that this is mostly for iOS work, which can be extremely taxing/tedious if you bump up against limitations in the APIs (which seems to happen often in the projects I take on because I like the fringe stuff). So there is definitely work available, but be prepared to put in a lot of hours both on and away from the computer.

The biggest challenges I face now are lean weeks between gigs and just general anxiety from everything resting on my shoulders. Ive found that the right client there makes all the difference. If you remember the old adage good, fast, cheap - pick any two then the default mode tends to be good and cheap if you are a perfectionist. So clients that are well educated and/or patient tend to be more copacetic than clients that are merely wealthy or business-oriented. YMMV though because I tend to be a lazy programmer who likes to write the best solution once (as opposed to iterating) so I do the majority of my problem solving in the background of my subconscious. In my younger days, I was kind of the opposite, and would have made a better rockstar hacker in a startup doing good/fast work had there been more opportunities after the dot bomb.

I feel like Ive been a bit of a broken record about this stuff but its because I wish there was a road map available for new developers so they could avoid the same mistakes I made. For example, always charge at least your overtime rate which in your case would be $18 per hour. So that means if you bid for a flat rate job, draw up your hours estimate, multiply it by 3, and multiply that by $18. So say you think something will take 2 weeks or 80 hours, you would bid at least $4320 for it. On paper it looks like youre charging $54 per hour, but in reality it could be 2 months before you get another gig, allowing for downtime. After you do a couple of jobs like that and track your time, you can begin to refine your estimates and get closer to actually making $50 per hour, and then gradually raise it to $75 or $100 or whatever you feel comfortable with. That mostly depends on how much in demand you are, so in the beginning its more important to land a couple of gigs than charge top dollar IMHO.

As for where to get gigs, Ive done a couple for friends in the $1000-1500 range, and if you want to do web development, just look at prominent businesses in your area that have a lousy web presence. I tried cold calling and hitting the pavement once but only had a list of 50 businesses and didnt get any hits. You should probably aim for at least 100 businesses if you go that route since its maybe a 2% conversion rate. A better way is probably to start with immediate family, talk to their friends in various businesses and narrow it down to 2 or 3 and meet them casually over coffee or dinner and make your pitch like its old hat. Then your conversion rate might be 50% because you can get right to their sore points and once they are interested in what you can do, charge maybe 50-100% of the going rate in your area, depending on your experience level. The hardest part about that is being on call afterward as the friendly neighborhood computer guy, so have some sort of plan in place for incidents and charge accordingly, say $75 per hour with a 2 hour minimum so they only call you when they really need you.

I just want to close by saying that this is probably a means to an end. My goal now is to be part of at least a 5 member team of consultants (what contractors used to be called in the 90s) and charge hourly business rates, which probably are in the $100-250 range, even in rural America. Either that or save up enough money so that I can bootstrap my own apps. A possible route there is selling ownership in your business, say 10, 20% for X many tens of thousands of dollars but I dont know enough about how the new micro investing laws work so I will probably have to think of something clever enough for kickstarter. Im hesitant to go that route again though because I failed so painfully in the past and am really looking for a sustainable business model. This last part seems to be one of the great pains of our time, so Im optimistic that somebody might provide a turnkey solution, but Ive been waiting 15 years for it. Grouptalent, gun.io, freelanceinbox and others of that sort seem promising so you might have luck there. If you want to get started right away, I recommend odesk and have heard good things about guru as well. You can definitely do it, so dont settle for labor because most of the safety nets have unravelled and they prey on people with no leverage. You know how they say not to be the smartest person in the room, or the best player in the band? Well dont be the only guy in the warehouse without an addiction, criminal record or kids on child support. The ridicule I endured at that job was at least as damaging to my psyche as the low pay and backbreaking workload. Get out as soon as you can.

sj4nz 4 days ago 0 replies      
There's a lot of ground to cover to become a non-starving freelancer. You need to find mentors and other working models quickly and some grit. You may need more education and training. Since you're looking at web-work, you need also to start building your own portfolio of sample-work in order to prove yourself, I recommend learning everything you can about github.com and making yourself a name there with a github page--version control systems like GIT will become your ultimate UNDO/REDO system and will save you hours of agony when you make mistakes. Make mistakes. You can't learn anything without learning how to recognize you've made a mistake. But networking on github is just networking on the Internet, you'll also need to find communities of people to associate with in real-life to network. You're young, there are a lot of other people out there to discover how things worked best for them--their experiences can help you guide your own.

Here's some more rabbit-holes to fall into, you'll come out of them fine:

http://thefoundation.com/ (Entreprenuership)http://5by5.tv/quit (Grit, psychology of going-it-alone, passion)http://www.danpink.com/books/free-agent-nation/ (Work ethic and networking)http://www.personalkanban.com/pk/ (Self management)http://www.lifehack.org/articles/lifehack/a-review-of-the-ar... (Learning)

And finally, if you have any debt, by hook or crook find ways to eliminate it. Stay off the debt path, it will only cause you suffering after short-term gain.

yen223 4 days ago 0 replies      
As a guy who's making the transition between newbie freelancer and professional go-to guy, here are some things that worked for me:

1. Prove to yourself that you can deliver by building at least one site that you're happy with.

2. Go for the most popular language that you know. PHP, Python, Ruby, and Java are good starting points.

3. No one's going to come to your house to offer you a job. Go out there and market yourself. Every month there's a freelancer thread on Hacker News. Post there.

4. How much you should be getting depends heavily on your level of skill, and your location. But it's definitely going to be more than $12/hr, easily. I highly recommend charging per project, instead of per hour.

seekingcharlie 1 day ago 0 replies      
Without any programming experience & knowing that you're really just looking for something better than your current job, I would totally advise to start with Wordpress. Learn to build websites in Wordpress.

You can easily charge $1000 for a basic, responsive Wordpress website & you will find that there are a lot of family, friends etc that need/want websites built. This will also introduce you to some fundamentals of web development (deploying, communicating with a client etc & some PHP).

Perhaps your first few websites you will have to charge less to build up your portfolio, but honestly, charging $500 in the early days for a website is going to be a lot better than working 50 hours for the same money at your current job.

If you do actually want to be a web developer as your career (rather than a lifestyle job), learn an actual language. You will learn very basic PHP from Wordpress, but I would recommend Ruby as an actual programming language & Ruby on Rails (a Ruby framework) or Javascript as there is endless work there.

Read a lot. Follow Hacker News & the tech sites to keep you motivated / interested. Sign up to one of the online education platforms (RailsCasts, Codeacademy, Treehouse etc).

wikwocket 3 days ago 0 replies      
> What is the pay I can expect as a freelancer?

This depends on where you are, and how well you can communicate the value of what you deliver. Commodity hourly freelancing might be $10-40 an hour. Business-savvy consulting might be $60-80 an hour. High-end consultants will pitch and deliver projects in the $X0,000 range, which when divided by time spent can easily equal $X00 an hour.

Note that all of these people may be doing functionally the same thing: defining projects with customers, building websites/apps, and delivering them.

> What language will land me projects and clients soon?

Programming languages will not land you projects or clients. Nobody hires a photographer because of the brand of camera they use. Nobody goes to a restaurant based on where they buy their groceries. Anyone with purchasing power will generally just want something that meets their need, or removes their pain point/bottleneck/problem.

Your goal is to communicate that you can do this, in words and in actions. Not to communicate that you use HTML9 Responsive Boilerstrap JS. [0]

> Where do I begin my career as a freelancer?

yen223's advice is good. Build a website or simple app that you like, that could solve a realistic business need. Feature it as a demo or just keep it in your back pocket as proof you can solve problems. Then the hard part: convince someone that you are able to solve problem X for $Y dollars. Start small, within your network: maybe your brother-in-law is a caterer without a website. Maybe your aunt is a real estate agent always complaining about keeping in touch with her leads. Maybe your dentist keeps all their files on paper instead of in a computer. Discuss problems with people, brainstorm solutions, communicate that you can solve their problems with technology, put together a proposal, and deliver.

After a few gigs, if it's working out for you, formalize the whole process. Look into contracts, incorporation and proper accounting, etc. There's a million Ask HN's about these topics.

> By the way I'm familiar with some languages and frameworks but not an expert or anything.

If you can make a website that says "Hello world, welcome to our site, here is a brochure of information on our products," then you are basically a wizard in the eyes of many many people. 80% of the world's professionals would say, "I'm not an expert at this, I can just get things done." My plumber is probably not an expert on bleeding-edge state-of-the-art industrial water treatment. But he makes the faucets run and the toilets flush, and I am happy to exchange money for this service.

[0]: http://html9responsiveboilerstrapjs.com/

eabraham 3 days ago 1 reply      
Motivation is the key factor in becoming a successful freelancer. I freelanced for about 2 years and in that time I learned 2 new languages and countless libraries. My average week would be about 50 hours of which I was billing between 30-35 hours at $100-150/hour (NYC area). The other 15-20 hours was finding clients, writing proposals, dealing with self-employment business issues (taxes, accounting, invoicing). Its definitely not the easiest life but the pay was good and the problems were more interesting than corporate development. Looking back on freelancing I appreciate the many skills I gained (both technical and soft-skills).


1. Pick a programming language and complete a comprehensive tutorial. Then start to find clients at $15/hr rate (check elance.com and odesk.com). Your goal should be to fill up 35 hours of your weeks with billable time. Once your weeks are full and your skills increase, creep up your rate by $5/hour until its difficult to keep your week full.

2. Look into local entrepreneurship/business Meetups as a good source of clients and avoid equity-only business people who don't value your time.

shire 3 days ago 0 replies      
Thanks a lot everyone for your help. I'm going to go with PHP to start of my freelancing business is that a good choice?
Ask HN: BandMule.com my side project
6 points by dave_sid  2 days ago   4 comments top 4
tehwebguy 2 days ago 0 replies      
This is cool! I would make the screen shot bigger and lose the safari / os chrome so you can show more of it off. I keep reading that "Sign up" is a bad phrase lately, maybe instead that button should say, "Start collaborating" or something?

Going for a niche like bands is a great idea, are you connected to any band scene yet?

sixQuarks 2 days ago 0 replies      
You need an attention grabbing headline up at the top, so your target audience knows it's for them. When I first looked at it, I thought it was just a discussion board for fans of bands.
bebbs 2 days ago 0 replies      
I can't fathom what problem it solves. It looks like some sort of chatroom with a couple of collaboration features but I shouldn't have to try hard to work that out if I'm a band.

How do bands currently solve this problem, and why is this better? Every word on the page should be dedicated to solving this question.

Think about the primary actions you want the user to take and work backwards from them. At the moment I know I can give you my email to 'sign up' but I have no idea what that does.

Logging in is also way too hard.

petersouth 1 day ago 0 replies      
pretty sweet website. I was pretty overwhelmed by everything on it at first, but after I took my time I got it.
       cached 22 June 2014 20:05:01 GMT