The other day I wanted to give some use to my old development laptop to watch movies at the living room (instead of using the gaming PC, now at another room). I opted for a fresh format and installing Windows 7, to either get the upgrade to Windows 10 or staying with a decent OS (I got really tired of Windows 8/8.1). But few things in life are easy, so after installing the OS, some drivers and running Windows Update once, it installed Windows 7 Service Pack 1... and after a reboot, the "check for updates" would never end (I left it ~4 hours the first time).
As usual, I searched for possible problems. Basic official Microsoft troubleshooting just pointed me to a tool, so I tried that Microsoft FixIt utility. It did nothing.
I kept refining searches until I found something more specific: Windows Update components might get stuck, corrupted, call-it-whatever-you-want. So I tried that Windows Update Diagnostic utility. First run said it fixed a few things except two of them.
Searching for one of the remaining issues I was told to download the System Update Readines Tool for Windows 7, a 550MB (!) pack of something that looked individual patches. No problem, download, run, wait, restart and running the WU diagnostic utility I got to just one reamining unfixed issue: "Service registration is missing or corrupt".
Now, hunting for how to fix the service registration I wasted probably more time than with everything else, as there is no official answer, lots of KB and Microsoft forums questions without official answers, and lots of procedures that seems to work sometimes. This is what I did to fix the issue:
net stop wuauserv
When it finishes, checking for updates again will yield almost 200 new Updates between mandatory and optional. You probably will need to restart multiple times as some of them are exclusive regarding sequential install, but with patiente you will be able to leave the PC fully up to date.
I know and understand operating system updates are not easy to deliver, but maybe instead of trying to sneak me Bing or Silverlight "updates", the effort could be put into improving the diagnostic tools (so they work properly and the first time) or at least in the KB providing an easily reachable official solution.
Now, I should decide if to try to force the Windows 10 upgrade or not, as I've had enough unexpected installs and updates for a while...
I've been using for more than one year and a half an Ubuntu 12 VM for daily development. I know we now live in an era of Vagrants and containers, but I haven't had good experiences with the former, and having Windows host OS containers with Linux guests are not possible. Also, with a proper configuration & decent CPU, assigning one or two cores and a few GB of RAM to a VM makes for a wonderful development environment (which you can backup, rollback and duplicate easily).
So, I decided that might be interesting to write down my findings and some quick optimizations anybody can apply to get a faster guest Linux VM.
I have tested this VMs both with Windows hosts (Windows 8, 8.1 and 10) and Ubuntu 15, with a 4th gen i7 and a 5th gen i5 (both mobile CPUs), 8 GB of host RAM and SSD HDDs.
sudo apt-get install nautilus-open-terminal
I use lately Sublime Text a lot, both at work and at home, where it's curious that even for languages that I have better tools available and installed (C#/ASP.NET, Powershell...) I usually use Sublime too instead (because is faster and I don't need to compile nor debug). Also, at work my colleages have activated Hound to get GitHub comment
floodings coding style violations and, as you get one comment per broken rule, some pull requests become really hard to code review.
So, in order to prevent hound bites (and learn in a more confortable way what rules I should follow), I checked and fought a bit with Sublime plugins to setup the same rules that Hound uses for Ruby code (Rubocop gem) and have them inside my IDE. If you want to have realtime coding style checks inside Sublime 3, you need this:
Just take into account to leave the Rubocop rules file named as .rubocop.yml at the project's base folder, because SublimeLinter-Rubocop doesn't allows to specify another name/path. Also restart the IDE after installing everything.
It is fun that at 2005 we had nice aggregated CI reports that you could also concatenate and send via a single email (or check online at your CI server) but at 2015 receiving literally 50 emails after creating a pull request seems good by a continuous integration tool maker... ¯_(ツ)_/¯
Note: All of this engines require the original game data files as they are work based on reverse engineering of the game binaries but all content must be installed by you. You can find most games quite cheap at either Steam or Good Old Games.
I love videogames, but lately I'm noticing that out of the dozens of monthly releases, as much as one title per month is appealing to me. While this is good for my lack of time, it also means that with some exceptions, I'd sometimes rather play an old videogame instead of the latest triple-A. But, as Windows evolves compatibility breaks, and regarding old videogames many times the only available trick is to fallback to DosBox. You setup everything, launch it... and notice that playing Dungeon Keeper at 320x240 was acceptable back then but now feels way too low for a strategy game.
Ohh, nostalgia, always tricking our mind into feeling that old games were superb and awesome, but also forgetting that UIs were more ankward, resolution was pretty low, and games had also bugs (although not so many as today constantly-patching madness) and severe limitations. Thankfully, there is an answer for this wish of "playing old videogames fixing old times annoyances": Fan-made game engine recreations. Crazy developers that rebuild the game internals either as a multiplatform game (Windows/Linux/Mac) or at least compatible with the latest Windows versions (still a great achievement considering that many were made for MS-DOS), but usually also offering higher resolutions, working online multiplayer, tons of bugfixes and usually also some tweaks or improvements over the original.
Here is a small alphabetical list of 12 classic games that I love playing with custom engines because they recreate quite well the experience or when they enhance it, it really is for good.
I probably have missed some others, but I think with all excepting FreeSynd I have finished the full campaign/history at least once so they indeed work.
There's been quite some talk about how Windows 10 upon install by default sends lots of mostly private stuff to Microsoft. Sure, it can turned on "just not using express settings", but we all now many people are lazy and install without reading, so this was done on purpose (else everything would be opt-in).
After the initial install, people realized the operating system kept bleeding data to the outside, so I did a quick test. I opened Task Manager, the Performance tab and there it was having a high activity peak when I wasn't doing anything. To avoid a false positive I ordered processes by network %... and I had the Search "app" sending 2.3MB of data... when I had disabled everything I could at setup (plus later on the Privacy settings).
Checking the App History tab I got this nice two "rogue leakers", two applications I hadn't even launched once in my few weeks using the new OS:
Somebody please tell me why the Store has to grab so much data when I haven't even setup a Microsoft account (I use a local one), or why if I have never searched anything it was sending/receiving MBs. Searching for a more complete list of Windows 10 privacy fixes I found this nice guide, but as I never use Bing and similar MS-only services, I did some network sniffing to see what other places my PC is still "calling".
This are the domains I've ended up blocking (redirecting to 127.0.0.1 from the hosts file is the best stopper) based on articles read and my own Wiresharking experience:
I also disabled ssw.live.com but then I had issues updating Windows Defender so I guess it either controls WD definition files or the whole Windows Update and I unblocked it.
I really like Windows 10 after suffering Windows 8 and using Windows 8.1 (although I'm sticking to Windows 7 for the gaming PC), but sadly it seems the privacy invasion era has jumped from mobile phone operating systems to desktop ones. It's still a better battleground to fight from (Firewalls, hosts file, 3rd party apps/tweaks...) but still another war to fight at.
PS: I've read as much as possible to take away FUD from reality, and while some options have been explained, not all questions have been answered.
PS 2: If I come with additional things to disable or domains to block I'll update the post to reflect it.