
This isn't your father's Microsoft - mooreds
http://sawers.com/blog/this-isnt-your-fathers-microsoft/
======
Tossrock
I think the pendulum has been swinging from Apple towards Microsoft for
developer friendliness for some time now. This is definitely an active
strategy on MS's part, and a huge misstep by Apple. Some key parts of the MS
strategy:

\- Embracing Linux. Beyond what's mentioned in the article, there's the
Windows Subsystem for Linux, and the new Terminal app. Being able to run
Ubuntu (or whichever distribution) natively on a windows machine, accessing
the same file system, is huge for developers. The new Terminal app will make
interacting with it even better.

\- IDE dominance. Visual Studio (classic) combined with the .NET environment
languages is very, very powerful. Visual Studio Code has taken web development
by storm. A lot of what makes these two so powerful is Intellisense, which is
extremely good at what it does. Compare this with XCode.

\- Premium first party hardware. The Surface line of laptops / 2-in-1s / etc
is at least as good as the recent Macbook Pros. They also innovated in an
actually useful way (the detachable tablet on the Book), as compared to the
developer-hostile "innovations" from Apple (replacing the escape key with a
skinny phone, a universally reviled keyboard, etc)

I really have to give Nadella credit for the way this has all been
orchestrated.

~~~
chewxy
MS has always been super developer friendly as far as I can remember. The
difference was in the past you had to buy into their ecosystem and way of
thinking. Once that was done, VS was by far the most superior experience. Now
MS embraces a greater variety of developers, not just those who bought in.

Anyone remember DEVELOPERS DEVELOPERS DEVELOPERS...?

EDIT: found a clip:
[https://www.youtube.com/watch?v=Vhh_GeBPOhs](https://www.youtube.com/watch?v=Vhh_GeBPOhs)

~~~
starpilot
How times have changed:

[https://news.ycombinator.com/item?id=5164635](https://news.ycombinator.com/item?id=5164635)

> Why should I invest in the Microsoft stack? I'm done. Microsoft is no longer
> a platform I will work on and I will recommend open source products and
> frameworks from now on.

> The Windows tech hegemony is a graveyard. XNA. Silverlight. WPF. DirectX.
> Managed C++. C++/CLI. Managed DirectX.

~~~
m_mueller
What changed I guess is that they switched to embrace Linux full on. And now
extending it as well. I trust that Linux is safe from extinguishing though -
too much of the world runs on it, and free servers are just too compelling.

~~~
leereeves
Not extinguishing perhaps, but appropriating and building upon Linux for their
own benefit without giving much back is certainly possible. Google's already
done it with Android.

~~~
Tossrock
Quite a lot of Google-developed code goes back into the Linux kernel. Look at
cgroups - the entire containerization revolution sprung from code Google gave
back to Linux.

~~~
leereeves
Did that come out of Android? Google uses Linux itself as a desktop OS too.

Android hasn't led to anything like a mobile Linux. Google took Linux, built
Android on top of it, and now owns the mobile space. Apple did something
similar using FreeBSD inside OS X.

Microsoft could use Linux in the same way.

------
jacobsenscott
We just got two cheapish windows laptops after many years of not using windows
at all.

Pros:

* Keyboard quality (compared to macbooks)

* Low cost

* Good physical design if you choose the right brand (thinkpad carbon for example)

Cons:

* Dark patterns push you hard to connect your account to a skype/xbox/microsoft live/whatever they call it these days account

* License key hell is still a thing

* Schizophrenic split between screens that work on high DPI displays and screens that don't. Sometimes in the same application.

* Too many versions of windows with features arbitrarily disabled depending on the version you have. Neither of these two laptops can enabled bitlocker, and no windows linux subsystem. Is all the code for bitlocker and wsl on my disk? I bet it is, just routed around with an `if version` branch.

* Crapware pre-installed

* Fairly crashy. On one if you put it to sleep with a full screen app open it wakes up with a black screen. Needs a hard reboot every time.

~~~
taneq
> Crapware pre-installed

The first rule of buying a prebuilt system has always been nuke it from orbit
and start from scratch. Sounds like this isn’t changing any time soon.

~~~
tlamponi
Yeah, but even if I "nuke it from orbit" with a recent Windows 10 ISO I have
to trick around to be able to just create a local account (disconnecting
network or entering some form invalid three times, dark pattern stuff) and
then if I finally get along I get greeted with a start menu full of candy
crush and other crap..

Compare that with and Debian installation, quicker, no dark patterns, and no
crap. Fedora works too, AFAICR, but Ubuntu has gone already a bit the M$ way,
it seems..

------
yoloClin
I think there are sections of Microsoft that are very, very good but crappier
sections are bringing down company perception somewhat - the company vision is
somewhat confused when they drop a cross-platform SQL server and then
introduce telementry into Windows.

Microsoft Office, if anything, has gone completely backwards in regards to UX.
On a fundamental level it 'just works' but when I started becoming more of a
power user I found reproducible bugs, unexpected or inconsistent behaviors,
and a complete lack of extensibility for creating / modifying docx documents
programmatically in !C#.

By far my least favorite issue is the constant battle I have with locale - I'm
not sure if the document creators local was set to EN-US or if my system
config is not correct, but every time I try and force the document to EN-AU it
seems to switch back seemingly on a per-section basis or something. The most
amusing side effect of this is the 'Read aloud' voice changing gender mid
sentence but the amusement is quickly offset by it deciding to auto-correct
perfectly valid EN-AU spelling for its American localisation for the fifth
time in a paragraph.

~~~
taneq
The most brain dead thing about Windows, IMO, is that the keyboard selection
is tied to locale. You want UK English but using a US keyboard (as you do on a
laptop)? Screw you, it’s US spelling or a UK layout.

~~~
yoloClin
I find the keyboard layout switching really awkward but for different reasons.
On MacOS/Linux, setting the keyboard layout is global - under windows it's
per-application _and_ the default is for shift-backtick to switch between
layouts which is something I manage to hit pretty frequently.

When I was working on a host where I needed two layouts (US-Dvorak + US-Qwerty
for other users) I ended up solving the problem using AutoHotKey to hook all
keys and send a different keyevent. It was pretty gross but it bypassed all
the issues I was having in a convenient way.

Perhaps you could hook US symbols such as "$" and rebind to UK equivalents
with AHK? Alternatively, creating a modified EN-US keyboard layout which has
relevant key-symbols would also work / be less hacky, but probably require
more effort.

~~~
ygra
It's been global by default since Windows 10, AFAIK (and comes with a better
(well, _a_ ) UI for switching as well with Win+Space. I've since disabled all
the other shortcuts, as I've been hitting Alt+Shift far too often.

------
makecheck
You can’t judge a company only by its shiny new things; you also have to judge
how they’re handling what’s already there.

And right now, there are some exceedingly-common things that are far too
broken considering how many decades Microsoft has had to fix them. I’m sure we
all have our lists but just off the top of my head...

\- The complete inability of an OS named Windows to remember where any of its
windows were a second ago, after you have the audacity to plug in a cable such
as a dock or external monitor.

\- An OS that drinks laptop energy from a giant straw, combined with an OS
that is poor at restoring state when the machine inevitably runs out of
battery in your bag and has to be rebooted unexpectedly when you open the lid.

\- An OS and apps that cannot handle the extremely common scenario of a
network outage or even a momentary blip. I will be _spammed_ with a half-dozen
login prompts from all over the place as punishment for the crime of briefly
losing WiFi, as network disks and other apps all lose their minds. The OS also
cannot auto-close any of these prompts when I reconnect.

\- Core UI elements can become completely unusable. For example, I should be
able to click the WiFi task bar icon at any time, yet at some point this menu
will just stop working (its icon still highlights when clicked but no menu
appears anymore!). Text is frequently cut off to the point where I am
_required_ to hover for a tooltip to even see what the rest of the text
says...assuming that a tooltip has been implemented.

\- The OS still completely disrespects its users. Completely unimportant
windows will appear right in the middle of the screen, blocking everything
behind them, with no apparent way to close them or even move them.

~~~
kiwijamo
Your comment regarding network outages is an issue on macOS as well with
certain apps. FileMaker is a good example. Just putting my laptop to sleeps
breaks its network connection to the FileMaker server I need to use for
$Employer to the point I have to restart FileMaker and login to my $Employer’s
system every time my laptop wakes up. I wonder it your issues is more to do
with crappy apps rather than windows itself?

~~~
nothal
One of my first software roles was working with a legacy FileMaker database
where most of the business logic was built directly into different GUI
elements. I do not envy your work.

------
RcouF1uZ4gsC
While this isn’t your father’s Microsoft, this is your grandfather’s
Microsoft.

Before they started creating business applications and operating systems,
Microsoft was in the business of programming tools. Their first software was
Microsoft Basic. Microsoft Basic was available on pretty much every major
personal computer platform.

Thus in some sense this is Microsoft returning to its roots as a cross-
platform programming tools company.

~~~
jchw
To be fair, Microsoft Basic practically _was_ an operating system, in its day.
It’s what many computers booted into, and sometimes the environment in which
everything else was run from.

~~~
jojo14
To be fair BASIC was not much of a deal. The interpreter is just a REPL. Very
basic at it, hence the name. The BASIC was not invented by MS: they replicated
it. The real operating system part was done by computer manufacturers. For
instance it was Dragon Data that brought the "kind of" OS routines in the
Dragon32. Floppy disk managment, I/O, etc. MS just brought the REPL and ...
bugs.

~~~
thaumasiotes
> BASIC was not much of a deal. The interpreter is just a REPL. Very basic at
> it, hence the name.

The language is named after its goal of being something easy to learn. It is a
fairly contrived acronym, Beginner's All-purpose Symbolic Instruction Code.

------
jchw
.NET Core would’ve been really incredible had it come a few years earlier, but
I’ve been too busy being enamored by Go and Rust to really consider it more.
Still, it is very nice to use when I do use it. I am quite excited by the way
it handles async. I had some issues trying to use debuggers under Linux due to
licensing... a little bit of “old world” Microsoft?

I really don’t care for Windows 10 at all, and make a point of not running it
on any of my machines (I am running Linux everywhere.) I keep checking and
rather than getting better it often feels it’s getting worse. The fresh
install experience is abysmal.

Is the “new” Microsoft really great? GitHub has been doing awesome, and I love
Visual Studio Code, but as much as it pains me to say it they still have a
long way to go. It feels like Microsoft, as large a company as it is, is in
two places about many of these issues. I still have fears. Can I trust VS Code
remoting? (It’s _not_ open source, from what I can tell.) Hard to say. (I
still use it, because it’s awesome. But, I have second thoughts every time.
It’s hard to shake the feeling that maybe something is off.)

~~~
jakear
What do you mean by “it’s hard to shake the feeling that maybe something is
off”?

~~~
jchw
Wondering why this bit isn’t open source. Is there really any point? There
exists open source VS Code extensions and forks that do basically the same
thing. It’s weird for the whole editor to be open source but for this part,
admittedly very compelling, to not be. Something is fishy.

------
joveian
"Maybe the Microsoft strategy is to intro into the Linux/Java/LAMPish/open-
source camp community, burnish their image, and hope they consider their
commercial offerings."

Try plugging a USB stick with an ext2 partition into Windows 10. At least in
1803, you get TWO dialog boxes asking you to format the partition, with the
default being format! In between is another dialog box with just one button.
This is the new Microsoft, same as the old Microsoft.

~~~
kerng
To be fair, this seems not like a mainstream use case... and you can use WSL
to read it if you really want to (which seems like an advanced use case
anyway). Cross platform FAT32 is the standard and Microsoft made that open.

~~~
notimetorelax
I think a token amount of effort to try to detect ext file system and not to
offer to wipe it clean might have improved the user experience. Small things
like that accumulate and aggravate.

------
jojo14
I'm kind of puzzled by this fanboism about "a new MS happening now". The new
propaganda is along: "Hey! reset everything you know about MS. The new MS is
shiny!". Why would anybody support MS without being a shareholder or without
having any financial interest. Given their proven track record it would be
pretty obvious to be cautious about MS. IMHO MS have all the reasons to be
doomed. They are way behind technically in key CS areas: HPC, Mobile,
embedded, etc. Their flagship OS is FUBAR due to 2 decades of accumulated
bloat. Anyway we might envision a future for MS as a profitable business:
Embrace 21st century standards, port their SW on *nix(es) and make profit on
their core competencies: that is developing boring non innovative SW for big
companies.

~~~
t-h-e-chief
Exactly. Microsoft quite ironically they isn't a tech company, it has always
being first and foremost a company in the business of making money - who just
incidentally happens to hire some really smart technical people, who sometimes
produce good products.

------
alasdair_
For me, windows 10 is still an issue. I don’t like being spied on. I don’t
like disabling cortana and bing and sending everything i type to microsoft and
having my choices overwritten every single update. I don’t like having to
delete fucking candy cruah for the third time. Respect the very deliberate
choices I made and perhaps I’d use it seriously again.

~~~
WalterGR
_sending everything i type to microsoft_

What do you mean?

~~~
alasdair_
There are several settings that will send many things you type back to
Microsoft. They are on by default. “Getting to onow you” is one such setting.
There are also typeahead suggestions, suggestions for handwriting, search box
suggestions etc. autocomplete is fine if I am on a specific website or app but
definitely not fine in an OS, especially when it turns itself back on silently
after I disabled it.

------
kgwxd
My only real beef with the modern MS stack is the occasional forcing of
telemetry and updates on certain products. If they would just quit doing that,
without insane hoops to jump through, they'd gain a bunch more trust.

I propose universal opt-out environment variables (e.g.
OPT_OUT_ALL_TELEMETRY=1, OPT_OUT_ALL_AUTOMATIC_UPDATES=1) that all software,
not just MS's, should pride themselves in respecting.

~~~
jdnenej
The hoops you have to jump through on azure data studio is rediculous. It has
a popup saying it is tracking you but instead of asking or providing an opt
out button it has a wiki page describing a config option you have to manually
insert into a json file and restart the program before it will stop tracking
you. By that point it has likely uploaded all of your data anyway.

~~~
kgwxd
Yeah, I just went through that a few weeks ago. It's really user-hostile. It's
like they know exactly who cares about that kind of thing, hide it perfectly
from the users that don't, and then do a bunch of stuff to piss off the people
that do.

------
whalesalad
Hadn't heard of Nano server at all. Kinda neat to see this entire howto guide
is based on (power)shell commands: [https://docs.microsoft.com/en-us/windows-
server/get-started/...](https://docs.microsoft.com/en-us/windows-server/get-
started/manage-nano-server)

They do have a lot of cool new stuff but MS is still the same old MS. Tried
doing some RAID driver stuff the other day on a Win 2019 test box and wanted
to get hit by a train. I have spent so many years in open source land that I
forgot how painful it is to get help with obscure errors in Microsoft world.
Installing a fresh OS takes what feels like forever, especially account
provisioning and unchecking the dozen (literally) trackers/cortana/etc
garbage. Simple things feel slow. The UI is clunky, and half the stuff you use
is going ot be using a circa-last-last generation UI toolkit anyway so it all
looks out of place.

~~~
t-h-e-chief
Please do not mention Powershell, this is a civil forum.

------
caiocaiocaio
My wife still uses Windows (out of familiarity) and I have to fix her computer
whenever there's a problem. I can confidently report that, when it comes to
type and frequency of bugs, it is the exact same Microsoft it always has been.

------
jml7c5
I hate to distract from the content of the article, but I have a request from
those without good vision: the text color on this blog is just a shade over
50% grey. I know people are opposed to the starkness of #000-on-#FFF text, but
going approximately #888-on-#FFF seems extreme.

------
nstart
Just adding this in case anyone is using vs code and is wondering about dev on
windows. I'd say that wsl is nice for some tasks but I wouldn't rely on it as
a daily driver. It's great for installing some CLI tools to perform certain
tasks. Maybe some file grepping or searching that you want to do with your
local stuff but find it infuriating to do with powershell or bat scripts. This
doesn't mean WSL is bad by any means. It's actually great. But not good
enough. Not yet.

But I use windows as my daily driver and what does work amazingly well for me
is virtualbox and running a VM as my developer machine on it. I run Ubuntu
server. And for developing, VS code has this amazing feature that allows one
to connect to a remote and develop on it as if it's a local filesystem. This
includes having extensions that interact with the remote too. This also means
I don't do the whole shared folders dance with all its oddities around speed
and syncing anymore. Honestly, it changed the whole windows dev game for me.

Once the new terminal for windows is actually v1 (not holding breath for that.
Theres a lot of work for that. Its probably going to miss the winter v1
projection) I think the windows dev experience will be complete.

~~~
mixmastamyk
I’ve used sshfs for remote editing for a long time.

------
mpnordland
I'm not really considering it for my personal stuff, but since work is a
Microsoft shop, I'm really pushing to get on .NET core. We're at a point where
most of our Windows bound stuff is going away and we can start to shed a lot
of weight if we can port what remains to .NET Core.

~~~
kgwxd
I'm lucky enough to be leading a brand new huge project in .NET Core 3 at
work. I wouldn't consider it for personal stuff either, but I love that the
Windows devs at work don't even need to know I'm doing my work on Linux.
Something will probably come up eventually but, 4 months in, no one has
brought it up.

------
dcchambers
Once you get used to developing in a *Nix environment there is just no going
back. WSL/WSL2 just isn't there yet. Too much "beta" software for me to rely
on it professionally and things just don't work out of the box.

I don't ever see myself going back to Windows.

Other Microsoft products, sure. I prefer Atom but Code is a fantastic editor
that has quite literally changed the game in web development. The acquisition
of GitHub was incredibly smart. .NET core, etc.

They've made many correct plays over the last 5 years with the dev community -
the problem lies in their core product...Windows.

------
0xcoffee
I'm really curious about where Windows will be in 10 years.

We see MS making launchers for Android, and offering their products more and
more cross platform (based on electron + web client). Even switched Edge to be
Chromium based.

How long until MS makes a Windows launcher for Linux. As long as they can
provide a consistent experience and offer their services, they don't seem to
care so much about which OS they champion.

------
Old_Thrashbarg
The one thing that has persuaded me the most has been vscode.

Until switching to that, I had assumed Microsoft incapable of producing
something with excellent design/UX. Also it's open source.

Opening Microsoft software every day on my Ubuntu machine and feeling grateful
they made it has slowly chipped away at my anti-Microsoft stance.

~~~
CGamesPlay
Man, I have such fond memories of VC6. It was such a great debugging
experience. And MSDN was absolutely the best documentation website I've used.
I think Microsoft's developer tools have always been high quality.

~~~
t-h-e-chief
Agreed, they do have some of the best tooling. Damn, VB6 was one of the most
amazing development environments ever made when you think about it - shame the
language was so limited.

Still, I did prefer Borland Builder and do prefer Jetbrains Rider.

------
simonblack
It's in the technical sense where Microsoft is different these days. But I
don't believe the Company's Grasping Mindset (TM) has changed in the least.

I still do not _trust_ Microsoft at all.

Patent wars, appropriation of standards, locking out of competitors,
underhanded business tricks, etc, etc. None of that has changed. It still
continues.

------
t-h-e-chief
Ah. Yes it is. They still don't get it.

------
lostmsu
Yeah, but now Windows bugs, when you encounter them, are stupid as hell.

~~~
lostmsu
I am specifically talking about error code-less messages like "An error
occurred"

------
starpilot
My father is dead.

~~~
knolax
RIP.

