Friday, September 28, 2018

My personal ranking of the 3 popular Operating Systems.

I'm an Operating System guy. I love installing different types of Operating Systems, just to see what they look and feel like! Heck, I've even Visualized old AT&T System V Unix, just to see what the command shell was like. But I recently found myself wondering, out of three biggest Operating Systems out there, grouping all the Linuxes together, how would I rank them? Well, after a little thought, I think I've come up with the order.
And a quick side-note, I'm writing this from a developer standpoint, so there will be a lot of programming talk.

Number 3: Apple macOS/OSX:

The more I use this Operating System, astoundingly, the more tolerable I find it. The nice thing about macOS is that at it's core, it's Unix. It's been awfully manipulated in my eyes, but it's still definitely there. The problem with it is that to make it more user-friendly Apple has thrown a bunch of stuff on top that weights down a otherwise amazing OS. Reducing it to what is essentially a Windows-like experience for developers. But it does have the BASH shell. And you can easily install the Apple compilers. It's a very close race between Windows and macOS for me, but at the end of day, I disapprove of Apple's business policies more then Microsoft's, and that's a spot I just can't get over.
 Also, why does it have to have a MACH-Kernel? If it didn't, we could run actual BSD apps on here! And I could replace the awful Finder file explorer!

Number 2: Microsoft Windows (7/10):

I used to LOVE Windows. I thought it was the cream of the crop. I was stupid then. Windows is an amazing OS. The taskbar, although arguably not as pretty as the macOS dock, is much better for fast efficient work. Almost every program for PCs has a Windows version, and the File explorer is really amazing. The problem is, Windows is entirely Microsoft original. This results in all of the more advanced *nix tools not running. Windows has an amazing, powerful set of tools, made almost entirely just for use on Windows. But they're not the same as the open source tools, used on almost every other platform. Resulting in more advanced programs, such as GNU gparted, not being ported to Windows, and probably wouldn't even work if fully ported over in it's current state.

Number 1: Linux (All Distros.):

As a quick heads up, this is based mostly off my experience with Ubuntu, but will hopefully be general enough to apply to all Distributions of Linux.
Linux is the true cream of the crop. Linux is the most durable, mod-able OS you can install. You can change just about anything. If you don't like the way your desktop looks, install a new one! Want to run Windows programs? You can do that too! On top of all this, it supports all of the standard programming tools. The major downside to Linux is, you lose a lot of native application support.
The majority of the major applications, such as Microsoft Office, or iTunes, don't support Linux. As  no one other then programmers really use this OS. And they often have a dual boot of either Windows or macOS. But it does have a large library of "Free Software", which are, just that. You can basically anything with free software. (Although, they often require that the base source code, if you change it and publish it, is still free and open through your program.)

Saturday, September 1, 2018

Google and Their Despicable Warranty Pratices.

I own a Google Pixel 2. It's a really good phone. I wish I this was a review for the Pixel 2, but instead I feel the need to write this piece. I feel like I need to spread the word about something awful Google is doing with their phones you receive after making a warranty claim.

Just as a note before jumping into the story, I will be calling Pixel 2s bought from the Google Store "Google Pixel 2s" and the ones from Verizon "Verizon Pixel 2s".

Before we get into the story here, it's important that you have a very general idea of what the Bootloader is, and how you unlock it.

The Google Pixel 2 ships with an "Unlocked Bootloader." This is an advanced feature that mostly only advanced users use. It allows users to overwrite the preinstalled software on the phone. Google themselves actually instructs users how to unlock the bootloader on this page.

In December of 2017, I bought a Google Pixel 2 for two reasons. I am working on becoming a Android developer, so I wanted to have the latest versions of Android to test the app I am currently developing. The second reason is the unlockable Bootloader. I enjoy running my own custom firmware on phones, one that I can tweak and modify ever tiny thing if I wanted to, and the unlockable bootloader would allow me to do so.

When I got my Pixel 2, everything was perfect. I had Android Oreo (the newest version at the time), I could run my own firmware, it was the Android device of my dreams. But I was stupid, and didn't put a screen protector on it. By February the screen, although still usable, had some minor issues. So I decided to use my warranty plan and have the phone replaced.

Returning the phone was easy. They sent me a replacement device and I sent back my original Pixel 2. At first everything seemed fine. I didn't try to unlock my bootloader on my replacement device until about two weeks after I got it.

And this is where the problem is. When I tried to unlock the Bootloader on my replacement device, the "Fastboot" tool used for unlocking the Bootloader gave me an error, with the following message: "FAILED (remote: Flashing Unlock is not allowed)" And the "OEM Unlock" option in Developer Settings became grey and had the text "Please connect to the Internet or contact your carrier" under it. 

Confused by this error, I searched the internet for reasons behind this error. At first I found two things, that lead me to assume either this was a early run Pixel 2, which was reported to have the same error when unlocking, or a Verizon Pixel 2. In both cases I thought the answer was clear: contact Assurant, which is the company Google uses for the Pixel 2 warranty, and get sent another Pixel 2. If it was an early Pixel 2, it would be counted as defective or if it was a Verizon Pixel 2, they would have made an error, so they should send me a proper one.

Once again, Assurant was actually pretty easy use, and they sent me a new Pixel 2, no problem.
This time, I tried as soon as the replacement devices arrived, to unlock it. Again, I got the same error. "Flashing Unlock is not allowed"

And this is where I sit now. I am now on my 5th replacement device, all of them getting the exact same error when I try unlocking. I have tried contacting both Google and Assurant, both have sent me replacement devices and neither have sent me a correct device.

Now I'd like to share the info I've gathered. In my long journey I've found three useful things:
1) I am not the only person suffering from this problem. There are multiple reports of this issue on the XDA developer fourms, a website for phone hacking.
2) I do not in fact have a Verizon device, I do indeed have a Google Pixel 2. And I would assume they've weeded out all the defective early Pixel 2s.
3) It appears that this has something to do with the fact that they are sending refurbished devices. Although, I don't know if you BOUGHT a refurbished from Google if it would has this problem, as I don't have the money to spend on finding out.

 I'd like to be direct here. In my eyes, Google is doing something very wrong here. If you return a Pixel 2 device via their warranty services, they send you an incomplete device. Even if you won't ever use the unlocked Bootloader, they are sending you a device without a feature that your phone should have.

I have tried to talk with Google tech support about this issue and they won't tell me any fixes or any explanations for why my device is not the same as the one I bought in December. The most I've gotten out of them is: "It is unlockable, we just can't tell you how to do it" even though their website gives that information freely, at least for normal Google Pixel 2s.

If you read Google's terms regarding the warranty policy, they claim they cannot be held accountable for "lost data", so they may claim that this feature is just "lost data" but they should, at the very least explain why they take this feature away from refurbished devices, and include a warning that you'll lose this feature.

Here, at the end, I'd like to request that you share this post as far as you can. This is not right that Google is modifying replacement devices, let alone not warning people before hand, so as many people as can should be warned about this. And maybe if this explodes enough, maybe people like me stuck in this situation can get a explanation from Google.

Even if you don't share this post, I want to say thank you for reading this blog post, and taking the time out of your day to read why I'm upset with Google. Thanks for reading, and have a good day.

UPDATE! (11/9/18):
So. This warranty thing never worked out. Google never replaced the phone with a working bootloader. But they did agree to give me a refund. They made it clear to me that this is a special thing for them, and they don't normally do this. But I felt it was a good idea to update this blog post. I now have an iPhone XS because Google doesn't deserve my money right now.

UPDATE... (11/17/18):
Well. I can't stand iOS. I can't program it on enough of my computers. So I returned the iPhone and got a Pixel 3 XL. It has the same issue as the Pixel 2 does above. Although I have not fought it Google support yet. This may need a bigger update later.

You can follow me on twitter at @Snorp08