One arm of my company allows macs. This one does not, period. We have a 0% non windows 10 user base. We can have temporary admin access for 12 hours if we will out a report, but everything we do is recorded. It doesnt work if we're on wifi or battery. We are not allowed to install browser extensions, even if we are developing against the web.
My last job let everyone have admin/root. I had everything I ever wanted. My workflow was glorious. I was so comfortable. I was able to work 3 to 4 times faster on average, i.e. my yearly output was probably 3 to 4 times more productive. I invented new things, scratched my itches, and felt like the king of the world.
But this job will let me retire.
I understand it’s much easier for them to manage things this way, but they’re not going to have the results they want by going about it this way. When my Windows 10 “upgrade” comes, I’ll just be dedicating one of my monitors to my own Arch (maybe Qubes) box where I can actually get shit done. I’m a C# dev too, which makes even less sense, but requesting permission to install simple dev tools is not going to happen. Life is too short for this nonsense.
About Qubes: I was just playing with it a couple of weeks ago. It's interesting, and I'd consider using it except for one thing. When you're running a browser, the cursor doesn't change when hovering over a link. I know it sounds nitpicky, but I kind of want/need that. I did some digging around and didn't get any solution. Are you OK with that, or did you find a workaround?
We're running Windows 7 and I'm begging to get into the pilot for Windows 10. As time passes more and more things break in Windows 7 and it becomes less useful. Most of Intels drivers are garbage and their Bluetooth stack is next to useless.
I'm running VMs ontop of my Windows 7 install for all development work. Anything that's Windows based is either a 10 or 2016.
I haven’t followed up on whether this “feature” made it into an actual Windows 10 update, but I remember reading about keylogging to the cloud as a way to pre-load your start menu with things that might be relevant to what you’re doing. Maybe it’s just being a developer and knowing what this kind of casual abstraction can cause, but I’m not okay with the philosophy that gets it into a test release of Windows 10. Microsoft is doing cool stuff these days but they still haven’t won me over.
Windows 10 has the same frequently used app feature as Windows 7, which you can didable. You can optionally allow Microsoft to gather data about onscreen keyboard usage to improve suggestions, like Google Gboard on Android. Cortana's searches are obviously cloud based, but can be disabled. And Windows 10 offers suggested apps and features in like 3 different places in the OS, which can also be disabled. Maybe someone dreamed up a fantastic spyware feature based on all of those things.
You've told me three things that I can disable in Windows 10. Why is this stuff enabled by default in the first place? How do you know this is everything I need to disable to address these concerns? Or better, why isn't user consent requested before any serious "diagnostic tracking" like this? The answer, I think, is that it's too complicated for the average user. Once this "diagnostic tool" is effectively hidden from the user, and enabled on all devices, the tool either has to be monitored regularly (to make sure more features aren't auto-enabled like these were) or eliminated completely. I've spent too much of my life "monitoring" closed-source software to give much consideration to that option, at this point.
It's on by default so that users will interact with it and try it out. This is pretty standard practice on every major OS or application you use today. New features are enabled by default and the user gets to figure out how to disable them if they don't like it.
Case in point, the latest update to Gmail on Android enables a feature of opening URLs in a Chrome Frame inside Gmail instead of using your browser. This is great for Google, not so much for the user. I got screwed over because of this feature because a nonce token I received was consumed by the Chrome Frame which promptly crashed.
Windows 10's suggestions and prompts are about on par with MacOS High Sierra's. If you're questioning that statement, try not setting up iCloud some time then come back to me.
That's not even going into who is making these decisions, the corporations who only stand to profit from you enabling these features. They will roll it back if there is enough public outcry, but burying the option in the system settings is one way to avoid mass public outcry. Convenient, isn't it.
Sure another major corporation is doing this with their products, but that doesn't make it right. None of this is an acceptable reason to continue sneaking it into their products. Plus the data collected has a potential for even more profit, which is where I just peace out and use an OS I trust. Why in the world would I give Windows 10 the benefit of the doubt?
I'm not trying to justify data collection and I think that certain kinds of telemetry data are perfectly acceptable to be collected. The reason I bring up comparisons to other OSes is that often opponents to Windows 10 mention switching to other OSes which aren't necessarily any better.
With regards to trust in privacy and security, I can't say that I trust Microsoft any less than others. As an enterprise software and services provider, they are in a position where their products must meet certain standards in order to be adopted. The fact that they still are implies there's at least a certain level of trust held in them, unless you're the type of person who feels all companies are in on it.
Speaking of in terms of trusting in long term commitment and support, I would say I have greater trust in Microsoft than just about anyone else. They have the best track record when it comes to not outright abandoning products. You can argue that opensource software will always be supportable, that doesn't mean that it will be supported.
I don't think that "all companies are in on it" necessarily, but there's a reason for that kind of loyalty to customers and it's not because it feels good. I'm not going to knock Microsoft too much because while I do feel like they're off the mark in some areas, they're improving their developer support a lot recently so I'm excited to follow what happens. But I don't think it's a coincidence that they're rapidly increasing developer support either (we sat through the app-less wonder of Windows Mobile for quite a while). They are also of course a publicly-traded company, at the mercy of profit-demanding shareholders.
I would like to see a world where the people who use the products have an equal opportunity to contribute and improve it. Not someone behind a wall squeezing money out of pockets, or throwing candy at developers so they'll make their platform more appealing for them. Or at least as appealing as the other guys', else they go under. I'm hanging onto an ideology, I know.
Like digitalsushi said, this .NET job will let me retire but it still sucks. It could suck a lot worse though.
I would to and I also recognize that sometimes the community doesn't always push something in the right direction. Sometimes it takes a dictator to make things happen. Sometimes there's so many desperate projects that need to work in concert but can't or won't because of political reasons.
One of the advantages of a major corporation at the helm is that they can force a vision upon everyone under them and on the industry as a whole. That strength however is a great weakness or detriment to the industry if the person driving the boat has ideas that aren't in the communitie's best interest.
It really helps with new developer onboarding as well. You can just provide them with a handful of VMs instead of spending time configuring a new machine with all of the dev tools your team uses.
Microsoft pulled an old trick out of their sleeve and implemented a feature, Device Guard, that requires virtualization. And of course it blocks other uses of the virtualization hardware, except, surprise surprise, their own virtualization solution.
D-, does not play well with others.
If your company requires Device Guard you can only use software based virtualization or Hyper-V.
https://support.microsoft.com/en-us/help/3204980/virtualizat...
https://exoticbaryon.anset.org/2017/09/18/when-virtualbox-wo...
Disclosure: work at Microsoft on the Hyper-V team.
on init, the Hyper-V driver hijacks the running Windows instance, schedules it as the 'root partition', and runs it like just another VM.
unlike 'child partitions', the root partition still has non-virtualized drivers, which run unimpeded by privileged instruction traps.
when a child partition (guest VM) is started, it's scheduled as a peer to the root. its Virtual Processors (VPs) run alongside the root partition's VPs.
when the child partition traps into the hypervisor, or uses one of the enlightened drivers, the hypervisor dispatches a bus request to the root partition, which handles the IRQ using a Virtual Service Provider implemented by the host Windows kernel.
so the hypervisor is kind of a bridge between the host Windows and the child VMs, but the host Windows actually runs as a sort of privileged VM itself, just one with full hardware access and scheduling priority.
* I work for MS, but not on any of these things.
There's 2 huge things missing from the Hyper-V integration client (LIS) when running Linux with a GUI in a VM which makes it a non-starter:
1) There is no cut and paste between Windows and a Linux Hyper-V VM.
2) There is no way to resize a Linux Hyper-V VM window. The most you can do is to set it at boot time and the max size is 1920x1080.
Kind of a pity since Hyper-V itself works very well.
Disclosure: work for Microsoft on the Hyper-V team.
[1] https://blogs.technet.microsoft.com/virtualization/2017/11/1...
In fact Ubuntu is so good in Virtualbox that I even get away with running HN's hated Electron apps in the VM!
Running a large fleet of non-Windows computers means writing your own software to manage them, just like Google had to do [0]. Not every business wants to do that.
[0] https://9to5mac.com/2013/11/27/how-google-manages-over-40000...
I imagine as the growth of SaaS continues we will see less of this, especially because it's much easier for the IT department to manage one type of computer where macs tend to have a higher build quality than most windows based machines.