
Windows Management Framework V5 Preview - petval
http://blogs.technet.com/b/windowsserver/archive/2014/04/03/windows-management-framework-v5-preview.aspx
======
untog
Almost a meta comment, but Microsoft seems to be knocking their BUILD
conference out of the park this year. I think we've already seen more notable
announcements and improvements than we'll see at WWDC.

Just the fact that there was a talk about developing iOS apps by the founder
of Xamarin is telling. The fact that he was wearing Google Glass is another...

~~~
duaneb
Yes, things are looking healthy for Microsoft's developer reputation. Now if
only they implemented C99 and full POSIX....

~~~
kasabali
You know Microsoft had a POSIX subsystem in Windows not long ago, right?
[http://technet.microsoft.com/en-
us/library/cc754351.aspx](http://technet.microsoft.com/en-
us/library/cc754351.aspx)
[http://en.wikipedia.org/wiki/Interix](http://en.wikipedia.org/wiki/Interix)
[http://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem](http://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem)

~~~
duaneb
That's a very minimal definition of POSIX.

------
NicoJuicy
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...](http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-
asp-net-project-helios.aspx)

~~~
mattmanser
/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.

~~~
shanselman
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. ;)

~~~
mattmanser
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

~~~
danford
>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.

~~~
thomasz
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.

------
sequoia
As a long time on-and-off chocolatey user: YAY!!!

I prefer *nix but at work I need to use Windows sometimes, Chocolatey is a
HUGE step in the right direction. It boggled my mind that MSFT wasn't throwing
money behind the project- it does loads to make Windows friendlier to
developers who prefer CLI.

I hope they commit a person/team to evaluating/maintaining/cleaning up
packages in the Chocolatey repo.

One question I have tho is why they don't just adopt Chocolatey/cinst
(chocolatey install) directly? What's the purpose of get-command (besides
ownership which is obviously important). Why not just fork/rebrand chocolatey?
Or is that what's happening?

~~~
j_s
Yes, Chocolatey has a lot of volunteer-maintained packages that have gone
stale; official Microsoft support will pressure software developers to publish
up-to-date packages.

This is good news for Chocolately, which should be able to support these
packages even on older versions of Windows.

------
mands
I wonder how this compares to PsGet ([http://psget.net](http://psget.net)) -
or is it simply a cmd-line wrapper around Chocolatey?

~~~
shanselman
It's a plugin, but a cleanroom implementation of the protocol and file format
of Chocolatey. It's not shelling out. They are side by side and compatible.

------
RayDonnelly
If you like your FOSS I can recommend MSYS2.

[http://sourceforge.net/p/msys2](http://sourceforge.net/p/msys2)

(disclaimer: I work on MSYS2)

~~~
claar
I'm a *nix/FOSS guy with 15+ years of experience.

I spent a couple minutes trying to figure out what MSYS2 was from the project
page/the project wiki/Google, and then just gave up.

Really, a single sentence on the summary page at
[http://sourceforge.net/projects/msys2](http://sourceforge.net/projects/msys2)
and the wiki at
[http://sourceforge.net/p/msys2/wiki/Home/](http://sourceforge.net/p/msys2/wiki/Home/)
would go a long way.

For anyone else in the same boat, I assume this is a replacement for MSYS,
which according to
[http://www.mingw.org/wiki/MSYS](http://www.mingw.org/wiki/MSYS), is a
"collection of GNU utilities such as bash, make, gawk and grep to allow
building of applications and programs which depend on traditionally UNIX tools
to be present."

~~~
avenger123
It looks to be a package manager for mingw packages:

[http://www.mingw.org/wiki/MSYS](http://www.mingw.org/wiki/MSYS)

At a minimum, they should just put a URL to the above.

~~~
m_rcin
This is MSYS (not 2). The web presence of MSYS/MinGW has always been poorly
designed. Hopefully it will get better with MSYS2.

I've installed it recently using info from:
[http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/](http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/)

It has a port of pacman (!) from Arch Linux for package managing. It feels so
much better than mingw-get (package manager used for MSYS/MinGW).

~~~
RayDonnelly
Yes, pacman is wonderful. We're very grateful to the Arch Linux devs.

You guys are all correct, we've not paid nearly enough attention to marketing.
Here's the description I tried to post:

MSYS2 is an updated, modern version of MSYS, both of which are Cygwin (POSIX
compatibility layer) forks with the aim of better interoperability with native
Windows software.

The name is a contraction of Minimal SYStem 2, and aims to provide support to
facilitate using the bash shell, Autotools, revision control systems and the
like for building native Windows applications using MinGW-w64 toolchains.

We wanted a package management system to provide easy installation of
packages, and ported Arch Linux's pacman. This brings many powerful features
such as dependency resolution and simple complete system upgrades, as well as
providing the build system (makepkg) which is used to make these packages. The
set of software-building recipes (PKGBUILDs) for MSYS2 itself are at:

[https://github.com/Alexpux/MSYS2-packages](https://github.com/Alexpux/MSYS2-packages)

.. and those for MinGW-w64 (i.e. native Windows software) are at:

[https://github.com/Alexpux/MINGW-packages](https://github.com/Alexpux/MINGW-
packages)

Both 32 and 64bit are supported.

------
petval
for example Install Sysinternals from PowerShell via OneGet
[http://www.thomasmaurer.ch/2014/04/install-sysinternals-
from...](http://www.thomasmaurer.ch/2014/04/install-sysinternals-from-
powershell-via-oneget/)

------
gnoway
Am I reading correctly that this is a 2012R2-specific feature? Thanks, but
what am I supposed to do for the rest of my Windows infrastructure?

~~~
Already__Taken
WMF 4.0 with PS 4.0 and DSC etc are available down to windows 7 I imagine this
will be the same.

~~~
j_s
This is WMF 5.0, so the business side at MS could easily decide to drop
support for earlier Windows versions that 8.1/2012R2 - I doubt there's any
technical limitation though.

------
0x420
This is cool. I'm a *nix guy but this actually compels me to learn PowerShell
for those rare occasions when I'm working on a Windows machine.

~~~
klibertp
You should do it. I worked with PowerShell a few years ago and it was much
better experience than shell scripting with bash or tcsh or others. Things I
liked:

You get an IDE for free. It's quite usable out of the box and it's really nice
for learning the language.

It's less reliant on punctuation. There are a few special symbols and they are
highly regular in their usage. Syntax feels more readable (to me) than that of
bash thanks to this.

You deal with objects. You can reflect on them (great for exploration), call
methods on them, while still having generic ways for composing them and
manipulating in large quantities. Yet the language itself is _not_ object
oriented, which makes it much simpler than it would be otherwise.

You get the whole .NET to use. Or most of it. You can basically instantiate
and use any .NET class (and COM objects and other such things) without hassle.

There are a few concepts in the language which unify many concepts from the
system. For example you can "cd" into a directory or a key in the registry or
a network share or any number of other things which can be thought of as a
listable resource.

This is coming from a programmer, so it's missing things probably important
for sysadmins, like security management and built in process of signing and
verifying scripts signatures before running them.

One think I didn't like: it was slow. The other: nothing worked on it (I mean
things like python's virtualenv, which comes with .bat file, but not with .ps1
file), even Visual Studio command prompt. I ended up writing some PowerShell
code for translating cmd.exe variables to PS ones.

And, of course, it's Microsoft, so forget about running it somewhere else.
But, all in all, if you have to script something in Windows, it's by far
better than any other tool.

~~~
manojlds
> "cd" into a directory or key in registry.

You might be interested in my little project redditps -
[https://github.com/manojlds/redditps](https://github.com/manojlds/redditps)

I wrote it to mainly highlight such cool features of Powershell.

------
clemsen
I have been using Chocolatey for a while now without any regret. OneGet
probably won't match apt-get at first but this step is definitively in the
right direction. If all software providers would provide their repository
information updating programs would finally be a one-klick (or one
command)-operation.

~~~
vezzy-fnord
Chocolatey is absolutely essential for a smoother Windows experience. That
said, it still feels like a hack (hardly surprising), but it's nonetheless an
invaluable one.

~~~
avenger123
I use Chocolatey quite a bit now and can definitely agree with the hack aspect
of it. It's not always clear when a package will need your input (since they
couldn't automate that part) but for the most part it works.

I am hoping that since package management is now an official Microsoft effort,
a large gain will be to address these "hacks".

The long term potential of this is that enterprise can build their own
repository and push changes out as they wish. This would be the real value.
Also, companies that already provide package/software deployment solutions
will now have another tool to help them do this.

------
alexc05
I'd love it if they added console tabs and text reflow / resizing to
powershell

I use PS all the time - and it's killing me that I need 4+ windows open to
account for all the different projects I've got to work on at the same time.

~~~
kaelspencer
I agree. It's a big pain point for me. I've been using ConEmu recently which
supports resizing and has tabs (among many other features). My favorite other
feature is the tasks: you can define a set of steps to run as a task, then
launch that task in a new tab.

[https://code.google.com/p/conemu-maximus5/](https://code.google.com/p/conemu-
maximus5/)

------
callesgg
While I myself wold newer use windows for anything unless there was no other
way, I hope that the stuff that Microsoft is doing might influence some
windows people to start doing stuff the "right" way.

~~~
angrybits
The phrase "the right way" always makes me chuckle a bit. We all seem to know
what it is, yet we seldom agree on it. My first 10 years of programming was
spent working on a system built on Windows. First ASP/COM and then later
ASP.net -- and that thing practically printed money. Did we build it "the
right way"? No, certainly not. But our stock options didn't seem to notice,
and at the end of the day, that is what matters to me.

~~~
rbanffy
> The phrase "the right way" always makes me chuckle a bit

Here, outside Windowsland, we have been using package management for more than
a decade and, after that long, I'd suppose we have it pretty much nailed down.
There are still some different ideas and approaches (different dependency
management schemes, pre-compiled vs. locally compiled, ports), but I'd guess
we get it right most of the time. The "right way" is a tricky concept, but,
seriously, this is all very mature by now.

~~~
avenger123
Well put. It always amazes me how much further unix/linux is from Windows.
Once you get your head out of the "all Microsoft for everything" you really
start to see the real advances that are being made everywhere. And then you
realize in some ways, Microsoft is always playing catch-up. For desktop apps
building for Microsoft is a given, considering the OS monopoly in business and
home but for most other things its a question mark.

------
camus2
can i distribute sources or do I have to compile them first? can somebody
download compile my sources without having to download visual studio?

------
asdfaoeu
I realise its a Microsoft article. But they really couldn't have a fallback
monospace font?

