21% of developers are already on Windows 10

Windows 10 is booming among devs.

Advertisements

Stack Overflow recently publised their (annual?) developer survey, in which 56,033 coders in 173 countries participated.

When asked about their desktop OS, the participants responded as below in 2015 and 2016:

Windows1
No Windows 10 in 2015
Windows2
Windows 10 at 21% in 2016

Stack Overflow’s conclusion was, predictably as always for the blogosphere, negative for Windows:

If OS adoption rates hold steady, by next year’s survey fewer than 50% of developers may be using Windows.

Ummm yeah. Let’s just ignore Windows 10 – a single version of Windows – going from nothing to 1 in 5 developers in about half a year.

Let’s just ignore Windows 10 – a single version of Windows – going from nothing to 1 in 5 developers in about half a year.

Developer buy-in is crucial for any OS, as without developers there are no apps. The fact that devs are familiarizing themselves with the OS and using it for mission critical applications is extremely encouraging.

Windows 10’s growth among developers is nothing short of impressive. “If OS adoption rates hold steady,” it should be the #1 OS among developers in 2017.

Other Microsoft technologies made excellent showings in their respective categories; most notably Visual Studio and F#.

How to safely update your rooted Verizon Samsung Galaxy S5 to to the NK2 build

Because xda-developers instructions – like most forum guides – are poorly written.

This post assumes you’ll be updating from the NCG (Android 4.4.2) build the Verizon Samsung Galaxy S5 (SM-G900V) was released with. This method will not affect your files or apps on internal storage or the SD card in any way, so don’t worry about your phone being wiped.

  1. Ensure drivers for your phone are installed.
  2. Ensure towelroot is installed so you can easily re-root later.
  3. Ensure the System Updates app, SDM 1.0, is enabled. You’ll need it for the OTA update in a later step.*
  4. Ensure SuperSU is already installed.
  5. In Settings, tap Security.
  6. Under FIND MY MOBILE, uncheck the Reactivation lock box to prevent your SIM card being borked during the process.

    Note: do NOT proceed to Step 7 until Steps 1-6 have been completed.
  7. Download G900V_NK2_Stock_Kernel.tar.
  8. Download G900V_NCG_Stock_Kernel.tar.
  9. Download G900VVRU1ANHA_G900VVZW1ANHA_VZW.zip.
  10. Download ODINv3.10.rar.
  11. Decompress all the above .zip and .rar archives only. Do not decompress the .tar file(s).
  12. Turn off the S5.
  13. Hold Volume Down + Home + Power simultaneously to enter Download Mode.
  14. Press Volume Up to continue as indicated onscreen.
  15. Launch Odin from its decompressed folder.
  16. Connect the S5 to your PC via USB 2.0+ cable. This should result in Odin detecting the phone as below:

    Note the highlighted slot and "Added" message which indicate Odin's detection of the S5
    Note the highlighted slot and “Added” message which indicate Odin’s detection of the S5
  17. In the Odin window in the Files [Download] section, check the AP box.
  18. Click the AP button and select the G900VVRU1ANHA_G900VVZW1ANHA_G900VVRU1ANHA_HOME.tar file, found in the decompressed G900VVRU1ANHA_G900VVZW1ANHA_VZW.zip folder.
  19. Click Start. The S5 will update and boot into to the NHA build.
  20. In the S5’s Settings, tap System Updates.
  21. Tap Check for new software update.
  22. Accept, download, and install the available OTA NK2 update.
  23. When the S5 has successfully rebooted, turn it off.
  24. Put the S5 into Download Mode again as in Step 13.
  25. Repeat Steps 16 to 18 for the G900V_NCG_Stock_Kernel.tar file, with the exception that the S5 will now boot into the NK2 build, albeit running on the *NCG kernel.
  26. Open towelroot.
  27. Tap make it rain and wait for the rooting process to complete.
  28. Reboot the phone if towelroot doesn’t do that automatically.
  29. Open SuperSU and let it update the binary normally if it prompts you to do so.
  30. Repeat Steps 22 to 24 for the G900V_NK2_Stock_Kernel.tar file. The S5 will now boot into the NK2 build with matching kernel and root access.

*If you forget to do this, you won’t be able to OTA update in Step 18. In that case, follow Step 23, boot into the NHA build on the NCG kernel, and then root. Reboot and re-enable SDM 1.0, then continue the process at Step 18.

Credit JTidler & muniz_ri for the above instructions. I wrote this guide as an easier to understand and follow version for users like myself who don’t flash kernels and images as a matter of course.

Do NOT use SuperSU with Cyanogenmod (even if Titanium Backup suggests you do)

The back story behind this one is pretty long, but the executive summary is that Cyanogenmod (CM) and SuperSU don’t play well together. Effects of combining the 2 include, but are not limited to:

  1. CM OTA updates failing to install:

    Failed. Great.
    Failed. Great.
  2. Apps that need root permissions – e.g. AdBlock Plus – malfunctioning.

Worse yet, reverting to CM Superuser from SuperSU is  a huge pain, if not nearly impossible. As with most things Linux, there’s pretty much no working documentation of this problem anywhere. The only fix I was able to apply was to update CM to a Nightly build – with a complete image download – instead of an M-release. This isn’t a bad thing per se, but a root permissions app shouldn’t effectively force a complete OS (re)install on its own. That’s awful UX.

Also, don’t be scared of Titanium Backup‘s ominous warning about needing to use SuperSU. The only time you’ll need to do that is if you’re modifying (e.g. uninstalling) CM system apps, an option than CM’s lack of bloatware pretty much obviates. That said, you should still by all means use SuperSU on rooted stock ROMs.

Feel free to ignore this on CM, but DO use SuperSU on stock OEM ROMs.
Feel free to ignore this on CM, but DO use SuperSU on stock OEM ROMs.

How to set up Linux Mint on PCs that lack Windows 8.1 support

Recently a friend came into possession of an HP Compaq 6730b laptop: a 6+ year old relic running pre-SP1 Windows XP. After quickly determining that it wouldn’t support Windows 8.1, I decided to load it up with Linux Mint. Here’s how to do that:

  1. Download the Cinnamon 64-bit (assuming you have a 64-bit CPU) ISO here. Ignore the other builds: a general rule of thumb with Linux is the more exotic you get, the more problems you run into. Keep it simple.
  2. Download Win32 Disk Imager.
  3. In Windows 8.1, open the folder containing the ISO file.
  4. In the View tab, check File name extensions.
  5. Change the .iso in the ISO filename to  .img.
  6. Plug a USB flash drive of capacity 2 GB or greater into your PC.
  7. Run Win32 Disk Imager.
  8. Click the file icon in the Image File section.
  9. Navigate to the renamed .img file in Step 5.
  10. Click Open.
  11. In the Device menu, select the name of the drive in Step 6.
  12. Click Write.
  13. When that’s done, remove the USB flash drive from your PC and insert it into the PC onto which Mint is to be installed.
  14. Reboot the install PC.
  15. Set the USB drive as the boot device (how to do this varies from PC to PC). Mint should fire up from there and give you the option of installing it to the hard drive, which you should then do.
Not a pretty UI at all, but gets the job done.
Not a pretty UI at all, but gets the job done.

If your Wi-Fi doesn’t work after installation, try resetting the PC’s BIOS to factory default settings. That worked for me.

Pros:

  • It’s fast. The old laptop boots to a usable desktop faster than my Core i7-3770 powered Dell XPS 8500.
  • Very low RAM usage.
  • Excellent legacy hardware support.
  • It’s free.
  • It installs quickly.
  • Peripherals (assuming they’re recognized by the OS) install and configure rapidly.
  • You can get up and running with word processing, email, web browsing, etc. in no time.
  • Easy to nonexistent learning curve for basic functionality.
  • Read NTFS storage out of the box.
  • No annoying, unmovable dock (unlike Ubuntu).
  • No need to worry about security software.* Unfortunately, this pro is nearly nullified by a con below.
  • Since most of the ways to hose the system involve command line use, you can hand it over to less experienced users without worrying about them borking it.
  • Very familiar to Windows users.
  • Aero Snap is better than it is in Windows.
  • Can play DVDs out of the box. (Ironically, Windows lost this feature in Windows 8+.)

Cons:

  • Documentation is thin to nonexistent for anything more advanced that email, productivity, and web browsing.
  • Limited default software support compared to Ubuntu, positively woeful compared to Windows. While LibreOffice worked, I couldn’t get OpenOffice to install, for example.
  • As with many distros, solutions posted online often lack important details.
  • Samba just doesn’t work.
  • Doing anything more than the basics still requires using the terminal or manually editing config files (I’m a GUI guy).
  • Although there are no antivirus worries, there’s also no way to check for and/or automatically install updates; it has to be done manually. This produces a significant security risk, especially if you’re passing the machine on to non-technical users who’re unlikely to check for updates themselves.
  • The menu for adding/removing users doesn’t update immediately, so deleted user accounts show up until you close and reopen the menu. Confusing and annoying.
  • Dated UI that looks like a reimagined Windows XP.
  • (For Firefox Nightly users) Nightly builds are few and far between compared to Windows.
  • Little annoying things. For example, while Aero Snap Windows key combos work amazingly well, some basic Windows key combos with obvious analogs in Mint don’t work.

Conclusion:

I’ll be honest: I grew up on Windows, and the way it does things just makes more sense to me. It’s not that Linux Mint is bad, it’s just that it would have to offer some significant advantage over Windows in daily use for me to switch. Unfortunately, it doesn’t, except in the following cases:

  • You absolutely need Linux for something that can’t be done on Windows.
  • You have older hardware that doesn’t meet Windows 8.1’s system requirements AND don’t want to buy a new PC. Seriously, if you can stand the cost of a new machine, just go that route instead and eBay the old one.

That said, it’s the best Linux desktop experience I’ve come across yet, and my friend seems pretty happy with it.

*This is mostly because there isn’t much Linux security software out there, not because Linux malware doesn’t exist.