Going Solo, Successfully - <AUTHOR> https://kev.inburke.com/kevin/going-solo-successfully <comment><USER3> Didn't expect this note at the end, but what a good move:

> Give back to the tools that make you successful - I give a percentage of my > earnings every year to support software tools that help me do my job - > iTerm2, Vim, Go, Postgres, Node.js, Python, nginx, various other open source > projects.

</comment><comment><USER4> Tip to save on lawyer:

Read contract yourself then get back to company and request to either remove all one-sided clauses or make them equally two-sided.

Also - add clause stating that unless you paid in full and on time - all IP belongs to you.

Most contracts try to pull the blanket one way.

Once done, _then_ call your lawyer with resulted paper.

Much less work for your lawyer to do.

<comment><USER5> And to those who are afraid of all legal aspects, don't be, it's very similar to debugging code.

Read a clause, test it with varying inputs, watch the output and so on.

I've actually had _fun_ working with my lawyer debugging/mine-sweeping contracts. We tech people use very similar techniques.

Seriously, go for it, you'll see :)

<comment><USER6> I agree for the most part, but the trick is knowing _what_ the inputs are in the first place. A software consultant may miss a critical primary input such as WHO is actually signing the contract.

I've seen instances whereby a contract was signed between a colleague and his client, but the signature was between him and the signing agent, and not the company per se, so when the guy that contracted him suddenly left the company, the contract was declared null and void even though it was halfway through. He thought he signed with the company, but legally he only signed with the representative as laid out in the preliminary parties clause.

Lawyers are trained to spot those gotchas, much as developers can spot "off by one" errors in computer code instinctively.

<comment><USER5> >Lawyers are trained to spot those gotchas, much as developers can spot "off by one" errors in computer code instinctively.

That's absolutely true. The thought process is similar but we & they are trained differently, I really like your analogy.

</comment></comment></comment></comment><comment><USER7> > Don't charge by the hour

This is bad advice.

Charging for a full week will make you lose a lot of clients. In the case of software development: The client never knows the full spec of the project and you'll have weeks were 10 hours is enough. Charging for those extra 30 hours is terrible deal for your client and he won't take it.

What you should be careful about is how much you charge per hour. You may set different rates based on context like: for a full time project project you charge X, for future maintaining (which is on demand ) you charge 1.5 times X.

Hourly also protects you agains scope creeping. Charging by the week/project/milestones requires a near full specification and it's done at an agency level where you've a team. I've been working hourly and I love it. You can try to spec out any project as much as you can, in the end you can't predict scope changes and/or unexpected problems: API is broken, missed an important email, build system is failing for no obvious reason, server went down, etc, etc.

You have to figure out when charging by the hour/week/month/milestones is reasonable. Just because someone is making 120K a year in San Fran, doesn't mean you've to make the same amount while freelancing. It heavily swings from client to client.

<comment><USER8> I believe you'll find that overall consensus on HN will strongly disagree with you on this point.

Here's the post most people will direct you to for an explanation of why you'll want to avoid hourly billing, and how to get to a place where you don't need to bill hourly:

[https://news.ycombinator.com/item?id=4247615](https://news.ycombinator.com/item?id=4247615)

For what it's worth - all of the people I know who have been able to do software-related consulting successfully over the long term don't bill hourly. They'd actually agree with you that having a minimum billable period of a week lots them lots of clients - but it lost them the clients that would try to nickel and dime them to death and complain about every invoice no matter low the hourly rate was.

It sounds like your experience has been different though, so I'm happy to hear you've found something that works for you.

<comment><USER9> The HN consensus has simplified things in such a way that any shades of gray are tossed out.

When you are just starting out charging by the hour and starting with small stuff is fine. But your goal should be to transition to charging by the week as soon as you can afford it, because you can't afford to charge by the hour for your whole career.

Keep in mind that those that have 'arrived' tend to take their life experience and then condense it down to bullet points without nuance, after all, unqualified statements sound so much better than qualified ones. But it's all about the balance and to get to charging by the week you may need to start by charging by the hour.

Service > product > weekly rates > daily rates > hourly rates.

The further you are to the left the more money you'll make but you have to start somewhere.

<comment><USER10> To add: you can even charge by the hour in blocks of 4 if you feel more like it.

It will be the same as charging per half day, but it can help you and your client to accept that charging daily will be the next step.

<comment><USER11> This is what I am currently doing...plus, since everyone loves a "deal", I charge a slightly higher hourly rate then give away "one hour FREE" because we all know that FREE is the most powerful word in marketing.

Basically, I figure out what I would be happy with for 5 hours for work and then give them 4 hours plus one FREE hour for that amount.

This has the added benefit of nudging my hourly rate higher, since I always have a hard time raising my rates.

</comment></comment></comment></comment></comment><comment><USER12> Something else if you're a freelance developer: In order to command a higher rate and not just be hired as a code monkey to implement a predefined task, it helps to position yourself as a consultant who can help the client discover the best solutions to achieve their goals.

Example: instead of just agreeing to develop a client's website per their initial specs, in your discovery call, find out what their goals for the website are.

Let's say they want to use it to capture pre-orders for an upcoming product. Based on this, you can propose a few ROI-positive solutions like integrating payments with their email marketing platform to engage customers and bring back cart abandoners, hosting a viral share giveaway, etc.

</comment><comment><USER13> Author, if you read this, skip Ally for business accounts. They do not allow them and may freeze your account and hold your funds when they realize you're using it for business.

Their great for personal accounts.

<comment><USER14> I didn't know this was an issue. After some research, I found that this is correct and not only do they not allow it but it seems they've shut accounts without contacting the account holders first. Appreciate the heads up.

</comment></comment><comment><USER15> > Make Sure Contracts Are Signed With the Company - The contracts you sign > should be between the client you are working with and your company NOT > between the client and you personally. Discuss this with your lawyer.

So simple, yet so many people fail to do so. They believe that since they are incorporated they are protected.

<comment><USER16> What does this even mean from a mechanical standpoint? What do you look for?

More importantly, where do you learn about all this low level mechanical stuff? Business books and HN comments always assume you know how to do that stuff. They don't teach it in school, at least for CS majors. (And yes, I took the "law for everyday life" class at my school. It was basically at the same theoretical level)

<comment><AUTHOR> Usually the first sentence of the contract will describe the parties signing it.

"This agreement is between Acme, Inc (the Company) and Kevin Burke (Consultant)" is bad. The agreement should be between Acme Inc and whatever the registered name of your company is. Similarly on the signature line you sign as an agent of the company (CEO, Sole Member etc) the same way your counterparty signs it.

</comment></comment></comment><comment><USER17> Get a lawyer, review contracts, hire an accountant, register as a company...is this really better than working a regular 9-5?

Sounds like the OP spends just as much time (if not more) doing paperwork, meetings, phone calls and other assorted meta-work as programmers in Big Tech Co, if not more.

Corporate America can be a drag, I get it. Annual reviews, backstabbing office politics, the wrong people get promoted, loud open offices full of clowns that prevent you from concentrating but from this write-up it doesn't sound like going solo is any hassle-free Shangrila, either.

For a certain class of people they like the "freedom" and hey, more power to you. By all means, enjoy the IC life. But I'd just as soon move to a different company if I'm unhappy at my job and not deal with this Kafkaesque amount of paperwork of being an independent consultant.

<comment><AUTHOR> I am the OP and I spend far less actually... a few hours at the beginning of a contract sure but the average contract is multiple months. All of the bills are auto paid, I just need to choose the right card/account when I pay for something. Invoices take about two minutes to generate using a free site called "invoice-generator.com." The accountant I would have hired anyway to do my taxes. I don't pay for the lawyer if I don't use them.

I also get to skip doing phone screens, interviews, being oncall... I am spending a lot more of my time focusing on product problems than I was as a full time employee.

Also - this might be obvious but the goal is to make more than you made as a full time employee or get more vacation time for the same amount per year not merely tread water.

<comment><USER17> I'm glad to hear I'm wrong. I'm certainly not rooting for anyone to fail.

But a couple of things.

One, the higher you rise in responsibility the more likely your work is to be meta-work. I saw your personal site and the services you're advertising, as time goes on you'll be offering more business-like services because inevitably that's what customers want.

Sadly most programmers have to choose between having the satisfaction of doing IC work and having their salary plateau or transitioning into management and/or biz dev consulting.

Second, it's hard to build equity as an independent. That is, if you work for Facebook or Amazon or whoever for 5 years, that's a hard skill you can trade in for a better job elsewhere, or at the very least your benefits start to accrue higher and higher (e.g. at my Big Tech Co: discount off public stock purchase).

How many 55 year old solo independent devs do you see out there in the wild? I'm sure they exist but unless the have some very specific skill set (e.g. COBOL programming for banks) it's hard to have a forever career as a generalist IC.

But again, more power to you if you can make it work. I'm not criticizing the lifestyle, only suggesting that it's not some peaceful freedom from BS that we'd all want to imagine it to be.

<comment><USER18> _How many 55 year old solo independent devs do you see out there in the wild?_

Lots.

Quick question? Would you prefer to be a 55 year old salaried senior dev, or a 55 year old specialist consultant? Same answer if you're one of those two, but currently between gigs and looking for work?

Being the "old guy" looking for a job is how you get discriminated against. "Why is this guy on the market now?" "How many years does he have left?" "Is he still any good?"

Being the "old guy" specialist consultant means you're going to be _really_ good at the thing they need to bring you in to do. You're also really expensive, which just reinforces how good you must be. Nobody is going to hold your lack of inexperience against you when they have a problem their kids can't solve.

No need for the specialty to be Geriatric COBOL or FORTRAN either. A 55 year old Javascript guy today might have 24 years experience in it, and can certainly teach your front-end guys a few things about writing code that runs in browsers.

So yeah, when the time comes, make sure you're either consulting or running your own company.

<comment><USER17> Well there's no fact-based way to settle this debate, the evidence is all anecdotal, but I see discrimination against older consultants every single day.

Executives at Fortune 100 companies (in my experience) pick an agency speed, price and 'sexiness' \-- I've never once heard them positively rate the age and experience level of a solo developer. And I have never, ever seen a F100 co bring in an old guy to tutor front-end devs. I can't even imagine.

I would absolutely rather be the old guy at a big tech co but I wouldn't be a solo developer, I'd be in management.

There's no question there's a path out there for solo devs in their 50s but is it really all roses and rainbows like you say? Seems like the harder path to me.

</comment></comment></comment></comment></comment><comment><USER19> This is great. Also interesting would be a similar guide on scaling from a one-person operation to a proper consultancy.

Personally I'm jealous of those who manage to found their own creative consultancies. Especially ones that mix design/VFX/videography/software talent, that focus primarily on things like interactive experiences or commercials.

For example, the Windows 10 default background.[0]

There's numerous other equally neat examples, but the gist of it is that they get to think up cool stuff and then sell that to their clients, who are usually massive brands that can afford to pay big money.

Getting one of those off the ground is probably exceedingly difficult barring deep industry experience and the connections to match, and even then I'm sure it's hard.

[0] [https://www.youtube.com/watch?v=hL8BBOwupcI](https://www.youtube.com/watch?v=hL8BBOwupcI)

</comment><comment><USER20> Sourcegraph CEO here. Kevin Burke (the author) worked with us at Sourcegraph for some important projects in late 2018 (including helping to prepare a big product release). It was a joy working with him. I've worked with a lot of contractors and would love it if more people followed these guidelines.

<comment><USER21> This recommendation, solicited or not, is a very strong example of how to market a consulting business. Sales for consulting businesses can be more than half the trick to making it go and selling services requires credibility. Most consulting businesses that I'm aware of start with one or a small number of existing relationships with built-in credibility and usually the business is started with at least one sale in pocket. When it's time to try and go beyond your initial customers recommendations especially public ones from past happy customers go a long way to establishing credibility and shortening the sales cycle. So it pays double or more in the long run if you can establish relationships with and take care of the directors, VPs and CEOs that you're working for regardless of who the hiring manager is.

<comment><USER20> My recommendation was not solicited, for the record. I read HN, saw the domain, recognized it was Kevin, and posted entirely on my own.

(I agree with your reply!)

</comment></comment></comment><comment> mickael-kerjean I'm in the same boat, with a pure technical background, I managed to tripled my salary in 2 years, the job has become much more interesting and without all the political noise. The hardest bit so far is the sales / pricing strategy. For example, my biggest problematic this month is to figured out how much is it realistic to charge a F500 to support & maintain a custom build solution we've created: 5k/month, 10k/month, 15k/month (was sounding totally crazy to me until some people told me their company charge that kind of money for support)

<comment><USER22> My experience has been to ask for a crazy amount (at least 50% more than you think you can possibly achieve). This anchors them high. Agree to "meet in the middle" and you will be better off than your starting point. Then deliver like crazy until they think you're underpaid.

</comment></comment><comment><USER23> I totally agree with Kevin where he says:

""" I started out charging a monthly rate that was close to my full time salary / 12\. This is not a good idea because you have overhead that your employer is no longer covering - health care probably the biggest one, you don't have paid vacations, there may be unpaid downtime between contracts and also companies might not pay you. """

When I started working remote 5 years back, I was just out of college and didn't care about those things...

</comment><comment><USER24> I feel like this is standard stuff, especially coming from the UK and the huge amount of contracting in that market. The real hard parts of independent contracting (how much exact are market rates/how do I find & land leads for contracts without an existing contact at the client) don't seem to be addressed.

</comment><comment><USER25> I feel like going freelance/consulting is such as "figure it out on your own" ordeal even though there are so many people who do it. Seems like there's opportunity to help people who want to go freelance transition more easily.

I think a good analogy is hair salons that sell a seat you can rent as a hairdresser...are there places where you can "pay" for leads/intros to clients as part of a larger remote software consultancy?

<comment><USER26> You really don't have to figure out anything, it's all been written about many times over and posted all over. The post is a good summary but lacks details. I am a UX consultant, not a developer, I figured it out on my own (although I'm sure there are things I am not aware of that perhaps I should research and figure out further) but I probably didn't have to if I did some googling around first.

The biggest thing that makes you successful as a consultant is thinking like a business. You are not a person performing a service for the company (that makes you a hire / an employee figuratively speaking), you are a business, solving their business problem. When you think of yourself in this way and act accordingly, then everything becomes easier - saying no to bullshit, billing and collecting, charging way more.

I nodded my head when I read the point about increasing your rate for every new client. People think charging more is being unfair, but this is just business practice. You don't need to charge "your worth" whatever it may be. There is a supply of a very particular thing, and a demand of a very particular thing and the rate does not matter whatsoever when the return far outweighs the costs. A million dollar product is worth exactly zero if it cannot be produced and if you are the one to help see it through then you can charge whatever you like, given the margins make sense. These days I find myself increasing my rates for every new client. Sometimes, just for the heck of it, when I have many leads, I'll double my already high rate to see what happens ;)

</comment></comment><comment><USER27> It's an additional expense but I would add obtaining business liability insurance to the list. It's not generally too expensive but can save you a bundle in legal fees that you can't recoup even if you prevail in lawsuit. Additionally, while a corporate structure should shield you from personal liability, there's no guarantee that whoever is suing won't try and pierce the corporate veil to get to the corporate principals - hence the benefit of insurance.

</comment><comment><USER28> This is so helpful- thanks for sharing! Also your own website is such a great example of taking selling yourself as a consultant seriously. Congrats on all the success here!

</comment><comment><USER29> The biggest impediment for me would be finding clients. IME most programmers dont meet a lot plant potential clients when they are maintaining internal software. Even if they work for a consulting company, you can't use them due to restraint of trade clauses.

So how would you get the first customers? I'm just some guy off the street, no one is going bet money on me performing a function for their business.

<comment><AUTHOR> Go to meetups, talk to colleagues who have quit your current company, try to attend or speak at conferences, start a blog and post at the bottom that you're available for consulting...

There's no rule that says you can't pitch projects to people, if you think you could help make a company better call them up and pitch them on it.

<comment><USER30> If you don't mind sharing:

1\. What kind of meetups? I'm guessing developers are inclined to go to developer meetups, but it seems unlikely that potential clients would be there.

2\. How have you managed to get hired by technology companies as a consultant? My clients are mostly folks that are non-technical and need someone to build them custom software. I'd love to work with tech-focused companies but am not sure how to find/pitch those opportunities.

<comment><AUTHOR> Living in SF helps. I meet people at meetups, on Twitter, through Github, I reach out to people I think are interesting...

You could try finding a company you'd want to work for and take one of their engineers to work, or try to target companies that need your skill set. "Hi you really need a Go client library - I can build that for you" etc.

<comment><USER30> That's actually really helpful. It's tempting as a consultant to be reactive, but these are a few ways of being proactive that I had not considered. Thanks!

</comment></comment></comment></comment></comment><comment><USER31> One issue I see is that GitHub ToS prohibit a single natural person from owning multiple GitHub free accounts, so you would have to pay for each one which could get quite expensive. Of course, larger business will have their own GitHub Enterprise or self-hosted Bitbucket/GitLab/etc that they can make you an account on.

<comment><USER32> We just maintain our own corporate git hosting account for clients who don't have their own. Not a significant expense. Although we actually use bitbucket rather than github for this.

</comment></comment><comment><USER33> Great read, thanks Kevin.

I blogged about this as well recently, might have one or two interesting points for you: [https://blog.classycode.com/going-freelance-as-a-software- en...](https://blog.classycode.com/going-freelance-as-a-software-engineer- some-advice-13c4064c72ce)

</comment><comment><USER34> Problem is, as a student I am trying to go freelance and start getting clients by doing small projects. And I read articles like this one and I have so many questions. I cannot pay for a lawyer or an accountant yet most of the people recommend it, am I not going to be able to go solo if I don't have those kind of securities?

<comment><USER35> > "Problem is, as a student I am trying to go freelance and start getting > clients by doing small projects."

Is this more-or-less your first job straight out of school?

<comment><USER34> Nope, had a couple of jobs at uni as an iOS dev. Problem is I don't know how to sell myself as a developer or look for jobs.

<comment><USER35> > "had a couple of jobs at uni as an iOS dev"

That's a great start, but what kind of jobs are we talking about here? I'm asking because you might want to invest into building more experience before breaking off on your own. I'm talking about possibly larger projects, cooperating with other teams, driving products forward, working with PMs/customer requirements and so on. One way to get there is to work at a larger organization. People place value on experience.

<comment><USER34> I've been developing using Swift for three years and built several apps for myself and published them. Those jobs were coding purely in Swift developing apps from scratch and using frameworks I've never used and learning about them (like AVFoundation), I think that's a great start and some basic experience.

<comment><USER36> The tried and true approach to starting on your own is to land your first customer by being the cheapest, use that as a reference, and charge serious money once you have a track record that you can point to.

The alternative is to get a normal full-time job for a few years, build credibility, then go on your own using the contacts you made at your employer.

<comment><USER35> > "The tried and true approach to starting on your own is to land your first > customer by being the cheapest"

That's definitely worth trying. But please remember, that is exactly what in an insurmountable amount of people is currently doing over at UpWork/Fiverr/Freelancer.com. You need some kind of advantage over them - <USER2> you want to nail your jobs and get paid a salary that can sustain you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER37> Dear Author, thanks for the write-up. Regarding "Market yourself"... You mention websites and so forth. Is most of your marketing online or most of it in networking events?

How do you deal with recruiters and LinkedIn recruiters - have you found a way around these?

</comment><comment><USER38> Sort of on the same path right now. Biggest obstacle I'm running into is that most of the work I'm finding is through recruiters, which of course means that a chunk of the money goes to the recruiter before I receive it.

The rates are still decent, but I'm not working with enough of a financial buffer to compensate for the downtime I'm having. I'm brand new at this though and I expected this sort of difficulty curve to start out with.

On a side note, if you've got an Angular or react project you are working on in the Atlanta area or remote and need some help, reach out to me :)

All of my contact info is on my site elarbee.io

<comment><AUTHOR> Start contributing to Angular or React core, reach out to developers on the team or conference sponsors, let them know you're available for consulting, put up a targeted "Angular.js consulting" page...

Every company you reach thru the recruiters, if you make a good impression on the employees there tell them to reach out to you directly to hire you again if they move on.

<comment><USER38> Thanks for the response Kevin, great advice. I really enjoyed your post! I hope to be as impressive a developer as you one day.

</comment></comment></comment><comment><USER39> Funny reading here « going solo » but get a « lawyer », an « accountant », etc.

<comment><USER40> These are outsourcing jobs and it's better than doing it yourself. And you spend less time with them than your gym instructor or even your grocer or building manager. They will save you a ton of time and money, though.

<comment><USER39> Oh, don't worry I'm convinced! I just find it strange calling this "going solo", because the guy telling us this isn't.

</comment></comment></comment><comment><USER41> > Try to get as much of the contract as you can paid up front - I generally > ask for half or more up front. If a company offers Net 30 ask if you can > shorten it to Net 5 or 10 or submit your invoices in advance.

Anyone can suggest some good reading material on how to structure payment tranches? Do people charge a retainer? If so what percentage? when the work starts is it "pay as you go" or after completion? Does Net D apply to work start or completion?

</comment><comment><USER42> Great writeup Kevin. As a IC, I can relate some of these points with my experiences.

You should charge more to compensate for Medical Insurance, Non billable hours (Gap time), Marketing cost etc.

Setup a Company (LLC or S-Corp) for doing paper work and contract (buy a minimum liability insurance). This will protect individual from litigations or lawsuit.

Payment - Can't stress enough. I try to negotiate Net-15 or Net-30 days payment. So far it worked with all the clients.

<comment><USER43> Just to clarify, Net-15 or Net-30 is payment 15 or 30 days after the invoice date, correct?

<comment><USER42> That is correct. Payment term after you invoice date.

</comment></comment></comment><comment><USER44> This is really impressive! I'm especially impressed by the landing page for his consulting site: [https://burke.services](https://burke.services) This is so much better than just listing some of the technologies you've worked with. It's really great to talk about the problems you've solved, and have some customer testimonials (especially from big names.)

I've been doing almost the complete opposite for the last ~4 years. I always charge by the hour, and I use a time tracking tool that tracks every minute. I never ask anyone to pay up-front. I've used services like Toptal and Moonlight that handle all of the billing for me. I've never talked to a lawyer or an accountant. I haven't registered a company specifically for my freelancing, but I've started doing everything through my startup's company. (My startup now offers a SaaS product plus consulting services.) I live in Thailand and have a work permit through Iglu [1], so they handle all of my invoicing and taxes. I also don't have insurance. I don't set up separate GitHub accounts for everything, and I don't really see the need for that. But I do usually work for one client at a time, and I find context-switching very difficult.

I think the main reason I haven't taken my consulting work super seriously is because I don't really want this to be my career. I've always treated it like a part-time thing to just pay the bills while I work on my own startups.

No offense to people who take this seriously, but consulting has always felt like a bit of a dead end. You can make a great living, but I get really depressed when I enumerate all of the hours I would need to work. A salaried position is nice because it hides these details. You come to work in the morning, go home in the evening, and then your paycheck is transferred to your bank account. You don't have the option to stop working at any time, so you never really have to think about it.

When you're a freelancer who wants to do this as a career, you suddenly have to convert your retirement goal into a fixed number of hours. Say you want to save and invest $2 million before you stop working, and you earn something like $200 per hour. You're able to save 50% of your income. You have to work at least: ($2000000 / 200) * 2 = 20,000 hours.

That's 2,500 full days of work. Maybe you are able to book 80% of your time, and you only work 5 days a week, so each year you can work: (52 * 5) * 0.8 = 208 days. It will take you 2500 / 208 = ~12 years of almost full-time work before you can safely retire with $70k of investment income. Maybe more like ~9 years to account for investment returns.

I think I'd rather join a few early-stage startups and get some significant stock options. It's much more fun to be part of a team member and have a vested interest. It will still take an average of 10 years before most startups have an exit. But you can leave after a few years and work for a few different startups to diversify (or start your own.)

Having said all of that, I'm really impressed by [https://burke.services](https://burke.services) and would love to hire him to work on my startup in the future.

[1] [https://iglu.net/](https://iglu.net/)

<comment><USER26> Most startups don't have an exit, I believe most fail. So you could be sitting at a failing startup and your options worthless.

<comment><USER44> Yeah, but not all startups are created equal. Sometimes you can spot an opportunity that is much more likely to succeed. Maybe the cofounders have already had multiple exits, they've raised money from some very prestigious investors, and they already have a very impressive list of customers who are paying to use the product.

That's not anywhere close to a couple of first-time entrepreneurs working on "Facebook but on a blockchain." But I think both of those startups are counted when people talk about the high failure rate.

The statistics are quite different if you just look at YC companies: [https://www.quora.com/What-percentage-of-YC-startups- eventua...](https://www.quora.com/What-percentage-of-YC-startups-eventually- close-down/answer/Pranav-Gokhale?ch=10&share=01c530d7&srid=37TL)

And even better if the cofounders have a wide network, a strong track record, and an impressive product that people are already paying for.

Sure, startups are still extremely risky, including the ones with prestigious cofounders and investors. But they can also pay quite well at the same time, so it's not like you're working for free. A senior engineer at a well-funded startup can still earn $150-180k, plus significant stock options.

I personally enjoy the risk and excitement and much prefer to work at early- stage startups than FAANG companies, even I end up earning less. Working on my own products is even more fun.

</comment></comment></comment><comment><USER45> I worked with over 50 companies/clients before I was 20 doing software dev.

Not sure I'd write an article but open to questions!

<comment><USER46> If you mean under 20 years old: how did you establish a reputation at such a young age and in particular how did you get your first client?

Was 2nd client easier to get. How about the 50th?

<comment><USER45> 1\. Yes under 20. I started when I was 17, partially spending the time in my Compsi vocational class doing client work I had found on odesk(now upwork).

2\. First couple jobs I probably worked below minimum wage. Lots of foreign competition on odesk that is hard to compete with no reputation. By the end I was making 35/hr in an area where you can mortgage a house for $350/mo (why did I move to the bay area again?? :))

3\. Yes they get easier to get. Part of my pitch was I get things done right which people liked.

Edit - another fun fact about odesk. My first office job in the bay area was literally across the sidewalk from them. I spent three years getting work through there, moved 3000 miles, and ended up across the street from their office. Neat right?

</comment></comment></comment><comment><USER47> Is self employment on its own a worthy goal? I think it makes sense if it enable or finances entrepreneurship. Building an enterprise, disrupting existing business models, and adding value at scale is much more interesting problem.

</comment><comment><USER48> Worth the [https://archive.st/7fd6](https://archive.st/7fd6)

</comment><comment><USER49> This is all very good advice.

</comment><comment><USER50> bookmarked for later

</comment><comment><USER51> After about the first $50k, get yourself some quality umbrella IT insurance that can protect you up to $4mil USD.

<comment><USER52> Any why anyone would need to do that?

<comment><USER32> Perhaps they own a house and don't want to lose it in a lawsuit? Also many clients will require their vendors to have insurance. Insurance is a kind of virially marketed product.</comment></comment></comment>


Short algorithm, long-range consequences - <AUTHOR> http://web.mit.edu/newsoffice/2013/short-algorithm-long-range-consequences-0301.html

<comment><USER2> If the algorithm's so short, why not post the pseudocode?

Or did they? Here's my impression based on the article and a few minutes of refreshers:

Problem: Given a (weighted?) graph, output its Laplacian matrix, which represents (in the sense of being polynominal-time reducible to?) how much current would flow between any two nodes if voltage were applied across it.

New algorithm:

1) Find a (minimal?) spanning tree for the graph.

2) Calculate how much current would flow through that graph if it were so weighted and a unit voltage were applied through it, with the edges being resistors (and leaves presumably connected to ground?).

3) Create a loop restoring one of the edges in the original graph.

4) Update the currents your previously calculated by the amount needed to balance the circuit.

5) Repeat from Step 2) until you have the original graph.

6) The currents are your solution?

(Sorry, lots of edits to correct and clarify.)

<comment><USER3> The first link under "Related" on the right is the paper itself. The "SimpleSolver" is at the top of page 8. <http://arxiv.org/pdf/1301.6628.pdf>

<comment><USER4> A note -- when linking to arXiv, please link to the abstract, not directly to the PDF.

<comment><USER5> Why? The pdf is what I'm interested in. I don't particularly care where it's hosted.

<comment><USER6> There's more formats available, for one thing.

</comment></comment></comment></comment></comment><comment><USER7> This algorithm is useless without quantifying constants or numerically demonstrating that the constants are practical for some test problems. Although they cite CMG in passing, they do not compare performance. They also (negligently) do not cite LAMG. MG algorithms are also highly parallelizable, which is not clearly the case for this algorithm.

To get an idea of how essential it is to quantify constants, recall that in 1964, Fedorenko rigorously proved that the number of iterations of multigrid required to reduce the residual of Poisson on a rectangular grid with n points by a factor of epsilon is O(n * |log epsilon|). He quantified the associated constant as

        W(n, 0.01) <= 210000*n + W(10^6, 0.01)

Groundbreaking optimal asymptotics, but utterly useless (the proposed algorithm had the wrong idea about good coarse spaces) and nobody cared until Achi Brandt came along it 1973 and revolutionized implicit solvers by demonstrated that if you get the details right

        W(n, discretization error) <= 40 * n

(using only addition and shift operations).

</comment><comment><USER8> > an algorithm that solved graph Laplacians in "nearly linear time," meaning > that the algorithm's running time didn't increase exponentially with the > size of the problem.

MIT, I expected more from you.

<comment><USER9> The phrase "nearly linear time" come from the paper.

However, the paper gives a better definition:

When we refer to a nearly linear time SDD system solver we mean an an algorithm that computes such a _x_ in time O( _m_ log^ _c_ ( _n_ )log _ε_ ⁻¹) where _m_ is the number of nonzero entries in _A_ and _c_ ≥ 0 ∈ ℝ is a fixed constant.

<comment><USER10> The term "nearly linear time" is fine. The next part of that sentence is where the problem arises: it suggests that the opposite of "nearly linear", and the status quo, is that running time "increase[s] exponentially". But the existing standard algorithms already scale polynomially, not exponentially.

</comment></comment></comment><comment><USER11> Wasn't this algorithm described in a post to HN a few months ago in the context of fraud detection, but subsequently taken down at the request of the poster's employer?

<comment><USER12> It would be interesting indeed if private industry had already arrived at this and not realised what they had on their hands. My mind is screaming this again <http://xkcd.com/664/>

</comment></comment><comment><USER13> Wasn't there an article pretty recently about a well-performing algorithm for the traveling salesman problem that sounded pretty much exactly like this algorithm?

</comment><comment><USER14> I would love to see a visualization of their algorithm iterating its loop rebalancing thing on a simple 2D graph. Maybe a weekend project...

[removed: I was curious about the SDD requirement, but that's always the case for a graph Laplacian]

</comment><comment><USER15> I wish I could review an actual working reference implementation of this algorithm.</comment>


Ask HN: Could Facebook become the new PayPal? - <AUTHOR>

Everybody's talking about advertisement as Facebook's main revenue stream, but it seems to me they're in a great position to take on PayPal and become the default payment system of the web.
It would be a tall order for sure, but if they did implement payments they would become number one overnight, since everybody already has a Facebook account.
Do you think this is realistic? Has Facebook ever talked about such a strategy? <comment><USER2> Facebook already have Facebook credits for games and other stuff. I would be very surprised if we don't see "Pay with Facebook" just as we now see "Login with Facebook" everywhere now.

I think it would be a great move for businesses and for Facebook. If Facebook could offer some insurance on transactions I think people would flock to it.

</comment><comment><USER3> paypal can write a facebook app, right?

</comment><comment><USER4> Good idea.</comment>


A tiny RISC-V MCU board selling for $3 - <AUTHOR> https://www.cnx-software.com/2020/01/02/polos-gd32v-alef-tiny-risc-v-mcu-board/ <comment><USER2> As already noted in the comments under the linked article: This device is currently seriously lacking software support, bordering on making it unusable.

It's interesting to note that the company that developed the chip (Gigadevice) initially got big by copying microcontrollers by ST microelectronics. This went as far as copying the entire product portfolio including naming scheme and marketing strategy. (Personally I find this absolutely appalling)

I guess not having to develop a software toolchain for their devices provided a huge benefit for them. Now that they have a device that cannot rely on external tools, things look a bit more difficult...

<comment><USER3> I'd been wondering if the GD32F107 was a clone of the STM32F107! Thank you for confirming that! But surely you can't honestly think that ST microcontrollers are a reasonable alternative for most electronics manufacturers? As far as I can tell, ST doesn't even offer datasheets in Chinese!

I think RISC-V software support will probably take shape pretty quickly, in the next $smallinteger years.

In terms of the ethics of cloning products from other companies, such as Linux, Chrome, Intel's 64-bit chips, and Google Search: do you want the future to be dominated by engineers who create new things, or by owners of government-granted monopolies like copyrights, patents, and RF spectrum? Bram Cohen and Richard Stallman, or the RIAA and Verizon?

<comment><USER4> ST's microcontrollers were really popular in Chinese-designed electronics before GigaDevices cloned them, and the STM32F103 - which is the one they initially cloned - was especially so. Its popularity in China is almost certainly why they decided to clone it in the first place.

<comment><USER3> Sure, when you're desperate for decent parts, it makes sense to use overseas suppliers with long lead times and customer service and datasheets all in English. And the STM32 line is really great. But if you can instead use a domestic supplier who speaks Chinese and can get you parts in a few hours instead of a month, why wouldn't you?

</comment></comment></comment></comment><comment><USER5> These boards are very cool, and I would happily play with them if I had time. However one thing is a bit mystery to me, what are the use cases more professionally? Obviously there must be lots of non-hobbyist demand for boards like this.

<comment><USER6> Typically, boards like this would only be used for prototyping. It's a dead simple system and there is basically nothing of value in the board itself for production use. Any design using the same microcontroller would just incorporate it directly rather than integrating an extra board. That differs from more complex boards like an RPi Compute Module or an RF module. On those, you might take advantage of the existing high-layer-count board attached to a simpler, low-layer-count board, avoid needing to redesign systems that have signal integrity or RF challenges, or utilize existing certifications around emissions.

<comment><USER7> > or utilize existing certifications around emissions.

This is one of the biggest reasons for an extra board for RF modules. RF is black magic where you REALLY need to know what you're doing to develop your own board, and if it's not in an already certified module then you have to have your product pass FCC certifications (costing a lot of money)

<comment><USER8> Very often even the layer count is an issue. For perfect example see almost any brand name japanese AV DVD/DVR combo which has giant single layer board with only passives, connectors and links which holds small subboard with bunchs of (fc)BGAs and somewhat incredible layer count.

On the other hand for small scale devices not only certification comes into play but also availability and cost. There are niche devices that simply use some Arduino-ish board as a component, because the board is easier to source and, more importantly, cheaper than the MCU on it, personaly I view that as bad design and good reason to use some non-AVR MCU, but that is how it is.

</comment></comment></comment></comment><comment><USER9> It's early in its life cycle and needs a JTAG interface to work with now, but it _could_ be a sweet little Arduino board. Comparable to the TeensyLC but $3 instead of $12. 3.3v 33mA 108Mhz 32k RAM 128k flash.

<comment><USER4> It's probably more closely comparable to the STM32F103-based boards which cost about the same amount as it but have better software support. This is sort of a derivative of a clone of that exact microcontrller.

<comment><USER10> There's some pretty cheap blue boards that cost less than the CPU on them, due to a manufacturing flaw. (one resistor is wrong, so it won't program on most PCs)

</comment></comment></comment><comment><USER11> I've been interested in homebrew computer projects that use a Z80 as the CPU, I wonder how easily it could be done with a RISC-V cpu.

</comment><comment><USER12> It would be interesting when ChibiOS supports RISC-V.

</comment><comment><USER13> Black on green silk screen text is an unlikely choice. Still early days however so probably fixed in next revision.

</comment><comment><USER14> We just had an article on HN yesterday saying there were no cheap RISC-V board available... and here we are!

<comment><USER15> The issue was that there wasn't a cheap riscv board that supported the privileged section of the ISA (so you can run an OS on it). This, being a microcontroller, doesn't either.

<comment><USER16> The Reference Manual claims "Machine (M) and User (U) Privilege levels support" on page 22.

Probably not the kind of privileges discussed yesterday.

<comment><USER17> yup, for linux you want M/S/U modes at least (kernel runs in S) and page table table support of course

<comment><USER18> I was under the impression you could get away with using Machine mode for both the SBI and the Kernel?

Sv39 paging is the major requirement as you point out.

<comment><USER17> Machine mode runs without the MMU, linux really needs an MMU to do kernel stuff too (including stuff like copyin/copyout)

<comment><USER19> There is actually quite a bit of work going on in Linux without MMU. Check Linux Plummers conference RISC-V track for example.

<comment><USER17> Yeah that's why I said "really needs", there are cut down versions that will run without an MMU, it's not really the mainline Linux though - I've worked with MMUless kernels in the past, it's not a lot of fun (and I started porting V6/V7 for base and bounds swapping machines)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Such boards can be used for emulation retro games?

<comment><USER21> No. It's a microcontroller board.

<comment><USER3> At least the STM32 and LPCxxxx boards have plenty of horsepower for 80s game emulation.

<comment><USER21> You're not going to be doing much emulation with 32 KB of RAM.

<comment><USER3> The Atari had 128 bytes of RAM. Nintendo had 4.3K.</comment></comment></comment></comment></comment>


A history of the two-day weekend - <AUTHOR> https://qz.com/969245/it-took-a-century-to-create-the-weekend-and-only-a-decade-to-undo-it/ <comment><USER2> Hmm... Reading this article about the transition from a 6 to 5 day work week makes me think it's possible to transition to 4.

<comment><USER3> I'd love to see an 8 day week with three days off. The five day workweek is a great rhythm. Four days on, three days off just seems too decadent. I think the ideal would be 5 on, three off with 6 hour workdays.

<comment><USER4> For a few months I worked 3 days a week. It's decadent, maybe, but it's awesome. By the time Monday came I was thirsty to get back to work.

The only problem was - it's harder to keep in mind what you worked on the last week when you get back, but it's not a big deal (just make more notes, commit more often, and hibernate computer instead of shutting it down).

<comment><USER2> I'd be fine breaking up the work days with a break day in between - I'd probably avoid it some weeks for a longer weekend event, but I think I could do 2 days on, 1 day off, 2 days on, 2 days off...

</comment></comment></comment></comment><comment><USER5> This quote seems key: "Time is now currency: It is not passed but spent," wrote historian E. P. Thompson.

</comment><comment><USER6> "But the week is man-made, arbitrary, a substance not found in nature."

One thing that occasionally makes me wonder is the universality of the day of the week. Everywhere you go - with the possible exception of the people living on either sides of the imaginary International Date Line - people are in agreement on which day of the week it is. Just imagine the white Christian colonialist coming to Africa, or some other part of the world, and finding native Muslim populations and yet both agree on what day of the week it is.

</comment><comment><USER7> When I started school, I misheard the hours as 2 days on, 5 days off. Come the Wednesday, I was rather put out (and remain so).

<comment><USER8> Reminds me of what a mate's kid said after he got home from the first day at primary school - he genuinely thought it was for one day only. Then there was the dismayed look on his face after it was explained that this routine was now for the next eighteen years of his life :)

</comment></comment><comment><USER9> Weekends were never a universal thing. They were for very specific people, while a huge number of us were expected to work them regardless. Setting aside the historical male/female devides (no weekends for moms) we just expect certain jobs to be there. Priests and nuns work weekends, have done for centuries. Cops, food service, health care providers, prisons and the entertainment industry to name a few. The sat-sun weekend has always been a luxury. Those that lament its passing as some sort of societal shift show thier colours.

I write this as a i sit on a monday morning waiting for the work i did over the weekend to be read and evaluated by clients worth far more than i will ever be. They dont work weekends.

<comment><USER10> > Priests and nuns work weekends, have done for centuries. Cops, food service, > health care providers, prisons and the entertainment industry to name a few.

While such jobs require indeed people working on weekends, it doesn't mean that the workers themselves need to be present 7 days a week. It's possible to uniformly distribute 2 free days per week among workers and still guaranteeing 24/7 service.

> Those that lament its passing as some sort of societal shift show thier > colours.

Not sure what "their colours" mean. Why should we lower our expectations to the lowest working conditions? Instead, why don't we all aspire to redistributing our working ours to ensure a fair share of free time.

<comment><USER9> If you arent getting sat-sun off then i seriously doubt you have any stable 2day weekend. These are shift workers. By "colours" i mean that they are from a background where sat-sun weekends are a thing. Thier parents were not shift workers. They expect to have sundays off. Many, possibly most in many areas, no not have such expectations and envy those who do.

<comment><USER11> My girlfriend is a shift worker and while she doesn't always get stable 2 day weekend (she gets every other weekend off and generally Tuesday and Thursday the other week) but her schedule is reasonably stable. If you are a shift worker and your schedule isn't stable at all then that means your schedule is bad even as shift workers go</comment></comment></comment></comment>


How to visualize decision trees - <AUTHOR> http://explained.ai/decision-tree-viz/index.html <comment><AUTHOR> Decision trees are the fundamental building block of gradient boosting machines and Random Forests™, probably the two most popular machine learning models for structured data. Visualizing decision trees is a tremendous aid when learning how these models work and when interpreting models. Unfortunately, current visualization packages are rudimentary and not immediately helpful to the novice. So, we've created a general package called animl for scikit-learn decision tree visualization and model interpretation.

<comment><USER2> Wow, I wondered why you put a TM on Random Forests. I guess it is trademark of Salford Systems, which is kind of weird. Maybe we can just call them random forests and ignore that.

<comment><USER3> I'm often guilty of this too - but we really should put the (tm) there. It's nice that they made code of the algorithm publicly available and all they ask is that we respect their trademark in return. I think that's more than fair. :)

(I discussed this a few years with the co-inventor of random forests, Adele Cutler, and she confirmed that this is something that she wants to see happen.)

<comment><USER4> Are algorithms patentable? Last I checked in US they were, copywritable?

<comment><USER5> Not the answer to your question, but in case it helps anyone: trademarks are unrelated to patents. You can use a random forest but you can not call them "random forest". "Aleatory jungle" is fine, though.

<comment><USER6> "stochastic treeset". Sounds way more scientific, which can be required to convince a pointy-hair boss. "Random" forest sounds... well, I can flip a coin too, how is that going to solve my problem?

For the same reason, "naive" bayes classifier are very hard to sell, to the point I stopped naming them and now just tell "a very fast machine learning algorithm", unless specifically asked.

</comment></comment></comment></comment></comment></comment><comment><USER7> There's a nice interactive version of a decision tree diagram here, in the section "Growing a Tree".

[http://www.r2d3.us/visual-intro-to-machine-learning- part-1/](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/)

<comment><USER8> This is the first time ever when the website is doing something when I scroll and I'm not mad.

<comment><USER9> I was particularly impressed with the continuous scroll which lets you go through the animations frame-by-frame, so to speak.

</comment></comment></comment><comment><USER10> I have a model trained with XGBoost Java. Can I take the model file and read it with scikit-learn to visualize it with this library?

</comment><comment><USER11> Good to see others looking into tree model viz. I've done work with larger scale tree visualizations and found you quickly run out of space. I wound up using interactivity to reveal branch level info, dynamically pruned the tree based on train support, and I used a more sophisticated layout technique to pack more info in. [https://www.google.com/amp/s/blog.bigml.com/2012/01/23/beaut...](https://www.google.com/amp/s/blog.bigml.com/2012/01/23/beautiful- decisions-inside-bigmls-decision-trees/amp/)

FWIW visualizing trees like that helps spot problems really quickly. Overfitting behavior typically involves overusing a certain field, or growing long and relatively narrow branches.

<comment><AUTHOR> Thanks for that link. Super useful. Looks like BigML uses same layout I did for ANTLR parse trees. Really packs stuff in; e.g., [https://cdn- images-1.medium.com/max/1760/1*k0mO4kJyQvPCyyev0...](https://cdn- images-1.medium.com/max/1760/1*k0mO4kJyQvPCyyev0nn_EQ.png)

<comment><USER11> Yeah the general algorithm is "Reingold-Tilford" with some tweaks from Buchehim.

[https://en.m.wiktionary.org/wiki/Reingold- Tilford_algorithm](https://en.m.wiktionary.org/wiki/Reingold- Tilford_algorithm)

Really good algorithm to have in an arbitrary visualization toolkit.

</comment></comment></comment><comment><AUTHOR> Just a note that dtreeviz works cross-platform now! Mac, Windows, Linux. "pip install -U dtreeviz" See more at [https://github.com/parrt/dtreeviz](https://github.com/parrt/dtreeviz)

</comment><comment><USER12> If you model the decision tree as a directed graph, there's no reason you couldn't export it into a Doom/Quake level or even Minecraft or Roblox

<comment><AUTHOR> Heh that's a cool idea. Fly through the tree like a maze

</comment></comment><comment><USER13> Not sure about the choice of pie chart as the default leaf format (humans are bad at guessing proportions from pie charts) but otherwise it does look great and convey the information efficiently.

<comment><AUTHOR> howdy! We use a pie chart for classifier leaves, despite their bad reputation. For the purpose of indicating purity, the viewer only needs an indication of whether there is a single strong majority category. The viewer does not need to see the exact relationship between elements of the pie chart, which is one key area where pie charts fail.

</comment></comment><comment><USER14> Good,very informtion distilled from the drawing</comment>


Where oh where is Windows Phone 8? - <AUTHOR> http://arstechnica.com/gadgets/2012/09/where-oh-where-is-windows-phone-8/

<comment><USER2> As a user of WP7 who is looking forward to WP8, I really really want to give them the benefit of the doubt that there is a major ace up their sleeve they can't talk about for competitive reasons. Something like Nintendo announcing the Wii remote early enough for Sony to quickly switch to motion-sensing controllers as well. Something huge and disruptive that is so critical to their success that none of their competitors can know in time to ape.

I can't recall a single time Microsoft has ever done that, though...

<comment><USER3> Direct X and a shared kernel with Windows 8 proper is already pretty big IMO. I have a Nexus S(Running JB) and I'm going to be giving WP8 a serious look when it comes time to upgrade.

<comment><USER4> So far only "Angry Birds" type games have been announced as "Xbox Games" for Windows 8/RT.

<comment><USER3> It's not a matter of if, it's a matter of when. When developers make Xbox games(Xbox uses Direct X), and Windows games(again Direct X), it will be trivial for them to also target WP8/WinRT.

</comment></comment></comment></comment><comment><USER5> _But what was a little surprising is that there were no handsets for the press to play with. There were some demonstration units carefully attended by PR personnel, and while we were able to get kind of close to them, the general rule was "you can look but you can't touch."_

Looking at this [1] video I would say that this article is just another BS from Ars.

[1] [http://reviews.cnet.com/smartphones/nokia- lumia-920-slate/45...](http://reviews.cnet.com/smartphones/nokia- lumia-920-slate/4505-6452_7-35437152.html)

</comment><comment><USER6> Essentially ...

"Whatever the cause of the delays—whether they're because Microsoft has bitten off more than it can chew with the kernel transition, or due to some other reason—the situation is now growing critical. It's not just that it's annoying developers; the delays are undoubtedly hurting Redmond's hardware partners."

<comment><USER4> I wonder if the Windows 8 kernel will also hurt Microsoft's chances for ever competing on the mass market. So far all of the announced WP8 phones are using hardware like Qualcomm's latest gen S4 chip, which could be a way for them to streamline the launch process, but it could also be a performance issue with WP8 (based on Windows 8 kernel), which I doubt is as lean and nimble as WP7 (based on Windows Embedded).

<comment><USER7> Well, targeting current high-end hardware (and tomorrow's merely average hardware) may be a better strategy than Microsoft's attempt with WP Tango, which targeted low-end hardware on a platform that was already behind the competition.

I would assume that Microsoft is smart enough to avoid pushing two separate ecosystems (WP7 and WP8) since they don't have a real foothold with one.

</comment></comment></comment><comment><USER8> So they ended up doing (what sounds like, or may as well be) a complete rewrite and it's taking them much longer than they expected? Shocker!

It sounds like they're running the WP7 apps in a compatibility box. Is that right? One issue developing for Android is the huge API sprawl. Android has this immense surface area of public API now, and they only add new methods and classes every release (I'd love to know how the framework engineers on Android feel about this, because it certainly detracts from the app development experience...). So a compatibility box sounds like a good idea in that case, though making everyone rewrite their apps isn't a good idea...

<comment><USER6> In order to use WP8-specific features, developers will need to use a new development model. This is more friction for developers when compared to using comparable new features in iOS or Android, where the development model is unchanged, but new APIs are utilized.

One can only imagine the sorts of bureaucratic infighting within Microsoft as various development tool factions seek to discard the work of factions falling out of favor. In contrast consider how long Apple stuck by Objective-C as its chief development framework.

<comment><USER8> Apple's engineering group is much smaller than Microsoft's (or probably anyone else's). What's the GDP per engineer at Apple vs any other product company (like MSFT, Google or Samsung)?

EDIT: Which is to say, I believe bureaucracy is more likely in larger organizations and that the scale of MSFT's engineering org makes it unmanageable.

<comment><USER9> IIRC I looked that up, and Google's revenue is about half of MS's for 1/3 the employees, making it about 3/2 the revenue per employee. Not sure about Apple/Samsung.

</comment></comment></comment></comment><comment><USER10> The core operating system swap. Taking a desktop operating system and shrinking it down to run on a phone is no easy task. In fact, it's a gargantuan undertaking. Add a bunch of new end user features and you get that the amount of technical work that is going into WP8 is phenomenal. However, the windows phone engineering team is superb. I have no doubt's that both consumers and developers will be thoroughly impressed come holiday season.

<comment><USER11> _Taking a desktop operating system and shrinking it down to run on a phone is no easy task. In fact, it's a gargantuan undertaking._

iOS is a shrunken version of OSX, while Android is a barely shrunken version of Linux. Aren't all modern mobile platforms shrunken versions of desktop operating systems?

<comment><USER12> Who is to say those weren't gargantuan undertakings as well?

The relationship between Windows Phone 8 and Windows 8 is closer than that, though. My understanding is that both will make calls to the same WinRT APIs, meaning a significant amount of code (and the XAML defining the UI) can be shared between both platforms. That's a very different relationship than Mac OS has with iOS (where the UI differences are significant) or Android has with Linux (where there is almost nothing in common between X and Android's UI).

</comment></comment></comment><comment><USER13> If there's one thing Apple has executed on, it's the synthesis of hardware and software.

That's an often overlooked key to a successful customer experience. Android has some decent hardware - Galaxy S III apparently but I haven't tried it yet - but unless you luck out and a carrier throws you an Ice Cream Sandwich or Jelly Bean, what's the point?

Microsoft knows they need something, but if they don't have some pretty awesome software they'll be in the same place Android is. (Sans patent lawsuits)

<comment><USER6> Microsoft has been crushed by Android in mobile. From a once dominating position, Microsoft phone OS's now get lumped in the 'other' category when market share pie charts are illustrated.

Despite patent licensing fees, Google's Android is free to use - or to fork as was done by Amazon. This is a resounding win for Linux. On the other hand Apple effectively gives away iOS when you buy or upgrade one of their mobile products. What niche is left for Microsoft - even if they do create some pretty awesome software?

<comment><USER13> Oh I wouldn't write Microsoft off entirely yet. Nokia is probably a dodo at this point, but it would be a bit hasty to forget Microsoft's $60 billion in cash [1]

I do think Microsoft is trying to apply PC-era tactics to embedded devices. It's like they're chatting up that hot girl who, it turns out, is a ninja assassin on a psycho killing spree. The only thing the embedded world produces with any regularity is bankrupt companies; what I'm saying is, companies like HTC and Samsung are used to an intensity that Nokia may never figure out.

Microsoft is capable of surviving in the embedded world, but they probably won't "wake up" for another year at least.

[1] <http://finance.yahoo.com/q/ks?s=msft>

<comment><USER6> Agree that technically mobile is embedded, but mobile is more popularly considered a separate market from embedded. For example, while a phone and a washing machine may have the same sort of CPU, most engineers consider these separate markets.

Do you think that Steve Ballmer will be the one that wakes up, or does the board find a new chief executive?

<comment><USER13> I don't know if Ballmer will stay or not as CEO, but remember that he and his good friend Gates still have a controlling share of the company.

What separates mobile from embedded won't shield mobile, or Microsoft, from the race-to-the-bottom, cloning, and short product lifespans that make embedded such a hard business to be in.

<comment><USER14> > Gates still have a controlling share of the company.

No, he doesn't. He holds around 6% of Microsoft. He lost his controlling stake with the Microsoft IPO in 1986

</comment></comment></comment></comment></comment></comment><comment><USER15> Its crazy that Windows 8 runs better then Windows 7 on the same computer. I love it. Would love to try the Win8 phone is they ever get one released.</comment>


A Koan: Anecdote from my time at Facebook - <AUTHOR> http://blog.garethmacleod.com/a-koan

<comment><USER2> I'm not sure how this is a koan [1]. It's a clever turn at the end of the story, but I'm pretty sure I understood the meaning through rational thought. Am I missing some key contradiction/ambiguity?

[1] <http://en.wikipedia.org/wiki/K%C5%8Dan>

</comment><comment><USER3> What?

<comment><AUTHOR> Actually, I said the same thing after I wrote it.

Initially, I tried to convey the anecdote in prose, but I couldn't decide what the "message" was. I was reading GEB at the time, which inspired me to try a more indirect approach, in the style of a Zen Koan. The theory is that this lets the reader decide what their takeaway is.

</comment></comment><comment><USER4> And how did it go?

<comment><AUTHOR> Of those four goals, I hit one of them in a month, then hit another two months after that. I still consider it the high-point of my career thusfar.</comment></comment>


EFF's 21st Birthday Party - <AUTHOR> https://w2.eff.org/birthday/ <comment><USER2> Its pretty tempting, I'm up in SEA, but the middle of the week thing makes it a bit tricky for me. If there are other people from Seattle thinking about going though that could be fun.

</comment><comment><USER3> Any hackers heading out to this? I'm looking at getting a flight up from LA... I have such love for the EFF.

<comment><USER4> I'm sure there will be a ton. I'm considering it.</comment></comment>


How Google's Keyword Tool Can Point You Toward Profits - <AUTHOR> http://www.entrepreneur.com/ebusiness/ebusinesscolumnist/article206188.html

<comment><USER2> Ahhh...attack of the popups!!

At first impression...this site makes me think i'm back in the 90's

Content is good though. This is a cheap (free) way to do what I was paying wordtracker for.</comment>


In Silicon Valley, Investors are Jockeying like it's 1999 - <AUTHOR> http://online.wsj.com/article_email/SB10001424052748703806304576233050434554110-lMyQjAxMTAxMDEwODExNDgyWj.html <comment><USER2> "The two men signed a deal with Y Combinator in which they paid $6.5 million to gain first access to roughly 40 promising entrepreneurs selected by the elite incubator. "

This is completely false. We didn't sign any deal with Ron and Yuri. They simply offered 150k apiece to all the startups in the winter 2011 batch. Anyone else could have done the same thing.

Reporters often get the facts wrong, but this is one of the more extreme examples I've seen.

<comment><USER3> Kind of makes me wonder if similar reporting styles played a large part in the late 90s boom/collapse.

<comment><USER4> Good point: the article's style reeks of artificial scarcity

<http://en.wikipedia.org/wiki/Artificial_scarcity>

</comment></comment></comment><comment><USER5> Not knowing a whole lot about Silicon valley in particular and even less about economics, I still get the feeling that the US tech industry is very much in a bubble.

From the outside, these absolutely soaring valuations of everything from established players like Facebook, Twitter and LinkedIn, to new start ups (Color being a recent example), resembles a somewhat illogical and overly optimistic view of the value of those companies.

Also many new and unproven companies raise amazing amounts of money, for, at least seen from the outside, downright silly business proposals (share your credit card expenses, anyone?).

Apart from the valuations, there is the point of founders and early investors taking huge amounts of money "off the table" in subsequent funding rounds. A recent example being Groupon, where I think up to 30-40% of the raised capital went directly to "executive officers, directors or promoters". In my uninformed opinion, in a "normal" market, very few investors would accept that money invested for business growth, was used for the purpose of massive payouts to founders and C level personnel. However in the US, at the moment at least, it seems very common. Maybe this has to do with the assumed fact, that if some investors aren't up for those terms, other investors are itching to jump in.

This gives way to first founders having massive payouts. Then directors, then investors, then the next round investors etc. This, in my mind, resembles the "greater fool" theory, which was common behaviour during the recent housing bubble (buy the house, flip it 6 months later for 20% profit, next owner repeats).

Finally, there's the "gold rush" or the less flattering "herd" mentality, where it seems that there are now so many people interested in investing in tech, that again valuations goes higher and higher. We even have hollywood actors, investing heavily in mobile app companies.

As mentioned, I am not an expert in economics, bubbles or Silicon valley, so I'd be interested in hearing from anyone who can question my conclusions, and add to the discussion.

<comment><USER6> I am not an expert either, but I may be able to comment on a few things.

> Also many new and unproven companies raise amazing amounts of money, for, at > least seen from the outside, downright silly business proposals (share your > credit card expenses, anyone?).

Judging by the current climate in SV, I can safely say that silly businesses are not still not really getting funded. Blippy for example was forced to pivot. Investors are still looking for businesses that are either going to make lots of money now, or engage lots of people and make lots of money later. Many people outside SV scoff at the 2nd clause, but with 1B people online and 3B cellphones in the world, and instant distribution channels like the App Store, it's not so absurd. Just as a general rule, if you see something seemingly stupid get funded, they probably have something else going for them -- crazy traction, awesome customers, or past entrepreneurs as founders.

> Apart from the valuations...taking huge amounts of money "off the table" in > subsequent funding rounds.

It's true that a huge amount of the raised money went to the execs, but that stock was sold, at the established price, by the "executive officers, directors or promoters" in question - one could argue, [as Andrew Mason himself does]([http://www.businessinsider.com/groupon-ceo-andrew-mason- tell...](http://www.businessinsider.com/groupon-ceo-andrew-mason-tells-us-why- he-just-sold-stock-to-dst-2010-4)), that it was an intentional way to get early liquidity. Obviously that price has now gone up; it was their choice to sell. Founders often argue that raking back is a good thing because it prevents people from needing to sell perfectly good businesses to get liquidity. Just playing devil's advocate.

</comment></comment><comment><USER7> A question someone like me has, is how do you get the attention of these investors? I have a few ideas for products, a couple of which I've done preliminary coding for on the side. But the problem I have is

a) I have no connections

b) I work full time, so I have very little time other than late nights to work on the things I'm really interested in. I feel like I'm missing huge opportunities because I can't work on the things that I find really interesting because I'm doing someone else's work.

<comment><USER2> Joshua Schachter started Delicious on the side while working full time. At a trading firm no less. It seems like the keys were (a) to work on something where there was no big initial step to get over-- something that was interesting to a small number of people almost immediately, and (b) to make constant incremental progress.

</comment></comment><comment><USER8> "The momentum is driving a wave of deal envy and trash talking—complete with power plays, personal feuds and turf wars among Wall Street bankers, billionaire speculators and venture-capital veterans."

Sounds like a bubble to me. Anybody remember the pets.com sock puppet?

<comment><USER9> So today Apple announced that Macbook Pro sales were up 47% year to year.

[http://www.appleinsider.com/articles/11/04/18/new_macbook_pr...](http://www.appleinsider.com/articles/11/04/18/new_macbook_pros_push_apples_us_sales_up_47_year_over_year_in_march.html)

Having a huge tech company producing hedge-fund like growth numbers is a new phenomenon (at least since Windows 3.0), and it's carrying over into the broader tech field. If you're a wealthy investor with the choice of putting money into some financial vehicle in an increasingly crowded space, or into something that actually ships product, and still makes huge bank, the choice is a no-brainer.

Tech is the current momentum play, because all the financial vehicles are in the tank.

<comment><USER10> No they didn't. Apple didn't announce anything of the sort.

You're linking to _a rumors site_ which is citing _speculative analysis._

</comment></comment></comment><comment><USER11> I do think there is a bubble of people hyping startups. Facebook got a stupid valuation and everyone started reporting that the 1999-2001 bubble was back. But that was just Goldman Sachs bullshitting everyone. It doesn't mean every startup has a stupid valuation now.</comment>


Elegantune – the best and most professional chromatic tuner - <AUTHOR> http://elegantune.com

<comment><USER2> Sure, it is the best. I use it to tune my guitar everyday.</comment>


Dowd on Barack Spock, beam me up - <AUTHOR> http://www.nytimes.com/2009/05/10/opinion/10dowd.html?_r=1&pagewanted=print

<comment><AUTHOR> Link to print version... alas nyt hijacks it with advertising. woe is them, woe is them.

Unfortunately newspapers are an endangered species. Dowd writes:

David Simon, the creator of "The Wire," who worked for 13 years as a Baltimore Sun reporter, testified that "high-end journalism is dying," and when that happens, and no one is manning the cop shops and zoning boards, America will enter "a halcyon era for state and local political corruption."

IMHO, high-end journalism is takin' a beating. But they aint dead and never will be. What is dying is the newspaper medium. That will most likely go the way of the horse and buggy, only to be seen on trips to central park and amish country. What news publishers need is a new business model. Oddly enough, it is coming from places like the NYT. Go figure. Check out <http://developer.nytimes.com> to see what I'm talking about.

</comment><comment><USER2> It's good to know that the old gray lady is upholding the fine traditions of reasoned, coherent argument supported by the facts in it's editorial content.

Maureen Dowd turns in another excellent performance that doesn't at all read like it was written after a pitcher of Margaritas consumed while watching the latest hit movie. Not at all.</comment>


Ask HN:  Framing other sites has always seemed scummy to me.  Am I off-base? - <AUTHOR>

One thing that never fails to tick me off is when a site frames one of my own.  Seeing someone else's URL and branding atop a page that I created and filled with original research/content/thoughts makes me feel just a tad violated.
It's arguably a fuzzy area, but there's nothing fuzzy about how I feel about seeing it happen.  It feels like theft.
When I first had this happen two years ago, I started adding a frame-breaker to all my blogs.  Problem solved. Most people don't know how to do that however.
For a while, it seemed that only shady sites like i-am-bored were engaging in massive framing of other people's content.
However, recently I noticed, to my disappointment, that Facebook frames the destination pages for all links shared on it.
And more recently I've seen some startup called Outbrain add "related content" links to popular blogging platforms.  These links lead to framed pages with a prompt at the top inviting visitors to log in to outbrain.  Major newspapers are now using this outbrain garbage on their blogs.
Aside from my decidedly negative emotional response to the practice as a content creator, are there other, perhaps more tangible detriments to being framed?
Does it hurt a site's SEO and create duplicate content problems?
Could it be argued that it's a form of IP theft?
Am I off-base in my intense hatred for sites that frame others?
I want to be able to concisely explain to non-techies why this gets me so mad. To techies as well I guess. <comment><USER3> Yes, it is scummy. I sure don't set up many outlinks to sites that frame other sites. I don't recommend them actively in online discussion either. I would never set up framing like that in any site I administer.

</comment><comment><USER4> That's why I've never really liked about.com. Looking into it, it seems like all the content has been paid for by about.com. But content on their sites has appeared elsewhere, and it looks like they frame content, so it's just distasteful.

I do think it can be done well though. Isitfunnytoday.com frames content. They are a web comic aggregator that lets people vote on web comics. On all their out going links, they have a very small frame that lets you vote on the displayed comic, vote on a different comic, and share the the comic on websites like digg. The bar is not invasive, and you can easily get rid of it by clicking the red x. It also helps that isitfunnytoday.com is actually sending more traffic to the other site.

</comment><comment><USER5> I don't think it hurts your SEO–since it's framing your page at the same URL. Google is smart enough to know that the frame comes from your site/blog.

Honestly, I don't think you should be too concerned about it. After all, RSS readers, blog search engines, news search engines, meme aggregators, and other sites all scrape content and republish it (in whole or part) in their own pages–often profiting from ads at the same time. Is that any less shady to you?

I'd say just make sure your pages clearly define you as the content creator. People will get the idea.

<comment><AUTHOR> In some of those cases, the practice is just as shady. In others, not as much.

I don't use an RSS reader personally and never will. I visit the sites I like so they can recoup advertising views from me reading the stories they paid real money to professionals to write.

I also don't like how RSS readers make every story look the same no matter where it comes from. It loses personality.

I think newspapers are partly in their current situation because they didn't sue the pants off Google or charge for their sites to be spidered 10 years ago, before the public grew comfortable with the practice. Google got all their data for free.

If I'm expected to pay Twitter for use of their API, surely I could have been expected to pay the NYTimes to spider their site and store local copies of all their content.

</comment></comment><comment><USER6> 1 - It doesn't hurt SEO. Sure, a directly link would be better, but a framed one is better than nothing. If it creates duplicate content problems, it's for the framer, not the framed.

2 - No. Why do you think it might do?

3 - No, I hate them too :) Except isitfunnytoday.com, because, you see... that's the problem. Sometimes you can clearly see value being added by the framer. But these are rare, most framers do it to stick the users, log activity or show ads.

<comment><AUTHOR> 1\. Ok. Good to know. Still seems scummy because...

2\. They're adding their branding/user experience to your site, usually up at the top, in an effort to brand your content as their own.

According to think link: <http://www.publaw.com/framing.html>

There was a lawsuit back in 1999 in which some news orgs sued the pants off a site that was framing their content and running ads around it.

Outbrain doesn't appear to be running ads, but it's definitely adding UI elements and "login" and "about" links that I wouldn't want anywhere on my site. That's why I wonder if there's grounds for legal challenge, the user experience is being co-opted without prior consent.

<comment><USER7> Hey brandnewlow - I'm the founder of outbrain... thought I'd drop by your conversation here. The recommendations we make in the outbrain widget are based on how readers rate blog posts. Therefore it is important to give readers the rating functionality (which is why we keep the frame). We don't promote our brand in the frame and did our best to keep the functionality and UI to the absolute minimum. Furthermore - when a reader clicks on a link to a page where our widget is installed, we don't show the frame at all as the rating functionality is already available on the page. So a good way to prevent the outbrain frame from showing up would be to install our widget on your site... ;-) (<http://www.outbrain.com/get/ratings>)

We don't really like frames either, and are doing whatever we can to reduce the use and minimize the UI intrusion when we do use them... but in some cases there ain't much better ways to do this... I'd appreciate any ideas for improvement.

<comment><AUTHOR> Thanks for dropping by and joining in.

A few questions:

1\. Do you request the content creator's permission before framing their site? I checked out Outbrain.com but it doesn't appear that you have any sort of submission form. I'm assuming you just index whatever sites you choose. I don't see any sort of opt-out form on your site either.

2\. I understand that your model is based on getting recommendations from your users, and that you get those recommendations by framing people's sites so you can make the rating interface impossible to ignore. That's a decision on your end, not my problem as a content creator. You do not promote the brand you say, but you do promote your service and its ends.

3\. As your model is based on a practice I find distasteful, I'm not sure why I'd want to install your widget.

4\. What is your business model? Will you eventually sell advertising on the frames across the top of these sites once your widget is getting enough use?

5\. Can you really not find a better way to engage users other than framing other people's content? Your reasoning here seems to boil down to "We can't think of a better way to do this."

I appreciate you coming in here and look forward to your responses. I don't see how a business based on framing other people's content is defensible though but I'm sure there's enough framers out there ready to prove me wrong.

<comment><USER7> Hey - before answering the specific questions, I'd take a step back and say that the ultimate judge on web services like outbrain should be the user, not the court (assuming the service is legal, and I believe that both linking and framing are perfectly legal). I think outbrain offers great value to all 3 stakeholders - the reader, the blogger installing us, and the site receiving traffic - and so I hope these stakeholders keep us honest and let us know if we're doing anything that's distasteful in their mind. If you search for references about outbrain on the web you'll find that they are all very positive.

Specifically - 1) We do not request the content creator's permission, and don't think we need to. The content we link to is published publicly, and linking to it is perfectly legal. As I mentioned before, we'll gladly block links to any site that's not interested in them promptly after getting a take- down request. (BTW - why would you expect services like outbrain to ask for upfront linking permission, but not from say Google?)

2) I think what you said is reasonable... we're in business for providing a great product and getting people to use it. I think that is fine. As for the crawling - our crawler respects your robots.txt settings, so if you wish to prevent us from indexing your site you can easily do so.

4) Our business model will likely evolve around advertising, though the frame will probably not play a major role on that. As I said above - we hope our bloggers and readers keep us honest and let us know as soon as we breach their respect of our product. Our users' loyalty is paramount to us, and we would not breach that trust too easily...

5) Any solution other than framing would require us to pull the target page and insert our code into it. That is something we would not do because that really is distasteful - for example, it would affect the site's ability to properly serve and count their ads.

Bottom line - a frame is far from perfect - I agree with you about that - <USER2> I don't think it's inherently evil if used with some care.

</comment></comment></comment></comment></comment><comment><USER8> It's perhaps only tolerable in situations where a site has to deal with phishing on a large scale basis, perhaps on a forum targeted towards a younger audience. And even then, only if it is only a banner which says "WARNING: Don't give out your password to sites you clicked on from us!" as well as a swift way to see the page in full.

</comment><comment><USER9> As long as it's relatively unobtrusive and has a prominent "remove frame" button, I don't see what the big deal is. If it weren't for their link to you (framed or not), that user would not have found your content in the first place. I would be grateful for them driving traffic to your site and move on to more important issues.

</comment><comment><USER4> "Facebook frames the destination pages for all links shared on it."

Where does Facebook do this? I just checked it with a site for a food drive that I'm advertising on my news feed, and it wasn't framed.

<comment><AUTHOR> Click on a "posted item" in your news feed.

Example:

[http://www.facebook.com/ext/share.php?sid=52798147212&h=...](http://www.facebook.com/ext/share.php?sid=52798147212&h=0C-c4&u=mHSaK)

Instead of

[http://www.myrecipes.com/recipes/gallery/0,28548,1708361,00....](http://www.myrecipes.com/recipes/gallery/0,28548,1708361,00.html)

FB adds a blue bar across the top with the profile info of the person who shared the link.

</comment></comment><comment><USER10> Here's the only example of where I like it: <http://playericious.com/>

</comment><comment><USER11> For me it boils down to whether or not the frame is adding any value to the page, unobtrusive, and easy to close.

</comment><comment><USER12> stumbleupon is now doing this for their non-extension based experience.

<comment><USER13> StumbleUpon is an example of framing content right...a simple unobtrusive toolbar. I used that site as inspiration for a website I created during my spare time. Link: <http://www.picahuna.com>

I don't think there's anything necessarily scummy about framing content. In the case of StumbleUpon and my site, there's a benefit to the user experience, and visitors can immediately start using the site without installing an extension. Furthermore, StumbleUpon actually increases traffic to your site.

<comment><AUTHOR> See, I'd be annoyed if I saw that on one of my sites.

And I understand I could be in the minority here with this discussion. It's good to hear the counter-argument from people who organize, scrape, and aggregate other people's content.

And I ask in part because my main project right now is an aggregator. There are a whole host of practices that would help from a business standpoint that I have questions about, like framing.

<comment><USER13> When I made the site I debated whether to include frames or not. The justification I used was that I as a user (not just the creator of the site) would actually want a small toolbar that would allow me to navigate quickly between aggregated sites (it aggregates image sites, so I tend to move quickly between pages), and view the sometimes funny captions people give the images.

I can understand your annoyance though. Content creators should have a choice whether to be framed or not... and they do, but like you said not a lot of people know about framing sites and/or how to break them.</comment></comment></comment></comment>


Ask HN: Any downside to using Gravatar? - <AUTHOR>

I'm re-opening anonymous commenting on one of my sites and am wondering if anyone has an opinion about using or not using Gravatar for user images. <comment><USER2> I'm honestly surprised that more sites don't use it. It's a really easy way to get some quick info on the poster / user.

We've actually incorporated it into our admin dashboard.</comment>


Ask HN: What are the benefits for incorporating in Delaware? - <AUTHOR>

Every one says it's awesome for internet consumer company but I have no idea why. Hoping the HN could help me out. <comment><USER2> <http://news.ycombinator.com/item?id=244009> (Ask PG/YC: Why a Delaware C-Corp?)

[http://www.mcstartup.com/blog/2008/3/6/what-state-should- i-i...](http://www.mcstartup.com/blog/2008/3/6/what-state-should-i- incorporate-in.html)

</comment><comment><USER3> I think the main reasons are cost, and less red tape than other states. Though that might just be historic, and other states might have similar offerings.

<comment><USER4> Can I incorporate in delaware as a non US resident?

<comment><AUTHOR> Yes. C-Corp</comment></comment></comment>


Ask HN: Swift or Objective-C for new iOS app in 2017? - <AUTHOR> This question was asked a little over a year ago on HN and I noticed many answers said something along the lines of "Give swift another year". What do you think now? <comment><USER2> Swift, since it's Apple's preferred language of the future. On Apple platforms, you pretty much should embrace whatever the Mothership prefers going forward.

Additionally, once you start coding in it, you'll likely find it's a joy compared to Obj-C.

</comment><comment><USER3> I can think of only two reasons to use Obj-C over Swift in 2017:

1) The app will rely heavily on outside libraries or codebases that are Obj-C, to the extent that it will be annoying even though Swift-ObjC interop is pretty OK, and

2) You (or your developer(s)) are grizzled Obj-C veterans, haven't yet learned Swift, and you are in a rush and don't want to waste time learning stuff

Swift has some warts still, but the show-stoppers like "all your code will break in the next release" are over (well not on Linux yet, maybe, but on iOS for sure). Swift is better than Obj-C in almost every way you could think up, even if thinking them up was the whole point of a drinking game. (And I say that as somebody who did Obj-C programming for 19 years and Swift only 2 so far.)

So it's pretty much truck-vs-horse at this point. The horse will still let you ford that river after a flood, and you can eat it if you get trapped for weeks by a blizzard or something... but basically the truck is gonna be better for almost anything unless your app is really unusual.

</comment><comment><USER4> Swift, unless: 1) You intend to keep this app maintained but can't afford to track future Swift languages changes, or 2) You want to optimise for binary size above all other considerations. (apps written in swift bundle the swift libraries)

</comment><comment><USER5> I developed in Objective C for years. Have been on the Swift boat for a while now, and not long ago I did some maintenance on an old Obj C project.

Even allowing for the re-learning time and rustiness, there was such a sharp contrast. Swift is just so much more fluid, productive, expressive, and a joy to use.

Yep, there are plenty of issues, stability isn't 100%. Despite that, it is well worth the jump.

</comment><comment><USER6> _Maybe_ Obj C if your machine is a bit old or underpowered. SourceKitService is a hungry, hungry little beast.

The tooling in general around swift still feels a bit "in progress" imo but it's defo the future, and for me, the present.

<comment><USER7> I can't agree with this rationale. Your machine will change over the years, while decisions as important as the programming language to choose will remain over time.

<comment><USER6> I don't completely agree with it either, hence the italicized _maybe_

</comment></comment></comment><comment><USER8> Swift is simply a safer language to use, safer as in it tries to prevent you from shooting yourself in the foot. And at this point the framework support has pretty much caught up. So my vote is for Swift on new projects.

And stick with Swift 3.0

</comment><comment><USER9> Hands down: Swift.

I absolutely adored Objective-C. But there were a few things I never felt comfortable with and just drank the Kool-Aid on.

1\. Message passing to `nil`. Sure it's nice that you can safely pass a message to nil, but the idiom is a little weird. `guard` and `defer` have completely changed the way I write code in functions to exit safely.

2\. Protocol Oriented Programming. This has changed the way I architect my applications for the better. I end up with less code over all and fewer Unit Tests in particular.

3\. Associated Value Enums. Another big win over Objective-C. Now I can have a type and value all wrapped in one little package for my switch statements. It sounds minor, but it minimizes cyclomatic complexity.

4\. It's going to be very good to know this language in 2 years. Javascript has owned the browser for too long.

</comment><comment><USER10> Swift and its not even close.

</comment><comment><USER11> Now that the language is more feature rich the rose tinted glasses have come off a bit. The dev experience can be slow even on a decent MacBook, and the language has its own gotchas if you deeply nest type inferences.

But it still beats Obj C by a longshot.

</comment><comment><USER12> Swift. Even after going through the pain of migrating from swift 2 to swift 3.

</comment><comment><USER13> Objective-C is a dead end. Swift.

<comment><USER14> Not 100% true. There are tons of apps in Objective-C that have been around for years and the support continues.

<comment><USER15> There was only one Objective-C presentation at WWDC 2016, the content was related to improvements done for better Swift interoperability.

Also Apple is very clear about that in their documentation.

</comment></comment></comment><comment><USER16> Definitely Swift. But: 1) If you plan to develop a SDK/lib compatible with both Obj-C and Swift and don't want to adapt to new Swift changes coming forward or 2) You absolutely can't stand SourceKit related bugs in XCode happening now and then.

then consider Obj-C.

Would go pretty far to use Swift over Obj-C anyway, so I can deal with both 1) and 2) and still use Swift. It will just get better, so probably best to go Swift sooner than later.

</comment><comment><USER17> Swift unless : 1/ you're working on a very big project ( 3/4 ios dev working on the app for a year full time) And 2/ all the members of your team are already fluent with objc

Then, it's debatable, whether you bet on the swift tool suite to fix all the compiler crashes and compile time issues before your code base reaches the critical point.

</comment><comment><USER18> I like Swift after using Objective-C for many years, and most agree. As others have said, I don't see much new code coming from Apple or anyone else in Objective-C.

Also note that it's trivial to manually convert small blocks and idioms from Objective-C to Swift.

And that you can include Objective-C libraries and classes/files and call them from Swift.

</comment><comment><USER19> There is no good or bad answer. Here is how I'd pick a language:

Swift \- Do I want to attract young developers in a near future? Do I value awesome user interface over app stability?

Objective-c \- Am I looking to collaborate with Sr. developers? Do I need tones of support and documentation on the Web?

Other than that, it really doesn't matter even in 2017.

</comment><comment><USER20> I am still coding with Objective-C for production apps. Random SourceKit crash on Xcode causing auto-complete to go haywire impede productivity especially you are in the flow.

And to adapt to new syntax whenever a new Swift version come out... is painful

</comment><comment><USER21> Not just swift, specifically Swift 3.0 since it will stay stable. Some libraries haven't caught up but worst case you spend three hours manually updating lines the converter couldn't figure out.

</comment><comment><USER22> Swift for your own code. Choose ObjC for any 3rd-party frameworks and libraries otherwise you risk being stuck waiting for them to be fixed when swift is upgraded.

</comment><comment><USER23> React Native

<comment><USER24> Hidden option number 3!

Doing some playing with react native at the moment and can say it's refreshing (although Swift is nice to use, especially compared to the bloat that is Java for Android)

</comment></comment><comment><USER25> 100% swift.

</comment><comment><USER26> Definitely Swift.

</comment><comment><USER27> Swift and new features will be coming to Swift 4 and 5. What more learn how Bitcode can really improve apps and others.

</comment><comment><USER28> Swift

</comment><comment><USER29> C or Perl</comment>