![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
[Welcome to December Days, where I natter on about things organized around a theme (sometimes very loosely), one a day, for 31 days. This year, we're taking a look back at some touchpoints along the way of my journey with computing and computing devices.]
The first smartphone I owned enters the scene! Before that, I had what are usually called "feature phones" - phones with a vendor-specific operating system that could do things like limited web browsing or access specific social media networks like Zuckerberg's Folly, but that don't have an operating system underneath them that makes the phone into a pocket-size nearly general purpose computing device capable of installing various packages to the system to run. About the time I realized I was getting severely gouged, even with the employee discount, for having two phones on my wireless access plan, I hatched a plot to purchase two smartphones, used, that I could then use with my new wireless carrier and the benefit would be legendary for both my wallet and for what sort of things could be done on the smartphone.
The reality was significantly underwhelming, but it was still an improvement from what I had before with the feature phones, and, as it turned out, the phone I had selected had already had an aftermarket operating system installed on it. (The other one, the one that went to my ex to use, did not.) So in my quest to save a few bucks, I also had my eyes opened to the community of smart device modders and the creators of custom operating systems for smartphones.
With the perspective I have now, I realize that it was even better of an idea to get away from Verizon Wireless when I did, because Verizon's policy is to lock away the capability of anyone to install a custom operating system on their phones and refuse to unlock it. Don't buy Verizon phones, new or used, if you ever want to hold on to a phone after it goes out of the support period from the manufacturer. Don't get service from Verizon if you want people to be able to extend the life of their service and keep the underlying operating system patched against new security threats. Don't get Verizon if you really love your phone and don't want to have to give it up for a model that you won't love. Just don't get Verizon, if you have a choice between them and someone else, basically, of you want to get away all involved in seeing something other than throwing away phones when the manufacturer is done with them.
Anyway, after discovering that I would need to provide external storage in the form of a microSD card if I wanted to download anything to this smartphone, I had a merry time using this non-bloated phone to call, text, browse the web, install a few apps, and use it like the pocket computer that it was. I had wisely joined a provider that offered unlimited data plans and took advantage of that nearly immediately, being able to look up all sorts of things or otherwise keep myself entertained with some solitaire in some places. I was able to transfer customized ringtone files and set them to fire on specific actions, so I knew the difference between a text and a new email when it arrived. (Nowadays, we generally carry our phones on vibrate, because it's become severely gauche to have a ringtone play in public outside of specific situations, but those days were all about experimentation.) I could hook the phone up to a computer and pull off pictures taken so as to free up space without having to deal with proprietary software and drivers. As a Linux implementation, Android is by far the most user-friendly one I have encountered to this day for everyday use. (It's a little less friendly when you want to do interesting things, but that's because it switches from mostly graphical to mostly console as a warning for people who aren't comfortable about what the risks are in what they plan on doing.)
That said, outside perhaps of Google, many manufacturers of devices at this point in time were not the happiest about the possibility of other operating systems getting installed on their devices. They would implement security measures and other means to try and make sure that no other operating system or competing item could be installed on their devices. Which is catnip for the kinds of hobbyists and hackers who approach problems like this with the idea that it can be solved and that trade information back and forth over the web with each other about how their own attempts are going and what kind of information they have been able to get a device to surrender about itself that might make the next attempt more effective. (At the moment, there's no known way of getting Verizon locked bootloaders unlocked. Possibly because if it were possible to do so, that would make all of the bootloaders vulnerable to entities with malicious intent, instead of those of us who just want to extend the life of our devices.) Eventually, those same hackers find vulnerabilities in the vendor-provided versions of Android installed on the phones. Those vulnerabilities can be used to run privilege escalation attacks and gain the powers of root, or at least a privileged user who can make changes to the underlying structure, or they can be used for Arbitrary Code Execution, a state where whatever code is presented to the machine will be run, without any checks to see if it's code that should be run, whether the code is being run in the right environment and by the right user, or any other thing that would normally raise objections or refusals from the systems at hand. Once partitions can be mounted as read/write instead of read only, it becomes completely possible to change the system, the recovery space, the bootloader itself, and to do such things in ways that are not safe if you don't follow instructions correctly or if the packages you are trying to install got corrupted in their download. The same principle applies to people who want to run their own applications on game consoles, and a lot of system software updates from companies to smartphones, tablets, consoles and handhelds are specifically about patching security holes and vulnerabilities that could be exploited for ACE or a privilege escalation. Sometimes the patches themselves introduce different vulnerabilities, which in turn spawn more patches, and so forth.
Custom operating systems, like CyanogenMod, essentially required someone to exploit a security vulnerability in their default software, then use their upgraded permissions to mount certain partitions as writable and then install the custom OS (and a compatible recovery partition along with it). I have a feeling that various custom OS over the year generally try to patch the holes they came through while retaining the ability to act as a superuser or root, as a good practice toward their own security, but it was also the kind of risk that I didn't take with anyone else's devices unless they absolutely were sure they wanted me to do it. (They usually don't.) So in my own case, I'm much more willing to risk things and try to fix them if I break them, and that only inconveniences me.
Because of the desire to have custom operating systems on my device that I can continue to receive updates for past the period of their manufacturer support, I also conveniently avoid buying phones and devices at full price when they first come out. I'm not the kind of person who has $800-$1500 USD lying around so that I can buy a new phone every two years, and I really detest the way that US wireless carriers often present the price of the phone as a low amount of dollars to be paid every month and in much smaller print point out that the monthly price is usually for two years and it requires staying with the carrier for that time because the carrier is essentially giving someone a loan for the device to be paid back over those two years. Even places that proclaim themselves nowadays to be without contracts and lock-in and the like still do this specific thing to make sure that people stay where they are. (Nevermind the part where US wireless services are more expensive and have less good coverage of the country, to the point where some places only have one wireless carrier that gets service in their area.) Once you're in the cycle of upgrading, there's usually a deal somewhere about trading in your current phone for a discount or to make the new phone free, but that still generates a lot of eventually electronic waste, assuming those phones get sold to someone else to retail for significantly closer to what the real cost of the devices would be. And then become hand-me-downs to others after they've gone out of their support period, and then possibly recycled or repurposed yet one more time to make them into phones to call emergency services with and nothing else. Now, my locality has an electronics recycling program that my local computer parts vendor participates in, so when these items truly have given up and are no longer feasible (as I finally admitted to myself with my Desire Z with the swollen battery), they can be recycled into something else. I'm not sure what other localities do, and that's assuming that a service manufacturer doesn't take the route of deliberately trying to destroy the aftermarket market by cutting off old phones from their application stores. But that's for a different time.
Welcome to the smartphone era, a time where POSIX adoption is becoming more and more true, just without any of the images that people have come to associate with the Unix and Linux families of desktops.
- CPU: Single-core Qualcomm Snapdragon S1 MSM7227 ARM11 processor at 600 MHz
- Memory: 512 MB RAM
- Graphics: Adreno 200, max resolution 320x480
- Sound: Onboard sound with monaural speaker capabilities, connected to headphones through 3.5" jack
- Inputs/Peripherals: QWERTY Keyboard, capacitive touch screen and four physical buttons for Home, Menu, Back, and a vendor-specific button, microUSB 2.0 port for charging and data transfer, IEEE 802.11 b/g, Bluetooth 2.1, integrated 5MP photography and video camera
- Storage: 512MB internal storage (reserved for OS and system components), microSD card reader for external storage, max capacity 32GB
- OS: CyanogenMod 7.2 (Android 2.3.7 "Gingerbread")
The first smartphone I owned enters the scene! Before that, I had what are usually called "feature phones" - phones with a vendor-specific operating system that could do things like limited web browsing or access specific social media networks like Zuckerberg's Folly, but that don't have an operating system underneath them that makes the phone into a pocket-size nearly general purpose computing device capable of installing various packages to the system to run. About the time I realized I was getting severely gouged, even with the employee discount, for having two phones on my wireless access plan, I hatched a plot to purchase two smartphones, used, that I could then use with my new wireless carrier and the benefit would be legendary for both my wallet and for what sort of things could be done on the smartphone.
The reality was significantly underwhelming, but it was still an improvement from what I had before with the feature phones, and, as it turned out, the phone I had selected had already had an aftermarket operating system installed on it. (The other one, the one that went to my ex to use, did not.) So in my quest to save a few bucks, I also had my eyes opened to the community of smart device modders and the creators of custom operating systems for smartphones.
With the perspective I have now, I realize that it was even better of an idea to get away from Verizon Wireless when I did, because Verizon's policy is to lock away the capability of anyone to install a custom operating system on their phones and refuse to unlock it. Don't buy Verizon phones, new or used, if you ever want to hold on to a phone after it goes out of the support period from the manufacturer. Don't get service from Verizon if you want people to be able to extend the life of their service and keep the underlying operating system patched against new security threats. Don't get Verizon if you really love your phone and don't want to have to give it up for a model that you won't love. Just don't get Verizon, if you have a choice between them and someone else, basically, of you want to get away all involved in seeing something other than throwing away phones when the manufacturer is done with them.
Anyway, after discovering that I would need to provide external storage in the form of a microSD card if I wanted to download anything to this smartphone, I had a merry time using this non-bloated phone to call, text, browse the web, install a few apps, and use it like the pocket computer that it was. I had wisely joined a provider that offered unlimited data plans and took advantage of that nearly immediately, being able to look up all sorts of things or otherwise keep myself entertained with some solitaire in some places. I was able to transfer customized ringtone files and set them to fire on specific actions, so I knew the difference between a text and a new email when it arrived. (Nowadays, we generally carry our phones on vibrate, because it's become severely gauche to have a ringtone play in public outside of specific situations, but those days were all about experimentation.) I could hook the phone up to a computer and pull off pictures taken so as to free up space without having to deal with proprietary software and drivers. As a Linux implementation, Android is by far the most user-friendly one I have encountered to this day for everyday use. (It's a little less friendly when you want to do interesting things, but that's because it switches from mostly graphical to mostly console as a warning for people who aren't comfortable about what the risks are in what they plan on doing.)
That said, outside perhaps of Google, many manufacturers of devices at this point in time were not the happiest about the possibility of other operating systems getting installed on their devices. They would implement security measures and other means to try and make sure that no other operating system or competing item could be installed on their devices. Which is catnip for the kinds of hobbyists and hackers who approach problems like this with the idea that it can be solved and that trade information back and forth over the web with each other about how their own attempts are going and what kind of information they have been able to get a device to surrender about itself that might make the next attempt more effective. (At the moment, there's no known way of getting Verizon locked bootloaders unlocked. Possibly because if it were possible to do so, that would make all of the bootloaders vulnerable to entities with malicious intent, instead of those of us who just want to extend the life of our devices.) Eventually, those same hackers find vulnerabilities in the vendor-provided versions of Android installed on the phones. Those vulnerabilities can be used to run privilege escalation attacks and gain the powers of root, or at least a privileged user who can make changes to the underlying structure, or they can be used for Arbitrary Code Execution, a state where whatever code is presented to the machine will be run, without any checks to see if it's code that should be run, whether the code is being run in the right environment and by the right user, or any other thing that would normally raise objections or refusals from the systems at hand. Once partitions can be mounted as read/write instead of read only, it becomes completely possible to change the system, the recovery space, the bootloader itself, and to do such things in ways that are not safe if you don't follow instructions correctly or if the packages you are trying to install got corrupted in their download. The same principle applies to people who want to run their own applications on game consoles, and a lot of system software updates from companies to smartphones, tablets, consoles and handhelds are specifically about patching security holes and vulnerabilities that could be exploited for ACE or a privilege escalation. Sometimes the patches themselves introduce different vulnerabilities, which in turn spawn more patches, and so forth.
Custom operating systems, like CyanogenMod, essentially required someone to exploit a security vulnerability in their default software, then use their upgraded permissions to mount certain partitions as writable and then install the custom OS (and a compatible recovery partition along with it). I have a feeling that various custom OS over the year generally try to patch the holes they came through while retaining the ability to act as a superuser or root, as a good practice toward their own security, but it was also the kind of risk that I didn't take with anyone else's devices unless they absolutely were sure they wanted me to do it. (They usually don't.) So in my own case, I'm much more willing to risk things and try to fix them if I break them, and that only inconveniences me.
Because of the desire to have custom operating systems on my device that I can continue to receive updates for past the period of their manufacturer support, I also conveniently avoid buying phones and devices at full price when they first come out. I'm not the kind of person who has $800-$1500 USD lying around so that I can buy a new phone every two years, and I really detest the way that US wireless carriers often present the price of the phone as a low amount of dollars to be paid every month and in much smaller print point out that the monthly price is usually for two years and it requires staying with the carrier for that time because the carrier is essentially giving someone a loan for the device to be paid back over those two years. Even places that proclaim themselves nowadays to be without contracts and lock-in and the like still do this specific thing to make sure that people stay where they are. (Nevermind the part where US wireless services are more expensive and have less good coverage of the country, to the point where some places only have one wireless carrier that gets service in their area.) Once you're in the cycle of upgrading, there's usually a deal somewhere about trading in your current phone for a discount or to make the new phone free, but that still generates a lot of eventually electronic waste, assuming those phones get sold to someone else to retail for significantly closer to what the real cost of the devices would be. And then become hand-me-downs to others after they've gone out of their support period, and then possibly recycled or repurposed yet one more time to make them into phones to call emergency services with and nothing else. Now, my locality has an electronics recycling program that my local computer parts vendor participates in, so when these items truly have given up and are no longer feasible (as I finally admitted to myself with my Desire Z with the swollen battery), they can be recycled into something else. I'm not sure what other localities do, and that's assuming that a service manufacturer doesn't take the route of deliberately trying to destroy the aftermarket market by cutting off old phones from their application stores. But that's for a different time.
Welcome to the smartphone era, a time where POSIX adoption is becoming more and more true, just without any of the images that people have come to associate with the Unix and Linux families of desktops.