Ask HN: Is it bad if I only have experience working in my startup? - <AUTHOR> Hello!
I'm in the early stages of running a small startup/business and expect to reach $10-20k ARR in the next few months. Once we've acquired a customer, the service is automatic and doesn't require manual input.
Each customer represents $2-6K ARR, but we don't know their lifetime value. With a bit of effort and marketing I can imagine reaching $200k ARR in the next few years. Split with my cofounder, this could become a very nice lifestyle business, or we could go all-in and do the whole startup thing.
But what if it fails? I graduate next year. I'll have a CS degree, but my only experience will be building this. My GPA isn't amazing because I've spent most of my time getting to this point – it hasn't been easy.
Any advice? <comment><USER2> The biggest challenge you will face is what I think of during interviews as "founder damage." You're used to leading teams, not being on them. You're used to deciding what to do, not doing what is decided. A good engineering lead builds and leads teams and makes plenty of decisions, but they do it in a context of "others around me are people I need to listen to" not "I'm only listening to this person because I have to because I had to get a normal job." The best thing you can do to stave off founder damage (which is a lot like hubris, btw) is to make sure you have a co-founder and/or other team members about whom you would say without hesitation "they are so much better at X and Y than I am that I look like a child next to them." Making sure you have people like that around you is how you make sure you keep learning and keep being able to fit into society. If you happen to have read that and think "there isn't anyone I know like that" then the need for those people has already reached critical importance and finding those qualities in people you know is your most important task.

<comment><USER3> I will note that particular phrasing would really turn me off as a hiring manager.

"I have a lot left to learn. I know this because I saw room for improvement at X, Y, Z. I'm looking forward to working with experts/professionals/etc more senior than I am to learn from them, etc."

<comment><USER4> I think he didn't mean X, Y, Z as other places but as colleagues / co- founders? So a candidate that is able to tell you something like: "I'm a great engineer, but I really learned a lot from working with Bob who is amazing at building teams and Mary who is the best at finance" demonstrates being a better team player than someone that "can do it all" themselves.

<comment><USER2> As there appears to be some confusion here, and as the author of the phrase "make sure you have a co-founder and/or other team members about whom you would say without hesitation "they are so much better at X and Y than I am that I look like a child next to them."" I will reiterate that X and Y are things you feel your co-founder and/or team members are much better at than you, for example "my co-founder is much better at hiring people and writing testable code than I am" or "my first hire was much better at schema design and writing performant queries than I am." X and Y are skills or abilities you respect and acknowledge that others you work with are better at than you, and they are important because remaining aware of other's strengths is how you ward off hubris in yourself as a founder.

</comment></comment></comment></comment><comment><USER5> General speaking? It doesn't matter much. You are a Student. Your career is not something which is just there its something which grows over time.

I had the experience for looking for a new intern and one guy was telling us about his StartUp. Thats fine you know? but also its 99% bullshit.

A small business as a software developer to build, is actually not that hard. The demand is just that high. But that person didn't sound like 'hey i was coding on the side' more like 'yeah we will be the next google'.

Yeah of course you will be and so tell me why you where interviewing with us?

So thats the biggest point: Why do i care about your Startup if you are interviewing for our position? It should show your passion perhaps but thats it. If all other candidates are better technical speaking and are a better team fit, you are out. And with your GPA you probably have risked a good starting position at a bigger company.

Nonetheless about your Startup: What do you really earn vs. what do you expect? Why do you even tell us what you expect?

"I can imagine reaching $200k AAR"?

You are student, you have apparently not reached 10-20k AAR and you have not reached $200k AAR. I don't care about stuff you have not reached. And if its so great in your eyes, why would you try to be hired?

It is super simple: Show me, in the interview process, that you are honest ( don't cheat, i had that...), you are motivated & passion (you like to talk about technology perhaps), you have energy (like you will not be the person sitting in the corner and i have to take care of you all the time) AND you have basic technology understanding and you in.

And don't come in into an interview and tell me, you wanna be part of our company but if your startup makes it big, you are out. Like i don't fucking care about your startup. I care about a team and i might not have the chance to hire another one because of no available head count.

<comment><USER6> This is a great point. Put that hubris away and stay humble.

Building a small business as a software developer is still extremely hard though which is why they're probably interviewing with you. Demand is high but in an efficient market, it's much more likely to go towards incumbents.

</comment></comment><comment><USER7> Another way to look at it is that you'll be a new CS graduate with some good practical experience under your belt (many CS graduates can't say the same). I guess you would be in a similar category as other peers that do internships, though IMHO if your company does as well as you expect it to, your experience is much stronger. Maybe you don't even need the job after all?

That being said, focus on getting your degree. That piece of paper has a good deal of intrinsic value.

</comment><comment><USER8> "Bad" and "good" are meaningless judgements in this context. You're about to graduate, so you wouldn't be expected to have any real experience, but you do have experience building and running an actual product. Seems to me like you've got the time ahead of you to try running your startup and either succeed or fail, in which case you'd have enough time to restart your career as an employee.

My only advice would be: the founder mindset is very different to the employee mindset, and you'd have to take that into account, and, don't quit your CS degree if you're within 1 year of graduating.

</comment><comment><USER9> I had a small side software business (really no effort) while making real money at the day job. That went on for a few years before it finally took over day job. What I guess I'm saying is there is a different way to approach this, other than taking what basically is a min wage job, for a long time.

</comment><comment><USER10> > I'll have a CS degree, but my only experience will be building this.

Isn't the alternative only having a CS degree? Are other people working at FAANG jobs as they pursue their education?

Obviously an internet stranger can't tell u what to do but I would feel better if more people told the big tech companies to eff off. They will essentially bribe u to waste your talent working on their status quo cementing schemes

</comment><comment><USER11> I'll start with rough quote from a producer when asked how do you hired as producer? Ans: Produce a movie and people will hire you to produce movies. Even if your movie totally flops. Thing is if you started a business, found real customers and delivered a product, even if ultimately the business didn't make it. Congraduations you're a wolf not sheep.

Often companies have beat the business side of things into young engineers and a lot of them refuse learn what you know already. That's generally valuable.

</comment><comment><USER12> Do you realize that most of your peers have, at best, a few summer internships of work experience? You are already an entrepreneur who has been in the arena!

The decisions you made in life lead you to where you are today. As your situation changes, so will your approach. You already know how to adapt and take action, considering your role as an entrepreneur. With these skills, you're more than ready for whatever you do next.

</comment><comment><USER13> Don't worry. If you have enough hobby projects and real experience, nobody is going to ask about your CV.

I'm 34 now and I haven't had anyone ask about a CV yet. I usually send a link to some relevant past projects and they'll talk to my past teammates and then that's good enough :)

If you are good at coding and building new things, this is still overwhelmingly a sellers market. So make sure to practice negotiation.

</comment><comment><USER14> It depends on the company that you'll be applying at. Before my own company was making enough to cover my bills I had to go back to a regular job and most of my experience at that time was either at my own startup or at others. I had some companies only offer me junior salaries because they didn't consider my experience at startups - it didn't count in their books. However, there were plenty of other companies that valued my background and that's where I found a home until I could go full-time with my own company (I decided to bootstrap). The company I joined wasn't a startup. Not all companies will value your background but the ones that do will pay you well. You'll need to interview around and don't be frustrated if the first place you apply to dismisses your startup background.

</comment><comment><USER15> Hello, I have more than a decade experiences in startups: small, medium and big. If i can wrap it up, think that startup provides the best slingshot to your life journey if you ride the momentum in the right time.

There no time standard whether one, two or six years is the right amount to spend in a single startup. All you need is see your growth as your indicator. If your startup revenue growth is linear, but your own personal growth is sky- rocketing, that's mean you should stay.

The company will have exponential growth if the team inside grow in explosive way.

</comment><comment><USER16> When I interview candidates, I specifically look for signs of having been a big player in a tiny team. People from this kind of background often think of themselves as senior developers because they've had a lot of responsibility.

But, their knowledge is entirely confined to the things they've directly experienced. Their knowledge is a mile wide and a molecule deep. They don't know the correct terms for things, haven't thought at all about the trade offs involved in different approaches, and (as others on this thread have pointed out) don't know how to deal with a bigger team of people who all have their own opinions, knowledge and experiences.

I might still hire these people but in junior, not senior roles.

My advice: Be very humble. Don't expect to be given the same responsibility elsewhere. You may feel you've earned it but you haven't proved that yet. Really. Learn to accept criticism and to discuss your approach with other people, even if you think you've got it right.

Also, go back and study those textbooks you've been treating as less important, really hard. Believe it or not, you are at the very beginning of your career. There's still a long way to go.

Good luck!

</comment><comment><USER17> If you end up having to apply for a normal job this just means you're positioned for "product manager" or something like that, rather than software developer. Most places, that's _better_ , especially so far as long-term career goes. In terms both of pay and social standing. Congrats.

</comment><comment><USER18> I was pretty much in the same boat back in 2013, except with no CS degree but another degree and experience in a different field. What helped me was that at some point we did freelance development for a company to pay rent, and when our startup capsized they hired me and other founders because they knew what we could do. This bootstrapped my software engineer career very nicely. (I ended up staying 6 years because the work and people were great.)

I'm not suggesting you start doing freelance work as well, but if your startup enables you to form relationships and prove your skills to people who could recommend you for interesting roles down the line, that would be super useful.

</comment><comment><USER19> Nope, we will hire you. (julien at serpapi.com)

</comment><comment><USER20> You should add your company and contact info to your HN profile.

</comment><comment><USER21> What you have going sounds awesome. Continue. It seems better to work for yourself - instead of somebody else.

</comment><comment><USER22> I suggest listening to or reading "Rich Dad, Poor Dad" by Robert Kiyosaki. You seem to be confused about whether you want to be an owner or an employee. Maybe his story will help you shake loose what direction you want to take in life.

</comment><comment><USER23> Do not worry about the failure. Keep doing what you are doing if you think it's worth your time and effort. Some may see your flaws and some may see your strength if it doesn't work out just like in any other interview. Keep moving forward.

</comment><comment><USER24> I think a savvy manager would look at your soup-to-nuts experience as a good thing, perhaps in a product lead or management role, if the tech resume isn't up to snuff.

Sounds like you've built something amazing - just keep going!

</comment><comment><USER25> It sounds like you can stay lean and grow your business. Don't even raise any VC.

</comment><comment><USER3> I don't think you'll have a problem. If you can document your successes (even failures have successes), youll have more work experience and success than your peers. You will stand out, in a good way.

</comment><comment><USER26> Whatever you don't learn from being in a "real" job you can make up by reading good books, good articles, listening to good podcasts and working with a mentor. Keep learning. Keep asking questions.

</comment><comment><USER27> Can you talk about you acquired your first customer and what the marketing was like?

</comment><comment><USER28> Or just make your resume reflect your skills and call yourself the lead developer.

</comment><comment><USER29> Failure is also an experience.</comment>


French pair invent plastic-to-fuel recycling system fit for African bush - <AUTHOR> https://www.japantimes.co.jp/?post_type=news&p=1645721 <comment><AUTHOR> I submitted this because I've been thinking about this problem a lot lately, and so was pleased to find this.

I'm unable to find any "meaty" articles, however - everything I find is pretty much press release stuff. Would love better links and a knowledgeable discussion on the plastic-to-anything-useful work being done.

TIA!</comment>


Show HN: Adaptive CSS Theme for Hacker News - <AUTHOR> https://github.com/gpmcadam/hn-theme <comment><AUTHOR> I was slightly frustrated that all of the themes for Hacker News went far above and beyond simply adding a dark theme, many of them completely change the UI of the site.

I've attempted to create a theme which I think only minimally changes the design (to aid readibility in dark mode) and only activates dark mode when your OS instructs the browser via the `prefers-color-scheme: dark` media- query.

Would appreciate any feedback/suggestions :)</comment>


Show HN: Reminders to myself for taking on more managerial duties - <AUTHOR> https://isaacs-journal.herokuapp.com/shared_posts/o0CZ0mZ41yLcC0oHrSsIwg <comment><AUTHOR> If anybody is curious what this was written with, here is the repo: [https://github.com/inoda/private_journal](https://github.com/inoda/private_journal)</comment>


EU governments choose independence from US cloud providers with Nextcloud - <AUTHOR> https://nextcloud.com/blog/eu-governments-choose-independence-from-us-cloud-providers-with-nextcloud/ <comment><USER2> The recent changes to Dropbox incited me to finally build a home NAS/personal- cloud server based on Nextcloud last month.

My first impressions were a bit negative, as I was expecting "open source Dropbox" and nothing more; Nextcloud actually does quite a lot, which made me think it was bloatware. This is due to my ignorance and jumping in too fast.

What Nextcloud actually is: a personal Dropbox-style server, with open source equivalents of Google Docs, calendaring, contacts, notepads, and a complete "app store". It's all really well built, and you can use as much (or in my case, as little) as you feel like. I thought I'd use none of these apps at all, until I realized that I would really like a Del.icio.us-style [bookmarking app]([https://apps.nextcloud.com/apps/bookmarks](https://apps.nextcloud.com/apps/bookmarks)), but had no desire to shop around and adopt something that required a fee or might disappear later.

At this point, my only criticisms are that I think the installation should be more idiot-friendly, and the UI smells of 2012.

For anyone interested in following suit, I picked up an [Odroid- HC1]([https://www.hardkernel.com/shop/odroid-hc1-home-cloud- one/](https://www.hardkernel.com/shop/odroid-hc1-home-cloud-one/)) (a bit like a Raspberry Pi, but much higher disk and network performance, at a similar price point) and [NextcloudPi]([https://ownyourbits.com/nextcloudpi/#download](https://ownyourbits.com/nextcloudpi/#download)) (complete Debian + Nextcloud image). It went swimmingly and cost well under a hundred bucks, not counting the 3.5" hard drive.

Nextcloud is backed by a corporation that mostly makes its money off support for the German gov't? I think it's an ideal solution for any municipality, non-profit, or small-to-large sized company that for whatever reason doesn't want to go with a commercial cloud.

<comment><USER3> Thanks for sharing this. I've been interested in creating my own setup, and I was wondering if you've setup an off-prem backup solution, and what you're using for that?

<comment><USER4> I have a cron job that copies the internal drive to an (encrypted) USB drive every night, and about every 3 months I sneakernet it to an offsite location (eg my parents' house in another state) and bring back the previously-stashed drive. It's nice to know my data is in multiple places I trust, and not plugged in. I also do a lot of digital photography (~1TB/year) so it's cheaper than cloud solutions (at least last I checked)

</comment></comment></comment><comment><USER5> Alternatively "Countries that aren't the US choose not to work with US companies or subsidiaries because the US gov. has stated that foreign subsidiaries are still beholden to US law over the local law, and the US constitution does not apply to foreigners".

It's not just "independence" it's literally: you cannot trust a US [owned] company because the US government has said it that US law governs any foreign subsidiaries. Because they're now magically subject to US law they have to comply with the patriot act, which is already unconstitutional. But that doesn't matter as the US Supreme Court has repeatedly held that the constitution does not apply to foreigners. Therefore they don't even need the patriot act: foreigners don't get the 4th amendment.

If you were the leader of some country, and there was another country acting that way, would you ever want to store any of your information, or rely on services provided by, a company subject to such rules?

</comment><comment><USER6> Do EU governments not have something like FedRamp? I work on a popular SaaS product for enterprises. At my last job I supported a managed service provider who was going after some federal IT outsourcing business.

AWS has FedRamp instances in DCs no one else uses. Same with the SaaS system I work on. They had all kinds of restrictions including only allowing US Citizens to access the systems.

<comment><USER7> You're referring to AWS's GovCloud regions, right ([https://aws.amazon.com/govcloud-us/](https://aws.amazon.com/govcloud-us/))? I also believe Microsoft has a eqivalent product ([https://azure.microsoft.com/en-us/global- infrastructure/gove...](https://azure.microsoft.com/en-us/global- infrastructure/government/))

<comment><USER6> Yes, FedRamp is the certification. GovCloud is FedRamp certified AWS.

</comment></comment></comment><comment><USER8> Nextcloud is really cool. A coworker had initially set it up for an in-house place for our team to store more sensitive things that we didn't want floating around on confluence or google docs. It didn't last long. The legal team didn't like the AGPL license and we had to abandon the project. Too bad really, the interface is very nice and the file level encryption was a big plus.

<comment><USER9> Why would the legal team care about the license in this case?

<comment><USER8> Fear. I think they are over-cautious. They don't want AGPL code running in an environment that could be perceived as part of our customer environment.

<comment><USER10> They should contact us - Nextcloud GmbH. A contract with us contains all indemnification they could ever want, so it should not be an issue at all. (A)GPL is used in a countless business environments, they're tried-and-true licenses that have been proven to be pro-customer. Especially if you have a proper vendor contract it's actually a huge advantage over the various vendor licenses and their often heavy-handed anti-user clauses.

</comment></comment></comment></comment><comment><USER11> Just asking: the new plans of "Owncloud" won't have any repercussion on "Nextcloud", right? Question based on 1) the fact that Nextcloud is a fork of Owncloud and 2) this post...

[https://owncloud.com/owncloud-infinite-scale-owncloud- unveil...](https://owncloud.com/owncloud-infinite-scale-owncloud-unveils-new- architecture-for-unlimited-scalability/)

...as reported e.g. here (I had problems loading the above page):

[https://translate.google.com/translate?hl=en&sl=de&u=https:/...](https://translate.google.com/translate?hl=en&sl=de&u=https://www.golem.de/news/infinite- scale-owncloud-aendert-grundlegend-seine- architektur-1907-142723.html&prev=search)

Meaning: Nextcloud won't follow a similar direction, right? Thx

<comment><USER10> First of all, we forked 3 years ago and have progressed very fast since then - there is, from what I know, no code going between the two code bases since 2 years or so.

Second, there is simply no reason to rewrite everything from scratch. We know our code base well enough to be able to maintain and keep driving it forward.

Nextcloud can already scale to hundreds of millions of users. See nextcloud.com/globalscale - GS is in production since 2017 and at at least one customer, some nodes have shown to scale to 250K users, as part of a larger architecture designed for tens of millions. We have about a half dozen other customers using GS or working on deployments, and some in proof-of-concept stage.

In short, we have no plans to change a working, proven architecture which _actually_ scales from Raspberry Pi to a global deployment for something which actually doesn't do either of those.

<comment><USER11> Great, this makes me happy:)

Thanks a lot for mentioning the interesting details!

</comment></comment></comment><comment><USER12> Do EU Governments care about security? Has a proper audit of this monstrosity been done?

Or is this just another ploy to get better pricing?

<comment><USER13> Where is information stored securely? On a private server not accessible from outside and protected by law or on foreign publicly accessible servers not protected by local laws?

<comment><USER10> So both the German and French governments host Nextcloud firewalled off from the internet. Others use things like a reverse proxy (City of Geneva). Most customers just run Nextcloud internet-facing, as that is the easiest if you want to collaborate and work remotely. We trust Nextcloud to be perfectly safe for that, at least as safe as any complex piece of software can every be, of course. We have a very active security team, the latest security measures and a bug bounty program where you get up to $5K for reporting issues to us.

</comment></comment></comment><comment><USER14> Glad to see nextcloud getting more punchy support. Could be a big plus for everyone doing self hosting stuff

</comment><comment><USER15> France/Netherlands/Sweden/Germany is an interesting mix.

(Edit: removed incorrect information.)

<comment><USER3> NextCloud was an independent company well before it did anything government related.

The only thing that's happening here is they appear to have struck a huge contract with a few EU countries to build internal clouds.

I believe NextCloud is open source, and a fork of owncloud from the original owncloud developer who wasn't happy with the direction it was taking, or something like that. Also, they are a profitable company, and the product is open source, so this only looks like a boost to their business model and the open source product it's based on.

<comment><USER15> Ah, I see. Perhaps not as bad as first thought, then!

</comment></comment></comment><comment><USER16> I first thought it's about a new competitor for AWS, Azure, Google Cloud. A bit misleading headline. According to Wikipedia: Nextcloud is a suite of client-server software for creating and using file hosting services. More properly would be to say: cloud storage.

It's very bad Europe has no its own public cloud yet. All universities, schools, research centers, public services can be much more efficient and secure than now. But they will probably fall again into the same trap like it happened with Windows and other proprietary garbage before. Will it be AWS or Azure this time?

<comment><USER17> A fair number of universities and research institutes already use Nextcloud, e.g. the Max Planck Computing and Data Facility offers a Nextcloud installation for all users and TU Berlin also offers one for all of its students. There's no reason for these things to live in a "public cloud", whatever that means, self-hosting them is much more efficient, privacy friendly and secure (if only by compartmentalising).

</comment></comment><comment><USER18> We(FileCloud) compete with NextCloud in Self-Hosted EFSS space and part of Gartner MQ. We are seeing more and more government customers are asking for solutions that offer complete control over their data. We have large government and education customers in switzerland and Denmark.

</comment><comment><USER19> The new dashboard app/widget dock looks great. Looks like it's a totally different app from the old unmaintained one which got buggy and then low ratings, but the new dev kept that listing and is working to get it back up.

Playing life on expert mode, respect.

</comment><comment><USER20> I'm so happy to see this, I'm a huge fan of Nextcloud since I switched from Dropbox and couldn't been happier. I never seen such a high quality PHP project, it's really simple to operate and upgrade!

</comment><comment><USER21> If nothing else another player in the market is a good idea. To get government contracts, they would have had meet stringent security standards, it would interesting to know what level they are compliant to.

</comment><comment><USER22> Could this be the next MiniTel in the making?

<comment><USER23> Minitel was based on another protocol. Nextcloud reuses current technology and provides open source interfaces.

So, the difference between the internet and the minitel is nothing like the difference between Nextcloud and American alternatives (Dropbox & Co).

<comment><USER24> > Minitel was based on another protocol.

 _everything_ was 'based on another protocol' before x25 :D

i think that just like Minitel was one of many services that used the banal packet switching tech at the time, nextcloud is just another banal cloud offering. What is interesting is what will happen soon: truly distributed networks will be for [aws/nextcloud/etc] what the internet was for [minitel/dec/telenet/bbs] users.

</comment></comment></comment><comment><USER25> I used Nextcloud for more than one year, but in the end I found it too bloated for my usage and I kept having problems with some outstanding bugs in it.

I finally moved to Syncthing one year ago and never had to configure anything else. I have it running in a docker container that gets automatically updated and needed zero configuration since then. It's also much faster at syncronizing files than Nextcloud was, and doesn't need a central repository.

If you don't need Nextcloud fancy features and just want a Dropbox self hosted alternative, Syncthing should be the way to go.

[https://syncthing.net/](https://syncthing.net/)</comment>


Stuxnet is embarrassing, not amazing - <AUTHOR> http://rdist.root.org/2011/01/17/stuxnet-is-embarrassing-not-amazing/ <comment><USER2> Real Mossad Operatives Ship.

These guys weren't making a paean to beautiful, hardened software to impress their hacker friends. They needed to get the simplest, most reliable and effective code possible out the door in as short a time as possible.

Israel bought itself a few more years of a nuke-free Iran. This is a successful, amazing, even miraculous outcome. Outside of nerd circles, software is measured by results, not architecture or complexity. Beautiful systems that never ship are fine for weekend projects but, uh, we're talking about stopping a _nuclear weapons program here_. It's a bit like saying that Apollo 11 was bullshit because the accommodations weren't anywhere near as nice as flying on Pan Am.

Stuxnet is the Jack Bauer of software. Rough edges but badass and gets the job done under impossible circumstances.

<comment><USER3> _we're talking about stopping a nuclear weapons program here._

But the unanimous consensus ("with high confidence") of all 16 US intelligence agencies remains that Iran does not have a nuclear weapons program. I haven't seen that mentioned once in any discussion of this subject here. That's just weird.

I don't follow this stuff closely and obviously have no idea what's going on behind the scenes, but it seems likely that everything about this business is stuffed to the gills with propaganda. Is there any credibly objective source anywhere?

<comment><USER4>
      But the unanimous consensus ("with high confidence") of
      all 16 US intelligence agencies remains that Iran does
      not have a nuclear weapons program.

Israel has enough to worry about without Iran developing nuclear weapons. I sincerely doubt they would keep bringing it up if it obviously wasn't the case. They really don't need it for their case. So I would like to see the evidence for your assertion.

<comment><USER5> I'm not the original poster, but the idea that the US intelligence agencies have collectively decided that Iran's nuclear weapons program is inactive is not some crazy conspiracy theory: the most recent NIE really does say that. [http://www.nytimes.com/2007/12/03/world/middleeast/03cnd- ira...](http://www.nytimes.com/2007/12/03/world/middleeast/03cnd-iran.html)

</comment></comment></comment></comment><comment><USER6> Stuxnet worked. Very well. It was out in the wild, by best estimates, for over two years before it was detected. During that time it caused complete chaos within the Iranian nuclear program (to the point where some officials were executed on the suspicion of espionage).

This post and its backhanded compliments are very arrogant in a way that epitomizes everything that is wrong with the security industry. It is a game of one-upmanship amongst those who can talk the talk but not walk the walk. This blog post is basically:

 _Dear most successful team of virus and backdoor writers in history who completely changed the paradigm for what worms can do, I suggest you read this book that I probably know nothing about or haven't read and definitely do not understand. Ps. here are a ton of links to stuff I googled that you didn't do, pss. isn't it awesome that you are anonymous and can't respond to my criticism? psss. Did you get the part about me being smart?_

Pathetic. To make it worse, the entire industry is full of such assholes.

<comment><USER7> Nate Lawson is not trying to one-up anyone in the security industry. He works on a level above most of the rest of us, spending most of his time on hardware and cryptosystem projects. To imply that he's part of the Black Hat vulnerability research bugfinding rate race is to betray a comprehensive lack of understanding of how our field is structured.

I'd challenge you to find any reputable party in that field to challenge this summary. There's a whole Twitterverse of security experts that will back me up on this. Nate's not an egotist, and that's not where this post is coming from.

The place Nate is coming from is one of skepticism. He's challenging the near- hagiographic conventional wisdom that Stuxnet's sophistication is a clear sign of its intelligence lab origins. If Stuxnet isn't particularly sophisticated, that doesn't mean it wasn't set into motion by nation-state actors, or that it was ineffective, but it does knock down one factor in most of the discussions about the importance of "cyber warfare". Maybe Iran's nuclear plants were simply absurdly exposed to IT-based attacks due to sheer incompetence.

<comment><USER8> _He's challenging the near-hagiographic conventional wisdom that Stuxnet's sophistication is a clear sign of its intelligence lab origins._

I thought this conventional wisdom was based on the success of stuxnet, once delivered, at having the desired effect on the centrifuge. The article appears to be based on techniques used in delivery of the payload, not the payload itself.

<comment><USER7> An expertly constructed industrial sabotage malware might have taken more steps to obscure itself simply so that it could leave the same avenue of attack open to itself in the future, perhaps at a different target. That alone seems argue against this being the handiwork of the "best & brightest" in the US intelligence community.

<comment><USER5> _That alone seems argue against this being the handiwork of the "best & brightest" in the US intelligence community._

Noob question: is it widely believed in the security community that the US intelligence community has lots of 'the best and the brightest' when it comes malware construction?

I only ask because I recall a bit of Jane Mayer's book that explained that post-9/11, the CIA didn't have any professional interrogators on staff because they weren't in the business of holding prisoners in custody to interrogate. Just curious if a similar phenomena might be at work.

<comment><USER7> NSA is a hiring pipeline for software security. Some very, very talented exploit developers have come out of NSA.

</comment></comment></comment></comment></comment></comment><comment><USER8> I know nothing about malware, but I know a lot about shipping production software.

\- Simpler is better than complicated. As pointed out in one of the comments on the article, increasing complexity increases risk of failure.

\- Proven techniques are, uhh, proven. Newer techniques are inherently riskier.

\- Really speculating here, but maybe impenetrable obfuscation was actually undesirable? I wonder if the authors, (seems to be Israel and/or US), wanted Iran to figure out who was behind it. A successful cyber-attack means that future attacks of the same sort are possible, and adds a bargaining chip to the Israeli/US side. This can lead to Iranian concessions down the road. Without a proven success, a similar negotiation tactic would have to be much more difficult.

<comment><USER9> Alternatively, maybe they just thought it is not that important? They were attacking important infrastructure. They were actually going against a country... which had access to the destination machines. As long as they go through usual AVs and don't do extensive dynamic updates of the malware, how much time would they gain? How many experienced people were _really_ looking at that thing? Since their attack wasn't really done the day after the malware was released, even hiding the payload for a month or more wouldn't make much difference in reality, would it?

</comment></comment><comment><USER10> _No wireless. Less space than a nomad. Lame._

Substitute any of a thousand critiques of <any language except Lisp|Haskell>, Windows, Linux, you name it that is out in the world getting its job done.

<comment><USER7> Uncharacteristically facile. The subtext of Nate's post is that while Stuxnet clearly didn't foreclose on Iran's nuclear ambitions, its careless design may have foreclosed on an otherwise viable nonviolent method of shutting down the harmful industrial processes of other rogue states.

Nate is saying, take exactly one step back and look at Stuxnet and you see that it has _two_ jobs: one†, to retard the Iranian nuclear program, and two, to do so at a minimal cost to future intelligence activities. At that second objective it seems to have demonstrably failed; there are teenagers who have done better jobs of concealing the payloads of malware.

† _If you believe all the Stuxnet press_.

<comment><USER10> I like your thinking, but the tone of the post doesn't communicate that point as well as your comment.

Now as to point two, I read elsewhere in these comments that one possible advantage of Stuxnet's simplicity is that whomever launched this attack can launch another one with a higher level of stealth.

You are the expert, not I. I only know that in Sports this is often a good strategy. Hold off on your strongest plays until the opposition has proven they can stop your average plays.

<comment><USER11> The problem with that approach is the game is over once your infection route is revealed. You don't get to play your stronger plays. No one will attach a USB flash drive to any Iranian or North Korean industrial computer now.

Why burn a perfectly good vector when you don't have to?

</comment></comment></comment></comment><comment><USER12> Most of the comments here seem to be of the form "Well, maybe Stuxnet isn't that elegant, but it got the job done and that's what matters", but is it really that bad of software? All the technical people I've heard discuss the software in person gush over how advanced and clever it is. Can anyone point me toward a more technical discussion of Stuxnet which could confirm/dispute the OP's view?

<comment><USER11> Well, you can compare the Symantec analysis for Stuxnet to other malware (say, Conficker, the previous media darling).

[http://www.symantec.com/content/en/us/enterprise/media/secur...](http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/w32_stuxnet_dossier.pdf)

<http://www.malwareinfo.org/files/W32.DownadupThreat.pdf>

You'll notice that most of the gushing has devolved to focusing on the payload and not the infection mechanism. That's because the worm itself is surprisingly average.

</comment></comment><comment><USER13> Stuxnet is a hugely complex piece of code already, and it's something that needed to be as bug free as possible, and that means avoiding unnecessary complexity.

A key part of being a software developer is knowing when to make trade-offs rather than striving for "perfection".

The virus did it's complex job successfully. Building a piece of software of this complexity that has to work in an unknown environment first time is amazing.

<comment><USER14> Being a software developer and being an exploit developer are two entirely different things. Professional exploit developers DO NOT ship unless it's perfect. Malware authors will ship even if it's not perfect, because the target is not technically advanced and can get away with it. If you're targeting a nation-state, you best not compromise your intent, how you broke in, nor how long you've been there for.

<comment><USER11> Yes, that is the exact point of this article.

</comment></comment></comment><comment><USER15> The current interpretation of events is that Stuxnet is a project of the Israeli government which has been at least partially successful in slowing Iran's attempts to build nuclear weapons.

Considering that the alternative would be bombing of nuclear facilities involving perhaps unauthorized overflights of neighboring countries and the risk of inflaming a hot war in the middle east (through the overflights and the bombings) I don't think I can rate this operation as anything other than a huge success.

<comment><USER16> according to leaked cables some middle eastern countries actually encouraged us to bomb Iran. Otherwise I agree that a non-military solution is at least initially appealing.

      I fear whoever unleashed this has opened a pandora's box of destructive malware.  We've already seen things like China hacking major corporations and manipulating it's currency.  It's not hard to picture a future where malware is used to hurt the competition's production, at either a corporate or state level.

<comment><USER15> From the perspective of just about every other country in the region there is a hell of a lot of difference between Israel bombing Iran and the US bombing Iran.

</comment></comment></comment><comment><USER17> As to the "in a hurry" bit, we know that to be true, or at least we do if we believe the recent NYT article. Obama was, according to that article, briefed on Stuxnet before coming into office. As soon as he was in office, he rushed the program. It may be that he simply removed some bureaucratic hurdles, or he may have told the team that said they needed 9 months to get in done in 4. I suspect we'll never know.

</comment><comment><USER18> I don't see what the problem is... I thought everyone was in favour of launching with a minimal viable product these days.

But seriously, maybe the thing was cobbled together from a whole bunch of government workers/contractors who didn't really know what they were building. Sort of like that film, Cube. Hence the lack of finesse.

Or, maybe they wanted it to be analysed so other factions would be less wary of it. I mean, who knows.

</comment><comment><USER19> I think it's safe to assume Iran will no longer control their nuclear facilities with Windows boxes...

<comment><USER20> Nor use OpenBSD ;-)

</comment></comment><comment><USER21> It may be that the authors did not want to telegraph their true capabilities to other state actors with cyberwarfare units. Although Iran is one such nation, the outcome suggests they're too far behind to constitute a threat.

More sophisticated states are looking at this and either learning: 1) that Israeli/US offensive cyberwarfare capability is much weaker than they previously believed, or 2) nothing, because they already know better.

</comment><comment><USER22> Or perhaps the software got an accidental "early release"?

</comment><comment><USER23> I do not understand this criticism at all. Stuxnet worked, right?

<comment><USER5> Assuming that Stuxnet was designed to delay Iranian nuclear efforts, there are different degrees of "working". Delaying for a week is better than delaying for a day, etc. If better cloaking would have allowed Stuxnet to remain hidden for longer, than it would have delayed Iranian nuclear efforts more.

<comment><USER24> Sending a clear message of, "we have the ability to launch effective cyberattacks against you" may have been a goal as well. Make it too stealthy and it might be a while before anyone realizes they were attacked.

</comment></comment></comment><comment><USER25> You don't want to hide your weapons in an arms race.

<comment><USER6> My own theory is that after watching Iran kill themselves for a year trying to figure this thing out, they sent out an update of Stuxnet that made it easier to discover as a way of showing their hand.

By that point, according to most reports, the program had been set back by three years (as effective as what a military strike would have been, according to the NYT article).

It was hidden for almost two years, then suddenly discovered - at which point dozens of security companies around the world deconstructed the worm in a process that took weeks.

</comment></comment><comment><USER26> The simplicity of the design makes it easy to point fingers at non-US / Israeli sources. Via the simplistic design the US and Israel have plausible deniability. When a piece of malware looks no different than any other released last year then it could well have been developed by bulgarian teenagers. Bulgarian teenagers will raise less international issues than using advanced techniques that only the highly trained CIA / NSA / Mossad operatives have.

<comment><USER27> Most Bulgarian teenagers don't have access to nuclear centrifuge controller units for the purpose of designing/testing their code.

</comment></comment><comment><USER28> Consider this:

-Obfuscation is often used to obscure the operative. I submit the conclusion that Stuxnet was 'dumbed' down on purpose to obscure which country wrote it. Also by obfuscation of the virus one can also send a strong message of 'You do not know who attacked and you will never know'</comment>


Chinese Education Startup Puts Western Teachers on Notice - <AUTHOR> https://www.wsj.com/articles/chinese-education-startup-puts-western-teachers-on-notice-11553160602 <comment><USER2> The education startup is called VIPKid and I assume it's for kids. So why would anyone teach about Tiananmen massacre to the kids?

That aside I believe the confrontation is mostly from how China and western treat sensitive topics. Western educators would feel morally obliged to present facts, while Chinese have a tradition to treat stability over everything. With China asserting its increasing influence in the world we'll probably see more clashes behind these two cultures.

I'm not saying which one is right or wrong, but both sides need to find a solution to this cultural conflict.</comment>


Top 10 Javascripts for Image Manipulation - <AUTHOR> http://www.blogohblog.com/top-10-javascripts-for-image-manipulation/ <comment><USER2> Nifty! These scripts work by going through the document's img elements, and turning any that are flagged with certain CSS classes into canvas elements. The image is then loaded into the canvas and manipulated with the proper effects using javascript on the canvas object.

Good for hackers who want nice visual effects but hate Flash. Unfortunately, not free (commercial use restricted).

<comment><USER3> DUDE TEH INTARWEB JAVA SCRIPTS WERE PUT THARE BY BILL GATES FOR FREE JUST TAKE EM</comment></comment>


Andreessen Horowitz, Salesforce Put $1.4M In Flotype (YC W11) - <AUTHOR> http://techcrunch.com/2012/01/05/andreessen-horowitz-salesforce-put-1-4m-in-real-time-messaging-infrastructure-startup-flotype/

<comment><USER2> Nice idea.

If Flotype inherited NowJS' concept of one namespace for both server- and client-side it's a very smart thing built on NodeJS.

I am sure there're tons of companies who would love to get a out-of-the-box real-time communication system w/o going too deep into node.js (which is btw perfect for this job).

The idea behind nowjs is great but still isn't that trivial—your code has to be build around their core concept and at the end of the day you are pretty dependent on one sole company for core functions such as communication for your product. Further, there's is more to consider (are messages saved, if yes at flotype or do I have to build my DB and so on) and you quickly face the make or buy decision because with taking NodeJS and building your own communication stack on top. I want just to say that an integration with Flotype is more than just adding a one-liner—correct me if I am wrong—and currently it's too risky to rely on a new product which future is unknown. The point or what I am feeling uncomfortable with is that it's just proprietary tech.

I think Sri will solve this issue (maybe with a freemium model where also the sources are under a public license and you pay money just for the servers)

</comment><comment><USER3> What's this, an enterprise product? How was it sold since there are companies using it already?

It says Coming Soon all over the website, can't sign up or anything.

<comment><USER4> They are the same guys behind nowjs:

<http://nowjs.com/>

Presumably their early customers are from there.

I actually know two of them, and I can remember discouraging one when I heard the idea for nowjs and it sounded similar to appjet. (Sorry Sri!) It's crazy how far they have come in fewer than 18 months. Congrats guys!

</comment></comment><comment><USER5> From the TC article:

"Bridge, a technology that enables real-time communication between any server, any device, on any platform. Bridge is essentially an API that developers can use to avoid the complexity of building real-time messaging into their applications, and help push more data faster between servers, web browsers, mobile phones and other devices."

Sounds very similar to Amazon SNS, which Amazon describes as

"...a web service that makes it easy to set up, operate, and send notifications from the cloud. It provides developers with a highly scalable, flexible, and cost-effective capability to publish messages from an application and immediately deliver them to subscribers or other applications. It is designed to make web-scale computing easier for developers."

Right now their website doesn't have much information so it's difficult to determine how they plan to differentiate themselves from existing platforms that (appear to) solve the same problem.

</comment><comment><USER6> Congrats to @sridatta and his Flotype team!! We are a European startup and having met only 1 time Sridatta in a bus to Google RootAccess event, he was kind enough later to give us advice for our YC interview couple of Months later. Thanks! You spread great karma :)

</comment><comment><USER7> Anyone know what this is built on? Is it zero mq or some other open source messaging system, or is it all proprietary?

<comment><USER8> A mix of both.

<comment><USER9> darshan - I work in enterprise technology and am working with real-time applications (SAP HANA). I'd like to get in touch about this. Contact details in my profile.

<comment><USER10> What's SAP HANA?

<comment><USER9> <http://www.sdn.sap.com/irj/sdn/in-memory>

</comment></comment></comment></comment></comment><comment><USER11> Congratulations to the Flotype team!</comment>


Why GitHub is not your CV [2013] - <AUTHOR> https://blog.jcoglan.com/2013/11/15/why-github-is-not-your-cv/ <comment><AUTHOR> OP here: I ran a poll on Twitter [1] that attracted 827 votes asking the question of what site best represents a developer's skills and experience. Github was by far the #1 choice.

[1]: [https://twitter.com/crtr0/status/681327621548818433](https://twitter.com/crtr0/status/681327621548818433)

</comment><comment><USER2> 2 year old article but use the cached URL:

[http://webcache.googleusercontent.com/search?q=cache:yFBroqO...](http://webcache.googleusercontent.com/search?q=cache:yFBroqO-1nkJ:https://blog.jcoglan.com/2013/11/15/why- github-is-not-your-cv/+&cd=1&hl=en&ct=clnk&gl=us)

<comment><USER3> And there's a lot of discussion from when the article was submitted to HN two years ago:

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

</comment></comment><comment><USER4> Interestingly, I got a 404 before a reload showed the page just fine.

<comment><USER5> IIRC, the author blocks HN referrers.

<comment><AUTHOR> Wow. I've never heard of that before. Any idea why? Would love to hear that story.

</comment></comment></comment><comment><USER6> Anyone else getting a 404 error?

</comment><comment><USER7> Not sure why this is on the front page if its 404.

</comment><comment><USER8> 404</comment>


Apple's News app in iOS 9: All the news that fits, they print? - <AUTHOR> http://www.macworld.com/article/2933773/apples-news-app-in-ios-9-all-the-news-that-fits-they-print.html <comment><USER2> > And we also have Apple-that-runs-iBookstore, which rejects books that link > in any fashion, even as a mention in an author's biography, other > bookstores.

This sounded intriguing so I had to look it up:

[http://www.dailytech.com/Apple+Rejects+iBooks+Submission+Bec...](http://www.dailytech.com/Apple+Rejects+iBooks+Submission+Because+it+Mentions+Amazon+/article25280.htm)

Apple rejected an author's book because it mentioned Amazon. That's quite a poor policy and I wonder if it is still in effect.</comment>


HTML5 Mythbusting - <AUTHOR> https://hacks.mozilla.org/2012/11/html5-mythbusting/

<comment><USER2> Most of these don't seem like "myths" so much as "uncomfortable realities". It's not a myth that native apps are faster because they get preferential access to the hardware, for instance, it's just a fact.

<comment><USER3> There are "uncomfortable realities" associated with native development as well, such as the cost of porting to other platforms, forcing users to upgrade their hardware to stay current, app discoverability issues, etc.

<comment><USER4> \- _the cost of porting to other platforms_

On the other hand, while it is rapidly getting better, the tooling for HTML5 apps are still generally the wild west. You can hack together an HTML5 app in no time, but unless you are doing something that is completely bog standard, by the time you properly engineer your HTML5 app, you probably could have delivered on two or three native platforms.

\- _forcing users to upgrade their hardware to stay current_

If your app needs something from newer hardware to function properly (more processing power, new I/O devices, etc.), how does HTML5 alleviate that problem? If you mean forcing users to upgrade their operating systems (which is sometimes dictated by the hardware) for new features, I'll note that the browsers/HTML5 rendering systems are generally part of that upgrade, still requiring said upgrade to use those features in HTML5.

\- _app discoverability issues_

Given that a native mobile app can use all of the same marketing tools a web app has, _plus_ the vendor's app marketplace, couldn't it be said that native apps have better discoverability?

<comment><USER5> _\- the cost of porting to other platforms_

Where in mobile can you live-debug an application both visually and functionally like you can with Web Inspector? I mean literally you are coding and debugging your app at the same time. And with LiveReload you don't even leave your editor to see your code changes _instantly_.

Not to mention you are coding in JavaScript and CSS so the time it takes to iterate between various solutions is a fraction of the time of Objective C or Java. I think you have your first point backwards. There may not be an equivalent IDE, but we have a runtime inspector/editor baked into our runtime platform. You can't beat that.

 _\- forcing users to upgrade their hardware to stay current_

On Android you can update your default browser through the app store.

 _\- app discoverability issues_

Perhaps, but then again your app could just be rejected/removed at any time. Plus the whole 30% cut, time to release, limited sales options, etc. You're not in control of your app.

<comment><USER6>
      > Where in mobile can you live-debug an application both
      > visually and functionally like you can with Web
      > Inspector?

Visually? Interface builder in Xcode. Functionally? Instrumenta, lldb.

      > coding in JavaScript and CSS so the time it takes to
      > iterate between various solutions is a fraction of the
      > time of Objective C or Java.

You are vastly underestimating the capabilities of Cocoa Touch and UIKit. And tell me, how many iterations will it take to reimplement something like reusable cells in UITableView with comparable efficiency in CSS and JS.

      > Plus the whole 30% cut

You get a lot for that: including hosting, payment processing, automatic notification about upgrades and access to millions people with credit cards a click away from your app.

<comment><USER5> No matter, saying HTML5 tools are the "wild-west" was "wildly" inaccurate.

On the UITable thing... the efficiency is the whole point of this article. Does you UITableView code compile directly to any other platform?

As for implementing, from a quick google search it looks like it would be trivial. A one day project, if less. How long would it take you to RE-code it in cocoa from scratch without going off the original code? Also, see Enyo if you want an easily re-usable kit like that[1]. Not to mention tons of other ones. If anything that example works in favor of HTML being easy and open.

[1] <http://enyojs.com/sampler/>

<comment><USER4> I feel you may have completely missed my point about it being the wild west. Android, iOS, and many other mobile platforms provide a rich set of frameworks that solve much of the hard engineering challenges for you.

HTML5 gives you a programming language or two and some rough system interfaces. By the time you are done your HTML5 app, it should be almost indistinguishable from a native app in terms of code, but you will have had to build many of those frameworks yourself; or, at best, extend one hundreds of competing frameworks that get you half way there but never all the way (again, unless you are doing something _really_ simple).

As mentioned, I do agree that this area does improve each day, and the time may come where it does meet, or even exceed, what the native platforms offer. In the meantime, however, you are going to be spending a portion of your development efforts being part of that improvement cycle instead of moving on to the next native platform. Six of one, half dozen of the other.

Additionally, the reason I called it the wild west was in reference to the many HTML5 developers who choose to forego best practices altogether and program their app close to the "bare metal", doing only the bare minimum to get their app running. This provides a much shorter learning curve and quicker time to first product, which many non-native developers even consider a strong selling point of HTML5, but it sacrifices all of the lessons developers have learned over the past 30 years or so. Once upon a time, we used to program native applications that way too. Why sould we consider it a good idea now when it wasn't deemed a good idea back then?

</comment></comment></comment></comment></comment></comment></comment><comment> old-gregg Interesting, when I look at the given "Things HTML5 can do that native Apps can not", I notice that those things are important to developers, not to the end users.

End users do not care about "write once deploy everywhere". But they do care about the responsiveness, battery life, native look and feel, etc

So far HTML5 apps are following the trajectory of "Java on a desktop".

<comment><USER7> > End users do not care about "write once deploy everywhere"

No, end users greatly care about that. They want to access their apps on all their devices, and to be able to buy a new device and use their apps on it. Just like they want to access their movies and music on all their devices. To them, apps and media are content and the computer/tablet/game console should just let them access it.

<comment><USER8> You're implicitly referring to the subset of end users that have chosen or would like to choose devices from incompatible ecosystems.

I suspect this set of users is relatively small, given that it excludes what seems like the most common case: people that are satisfied with the platform they're on. I don't know that there are a lot of Android users (for example) that are eager to buy iOS devices but hesitate because they won't be able to use their existing apps.

<comment><USER5> I think you're wrong. Especially going forward, how about apps that run on your TV, your tablet, your phone, your computer, etc. Want a chromebook? Runs there. On a friends phone? Load it there. What happens if a platform dies out? Or another becomes significantly more attractive to you because they release a poor maps application? What if you want a cheap tablet for your kids? There's a ridiculous amount of use cases that _do_ matter to most people. The _reason_ you're happy with your platform is actually because they've locked you into it. If another closed platform came around with all the new desirable apps, you'd be unhappy for the same reason you're happy about it now.

<comment><USER8> _The reason you're happy with your platform is actually because they've locked you into it._

I don't agree. Lock-in is when "I want to switch, but can't." Happiness is "I don't want to switch." Most users on most platforms are happy or at worst indifferent to the question.

I don't think it makes sense for most developers to target the scenarios you describe because although they are numerous, each is small. I don't think the edge cases add up to more than the common case on any major platform.

(Disclosure: I don't regularly use any smartphone, tablet, tv or anything that could be called a modern web application, so it's not _my_ happiness I'm talking about.)

</comment></comment></comment></comment></comment><comment><USER9> This article does not seem to be objective and honest. Yes you can monetize an HTML5 app, but there is a difference between can monetize and can monetize and actually make money.

If you are going to criticize app stores, you might want to factor in the reality that Apple has paid out over 6 billion dollars to app developers. The article mentions phone gap, that's true, so that's fine, but I'm addressing the point about monetizing on the web.

This article also is cherry picking news articles. It picks the Financial Time's article but doesn't mention Facebook's switch to native.

The build once, run everywhere point is flawed as we know that you actually do have to test and add various fixes here and there and worry about screen size, poor development environments on mobile and the like. You also do not have to write the vast majority of your app more than once for multiple platforms. I know a featured developer with a game that has more than 7 million users who wrote their game in C++ and were able to port it to both Android and iOS without writing two different games. And really there are only two mobile platforms that users have to worry about, iOS and Android.

<comment><USER10> It also does something that always pisses me off when I see it in HTML5 boosterism, which is claim that HTML and Javascript are plenty performant, and hey look at this demo as proof!

The problem is that the demo is always of a game that would have been impressive over a decade ago! I mean look at the wipeout clone they show a video of! The demo consists of a clone of a game that ran on a PS1 with 33mhz MIPS processor! And the PS1 version appears to have great complexity in its scenery! The only difference is the increased resolution of the Mozilla demo. Now all it takes is a quad-core I7 with 8GB of RAM and the latest Nvidia card to get the exact same experience with a higher-resolution. Take that people who are unimpressed by HTML5!

<https://www.youtube.com/watch?v=KRSVrkzDyuA>

Javascript and the web are technologies that are popular by virtue of their incredible reach, and not because of the skill and care that have gone into their design. I would really like to Mozilla and other concerned parties spend a lot more time dealing with the glaring deficiencies of the web than trying to convince me they don't exist.

<comment><USER11> To be fair, that Wipeout clone demo also runs fine at full quality on a Core 2 E6400+8800GT. That's also before noting that on that old rig the demo never went above 20% CPU or GPU, which still says nothing about how well optimized the demo is.

Of course, you're absolutely spot on in that all this is stuff non-web devs were doing over a decade ago, the real benefit of web technologies not being that they're as capable as native solutions, but that they benefit from the web's ubiquity.

</comment></comment></comment><comment><USER12> So, to demonstrate the awesomeness that is HTML5, they show a video of HTML5 rendered in Flash?

</comment><comment><USER13> Internet based HTML5 has an intrinsic latency due to the connection with the server. Therefore the bottleneck for performance is not cpu but rather network latency., his makes much of the discussion concerning tailed suite moot, because the real issue is data delay and not code generation optimization.

Lastly performance comparisons between Java and javascript hint that portability of code is not the bottleneck: because Java is much faster than javascript while still being portable.

<comment><USER7> > Internet based HTML5 has an intrinsic latency due to the connection with the > server.

For first load, sure, just like it takes time to download and install an app. But you can then access HTML5 sites again quickly if you store data locally (using IndexedDB for example).

</comment></comment><comment><USER14> Also amusing, WebGL is provided as an example of why perf is good, but is it really part of HTML5? The assumption that it is appears to be another myth.

<http://www.w3.org/TR/html5/> [http://stackoverflow.com/questions/10185554/is- webgl-part-of...](http://stackoverflow.com/questions/10185554/is-webgl-part- of-the-html5-specification)

</comment><comment><USER15> HTML5 means that some elite browser developers enjoy fun and performance native coding and they allow us to use only crappy HTML/CSS/JavaScript (altjs languages and Emscripten can't compensate, of course). I suspect Mozilla guys regard themselves as privileged classes or something.

As a programmer, the freedom of programming languages and APIs is more important than Apple tax.

I sometimes imagine a catastrophic future. They say all programmers will write software only on the browsers. Then, all programmers will forget how to write C++, and no one will be able to maintain browsers eventually :p

IMO, the easiest way to prove HTML5 is a prison rather than open will be jailbreaking Firefox OS phones.

</comment><comment><USER16> > HTML5, on the other hand by its very definition is a web technology that > should run independent of environment, display or technology.

That's a false dichotomy all the way through. Why "web" apps have this advantage "by definition"? "Web" means network. Nothing more. That has nothing to do with its independence of environment. Actually, independence is also a false statement. Web apps are in fact very much dependant on the environment they run in - the browser. To the point that you can't do anything outside of what the browser allows you to. Then also this trait is not unique to HTML apps - Java and .NET are exactly the same, just an order of magnitude more powerful.

</comment><comment><USER17> I love the "cost of porting to other platforms" argument. I'd like to replace it with the "cost of delivering mushy web applications to customers who expect more". That cost is infinite, and you'll never get it back.</comment>


Ask HN: Do you prefer text or web form? - <AUTHOR>

We are building a software that allows tenants and landlord and easy way to submit and track maintenance requests. As a tenant, would you prefer texting your request in or using a web form? <comment><USER2> I would prefer email for this, and I'd suggest you look at simply using one of the many open-source issue tracking platforms to handle these functions.</comment>


Ask HN: What to label the rate of change in development speed? - <AUTHOR> I am working on a tool to measure the speed of work by engineering teams. One visualization shows whether work is speeding up, slowing down, or going at a constant rate. What would you call that? <comment><USER2> Management calls the amount of work a team completes during a sprint 'velocity'. They usually say it is increasing or decreasing. Most agile tools already have this measure in them (see JIRA).

</comment><comment><USER3> In fields outside of computer science and technology in general, the rate of change in velocity or speed is usually called acceleration, or deceleration, as appropriate.</comment>


Ask YC:  What music do you listen to when programming? - <AUTHOR>

This has probably been asked before, but I am curious about the musical tastes of all the rest of you, having noted very similar tastes in the "Ask YC:  Books" thread.
I'll start us off:
Mashups: http://bootiesf.com http://djearworm.com http://partyben.com
Also all manner of classical:  Bach, Mozart, Strauss, Beethoven, Debussy
And last but not least, some excellent indie radio:  http://www.bagelradio.com/blog/index.html <comment><USER2> Rain. It's probably strange, but ambient rain sounds are quite relaxing.

If anyone is interested in this, go here: <http://www.hypnosishealthcare.com/rainsounds.html>

Choose "Rain MP3 Download". Twelve bucks gets you an hour of rain without any background noise at all.

Note that you'll need to play with Winamp's equalizer a bit to make it sound great through headphones. The Full Bass preset is perfect.

<comment><USER3> There's also a free program that does that, along with various other background noises:

<http://www.peterhirschberg.com/mysoftware.html> (Aire Freshener)

<comment><USER2> Awesome! Thank you. That program is really fantastic.

</comment></comment></comment><comment><USER4> None. Interferes with my concentration.

<comment><USER5> Try DragonForce.

<comment><USER4> I will. Just in general - not for programming.

Part of my problem with music and programming is - that I like distracting and complex music.

</comment></comment></comment><comment><USER6> I usually listen to only one track in repeat (for about an hour), one that I'm very familiar with, so i don't get distracted by it (it may or not have vocals)

I've notice that by doing so i stay in the same mind frame all the time.

Also, it is good to choose a track that puts you in the right mind frame, examples: "Chicago" by Sufjan Stevens puts me in an optimistic and somehow upbeat state, "A Warm Place" by Nine Inch Niles puts me in a more introverted- deep thinking state

</comment><comment><USER7> On another note, do you guys wear headphones/earbuds or use external speakers? For me, I really find external speakers distracting, while headphones suck me into the code.

<comment><AUTHOR> Earcup headphones all the way. Noise canceling is an added bonus.

<comment><USER8> I'm incredibly glad my last employer bought me a pair of Bose Quiet Comfort headphones for Christmas. Probably the most comfortable headphones I've ever worn.

</comment></comment></comment><comment><USER9> I alternate between classical (I like Mozart and Beethoven and some others) and electronic/techno dance music. I can't have vocals; it breaks my flow.

<comment><USER10> I'm exactly the same way but I've found that _sighs_ j-pop fits in this as well. If I can't understand the words then it doesn't break my flow. German techno also seems to work.

<comment><USER11> I like music with nonsense lyrics for the same reason, i.e. cocteau twins, sigur ros, dead can dance. Otherwise, ambient stuff like explosions in the sky, god is an astronaut, mono (the japanese mono).

<comment><USER12> Try some Godspeed You! Black Emperor

</comment></comment></comment></comment><comment><USER13> I've scientifically confirmed that The Talking Heads made the best hacking music known to man.

Aside from that, I listen to a lot of Of Montreal, other indie pop, some electronic and movie soundtracks (There Will Be Blood and The Fountain OSTs are both great).

<comment><USER14> Ditto Talking Heads. Also Depeche Mode and Tears for Fears.

<comment><AUTHOR> Is there a better song for working on a startup than "Everybody Wants To Rule The World"?

<comment><USER14> No.

</comment></comment></comment></comment><comment><USER15> [http://www.last.fm/user/bootload/charts/?charttype=overall&#...

</comment><comment><USER8> I find my collection of Punk/Hardcore suits me best for programming. It keeps my mind alert, and works even better than caffeine in some cases.

</comment><comment><USER16> Groove Salad: <http://somafm.com/>

Cliqhop (also somaFM) if the problems are complex.

</comment><comment><USER17> I'm fairly partial to the drone of a tanpura/tambura/tamboura (a bit like a sitar, only fretless). I visited with this swami for for a bit, and he gave me a recording as a background for Japa practice - it's incredibly powerful concentration music.

</comment><comment><USER18> <http://www.thesixtyone.com>

</comment><comment><USER19> Usually I listen to stuff that allows me to think... some chilled out stuff like Stereolab, Free Design, Telepopmusik, Thief, Portishead, Jazzanova, Forss, Yesterdays New Quintet, Wahoo, and more stuff like that.

</comment><comment><USER20> Well, I write rather than program (well, technically I do both, but I suck pretty badly at the latter) but I like Mahler, especially as conducted by Bernstein.

Rhapsody has a phenomenal classical selection.

</comment><comment><USER21> Silence! The voices tell me what to type.

</comment><comment><USER22> Any music that my brain doesn't try to process. Preserves concentration while keeping out noise.

I'm currently listening to Nujabes - Modal Soul. It's a mix of hiphop/jazz and mostly instrumental.

</comment><comment><USER23> Half the time I listen to nothing... the other half involves NIN, Tool, Deftones, Massive Attack, Glassjaw, Ska-P, and other music roughly like that.

</comment><comment><USER24> Recently, a lot of movie soundtracks and instrumentals; lyrics divert my attention. BSG, 28 Weeks, moody/epic stuff. Not sure why, but it works.

<comment><AUTHOR> I really like Hans Zimmer's soundtracks: "The Thin Red Line" and "Gladiator" are both particularly good.

<comment><USER24> Yes, Gladiator... I meant to include that as well.

</comment></comment></comment><comment><USER25> Depends.

Planning/Thoughts stage: Classical, Jazz

Implementation Stage with Nothing to Explore: RnB, Rock

Exploratory: nothing, flow issues

</comment><comment><USER26> For classicals I find light-hearted sonatas and chamber music good for concentration. Symphonies are usually too distracting.

Other times I like the "ambient" channel on www.pandora.com. A while ago when I was hooked on Flight Simulator I had a Boeing 747 running in the background while I worked. The engine sound + distant radio chatters produce a calm atmosphere.

</comment><comment><USER27> I use Sennheiser inner ear headphones and Itunes tells me that I mostly listen to:

Punk and music between the 70's and 90's.

</comment><comment><USER7> Lots of things, but predominantly hip-hop and rock. If I'm in "discovery mode," I'll use Songza or Last.FM.

</comment><comment><USER28> I think I learned more about music on this thread than by listening to radio on the last year. I will try some of the artists mentioned here later on. I usually listen to internet radio. Music doesn't really bother me, but silence does. Silence makes any noise seem like a thunder to me.

</comment><comment><USER29> Explosions in the Sky

</comment><comment><USER30> I don't listen to anything while I'm coding. It's too distracting. Actually, I blacklisted the sound drivers on my work laptop to eliminate any possibility of a random program making noise while I'm trying to work.

Though, that does limit the utility of YouTube.

</comment><comment><USER31> Stuff I've heard a lot before, so that I'm not paying much attention to it. Fishbone!

</comment><comment><USER32> How 'bout taking the next step and making a shared Pandora station for hacking?

<comment><AUTHOR> Not a bad idea at all. I'd need a pretty eclectic library to please everyone here, though.

</comment></comment><comment><USER33> If you're into ambient/chillout, you might want to try jon hopkins or blue states. Kind of "elevator music", still, it works for me ;-) I'm also a big fan of last.fm in discovery mode for that matter.

</comment><comment><USER34> Mostly classical (especially Bach) and jazz (Dave Brubeck, Pat Metheny, Abraham Laboriel, Miles Davis, et al)

Very rarely anything with lyrics, as it tends to disrupt my concentration.

</comment><comment><USER35> Motorhead, Accept, Iron Maiden -- dedicated to programmers :)

</comment><comment><USER36> <http://news.ycombinator.com/item?id=61831>

<comment><USER24> Not everyone listens to their usual genres when coding.

</comment></comment><comment><USER37> headphones, mostly everything, but especially daft punk, Tiesto, lots of blues and stuff too.

</comment><comment><USER14> I prefer to enjoy the silence.

<http://www.youtube.com/watch?v=Hd7y6A-5uTY>

</comment><comment><USER38> Explosions in the Sky

<comment><USER39> lately I listen to Naruto Soundtrack :)

<comment><USER40> Shulman <http://www.aleph-zero.info/>

</comment></comment></comment><comment><USER5> Cliqhop at somafm.com

</comment><comment><USER41> Jamiroquai

</comment><comment><USER42> Soulja Boy Tell 'Em.

</comment><comment><USER43> <http://myplaylist.biz> :-)

I made this lol</comment>


Why C++ is not my favourite language - <AUTHOR> http://www.snell-pym.org.uk/archives/2009/08/28/why-c-is-not-my-favourite-language/

<comment><USER2> I guess he's not a systems programmer. What language did Slava Pestov turn to when he recently re-wrote Factor's VM?

C++ programmers: we do the dirty work so you don't have to.

<comment><USER3> Indeed. So many of these articles can be boiled down to:

"As long as we limit the comparison to things (our language) does well, and exclude things C/C++ do that (our language) can't do at all, (our language) totally 0wnz C/C++".

<comment><USER4> Please never, never, never ever write C/C++.

С - simple and stable, C++ - huge and changing. C - portable and easily parseable, C++ - unpredictable and unparseable. C - good, C++ - bad.

<comment><USER5> I hear good stories about D from colleagues:

<http://digitalmars.com/d/2.0/overview.html>

<comment><USER2> D's great for at least two reasons:

1) it set out to be a no-compromise systems programming language

2) it's being designed by people with an deep and intimate knowledge of C++ (Walter Bright wrote a C++ compiler - no mean feat, and Alexander Stepanov was Mr STL)

These guys know the good, the bad and the ugly of C++ much better than most. From the stuff I've seen so far (check out Stepanov's presentations on an iterator-free STL, or adding functional purity, and also look at the work on making floating point more rigorous) this could finally be a worthy successor.

<comment><USER6> 3) You can declare functions to be pure. A lot of optimizations become possible.

</comment></comment></comment></comment></comment></comment><comment><USER7> That's really cool that this guy thinks dynamic languages have the potential to be faster than C++. Maybe he can write a second article when they are actually faster, with some properly done benchmarks or some valid technical examples.

<comment><USER6> Common Lisp is already quite fast and dynamic. And for the same number of hacker-hours spend in optimizing, you probably get a larger speedup. Also Python+C can be quite a fast combo. Fast to develop and fast to execute. Forth is also quite fast and dynamic, if you grok it.

A lot of functional programming languages have also become quite fast in the last decade. While there are in a sense more fluid than C++, they are normally considered static (and not dynamic) languages.

If you want to compare asymptotic speeds where programmer-hours invested goes to infinity, the lower level languages will probably always win. Like assembler, C or C++.

For benchmarks see: <http://shootout.alioth.debian.org/>

<comment><USER8> OCaml does quite well against C++ in the shootout. OCaml's Functors and type inferrence are a big win over C++ templates. Yeah, the syntax takes some getting-used-to, but all in all the language seems to hang together much better than C++ (perhaps not saying much)

<comment><USER6> I agree. I like Haskell's syntax better. But their syntaxen are nearly isomorphic for the most common stuff.

<comment><USER8> I'm finding OCaml's approach to be a bit more practical even if it isn't as pure as Haskell. Once in a while it's nice to be able to drop into an imperative style or even do some OO and OCaml lets you do all of that.

<comment><USER6> Yes. Though Haskell allows imperative style (via Monads), too.

</comment></comment></comment></comment></comment></comment><comment><USER9> The canonical anti-C++ link for me has to be <http://yosefk.com/c++fqa/> \- pretty thorough and reasonably well argued.

<comment><AUTHOR> That is indeed a most potent collection of detailed arguments!

Now, let's just wait for my colleague to start ribbing me for keeping our project written in C again... ;-)

</comment></comment><comment><USER10> From my perspective, most of the stuff about C++ complexity rings untrue. Most people I know seem to know enough about C++ that they can produce pretty good code.

Yes, there's a lot of depth to C++ but you derive a lot of benefit from other's wizardry even if you're not a magician yourself.

Maybe this guy didn't invest as much time on C++ as he did on his other languages.

<comment><USER11> I think that's not the right criteria though. Are most of the people you know capable _maintaining_ other people's C++ code?

The idea that you can write (!) sane code in C++ by using a simple/sane subset is of course true. But the problem is that in a language of this complexity no two people are going to be able to agree on what that sane subset is. One person may love auto_ptr and use it everywhere, confusing her coworkers who don't get reference counting idioms, but love the STL...

By the time you manage to get your project's coding standards hammered out and enforced, and get it rigged up so it can talk to your external libraries that don't adhere to those standards, you might as well have given up and used C to begin with.

<comment><USER6> I agree. (Might I add that reference counting is evil (and slower than true garbage collection).)

</comment></comment></comment><comment><USER12> I sympathize with the author's dislike for C++ and while you can't argue that dynamic languages "could" at some point in the future be faster than C++, it's very unlikely to happen since one of the requirements for this kind of speed is for a language to be statically typed. Without type information, the compiler is left with very few options to optimize the generated code.

<comment><USER13> _one of the requirements for this kind of speed is for a language to be statically typed_

No, one of the requirements for _static optimization_ is that a language be statically typed. It does not follow that there are no ways to make dynamic languages fast, just that they mostly have to use different techniques.

<comment><USER12> You need to make languages fast on both dimensions, static and dynamic. A dynamically typed language can only be optimized in one dimension, which is why they usually trail behind statically typed languages in performances (since those are optimized along both axes).

<comment><AUTHOR> I've not seen anything like the dynamic-dispatch optimisations the Self team came up with in the 1990s done in C++, nor problem-domain optimisations expressed as macros as is often done in Lisps, nor the aggressive constant- propagation of closures and their eventual inlining that Factor does.

Perhaps some of them could be applied, but a highly complicated base language with extensive mutation semantics (including pointer aliasing) probably mean they'll be so limited in their applicable scope, and so difficult to implement, that it's not an attractive activity for C++ compiler writers...

<comment><USER6> Do you know Synthesis OS ([http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871)). The author made the OS specialize (and thus optimize) system calls during runtime (or something like that, it's been a while since I read the paper). The techniques might me applicable in higher-level languages than the assembler used there.

<comment><AUTHOR> Yeah! Synthesis is quite excellent. I've been interested in exploring using the FORTH model of easily-accessible-runtime-compiler in that sort of context...

<comment><USER6> However it seems dead. Anything new on Synthesis (and related ideas) in the last two decades?

<comment><AUTHOR> Other than JIT recompilation in VMs of various kinds (which is only indirectly related), no, not that I know of...</comment></comment></comment></comment></comment></comment></comment></comment>