Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is actually pretty awesome. I liked package managers (using linux and Windows on dualboot), one of the best tools for Windows is Cygwin (using Linux commands in Windows).. Where i can automate a lot of (manual) work.

It seems to me that Microsoft is going all-in on open-source and flexibility.

If you are using Asp.Net, you should check out Owin and project Helios - http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducin...



If you use Cygwin a lot, you should check out MobaXTerm:

http://mobaxterm.mobatek.net/

The Pro edition is pretty sweet.


At my school I frequently need to use Windows PCs, and having MobaXTerm on a flashdrive has been incredibly useful (installing Cygwin every time would be impractical). It is very powerful, and has a plugin system if you need some extra feature.


I actually use cygwin a lot for stuff like ImageMagick, ssh key generation and wget (putty for terminals).

I think mobaxterm would be overkill for me (but i bookmarked it either way :))


If you like Cygwin and Package Managers, checkout the wonderful Cyg-Apt: https://code.google.com/p/cyg-apt/


apt-cyg seems more widely used. Are there any advantages cyg-apt offers, or is it just another alternative?


Oops, you're right -- I use apt-cyg myself! https://code.google.com/p/apt-cyg/

Can't imagine how I could get them confused! ;)


/ranty

Ahhh, Owin and Helios perhaps explain why the ASP.Net team are starting to feel like they are losing the plot.

Trying to put any of their new stuff into existing projects is a complete nightmare. Their new features are inflexible and brittle. WebAPI feels alien. Routing is getting more and more complicated instead of simpler.

And the new APIs just 'feel' wrong, as if they've been written by programmers who don't understand HTTP, javascript or the web. Programmers who haven't used apis on the web and know which ones are a joy to use and which ones are a nightmare. Programmers who don't seem to realize there a new javascript MVC hotness every week. Programmers who don't seem to understand that their javascript folders are never called '~/Scripts'. That 'S' still offends me.

Everything has to be done just so, their way. It's not flexible at all, things break all over the place. They've decided to adopt the zealot interpretation of REST, which doesn't work. The OData implementation is hard to step into and feels half-finished.

It's getting back to the bad old days where if you want to touch the pipeline at all ASP.Net gets angry and sulks in a corner. They're going back to their old 'MS knows best' model, where they can't trust programmers to choose their own (much, much better) practices. I wouldn't be surprised if they soon decide to start calling spans labels again because after all isn't that much clearer?

And it turns out it's because they've just given up on existing code base. Never a good sign.

I really just want ASP.Net Membership fixed to be super simple and not overengineered, the Request object to be fixed so I can get at the raw request when I need to without jumping through pre-generic collections, the cruft associated with the webform pipeline nuked and for no-one to ever, ever mention WCF to me ever again.

Oh and for-the-love-of-god stop trying to force a shitty URL/API structure down my throat and hiding the routing in totally different files.

I love C#, I am starting to seriously hate ASP.Net again. MVC 1 freed us, every subsequent release of MVC seems to smother, not liberate.


MVC5 uses AttributeRouting. Just put the routing on the controllers. No need for a routing table. (or routes.rb ;) )

ASP.Net Identity 2 is just that, easy and extensible membership.

Owin requests also give you what you're asking for also.

Don't like the S, change it? lowercaseroutes=true.

;)

Oh, and just to be snarky, the "programmers who don't understand HTTP" were lead by Henrik Nielsen, author of the HTTP spec, used to work for Tim Berners-Lee. ;)


Scott, while you here, can i get your opinion on OData and the future? You probably have some insights i'm not aware of.

(noticed some changes on their website recently)

I wanted to use it to implement my API, but i got kinda "scared" knowing that Netflix changed from OData to something else. Any examples of popular API's using OData for example?


OData, to me, makes sense for data that has a dynamic schematic and/or a client that wants to explore or wander the data in the way an intranet or analyst does. Like Excel folks might. Not the way a phone app or desktop app might. Great for a certain kind of app.

For narrower apps, I'd make a web api but consider using just the OData query string formats (filter, sort) for flexibility.


In short:

Internal API = OData (= data layer)

External API = WebAPI with OData methods (=service layer, which brings the endpoint data to 3rd parties)

And because it's an internal API, it's a reason why you don't see it a lot in public API's (SAP uses it intensively though)

Thanks :)


ASP.Net Identity 2 is just that, easy and extensible membership.

I don't know about easy, but it definitely doesn't look simple, judging by examples.

http://blog.iteedee.com/2014/03/asp-net-identity-2-0-cookie-...

There are a lot of abstractions that don't represent anything outside of the framework itself, and a lot of components that interact in non-obvious ways. Also, it seems like finding integration points requires quite a bit of knowledge about how Identity 2 works.

The fact that there doesn't seem to be a coherent set of definitive/official documentation describing what and how it works doesn't help either.


Ach, I just needed to release a pressure valve. I think I'm mentally getting ready to abandon ASP.Net soon in all honesty, it's such a mess.

And just because you can make a car doesn't make you a great race-driver ;)

EDIT: WTF is going on with downvotes this week? If you don't agree with me, reply, don't down-vote.

A spec designer of HTML, which no sane person can claim isn't riddled with bad design decisions, is not magically a great programmer too


The thing I had to realize is that there is no web framework that I will like everything about. It sounds like such a simple statement, yet it took me a long time to come to grips with it. So find the one that you can "think in" and build your code in it. For me, I recently dusted off PHP. I'm currently building a product in with no framework or ORM, and I am honestly more productive than I have been in a long time--which probably says more about me than I care to admit. The point is, it's the framework that gives me the least resistance to accomplishing what I want to accomplish. If MVC isn't your framework, then switch, but just do it knowing that your new home will have just as many warts as your existing one has. The devil you know is often much easier to deal with than the devil you don't.


Exactly, use the one that makes you happy. Use the one the feeds your spirit. Use the one that allows you to wake up in the morning, and keep working. And ignore the haters.


If you don't agree with me, reply, don't down-vote.

With an account that old you should know better -- downvotes are perfectly fine for disagreement. This is not Reddit.


No they're not. With an account that old you should know downvotes have never been about disagreement. It's a new phenomenon which seems to have been happening alarming rapidly over the last few months.

Maybe we're just from different timezones.


>down votes

It's because of what you said about ASP.NET. I have not been coming to HN that long, but from what I have seen, just about any comment that criticizes Apple, popular windows software, or praises open source alternatives to closed source immediately are met with a barrage of down votes.

edit: and just to clarify, it's not uncommon to see posts on the front page that appear to praise an open source alternative, but anytime you read the comments, the first one is almost always someone who claims that the open source version still isn't ready because it doesn't have that one feature that everybody needs. I know I'm going to sound like a kook, but I would not be surprised in the least if at least 15% of the active HN user base are "shill" accounts controlled by teams that are controlled by different entities. Would HN be a target for operations like this? I think so. There are quite a few high-profile people who regularly come here, and manipulating the opinions of those people are probably in the interests of many organizations. Making sure switching to open source software that isn't distributed by MS or Apple isn't a bold move but a dumb move is in the interest both corporations.


Uh, no.

I downvoted because I want to keep discussions civil and technical. Questioning peoples competency because they name a directory '~/Script' instead of '~/js' or whatever just won't fly here.

This isn't slashdot. You'll get used to it.


I actually haven't met anyone who thought like you.

WebApi feels great and respects the HTTP spec (PUT, DELETE, UPDATE, POST,GET) and even the OData spec is compliant and after all, it's very fast to implement WebAPI and OData.

The .Net (mostly Asp.Net) is evolving fast for technologies like SignalR en OWIN.. And actually that's great.

You could still use webforms if you want, but i woudn't recommend that.

Most people hate change, but considering the (positive[subjective]) changes, they have done.. I think it's awesome and liberating.

OWIN has a improved authentication implementation, which has been a long requested feature for Asp.Net. For example, when you wanted to customize the Authentication implementation (don't remember the interface), you had to implement all of the methods (ForgetPass, EmailPass, ...). OWIN fixes that also (which was hard because of their former implementation)!

The only way it seems like more hassle/mess, is because there are more DLL's being imported, but i don't care because i know the reason behind it :)


I think you fundamentally misunderstood me, I'm not against change.

I love MVC. Webforms is a complete travesty anyone still using it for new projects is mad. I never understood why Scott Gu defended it, it's a bad choice in the modern world.

I do not love where they're taking it though, which is to a place of no choice and bad design decisions.

REST is a bad design decision in my opinion. If you love it, fine, but don't force me to have only 4 methods on my classes. Strict REST doesn't make sense to me, it never has and never will. Most of the APIs I love using don't follow strict REST designs in their APIs and in my opinion those APIs are much better than the ones that do.

Knockout.js is a bad design decision. Use it if you want. But it shouldn't start adding a load of cruft in my project every time I click 'Add View...' though.


I do not understand why you don't like REST ? It's been designed with the HTTP protocol simultaneously and it's how you should develop things for an API : http://en.wikipedia.org/wiki/Representational_state_transfer...

You are not limited to 4 methods, there are only 4 methods of altering data (eg. CRUD (create, read, update and delete))? Recently, they introduced batch support (i could have used that 3 months ago though :P)

Errors? Return a standard HTTP Code :)

Knockout is optional, it's a template to start with. Want to do it yourself? Create an empty project, use one on Github/Codeplex, import an extensions with custom scaffolders (mvc scaffold) or go and create your own with T4 templates, i have done it myselve thanks to some info on Scott Hanselman's blog: http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerat...

PS. Kinda curious which API's you are referring to?


Agree entirely. However from an architectural POV, Asp.net has always been a pile of crap because everything is abstract classes and sealed ones at that. Virtually impossible to reliably test. Interfaces? Never! Even System.Web.Abstractions stinks.

Having written a view engine, security frameworks, NH session management stuff, 100+ complicated controllers, action filters galore and thrown it into MVC I've come to not appreciate it very much.

And don't get me started on Razor. Buffered rendering for layouts (bye bye RAM), batshit source, obtuse and non orthogonal syntax, poor runtime integration, absolutely no separation of logic and code.

I'm ready to move on.

Edit: just to add, I'm really liking Java's design by committee approach these days. It's incredibly clear that you need a lot of opinions to build a correct and well engineered solution. With .Net in general, it's served up to customers ike a soup kitchen. Occasionally we're left without soup though (WF3, Silverlight, early EF versions, WCF fragmentation, razor and so forth). The majority of the praise comes from people subjected to WebForms for years or even Telerik circa 2006 at the worst.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: