Let's hack television by getting rid of all commercials - <AUTHOR> http://maniacalscience.posterous.com/lets-hack-television-by-getting-rid-of-all-co

<comment><USER2> "OK, I know what you're thinking. Watching television is probably the most efficient way to waste your time."

OP then goes on to not even attempt to refute this. I'd rather watch television die completely and work on something more fun and useful.

<comment><AUTHOR> I do not refute this, I simply try to play devil's advocate. In fact, I'm inclined to agree with you. I don't watch a lot of television because I enjoy being engaged in what I'm doing, but there are people out there who watch a lot of television and removing commercials could be a good thing for such people.

</comment></comment><comment><USER3> Let's hack television by ... not watching it at all.

Just imagine how much time you'll have to do stuff.

</comment><comment><USER4> For those of us who get everything from iTunes/Netflix/etc, this happened already.

Beyond the personal time cost of commercials, there is a larger societal cost to commercials which is nigh-impossible to quantify. Swift-boat commercials kept Bush in office a second term, and soda commercials influence children towards obesity. They put perceived truth up for the highest bidder, and while they work imperfectly, billions would not be spend on ad campaigns every year if they did not yield the intended result, externalities be damned.

I'm not naive enough to think corporate and political propaganda would disappear without television advertisements. But for better and for worse, they create a stronger gravitational distortion in public awareness than all the other forms of propaganda combined.

</comment><comment><USER5> You fail to address that most people time-shift television and skip commercials with their DVR.

<comment><USER6> Uh.. "most people"? Maybe here on HN, but in the rest of the world out there? Doubtful.

<comment><USER7> This is one of those "my technology-phobic Mom does it" examples, so I'm guessing it's fairly common except for sports.

// Mom is a heavy duty NYY fan so I've seen both behaviors

</comment></comment></comment><comment><USER8> This must be one of the most content-free blog posts I've read recently. Or did I miss something? I can't seem to find more meat than what's already stated in the title.

<comment><AUTHOR> You might notice that it's also the only post on the site. I'm new at this. :)

</comment></comment><comment><USER9> Personally, I mute commercials, and I'd rather burn the energy to do that, than have my consciousness sucked away by being forced to listen to their drivel.

I only watch a really limited amount of TV anyway. Fringe, Big Bang Theory, local news, pretty much.

The hard part of this would be connecting some crowd-sourced mute intelligence to the actual mute button on the TV.

<comment><USER10> > The hard part of this would be connecting some crowd-sourced mute > intelligence to the actual mute button on the TV.

Buy a cheap USB HDTV tuner. Install MythTV. Start watching all 1 hours shows 20 minutes late. Then let MythTV skip commercials for you automatically.

<comment><USER9> I laughed out loud. You are trying to curse me with MythTV!!!

Seriously though, I have run it, even debugged the channel changing under Linux and stopped it hanging up, but sadly I live out of range of a decent HDTV signal for right now.

<comment><USER10> You can hook up the tuner to your cable as well. Especially if it's digital cable.

</comment></comment></comment></comment><comment><USER11> "Now, I'm going to throw something out there that might seem kind of crazy."

You managed to write a blog post that hypes up your proposed solution to "hacking" TV...then don't even have a solution? You suggested that we get rid of commercials. That's not a solution, that's an idea everyone's had at some point.

Advertising is a multi-billion dollar industry and is an inherent facet of capitalism that can't just be "hacked" out of TV, whatever that means.

<comment><AUTHOR> An idea everyone's had at some point but done nothing about can't be a solution?

<comment><USER11> No dude, think about what you're saying. The idea you've presented isn't a solution at all. Simply stating your desire to get rid of TV commercials without explaining how to do it is not a solution.

</comment></comment></comment><comment><USER12> Nowdays TV became something not worth to have. All those movies, shows, news and popular scientific stuff you can find in the internet. I don't have TV set at home and It's great, no shows that make you stupid. Instead there is silence, good music or nice chat with people you live with. Ow, I like it so much. :D

</comment><comment><AUTHOR> To anyone that's interested: I've updated the article, taking some recommendations into account and I invite you all to give me one more shot.

This version provides a more detailed solution and discusses other companies such as YouTube and Netflix and how these companies are trying to solve the problem.

</comment><comment><USER13> I always had the idea to do the reverse of what Shazam is doing with commercials now. Offer a feature to where you take a fingerprint of commercials and are able to fast forward through them. Obviously, Shazam has a bigger market of offering value add to advertisers.

<comment><USER14> There is actually some pretty good software that does this - it's just not very common because cable companies control the DVRs and they have to agree to rules set by the networks.

For example, the open sourice MythTV DVR does it. <http://www.mythpvr.com/mythtv/taxonomy/term/4>

</comment></comment><comment><USER15> Why not similarly - create a Chrome plugin - that clicks on all ads (for sites you visit) yet, does not display any?

Thereby funding the content you live, yet killing the ad-flocked web

</comment><comment><USER16> Let's hack television by getting rid of television.

</comment><comment><USER17> What the hell does "hacking the norm" even mean? What the do you mean "hack television". What does hacking even mean in this context? Is it a quick and dirty fix that addresses the main problems without heavy consideration of side effects, is it malicious action through unintended use, or is it a vague call to action?

All I see is the identification of a problem, and a half assed solution that doesn't even address the reason why the problem exists in the first place. If this what hacking is, then I don't want you, or anyone ever hacking that would effect me. I would settle for good old fashioned change

<comment><USER18> _What the hell does "hacking the norm" even mean?_

Anymore, I feel like "hacking" has simply become a generic verb for a person or project that wants to sound edgy.

<comment><USER19> Kind of reminds me of the term "hackathon" between my circle of friends. When the term first entered our lexicon, it specifically meant "a 24-hour software design and implementation competition in which participants form teams, chug unholy amounts of energy drinks, and show off their demos to the audience at the end of it all". It was brilliant, wondrous, and not a concept to be trifled with more than once every few months.

Slowly, very slowly, what was once a special event became, over time, "hey, I have a project idea we could work on together and no homework this weekend; hackathon Saturday?". That became "let's meet up Friday night for a hackathon and each figure out a project to work on until the morning". That became "I have some code I need to work on, and can't stay up past 4, but hackathon tonight anyway?". That became "fuck Maine, we need to get this CS lab done; dinner then hackathon for a few hours".

Et cetera, et cetera, until "hackathon" had become sufficiently bastardised at our hands so as to solely entail taking over a conference room of an academic building for two hours one night with four six packs of beer and loud music and not a single one of us even opening a text editor. After that incident, we finally looked back upon the previous year and understood how our flippant use of what was once a cool and exciting term had rendered it devoid of any real meaning.

For a while afterward, unless we were discussing an official sponsored event, we would make a point of only using the term facetiously as in "party hackathon tonight!" or "dinner hackathon at Subway".

</comment></comment></comment><comment><USER20> It's not TV. It's HBO.

<comment><USER21> Amen. With few exceptions, I refuse to waste my time with mediocre network and basic cable series.

</comment></comment><comment><USER22> I wonder why he didn't mention Netflix or Hulu or any other such service at all in that entire post.</comment>


Show HN: Ping Man – Monitor your ping from your menu bar - <AUTHOR> https://pingman.io <comment><USER2> iStat Menus ([https://bjango.com/mac/istatmenus/](https://bjango.com/mac/istatmenus/)) has this same functionality (and much more). It's a bit more expensive though.

It's quite nice to be able to check if some app is downloading an update in the background and throttling my already precariously slow internet connection.

</comment><comment><USER3> I hate to see it is a paid app. things like this need to be open source and free.

<comment><USER4> Yeah, because as we all know software developers eat gratitude and live inside of their computer towers. ;)

</comment></comment><comment><USER5> How does it "free up your bandwidth"?

<comment><AUTHOR> By seeing which apps consume the most network, you can choose to close some of them. For example, if you see that Dropbox is currently receiving 5MB of data, maybe it can wait for later. Close it for now to free up your bandwidth.</comment></comment>


Wasted IC Designs - <AUTHOR> http://www.kumar.vc/tesla-would-cry-about-these-ic-designs/

<comment><USER2> Cached: [http://webcache.googleusercontent.com/search?q=cache%3Awww.k...](http://webcache.googleusercontent.com/search?q=cache%3Awww.kumar.vc%2Ftesla- would-cry-about-these-ic-designs%2F)

I presume he means Nikola Tesla ([http://en.wikipedia.org/wiki/Nikola_Tesla](http://en.wikipedia.org/wiki/Nikola_Tesla)) rather than the electric car company ([http://www.teslamotors.com](http://www.teslamotors.com)), but I still don't understand the reference. Is there more to it than the general notion than Mr. Tesla had many ideas that never reached fruition?

<comment><AUTHOR> I had an anecdote about the failure prone nature of IC design and Tesla's failed commercialization attempts.

</comment></comment><comment><USER3> I'm ignorant on IC designs, but this whole post sounds like a big "solution in search of a problem" to me. Could someone enlighten us on whether there are really enough abandoned IC designs that are economically viable?

<comment><AUTHOR> The idea is that there's 10-20 percent of useful IC designs. Additionally, efabless provides the environment to design, test, and simulate the IC with respect to the foundry/fab.

<comment><AUTHOR> I should have probably outlined why it's meaningful, or why I'm taking a risk on it.

\- IC design software as it currently stands has no version control. (I was shocked at this...)

\- IC designs are built in a closed box.

\- There's an absurdly high level of unsellable designs. This occurs because there's no customer feedback loop and you can't predict the direction of the IC market.

Additionally, I'm pretty stoked about things like: prefundia.com kickstarter.com

Because... they mitigate production risk.

The cost of failure in IC design is pretty big. Efabless gives away the software part of it for free to IC designers.

<comment><USER4> This doesn't really match my understanding of things, this is what I'm familiar with.

IC design software is too loose a term. Most, if not all, integrated circuits are designed these days using a hardware description language (VHDL and Verilog being most popular) and those languages/files have exactly the same level of source code control that any source code does, git, mercurial, CVS, etc. They are just text files, they have a build and a test processes.

Further integrated circuits can be collaboratively designed, look at FPGACPU.org as an interesting example.

This one is really hard to wrap my head around:

CLAIM: There is an absurdly high level of unsalable designs.

EVIDENCE: This occurs because there's no customer feedback loop and you can't predict the direction of the IC market.

Bad chip designs exist for the same reason that bad software exists, some people just produce bad designs. I think you were trying to argue that there are good designs that didn't get produced, but that is true for any design.

So that said lets talk about what _is_ hard.

It is hard for me, as an individual, to get a wafer start at a fab. It is hard for me as an individual to _generate_ masks for a specific process.

It is hard for me, as an individual, to get the circuit parameters for a particular process and so that I can do both a good layout and can tweak my masks for good yield.

It is hard for me, as an individual, to get my processed wafers diced, tested, and packaged.

Historically, getting all of those things done to convert a working chip design from simulation to testable parts, has been a few million dollars. And at the end of those millions one has (wafer size / die size ) * layout efficency * process yield * testing yield number of parts. These are divided up into one or more 'bins' (if they are still usable at different frequencies or voltages). And when I divide that number of chips by the amount of money I've spent, I've got a price per chip that has to be something the market will be willing to pay.

That is both a lot of hoops, and sitting down for betting one round costs a few million.

So what, exactly, is efabless.com de-risking? Unlike circuit boards, you can't easily put several different IC designs on the same chip and expect a fixed yield across them (sort of the OSHPark model). You can do what some folks have done which is buy "excess" capacity on older generation fabs (like Atmel's) and get a discount because you're helping them keep things running, but its still quite expensive.

The cost of failure in IC design is nearly zero. Once you've done the simulations you've just burned CPU cycles up to that point. If the process is _well characterized_ there is exactly zero reason for a chip you produce to not work when it comes out the other end. A long time friend from my Intel days remarked that it used to be news if a chip worked the first time, now it is news if it _doesn 't_ work the first time you bake it.

I can see a challenge that low run rate chips are too expensive for the market they are trying to serve (which is why FPGAs have been growing in leaps and bounds). The original solution, ASICs which are less space efficient than bespoke designs are great for taking an FPGA design into production. So the modern "chip" process has evolved to design it, ship your MVP on FPGAs, if you get sufficient traction you do a two or three metal layer ASIC, if you get even more traction you plug in the process design library and do layout for a specific process. Where does efabless fit into that?

<comment><USER5> >So the modern "chip" process has evolved to design it, ship your MVP on FPGAs, if you get sufficient traction you do a two or three metal layer ASIC, if you get even more traction you plug in the process design library and do layout for a specific process. Where does efabless fit into that?

I don't know what efabless is all about, but I could see several areas that don't fit your mold. Analog, RF, ultra low power, sensors (optical, etc.), switching power supplies, MEMS, etc..

<comment><USER4> That is a really awesome point. I don't know how you could even _begin_ to cost effectively get the price of designing your own circuit geometries into peoples hands ala kickstarter. Not to mention how to simulate the physics of those devices prior to fabrication.

</comment></comment></comment></comment></comment></comment><comment><USER6> While the idea seems interesting, a quick read of this post reveals no connection whatsoever to Tesla. I'm baffled by the title.

I wonder if this idea could also be applied to other types of work-intensive designs that simply were ahead of their time and could be resurrected with today's tech, such as car design.

<comment><USER7> You're right—the title was linkbait. We changed it in accordance with the HN guidelines.

<comment><AUTHOR> It wasn't. One version of the draft of the blog post mentioned Nicola Tesla and his inability to commercialize successfully. I took it out because I thought it detracted.

I should have changed the title accordingly.

</comment></comment></comment><comment><USER8> Cache [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.kumar.vc/tesla- would-cry-about-these-ic-designs/&strip=0) Edit: The pictures are still loading even though the blog is down.

</comment><comment><USER9> This doesn't fix IC design. The fix to IC design is simple:

Free design tools.

Without free tools, you can't "carry" a design until it becomes economically viable because you have to pay Cadence/Mentor/etc. continuously.

The problem is that the number of people who can make such tools borders on zero to begin with. Combine that with the fact that most companies will pay you quite a bit if you are that good at ECAD programming, and you basically have no programmers available.

(For a good example, look at the state of free PCB tools vs the ones you buy. VLSI is at least an order of magnitude few users and programmers than _THAT_.)

<comment><AUTHOR> These are free.

<comment><USER9> And where can I download these tools?

This isn't free. You are attempting to extract rent from already cost-sunk designs rather than enabling a blossoming of new design ecosystem.

<comment><AUTHOR> Not yet downloadable.

This is free. Okay, let's suppose you want to create an IC from scratch, we'll support that too and allow you to use our design ecosystem for free too.

Simply message me.

</comment></comment></comment></comment><comment><USER10> Site's rate limiting. Can anyone describe what this is?

</comment><comment><USER11> The company that the post mentions, EFabless, has an HN instance setup for IC related news.

[http://clktok.efabless.com/](http://clktok.efabless.com/)

<comment><USER12> Is the HN software available to third parties then?

<comment><AUTHOR> [http://stackoverflow.com/questions/4285617/how-do-i- install-...](http://stackoverflow.com/questions/4285617/how-do-i-install-arc- to-get-a-hacker-news-clone-website)

<comment><USER11> Although for nearly the same effort one can get reddit up and running, [https://github.com/reddit/reddit](https://github.com/reddit/reddit)

And then with [http://redditenhancementsuite.com/](http://redditenhancementsuite.com/) one has a pretty good app.

</comment></comment></comment></comment><comment><USER13> He probably wouldn't be too happy about the site's ability to handle the HN effect either ;)

<comment><AUTHOR> I'm very unhappy about this. arghh. Could you post a screenshot if an error appears. Thanks mucho.

<comment><USER14> Got this a while ago (may be fixed now) [https://imgur.com/ViY80BH](https://imgur.com/ViY80BH)

<comment><AUTHOR> Thank you Michael. :)</comment></comment></comment></comment>


Ask HN: Building an Email Client - <AUTHOR> Does anyone know which backend or techstack is best to build an email client? <comment><USER2> wildduck.email looks pretty good. It has a js api so you don't have to worry about jmap proxying to your message store.</comment>


Things that Ruby on Rails people tell you - <AUTHOR> http://jameschambers.com/blog/lies-that-ruby-on-rails-people-tell-you

<comment><USER3> I doubt most Rails developers spend much time thinking about .NET

There's a large and growing number of useful, productive high-level languages, frameworks, databases, webservers, tooling, etc. The thing they all have in common is they're open source, they can be used on a variety of POSIX- compatible operating systems and distros, they're often used together, share underlying libraries, and help build off each other's advances.

OTOH, .NET is stuck in the walled garden it built around itself, with its fanboys trying to scream out over the walls at the rest of the world bustling by, demanding we pay them more attention.

Well sorry, no. You guys enjoy that garden though; you keep telling us how nice it is!

<comment><USER4> Indeed. I've been a developer for about 13 years. The last 6 and change has been doing Rails and JS app development (I started out doing VC++ apps for Windows). I haven't thought about MS stack at all since about 2002. And I don't recall any presentations at RailsConf this year about .NET. No one in my circles even gives .NET a second thought.

ASP MVC may be pretty rad, but I personally hate C# (Ruby is an amazingly better language) and I don't feel like buying into the Microsoft ecosystem. It's not one that shares my values and culture, and from the outside it seems to be losing momentum and relevance. I'm not aware of many developers who would decide to adopt Rails over .NET due to these "lies" - the choice is first cultural, then technical.

I'm not suggesting that .NET shops are worse places to work (although that has been my personal experience) but there's something about the MS ecosystem that puts .NET shops at risk of turning into overly-stuffy/corporate, aesthetically-unpleasing shops. There are exceptions of course (FogCreek/StackOverflow) but they don't appear to be the norm.

<comment><USER5> > but I personally hate C# (Ruby is an amazingly better language)

I won't argue about Ruby being a better language(I like C# and Ruby and I am not inclined to pick a winner). But what version of C# have you used? If you had a brush with earlier versions of C#, I suggest you <http://www.manning.com/skeet2/excerpt_contents.html> read the first chapter.

<comment><USER6> Indeed. With lambdas, closures, LINQ, and dynamic types when I want them, I find that C# feels sort of like a nice midway point between Java and Ruby.

</comment></comment></comment></comment><comment><USER5> > I can use default project templates that are included in Visual Studio, > download starter projects from the web, or, if I prefer, start with a > completely empty solution and use Nuget to cherry-pick functionality that > other developers have made available.

It's not about just the templates(I have personally never used one). Rails has useful code generation(scaffold, controller, model, migration). I would rather not type what I can generate. This isn't something you can solve with project templates.

How is this a myth that you can bootstrap a project faster using Rails? Here, take this:

[http://guides.rubyonrails.org/getting_started.html#creating-...](http://guides.rubyonrails.org/getting_started.html#creating- a-resource)

Show me how I do the "10 minutes blog" in your framework of choice.

> Myth 2: It's Easier to Manage Packages Rails

Great. Good on them for realizing adding assemblies using Visual Studio dialogs is a fucked up way to manage dependencies.

> Myth 3: It's Better to Develop with RoR Because it's Open Source

It's better to develop with RoR because it's open source, and when something breaks or I need to augment, I don't need to wait for my overlords.

> If your personal opinion or corporate agenda is that it's "better" to > develop on OSS solutions, then good on you.

It's neither. How hard is it to understand that black boxes are a pain?

> Myth 4: I Get More Options for View Engines/I'm not Limited by Microsoft > View Engines

> First of all...what limitations? The Razor view engine â the default for MVC > â is likely one of the best view engines around right now.

And how is razor one of the best? [http://www.asp.net/mvc/tutorials/views/introduction-to- razor...](http://www.asp.net/mvc/tutorials/views/introduction-to-razor-syntax) This looks like another run of the mill template engine.

> Maturity isn't dictated by age, and what is really important is how > comfortable you are with your tools.

Maturity of a framework is independent of how comfortable you are with it.

> but it doesn't mean you can dismiss VS for what it is

Umm. RoR isn't an IDE. What has RoR's maturity got to do with VS? If you want to talk about tooling, please do, but how does RoR's tooling the same as RoR maturity?

> You're likely to find just as many bad questions, answers, arguments and > features in any language, if you look hard enough.

Are you seriously positing all languages have same amount of activity and features?

> I know exactly where my models go. And my views. And helpers. And filters.

And I am least interested in learning a new project layout every time I work on a different project. You know your project layout - I don't and I am not interested in learning it. The point of a standardized layout is "it's more clear where things go".

<comment><USER7> Hey thanks for this. I will indeed take you up on the "10 minutes blog" and put it on YouTube. I do it all the time during presentations.

I agree it's not just about the templates. We have support for scaffolding (controllers, views, migrations and more). Our models are POCOs, so they are trivial to write, and we have great helpers for that.

Agreed fully on #2. About time.

#3 - I haven't had to wait for anything. Most parts that I don't like I can and have just built my own parts for. The MVC Framework (and ASP.NET runtime) are pretty much pluggable up and down the stack.

As for the maturity piece, I think you're taking the VS comments out of context. I'm not saying MVC is an IDE and I'm not saying RoR is or isn't. My comments on this were from the segway from "tools" in the previous paragraph.

> Are you seriously positing all languages have same amount of activity and > features?

No, I'm simply saying you can find _bad_ features in any language. :o)

Again, I'm not saying "You have to drop what you're doing and try MS's implementation of MVC", I'm just saying, "Don't knock a horse before you try reading it."

Or however that goes.

Thanks again, great comments.

<comment><USER8> I wonder why you bother posting things like this here of all places. I agree with you, I'm an MVC3 and a Rails developer - I put food on the table for my family using both (and even sometimes CakePHP).

The amount of sheer idiocy in this thread is really surprising considering the website.

It's like people see "Micro$0ft", foam at the mouth, and start rambling on about FOSS. Without even using MVC3 for anything substantial.

To compare Razor with any other view engine and say it's more or less the same is SO IGNORANT it makes my blood boil; especially since people are upvoting those same stupid remarks.

How can you compare Razor's elegant syntax with Rails really smelly view engine:

        @foreach (var person in Model.Friends)
        {

@person.Name

        }

<comment><USER9> ERB ( _one_ of a ton of view engines you plug into rails):

        <% Model.friends.each do |person| %>

<%=person.name %>

        <% end %>

Or:

        <% for person in Model.friends %>

<%=person.name %>

        <% end %>

I don't even like Rails, but I fail to see how that is "really smelly". Or as I prefer Mustache, I'd probably rather pass Model.friends to the view as a variable and do:

        {{#friends}}

{{name}}

        {{/friends}}

But regardless what engine you do, you'd be hard pressed to find any big differences in terms of iterating over a collection. I find it very hard to believe that you're a Rails developer yet somehow find the above syntax so much more elegant that you'll use that as an example of how rails has a "really smelly" view engine.

<comment><USER8> You don't see how uncomfortable for the hands it is to type `<%` and closing `%>` every single time you want to output something using code?

How can you compare that, to a simple `@` symbol? ERB (or even Mustache for that matter, feel like a relic compares to Razor.

<comment><USER5> > You don't see how uncomfortable for the hands it is to type `<%` and closing > `%>` every single time you want to output something using code? How can you > compare that, to a simple `@` symbol? ERB (or even Mustache for that matter, > feel like a relic compares to Razor.

I don't think you are doing an objective evaluation.

1\. All goddamn editors can be configured to do a short key for the expression(I have mapped \1 to `<% %>` and \2 to `<%= %>`)

2\. If that is too much of work, use Haml <http://haml.info/tutorial.html> or Slim <http://slim-lang.com/>

        # slim
        - persons.each do |person|
          p = person

       # haml
       - persons.each do |person|
         %p = person

<comment><USER8> You're comparing something that comes out of the box (Razor) with something you can achieve comfort with after wiring up hotkeys and snippets. That's not a fair, clinical comparison.

Are you kidding me?

Slim looks like something much MUCH better than the crufty old ERB.

<comment><USER5> > You're comparing something that comes out of the box (Razor) with something > you can achieve comfort with after wiring up hotkeys and snippets.

And what difference it makes if it comes with Rails or I have to add an entry to Gemfile? Ruby has many different templates. What comes bundled with Rails is totally up to creators. DHH is opposed to haml <https://twitter.com/dhh/status/58289541068492800> and hence, erb is the default which is unlikely to change.

They don't even have to accommodate alternate templates(which they do seamlessly). Do you cry a river every time you have to use a library which doesn't come bundled with .net?

> Slim looks like something much MUCH better than the crufty old ERB.

And it's better than Razor's crufty syntax as well.

But please keep tooting your horn about your Razor. I have wasted enough time here.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I am a Ruby on Rails person! I will tell you some things.

I am not going to give up OS independence, on the development or server side.

I am not going to give up editor/IDE independence.

Microsoft is not seen as ahead of the curve with respect to web technologies, and this is reflected in its developer community.

Until these problems are fixed, the MS stack can pretty much go kick rocks.

<comment><USER11> <http://mono-project.com>

<comment><USER12> On shaky legal ground, IIRC.

<comment><USER13> Not on shaky legal ground <http://tirania.org/blog/archive/2009/Jul-06.html>

<comment><USER11> "However, their position regarding the non-ECMA components like ASP.NET, ADO.NET, and Windows Forms (which are the bone of contention) remains unclarified."

</comment></comment></comment></comment></comment><comment><USER14> My disclaimer (and bias) is I'm a hardcore linux dev and never touch windows unless its forced upon me. So with that said, here's my thoughts.

"Myth 1: It's Easier to Bootstrap a Project In Rails"

Maybe, but still I doubt its cross platform (without headaches) - can you bootstrap MVC on Linux or Mac. This would mean you're married to the Windows Env (not a bad thing necessarly if thats what you decide you want).

"Myth 3: It's Better to Develop with RoR Because it's Open Source"

You say the complete .Net stack is open source? If so this really surprises me, considering microsofts rep, so I'd ask for links and is the C# compiler open source?

Finally, where's the advantage? ( I know you say your not trying to say this ) Why should people use something new unless there are reasons for it being not just as good but better at such and such? This whole post was about how MVC is just as good as Rails, which probably is true, but if you're a good dev and know your tools then Symfony2 or Django is probably just as good as well. The only reason to switch is when people start showing exceptionally new capabilities that make the devs life easier by trying out the new thing. Thats what rails did back in the day.

</comment><comment><USER15> Perhaps this has changed in the last couple of years, but the last time I was in .NET land, the most glaring difference between the two was the community.

Rails, being built upon a foundation of open source, instills a strong open source ethos into its community. The amount of free, permissively-licensed open source libraries available for use with Rails is _staggering_. Rails' entire ecosystem, down to the preferred OS kernel, is open source and free. The buy-in to work with Rails is exactly $0. This produces a community who almost rabidly shares code and knowledge as permissively as possible.

Compare this to ASP.NET, where, until recently, there was a buy-in for everything, and you had to pony up a fair bit of cash just to play in the sandbox. In the ASP.NET world, everyone wants their $15 or $50 or $500 for every little bit of code or whatnot. The entire ecosystem feels like it's composed of people with an "enterprise" mindset who expect that everything should be paid for. This massively hampers growth of the technology and its community. It is directly antithetical to the open source ideals that have catapulted Rails to where it is today.

Any time I had tried searching for solutions to .NET problems, they were behind paywalls, behind license restrictions, or otherwise hidden away. When I search for solutions to Rails problems, they're on StackOverflow and Github. Where is the GitHub equivalent of ASP.NET MVC projects? The OP argues that the lack of SO questions is a good thing. I'd suggest that instead, perhaps it's symptomatic of the community's attitude towards distribution of knowledge.

Like I said, the last time I worked with ASP.NET was a couple of years ago, so perhaps this has changed by now, but if it has, it'd be a tectonic shift, and I'm rather doubtful that an entire ecosystem can change like that in such a relatively short amount of time.

</comment><comment><USER16> Disclaimer: I came to hate Microsoft back when it was first fashionable to do so. I've grown up, and still don't like them.

Here is my pet peeve.

MVC is a well-understood idea in web development that traces its inspiration back to Smalltalk in the 70s. There are many MVC frameworks in many languages, which differ in various details. All of which, to avoid confusion, called themselves things other than MVC. Examples include Catalyst, Django, Ruby on Rails, Struts, CodeIgniter and many, many more. See [http://en.wikipedia.org/wiki/Comparison_of_web_application_f...](http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks) for more.

Why did Microsoft have the gall to try to confuse everyone by calling their product MVC? Yes, you've got models, views and controllers. So does everyone else. Yours don't work exactly like anyone else's. (Everyone else's work differently from each others as well.) Yours wasn't even the first one available for .NET. Get a less confusing name.

<comment><USER17> Rails calls themselves MVC: [http://guides.rubyonrails.org/getting_started.html#the- mvc-a...](http://guides.rubyonrails.org/getting_started.html#the-mvc- architecture)

I don't see the issue with calling it "ASP.NET MVC". The Visual Basic event- driven style of programming is fundamentally different from MVC. Calling it MVC provides context.

Would you have preferred they come up with a "cute" name that doesn't explain what it is?

<comment><USER15> Rails claims to implement the MVC design patterns. It does not claim to be named "Ruby on Rails MVC".

</comment></comment></comment><comment><USER18> .NET tooling can't compete with any unix + ruby tooling. I use .NET everyday I work with NuGet & co and it stinks. It is miles away from being mature and robust (even with VS2012).

I was a RoR dev before and loved it, now I just hate .NET at work because of it's OS (Windows) and tools (VS, NuGet, MSBuild...). We don't use MVC though.

<comment><USER5> > tools (VS, NuGet, MSBuild...).

I don't know about NuGet or MSBuild, but back then when I used VS for misc tasks, it used to run circles around Eclipse or Netbeans.

<comment><USER19> Running circles around Eclipse and Netbeans is not tricky really, they're both horrifying to use on a regular basis.

<comment><USER5> What else would you compare VS with then?

<comment><USER9> A solid Unix/Linux command line.

I've yet to see an IDE that can beat the productivity of that, or even get close.

<comment><USER5> Take a Java or C# project and tell me what you can do with the CLI. Auto completion? Re-factoring(grep and replace doesn't cut it)? Code generation? I said Java and C#, because I don't know which IDE people use for dynamic languages, and if it is possible to offer accurate completion without executing the code(in some cases, it won't work even with code execution but there was an article from the VS python guys(I think) about offering completion without executing code) and reliable re-factoring(this isn't doable at all without confirming with the user).

<comment><USER9> > Auto completion? Re-factoring(grep and replace doesn't cut it)? Code > generation?

Auto-completion is an editor feature, and support for auto-completion in text- mode editors is not a problem, though I don't use it as I hate auto-complete with a vengeance. If you need to type enough for auto-complete to matter, your language and/or your identifier names are messed up.

Re-factoring and code generation are features I expect of the editor and/or external command line based generators respectively, and there's no reason for a heavy IDE.

I can understand people grab onto IDE's if forced to deal with ridiculously verbose languages like Java or C#, possibly. Yet another reason to stay away from these languages.

<comment><USER5> > Auto-completion is an editor feature, and support for auto-completion in > text-mode editors is not a problem,

Which mighty text-mode editor would that be where auto completion is not a problem? I use Vim and Emacs on a regular basis and it's very much a problem except for cases where it's handled by external tools(eclim, gocode, vimclojure).

> though I don't use it as I hate auto-complete with a vengeance. If you need > to type enough for auto-complete to matter, your language and/or your > identifier names are messed up.

Programming languages benefit a lot from auto-complete. The only people against it are people who couldn't get it to work in their choice of environment. I have zero inclination to type "validates_numericality_of" or "http.ListenAndServe" or ...

> Re-factoring and code generation are features I expect of the editor and/or > external command line based generators respectively, and there's no reason > for a heavy IDE.

Please refresh your memory. I said VS is a good IDE and you said a solid CLI is far more productive. I am not interested in your rant. I am interested in what does CLI do better than the IDE, particularly VS or Eclipse.

> I can understand people grab onto IDE's if forced to deal with ridiculously > verbose languages like Java or C#, possibly. Yet another reason to stay away > from these languages.

Oh man. My environment doesn't have reliable autocomplete. Let's pretend only verbose languages need autocomplete. Yay.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> wes-exp _For the record, the MVC Framework is completely open source. So is the entire Asp.Net stack._

I'm a former C#/ASP.net programmer. This guy is delusional. Even when MS makes code available, that doesn't really mean it's useful in any practical sense. If you're targeting ASP.net, there is a 99.99% chance you're targeting Windows servers and only Windows servers. Does that sound like "open source"?

<comment><USER6> A quick look at the ASP.NET MVC source shows that it uses the Apache license, which is OSI approved:

<http://opensource.org/licenses/category>

So yes, I'd say that is sounds like open source, using a very permissive license. People can (and do) deploy ASP.NET MVC apps using OSes other that Windows. The vast majority choose to deploy on Windows servers, but that does not make the source any less open.

I don't mean to come across as a Microsoft apologist; I've worked with .NET, Ruby, and Java...and find them all acceptable ways to get things done quickly, once you know what you're doing. I just feel like if we all spent less time navel gazing about whose language/tech stack is the most awesome, and spent that time creating things instead, we'd all be a lot better off.

</comment></comment><comment><USER20> Mostly fair points technically and a reasonable conclusion, but..

 _I want to be fair here – there's more than one camp in the Rails world_

To be fair, quit with the linkbaity titles that tar everyone with the same brush. I could find some developers to spout off some garbage and write _"BS That Dumb .Net Developers Actually Believe In"_ except I wouldn't, because it's ridiculous, unfair, and antagonistic. It's as simple as adding the word "some", really.

<comment><USER7> Point taken, well stated. I've updated my post to reflect that. Cheers.

</comment></comment><comment><USER21> As someone who has developed in Java, .Net, PHP, Python, Node.js, and Ruby on Rails for web projects, I must say what sells me on RoR is the nature of the language and ActiveRecord. My god, ActiveRecord is AMAZING. Sometimes I just don't have the option to build something in Rails(for example building internal API's that have to be written in Java for a number of reasons), but given the choice I will choose a Ruby or RoR app every single time because of ActiveRecord and the way the language functions. I know there are lots of ActiveRecord style clones in other languages, but they just feel completely lacking when compared to the real ActiveRecord and all it's extensions.

<comment><USER9> I find it peculiar that anyone would describe ActiveRecord that way. In my eyes it's a behind-the-curve ORM based on the most basic ORM pattern available from Fowler's "Enterprise Application Architecture", and it seems most of the people _using_ AR never read it and have not thought at all about the tradeoffs vs. other ORM patterns (such as Data Mapper ; before anyone mentions the Ruby DataMapper ORM: That one doesn't actually implement the Data Mapper pattern).

I particularly dislike the way it tends to result in code that is littered with leaky database abstractions where schema details tends to find its way into peoples controllers and views because it encourages people to call AR methods on model objects directly instead of even trying to encapsulate.

Ruby is my favorite language, but Active Record is one of the things I hold greatly against Rails, not only for AR itself, but for the inspiration it provided to many other Ruby ORM's, that while they may improve on various aspects still to a large extent also end up encouraging leaking implementation details for your models all over the place.

It'd be great if even 10% of the people using (and writing, it would seem, given that e.g. the Ruby ORM "Data Mapper" doesn't implement the Data Mapper pattern at all) these ORM's actually read the relevant chapters of EAA and pondered a bit on how it related to their applications.

<comment><USER5> > Fowler's "Enterprise Application Architecture", and it seems most of the > people _using_ AR never read it

I wasn't aware Fowler is a required reading for anything(or I would say even beneficial) for _anything_, let alone AR.

> I particularly dislike the way it tends to result in code that is littered > with leaky database abstractions where schema details tends to find its way > into peoples controllers and views

Your whole rant doesn't have anything concrete I can respond to. How does schema details creep into controllers and views?

> because it encourages people to call AR methods on model objects directly > instead of even trying to encapsulate.

Ummm. What? I don't understand. Are you proposing person.save is wrong and save should be abstracted?

> Ruby is my favorite language, but Active Record is one of the things I hold > greatly against Rails, not only for AR itself, but for the inspiration it > provided to many other Ruby ORM's, that while they may improve on various > aspects still to a large extent also end up encouraging leaking > implementation details for your models all over the place.

More rant. Still nothing concrete. AR maps the whole table, and if you are using AR, you should know that. If you need to map parts of the table, or compose parts from various tables as one object, use something else. Not every tool has to solve every problem.

<comment><USER9> > I wasn't aware Fowler is a required reading for anything(or I would say even > beneficial) for _anything_, let alone AR.

Then I suggestion you read Enterprise Application Architecture. It's a great book for the way it formalises a number of very common patterns in a very concise way.

It is also directly or indirectly the inspiration for a large number of recent ORM's and worth reading for that reason alone. Active Record the ORM is a direct implementation of Active Record the pattern as described in EAR for example.

Unfortunately most picked off the easiest ORM pattern presented and stopped there, without alerting their users to all the caveats of the pattern.

> Your whole rant doesn't have anything concrete I can respond to. How does > schema details creep into controllers and views?

Because the ORM spews methods all over the models that expose schema details whether or not they are relevant to the domain model.

> Ummm. What? I don't understand. Are you proposing person.save is wrong and > save should be abstracted?

No, I am suggesting that, e.g. Person.where("some random SQL") is horrible. Yet it is hard enough to work with AR without resorting to crap like this, that you see stuff like that all over most code that uses AR. At least all the code I've looked at.

> More rant. Still nothing concrete. AR maps the whole table, and if you are > using AR, you should know that. If you need to map parts of the table, or > compose parts from various tables as one object, use something else. Not > every tool has to solve every problem.

The problem is not what AR does, it is how it does it, and the way it's been packaged with Rails and given legitimacy that way despite being an exceedingly poor solution for anything but tiny projects because of a) the choice of the Active Record pattern, b) the poor level of abstraction.

A large chunk of developers are terribly excited about AR because it's better than what they're used to, and settle for it because it's part of Rails instead of looking for alternatives.

<comment><USER5> > Unfortunately most picked off the easiest ORM pattern presented and stopped > there, without alerting their users to all the caveats of the pattern.

I have a general dislike for Fowler church of patterns. That is not to say I haven't gone through what is listed on his site. I didn't find it intriguing enough. I derive 100 times more value reading K&R than GoF. There is limited time and large number of books - one has to be picky.

> No, I am suggesting that, e.g. Person.where("some random SQL") is horrible.

Person.where("last_name = ?", last_name) is the most concise way to issue that query. Abstracting last_name so that if the field name changes, the query still is relevant is overkill. If you are so insistent, it isn't really hard to do a base model class which inherits from ActiveRecord::Base and do the mapper yourself.

> exceedingly poor solution for anything but tiny projects

github, twitter, heroku et al would like to disagree. Person.where("last_name = ?", last_name) makes it unsuitable for large projects? Personally, I have seen 1% cases where a migration changes column names, and when it does, re- factoring the code base for column name changes will take less than 2 minutes.

> A large chunk of developers are terribly excited about AR because it's > better than what they're used to, and settle for it because it's part of > Rails instead of looking for alternatives.

I don't understand. You are quoting it as if AR is the new kid on the block. It has been long enough to call it time tested. If Person.where("last_name = ?", last_name) is not abstract enough and makes it unsuitable for your projects(still the only concrete complaint from you), look for alternatives. I am not a fan of InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter and I would stick with Person.where("last_name = ?", last_name) and will fork AR if someone has a bright idea of adding layers of abstractions over a simple query.

<comment><USER9> > K&R than GoF.

Very different comparison to the patterns Fowler presented. The patterns GoF presented were very basic, and were interesting _then_ with languages like C++ when people were still fucking up many of the basic patterns. The number of horribly broken C++ Singleton implementations I've seen, for example, beggars belief. Today that's less of an issue.

The patterns Fowler presents are, as the title says, about architecture not low level implementation, and they are patterns you will tend to find in pretty much any large software project today yet that people still manage to fuck up royally, which is the reason the patterns matter.

Patters are nothing but recipes of best practice. They're not meant to be "intriguing" once you understand the tradeoffs. They're meant to become boring and bland and trivial once people are comfortable with them and their implementation is well understood. They're also meant to give people a shared vocabulary for talking about it. That's the _entire_ _point_.

Most of the patterns in EAR are nowhere that for most people, judging by the code I see regularly and judging by how there's still this cargo cult around the AR pattern by people who in many cases have not even heard about the other ORM patterns presented by Fowler, much less other alternatives.

> There is limited time and large number of books - one has to be picky.

If I were to pick _any_ book on software development from the last 10-15 years I'd like everyone to read, it'd be Enterprise Software Architecture, for a simple reason: I still see people using those patterns every day, yet screwing them up in horrible ways. Maybe you don't need it, but the developers I come across for the most part sure do.

> Person.where("last_name = ?", last_name) is the most concise way to issue > that query. Abstracting last_name so that if the field name changes, the > query still is relevant is overkill.

That is only true if you're dealing with a query that simple (even then, the "Rails way" of doing your example would be Person.find_by_lastname(lastname)). On the other hand, I've read the code of dozens of Rails apps that contains several lines long SQL queries littered just because they could.

The biggest problem in _your_ example as why you are asking for persons with specific last names in the first place. 9/10 when I see code like that, it is the wrong (too low level) question, and leaks domain logic that should be confined to the model.

Also, what happens when you need to serve that query from a web API instead of your database? From a full text engine? From file? From a noSQL database? From on disk hash table? I've had to do all of these - often several from the same application. With a suitable architecture you just plug in your new storage and implement the finders you need supported, and won't have to play "hunt the raw SQL". Changing column names is the least of my concerns - that can be fixed with a simple search replace.

You also miss the point when you say you can do a base model class and do a mapper yourself: The point is the architecture of AR makes leaking SQL which often ends up in controllers and other places they don't belong all over the place the easy default, while implementing cleaner abstractions is more work.

The end result is that most places where AR is used end up with high degrees of coupling for no good reason.

If everyone used AR in a disciplined way and avoided littering their controllers and other code with query details that belongs in their models, there wouldn't be a problem.

Your argument reminds me of the old memory-protection vs. no memory-protection in the 80's, where the Amiga camp for example tended to be bitterly against memory protection because it was seen as expensive, slow and enabling lazy developers. Expecting developers to write clean code with ActiveRecord is a bit similar to expecting developers to write code free of bad memory accesses without memory protection - it makes it far too easy to do the wrong thing.

> github, twitter, heroku et al would like to disagree.

And Ebay at least used to be written using ISAPI modules, and large parts of Yahoo runs or used to run on a horrific mess of PHP and Perl (I used to work at Yahoo; there was a lot of dreadful code). Your point again?

(and Twitter is a particularly bad example given how much time they spend moaning about how they've needed to move most stuff off Ruby)

Besides, pointing to web startups as the pinnacle of engineering quality is ridiculous at best of times - while some of what happens in web startups is amazing, there are also plenty of areas where we're still lagging 20 years behind engineering practices in the enterprise space. Active Record was not by any means a _new_ pattern, for example - none of the patterns in EAR were. They were Fowler's cataloguing of well established patterns with years of use in industry.

Rails, and AR, is still better than a lot of the alternatives. That does not mean there are not better ways for a lot of uses than resorting to AR.

> Person.where("last_name = ?", last_name) makes it unsuitable for large > projects?

Strawman. If you think simple cases like that is what it is about, you've not seen much complicated Rails code, and it's a waste having this discussion with you.

> It has been long enough to call it time tested.

So is BASIC. That doesn't mean it's good. "Time tested" is not in itself an argument for anything.

> If Person.where("last_name = ?", last_name) is not abstract enough and makes > it unsuitable for your projects(still the only concrete complaint from you), > look for alternatives.

I don't use AR the library unless I absolutely have to, which means I only use it if I help out on Rails projects where I can't dictate policy. Otherwise I'll generally use Sequel, which though it suffers from many similar flaws drawn in large part to inspiration from AR, is cleaner in many ways. There's many things I'd love to change about it, but I already have at twice as much stuff to do as I should.

For small projects I might use the Sequel schema module which implements the AR _pattern_ , and which allows for a lot of the same crap that people do with AR the library, but still makes it a lot easier to avoid raw SQL. The AR pattern has its place.

But for larger projects I'd generally be inclined to implement mappers, then often with Sequel ( _without_ the schema/model module) used internally by the mappers only.

<comment><USER5> >> K&R than GoF.

> Very different comparison to the patterns Fowler presented.

You are intentionally trying to miss the point. I don't have to explain how K&R and GoF are very different books, and how Fowler and GoF are very similar books.

> people who in many cases have not even heard about the other ORM patterns > presented by Fowler, much less other alternatives.

You mention Folwer 10 times in a row as if he is the appointed expert on ORM. Call me when he has written one, and it's better than the existing ones. Yes, AR is based on AR pattern named by him. So what? Talks are cheap. Produce a better ORM if you are so sure about the deficiencies and Fowler already told you a better solution.

> even then, the "Rails way" of doing your example would be > Person.find_by_lastname(lastname)

find throws and exception and where does not. Whoever told you the rails way is to not use where and use the dynamic finder is full of it.

> The biggest problem in your example as why you are asking for persons with > specific last names in the first place.

Do I have to tell you that's an example? Really?

> Also, what happens when you need to serve that query from a web API instead > of your database? From a full text engine? From file? From a noSQL database? > From on disk hash table? I've had to do all of these - often several from > the same application. With a suitable architecture you just plug in your new > storage and implement the finders you need supported, and won't have to play > "hunt the raw SQL". Changing column names is the least of my concerns - <USER2> > can be fixed with a simple search replace.

Querying needs a language. SQL is for relational databases. A data source agnostic query language does not exist. You can't abstract something that doesn't exist in the first place.

<quote> > github, twitter, heroku et al would like to disagree. And Ebay at least used to be written using ISAPI modules, and large parts of Yahoo runs or used to run on a horrific mess of PHP and Perl (I used to work at Yahoo; there was a lot of dreadful code). Your point again? (and Twitter is a particularly bad example given how much time they spend moaning about how they've needed to move most stuff off Ruby) </quote>

You said AR is a pain for big projects. I pointed out big projects which use AR. And then you are selectively copy pasting to paint the wrong picture.

Twitter moans about Ruby's performance, not project size. Either get your facts straight or stop intentionally twisting them.

> Strawman. If you think simple cases like that is what it is about, you've > not seen much complicated Rails code, and it's a waste having this > discussion with you.

I have not seen big projects. Twitter and Github aren't worth mentioning. Apparently I missed the memo where you were appointed the authority on big projects.

I have wasted enough time with you. Apart from mentioning Fowler about 50 times, and whining about how Person.where("last_name = ?", last_name) will be an issue when we find life on Mars and we need to integrate with their data sources, there is absolutely nothing you have to say about AR.

You win. You can go home now.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I just read all the myths' title and none of them are the reason why I'm using Ruby on rails.

You like asp.NET? Good on you. It probably has interesting concepts.

I have a feeling that a large percentage of the people choosing a framework base their choice on two main characteristics:

1\. Language they wish to use/learn(C#, Java, Ruby, PHP, Python, etc)

2\. Framework they know/heard of (ASP.net, RoR, Flask, Django, CakePHP, Symfony, etc.)

And there's nothing wrong with that.

</comment><comment><USER23> The MS stuff is good and getting better. Still, it's a (sometimes expensive) tarpit that is difficult to free yourself from. Better to not get involved in the first place, imho.

</comment><comment><USER24> The big thing that rails has that .NET doesn't are the vast number of open source engines and plugins available.

For examples see here: <https://www.ruby-toolbox.com/> , nothing like this really exists in the .net ecosystem, especially something akin to active record plugins, so you have to roll your own stuff a lot of the time when you could just use a plugin in rails.

Also, it seems like a lot of the useful .net stuff like mvc, nuget, entity framework are kind of clones of stuff that exist in the rails ecosystem already, so you are always going to be a bit behind the curve.

</comment><comment><USER25> Suggestion to use a Microsoft product to serve content or maintain a database in 2012 insults my intelligence.

</comment><comment><USER26> > _Myth 1: It's Easier to Bootstrap a Project In Rails_

To me, "bootstrapping a project" includes source control and hosting. I absolutely adore the Rails/Heroku/GitHub trifecta.

I don't really know how this compares to what .NET MVC and VS can provide. Do they make it equally easy to get something live online with collaborators? Going to Project -> New is one thing, but only a small step in getting a project started.

</comment><comment><USER27> Can these articles please stop? There is no silver bullet solution for anything. This is why polyglot applications are starting to pop up.

</comment><comment><USER28> What options are available for Linux/Mac developers? Can we just install Mono and Nuget and start hacking away?

<comment><USER5> You can install Mono(on Linux at least; don't know about Mac). NuGet wasn't working last time I checked.

<comment><USER29> Yep, Mono works on Mac. And there's MonoDevelop, which is a reasonably pleasant IDE.

(I don't know about NuGet and ASP.NET MVC; I only have Mono and MonoDevelop on my Mac because occasionally I modify C# plugins for a Windows app and I like being able to see compiler errors without having to install it on a Windows machine.)

</comment></comment></comment><comment><USER8> Completely agree with the author. mvc3 and razor are fantastic to use.

<comment><USER5> > Completely agree with the author. mvc3 and razor are fantastic to use.

Then use it by all means. But mvc3 and razor can be awesome without the flamebaiting.

<comment><USER30> and flamebating is for people feeling unsecure about their choices.

</comment></comment></comment><comment><USER31> TL;DR This guy claims he was previously a free software enthusiast, but then he grew up and now he's a microsoft enthusiast.

Yay for stereotyping free software enthusiasts as basement-dwelling pre- pubescents.

Other than that, the article is pretty light on insightful content.

<comment><USER32> I know a few guys that follow this pattern.</comment></comment>


SocialBlood, Blood Type's on Facebook and Sean Parker - <AUTHOR> http://www.dutiee.com/socialblood-connecting-people-by-blood-type-on-facebook-and-sean-parkers-advise-for-them/

<comment><USER2> Can someone explain to me why I would need to join a Facebook group to donate blood? Is the blood bank system in India so bad that they need to use the blood right away or it goes bad? Or is it this just some marketing stuff to get people to donate more because they get to know who receives their blood?</comment>


Clink – Powerful Bash-style command line editing for cmd.exe - <AUTHOR> http://mridgers.github.io/clink/ <comment><AUTHOR> I came across this today and honestly it's quite good.

But the documentation is sorely lacking.

I located a previous HN submission on this [0] which had some tips. But I wish I could modify the shortcuts some more. Sadly, I don't understand much of Lua to really enhance this. Any help would be great.

[0]: [https://news.ycombinator.com/item?id=9192966](https://news.ycombinator.com/item?id=9192966)</comment>


Veterinary Stem Cells: Why Your Dog Is Getting Better Treatment Than You - <AUTHOR> http://singularityhub.com/2009/06/25/veterinary-stem-cells-why-your-dog-is-getting-better-treatment-than-you/

<comment><USER2> Something is missing from this article. It's talking about treatments involving _adult_ stem cells. The controversy (and heavy regulation) in the U.S. concern _embryonic_ stem cells. In particular, under GW Bush, federal funding for experimentation involving embryonic stem cells that were not from approved lines, was prohibited in the U.S. But there is nothing controversial about adult stem cells, nor anything about them that is specially prohibited.

Now, perhaps human medical treatments and experimentation are over-regulated in the U.S. But that has nothing to do with stem cells.

And so I suspect this article is complaining about the wrong thing. Whatever problems it is pointing out, are really unrelated to any issues surrounding stem cells.

</comment><comment><USER3> The surgical procedure that has experienced the fastest increase in quality and the fastest decrease in price EVER is Lasik.

...because it's not regulated like most other surgeries.

Veterinary care has been improving under the same forces, and at close to the same rate, as tech startups.

Human medical care has been hindered under the same regulation and oversight as public utilities and the DMV.

<comment><USER4> Hear, hear. There is no shortage of examples in which your dog's getting better service and treatment than you because of government interference.

"This is a country in which dogs can get a hip replacement in under a week and in which humans can wait two to three years." ([http://www.nytimes.com/2006/02/28/international/americas/28c...](http://www.nytimes.com/2006/02/28/international/americas/28canada.html))

</comment></comment><comment><USER5> This is sadly true. I've ranted here about the very high cost of regulation in _human_ biotech before.

Because veterinary medicine is much, much less regulated it advances much faster.

Sad but true.

<comment><USER6> Correct me if I'm wrong, but I would think that harvesting a batch of puppies for organs/cells probably has far fewer ethical considerations than when messing with people.

Since you're all about decreasing the cost of experiments and regulation for humans though, I take it you are going to be one of the first to sign up for the next generation of human experiments that have little to no regulatory standards?

All these people complaining about lack of progress in regulated human bio- sciences could probably be put to good use. I think it's pretty easy to examine that increasing the supply of humans willing to advance science in the name of unregulated testing would rapidly drop costs. So let's sign all these complainers up and get them what they want!

<comment><USER5> If I may correct you.

The ethics of messing with people are not the main barrier, they are no barrier. It's the legal restrictions - the government regulations which make any kind of messing with perfectly willing humans very costly and time intensive.

 _Since you're all about decreasing the cost of experiments and regulation for humans though, I take it you are going to be one of the first to sign up for the next generation of human experiments that have little to no regulatory standards?_

Yep.

But willing volunteers are not in shortage and are also no barrier to the advancement of science. It is once again the regulations, their cost is to the cost of paying human drug testers as Everest is to an ant hill.

In other words: You can't give me what I want, because the government is protecting me from me. Only in recent years has the FDA been willing to soften its restriction if I happen to be dying, but even then only if I'm really close to the end. Then I can legally try the cutting edge drugs.

<comment><USER6> _The ethics of messing with people are not the main barrier, they are no barrier. It's the legal restrictions_

But ethics and morality ARE the barrier. Sure, you have plenty of scientists who wouldn't blink an eye before doing just about anything to a fellow human, but ethics are most certainly the explanation for why these legal restrictions and government regulations are put into place. Just about every core law and regulation put into place has a basis in an ethical judgment.

 _because the government is protecting me from me._

You act as if this is a bad thing? Personally I prefer it that scientists far more knowledgeable than myself are doing their best to ensure that I'm not brushing my teeth with lead-laced toothpaste, drinking milk that hasn't been properly prepared, helping to ensure that processes are standardized and providing me with convenient ways to know that I'm not unknowingly poisoning myself, etc. The FDA has done far, far more good than harm in this case.

I think if people want to do testing then they should leave the USA. Get out of my country, _I don't want_ it to be legal for scientists to perform borderline unethical treatment on my citizens. Go to China for that, it's really that easy.

<comment><USER7> _"I don't want it to be legal for scientists to perform borderline unethical treatment on my citizens."_

Huh? You've got it completely backwards. What is _really_ unethical is retarding process, and not allowing people to have the best possible medical care. If there's a huge breakthrough in medical technology - and stem cells appear to be such a breakthrough - by denying it to people without an excellent reason you are causing untold, needless suffering.

 _"Go to China for that, it's really that easy."_

I never thought I'd see the day where an American told another to go to _China_ to get the innovative medical care they need because the USA was too bogged down in bureaucratic mire. Is it opposite day or something?

<comment><USER6> _What is really unethical is retarding process, and not allowing people to have the best possible medical care._

Oh, give me a break here. Take your emotions out of the argument. Cutting edge medical experimentation does not necessarily equal "best possible care".

And if by _innovative medical care_ you mean human guinea pig, then by all means buy the ticket now and head over.

Is it really a problem to want to be on the "safe side" when dealing with medical treatments on humans? You're the one who has it backwards. In your convoluted sense of ethics you somehow equate "doing nothing" and "being cautious" with "doing harm". What sort of stupidity is that?

Do you consider yourself an unethical greedy person each time you deny a beggar money on the streets? Do you consider yourself doing harm if you deny tackling a robber who has a gun pointed at a bank teller? How selfish of you to eat three meals each day and deny food to the millions of starving children in Africa. In each of these situations you had the capability to help, yet you chose to deny it to those people and it resulted in needless suffering.

Am I correctly understanding your system of ethics where you are saying that choosing to do nothing = doing harm?

Even if "doing nothing" did equal "doing harm", I would be willing to wager that doing nothing and being cautious statistically does FAR LESS "harm" than attempting a number of untested medical experiments on human guinea pigs for the sake of trying to save one person's dying grandparent.

<comment><USER7> _"Cutting edge medical experimentation does not necessarily equal "best possible care"."_

Give _me_ a break. Didn't you read the article? Humans are waiting 2-3 years for a hip replacement; dogs are waiting _one week_. We're way past "experimentation".

I really don't know what you're imagining with all this talk of "human guinea pigs" etc. We're not talking about some crazy experimentation with live subjects, companies with _carte blanche_ to do what they will. We're talking about new remedies, with high success rates in (genetically very similar) animals, which really need to be investigated.

 _"Am I correctly understanding your system of ethics where you are saying that choosing to do nothing = doing harm?"_

Your examples are all biased. If you really do have the ability to apprehend an armed robber with no risk to yourself, then of course you should. The Africa situation is complex and it's not a matter of money but if you could really press a button and just fix it all, of course you'd be derelict in your duty if you didn't press that button.

The problem is the government isn't doing "nothing", it's actively retarding progress. I wish they _would_ do nothing.

You seem to have this image in your head of some kind of large scale Nazi medical experimentation or something. I assure you that is not the case, and not what I am talking about. It is illegal to even _research_ this shit, even if it works fine in animals, even if the patient is desperate and willing to take the risk.

The government is actively impeding this research and, by extension, medical progress. This is abhorrent and needs to change. Luckily, other countries are picking up the torch and soon you may indeed see sick Americans heading overseas for the treatment they need as America slides further into a complacent abyss of risk-averse stagnation.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Your own stem cells from your own body which may (can?) regenerate damaged parts of your body, and people are against this.

Why are we allowing these people who are anti-science to control our governments, there can't be that many of them out there, or maybe more of them vote than we do.

I want the option to have such a treatment, I want everyone to have that option. If you choose not to it's OK but don't decide for me.

<comment><USER2> > Your own stem cells from your own body which may (can?) regenerate damaged > parts of your body, and people are against this.

Actually, I don't think anyone is. See my comment:

<http://news.ycombinator.com/item?id=679541>

<comment><USER8> I mean people in general, not this specific post discussing it, and more often than not the religious right in the USA.

<comment><USER2> I've never heard anyone, "religious right" or otherwise, complaining about the use of _adult_ stem cells. The problem people have is with _embryonic_ stem cells gotten by killing embryos, and thus not from your own body.

So, again, I don't think anyone has any problem with the procedure described in this article. And certainly there are no unusual legal restrictions on it in the U.S.</comment></comment></comment></comment>


An Intuitive Explanation of Fourier Theory - <AUTHOR> http://cns-alumni.bu.edu/~slehar/fourier/fourier.html <comment><USER2> From the first section, basic principles:

"any signal" huh? "spatial frequency" 2x huh? "a "DC term" corresponding to zero frequency" #seriously

This is intuitive only if you already know this stuff, which I happen to, but I have also tried to explain this to undergrads taking history and english. Terms like these are not intuitive at all.

<comment><USER3> The curse of knowledge[1], also known as: Teaching is a skill worthy of great respect.

[1] [https://en.wikipedia.org/wiki/Curse_of_knowledge](https://en.wikipedia.org/wiki/Curse_of_knowledge)

</comment></comment><comment><USER4> Here's a tool that let's you try the transform interactively: [http://www.ejectamenta.com/Imaging- Experiments/fourierimagef...](http://www.ejectamenta.com/Imaging- Experiments/fourierimagefiltering.html)

</comment><comment><USER5> Curious... If the Fourier transform can be 'calculated' by photons passing through an optical lens, has anyone ever produced a component that could capture the computation numerically? I.e., some sort of capsule/chip with:

* A digital-to-analog converter with pixel array on one end * A lens in the center * A sensor array with an analog-to-digital converter on the other end</comment>


There's something rotten in the state of online video streaming - <AUTHOR> http://gigaom.com/2014/02/06/theres-something-rotten-in-the-state-of-online-video-streaming-and-the-data-is-starting-to-emerge/?post_id=744271220_10152208272006221#_=_ <comment><USER2> As a comcast customer, I've noticed that if I am having a problem with streaming video that if I go to speedtest.net, the video streams fine after the initial ping test from speedtest.net. It will be fine for a few moments (seconds to minutes), but will slow down or stutter again eventually. A fresh visit to speedtest.net again corrects the problem. I have a hunch that a visit to speedtest.net will disable traffic shaping for a set period of time in order to convince people that their connection is fine.

It is interesting that in the article about Verizon's shaping of traffic to AWS that the tech support had the author go to speedtest.net and test his traffic in order to tell him "see no problems!". I've had similar responses from AT&T when I was a DSL subscriber.

I understand that traffic shaping should only affect particular sites and that,in theory,there would be no need for a temporary disabling of traffic shaping for a speedtest. My theory is that due to the high volume of packets needed in order to have a good result on speedtest.net, the analyses of packets at the router for traffic shaping is enough of a slowdown to affect the results.

Anyone else ever notice this? Any alternative explanations as to why going to speedtest.net would suddenly make paused streaming video run again? I notice this mainly when watching live streaming youtube events or sometimes when I am watching netflix during peak hours.

I would love to hear alternative hypothesis as to what is going so that they could be tested!

<comment><USER3> Netflix is unwatchable during prime time where I live.

However, I have also noted that on two separate occasions when I began examining the Frontier FIOS site, I received a personal knock on my door from my local Comcast representative. Wondering if there was a connection to my search for another provider and the person at my door, I asked her if she was talking to everyone in the neighborhood or just me. It was just me--they sent a person out to personally ask me about my Comcast service.

All they have to do is fix the evening streaming.

<comment><USER4> And maybe stop monitoring your personal searches, right?

<comment><USER5> Yeah, that's creepy as fuck.

</comment></comment></comment></comment><comment><USER6> No one has pointed out that this is bad for the providers throttling traffic.

If Time Warner, Comcast, and AT&T want their names to be associated with budget brands then its ok. Customers accept poor quality when the price is really low and there is no lock in (pre-paid mobile phone service.) Good luck getting those people to purchase premium services from you years in to the future.

On Hacker News we complain a lot about things most people don't care about like privacy and security. Most big companies can disregard those issues with minimal visible impact to their business long term. Video streaming quality is different because its what basically all of your customers are doing. Anyone with an IQ over 70 knows something is wrong, and you can't excuse it away.

Its possible that the peak bandwidth doesn't exist. In that case these ISPs are overselling their "inventory" much like airlines oversell seats. It could be early signs of infrastructure issues to investors.

<comment><USER7> > If Time Warner, Comcast, and AT&T want their names to be associated with > budget brands then its ok.

It is definitely not OK. Time Warner is absolute garbage and has been for a very long time. Cablevision has an excellent network.

I know this very well.

Unfortunately, some towns contracted with Time Warner and some with Cablevision and you can't pick who you want as your provider ... unless you decide on where you live based on the available ISP.

As much as I love a good connection, I will not make my decision on where to live based on the available internet provider. Reputation is worthless unless people have a choice.

<comment><USER8> > unless you decide on where you live based on the available ISP.

Interestingly, if I ever move out of my current neighborhood, this (along with apartment price) will dictate where I look. I'm pretty happy with Cablevision for now, though.

<comment><USER9> What happens when you pick a town with a good ISP, which then gets bought by GiantEvilCo a month after you move in?

I don't think voting with your feet and mortgages is a solution. Perhaps forgoing entirely? When Charter dicked me around in 08, I went back to dialup for over a year before DSL became available at my house. Screw 'em. I can still read HN and text-based websites at 56k.

Which isn't a whole lot slower than AT&T is giving me now. But at least they don't treat me like a subhuman ATM like Charter did.

</comment></comment></comment></comment><comment><USER10> Make the cable companies common carriers!

[https://petitions.whitehouse.gov/petition/restore-net- neutra...](https://petitions.whitehouse.gov/petition/restore-net-neutrality- directing-fcc-classify-internet-providers-common-carriers/5CWS1M4P?t=1)

<comment><USER11> I see that petition has already meet the required signature count. I haven't followed the state of petitions.whitehouse.gov; do we expect them to actually comment on this petition?

<comment><USER10> I am not sure. There seems to be evidence that they do not respond to a few petitions, even when they meet the 100K signatures (at least immediately)[1]. Since [1]'s release, it appears that they have responded to a few of the petitions mentioned, and if you look at the site itself[2] (assuming "popular" is actually sorting by the number of signatures) there are only 15 unanswered petitions that meet the 100K requirement (though they changed the limit a few times and some may have met the original requirement). I suspect that they only respond to petitions that are in the mutual interest of the public and the politicians themselves but I have no evidence to support it.

[1] [http://www.nextgov.com/emerging-tech/2014/01/white-house- owe...](http://www.nextgov.com/emerging-tech/2014/01/white-house-owes- responses-30-citizen-petitions-some-have-been-waiting-years/76172/) [2] [https://petitions.whitehouse.gov/petitions/popular/0/2/0](https://petitions.whitehouse.gov/petitions/popular/0/2/0)

</comment></comment></comment><comment><USER12> I wonder if publishing these metrics would go a long way to solving the problem. I know I'd must prefer to sign up with an ISP that doesn't throttle traffic I care about. I guess the big problem with that idea is that in many areas of North America there is very little competition in the ISP marketplace.

If the government was going to do something, I'd prefer it concentrate on increasing competition. Ideally, every home should have at least two or three options for high speed network access.

<comment><USER13> Google is making performance metrics for YouTube public to help people when choosing an ISP (in places where there is a choice): [http://www.ntca.org/new- edge/video/google-to-rate-isps-based...](http://www.ntca.org/new- edge/video/google-to-rate-isps-based-on-youtube-metrics)

<comment><USER14> Direct link to the Google Reports site: [http://www.google.com/get/videoqualityreport/#how_video_gets...](http://www.google.com/get/videoqualityreport/#how_video_gets_to_you)

</comment></comment></comment><comment><USER15> "But they built the last mile so they should be able to do whatever they want with it..." /sarcasm

You know that comment is coming to this discussion at some point.

Wish there was a good answer to this. Making internet connectivity a 'utility' has its downsides and upsides. It really is becoming a pressing issue though (and not just because of netflix being slowed).

<comment><USER16> weren't they payed with tax money to build the infrastructure?

<comment><USER17> Varies by municipality, but pretty much everywhere the "last mile" is a local monopoly, granted by the town, county, or city with the rights to do so. And so long as that's the case there's no real competition and thus no way for Internet users to route around these abusive practices of their ISPs.

<comment><USER18> What's funny is that now the incumbents have the monopoly (paid for using taxpayer money) they're pushing to prevent new competitors like Google fiber from working with the municipalities at all: [http://consumerist.com/2014/01/30/kansas-legislature- wants-t...](http://consumerist.com/2014/01/30/kansas-legislature-wants-to- stop-any-other-kansas-cities-from-getting-google-fiber/)

</comment></comment></comment></comment><comment><USER19> Reminds me of the Comcast situation with Bitorrent in 2007 [0].

I have little doubt that ISPs will continue to escalate this game of service degradation and denial without strict regulation.

0: [http://consumerist.com/2007/10/27/damning-proof-comcast- cont...](http://consumerist.com/2007/10/27/damning-proof-comcast-contracted- to-sandvine/)

<comment><USER20> Many people don't realize much of the bit torrent debate ended because bit torrent switched from TCP to µTP. The problem was bit torrent clients caused massive congestion by making hundreds of TCP connections. µTP is extremely congestion/network friendly. It backs off based on latency, so it doesn't fill every buffer on the network.

<comment><USER21> The BitTorrent discussion didn't end because of uTP. It ended because ISPs got bigger fish to fry. Fish with actual money, like Google/Youtube and Netflix.

<comment><USER22> Yup. In 2007, bittorrent was 25% of internet traffic. With streaming becoming the standard way to consume since, bittorrent has become a drop in the bucket.

At least torrenters only download content once...

</comment></comment></comment></comment><comment><USER23> This is fine let them keep screwing around with Netflix, Amazon, and Google(Youtube) it won't be long before they get pissed and build their own internet backbone/service providers(already happening).

I can't wait to get Amazon High Speed Internet.

So please, let them keep acting jerks.

</comment><comment><USER24> I wish ISPs business where completely out of the content business.

Slowing competing content could be justified as a "fiduciary duty", yet it's much simpler than that: Gatekeepers and highwaymen, extracting private taxes on content they did not create.

</comment><comment><USER25> Is there any interest in a Chrome plugin that would passively report anonymized download speed for things like YouTube or Amazon? I can imagine that kind of info would be useful.

<comment><USER26> I think if you could do some detection of what connectivity is being used, and other sorts of relevant connection data, it would be a valuable motivator to see, "We've detected you are 30% slower than other customers with x and y differences in service"

This is super hand wavy, but I think with proper data it could be a useful tool.

<comment><USER27> That's what many of the tests at M-Labs are trying to do (I encourage people to take a look [http://www.measurementlab.net/](http://www.measurementlab.net/)) but packets don't traverse networks in a straightforward path. I think focusing on that data and trying to figure out ways to prove traffic manipulation and pinpoint consistent places/times/applications where it slows would be valuable. It's also worth understanding how the FCC currently measures speed and treats speed tests. It's not at all straightforward [http://www.fcc.gov/measuring- broadband-america/2013/develope...](http://www.fcc.gov/measuring-broadband- america/2013/developer-and-researcher-faq-measuring-broadband-america- feb-2013)

We should have a technically-dominated discussion about tests and the right way to look for problems, that we aren't having today because it's so wonky. We totally need data, but we also need to figure out what data will be most useful to prove bad behavior. For example, if my speed drops to 1 Mbps for 30 minutes during prime time but my speeds the rest of the day are 55 Mbps then that blip is heavily discounted, but shouldn't be given that I'm probably trying to stream video.

<comment><USER28> Indeed; ISP-level stats aren't fine-grained enough. We need route- and hop- level stats to find the real bottlenecks.

</comment></comment></comment></comment><comment><USER29> We've all known this was coming for years, actually, it is amazing it has taken this long.

</comment><comment><USER30> If AT&T, Comcast, Verizon and other ISPs are intentionally limiting bandwidth to certain content providers, as the measurements seem to indicate, they may be actually doing us a favor. By doing this, they are causing people to discuss the issue and eventually lead to market changing trends or new regulations and potential legal hazards for ISPs that do this in the future.

If anything, Amazon is a smart company, there might be an opportunity here for last-mile internet delivery...Amazon Fiber Prime anyone?

</comment><comment><USER31> I wish ISPs could stay out of the content business since their content curation and presentation are usually subpar at best.

<comment><USER32> I wish we could amend the constitution that they are not allowed to do anything at all but sell bits to consumers. No selling of content, access to consumers, devices or ice cream or whatever other scheme they come up with. Their sole interest has to be selling more bits! If they even as much as think about doing anything else there need to bd draconian penalties. I would even argue that they are endangering infrastructure and charge them with terrorism.

</comment></comment><comment><USER33> The most interesting thing is the astroturffing comments form unnamed Verizon employees in the first 10 comments

</comment><comment><USER34> So now not only's the catalog is meh, the quality/stream too.

Why are they pushing people so much to piracy?

And don't get me started about the situation once you're outside the US.

</comment><comment><USER35> > _While I was seeing my episode of The Good Wife falter at what appeared to > be 1.9 Mbps, I was able to measure connection speeds of 28 Mbps to my house > using a Speedtest.net test from Ookla. This is exactly the dichotomy that > the M-Lab data is showing, and my example is not an isolated one; Comcast > users have been complaining for months._

How do we know that it is not just the provider being sapped for bandwidth? I notice that speed tests I run in the mid-day and evening come back pretty much the same, but Netflix takes noticeably longer to buffer in the evening. I always assumed this was because their servers were much busier then.

<comment><USER36> I'm guessing it's that link to Netflix from your provider that is busier at that time. I use a local provider for internet service, that despite offering crappy customer service, has given me consistent speeds, and no buffering issues with Netflix or Youtube at all.

</comment></comment><comment><USER37> The first rotten thing there is DRM. There are no DRM-free video services where you can buy anything (Headweb doesn't count because it's regionally restricted). So there simply is nothing to chose from. Failure at step 0. It's not just rotten - it's completely decomposed.</comment>


We're open sourcing GROQ: A query language for JSON documents - <AUTHOR> https://www.sanity.io/blog/we-re-open-sourcing-groq-a-query-language-for-json-documents <comment><USER2> This is a really great complement to GraphQl.

Where GraphQl would be equivalent to explicit and strongly typed languages, GROQ allow for more flexibility.

You can, for instance, choose to select all field of an object and return your result in a different format than the schemas definition.

</comment><comment><USER3> Exciting to see this. I was involved in the design and implementation of GROQ, and I've been really looking forward to the day when it could be turned into a real specification. Kudos to the Sanity team for doing this.</comment>


Gear Generator - <AUTHOR> http://geargenerator.com/ <comment><USER2> I've created a lot of 3D printed gears over the last few years and one of the best tools I've found is from Rainer Hessmer.

[http://hessmer.org/gears/InvoluteSpurGearBuilder.html](http://hessmer.org/gears/InvoluteSpurGearBuilder.html)

It allows you to specify additional parameters like backlash, clearance, and profile shift. It also allows you to output in DXF which tends to be more of a standard in the engineering world.

</comment><comment><USER3> Looks fantastic, and was seriously fun to fiddle a bit with.

One bug though: you can't back out from the site, the history is flooded with geargenerator.com addresses. Had to close the tab (Firefox 40.0.3 on Windows).

<comment><USER4> _> the history is flooded with geargenerator.com addresses_

I'm seeing this a lot in apps these days. In many places I think it is intentional: where the entire state of the current view can be encoded in the URL it effectively gives you a "free" undo feature and can be quite useful (like when I'm playing with potential new running routes in Google maps).

<comment><USER5> Yes, and that can be useful. However, if you use the back button to return to a previous URL it doesn't appear to update the settings from the URL. This means you can't use the back button as an Undo button.

<comment><USER6> Agree - I'd much prefer an "undo/redo" button inside the app, instead of flooding my history state. They can change the URL all they want (for linkability) but leave my damn history alone!

</comment></comment></comment></comment><comment><AUTHOR> The best part of this is that you can output the gears as SVGs. For example, gear + Glowforge = [http://community.glowforge.com/t/gears/143/4](http://community.glowforge.com/t/gears/143/4)

<comment><USER7> Wow, okay... that just happened. Instead of wanting a 3D printer, I now want one of these 3D laser printers.

Tested video gives a good overview... youtu.be/0R3mMUsHFvU

Need to see more reviews showing negative aspects. There's always negatives.

Edit: found a negative: shipping price. To Australia it's US$1380 for the model with air filter. That's crazy. Almost 2 grand Australian dollars for shipping.

<comment><AUTHOR> Founder/CEO here (the guy in the Tested video). Happy to answer any questions! Shipping stinks - we don't make a penny on it; it's just expensive to send big boxes around the world.

<comment><USER7> Ok thanks. This thread was about the gear generator so I won't ask anything here. I'll go to glowforge.com if I need to know more.

</comment></comment></comment></comment><comment><USER8> This is majestic.

I've been battling with making my own gears in Modo for a while (the inbuilt primitive scales the teeth size as well as number of teeth)

However this allows me to create ratios _AND_ test them at the same time. This is invaluable.

When I get time I shall be using this for my laser cuttings.

</comment><comment><USER9> One thing I'm wondering about: do opposing gears always need to have the same form for the teeth? Also, what are the constraints that lead to the form of the teeth? I can imagine that one constraint is that the teeth must "roll" onto each other. But are there more constraints?

<comment><USER10> The constraint is that the gears don't speed up and slow down (the gear ratio is constant). Also that the contact forces lie on a line.

There's a good animation on wikipedia:

[https://en.wikipedia.org/wiki/Involute_gear](https://en.wikipedia.org/wiki/Involute_gear)

Involute gears are the only shape that satisfy those constraints.

<comment><USER11> Take a look at the "Ikona" non-involute gear form. The contact forces form a curve instead of a line, with zero backlash, and multiple tooth contacts before/after top dead center. Amazing:

[http://www.ikona.ca/technologies_tooth.shtml](http://www.ikona.ca/technologies_tooth.shtml)

And the patents are about to expire...

EDIT: An application of the Ikona gear tooth form, implementing a CVT with no clutch plate or other frictional components:

[http://www.powertransmission.com/issues/1008/ikona.pdf](http://www.powertransmission.com/issues/1008/ikona.pdf)

</comment></comment></comment><comment><USER12> Here s a referral link you can use to get 100$ off, im super stoked on this!! :) [http://glowforge.com/referred/?kid=kmrbvD](http://glowforge.com/referred/?kid=kmrbvD)

</comment><comment><USER13> Is that correct? The tip of the gear tooth seems to rub up against the other as it approaches. Shouldn't there be a small clearance there? or is there?

Also, is there a way to export to a format that can be loaded into SolveSpace?

<comment><USER14> Any clearance there would result in backlash. I suppose you need some to allow for manufacturing tolerance though.

<comment><USER13> That's fine, but when I first looked at it, it seemed like they were sliding. Now I see that it may be rolling as desired.

</comment></comment></comment><comment><USER15> Sweet. Do you have an example of a planetary gear reduction?

<comment><AUTHOR> Funny you should ask - I made a friend a laser cut model of his Prius transmission for his birthday.

Cutting it (on a pre-Glowforge laser): [https://goo.gl/photos/pxJKDipWPtj6RXvZ7](https://goo.gl/photos/pxJKDipWPtj6RXvZ7)

Results: [https://goo.gl/photos/NUivutAWsQe3GHfW8](https://goo.gl/photos/NUivutAWsQe3GHfW8)

<comment><USER15> Nice!

</comment></comment></comment><comment><USER16> Neat. Now I want to be able to give the gears mass, and configure the "engine's" power output; and or maybe helical gear teeth.

</comment><comment><USER5> This is amazing! Well done and thank you!

</comment><comment><USER17> Very nice.

</comment><comment><USER18> Very cool! The guys at [http://romaxtech.com](http://romaxtech.com) should take a look at this...</comment>