Why Startups Could Use .NET, But Don't - <AUTHOR> http://www.piehead.com/blog/2011/05/why-startups-could-use-net-but-don't <comment><USER3> There is a strong perception (whether accurate or not--and I honestly don't know the answer) that it's the same old story with Microsoft: if you go the .NET route, you've gotta buy into the entire Microsoft ecosystem. It's not just .NET that you're choosing; you're also choosing Windows servers, IIS, Visual Studio, etc.

If that perception is accurate, it's entirely reasonable to say, "Despite liking a lot of what .NET has to offer, we don't want to buy into one specific company's ecosystem that deeply."

If that perception is inaccurate, then there should be some serious marketing around changing that perception (and not just from MS--but more like this type of grass-roots post).

<comment><USER4> Not so sure that's the driver here. Many devs have bought into the iOS ecosystem. This certainly isn't cheap: macbooks, imacs, iphones, ipod touches, ipads. It's also a pretty deep dive to get into.

On the web side, I really think cost is the driving factor more than anything. As long as there's a free (open source) solution to MS's framework that is on par (we can argue either way which frameworks/platforms are better) there's little incentive for startups to go .NET. If a LAMP stack started costing as much as a .NET stack the landscape would be very different. .NET faces the problems going against the Java stack.

In the end, it's about the money. Which platform can I make more money on and does it more than pay for the costs to be on the platform? Right now on mobile it's iOS and on the web it's typically LAMP or lately a Ruby on Rails stack.

<comment><USER3> "Not so sure that's the driver here. Many devs have bought into the iOS ecosystem. This certainly isn't cheap: macbooks, imacs, iphones, ipod touches, ipads. It's also a pretty deep dive to get into."

There's a pretty big difference here: lack of choice. If you want to deploy native apps to iOS, you literally have no choice but to get into that world. If you want to deploy web applications (as many startups, especially HN startups do) there are dozens of options to choose from aside from buying into a single vendor's full stack.

<comment><USER4> True. The point I was trying to get across is that lock-in doesn't necessarily stop devs or people from jumping in. The potential to save or make money is to me the more powerful driver.

</comment></comment></comment></comment><comment><USER5> Our startup is based on .Net and hosted on Azure. I don't think I realized just how uncommon this was until we were invited to Microsoft in Redmond and saw the excitement from the developers when they learned that we were a startup.

We love the framework. But its definitely not the only stack we use. I also agree that there are _bad_ .Net developers that spoil it for the rest of us. In my opinion, most of the issues seem to be associated with ASP.Net and claiming to be a web developer without understanding how the web actually works. Many of them are so into just using the tools that they never bother to learn Javascript and instead insist on doing Postbacks for everything.

I feel that we're starting to see a new side of Microsoft when it comes to the web and startups.

Things like ASP.Net MVC, Azure and BizSpark give me hope.

<comment><USER6> I agree, and the shop where I'm employed is the same--we do lots of .NET development, but other products are built on other technologies.

As far as bad devs go, don't they exist for most platforms? I mean, is every Ruby programmer a genius?

<comment><USER7> "I mean, is every Ruby programmer a genius?"

Yes, they are geniuses, because of this: <http://www.paulgraham.com/pypar.html>

<comment><USER8> That was written in 2004, when Python was nowhere near as popular as it is now. Ruby is also really popular today too, and thus fits in the category that PG was lumping Java in.

If you want a _comparatively esoteric_ language today, try ML or Haskell.

</comment></comment></comment></comment><comment><USER9> With rails or php, developers can use the editor and the OS they want. With .net, you're "forced" to use Visual Studio and Windows.

Also, I feel like .net teams are a bit _closed_ to the rest of the programming community. Lots of C#/C++ programmers think that everything that is not C#/C++ is a joke or a little scripting language. "Omg, I would never build my 2D game on Python and save 100 hours" - says the C++ developer.

Also, startups and big companies think and act really differently. The mentality of a startup is: "Go faster!!" while the big company is: "Don't screw up or you're out". I know it's not _that_ black and white, that's just a simple way to say it. But basically, the python philosophy is "Programmers are smart and they'll do their best to use the library correctly" while the C++/C# mentality is: "Imagine that an idiot will use your library so play it as safe and defensive as possible".

Finally, I feel like C# is like a big package deal. Maybe I'm wrong, but I feel like it'd be hard to use CoffeeScript or Compass (for instance) with a C# project. And, it's not _that_ much about the technology, but the mentality of the big company. From my experience, I know that had I told my boss: "I'll use CoffeeScript", he wouldn't have understood why.

<comment><USER10> >while the C++/C# mentality is: "Imagine that an idiot will use your library so play it as safe and defensive as possible".

That may be the C# mentality, but the C++ mentality is generally speaking "We'll have some guys on the team build the tools of gods, then everyone else will use their classes following their coding standard".

Or the mentality is "wtf are all these bugs"

C++ is only possible really in environments with strict standards and the ability to fire those who don't or can't follow them.

</comment></comment><comment><USER11> I don't know about startups. I work for a mid-sized company.

I consider open source to be a better choice in my discussions for these reasons:

* Vendor lock-in avoidance. This can induce some pretty harsh long-term effects, especially with maintenance fees, inflexible users, and data isolation.

* Code escrow. If your customers are relying on a particular component being available for you, it's not a really good thing if that component is 'disappeared' by an API rev. Open source provides trivial code escrow facilities.

* Speed of development. Open source projects seem to move faster than enterprise-level software.

* Company risk: there's no risk of the source code simply going away because the company folded or was bought out. If needed, we can maintain an open-source component if it's that critical.

* Standards-compliance: most open source seems to think about standards more.

* 'Wave of The Future': many novel developments are in open source. If we make sure to ride that wave, we won't obsolete ourselves by locking to a single company.

These reasons all relate to software maintenance and agility in some fashion. Being able to maintain software and to shift platforms (when appropriate) is important. Open source allows those qualities to be there more than non-open source, in my opinion.

I have seen enough Java/MS revs pass through that I don't think it would be professional to recommend solutions based on those platforms, in general.

Best wishes to those those do venture out onto the churny waters, though.

</comment><comment><USER12> I use both .NET and the LAMP stack everyday. I love .NET and C# is a beautiful language. But I have to use Windows to use .NET. There is nothing wrong with Windows, except it doesn't have a very good shell; it doesn't come with the GNU user land; I can't just grep and sed and awk on one line to solve problems and answer questions; when I google for help with stuff like mysql I don't find near as many answers that would apply to windows; I can't just type "apt- get install ..." somewhere to try out a new programming language or other large program for free; I can't solve problems with SSH. All of these problems can be solved to a large extent, but not in a well known, well documented and Free way. Maybe that's just a matter of culture, but until the not- artificially-limited version of Windows can be downloaded for free, I can't give it a fair try.

<comment><USER13> > it doesn't have a very good shell

Get a better one then: <http://jpsoft.com/tccle_cmd_replacement.html>

and terminal: <http://sourceforge.net/projects/console/>

>it doesn't come with the GNU user land

just unpack this in PATH <http://unxutils.sourceforge.net/UnxUpdates.zip> it has grep and awk and sed and all that

> I can't solve problems with SSH

from client side (putty) or server side (<http://sshwindows.sourceforge.net/>)?

<comment><USER12> Thank you for the suggestions.

</comment></comment></comment><comment><USER14> Another answer is it's because most startups are consumer web-focused and MS traditionally hasn't been.

ASP.NET was traditionally an enterprise framework. Which got long in the tooth. ASP.NET MVC is quite good, but probably just caught up with the leading FOSS with MVC 3. Give it a year. And in general people aren't doing startups for desktops anymore, although they're still huge in the enterprise, which is why .NET is bigger in the enterprise than for startups.

The other big space for startups is mobile, but MS isn't big here at the moment. Why are startups using Cocoa now? Well because iOS is huge. If WP7 becomes huge, guess what happens? C# becomes a hot language for startups.

The author of the referenced blog (not the Piehead one) clearly doesn't understand that domains tend to dominate language. And further doesn't seem to understand that you try to pick the best tool for the job. A manager begrudging you for selecting the best tool for the job is not someone you'd want to work for.

<comment><USER8> Agreed. _Distribution_ is the primary concern of most software vendors (big or small), so mobile developers are going to target Android, iPhone, and in some cases BlackBerry. Microsoft's mobile market share today resembles Apple's desktop market share back in the 1990s.

</comment></comment><comment><USER15> _The real answer is just as much about our industry's culture as it is about technology._

No, it's _entirely_ about our industry's culture. Which is a shame. It's a fantastic framework that should and could supplant the JVM. It never will though, thanks to Microsoft's boneheaded choices and the blog posts like 'Why I don't hire .Net developers'.

<comment> guard-of-terra The problem is Microsoft. .Net would be a perfect thing if it wasn't fully owned my MS, in which case it probably won't be far as perfect.

However, you have to use MS OS, MS development tools, MS deployment - and it's pretty painful especially because you can't use shiny macbooks any longer :) If you try to replace any element of that chain, you're on your own entirely.

On other hand, MS ecosystem is smaller than non-MS. For example, what does it have for non-relational storages? Stack Overflow started from pure-MS infrastructure and it's 50/50% already - redis, linux frontend proxies.

<comment><USER16> _However, you have to use MS OS, MS development tools, MS deployment_

You can use Mono tools if you'd like. For deployment, AppHarbor is just awesome.

 _...you can't use shiny macbooks any longer_

I'm on a brand new Macbook Pro right now and I just pushed to AppHarbor. Bootcamp is great.

 _For example, what does it have for non-relational storages?_

MongoDB works great with .NET. I'm actually about to switch my .NET-based startup[1] over to it from SQL Server.

 _Stack Overflow started from pure-MS infrastructure and it's 50/50% already - redis, linux frontend proxies._

Everything breaks at scale. This is the same kind of argument people used against Ruby on Rails regarding Twitter. No matter what technology you use, if you reach the massive scale that StackExchange has, you'll delve into optimization voodoo as well. It's one of those good problems.

[1] <http://effectcheck.com>

<comment> guard-of-terra I believe that if you would have a problem with some third-party library and mono, you have good chances to be replied with "just drop mono and use real .net" I would glad to be wrong. But with Mono, you would always have slower, less reliable and less supported platform. Would not you?

It might be no big deal for some developers, but the difference between java and c# might be no big deal, too, for some developers. At least when I have my Eclipse on kubuntu with clojure code inside, I know that 1) Eclipse on linux is a supported, solid configuration. 2) clojure is experimental, and it's experimental for everybody, not just me.

On other hand, mono is wonderful if you like tinkering (dotgnu probably is even funnier), but if you like tinkering you might as well take factor, common lisp or dozens of other fun platforms.

</comment></comment></comment></comment><comment><USER17> A couple years ago when I was working for a mostly rails shop, We built a medium sized e-commerce system in .NET MVC.

It was our first C# project (though we'd done java before). It was actually quite nice.

.NET MVC is, as some others have mentioned, a rather shameless rip off of Rails-style mvc, but they did a good job, and they published the source, which is handy.

C# is pretty nice, after working with it I actually prefer it to Java.

When we finished the project we were so pleased with the .NET MVC stack that we tried to see how we could make it work for other projects, but it came down to tools and platform:

We had to run windows for development and deployment if we wanted to run Visual Studio and IIS. VS is a decent IDE, but having a *nix system is necessary for literally every other thing we do, which meant we were either running windows in virtualization or dual booting (we have no desire to run linux virtualized for development).

We looked into the mono tools, but trying to get our code running there was an exercise in translation: all the tutorials and documentation are focused on the windows world, so it's difficult to find resources for working with .NET on mono for web development.

In the end, .NET MVC is nice, but it's not such a game-changer that we were willing to put up with the windows-centric toolchain and, just as importantly, the windows-centric culture surrounding it. Unfortunately I can't see Microsoft making the effort to push it to a wider audience.

</comment><comment><USER18> I'd love to use C# or F# for development: they're in my opinion, superior languages to Java and Scala (respectively) -- although Scala has several salient and interesting points (implicits, traits) that F# doesn't.

However, I am fairly well wed to Linux/OS X, and don't see myself being productive with Windows (whenever I used Windows, the first application I'd install is Cygwin), nor (having never done Windows Systems Engineering) do I know how to find a great SRE/operations engineer for a Windows system (or how to train a great Linux SRE to be a great Windows SRE). Nor can I legally setup a small cluster of Windows Server machines in my apartment (or on Ec2) to prototype the application _before_ I officially start a company (and qualify for bizpark) without paying extra costs. Ditto for setting up a developer desktop with MS Visual Studio.

I am watching Mono seriously, but for now I'd stick to C++, Erlang/OTP, OCaml, and Java/Scala as my choices (with Python or Ruby for scripting) were I to start a new project.

Addendum:

Microsoft: if you're reading this, buy Miguel De Icaza's startup. Make Linux and OS X a first class side deployment platform. Market SQL Server (which, from what I recall is superior to it's primary competitor, which is Oracle) as a way to "upsell" customers using Mono on Linux to use Windows Server (if it makes business sense for them).

<comment><USER19> If you haven't looked at it yet, you may also like Nemerle - <http://nemerle.org>

You don't really need Windows to write C#, F#, etc. There are emacs modes for them if you like emacs. I'm pretty sure there's an F# module for Monodevelop available.

It doesn't help you with the OS situation at all, but Visual Studio express is free from Microsoft should you find yourself on Windows.

I know C# better than most of the other languages in my toolkit, and it's pretty great, but I don't think that Windows is very enjoyable to use when compared to an OS with unixy underpinnings. Should you decide to check out C# or F# in more depth, I'd recommend staying on the OS you prefer.

Mono is production quality today, you don't have to wait for it.

<comment><USER18> > Mono is production quality today, you don't have to wait for it.

Having looked at it myself, it just doesn't seem to the case: the only _recently_ got support for generational garbage collection and only plan to support tail call optimization (for F#) in an upcoming release. It's still a technical risk to "bet" on Mono, much more so than on JVM or Erlang/OTP.

</comment></comment></comment><comment><USER20> Why wouldn't a startup that I start use .NET? Because it's too late. The time to catch me was 5-10 years ago - when I was a middle school/high school code monkey playing with the Linux/GNU/gcc stack.

Now it's simply too late. Sure, I could and would invest time and money if your stack was orders of magnitude better. And I often do learn and use new stacks (the ML family; common Lisp) if they happen to be by far the right environment for the problem at hand. But if .NET is just "Java, but a little better", it's really not worth my time.

<comment><USER21> This is very true. Microsoft has not done a good job reaching out to younger developers, which probably hurts them far more than they realize. While I like working with .NET now, I was 100% PHP & Perl dev through high school and college. When I graduated I was hired at a company that built CMS products and needed me to know PHP, ASP.NET and ColdFusion. I realized pretty quickly that my PHP and Perl skills translated pretty well. The hardest thing for me was getting used to writing real apps in an object oriented language.

</comment></comment><comment><USER22> I think the Achilles Heel for .NET is Windows - the only way using .NET to develop makes any sense is to use Visual Studio, and to use Visual Studio, you need to use Windows. And that's a hard sell for a lot of people - most people in the startup scene use Mac OS X or Linux, and one of the reasons why is contempt of Windows. In many ways, .NET is better than Java, but I can't seriously consider using it if it's tied to Windows.

</comment><comment><USER23> .Net doesn't make sense for most web startups no matter how good it is. Why?

* The floss stack is good enough (sometimes better) and more flexible. Can scale up as well as out: [http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scali...](http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-out-hidden-costs.html)

* Unix is more elegant as a headless networked server, as it was designed that way since the early 70's.

* Researching bizspark will never beat the efficiency of: sudo apt-get install postgres

* AKA, time spent worrying about licensing, product codes, and activation is time wasted.

* EC2 (for example) charges ~25% more for Windows thanks to license fees.

The choice between (free, freedom, and elegant), almost always beats (cheap, restricted, and (at times) clumsy)). If there is an aspect to your startup that makes .net a better fit, by all means. But to act as if it is a good solution for the average startup (that intends to grow rapidly) does the community a disservice.

I'd go so far as to say that the "Web 2.0" boom owes its existence to the combination of the floss stack and cheap commodity hardware. In the 90's it took millions to do what today takes thousands (or even hundreds).

</comment><comment><USER24> As a Microsoft developer for more than a decade I can say without a doubt the biggest complaint is that you operate on Microsoft's schedule. If they say LINQ to SQL is dead. It's dead. If they say, you must build Windows apps using XAML, you have to use XAML. I've had to learn at least 5 different data access frameworks over the years.

What I've learned is that core functionality (like arrays, strings, math libraries, etc.) are great but when you adopt higher level Microsoft frameworks (like authentication in ASP.NET) you have to be prepared that at some future point MS will pull the plug.

Open source projects can integrate very well with .NET but if you're starting from scratch at a startup I don't think there is a huge value in the tool chain the Microsoft offers v. OSS tool chain.

</comment><comment><USER25> -Not OSS (note I didn't include the F)

-Cross-browser pains

-Vendor lockin (getting better with mono, but not officially supported by MS)

-Non-(f)OSS tools or less (F)OSS tools

-Non-OSS risk (can't patch if needed)

-No support for WebGL/other html5 tech

-Useless pushing of Silverlight while industry shifts to HTML5

<comment><USER26> I think your opinions are based on out of date info.

There are no real "cross-browser pains" when developing ASP.NET. I think you'd really have to go out of your way today to develop something that "works better" in IE than other browsers.

MS contributes to and supports Jquery and includes it by default in new projects.

Silverlight isn't really being pushed at all except on WP7. It was more of a flash competitor anyway and never was meant to compete with HTML5.

There are quite a number of FOSS tools for .NET development, and incredible amount of 3rd party support that's not FOSS.

Granted, most of their stuff isn't being released as OSS. I believe some of their newer tech is releasing source through codeplex.

Overall, most of the complaints I've seen in this thread about Microsoft are better directed at the Microsoft of the 90's and early 2000's than the Microsoft of today.

</comment></comment><comment><USER27>
        However, Microsoft has been running their
        Bizspark program for a few years, which
        eliminates most of the startup costs normally
        associated with employing a .NET framework.

The problem with BizSpark is that it is a ticking time bomb.

When starting a business, you don't really know what will happen in 3 years, but only one thing is certain -- the path to success usually takes more than 3 years.

And unless you've got VC money to burn irresponsibly, why build on top of a stack that you'll probably have to replace? Does it provide more value than the alternatives? When it comes to web services, all evidence is to the contrary.

        At Piehead, we build web applications on a faster
        pace than almost any startup

This is an unsupported anecdotal evidence.

It also seems incorrect based on the sheer number of businesses I've seen doing kick-ass work with non-MS technologies.

        programmers start to choose technologies based
        on that cultural perception, rather than focusing
        on the best approach for the kinds software they
        want to build

This implies that .NET is the best approach for certain kinds of software - the article does nothing to name them. Which is IMHO, not the best way to advocate for the usage of .NET.

And again, all evidence is to the contrary - most popular web-services online are not built with MS technologies, with a few exceptions that you could count by using the fingers on one hand. And what else, other than ASP.NET-powered web applications? For client-apps targeted to consumers? For mobile apps? Again, all evidence is to the contrary.

Besides the price and the interoperability story - another reason would be that Microsoft is currently a follower.

Besides a couple of exceptions, which are small in scope, Microsoft currently does nothing but to copy ideas taken from (shock and horror) open-source projects. Sorry, but innovation happens somewhere else.

I also like being able to be in control. Even if I don't know the internals of some component I'm using, I like being able getting in touch with the core developers of that component and ask them nicely or pay them directly to fix it for me. And if that component is valuable to me, I also like being able to improve it myself.

Open-source gives you that, Microsoft software doesn't.

<comment><USER21> Hey Bad_User (if that is your real name),

Just to back up what I wrote in the article.

I've worked with 2 start-ups. Both had a major feature release every 4-6 months with minor releases every month or two. At Piehead, most of our projects are less than 2 months from client sign-off to launch. Based on talking with other developers in the Boston area, these timeframes seemed pretty similar to what they were seeing at start-ups and agencies.

I didn't list a huge number of start-ups because I felt the post was getting a bit long and didn't want to jam a bulleted list of start-up names in the middle of the article. There are about 20,000 start-ups listed in the BizSpark directory. Granted, they aren't all web start-ups, but I've only got 5 fingers on one hand and I bet there are more than that in the directory. If you want to see a bit about running a web startup on .NET, the guys at <http://www.stackoverflow.com> have posted lots of articles outlining the pros and cons they've encountered.

It's also worth noting that almost everybody is a follower in the tech world. PHP and Ruby both evolved from Perl. MVC was in use before half of us were even born. In the end, these are just tools and the power comes from what we build with them.

You use the phrase "all evidence is to the contrary" a lot. If you only see evidence supporting open source tools, you're likely not looking too hard. There are pros and cons to both ecosystems and blindly tying yourself to either one will only hurt you in the long run. My main point was that many developers make decisions based on opinions not facts, and your comments seem to re-enforce that. If PHP, RoR, Django or some other platform is best for your project, use it, but don't hide behind hyperbolic psudeo-facts.

<comment><USER27>
         I've worked with 2 start-ups. Both had a major
         feature release every 4-6 months with minor
         releases every month or two.

Great, so you've extrapolated your experience to the whole ecosystem. I'm not saying that at Piehead you don't build websites at a faster pace than others, but even if you do, it's a selection bias, since you're only comparing others that are similar to yourself.

Here, I'll give you an example - suppose you want to do natural language parsing, a fairly hot topic these days. Try finding me supporting libs that would do that and that are better documented or mature than NLTK (the Python library), which doesn't work on IronPython btw.

         didn't want to jam a bulleted list of start-up
         names in the middle of the article

That's too bad, as it would have done more for the point you were trying to make than all the other blabering you wrote.

         almost everybody is a follower in the tech world

Yes, but most valuable projects also add things of value that the original projects didn't.

How's the deployment story these days for .NET? Does it have something like Capistrano yet? Why should I use a half-baked clone of Ruby on Rails, when I can go for the real deal and have thousands of cool plugins to choose from? Why should I use NuGet when you can have the really mature Debian repository and rubygems.org/CPAN/PyPi?

         PHP and Ruby both evolved from Perl

Both innovated in certain ways over Perl, I'm not advocating for revolutions. In both cases you can see clear benefits that those languages / ecosystems provide over Perl.

That's not the case with .NET - it's a proprietary technology, having all the cruft of Java, while not having all the benefits of Java - like a strong community or integration with anything under the sun.

         MVC was in use before half of us were even born

Funny you mention that, because ASP.NET is not MVC. It also makes you jump through hoops to have MVC, mostly because of that braindead postback mechanism.

And not all MVC frameworks are created equal. If you can't see the benefits introduced in ASP.NET MVC that were copied from others and that weren't in existence when half of us were even born, then there's no point in debating any further.

         There are about 20,000 start-ups listed
         in the BizSpark directory

Then what was your blog post about?

         There are pros and cons to both ecosystems

You aren't showing me any pros of .NET, and that was my whole point. Article is vague and filled with hyperbole.

         If PHP, RoR, Django or some other platform is best for
         your project, use it, but don't hide behind hyperbolic
         psudeo-facts.

Well, hyperbolic pseudo-facts are countered best with hyperbolic pseudo-facts. Am I right or what?

<comment><USER28> I think you have not seen the latest Asp.net MVC 3, it is pretty much something like rails.

</comment></comment></comment></comment><comment><USER29> I'm using rails for my company but ruby is definitely not my preferred language. Blocks/Procs/Lambdas (why are there three almost identical constructs?) definitely don't compare to function application / currying. I'd much rather write in F# but I'm worried about all the nice to haves that come with the rails stack, like capistrano or the plugins to serve/upload your assets to S3. (e.g. ASP.NET has HAML but not sass)

I definitely foresee at some point switching to ASP.NET in a similar manner as twitter is moving over to the JVM / Scala, but rails still has a lot of legs in it for us.

<comment><USER30> > (e.g. ASP.NET has HAML but not sass)

I fixed that this past weekend :)

[http://blog.paulbetts.org/index.php/2011/05/16/announcing- sa...](http://blog.paulbetts.org/index.php/2011/05/16/announcing- sassandcoffee-0-5/)

<comment><USER29> You rock! You've tempted me to start using F# / ASP.NET MVC again.

</comment></comment></comment><comment><USER31> I've been a .NET developer for close to 10 years. Our last product (UsabilityHub.com) was written in .NET simply because it is what I know.

In reality it doesn't matter how good .NET is, there are two reasons why we didn't use it for our latest venture (BugHerd.com).

1) .NET is always one step behind. When people say .NET for web apps, they really mean MVC. I love it, but the reality is that it's a .NET implementation of what was long since done elsewhere. .NET will always be a step behind. Although I must say, sometimes being the second to implement something is a good thing for stability.

2) Hiring .NET developers means hiring enterprise developers. A huge generalisation here, but that means engineers that have worked in big teams under constant direction. They don't do open source, they don't read other people's code and they aren't used to working autonomously.

</comment><comment><USER32> Agree on the culture thing. Wrote a blog post about a year ago: [http://www.softwaresweden.com/2010/04/28/picking-a- programmi...](http://www.softwaresweden.com/2010/04/28/picking-a-programming- language-based-on-personality/)

"They don't tell you this in school, but there's a certain organizational personality connected to each language... It's not a matter of the powers of the languages themselves but how they are used and who uses them and what kind of projects will you be doing with the language."

</comment><comment><USER33> I dunno. I get confused, easily. Every few weeks something like this kicks around, I get tricked into saying something unfortunate (but true) about the MS development community, no one changes their mind and the process repeats.

I guess what I keep forgetting to ask is why _should_ I ever consider using .NET for a server side application? I'm totally boggled as to why it's not just a redundant, expensive, risky idea compared to the legions of alternatives. That's very different than suggesting the language or platform is bad... They're not at all. In fact, I think they're great. I just don't understand what makes them worth the trade-offs that come along with signing up.

</comment><comment><USER34> Closed source. If it breaks (really breaks) I (or anyone without a Microsoft badge) can't fix it. And if they do fix it, it will take a while for the patch to get to me. Pretty simple if you ask me.

<comment><USER35> Well, the number of engineers that can actually patch something, in say, the JVM, are rather limited. So I'm not sure open source is nearly as big a deal as it's made out to be, as far as patching goes.

You do have a point on release cycles, but that's not inherently about being closed source.

<comment><USER36> >Well, the number of engineers that can actually patch something, in say, the JVM, are rather limited. So I'm not sure open source is nearly as big a deal as it's made out to be, as far as patching goes.

Rather limited? Thats just not a good excuse where I'm coming from. If I need a bug fixed, it doesn't matter I don't know jack about the JVM today, if the cheapest way for me to fix the bug is to jump in myself, I'm going to become a member of that very limited group that can patch the JVM.

It would be nice if we were developing in an environment that we could throw our hands up and walk away, but in the project I'm working on, we've already had to dig very deep into opensource components of our stack to fix their bugs that would have blocked us from shipping.

</comment></comment></comment><comment><USER37> It all goes back to everything Microsoft offers is tightly coupled to Microsoft's ecosystem, and frankly I've played in that space for years and just got bored of it, plus I got tired of investing in learning Microsoft- specific APIs that Microsoft itself kept obsoleting.

Nothing really new or interesting is happening in Microsoftland. Instead every new offering is just an incompatible counter-offer to some other established technology (eg. Silverlight vs. Flash, .NET vs. Java, Windows Passport vs. OAuth, and so on). Boring.

Perhaps the only area Microsoft has truly offered anything new and interesting is DirectX but I'm not a game developer so I don't have any use for it.

<comment><USER38> I'm not really trying to refute the broader point you're making, but Passport existed _long_ before OAuth. Late 90s I think.

They're only trying to do the same thing in the most superficial way. Passport was Microsoft's attempt to do single sign-on across the internet by centralizing authentication. It never really caught on. The only place I saw it was on eBay for a few years, nowadays I think it's mostly for MS properties.

</comment></comment><comment><USER39> As much as we like to think of ourselves as cold and calculated, able to cut through emotions when making decisions, more often than not we're just like everybody else.

</comment><comment><USER40> My startup uses .Net which I chose for the basic reason that I know it very well and I didn't have time to go learn something else while I was trying to get work done. Any server I add is in response to more paying customers so the cost doesn't matter at all. It cuts into the margin a little but I only add new servers when we add a lot of new business. The initial cost of VS.Net was annoying but it wasn't bad and I was able to run off of SQL Server 2008 Express for a very long time.

<comment><USER5> Are you still working on Aterium.com? Or do you have a new startup that you're working on now?

<comment><USER40> Yep still working on Aterium. Going really well.

</comment></comment></comment><comment><USER41> It's just a perception. Use whatever tool/framework/service that work for your situation.

My latest project was a Windows Phone 7 app with a backend written in Python, hosted on Google AppEngine and using Google's Bigtable database.

A few years ago, for my startup, I used asp.net mvc for the web app and joomla (php) for the website because they had great themes.

So, open your mind and try different things, you will be surprised how much you will learn. But honestly, there is NOTHING that can't be done in either platforms. Technology is really irrelevant. Look at wordpress and facebook. Look at basecamp, look at office live and google office... Look at the crappy objective-c ecosystem and the awesome apps that were built with it.

<comment><USER5> I totally remember checking out the Yonkly source code when I was first learning asp.net mvc. :) Has it really been years already?

</comment></comment><comment><USER42> I've done development with ASP.Net on Windows/Windows Server/IIS/etc., and I just simply don't prefer it to Python/Django/Linux.

C# is a great language, but I find the point and click/cmd.exe solution to not be as robust and quick as a *nix command line.

Visual Studio is a great tool but it has its quirks, complexities, and bugs.

The .NET stack has a lot of potential for web development (MVC being the shining example), but there are so many technologies that make up the stack that it can be overwhelming. It also doesn't help that they are all sold as being equal but that developers in the know would tell you to avoid most of them (WCF/Web Methods/Web Service files/Web Forms/etc).

</comment><comment><USER43> The issue i think is 2 fold:

1) MS technology is designed as if no other exist - it aims to be a self contained ecosystem. It is the ultimate lock-in.

2) MS business practices - after the last 10 years i think many technologists will never trust them again.

</comment><comment><USER44> What about the reputation of MS amongst the developer community? Eg. Stability of Windows (reboots over weekends to free up memory), countless hours spent cursing MS for IE6 etc. IMHO that's also a major factor.

</comment><comment><USER45> That biz sparks program is like a drug dealer giving free samples... yeh u get a free copy of visual studio, but then you got to pay if you exceed any of these requirements...

<http://www.microsoft.com/bizspark/>

Privately held? Less than three years old? Making less than US $1M annually?

<comment><USER46> Is it really a problem to pay for the software you run when you make more than $1M/year in revenue?

</comment></comment><comment><USER47> > As a result, programmers start to choose technologies based on that cultural > perception, rather than focusing on the best approach for the kinds software > they want to build.

This seems to imply that cultural issues don't affect the way the software is built. In my mind it's the #1 factor.

</comment><comment><USER48> To be honest, I think one of the biggest problems with using a Microsoft stack is licensing. With Linux/OSS infrastructure the only limit in terms of flexibility is your imagination. Want a server? All you need to buy is the hardware. Want to change the OS on a server? Just takes time and effort. Want to change your infrastructure from a few big iron boxes to 10x as many smaller boxes? Again, just time and effort and hardware costs.

In contrast, with an MS stack you have licensing and purchasing friction at every step. You get mired with infrastructure inertia, you don't want to waste the money you've spent on buying OS/database licenses, you don't want to spend new money on new licenses. Even when the money isn't very consequential (and in most operations it's not) the mere fact that budgeting has to be involved in so many technical changes often reduces flexibility and development velocity. For example, what if you want to merely investigate a potential new server configuration? With Linux you can perhaps find some older hardware and spend some time prototyping a new system, and if it doesn't work you've wasted time but you've at least learned something. With Windows you have to commit money before you've completed your test.

<comment><USER49> Is there a way that BizSpark fails to help here?

</comment></comment><comment><USER50> I think it's a community problem. Stackoverflow is the closest thing to a vibrant .NET community that I've ever seen, and that's not saying much. Despite the massive enterprise buy-in, it's very lonely place to be sometimes.

Nothing really exciting happens in .NET.

</comment><comment><USER51> >Essentially, the cost differences have become moot.

What? Have you seen these prices? <http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx>

That's just SQL Server for god's sake.

<comment><USER52> 15 bucks a month sounds very reasonable...

<comment><USER53> That's $15 more per month than we're paying in licensing fees for our RDBMS.

Giving away money I don't need to doesn't sound very reasonable to me.

</comment></comment></comment><comment><USER54> As an enterprise software stack, .NET may be fine and competitive. However, the reasons that make it a good enterprise stack work against it in the startup space.

Take the example of a web page returning JSON. In Rails there's a prescribed way to do this. It is generally straight forward and one gets it done literally after 5 minutes of tutorials.

In .NET, you have to install the WCF REST stack, learn about endpoints, bindings, the difference between Raw, and wrapped formats, then there are authorization behaviors (tokens, windows integrated etc etc). Mess around with service hosts in IIS and then pray it works. With everything being pluggable, there is no simple prescriptive method to get code working and moving on to the next feature. The stack is so complicated that blog posts even by MS employees contain errors which stay uncorrected. I have spent two days trying to figure out what is the best practice for uploading a large file to a web service and the combination of options are simply bewildering and with so many parts one wonders if it is going to work at all.

Now imagine this struggle being repeated in every aspect of your development. You will spend the day stepping through Factories and Hosts and Locators using Reflector.exe before finding the little bit of code that does what you want. Then you swear at MS because it is marked "internal" and you can't monkey patch it.

This syndrome is in part due to the size of Microsoft. MS would never dare release software that wasn't pluggable because it has a big audience and big audiences want a clear delineation between what is their code and what is maintained by Microsoft. The startup ecosystem just wants to hack code until it works and get things done. No startup developer can really devote the necessary time to the study of large software stacks before sending out a piece of string.

MS has done an outstanding back-to-basics job with WebMatrix and its PHP-like simplicity. However, it is still a long way behind in other respect.

For example, MS doesn't cultivate a community the way open source projects do. There is no central place to find able consultants, or centralized Planet- style feeds, or given provide a site where users can contribute tutorials. The employees are answering forums in their free time (I saw some post at midnight, and this is devotion, but the msdn forums are literary broken - <USER2> can see the answers being doubled up in the rendered page but no one fixes them). The experience simply reeks of helplessness on the poor MS-employees' part because someone else in the company has created such a shitty place for developer interaction.

<comment><USER55> > In .NET, you have to install the WCF REST stack

Well you don't _have_ to. If I was just writing services to only return JSON to a web-page, I would just use ASP.NET MVC which has good built in support for this, e.g.

public class MyController : Controller { public ActionResult MyJsonAction(){ return Json(new { Id = 1, Name = "MyName" }); } }

Now you have a url /MyController/MyJsonAction which will return the JSON string { Id: 1, Name: "MyName" }, no stress.

WCF is complicated, but it is powerful too, especially if you need to support multiple bindings (e.g. REST and SOAP endpoints for the same service). Also, if you need to support the SOAP WS-* standards, it's a life-saver.

<comment><USER54> Thanks. I'm new to MVC. Sounds like MS got their act together on this one.

Complicated is usually overkill for a startup though. This means a big swath of .NET technology is simply not applicable.

</comment></comment></comment><comment><USER56> At Busfeed.com all our systems and App are build on Microsoft platform and .Net framework. The MS BizSpark program is a winner for us and many startups we know. The icing on the cake: it's waaaaay easier to hire Microsoft professionals on the east coast than for any other platform out there.

I think the ability to find and hire good developers is the most underrated factor in tools for startups.

</comment><comment><USER57> > [...] don't look for PHP programmers or .NET programmers, look for > programmers with experience on a variety of platforms.

This isn't mutually exclusive.

.NET is just a tool. Perhaps it should instead be rephrased and generalized: don't look for programmers who _only_ have experience with X. But that's still a different argument.

</comment><comment><USER58> I am a knee-jerk Microsoft hater (with reasons I won't bore you with). Last fall I saw a bank developer giving a demo of how to build a system using F# and accessing the the windows GUIs library on .Net. I have to say it was very, very nice and powerful. I was half tempted...

</comment><comment><USER59> In my experience Windows ops/admins don't have anywhere near the depth nor breadth of infrastructure knowledge that *nix ppl do, and I have yet to meet a .NET web developer who knew anything about OS internals.

I'm not ragging on MS devs, just an observation from personal experience. The well-roundedness of the FOSS based software engineers makes them a much better suit for startups than MS people. I don't believe technology superiority really comes into it.

</comment><comment><USER60> This is interesting. More startup ar using .Net than I would have thought (including mine).

We should create a separate thread to list/show our stuff (for those ready to show).

<comment><USER5> I wish there was a better way for us to meet other .Net startups. I usually try to send an email to any companies I discover are .Net based here on HN.

Even if you're not ready to show, I still want to meet everyone!

</comment></comment><comment><USER61> Is there a way to learn .NET stack without downloading lots of stuff/having a student license/licensing things?

I do like C# and have used it for Uni projects in the past, but I've done much more work in Python because starting out in it was as simple as typing "python", or making webapps is as simple as apt-getting or easy_installing a framework and doing a simple tutorial. What is the equivalent of, say, the Flask tutorial, for .NET?

<comment><USER5> <http://www.microsoft.com/express/Web/>

I'm not familiar with the Flask tutorial. But usually when you create a new Web or Windows project in Visual Studio you just hit F5 and you're already running a basic "hello world" app.

</comment></comment><comment><USER21> Hey all, I'm the original author and I saw this popup, so I figured I post a quick comment.

A lot of people have pointed out that I didn't really include and example of a start-up using, which is a legit point. If you're interested in seeing a good example, check out <http://stackoverflow.com> They're a great example of a company that's very open about their experiences with .NET (both good and bad) and they generally post them on their blog at <http://blog.stackoverflow.com/category/aspnet/>

If you have specific questions, feel free to reply and I will do my best to answer them.

</comment><comment><USER62> IMO, Open Source is what is going to save the .NET as a startup option, things like Nancy, OWIN, Kayak, SimpleData, Dapper are building an entire web stack without any Microsoft owned product.

</comment><comment><USER63> PHP and ruby are simpler and easier to use for non-enterprise webapps (particularly with RoR, and Sinatra being simpler again).

Like JSON being favoured for simpler uses where XML is not required (it lacks schema, references and namespaces).

The usual trajectory is for technology to improve. PHP and ruby and JSON are becoming better at meeting the needs of their specific users. It's harder for a highly sophisticated technology, like .NET, to become _simpler_ (though they've been much better at this than Java).

</comment><comment><USER64> Lock-in is a bit of a myth, or more precisely, everything "locks you in". If you start with a LAMP stack, or Rails, or .Net it's going to be very expensive to change that once your business is off the ground. This is because the main costs are developer time and time-to-market/opportunity costs.

Regardless of platform, a wholesale rewrite is rarely viable. Facebook is still on PHP, and have had to take heroic measures to avoid moving to another language.

</comment><comment><USER65> The writer of this awful article obviously has not done much web development programming, because if he had, he'd know that microsoft is atrocious in every respect.

Microsoft has its own standards, its own way of doing things. Microsoft does not "play nice". When I code a site that needs to be compatable with all browsers, I need seperate code for ie6, ie7, and ie8. They all interpret code and standards a bit differently, leading to page inconsistancies.

And now, this jerk says we are supposed to embrace microsoft and program in .net? Is this guy out of his fucking mind? Simply program anything thats actually going to be useful and require cross compatability, and you will quickly see why microsoft is looked down upon by ACTUAL developers, hated, and is known across the lands as a large piece of garbage.

For how little microsoft has done for the open source community, for how long it takes for microsoft to issue simple updates, for how many years certain browser bugs were hanging around; I would never, ever, ever, support that company.

The mere thought of a startup company using .net is laughable. Anytime I hear any company using .net, all I can think of is some high up executive got schwindled, and it is up to the low level developers to turn a massive pile of shit, into something useful.

<comment><USER21> Hey Hysterix, I'm the author of the post.

First off, I've been doing web development for about 8 years and I've been using both PHP and .NET for most of that time.

Based on your clear bias, I'm guessing you're basing your opinions of Microsoft's development tools solely based on your experience with older versions of IE. This isn't really a valid way to judge technology, any more than it's valid to judge the quality of Google Maps based on experiences with Google Wave. IE and .NET are two completely separate entities. It's also worth noting that we all have to deal with cross-browser issues regardless of what server side tools we use.

You clearly have some dislike for Microsoft as an organization, but most of your statements here are unsubstantiated and completely irrelevant to .NET. An actual developer knows how to choose technologies based on what best fits the project, not based on personal opinions.

</comment></comment><comment><USER66> In the local Twin Cities startup scene I have seen several .NET startups. But rather than make me question my feelings about .NET it has made me question the local tech scene. (FWIW a lot of these are around medicine, which may be a healthcare IT culture instead of an internet culture)

</comment><comment><USER67> This is the least substantive article I've seen make it to the top of HN in a long time.

</comment><comment><USER68> plentyoffish.com the worlds largest dating site is based on M$ tech</comment>


The Rise of the Comfort College - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-09-09/free-speech-is-no-longer-safe-speech-at-today-s-elite-colleges <comment><USER2> "to ask for evidence of violent practices is itself a violent practice."

This is a scary phrase because it requires immense power be rested in an authority that can not be questioned.

I have a friend who was a victim of domestic violence growing up, terrible beatings. The worst part was that the cause was not always known, a few times a week the parent would go into a rage and beat the first one or two children they saw. The beatings were terrible- belts, shoes, hockey sticks, dowel rods, etc - so my friend tried to avoid them. Early on he would ask "what did I do" and that would enrage the parent more as the offense was so massive that not knowing it was an offense that made the beatings longer.

The only thing that consistently worked was to arrange for other siblings to be encountered first and wear out the parent's rage. My friend discovered this because his brother kept doing it to him.

My friend never figured out how to avoid the beatings, they just grew up and left.

</comment><comment><USER3> Reading this article gave me goosebumps and an overall melancholy feeling. I can't quite put my finger on why though...

I think it has to do with the subtext (I might be reading into this...) that knowledge is no longer a respected asset, but instead is viewed by some as a symbol of the 'old' status quo (and its related issues and in particular its failure in resolving some of those issues). The reaction to this, as I have understood it, is to either shun those who use knowledge (in the sense of this 'old' way) or outright censor them (remove them from the knowledge-pool).

The article did help in my understanding of identity-politics and why its such a powerful force in the USA and, for example, less so in places like Europe.

<comment><USER4> We should never assume that the loudest voices are also representing the majority opinion. This brought us into so many crises in the past.

Right now the world is changing as it did a few times in the past as well. From families to tribes, from tribes to cities, from cities to countries to nations to whatever is currently in the brewing. And always when such a big change happens it is not possible for us humans to really understand it. There are some who overinterpret the change and become zealous about enforcing it, but in the wrong way. There are also those that want to stay close to the old ways and therefore enforce these with zealous spirit.

That doesn't mean the majority will not do as it always did: try to make the best of what happens around them while continue to live their normal lifes. And in that regard the majority is also interested in knowledge and logic and fairness etc.

If you feel knowledge is an important part of your path continue believing in it and that there are enough other people around you who feel the same. Even if they don't speak up. This crisis will pass and then we'll live in a new world. And certainly we rather need more knowledge workers than in past iterations.

<comment><USER5> I feel that what is currently brewing is a form of social cults, or if you prefer softer phrasing, cultural tribes. With a very strong feedback control loop deriving from social networking.

Aspects we can see emerging (and mentioned in the article) include: submission to and no questioning of the leadership/apostles; there being only one absolute truth; a persecution complex; control of actions through indoctrination and isolation; group think; and cognitive dissonance.

</comment></comment></comment><comment><USER6> "The lack of cognitive significance in tribal language is a symptom of the deeper disease: the devaluing of the pursuit of knowledge. Students are now absolutists. Students, administrators and some faculty know what is right (and who is wrong). Any challenge to their views cannot be in pursuit of knowledge or even clarification. It can only come from the desire to crush and oppress."

This is a good sentence. I've watched a few videos on YouTube of the interactions between some agitated, angry and "passionate" US campus students directing their indignation at what is often a single lecturer or orderly.

How is the irony of these types of hostile interactions lost of the very folks who insist on "safe spaces"?

</comment><comment><USER7> The paraphrasing of Martha Nussbaum's thoughts near the end of this article seems to contain its essential message:

 _" The world-citizen view insists on the need for all citizens to understand differences. … It is connected with a conception of democratic debate as deliberation about the common good. The identity-politics view, by contrast, depicts the citizen body as a marketplace of identity-based interest groups jockeying for power, and views difference as something to be affirmed rather than understood."_

</comment><comment><USER8> > If you ask current students, and many administrators and faculty, what the > goals of their colleges are, you will have to wait some time before hearing > "knowledge."

And yet, costing more than ever. For what? It's not like people are learning a lot more by paying a lot more.

When I was in college I thought it was more interesting and valuable from the conflict on campus. I'll call it conflict, too. People who were actually having differences with each other, and saying them, many times passionately if not angrily. Now it seems like people are so worried about offending each other they'd rather say nothing at all, which seems to defeat the point of having a diverse campus. If you have a diverse campus but everyone says the same thing, is it really diverse?

I also think the skills of being able to deal with, work with, and learn from people that are different from you (and possibly outright hate you, for reasons that may or may not be "valid") were some of the more valuable skills I learned in college. College was a lot more real world than say, high school. When you get out into the real world, nobody cares about your safe spaces, trigger warnings, and microaggressions. You have to find your own way, and fight for your own causes.

<comment><USER9> > _When you get out into the real world, nobody cares about your safe spaces, > trigger warnings, and microaggressions._

Is this because such things will never fly there, or because they haven't yet thoroughly propagated there? My concern is it's the latter.

<comment><USER10> I can assure you these things are all well and truly propagating through Silicon Valley's larger companies.

<comment><USER11> Can confirm. A lot of it's welcome and overdue, but there is also at least the potential for the kind of chilling effects the OP describes.

</comment></comment></comment></comment><comment><USER12> It strikes me that these "woke" students and faculty who value victimization over free speech are simply lazy. It takes far less effort to justify a position with dogma than with an intelligent, nuanced argument.

</comment><comment><USER13> The replacement of truth with truthiness and platitudes and dialogue with attacks and tribes and dehumanization is not the way to build a stable society.

Fortunately this has not yet hit education here from what I can see.

<comment><USER14> Is the denial of nuance really a path to truth? Is it better to "maintain civility" instead of actually naming and dealing with problems openly? Maybe in American colleges, with their airing of the grievances (activism) and feats of strength (sports), Festivus doesn't just come once a year any more. And maybe all of that leads to better-rounded humans instead of just qualified job applicants.

<comment><USER13> Maybe it could, or maybe everything gets razed by it, getting an expensive lesson in failure.

Civility is entirely different from dialogue. Disobedience is _sometimes_ necessary but cannot be the base of a society.

You can be non-civil and still discuss and engage with your opponent, but shouting them down is not engagement, neither are loud protests without constructive ideas that actually can work, or without actual pressure. Lying and shooting down inconvenient research is not an acceptable tactic. That's what communists did. Putting words into mouth of your opponent only escalates stakes. What you do they can do onto you, and smaller (poorer, less in control of media or masses) will lose.

In dialog, both sides can win. Compromises led to steady victory for many movements. (Such as feminists.)

</comment></comment></comment><comment><USER15> Honest question: how should we take Bloomberg articles mainly based on opinion or original investigations ?

I don't study in the US so have no opinion about US college, so don't have any way to tell if these claims are any valid. Bloomberg has an history of making bold and empty claims to rile up viewership, is it limited to tech or is it the same for the other fields they cover ?

<comment><USER16> I find it interesting that people now ask for an opinion about what opinion to have about someone's else opinion.

I think this adds to the article.

<comment><USER17> Well, it can be a good idea to ask others to assess something you don't know enough about, if you trust them. Hacker News is at least more trustworthy than most other online platforms.

<comment><USER18> There's nothing more inherently 'trustworthy' in HN than there is in Fark. What there is, is a downvote button and an understanding that, if someone says something 'unpopular to the community', the community will deal with them.

This _definitely_ speaks to the subject of the article and is very telling in and of itself: most online communities are comfort-communities. This seems to be bleeding into offline life at a rather rapid clip ..

</comment></comment></comment></comment><comment><USER19> >one professor asked for evidence of "violent practices." Another professor responded that "to ask for evidence of violent practices is itself a violent practice."

so: to question something is an act of violence towards that something?

oops, I just questioned something ¯\\_(ツ)_/¯

<comment><USER20> They see your free speech as violence and their own violence as free speech.

<comment><USER21> Nice summary.

Works both ways, too, e.g. whenever religious groups rename any kind of disagreement with them as "Hate speech".

</comment></comment></comment><comment><USER22> It's not just intellectual comfort... colleges have invested in other comforts and luxuries like extremely fancy dorms, dining halls that rival restaurants, etc. After all, each student provides more revenue than ever before, so higher CACs are justifiable. It's a luxury good for a luxury market, and just like your local Rolls Royce dealership will not provoke you into a debate about racism your local four year private college would similarly prefer not to.

<comment><USER23> [https://www.collegetuitioncompare.com/edu/168342/williams- co...](https://www.collegetuitioncompare.com/edu/168342/williams- college/tuition/)

</comment></comment><comment><USER17> How common are things like that? I'm not American, but my impression is that these stories tend to describe exceptions. Is this just a particularly radical subset of students in a particularly radical college or is this representative of a larger pattern?

<comment><USER24> Well I've seen Silicon Valley folks in this very forum dismiss the enlightenment era/liberal principles of free speech, so I think it's widespread enough to feel it in regular life, especially if you're young in America's larger urban areas.

<comment><USER17> From what I have seen, Hacker News tends to defend free speech very much. Are you sure that it isn't simply the case that you remember (rare) instances that oppose your opinion much better than those that agree with you? Everyone seems to think that Hacker News (and other platforms) is on the other side of the political spectrum than they themselves.

To that extent do they dismiss it? In my country, Holocaust denial is illegal, but I think identity politics is still less widespread here.

</comment></comment></comment><comment><USER7> Sans paywall: [https://finance.yahoo.com/news/rise-comfort- college-14004972...](https://finance.yahoo.com/news/rise-comfort- college-140049728.html)

<comment><USER25> Part 2: [https://news.yahoo.com/comfort-conquered- college-140014048.h...](https://news.yahoo.com/comfort-conquered- college-140014048.html)

</comment></comment><comment><USER26> Far right demands purity of body and far left demands purity of mind. Everyone who fails do adhere should be purged. If you can't get them imprisoned or killed, at least try to ensure they can't get a job or live a life without harassment.

The current free speech laws protects our minds from the government, but it does nothing to protect us from private entities unlike the laws protecting our bodies from discrimination.</comment>


Billionaire founder of Free launches free coding college - <AUTHOR> http://arstechnica.com/business/2016/08/can-42-us-a-free-coding-school-run-by-a-french-billionaire-actually-work/ <comment><USER2> I visited 42 in Paris a while ago and chatted with some students. It's impressive. Technically, the program is really good. They start with some pretty low level stuff (they learn C and reimplement bits of the std lib) and go from there.

But the most impressive thing was the potential of the school as a "social elevator" (ascenseur social) as we say in French - meaning a way for people from lower class backgrounds to land middle / upper class jobs. One such story that stuck with me was a guy who used to work construction jobs. Then he landed a job as a sales guy at the French equivalent of Best Buy. There he heard of 42 and signed up for it on the demo computers in the store (he had no computer or internet access of its own). When I met him, he was halfway through 42's program, and he's probably working a pretty nice job now. Truly an inspiring story.

<comment><USER3> > There he heard of 42

There are many French universities with CS programs that are virtually free (and work as social elevators too).

Maybe that's one of 42's strengths. Via their media exposure, they can attract students who wouldn't have thought about studying otherwise.

<comment><USER4> Universities, especially French ones, are far worse for teaching programmming, for several reasons:

\- they are highly theoretical and biased against people who are not good at math; I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes. This is very demotivating for someone who goes to university to learn programming, rather than physics or advanced mathematics

\- they take too long and are full of useless classes (useless for getting a job, not in general)

\- although the courses are free, it is very expensive to support yourself for the 3-4 years it takes to finish university, and you also need to buy books and other materials

\- the most difficult courses are usually not programming related, but science; so you could invest 4 years of your life and end up without a diploma because you couldn't pass Advanced Physics or Calculus 3, despite being a good programmer.

<comment><USER3> > they are highly theoretical and biased against people who are not good at > math

Maybe it has changed but it's certainly not the case currently.

> I studied CS, and I had to take more electrical engineering and math courses > in my first two years than programming-related classes.

Nowadays, most of the classes are CS related. There are still some (basic) maths because they are relevant to so many branches of CS.

> are full of useless classes

Well, that may be true. There will always be useless classes because there are many different career paths.

But I think you shouldn't underestimate the value of more foundational classes.

To give you an example, when I was an undergraduate 20 years ago, I was taught OCaml (many people complained it was a useless academic language), as well as tons of maths. Recently, I decided to learn myself some machine learning and Spark. It was a breeze as I already knew most of the maths and the functional programming model. It would have been much more difficult otherwise.

<comment><USER5> Each university is different. So, your experience will vary from the other person's experience.

At my (American) university, we do take more non-CS-related courses than CS- courses in our first two years.

</comment></comment></comment></comment></comment><comment><USER6> 3 of the 4 cofounders of 42 have previously worked at Epita, a private French computer science school that I attended and graduated from in 2003. Specifically, Nicolas Sadirac was the key director-level person in charge of pretty much everything: designing the extensive computer labs and networks used by all students and staff for _everything_ (NetBSD and SunOS workstations, OSF/1 servers, NNTP newsgroups, a custom internal instant messaging system "Netsoul", etc... aah memories), selecting which classes to teach, hiring professors, and as a true hacker himself I believe he was even writing/designing (at least initially) the various programming tests, including those used during the famous "piscine". As to Kwame, he was working closely directly under Nicolas. I remember him as being also very talented, jovial, and very loud :) Florian, I don't remember him personally. I am less sure what connection Xavier and Nicolas have, but they seem to have known each other for a long time. Xavier appears to have not attended our taught at Epita? I could be wrong.

Epita was very successful thanks to its insanely intense focus on fundamentals: algorithms, programming, OS/compiler/DB design, low level stuff (reimplementing the standard C library, a 3D engine, a UNIX shell, etc). I absolutely loved all of this. However its investors and other directors wanted to change the school to have more general/non-programming courses in order to be recognized by the CTI (commissions des titres d'ingénieur, basically to give Epita's diploma more credence in the eyes of mainstream employers). But Nicolas disagreed and believed keeping the focus on fundamentals was key.

So in 1999 he left and started his own school called Epitech. For a while Epita and Epitech shared buildings and even some professors.

Eventuality Epitech became as successful as Epita (even more in my opinion). It gained a great reputation and graduates are courted by many employers.

I have been following the progress of 42 over the last few years, and I am really excited for them. They have the right team to succeed, that's for sure.

</comment><comment><USER7> The school 42 its NOT A BOOTCAMP. I think people are not reading the article because i see a lot of people comparing it to bootcamps. It lasts a lot more than bootcamps, 3 years and students never learn rails javascript or any web developement stuff. [EDIT] You learn the base, lowllevel stuff and you code a lot. Afterwards you are able to pick any language or framework in a week. Students learn to teach themselves.

<comment><USER8> There is already some web development projects (currently html/css/php and javascript), and RoR subjects are being crafted by students. We start with low level, and after some basics (unix shell, stdlib, printf, corewar, raytracing 3d-engine and web), there's some sysadmin stuff, pentesting, kernel programming, functionnal programming, unity, machine learning, etc.

<comment><USER9> Holy shit that sounds a world more exciting than my newton's law classes and my literature as well in Computer Science. I think I just lost 6 years of my life.

</comment></comment></comment><comment><USER3> I've always been suspicious about those schools. Computer science is far more than just "coding". While I'm sure many cool projects can be done with patience and motivation, there is also a lot of fundamental knowledge that is hard to acquire just by doing unsupervised coding projects.

<comment><USER10> _I 've always been suspicious about those schools. Computer science is far more than just "coding"._

The difference between a CS degree and a coding bootcamp is _very_ similar to the difference between being a computer scientist and a developer. In my 20 years of development so far I've never implemented a doubly linked list or designed a search algorithm.

<comment><USER11> > In my 20 years of development so far I've never implemented a doubly linked > list or designed a search algorithm.

You probably target a non-constrained platform, even so, as both a web developer(!) and a CS graduate, I've had plenty of scenarios where using the right data structure and/or algorithm give better perf and/or cleaner code. Sometimes I just use the very handy hash table and call it a day, but having the tools at my disposals is useful.

</comment></comment></comment><comment> d--b Would love to see comments from someone studying there or someone who has done it in France. Also, I understand the costs of running this school are low, but still how are they funding this?

<comment><USER12> "How can 42 be free?

42 is free thanks to the financial support of Xavier Niel, a French entrepreneur and the founder of the telecommunications company 'Free' in France."

<comment><USER13> But is there a monetization model? Or is it just going to be free forever?

</comment></comment></comment><comment><USER14> I was admitted for more tests for the one in paris, but living in paris is outright impossible for me money wise.

The idea is great, but when you're poor, the price of the school is not the only problem. In france education is already free, and the problem is still the cost of living.

Obviously it is a great alternative because the selection process in other universities is tedious (you need to be good in high school etc), meanwhile with 42 you just do some fancy tests, so it's more open.

But I'm curious about how poor students can really finance staying at 42. Students here are already working more hours outside so they can study.

Obviously, making such school in the US is going to make it more interesting than 42 in france.

<comment><USER15> >Obviously it is a great alternative because the selection process in other universities is tedious

That's not true, in France going to the university is open to anybody that obtained the "Bac" (not necessarly a general or scientific one, doesn't matter, you can get in mathematics there with a mechanics degree) and if you don't have it there are some formations to get an equivalence, opening the doors for you. (of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try) And the university is almost free (less than 500e a year if you don't get any social help)

It is true however that you need good grades to get to the top engineering schools.

As you said the bigger issue anyway is the cost of living.

<comment><USER16> I think 42 is right: people can become good software engineers, even if they suck at university studies. CS studies were elitist, with math prerequisites: now they're more open.

"of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try": universities are subjectively making this hard. 42 fixes it.

(I'm a french CS engineer, and I'm part of a system I despise)

<comment><USER3> > universities are subjectively making this hard. 42 fixes it.

I don't buy that at all. Programming is programming. If you can do it at "42" (without supervision), I'm pretty sure you can do it in a university too. An important part of university teaching is also based on programming projects, and class attendance is usually not mandatory. I assume there are more classes that don't involve coding than at 42 (some maths, some more theoretical CS stuff) but not enough to fail an otherwise motivated student.

Besides, if some student is unable to take a few classes they doesn't like, I'd be worried about their ability to adapt to a professional context.

Actually, I taught CS in a French university, and usually, the only students that fail totally lack interest in the discipline. I can remember one or two students that liked programming as a hobby and quit or fail, but it's pretty rare.

<comment><USER16> CS courses are not be the culprit to the failures I have in mind...

I had to study Chemistry for 2 years (no CS DEUG at that time), failed to pass because of thermodynamics, was finally rescued in-extremis because the jury's head was also my CS teacher (CS was an option). I entered a CS engineer school and things went very smoothly after that.

I almost failed to study CS! because of thermodynamics. It could have been because of bio-chemistry, or maths. None of which were needed to study CS.

42 fixes this. Their pre-requisites are relevant to what you'll need to study.

</comment></comment></comment></comment></comment><comment><USER17> Was anybody else surprised to see beginners are taught C and spend time reimplementing parts of the standard library. C is pretty low level for introduction to coding no?

<comment><USER18> It's what I was taught back 06 in CS101, though they switched to Java sometime in the next year or two.

<comment><USER19> When I started university in 2010, we still learned C and C++ for first year.

</comment></comment></comment><comment><USER20> I think we'll see more of these types of opportunities, both private and public. And we'll get to the point that motivation is a big, remaining issue - starting a program like this (or any online course) and seeing it through.

<comment><USER16> if only we could get the point that motivation is the solution, not the problem ;-)

</comment></comment><comment><USER21> One of the things I miss from France, my Freebox (which is actually 2 boxes), that thing's a beast.

</comment><comment><USER22> it's great, except the Macs

<comment><USER23> I tried learning Ruby on Rails on Windows 7. It mostly worked, until it didn't. When I asked others around for help, and it became clear I'd done some newb thing to generate an un-google-able error, I was on my own. No one I knew developed on Windows. After being stuck enough times with maybe-Windows- specific errors, I decided I need a Mac.

<comment><USER9> I don't understand how it could be a problem to do RoR in windows?

<comment><USER23> Some gems reference Posix specific things. And your Gemfile.lock may include the platform upon which Bundler was run, be it Windows or Posix, and that can be a problem when trying to install gems on a different platform. And some nice utilities, such as Ruby version managers, don't work on Windows.

</comment></comment></comment></comment><comment><USER24> Stupid Questions :(</comment>


Ask HN: Why does there seem to be a widespread disdain for Facebook among HN? - <AUTHOR> <comment><USER2> Two major reasons that made me quit FB:

1) No control of what posts you see. Ideally it should be everything sorted by date, with some optional filters. Instead FB decides on its own what I should see.

2) It's designed to create echo chambers, to divide people, and propagate identity politics. I had otherwise reasonable people to get offended because I said we should listen to the other side and address their arguments, not call people "nazis". Guess what, I got immediately labeled as a nazi.

Less important reason is tracking, though that can be defeated by browser extensions.

In the end, HN and Reddit are far superior to FB.

</comment><comment><USER3> Off the top of my head:

It is designed to promote and exploit addiction, egocentrism and antisocial behavior. Its use is linked to depression. It is intentionally used for manipulation and political gain. It is intentionally used to spy on its users and invent new ways to violate privacy.

It monetizes on people's attention and so tries to extract as much of it as possible. This is disastrous, especially for kids.

</comment><comment><USER4> I like my friends very much IRL. The FB personas they present tend to bother me, a lot. When an interaction occurs on FB, I feel it only half-happened, or wasn't quite real. Probably a generational thing, since I'm older. I'm fine with Messenger. The FB feed is completely useless to me - haven't seen a thing worth seeing on it in years.

</comment><comment><USER5> Because they have made slow changes over time to drive you to things that make revenue for them, versus what you actually want...like keeping up with friends and family. They are now actively suppressing your closest circles' posts in favor of crap that might make you click an ad or otherwise monetize you.

Same reason Google has fallen a bit out of favor here. All decisions revenue driven versus customer focused.

Bait and switch basically. Not a new trick.

</comment><comment><USER6> For me, the things that bother me are:

The company: Taking great engineers that could be working on something to better our world, but employing them to work on what is essentially a huge waste of time.

The product: It's essentially a way to show off, and exclaim your opinions without having a two sided conversation. And because it takes up people's free time, and it's easier than having legitimate conversations with others, people are less likely to converse with eachother. Also the feed isn't honest. A constant bias in information I'm being fed, will eventually result in a bias of my own opinions, and I don't care for being manipulated. Third, I don't want to see everyones filtered, ideal representations of themselves. It's weird, and not psychologically healthy for everyone else to have a skewed image of everyone else's lives.

</comment><comment><USER7> I've seen friends on Facebook have a lot more disdain for Facebook. HN is tame by comparison. There are movements of digital detoxing, the first of which people want to get rid of is Facebook. Society views it as an addiction, like TV before that.

</comment><comment><USER8> IMHO FB bashing is more or less encouraged by Google because it's its main competitor.

<comment><USER7> But logically, my life would be a lot worse without Google, but roughly the same without Facebook.

<comment><USER9> This is true in my case. I quit Facebook (and WhatsApp) and life became a bit better.

</comment></comment></comment><comment><USER10> I don't have anything against Facebook I just have no use for it. I have no use for any social media platform. They are a waste of my time.

</comment><comment><USER11> I'm not sure that it is more widespread on HN than other places.I cannot think of anyone in my life that is very enthusiastic about Facebook--the people I know have either quit it or just tolerate it.</comment>


Time for Internet Engineers to Fight Back Against the "Surveillance Internet" - <AUTHOR> http://www.technologyreview.com/view/521306/time-for-internet-engineers-to-fight-back-against-the-surveillance-internet/

<comment><USER2> I want to reiterate one line of thought that's been seen here before but bears repeating: you should not give your data to Google, Facebook, or any other commercial entity just as much as you don't want NSA to have it. While NSA may have political motives and thus may use illegally obtained information for political ends, Facebook et al. could use it for reasons that serve their economic gain. That's a conclusion that's just as undesirable (if not moreso) than NSA using it.

I don't see a very good future of fighting the 'surveillance internet' if we don't face the notion that once data is out there -- of lots of people, in one place -- NSA will always be interested in it and will probably get it. Pragmatically speaking, pulling out of Facebook, Google, etc. is the only surefire way to fight the surveillance internet.

<comment><USER3> Does Google kidnap people? Confiscate their equipment? Harass travellers at the airports? Send IRS after their competition? No?

Can Facebook maybe deny me a business license? Cancel my passport? Is there a Facebook commando that would break down my doors if I did something Mark Zuckerberg didn't like? No?

Can we then stop pretending like corporations and governments play even remotely in the same league?

What can Google actually do? Target me with ads? I won't so much as see them.

And I don't use facebook, it barely raises an eyebrow. I couldn't _try_ that with a national ID because I wouldn't be able to do anything.

<comment><USER4> >> What can Google actually do?

Give everything to the NSA, IRS or anyone else that asks.

<comment><USER5> Wouldn't the upside be that at least they'd have to ask? Just saying there is a difference even if they get the data either way. Well, there should be at least.

<comment><USER6> Did you miss the recent news about the NSA tapping Google's internal server- to-server communications in real time? They don't have to ask anymore.

Edit: this one [https://news.ycombinator.com/item?id=6680763](https://news.ycombinator.com/item?id=6680763)

<comment><USER7> and that is the purpose of the Constitution. Eventually, governments can force their way into anything. Which is why the Fourth Amendment is so explicit. They are breaking the law.

A few months ago they were using the "metadata" argument. Where are the prosecutions now that thats obviously BS?!

</comment></comment></comment></comment></comment></comment><comment><USER8> There are plenty of ideas for addressing the surveillance problem but perhaps it is time to take a step back and look at the "big picture". In any conflict, no matter how big or small, there is considerable advantage in having advance knowledge of your opponent's intentions. In military conflicts the invention of telegraph, radio, aircraft and satellites has more or less solved the problem with blindly marching into an area and getting annihilated. Nobody ever suggested that these technologies should be banned in order to create a level playing field.

It is going to be the same patttern with all forms of electronic communication. The spectre of weapons of mass destruction (anything that can kill more than one person at a time) is the justification/motivation for government and law enforcement to monitor everything online. Whether it has merit is kind of besides the point. It is an advantage, perceived or otherwise, that is not going to be given up, under any circumstances.

Another part to this is whether conspiring online actually constitutes a crime. People can chat all day about terrorist plots but until someone actually goes out and starts building a bomb or procuring weapons has a crime really taken place? Only when a society can decide on the answer to this question will it be possible to address online surveillance.

<comment><USER9> > _There are plenty of ideas for addressing the surveillance problem but > perhaps it is time to take a step back and look at the "big picture"._

The "big picture" for me are the effects of the loss of privacy. What was once one of the most horrendous forms of punishment/torture, is now mainstream. Also, this only gives more power to already too powerful of people (you already mentioned the nukes). I think we've already proven we don't need mass surveillance to not blow ourselves up.

> _Another part to this is whether conspiring online actually constitutes a > crime._

""To be classified as a crime, the act of doing something bad (actus reus) must be usually accompanied by the intention to do something bad (mens rea), with certain exceptions (strict liability)."" \- [http://en.wikipedia.org/wiki/Crime](http://en.wikipedia.org/wiki/Crime)

In other words, it's up to the most powerful, who are also in control of the surveillance to decide this, not us. Also, the "big picture" issues here aren't really surveillance itself, but MASS surveillance, SECRET courts, and CLASSIFIED evidence.

</comment></comment><comment><USER10> I think the best approach is P2P decentralized and mesh-networked apps running locally, licensed under the Affero GPL. That way there is no profit (or gov't) center which can collect data. And any user with the app can get the source code (per the Affero GPL). Developers can monetize their apps either with paid support/development services or by accepting cash (in lieu of a 'proof of work' by solving hashes) to be let on the mesh networks for their apps.

<comment><USER11> +1 mesh networks are important for future privacy and security (e.g., after Huricane Sandy, mesh networks helped people communicate.)

I would give you another +1 for mentioning the AGPL, if I could.

</comment></comment><comment><USER12> While is support premise of the article, I have difficulty in accepting the fact that our democratically elected and funded government will continue to spy on us and is beyond our control.

<comment><USER13> What, exactly, makes you think the government is democratically elected?

I mean, if the NSA/CIA/FBI can get away with this kind of surveillance, and seeing the scope of "Tailored Access", why wouldn't they have rigged the last few elections, too? Clearly the security around voting machines isn't nearly as tight as that of Level 3,

<comment><USER14> Good essay about this in the Atlantic recently.

[http://www.theatlantic.com/politics/archive/2013/11/the- surv...](http://www.theatlantic.com/politics/archive/2013/11/the-surveillance- state-puts-us-elections-at-risk-of-manipulation/281232/)

</comment></comment></comment><comment><USER15> FYI, you can start helping right away! There's the Aaron Swartz Memorial Hackathon starting tonight that has topics focusing on privacy and anonymous publications.

[https://www.noisebridge.net/wiki/Worldwide_Aaron_Swartz_Memo...](https://www.noisebridge.net/wiki/Worldwide_Aaron_Swartz_Memorial_Hackathon_Series)

</comment><comment><USER16> While we are playing cat-and-mouse with our own government, why don't we also make the NSA's activities illegal and/or enforce existing laws which already state as much?

Articles like these presume that it is OK for the government to access whatever it can technically get its hands on, in spite of Constitutional constraints and laws that do or should state otherwise.

<comment><USER17> Because that amounts to leaving a note in the cookie jar that says we really, really promise not to take any cookies unless we absolutely need to.

<comment><USER16> Do you really believe that it is wise to treat our government as a virus writer and put ourselves in the position of antivirus software writers? Do you want them in the exploit business while we, the citizenry, resolve to simply apply patches? Do you really want them to have legal carte blanche to use their unlimited resources (including your own tax dollars) to do as they please, then scurry off to try to erect some defense against whatever you _think_ they are doing next?

When the NSA approaches Google, I want Google's General Counsel to deny the request with solid legal standing. Likewise with backbone providers and on down the line.

We are either a nation of laws or we're not. Our government is either beholden to those laws or they are not. Had we the proper laws and commitment to our Constitution, then Snowden's revelations would have resulted in trials and prosecutions. Instead, too many seem to be ceding to the government the right to surveil its citizens with impunity, and are instead focusing on technical defenses against their own government.

It's lunacy, and if the primary emphasis is not on legal redress, then we have already lost.

<comment><USER18> In case you didn't get the news, the NSA already does not bother to approach Google. They just install secret taps on Google's private lines between data centres, and siphon off all the replication traffic.

The NSA is a rogue agency that does not respect laws (or reinterprets them as they see fit). Going through the legal process to shut it down is certainly worthwhile, as is throwing its criminal elements in jail, particularly those that are happy to lie in congress.

However, the reality is that a rogue agency can evolve in the dark corners of the government, and that therefore it is likely that it will happen again. And even if it never happens in the US again, there are other countries out there, you know?

A strong technological solution that makes large-scale snooping impractical is a sine-qua-non no matter what happens on the legal side.

<comment><USER16> > _In case you didn 't get the news, the NSA already does not bother to > approach Google..._

I got the news. They approach Google AND they plug into private lines. The latter case is what I referred to when I mentioned "backbone" providers. Again, I want any private entity to have legal standing to refuse NSA requests.

> _The NSA is a rogue agency that does not respect laws (or reinterprets them > as they see fit)_

I agree that if an agency goes rogue, then laws are only retroactive. That is, laws provide a penalty that is triggered only after an offense has occurred. But, _clear_ (i.e. not ambiguous) laws with clear penalties can be a powerful deterrent. Whistle-blowers like Snowden are then empowered to stop abuses and illegal activity. They are automatically branded as heroes instead of traitors who must flee the country or worry for their safety. As it is, the good guys like Snowden are being put on the wrong side of the law and vice-versa. This must change.

> _However, the reality is that a rogue agency can evolve in the dark corners > of the government, and that therefore it is likely that it will happen > again._

That's true and always has been. But, we don't just say "well, laws will be broken, so let's not bother having them". It's really the entire point: to prescribe what is acceptable behavior and provide penalties for violations.

> _A strong technological solution that makes large-scale snooping impractical > is a sine-qua-non no matter what happens on the legal side._

We actually agree to some extent. I don't advocate that we not implement technical measures. Where we depart is on priority. The wording of your last sentence signals this departure. I would flip "technical solution" with "legal side".

Ultimately, if the emphasis is on technical solutions, then we will all be pwned with impunity. Period. Are you going to write your own firmware? Manufacture your own chips? Are you going to personally write all of the security and other endpoint software in your stack, including the OS? Even if you did, would you be able to guarantee zero vulnerabilities in your own code?

Checking rogue agencies, providing more oversight and enforcing clear laws are the only way out. Technological solutions are but a backstop that we hope will provide us with some defense in the event that a rogue agency goes undetected for some period.

<comment><USER18> I agree with your response on the whole, but one point is worth quibbling with:

> _I got the news. They approach Google AND they plug into private lines. The > latter case is what I referred to when I mentioned "backbone" providers._

As far as I understand, these were not lines provided by "backbone providers". These were private lines laid and paid for and owned by Google. There was no third party who bent - Google got pwned directly, in secret, with impunity.

</comment></comment></comment></comment></comment></comment><comment><USER19> I understand that these guys are different from a random group of guys part of Anonymous or something like that, but still, is this comment relevant at all to the situation? As in, is the end result inevitable?

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

</comment><comment><USER20> _"Fundamentally, surveillance is a business model of the Internet. The NSA didn't wake up and say: 'Let's just spy on everybody, it said: 'Wow, corporations are spying on everybody, let's get ourselves a copy,' "_

<comment><USER20> [http://paulgraham.com/say.html](http://paulgraham.com/say.html)

<comment><USER21> What a divisive essay. Thanks :)

</comment></comment></comment><comment><USER22> It would be interesting to see Glenn Greenwald's new media organization take to being TOR-only and financed only by BTC.

</comment><comment><USER23> There are ways to make the Internet much more secure than it is today, and implement them _tomorrow_ , with existing protocols and encryption methods. It's just a matter of browser vendors, hosting companies and websites agreeing to do it.

That being said, I hope IETF starts working on a new highly secure Transport layer protocol to replace TCP, within the next 5 years, and I hope they use Dan Bernstein's CurveCP [1] for inspiration.

We need the Internet encrypted and secure _by default_ , and I don't care what Google or other advertising companies have to say about it. Adapt or die. Security of the web and the protection of the human right to privacy is way, way more important in my book. If they choose to fight such a move, instead of adapting and actually supporting it, then they will have become the _enemy_ , and they'll end up on the wrong side of history.

So IETF's goal should be to get everyone to switch to these more secure, already existing protocols, and implement them within a year, or two at most.

In the meantime work on replacing TCP within the next 5 years, and also think about ways to create a new secure-by-default and easy to implement, IP-level protocol, to be used within 10-15 years.

If we are to "take the Internet back", then it needs to stop being such an easy tool for mass surveillance, so in a way, we need to replace all of its insecure parts.

[1] - [http://curvecp.org/](http://curvecp.org/)

</comment><comment><USER24> Don't hide, you're beautiful.</comment>


What the good developer and the good software architect really are - <AUTHOR> http://alexthunder.livejournal.com/789886.html

<comment><USER2> Focusing on the user of your service (as a developer or architect) is important, it isn't what makes a 'good' developer or architect.

In many of the projects I've developed (web sites and apis), customers and users have commented on the ease of use and understanding the products. That's great, but building a usable system is only part of being a good developer. I don't think my code is very good. I'm trying to get better, but I'm somewhat embarrassed when another developer has to look at my code.

I think part of being a good developer is writing code that is easy for another developer to look at, understand, and change if necessary.

This article is only one facet of being a good developer, but possibly one that gets overlooked by those who are focused on the technicality of their trade/skill.

What else makes a good developer?</comment>