Windows 10 will come with a command-line package manager
extremetech.com
extremetech.com
Currently it seems that both the apt and choclatey versions of Java actually come without crapware. I have a feeling that if this kind of install becomes the default then the crapware will be bundled there too.
I was looking at tablet PCs and they have some marketing term for "verified by Microsoft not to contain preinstalled crapware". Android doesn't have that.
Android has Nexus and Google Play Edition phones.
It feels to me like AV Test is being dishonest with their scoring. I don't know if they have any stake in who buys what product and I certainly don't want to claim they are biased since I have no proof of that, but the way MSE/Defender has been vilified in the media following the results from AV Test, I do have to say rating the product as a zero when it did not score zero feels incredibly dishonest to me.
Zero should be the security you have with no AV, and MSE rates 75%-80% in their testing.
I wasn't meaning to call you out on your source, just the message that this test seems to give off ("MSE is worse than nothing").
So? Most open source distros have nothing but that -- all kinds of crap.
Launchpad and such are not curated.
If you’ve ever ventured into the dark and mysterious land of Linutopia, where Ubutologists and Debianites reign, ...
Wow what a snarky article! I guess Extremetech does not like Linux at all...
I love Linux - been using it for several years and wouldn't trade it for anything (be it OS X or Win with package manager).
Package manager is certainly an awesome thing, but not something that would make me (and probably anyone else using Linux) to switch over.
Who says that unironically in 2014, though?
This Linux desktop has actually overthrown both Windows and iOS. The market share was 85% in Q2 2014 according to:
http://thenextweb.com/google/2014/07/31/android-reached-reco...
Android just uses another type of input than classical keyboards and mice. But you can also use keyboards and mice here. There are x86 implementations of Android, and you can root into the Linux system, and you can use Linux features within your Android device. Terminals for instance:
http://news.dice.com/2014/03/31/run-linux-terminal-android/
Of course, Windows 10 advocates don't want to let people know these facts :-)
Android is a mobile phone OS and as suchhas a marginal market share on desktop. Windows still has over 90% market share on desktop (http://www.netmarketshare.com/)
Same to you :-) Windows is also a mobile phone OS since Win 8.
I haven't used Windows 8, but it still seems to have a greater market share on desktop systems than Android. Judging by the above link, Windows 8 alone has a greater share of the desktop market than the category of systems based on Linux in its entirety.
Of course I use it mostly to play around and do tests.
And since we're being pedantic here, let's talk about definitions. A mobile operating system is one that has been designed primarily for devices intended to be carried on one's person, such as a phone or tablet. A desktop operating system is one that has been designed primarily for devices that are large enough to be stationary during use (e.g., workstations). Both form factors have unique requirements and capabilities, and need vastly different user interfaces.
Further, you seem to be arguing that the kernel (and only the kernel) is what defines an operating system. If that's the case, then Android can only properly be described as a fork of Linux, not Linux itself.
And one of Android's original use models was a non touch screen connected to a keyboard (mainly for Blackberry style smartphones before they were sure that slates would take off, but still...).
I think the point here is that "desktop" as a location has no real meaning - it's the use case that defines it rely. By desktop system one really means a day-to-day used system that is used for word-processing, web browsing and other standard domestic/work uses (photo editing, spreadsheets, games and such). That's the stuff a desktop system has always done and now you can do that on a phone, phablet, tablet, laptop, desktop or whatever. The hardware form is just about convenience it [no longer] describes a logical difference or significant processing ability [eg my phone has about as much processing power as my desktop (ignoring the GPU), some phones definitely have more]
If you're using your phablet paired with a keyboard for the same uses as others use their [traditionally defined] desktop for then what use is the distinction?
Android can be used on the desktop, but IMO it's not tailored for that and so shouldn't be described as a desktop OS.
The whole "year of Linux on the desktop" thing is about market-share as much as anything; as other have said many people have been using it as a desktop OS for plenty of years.
What exactly is a logical difference in this case, and how is it relevant to the discussion? Is my decision illogical if I consider the ergonomic implications of using a particular hardware/software platform?
Aside from ergonomics, I'm not sure what is so controversial about assuming that the different user interfaces will (and quite obviously do) cater to different use cases. What I can realistically do with a keyboard and a 24" monitor is certainly different from what I can do with my mobile phone. What I can realistically do with Debian is certainly different from what I can do with iOS or Android. These differences alone convince me that the distinction between desktop computer and phone/tablet/crablet is still meaningful, regardless of the literal meaning of "desktop computer". Manufacturers, retailers and consumers generally understand this, no matter how much anyone pretends that a tablet is equivalent to a desktop computer.
> "year of Linux on the desktop" People have been using [insert any relatively obscure OS] as a desktop OS for plenty of years. The fact remains that Linux doesn't hold a significant share of the desktop market, which is what the idea of "year of Linux on the desktop" has always been about.
You can use a smartphone with a bluetooth keyboard to write business docs with wordprocessing apps or construct spreadsheets (you could use the on-screen keyboard if you're a masochist). Different physical interfaces target different use cases as we've both noted but the distinction is more about marketing than ability of a system.
Going back to where this all came from I doubt this discussion is fruitful.
* Android is a desktop OS
* Android has a market share way larger than Windows
* Therefore Android has overthrown Windows as a desktop OS
Which is completely false. Because on desktop Windows still has a ~90% market share.
This is only true for _PC_ desktops but not for the overall desktop situation.
Consider Windows 10. It derives from the mobile Win 8 desktop which is made more suitable for PCs so that people can use office and spreadsheets and other classic software in the traditional Win 7 way. But you can do many of these things right now on Android devices. For instance, gaming and office:
https://play.google.com/store/apps/details?id=com.microsoft....
Both "static" and mobile desktops are continually merging together. Soon we will have mobile desktops which can turn into PC desktops instantly by just plugging the device into a docking station which is connected with a large display, keyboard, and mouse.
So when we define "desktop" as the sum of all traditional desktop applications then Android has really overthrown all other OS. The current office versions of Android are yet just not as convenient as PC desktop versions. Soon it will make no difference if you write your letters on a PC or on a mobile device with docking station. Of course this doesn't count for productivity software (software engineering, CAD etc.) which still requires a lot of PC horse power.
What other kind of desktop is there? Chromebooks/laptops fall under the same category, but that still isn't nearly enough to justify your claim.
The vast majority of actual 'personal computing' is phones and tablets. PCs are content creation devices.
Asides from Android obviously not being the traditional stack - no glibc, no KDE or GNOME - AOSP isn't very useful compared to semi-proprietary Android. We could also say that CMU Mach / FreeBSD won the desktop because iOS and OS X use them.
For whom? Companies might make more money selling mobile devices compared to desktop/laptop PCs but that doesn't equate to the inane statement oft repeated that "desktop computing doesn't really matter that much anymore".
Desktop (including laptops of course) is where 99% of the world's actual office, accounting, design, writing, programming, editing etc, computing based work is happening.
Agreed. Try typing out a dissertation on a tablet (no external keyboard or mouse to compensate) which has an approaching deadline.
I don't think the old stereotype of "consumers" as some sort of purely passive livestock is especially useful any more. Clay Shirky's old but very readable "Here Comes Everybody" makes a similar case at much greater and more articulate length.
BWAHAHAHAHA!! Thank you. I needed that laugh.
Laptops and desktops will always be more powerful than mobile devices, therefore there will be users who want the option of having said extra power. Even if you could, say, run AAA games on a mobile device, the interface would be awful for most of them (eg FPSes).
Personally, I want my desktop system to be a real power horse, and despite being built on top of GNU/Linux, Android doesn't seem like a particularly open environment and it obviously wasn't developed with desktop users in mind.
On the PC desktop world Windows is still leading with Win7 and XP, followed by OSX, followed by Linux and others. Linux won't get leadership here but who cares? Linux is a very good PC desktop system anyway, absolutely competitive to Win 7.
If it is just (any flavour/use) of Linux vs (any flavour/use) of Windows, then I think the vast majority of people use Linux more than Windows. Routers, TV-decoders (and most of the streaming servers they use for on-demand content), NAS for home use, phones, etc all use Linux.
As for rooting requiring bugs and security vulnerabilities, that's simply false.
As most android devices are handheld, "the desktop on the hand" is now a thing in my mind. It makes sense - so much communication and scheduling happens on the handheld device.
* Globally, Android pretty much owns the mobile market. Android is a Linux.
* Most servers run some flavour of Linux or BSD.
* Although Windows still dominates the desktop market, a healthy share of the laptop market belongs to OS X, which is (partially) based on BSD.
This isn't exactly how the Open Source crowd envisioned "Linux on the desktop", but if the goal was to marginalize Windows in flavour of open source based *nixen, much of that goal has been accomplished.
Of course neither Android nor OS X are Free (as in freedom) and OS X is only partially a BSD, but you can't have everything.
Shouldn't Apple be somewhere in this table, then?
http://en.wikipedia.org/wiki/Market_share_of_personal_comput...
I think you're hugely overestimating Apple's market share in laptops.
Case in point: I don't even own any Apple products.
Firm (4Q13 US Market Share) HP (26.5%) Dell (22.8%) Apple (13.7%)
But anyway, the problem you described is the fault of your vendor, not "Linux".
I went to the website, downloaded a .deb file, double-clicked the downloaded file, clicked the big install button in the Ubuntu Software Center window that it spawned, entered my password, waiting a few seconds aaaaand it's installed. I can now run the application by clicking the big Ubuntu button on my sidebar (or pressing the Windows/symbol key) and typing in the first few letters of its name. I can optionally drag the icon to my sidebar for quicker access.
Here's how I installed the last couple of applications that didn't have a .deb file (mostly development builds of games and developer-targeted applications):
I went to the website, downloaded the .tar.gz/.tar.bz2/.zip file for my platform, double-clicked the downloaded archive to extract it to a new folder in my home folder, opened the folder and located and double-clicked the executable.
Thousands of other software do the same. Examples (compare the installation instructions for Windows v/s Linux/UNIX for all these pages below):
MOPEX [http://irsa.ipac.caltech.edu/data/SPITZER/docs/dataanalysist...]
Multibit [http://multibit.org/en/help/v0.5/help_installing.html ]
Octoshape [https://support.octoshape.com/entries/21488922-Octoshape-App...]
UNetbootin [http://unetbootin.sourceforge.net/]
Tuxboot [http://tuxboot.org/installation/]
You listed a few major ones which work the desired way, while there's a sea of applications which make Linux still look archaic.
The 90s called, they want their complaints about Linux back.
Will happen when Microsoft's ability to strong-arm hardware manufacturers using restrictive OEM licenses is diminished.
MS actually seems to prefer a scorched earth policy (destroying the laptop/desktop markets entirely) to allowing Linux to gain anything more than a token foothold.
We can see this by the way they scuppered 'desktop linux' by co-opting and ultimately destroying the netbook market in 2007 (by enforcing OEM licensing terms that crippled netbook specs - prohibiting giving them anything more than 2GB of RAM for instance).
We can see it again by the way they pushed UEFI / secureboot on manufacturers - a clear attempt at creating Windows lock-in that largely worked.
2007 would have been the year of the desktop were it not for this anti-competitive behavior by MS.
I'm an equal-opportunities OS user. I have two Linux boxes (Slackware!), two Windows boxes, and an OS X laptop within arm's reach of my desk. I was just poking fun at the Year of Desktop Linux thing -- it's a bit of a meme/running joke in tech blogger circles.
Virus/Firewall updates, Windows updates, Java updates, repeated forced reboots (four times in total) and playing hunt and peck with all these 'suspicious behaviour' popups, remembering to untick the 'install dodgy toolbar' checkboxes.
I'm starting to feel that a decent package manager is the main reason I continue to use Linux.
/rant
All Linux distros require a restart for kernel upgrades if you want to use that new kernel version. Or are you saying that Ubuntu actually forces the user to restart after a new kernel is installed?
It's like nobody has told MS about cumulative updates. You can install OS 10.9.0 and go straight through to 10.9.5 with a single update.
Maybe this comes from their "enterprisey" system of releasing everything as individual little patches so that IT can decide what to install and what to skip, but it's a nightmare for normal users.
But you're right, it's kind of staggering going from "sudo apt-get update && sudo apt-get upgrade" to Windows'... whatever.
Heck, even most programs in OSX will autoupdate, not to mention Homebrew and Homebrew-cask.
You're still using third-party software for that? There's part of your problem! Getting rid of those would also kill of the "suspicious behavior" popups.
On a side note. Linux users should be happy that Windows is using a package manager. It creates more opportunities to get Open Source software into Windows.
"Install-Package GNU", to name as an example.
Another irony is that software installation has been much easier and safer on prominent Linux systems like Debian, Suse and Ubuntu than on Windows for the last couple of years.
Final irony is that I (and others) actually use Linux as a desktop system for more than twenty years. Since Windows 8 Linux was even the better desktop :-)
There's nothing contradictory about that. Good features can come from the worst of software or the best. It's actually a positive change IMO that Microsoft would adopt a good feature in the facing of crowing like "they stole that from linux".
Of course the devil's in the detail; usually when I see something MS are doing and appreciate it they manage to royally confound it - here letting Oracle, and their ilk, install the crapware they currently trick inexperienced users in to having is probably going to be part of that.
Free trials of un-tar? Installing apps that require subscriptions to the cloud? Dev libraries that require enterprise support packages?
Good package management on Linux is owed largely to the tireless voices such as Stallman who understand the core issues here. Yes, tying together install scripts and maintaining repositories requires a lot of work, and good for Microsoft. But the reason It Just Works is because the software is free, from top to bottom, including the OS. And Mac will have the same problem here as Windows. For now, I'm guessing this is just a command-line interface to app stores.
I thought it was due to the people designing the package managers. The people who run the repos Stallman-like end up shipping IceWeasel and Chromium and telling long boring stories to someone who just wanted Firefox and Chrome.
Chrome is not open source. Chrome tracks you. Chromium is open source and does not track you. Other than the slight branding differences, a user would not know the difference.
How are these slight changes an issue?
If Debian were subjected to the wishes of the authors of every piece of software they distribute, there would be no Debian.
I'm pretty sure neither Chrome nor Chromium 'track you'. When you sign in to your Google account, then they keep track of your searches, to provide things like auto-complete, remember your book marks, and provide hints, location services, etc...
There's a huge difference between tracking you personally, and reading some information, keeping it in a database and providing you a better service later... (not going to lie, yesterday my boss sent me an email for a meeting, and GMail then automatically made a reminder for me and pushed it to my phone via Google Now - pretty damn awesome if you ask me).
The only differences I've seen between Chromium and Chrome is that Chromium lacks the Pepper plugin by default (which provides Flash), and the Hangouts binary blob. All the 'tracking' if you really want to call it that (I personally wouldn't), happens through Google services, not Chrome per se...
Important things like good and efficient dependency management and library reuse are far easier to achieve when all the relevant sources are available to packagers.
IceWeasel and Chromium visually are Firefox and Chrome with different icons and you'll find them if you search their "real" names in the package manager. Not so hard, right? You can find about why they exist if you are interested, it's not required.
Except for the color of the icon and the lack of support by default for AAC, H.264 and MP3 (I have support for those 3 in Chromium in Arch), do you find anything relevant that will make some non-expert notice they are using Chromium and not Chrome?
I hadn't even noticed Chromium doesn't have support by default for those codecs as I have used HTML5 audio and video without an issue. Really, for a non-expert Chromium is just Chrome with a blue icon.
http://www.reddit.com/r/sysadmin/comments/2khkpo/windows_10_...
using the username : fearthecowboy (his twitter is the same, @fearthecowboy )
This was the top comment: http://www.reddit.com/r/sysadmin/comments/2khkpo/windows_10_...
I've been trying to get somebody to provide even a little bit of support for Native Nuget packages via CoApp for months: http://stackoverflow.com/q/24331880/729881
Obviously it was not ready yet, but I wasn't really let down: I seldom use Windows, so I don't have any real need for it, and my perception was that with some more months/years it would get there.
But CoApp and OneGet are worthwhile endeavors, so I'm cautiously optimistic that they'll eventually build something that can make software installation on Windows less painful
PS: uh, I just realized that you're a Microsoft developer as well (just like Garret Serack)... is it so difficult to get hold of him even inside the same company? (I don't know... maybe you're actually on different sides of the ocean, and this would make the matter quite a bit more complicated)
I hope my criticisms of CoApp / Native Nuget did not transfer to a criticism of OneGet - my suspicion is that CoApp is abandoned simply because Garrett doesn't have time to both work one CoApp and OneGet. (It's also possible that OneGet deprecates CoApp.)
Certainly I understand all these problems - as you note, I am a Microsoftie as well, so I'm very familiar with having too much to do and not enough time to do it - and I've abandoned a few projects myself. But I'm not happy about that.
As for your question about being at Microsoft: I'm not across the ocean but I do happen to be on the other side of the country. I suspect I could have gotten a reply if I sent an email from my microsoft.com account (even if that reply was "sorry, don't have time") but I sort of hate throwing that around since it feels unfair to the rest of the community trying to use it.
That sounds like it's the case: "CoApp's features are going into OneGet, WiX, NuGet and Chocolatey. I had the opportunity to take this approach to get it in-box OS, I figured that was worth it."
http://coapp.org/news/2013-10-02-State-of-CoApp.html#disqus_...
(Bonus feature: you can halt unexpected TTY spew by clicking in the window, giving you a chance to examine it.)
QuickEdit still doesn't fix the box select thing (at least not pre-Windows 10) but it's a massive improvement nonetheless.
https://code.google.com/p/conemu-maximus5/
It's a real windows window, not that stupid /subsystem=console window.
Windows Vista had a command-line package manager, although it was rather lame. It was a kludge to feed canned answers to installer prompts.
http://technet.microsoft.com/en-us/library/cc748979%28v=ws.1...
I hope Microsoft take the Updates side seriously - having many separate auto-updaters on the system all taking different views on when they should run is a nightmare. If they created an integrated third-party application update system I would love them for it.
Package management is a really difficult problem to solve, which linux package managers have barely been able to solve. In addition to this, each programming language usually has its own package manager again, which vary a lot in quality.
Windows already has locally deployed assemblies and central side-by-side (SxS) assemblies that can accommodate multiple versions of the same assembly, complete with major/minor versioning, redirection etc. Windows Installer supports reference counting and automatic uninstalling for the centrally deployed assemblies.
This new OneGet package manager is for solving the availability and automatic updating of packages. But Windows is not going to need separate repositories for each incremental update of Windows and the ABI.
If there are two software packages which depend on different version of a third party package, then the usual practice is that either the third party DLLs are included in the package or both the versions are specifically installed.
I think this is the way that OSX works as well - it is only Linux that works with centralized dependencies, which is what needs a very sophisticated dependency management solution.
I'm a very experienced Windows Server Admin (15 years). I'm also a fairly experienced Linux Server Admin (7 years, on and off).
I'm currently an SCCM guru for a ~4000 user organisation.
I'm sure that if OneGet is supported by MS to the level which the developer explained in the reddit thread it'll be a boon to power users managing their own systems and to desktop support people.
But I can imagine that it'll be the SCCM teams who can leverage the most out of it.
The thought of being able to deploy and manage software across desktops and servers in a similar way to apt or yum makes me feel something close to utter joy.
I've had to build some very complex task sequences to install software on corporate machines. The worst example I can give is MS's own Dynamics CRM application. I was seriously proud of the batch files, registry inserts, dll hell avoidance, dependency solving, mother of all automated install processes to get Dynamics installed and hooked into Outlook in a magical way that the end user had no clue the complexity of.
It was only after slugging through developing all of the above that I found the incredible PowerShell App Deployment Toolkit [1], which people smarter than me had developed to basically handle everything I'd just slogged through.
From what I see OneGet has the potential of allowing us to easily push installs and updates via SCCM with out having to rely on 3rd party tools, batch files, msi rebuilding and general hackery.
Even if it doesn't gain wide support from software vendors, just enabling me to rip everything out of an msi and repackage it into a private OneGet repo sounds superior to having to rely on complex SCCM task sequences.
I'll be watching this closely.
install-package java --defaults
> Installing:
> Java
> Ask.com toolbar
> Ask.com rootkit C: \> instpkg32.exe /DefaultSettings:ALL_DEFAULTS
C: \>
Cryptically named command with verbose arguments, that then goes on to fire a GUI window that requires manual intervention: that's the Microsoft way.It's a relic and I'm glad they're fixing it, but as with the browser they're only delivering changes because third-party software innovated them and it's making them look bad.
How is that a bad thing? Firefox was kinda stagnant before Chrome came around and took the performance throne, I don't see anyone criticizing Mozilla for that.
Yes, it technical superior than it's counterparts on Linux by piping objects instead of mangling text, but the syntax of PowerShell is just too convoluted.
I have concluded that when doing command line you want to write commands and not program code to execute.
That's why bash is usually straight on and powerful for the 95% commands you do. It's edge cases when you need to do horrible awk piping and general guess work.
PowerShell feels the other way around. Easy for the 5% edge cases, but pain for the 95% common stuff.
Yes, you can create aliases in PowerShell for the most common tasks, but then you don't really learn the powerful mechanics that you need to know.
And it does not help that you need to learn one more scripting language. Microsoft should have gone for JavaScript.
Maybe I'm missing something in the greatness of PowerShell?
instpkg32.exe /DefaultSettings:ALL_DEFAULTS
is something that doesn't really exist anymore for management tools on Windows, except those that have been around for a long time. Even the GUIs on Windows Server nowadays just drive a PowerShell runspace behind the scenes and you can script just as easily as click around.Install-Package is a PowerShell cmdlet and thus gets sane and consistent argument parsing and discovery for free. Something like instpkg32.exe simply won't exist for a new feature here.
As for your complaints, I can gladly answer them and other questions, but it's probably a bit OT here.
Or-Do-You-Enjoy-Over-Verbose-Capitals-And-Dashes-As-You-Enjoy-Shift-Ballet?
Besides, if this is about command parameters, all that's needed is the dash and enough letters so the parameter name is unambiguous; for many common commands that's not longer than the single-letter arguments to Unix tools. And they are case-insensitive, too. No need for Shift here either.
But perhaps you do enjoy the haphazard mix of /parameters, -parameters, --parameters, /p, -p with varying ways of specifying arguments to those parameters, like /x:foo, /xfoo, /x foo, /x=foo that can be found all over the place in the default Windows command-line tools (because that's what the argument was about here). In that case, yes, PowerShell is probably a huge step backwards.
Find-Package Firefox
Install-Package Firefox
I admit it's not as easy as on e.g. Debian: sudo apt-get remove iceweasel
sudo echo deb http://packages.linuxmint.com debian import >>/etc/apt/sources.list
sudo gpg --keyserver pgp.mit.edu --recv-keys 3EE67F3D0FF405B2
sudo gpg --export 3EE67F3D0FF405B2 > 3EE67F3D0FF405B2.gpg
sudo apt-key add ./3EE67F3D0FF405B2.gpg
sudo rm ./3EE67F3D0FF405B2.gpg
sudo apt-get update
sudo apt-get install firefox sudo apt-get install firefoxAlso, Linux Mint is a terrible way to get Firefox for Debian. You're better off installing it from the "Ubuntuzilla" repo, which contains just Mozilla components built for Debian-based OSes: http://sourceforge.net/projects/ubuntuzilla/ (Ignore the hellhole that Sourceforge has become).
Honestly, I wish Mozilla would just create a Debian repo (and one with Nightlies would be nice), but I understand the scorched earth there...
The example was intentionally selected to be as obfuscatory as possible, in order to be a troll. Most of those commands are about adding a repository rather than installing software, anyway (and the four lines involving gpg are usually done in a single line)
Edit: Apparently, it's also open source [1]
And, do most vendors make their software available through this mechanism? That would be a miraculous improvement over the couple dozen different update services that run on a Windows box (Java updater, Adobe updater, Apple updater, Oracle updater for VirtualBox, etc.), all of which have wildly variable reliability and are mostly impossible to script or automate. If those are gone from the Windows management experience, that'd be great.
I also see lots of insecure and outdated applications running on Linux servers, especially Wordpress, Drupal, myphpadmin, cPanel etc. Heartbleed and Shellshock themselves are still not patched in a good percentage of servers.
What software do you run on your Windows servers? And, how does it get updated?
Once you get over these couple of things it's not terrible. (though I of course widely prefer linux)
One thing I am seriously disappointed with is the documentation or lack thereof. PowerShell's Get-Help/man cmdlet is admittetly nice, but compared to the kind of documentation you get with Perl or Python, I am left underwhelmed.
Interestingly, the last time I looked at Windows servers (2011?) there was a whitepaper from MicroSoft lionising windows headless servers - without the GUI, there was 70% fewer security bugs, giving a smaller attack surface.
Very expensive though and not good usability - but is far more sophisticated (with P2P downloading, tree structure repositories, etc.)
What? Everyone will be happy to have one, especially people that use Linux at least some of the time.
When I was using it in anger a while ago I also found the quality of some of the packages to be a bit random, many of them just seemed to be random developer X's favourite aggregation of other packages. In which case I'm happy to see that they are adopting package moderation;
http://geekswithblogs.net/robz/archive/2014/10/27/chocolatey...
I did play with a release preview of 10. It was actually OK in a brief 5 minute survey. I won't ever use it for day to day stuff, (I'm a Linux user), but its nice to see them at least appearing to make an effort. I think most of us in the field are at some level negatively impacted when Microsoft engages in evil/stupid behavior, so it's nice when they come out with something good which they do from time to time.
Also: these should be edited with autocomplete.
From within a PowerShell console I can "add" a lot of things. Try typing
gcm -verb add
from a PowerShell console (gcm is alias for Get-Command and the command above will list all commands where "Add" is the verb).Long story short: These are "Commandlets", commands provided to your PowerShell-session through extension-modules.
The PowerShell convention for command-names are Verb-Noun, like for instance Get-DiskImage or whatever, so it makes sense that OneGet builds on these.
Microsoft successfully achieved its objective of putting a computer in every home with the help of Windows. We should thank them for that. Linux on other hand has grown leaps and bounds. Android after all is a linux kernel fork. I think as technology lovers we can surely love both and look at them as technologies complimenting each other rather than competing.
I think it's unfair to frame any linux/windows debate as fundamentally childish. There are big differences between them, both philosophical and practical, in ways that have real impacts on the users.
Two different OSs which have a different view of the world and catering to different needs in different ways rather than something where their success is a zero sum game between them.
There are many ways to do this but until Windows and its developers decide on one, it'll remain a big mess.
> So, back in August I started looking at what I was going to accomplish over the next year or so, and I thought it would be a good idea to try and see if I could get some of the CoApp package management ideas put into Windows itself (hey, it'd be kinda nice to be able to do apt-get style-stuff and have that built into the OS)
> I had proposed some of this at the beginning of the product cycle for Windows Blue (Server 2012 R2/Windows 8.1) but it was a little too late in the planning cycle, and I gave too-grand of a vision.
> I finally came to full understanding of some advice my pappy once told me: "The secret to success is to find someone else to care what you care about, and make it their problem." ... I looked at him like I understood what he meant, but he could tell that I was just paying lip service. He then said "Try it this way: Set the building on fire, take someone else's stuff into the building with you, and then cry for help"
Right. As if VLC on windows comes with crapware.
As if apt-get [0] never asked cryptic messages [1].
[0] or yaourt or any other package manager
[1] and it's more about the package than the package manager
At least it did, in a way
http://www.howtogeek.com/194993/the-windows-store-is-a-cessp...
> rse yet, the Windows Store is now integrated with the system search feature. Search for an application using the Start screen search or search charm and these garbage apps from the Windows Store will appear. For example, whenever I use the system search feature to launch Firefox, I see a link to install “Firefox Training Lite” from the Windows Store.
This is insane.
But it's hardly VLC's fault. You could say Windows is distributing malwares.
If the package manager knows how to leverage this (no doubt it will), that will allow GUI-less installation of a huge percentage of windows apps (MSI is relatively popular now despite its quirks.)
In Linux, dedicated installers are the exception not the rule. I'm curious how the adoption on Windows will be, especially for commercial/non-free software which there is a lot on Windows.
I'm also curious how they will present the packages to the average user. Worst case, the user will have to look in three different places to uninstall software (namely System Control, the package manager, and in directories of software that isn't registered anywhere).
Somehow, folks have been led to think that the command line is a scary place, just for geeks, but it's so easy to lead someone through a slightly complex manual installation by just giving them a few commands to copy and paste into the terminal.
And as a somewhat casual user myself, I even find it easier to follow a command line installation than to wade through several pages of "open this window, click on this, click on that," especially when the instructions and the actual installer don't exactly agree due to revision divergence.
I've personally struggled with it to fix corrupt updated installed by windows updates, and while it doesn't meet the bar set by mainstream Linux distro package managers, it is a package manager nonetheless.
Couldn't find much more on puppet on this topic than this presentation: http://www.slideshare.net/ferventcoder
* Install-Package -Name firefox
When in Linux I can just do this:
* apt-get install firefox
I would love to see this:
Package -install firefox
* Install-Package firefox
would be hugely preferable, though. Smart defaults are good things!
Mobile stores (Google Play, Apple Store) are a good example of this... they host many apps & are easy to use. Who cares if you use keyboard, mouse or touch to get them.
A reboot is required if something you are trying to install is already in uss. Windows locks executable files and dells while they are being used, so it's not possible for an installer to overwrite them. When an installer detects this it places the new file in a temp store, and windows empties this store on startup,
Thus if you are updating say Java, and the Java binaries are in use, then a reboot will be required. On the other hand if the binaries are not in use, then they won't.
So the need to reboot will vary enormously from one user to the next, based n their habits (do you close the program before updating it?) and also the kinds of programs they have running when they do an update.
Aside: some installers can detect that the program is running and terminate it as part of the upgrade process, thus explicitly avoiding a reboot. That's why say Firefox and Chrome never need a reboot. But that's easier to do with a program, and less easy with a runtime like say Java.
Restart Manager along with Windows Installer will manage stopping and restarting running applications/services to make sure that executables, DLLs, configuration files etc are updated atomically and transactionally.
Exactly, and Linux doesn't do that, hence my comment. The Windows model is flawed--why do you need to lock a binary on disk when a copy of it is running in main memory? Linux just lets the installer overwrite the files on disk, so there's no need to restart the whole OS, just the program whose files were updated.
I assume Windows 10 will not change this behavior? A command-line package manager on Windows would be cool, but its utility will be limited if you still need to restart the whole OS just to upgrade a program that's currently running.
Because the copy in memory may still want to use the old version. Raymond Chen explained it here: http://technet.microsoft.com/en-us/magazine/2008.11.windowsc...
Again, not a problem on Linux because Linux keeps numbered versions of .so files.
So it's not that Windows has to restart after replacing a file that is in use. It's just that it would rather not deal with the complexity that results if it doesn't.
In other words, "we didn't want to bother with versioning DLLs."
Windows did hack on a form of DLL versioning in the form of isolated assemblies. It's ugly and complicated and Microsoft still resorts to suggesting that you avoid DLL hell by bundling local copies of all your shared libraries. Which kind of makes me wonder why they're even called "shared" at all. May as well just statically link.
tip if you want even less restarting on Windows after installing (and less registry rot): always look for portable versions, if you can't find them first just try to get it yourself by extracting from the installer. You'd be surprised for how many installers this wor. Some installers you can just open in 7Zip/UniExtract and the likes and extract, others can be extracted using msiexec /a PathToMSIFile /qb TARGETDIR=DirectoryToExtractTo
I will agree though that this oversight is not as bad as TFSVC. Where they were building a centralized version control system when the whole world was switching to decentralized VCSs.
How's the Kinect support in Windows? Quite honestly, Microsoft is only competing against itself. How many XP uses are still out there? A couple hundred couple hundred million? Give them a reason to get excited.
> Install-Package
Dashes and uppercase...what terrible names. Is the windows shell case sensitive (I seem to recall it is but it may have changed)? We've been designing command line interfaces for over half a century now, this is just lazy. Shells are not magically exempt from UI best practices just because they're not graphical.
It's a legit question, few people are aware of runas.
http://www.tannerhelland.com/4993/microsoft-money-updated-20...
It just is a massive continued success, although from my migration from 2003 to 2010 and subsequent pain to 2010 SP2, I didn't find it successful or painless - I don't miss maintaining it.
I think a lot of folks on here look at the world through very narrow glasses where they write Python web-apps under Linux, or work in SOHO environments that rely on external email providers; they don't come across the all-pervasive Windows desktop culture. They never need to touch Active Directory, let alone understand what it is or why they'd need it, and never have to touch an Exchange server or roll-out applications across an array of desktop machines.
It is a pity because some end up making short-sighted narrow-FOV comments about Microsoft and Windows etc. that are unnecessary. Just because we don't use a system, we shouldn't assume that nobody else does.
Evolution can understand it, as I recall, and Red Hat has a server side component too, I don't recall the name now.
The ability to reset mobiles devices from within Exchange when a device gets pinched and to enforce keylocks on mobile devices is a great feature that I can't find anywhere else at such a low OS level.
Doesn't mean it will forever be relevant beyond a small niche.
Also, just look at how many developer jobs there are in Windows-land versus Linux-land: you hardly ever see Linux development jobs apart from embedded development. Windows is huge.
There's no foreseeable threat to Microsoft in the enterprise, that market is roughly split in 3 between (mostly) cross platform C++, (mostly) cross platform Java and Windows-only .NET (I don't think any enterprise really uses Mono in production). And both C++ and Java predate .NET, so enterprises seem to love .NET to have moved over to it.
I have to use Windows for the myriad of engineering tools that are not available under any other OS, for example, SolidWorks, Altium Designer, various embedded toolsets, etc. And, while I've been using PC's (and Macs and Linux) since they came on the scene I hate, hate, hate the DOS or technically DOS-like underbelly of the beast.
I know it is a ridiculous idea. It would break everything, including their profitable corporate platforms.
Yes, there are ways to mitigate this but it'd be nice if all computing platforms got behind a common standard. Utopia. I know.
http://technet.microsoft.com/en-us/library/hh831568.aspx
I believe it was removed with 2012 R2.
Was it? As far as I can tell, it had been losing popularity for a long time before Windows 8, and it was rare and getting rarer that any nx-based project would recommend using it on Windows, though occasionally you'd find people outside the main projects with recipes for making it work (or horror stories of their attempts to do so.)
GPL would make that impossible. There are reasons OS X is based on BSD, and not all of them are about technical superiority.
Though a more likely way, were Microsoft to want to bridge that gap, would be to have a solid first-party POSIX environment on top of Windows, rather than the other way around.
The point is portability. People now write all of their server software for Linux. More people would bother porting it to Windows if doing so was easier.
Example: There is no Windows equivalent to epoll/kqueue. Neither of them is even POSIX. But if you bring this up to most Windows people they tell you to use IO completion ports, which are totally different and require the core of the program to be redesigned.
There is: Overlapped IO: http://msdn.microsoft.com/en-us/library/windows/desktop/ms68...
> But if you bring this up to most Windows people they tell you to use IO completion ports, which are totally different and require the core of the program to be redesigned
IO completion ports and epoll both require the programs flow logic to be designed for them. If a program has been designed for synchronous IO, a redesign is required to take advantage of any asynchronous IO pattern. There's no magic fairy dust that allows you to magically drop "asynchronous" to an otherwise synchronous program.
The reactor pattern (Windows overlapped IO) is - at least theoretically - more scalable than the proactor pattern (Linux epoll/aio).
Under the proactor pattern (Linux epoll/aio) the process must indicate it's desire to perform an IO operation. The OS will notify the process through a callback/event when the IO resource is available for the operation, and must then perform the actual operation. However at that point there is no guarantee that all of the IO will be completed - the OS will inform you how many bytes were actually read/written, and it is your responsibility to wait for the next "ready" event before trying again.
Under the reactor pattern (Windows overlapped IO) the process asks the OS to perform the IO operation directly. The operation is started by the OS while the call returns immediately. When the operation has been carried out, the OS notifies the process through a callback/event. There is no complexity in managing partially transfers - the transfer in the responsibility of the OS and you'll receive notice when it's completed. IO completion ports is actually a thread pool dedicated to IO ops, and queuing is built-in.
The proactor pattern (Linux/epoll) requires a context switch between the IO resource becoming ready for the operation and the actual operation (higher latency). If transfers are partially completed - e.g. large transfers - you'll have extra context switches for each remaining transfer operation (lower throughput).
The reactor pattern (Windows) allows the OS to directly complete the operation without a preceding context switch (lower latency), only notifying the process when done, thus avoiding unnecessary context switches even for large buffers (higher throughput).
Both approaches require the program to be deliberately designed to support asynchronous IO. However, the Windows API was always designed with overlapped (asynchronous) IO in mind, Windows IO completion ports was designed in NT from the start. The problem was always (for both platforms) how to coach the developers to actually leverage the asynchronous APIs as opposed to the simpler-to-understand synchronous APIs.
The new Windows Runtime API takes it a step further and requires virtually all IO to be asynchronous (there simply are no synchronous versions any more). That is coupled with programming language innovations like async/await (C#/VB.NET) which makes it very easy indeed to take advantage of this.
(https://speakerdeck.com/trent/pyparallel-how-we-removed-the-...)
First, here's a real example where it isn't better. You have some app which holds a thousand some sockets and receives packets infrequently. With epoll you need one buffer when the odd packet arrives regardless of which socket is ready. With overlapped IO the amount of buffer memory you need is more by a factor of a thousand because each idle socket still requires a buffer to be allocated to it.
But that's not really the point. Having overlapped IO available is fine -- it is better for some applications. The problem is not having epoll, not only because epoll is sometimes better, but because it makes portability unnecessarily difficult. Because in most cases the performance difference between the two is irrelevant and the important criteria is how much work I'm going to have to do to make them both behave the same way on each platform.
Use the select function then. Wait for completion of that instead. No need to allocate buffers for sockets that receive messages infrequently.
epoll is a horribly designed API. It should absolutely not be replicated on other platforms.
From an API point of view, the Win32 API is incredibly stable and reliable and allows the ability to run programs from decades ago. This contrasts sharply with Linux, where the APIs are in a constant state of irritating flux. From a serious development perspective, this might be why the commercial application market has flourished under Windows and why you see commercial Linux applications few and far between, and (usually?) treated as a side attempt before falling by the wayside (as it appears that few Linux users will pass over cash for an application).
I would believe it is a naive approach to ask that Windows be "built on top of Linux". They are architecturally different: http://en.wikipedia.org/wiki/Architecture_of_Windows_NT
I do not install mingw or cygwin or any other "Linux-land" compilers/systems on Windows because it feels like I'm using the wrong system - just install Linux if I want all that! It would be better to just use native Visual Studio in Windows-land and keep everything separate, no? Ordinary users that I am writing software for will typically have the Visual-C++ runtimes already installed so bundling of different GNU DLLs is redundant.
Or I suppose you could go with Linux and fight the shifting desktop sands? (That's why I got fed up with it and switched mainly to Mac OSX; despite the OSX changes, they're gradual and not insisting that we drop the dock or window behaviour etc.)
Maybe I am using Windows differently than a lot of other people even if I consider myself a "power" user. I've always felt much of Windows' power and usability came from it's GUI focused experience (forgetting the maddening changes that can occur between versions).
Post: after writing all that, I looked at Programs and Features (on windows 7 now) and I think the biggest advantage of something like this would be mapping out dependencies, even if I don't think I've ever deleted one by mistake. Still, it would be nice.
Installing and managing software is easily my biggest gripe with Windows right now.