my father showed me his new indoor grow house setup with the led shop light he bought on monday. we ended up making a run to the medford OSJL to get another shop light, since it was the final day of the 20% sale. i would also pick up some more yarn for my mother while we were at it. my father went to cambridge trust earlier today and they issued him a brand new replacement credit card. my father ended up buying two sets of shop lights because they were so cheap.
after returning to the cafe, i biked home with a container of pad thai for lunch around 2pm. instead of coffee (wasn't in the mood to go to the bathroom again), i had a mug of vanilla almond milk. later i ate half of the mooncake my 2nd got me, stuffed with dense dark date paste. i was surprised to find a salted egg yolk in the center as well, adding a savory flavor.
i finally finished watching all 10 episodes of the alienist. while the show does looks period pretty and it does have its moments, i think the story writing isn't very good, and the group of amateur detectives seem to be going in circles most of the time to the point where it was getting repetitive and boring. based on a book, i kept on wondering how faithful it was to the original source, and if the novel itself was as boring as the show. i heard they're already making a second season. hopefully the writing picks up.
i got around to reinstalling the system on my oneplus one. i first did all my research, opening up no less than 2 dozen browser tabs with all the different steps to take. the clearest directions i found was a 2014 youtube video showing you how to root a oneplus one phone on mac OSX. but a few of the provided links to various tools and resources were either outdated or pointing to the wrong thing. one of the missing things was the correct location of the android debug bridge (adb). i found it on my own on the android developer website, but ended up installing adb via homebrew. even that didn't go according to plan, since when i ran the command "brew install android-platform-tools" in terminal it gave me back this error: No available formula with the name "android-platform-tools" It was migrated from homebrew/core to homebrew/cask. You can access it again by running: brew tap homebrew/cask And then you can install it by running: brew cask install android-platform-tools. i followed those directions and was finally about to successfully install all the android platform tools. i then followed directions from 3 different guides (1 2 3).
i first unlocked the bootloader. this automatically wipes all the data on my phone. i wanted to do this back in 2016, when i was in chongqing and couldn't get my phone to run on the local carriers because i discovered international versions of the oneplus one (OPO) were software locked. i decided instead to just buy a cheap phone (xiaomi note 3) instead of dealing with the hassle of trying to hack my OPO. while unlocking the bootloader, the phone seemed to get stuck erasing. ll all the android platform tools. i then followed directions from 3 different guides (a search online said this was not uncommon, and that more likely than not the phone was already erased and i could move on to the next step. but i found steps to make sure the phone actually did erase by running "fastboot erase cache" and "fastboot erase userdata" from my terminal a few times until it no longer gave me errors and erased properly.
next was installing a custom recovery, in this case TWRP, which seems to be one of the standards for anyone looking to install a custom ROM on their android phone. the youtube video sent me to a link for TWRP 22.214.171.124 circa 2015; i went directly to the TWRP developer site itself and found the latest version - TWRP 126.96.36.199 from july 2018 (for bacon which is the codename for OPO).
at that point i managed to boot into the factory reset version of cyanogen OS. it did a thing where it seemed to be updating a bunch of installed apps (over 170), which made me suspicion, because if i'd successfully wiped the phone, there should be way less apps. but when the phone finally booted and i looked around, all my old apps were gone, even their data files.
then it came time to root the phone. while it's not necessary to root the phone in order to install a custom ROM, i came all this way already, why stop there? might as well gain full access to my phone, for better or worse. the youtube video sent me to a link for a copy of superSU (the rooting app) v2.01. i myself found a newer version, v2.46, which i downloaded and installed. when i rebooted the phone, it seemed to get stuck at the cyanogen boot animation. i waited and waited, and rebooted and waited, and it just wouldn't reboot into the desktop. i was worried that i might've bricked the phone, and went online in search of answers. the good thing was i could still access the phone if i booted into recovery (which still worked) and connected the phone to my computer. i found out that it might've been an older version of superSU that was causing the problem. i found an even newer copy of superSU, v2.82 and flashed it on my phone. i rebooted and after a few tense minutes it finally went past the boot animation and into the desktop.
so after successfully wiping my phone and unlocking the boatloader and gaining root access, now came the real fun: installing a brand new ROM onto my phone. i love the copy of cyanogen OS on my OPO, but it's getting long in the tooth, based on android 6.0. also cyanogen went out of business, so i haven't been receiving any system updates in a while, making my phone vulnerable to future attacks and exploits. there are a bunch of different OPO compatible ROM's out there, but i wanted to try lineage OS. it's the fork of cyanogenmod so it should be very similar to the android OS i'm used to. i found instructions on how to flash the ROM to OPO and where to get the latest copy of lineage, v15.1 based on android 8.1 oreo. i also downloaded gapps, since lineage OS doesn't come with any google apps (for legal reasons). the version of gapps i picked was ARM 8.1 stock, about 700MB.
i booted into lineage OS immediately after installing it. i got a little scared on the boot animation, afraid it was stuck again, but a few minutes later it advanced forward and finally showed the desktop. it looked sparse, and as i knew already, there was no google presence, not even a search bar or the google store. so my next step was to install the google apps. the first time i tried to flash the gapps package it gave me an error, said there wasn't enough space. so i went back to the gapps website again and downloaded a smaller package, this time gapps mini at 300MB. i copied it onto my phone and was successfully able to flash that version through the TWRP recovery. when i booted into lineage this time around, all the google apps were there. however, when i tried to open them, it gave me an error, said something went wrong during the installation and that i should install again. problem is, some of those apps are google system apps which can't be erased. and when i tried to reinstall them from the google store (the only google app that worked), it said the app was already installed. i did notice however that it never asked me for my google credentials. i put them in, restarted the phone, and this time around when i arrived at the desktop, all the google apps were working now. so next time, install the gapps immediately after flashing the ROM, don't reboot into the desktop otherwise, because things will break.
i found that the lineage OS desktop customization (via the trebuchet launcher app) was lacking compared to cyanogen OS. for one thing i couldn't resize the icons, and i was used to bigger icons. fortunately i purchased a copy of nova launcher a while back (trying to use up my free google credits). i downloaded that app and set it as my default home launcher. nova allows me greater customization, to the point where i got something very close to my original cyanogen OS experience, something i'm more familiar with. i decided to get rid of the google search bar on top of the desktop, something i almost never used. i don't like now android oreo forces the user to use adaptive icons, cramming the icons into custom shapes. nova didn't have an options to not use adaptive icons. the difference between android 6.0 and 8.0 are pretty minor, and most of that stuff is under the hood. the overall user experience is still the same. i like how i can now cram more apps into a single desktop page. battery performance seems legit as well, at the very least i no longer have a hot phone, as the back of my OPO felt cool to the touch. one weird glitch was somehow netflix wouldn't install. i read a few opinions online, some have said maybe netflix doesn't want users to be accessing its app on custom ROM's. i solved the problem by side-loading the latest netflix apk and it worked fine after that. i was amazed by google's cloud-based backup recovery, it loaded most of my preferences, even including my desktop image. it also wanted to download all 170 previous apps, including ones i tried and erased. i caught it before it could do that, instead deciding to download apps manually, browsing through my app history.
after i set everything up, i'm going to turn it into a nandroid backup using the TWRP recovery. once i have that backup, i can recover back into it whenever i want, should i decide to try a different ROM. i'm tempted to give the resurrection remix ROM a try, i heard it has even more customization options. i did notice that lineage OS is unrooted, it must've cleared the root option when i flashed the new ROM. at this point i'm not interested in rooting, since i can still change the ROM without it.
for dinner i made myself a pair of hot dogs. nothing good was on television, so i watched a few episodes of the good cop on netflix. from andy breckman, the creator of monk, it brings a sort of carefree fun to the one hour cop drama comedy genre. it stars tony danza, whom i know, and gosh groban, whom i thought of as a musician and not as an actor, but sort of impressed by his very natural and funny performance to the point where i think i must've overlooked his acting in other things.