Category Archives: microsoft

Re-installation of Linux, The Fuckery of Windows 10 & Microsoft Licensing

Notice: TLDR is at the very bottom.

Notice: This post may damage sensitive ears. At points it may be vulgar.

Notice: If you want to get to just the Linux parts, scroll down to the “Patience and Linux Saves The Day” headline.

The Beginning of Horror

First a few positives for Windows 10. It runs a Bash system thingy on it now, that’s pretty cool. It loads much faster than Windows 7 (and Vista, LULz). It still plays and supports basically all the games first. It has active tiles, but I guess that’s an arguable positive.

Windows 10 isn’t that horrifyingly bad, it seems, at first glance. But it requires a bunch of unnecessary work to re-map in your brain how it works in relation to the web, to bash, to Linux and the whole *nix POSIX world. You might say, but why does that even matter? Well, it matters because we’re in a web world, which is at it’s core a POSIX world of Linux and at worst MacOS, but it sure as hell isn’t a Windows world anymore. That’s just what consumers get that are powerless to do anything else about the fact they’re generally always going to be stuck with a purchase between Windows Device and Windows Device.

Now combine that with the fact in the last ~8-10 years almost every major change in the industry through the advent of a new technology, new platform, or otherwise has been released for several years on Linux or MacOS before it even attempts to come to Windows. Docker is a prime example, and it’s arguable that it still doesn’t really work on Windows. That’s the starting point of the horror for me.

The First Mistake of Mine and Microsoft’s

The real horror however started with these next few facts. I was pondering keeping Windows 10 on the machine to play games, so I got a key to update Windows 10 from whatever it is to “Professional” so that I could use Docker and Hyper-V. Because Docker doesn’t really run natively on Windows it need Hyper-V to be able to do anything. I “purchased” an upgrade from the Windows Store to Professional so that I could work with Docker and Hyper-V. It went through a process and all seemed well.

The Second Mistake

With Windows 10 upgraded, I also thought it’d be great to have a completely clean install. Windows 10 on this machine had all sorts of cruft on it. Trash games and other junk, I didn’t even realize at this time it was supposed to be the clean version from the Microsoft store. But being that it had so much cruft and other unknown settings, drivers, and configuration mess setup I figured I’d format the drive and reload. To do this I went out and downloaded a Windows 10 image. I assumed wrongly that it would give me the version pertinent to whatever the machine has on it, in this case Professional. It gave me “Enterprise” for whatever reason. This was the second mistake.

I then formatted the drive and reloaded Windows 10. I commenced to think everything was fine and dandy, you see, in the docs it says the machine should have the key bound to the hardware. Which I now know is utter bullshit, or simply software that just doesn’t work. I should have known better than to trust this stuff. But I made a mistake, I did, and now I was going to pay for it.

After re-installing Creative Cloud from Adobe, all my JetBrains software, and tons of other things I noticed a whole host of annoyances. Like the fact that the software cruft was still everywhere. I didn’t want this garbage shit, what gives. This was supposed to be a clean install. I kept digging about and installing things. I got OBS configured again specifically for Windows 10, because ya see, the folders still disagree on “\” vs “/” and Windows attaches every storage medium to an anchor letter. So all the sources were broken, and the list goes on. I spent hours upon hours getting Windows 10 setup under the notion I’d be able to use it.

Then it happened. Windows reports that it is not activated. So I began the process of activated, I click on updates and such and clicked try again. I went through the loops of help documentation. Nothing was happening. After trying every loop in the help docs that Microsoft provides I was getting frustrated. Then I noticed what the fatal issue was. I somehow now had “Enterprise” loaded and a key for “Professional”. I didn’t know, being what I suspect is a mere “consumer” now, how to actually choose which version of Windows to download. I had no MSDN, didn’t really need or want one, I thought. I also didn’t want to call in any favors because I wouldn’t want others to have to do that. Whenever I show or teach, or record things, I want to be able to tell people exactly what I’m using and why. Not that I “got the hookup” from inside Microsoft.

I continued, at this point, over 24 hours into the loading, setup, and configuration of this machine and I realize that I don’t even actually have a key, the fucking Microsoft site didn’t save the damned key, and I’m fighting with licensing to recover the OS and make sure that I can use it ongoing. This vain hope of using Windows, of catering and shaping much of my workflow around Windows just so that I could have it for games came from the initially reported (from Dell support itself) that Linux just simply wouldn’t work on the XPS 15 after I had spent 2 hours flailing around trying to install Ubuntu Linux on the machine. For reference, here’s the basic process I went through to get Linux on, but it appeared to fail by freezing up, throwing a bunch of kernel panics, and other miscellaneous nonsense. Either way I had given up and thought Windows 10 would be easier and had invested the time in it to get going.

I even recorded this effort, which is moderately useful and has some good bits of information. But mostly just the installation failure and freeze ups.  😦

It was now the end of the weekend, I’d sunk all my time in this, and Windows 10 was now in the late evening of Sunday telling me I didn’t have a legit copy of Windows. I was furious, enraged, and thought I now had a $2k+ dollar brick. I couldn’t get a legit copy of Windows without going some secret back door deal, shelling out even more money for a full copy of Windows, or so I thought. I felt screwed, shorted, and simply fucked over by Microsoft and their misleading notions of how their own software works around Windows. Honestly though, it wasn’t the first time, and I hadn’t felt this enraged with computers and software since the last time – almost a decade ago – when I used Windows and wrote primarily in Visual Studio (not Visual Studio Code).

End State Condition 1: Windows 10 loaded and not activated.


End State Condition 2: The wrong version is installed, Enterprise, instead of Professional. Based on the download from the automated consumer download option from Microsoft.

giphy (3)

End State Condition 3: I was now stuck in a support loop with the docs. No option led to a resolution.

giphy (1)

End State Condition 4: There was no contact information or way to submit a ticket without paying more money. Consumer support failure.

giphy (2)

Conclusion: I wasn’t even supposed to be here today.


I was done, even if the laptop became a very expensive paper weight I was done, screw it.

The Light At the End of the Tunnel Shines!

So I had a beer (huge shout out to North Coast Brewing, Old Rasputin ROCKS!) and settled myself down into a stupor. Kind of a technology depression I’d fallen into for this Windows garbage again. I knew better I told myself over and over again, “I knew better“! At some point about halfway through this wonderful beer, I had another thought, “I do know better and there’s obviously a way to get Linux installed on this machine!” Seriously, I’ve fought harder installations than this! I’d tried installing Red Hat 3.2 back in the day and was successful! Ok, I’m going to calmly pick up this Mac here and start researching. I started finding lots of material about how the 9750 XPS 15 basically is plagued with poor driver support for Linux, but then with a few tweaks of keywords and Google-fu coming into play, I hit a few winners! That’s when I started to climb out of this pit of despair and tweeted this.




I thought, even if it takes until 4am no better way for success after this complete debacle with Windows 10 then to just say I’m going to live tweet my efforts via all the hacks and tweaks on websites I’d just found right! Right. But alas, I did, and into the installation I went!

Patience and Linux Saves The Day

With the USB Stick loaded (same as I had done before in the video posted above in which the installation failed) I began. First step forward was to reboot and get into the BIOS (v1.7.0) and turn AHCI mode on under SATA options. I’m honestly not even sure why RAID On was set since there isn’t multiple drives, what even is this black magic in modern BIOS’s I do not know.


I booted using the F12 key for the boot options menu of the BIOS.


This process, because of some oddity in the Dell keyboard it’s easier to just press a bunch instead of holding down F12. I show an example in this short video in the tweet below, then selecting the right boot option once at the boot screen.



That gets us to the boot and install Linux screen. Did I mention Ubuntu looks crazy nice on this 4K screen? No? Well it does. Real glossy!


This is where things are kind of tricky. I need to “Try Ubuntu without installing” screen and it flashes by too fast. So a lot of fast button pushing ensues. Click, click, click, click, click, click. Like this, then hit “shift” real fast, then hit “e”! It’s like those console game secret codes practically!! 😬  Shown in the tweets below, the button pressing maneuver and the subsequent screen where the next setting needs to be made.


Set nomodeset after the words quiet splash.


Next up save that and continue. Then press F10 and the installation screen will appear. Start the installation by clicking that icon up there in the left hand corner that reads “Install Ubuntu 18.04.1 LTS”! Continue through the steps choosing the standard things you’d want. Connect to your WiFi. Then on Updates and Other Software do NOT choose the 3rd part option.


Then boot into partially busted Ubuntu. A few more steps tho. sudo gedit /etc/default/grub and set nouveau.modeset=0 and then sudo shutdown -r now. Then sudo apt install mokutil.


Then it’s the tricky Nvidia Drivers. Gotta use the “Software & Updates” option. Don’t use the ppa, so goes the word. Select the “Using NVIDIA driver…” and Apply Changes. Reboot after. 😑








Then this will probably happen. 👩🏻‍🔧 So make a password and all, then reboot. Note, it’ll show on this screen in plain text. This isn’t 100% sure to happen at this point, based on some things I read, but it likely should happen. I’d like to hear from you if you’re going through this and it doesn’t popup at this point.


Then after you enter a password. Do enter a password. Don’t forget it either, even though you’ll rarely enter this one. Then this on reboot will happen, continue.


Then on reboot check the driver. Check the driver via command line with nvidea-smi. If it failed, do another full sudo apt-get update.


Then go and unselect the driver, apply, and select the driver again and apply.


Then I did some battery tune ups too, even though I’ve also read they’re all there already in the latest Ubuntu. Thus, it doesn’t hurt to run these to make sure.

sudo apt update<span id="mce_SELREST_start" style="overflow:hidden;line-height:0;"></span>
sudo apt install tlp tlp-rdw powertop
sudo tlp start
sudo powertop --auto-tune sudo reboot

That was it. I rebooted again, just to make sure all the services were restarted, no kernel panics, no machine freak outs and all that jazz. I then immediately went into installing all the things I wanted on the machine. But more on that later, for now, success had been achieved and the horrors of a $2k+ dollar paperweight had been avoided!


If you’re a coder, use Linux for the sake of us all. Throw Windows 10 in the trash bin, Microsoft already has too, note that everything is going CLI first, container based, and cloud focused Azure WHICH IS AWESOME, KEEP DOING IT MICROSOFT!! Using Windows 10 and attempting to get/keep/verify it upon an error or two is an insult to consumers of the system. It really does seem like the OS is kept around out of pity or something. Final word, Dell and all y’all gotta get that hardware support for Linux going, otherwise what are you even doing as a hardware manufacturer. Push that stuff out there, make it a priority. Dell was one of the preeminent machine options and a king among those that survived the 90’s, a company with amazing support, and a solid coder’s platform. The company is still largely there, but Linux should be an even higher priority. Take another 10-20 people and unleash and enable them on that problem space! Then we all win.

TLDR; Notice:

It also seems, just in case, always have at least one absolutely wonderful, premium, and spectacularly tasty beer handy to come out of the horrors of technology depression and calm down. It helps. I suppose one could alternate the “beer” for you’re preferred calming beverage like tea or such though.

I wish all vastly better luck in all their installations and interactions with their devices than I had, but rest assured, this XPS 15 is now a beast and beautifully runs Linux (Ubuntu so far)!

On that note, happy thrashing code all, and best of luck and skill in your endeavors!

The Developer Advocates – Observations on Microsoft’s New Competence

racoonRecently a whole slew of people got hired at Microsoft. Many of us have taken notice. It’s left a lot of people with questions like:

  • Why would Erik, Ashley, or Jesse work at Microsoft?
  • Doesn’t it seem suspicious?
  • I wonder what kind of cash they allocated to that payroll budget?
  • Does Microsoft hire anybody that actually uses Microsoft tooling anymore?
  • I’m confused, what is even going on?

The answers may be more obvious for those of us that have kept an eye on Microsoft. There has been this grand upheaval and cultural change that has occurred. CEO Satya Nadella has legitimately shifted the culture in a way that much of the company has wanted to go. Somehow, he’s also managed to start changing the culture even for those that weren’t sure or didn’t want to go.

Satya has taken what core individuals like Scott Guthrie, Scott Hanselman, and many others have hoped for and pushed for over the years and started to enable the people within Microsoft to make this happen. You can read plenty about how Microsoft has gotten it’s groove back, and about the work the Scotts and others have done to get that groove going. But I’m not particularly writing about that, but it has inspired this article in a big way. I’m going to elaborate on what I’ve observed and what I know to make a strong, effective, useful, and community focused developer advocate and developer advocates team.

The developer advocate team over at Microsoft is led by Jeff Sandquist, Brian Liston, and a few others. They’re solid individuals with good ideas about how to build and have an advocate team contribute effectively to the community in which it works. Here are the top three obvious things they’ve done that have made the team effective, relevant, intelligent, and useful.

  1. The team is diverse. I’m not even going to play around, diverse teams with many ideas and a range of people do better. End of story, it really ought not to be complicated these days. But one can’t just start a team and say “I want my team to be diverse”. That’s a start, but the important part is does one know how to build a diverse team? In technology, if one doesn’t have insight into actual human begins this doesn’t pan out so well. One has to have the ability to communicate effectively to people out of the tech nerd guy stereotype trope in order to actually build this type of team. Jeff, Brian, and crew appear to have this ability. I’ll write more on this later, but suffice it to say, this is a top skillset of a developer advocate team’s leadership.
  2. The team has to be skilled at a variety of complementing technologies. If someone knows X, and the next person knows X, and nobody knows Y, then the team is going to be fairly weak and likely broken in representing and providing value around Y, and in some sense even around X. At this point the Developer Advocates that have been introduced have some pretty extensive skillsets around key technologies that the Microsoft Technical Evangelists have traditionally been extremely weak in. This current team has some skills in the Windows space, but there’s been a big focus in filling the massive skills gap around Linux, cloud technology (ironic there’s traditionally been such a gap on the cloud team), non-MS languages like Go, distributed systems, data analysis and intelligent (or data science or whatever one may call these roles), and more. The Advocate team (also not called evangelists anymore, finally) is finally in a good position to actually start doing advocacy around actual cloud technology. I’m excited for the potential of the prospects!
  3. The third thing that has stood out, is that they’ve hired people that know how to do the advocacy thing already. They’re not trying to define or redefine it on Microsoft’s terms but instead have brought people onboard that are already natural advocates of things they find interesting. Take Erik St Martin (@erikstmartin) for example; co-authored a book, “Go in Action“ with Brian Ketelsen (@bketelsen), co-hosts Go Time FM. That brings up another great example with Brian Ketelsen. Both of these guys are hug advocates in their own right, without connection to any specific big company or what not. These are the types of people that bring huge strength to a team with already proven ability to delivery. Then there’s Jesse Frazelle, but seriously, I really don’t even need to mention the work she’s done with containers (cough cough, docker, etc). Another person you should be watching is Anthony Chu (@nthonyChu), who’s been a steady Azure and great technologies advocate over the years, also joined up. You can read more about the individual team members here, and I hear through the secret grapevine that there are more en route to join. Simply put, Microsoft isn’t pulling their punches!

Before a lot of the Microsoft team had been formed into the epic legion it is today, there were a number of articles pointing to this rebirth into a newly relevant organization. One that was solid is Ars Technica’s “Microsoft’s renewed embrace of developers, developers, developers, developers“ by Peter Bright (@drpizza). One of the first, as anyone who reads & subscribes to [Red Monk] analysis would suspect, was published by James Governor (@monkchips) with “On Hiring Jesse Frazelle: Microsoft’s Developer Advocacy Hot Streak Continues“. The writing has been on the proverbial wall.

So now what?

Now the thing to wait and see is if the team and the team’s leadership can direct all of this energy into their respective efforts. The team is big, lots of people, lots of focus points. How will they use each others’ strengths while building up along core competencies? How will they provide value without detracting from product and push product without losing community value? There are a lot of questions to be answered and I’ll be keeping a close eye on their efforts. As I do with all of the advocacy teams I find fellow interests in. The advocacy, effectiveness, and reasons for it all has been an interest of my own for some time. So much so you can expect more than a few more articles on this topic, until then, cheers!