A minute by minute accounting of all of the craziness that was me almost losing a month of Coursicle work.read more
* I close my computer for the night. * Next morning, open it up, screen is off but backlight on keyboard appears to be working. After some clicks I reboot. Nothing. Do this more times, nothing. * Bring it in, they basically say it's going to have to be shipped out. Tried reseating the display, nothing. They try plugging into an external monitor apparently, and nothing. Get them to give me a brand new machine on the spot, working with store leader. But then we try to get the data off of the old machine, trying Target disk mode over and over again. Nothing, even after entering firmware password over and over. Every so often, though, I got the battery logo to display and in full color, mostly by pressing the power button. I also, in some states, got the computer to say “username” in the voiceover voice. * The new computer he said I’d have to pay the difference for what they had in store. This was $400, but he was going to do a discount applied and bring it to $300. But then, because of the education purchase, it was brought to $800 difference because of the money off of the computer. So we settled on doing a temporary purchase of a MacBook Air, then I’d go back to NC and return the air and he’d have a custom MacBook Pro shipped to that store in NC so I could pick it up free of charge. That way I’d have a loaner computer in the meantime. So I bought a MacBook Air. * When store leader saw the battery logo, he said that means this motherboard is dead, which means there’s no way to get the data off of it since there’s no recovery port. I said that sucks but it’s all right, literally nothing we can do, so I just figure my backup is a couple months old but I don’t have anything important on the drive that’s not in Dropbox (just pasta notes, home notes, medical potentially, misc notes about things for new computer, a couple misc files and such, etc). He said he was really sorry, but he keeps having to give me bad news that they can’t get the data off the drive. * Then he realized he found a way he could get the discount even further so that the cost difference for the new machine was $300 not $800. In fact, he gave vague instructions to a specialist and at first the specialist was seeing that I was supposed to get a refund of $170, which didn’t make sense. Then he figured it out, and applied as many discounts as he could. There were a couple buttons with dollar signs, one with one dollar sign, another with two dollar signs, and maybe some other types that weren’t dollar signs, and he was toggling between them and checking the price. Originally the store leader had said it just had to be $330 or less, but he toggled a couple times and went with what looked like the most, two dollar signs, which was $180. Paid it immediately, and got the new machine. * At this point, we didn’t really care about the old machine, because the data couldn’t be pulled. * I stuck around, the Store Leader had left for the 4pm download, so I waited for him to come back so I could thank him. He was very sweet, said I was very patient and a gem. Then I left and got food. * Came home, started setting up the computer. Had some struggles, but was pretty relaxed about it. Couldn’t seem to get the computer to boot from carbon copy cloner, which was the ideal, but seemed to have been unable to because possibly the external drive is HFS and you can’t external boot from that format in high Sierra, or something. That was frustrating, took a couple hours and still couldn’t get it. * I was mostly relaxing, and casually looking at the computer notes for setup, just seeing what I’d need to do. At one point, I think I saw “Local Github Repos” in the document, and my mind wandered for a second and I think I gasped “oh my god the iOS app”, and so the first thing I did was get the backup drive and checked the last time I backed up. August 31st, which is before I even started the referral system code. Then I started deep breathing, sweating, thinking I must have emailed it to myself. I searched my email on my phone, last one was June, and I started hyperventing, crying, sobbing, rocking back and forth, thinking “oh my god all that code has to be rewritten” and I called my parents, freaking out, just losing it. I kept saying “oh my god it’s gone I can’t believe it’s gone” I just kept flipping through folders, praying it was going to be stuck somewhere. I was in denial, it couldn’t be gone, there was no way all my work could be lost, I said I didn’t want to do this. I texted the store leading and told him this realization, asking if there is any way we can get data off of it. He responds in 2 minutes, that we can’t. There’s no way without doing data recovery and with no recovery port even that is basically not possible. Also because I have a firmware password it would lock down as soon as it’s forced. Which means no, can’t get the data. * I call Tara, I’m losing it, she tried to calm me down, saying I can do it again I did it once. It won’t take as long, and I have notes. I feel a bit better, coming to terms with it being gone. * I frantically check three emails, logged into gmail on my phone. Nothing each time. I go through waves of panic, of thinking I can redo it, I can put it off for months, it’s fine. Then I think about all the interfaces I made, about changing device ID with iCloud race condition fixes, and I start to get overwhelmed. Then I try to find a silver lining, but can’t find anything at all. Maybe I can introduce app linking now, but that’s not good enough. If I mess anything up, what’ll happen. I was so careful writing that code and it was perfect. I go through stages of denial. It must be there somewhere. Tara comes home, I take her into the closet and sob holding her, but she helps me realize it can be redone, it could have been worse, etc. I break down when I think about all the different screen size stuff I made, like overrides for certain phones, all the custom text from when a connection fails due to blocking. I think about how am I going to pull myself together before Aaron gets here, my Tuesday meeting with Cengage, my Christmas break will just be rewriting this, and I just got all this technical debt basically to worry about until I get it done and pushed to the store. I think about not pushing an update for a full year, and it might not even be possible. What happens if there’s something in the app that needs to persist, like some key, but I don’t think that’s likely but maybe I can’t think of it and I don’t have it saved. * Then I start thinking about decompoling and can I use the symbols to make it easier to reverse engineer the code. Maybe it’d work, but there’s little software to help, it’d be a big involved deal and I could dedicate hours to no results when I could rewrite faster potentially. * Tara methodically checks my emails, manually typing in my passwords so she can use the computer to check instead of phone. I kept holding out hope that it was in my Coursicle mail but the iPhone couldn’t search well. When it wasn’t in the mail had another small breakdown, I thought maybe I missed it. * Tara helped me get my new computer setup and I started transferring data from my old drive. I started to see what I had lost, like little things on the desktop, etc. * I was still in denial when I went to sleep. The code had to be somewhere. Tara and I researched how to decompile the binary and use the symbol files that Apple had to reconstruct things. It seemed like it could help get some basis for the code, but it’d still have to be rewritten and it would take a ton of effort and research that wouldn’t be all that fun. Plus, it might just be easier to rewrite it all. At least I had the existing app to copy, even if I had to rewrite all the code, but there was going to be so many under the hood things that would be difficult. * I woke up at 7am, feeling kind of crappy. I went over to my computer, saw that the transfers had finished which was nice. But I couldn’t help thinking about how I could get the data back. I googled “MacBook Pro 2018 data recovery” and bam, the first MacRumors article says that apple is saying they can’t do it, but there are third parties may be able to help. I call the first one, and they say yes, and I get very excited, but at the same time I feel like I’ve already come to terms with rewriting, and the cost of this to Coursicle, the shipping, getting my computer back, all of it would be tricky. The cost was $900 - $2700, they said if it were successful it’d probably be the upper third of that price, which is basically buying a new computer. This was discouraging, but they said they have gotten data regularly off of 2018 MacBook pros with firmware passwords and FileVault, so long as I provide them with the passwords. Then I call a competitor, they say the same thing but it’d cost $229 - $1300, but the higher range there is mainly for water damage, car driving over it, etc. The shipping is prepaid, them looking at it and getting a quote is free, shipping back is free, you just decide whether you want the data to come back too and that’s the cost. If they can’t get the data, then there’s no charge. This sounded great, if I paid $500 to get that data back. * I tell my parents and they say do it. Then I do just 10 more minutes of research, because honestly it really bothered me that the computer was able to say “username” over and over, that doesn’t seem like a dead board, that sounds like we got to a username prompt with voiceover on. This makes me feel like I could still get data off the drive, the screen might be dead, but I can navigate blind if someone in the store knows or I research voiceover and how to navigate your computer that way. We didn’t try hard enough yesterday, I call dad and he agrees, we research FileVault and there are just a lot of weird things, like apparently if you’re at the FileVault login you may get “username” prompted if you press a key, telling you you’re at that prompt, so basically it seems like I was at some sort of login, which means I could turn on voiceover entirely, navigate the computer blind, and email myself the important stuff or something. * But now the biggest thing is getting the computer back from Apple. If it shipped out, I’m pretty screwed. No idea if we could get it back. Zac is out for two days, and so he probably couldn’t get them to get the computer back, and every day that goes by it could get destroyed, or get into a unreversable process, etc. Basically, this was a wall I don’t think they’ve ever jumped: getting a computer back to the store after it’s been shipped. * I text Zac and ask him to arrange for me to pick up the computer because I can give it to a data recovery service and get the data. He doesn’t respond immediately, but I rush to the Apple Store at 9:30am and wait outside for them to open the doors. * Zac basically says he’s out for two days and he’s not supposed to use his personal number to text because Apple doesn’t pay the bill (basically saying to stop texting him), I apologize but say I will once this is figured out, he said to email him and then the thing that made my heart sink, that “our shipment goes out every night so we may not have any luck getting the Mac back now that it’s no longer with us”, but I figured it’s okay because at least I don’t have a choice and won’t have to pay to get the data off the drive, which screws up Coursicle’s cash flow, etc. * Then I tell him I’m outside the apple store now and ask if there’s any way to get the Mac back in the store and he basically dodged the question “It’s worth a shot to see if it didn’t get shipped out last night being a weekend. Give it a shot and see how you go. There might be a chance” * Per dad’s advice, I am the first one in the store and make a walk in appointment. I explain the situation and it’s urgency, that I need to check if my Mac is there ASAP, and so the guy basically checks with a mobile genius right away, and comes back and says “the shipments don’t go out for a while, so it either already went out or it won’t go out before your appointment” which basically diminished the urgency. * At this point I’m waiting incredibly anxiously for the appointment, basically 30 minutes of standing just dying in anticipation. I ask three different employees that I’m standing near if they know when shipments go out, and one says that they go out around 4pm, which is a relief, somewhat, because I check my texts and see that my computer wasn’t taken from me until around 4:30pm, but what if the shipment was late because of Santa con, or something, and what if there was an early shipment this morning, it’s just hard to know, and I honestly start staring at the street, worried I’ll see a FedEx truck. I call my dad and tell him that info, and he says it does take them time to pack it up as well, like to box it, so he says it’s more likely now, but then I check with the woman again and she says “well 4pm was my last store”, so all hope is lost again, I have no idea. * My appointment text comes in, and I run to check in, she checks me in and has me sit at a table, but 10 minutes go by and nobody has seen me, so I go back to her and confirm that I’ve been checked in, and she says we only have one genius right now so it just is taking a while, and I think she might speak something over the microphone to the back room to say they need a genius on the floor. I go back to my table, and Alex introduces himself a couple minutes later. The first thing I ask, which I figure he’d know, is when shipments go out. He said 1pm, and I gasped in relief. It must still be here. * I have him go check, he pulls in a mobile genius, and after 8 minutes they come back, and Alex starts talking roundabout but I cut him off “is it back there?” And he says “I’ll be completely transparent, no it is not” and I break down a bit, I put my hands on my face and start saying “oh my god oh my god” and he catches me and says “we’re concerned because we can’t find it. And clearly you can’t find it, but it says the repair was cancelled” so he says he’s going to try to collect information from the other genius so they can figure out what happened, but I stop him short and say “it was a CRU, so they probably ended up cancelling the repair” and that made them realize they were looking in the wrong queue/area, but now I worry internally “what if the these shipments aren’t 1pm, what if they’re a different time” * So they go into the back for another 8 minutes, and then Alex comes out. He isn’t carrying a computer, and so I kind of lose it in my mind, and he starts talking again and I say “Is it back there just please tell me” and he says again “I’ll be completely transparent, the computer is back there. They’re just getting it from the box.” and I freak out with excitement. We get another shot. This is like 90% of the way there. I said I could hug you and he says “we can hug it out” and so we hug. At this point, I feel so much better, because it means I can try to get the data off thoroughly, or I can try to have them give it back to me so I can ship it for data recovery. He explains that it’s apple’s property now, which of course I understand, so I can’t take it with me, have to do everything in store. We have all day to work on it, though. * I tell Alex the sequence of events, and everything that happened. Backlight was off the night before, yesterday we got the “Username” thing, and the screen turned on momentarily, etc. Alex mentions screen curtain, which I didn’t know about, and if that was turned on by a key command then the entire display would be turned off and so would the TouchBar probably. Even between boots, it’d stay. * He is great. He starts by bringing out a monitor, a Thunderbolt cable for transfer, and a charger. He is basically getting things setup for us to really figure this out. He’s clearly committed, unlike past geniuses. This is something we’re doing together, not something he does in the back. So I let him drive, he first tries the screen curtain command, and nothing. When Alex booted up the machine, the second thing he did was hold “control” and had me enter my firmware password to get up the startup switcher: nothing appeared on screen. Then he tried plugging in an external monitor he had brought out, still nothing. Then he tried entering Target Disk Mode and had me enter my firmware password, still nothing. Then he tried entering internet recovery, and incredibly, the escape key appeared on the Touch Bar, which had previously been completely black. He used his phone’s flashlight to inspect the computer’s display, and saw that the GUI was appearing, but the backlight was completely off. This told him the motherboard wasn’t dead, but instead the backlight controller had failed, causing the display to be impossibly faint. Next, to make things simpler, he had me turn off the firmware password (and set the computer to allow booting from external media and had me turn off Secure Boot) while in internet recovery. While I was waiting for him for the next step, the computer fell asleep. When we wiggled the mouse to awake it from sleep, the backlight began working again, and for the first time the GUI was displayed with full color and brightness. This confused both of us. We opened up disk utility and saw that “Macintosh HD” was still recognized as a disk, and then we tried mounting it (which required my FileVault password), and it mounted successfully and all data appeared intact. Then we tried booting into Target Disk Mode. When we held a flashlight to the screen, we saw that we hadn’t entered Target Disk Mode, but we did see the username switcher that appears when the machine boots up. We tried entering Target Disk Mode again, and this time a flashlight to the screen showed us that we had been successful. We connected the computers via Thunderbolt, but it took between 60-90 seconds before the old machine was showing up as an external hard drive (which Alex actually anticipated, due to FileVault being enabled). Everything from there, of course, was cake. * Some details about my experience that hopefully could help future customers: Alex said that there are known display issues, but with unknown causes, when both FileVault and a Firmware password are enabled on High Sierra. Moreover, yesterday, when we noticed that the computer spoke via VoiceOver and said the word “Username” each time we pressed the enter key, this should have told us that the board wasn’t completely dead and the data on the machine might be salvageable (this realization is what made me rush in this morning to catch the machine before it was shipped off). * Alex also said that he is thinking good intentions, but they probably didn’t try the full screen yesterday, because it takes about 15 minutes to disassemble and they don’t usually do it in store. He also said that the person who helped me yesterday was a little “green”, so she probably didn’t try everything. Alex actually apologizes for the service I had from the other genius, saying that they probably should have done more before declaring the machine dead. I told him that I’m just happy I got what really mattered back. * I spent the entire day at Apple. From 9:30am (waiting outside the doors), to 40 minutes after they closed, at 7:40pm. They basically really needed me to leave even though the second backup hadn’t finished. The manager, DeAngelo, who appears to be there often at night, was the most stern, but he understood the bind I was in as well. I was trying to accommodate, saying I could come back first thing in the morning at 10am and finish it, or I could leave my backup drive and they could let it finish if they just needed me out of the store, or they could reverse the return and I could buy the new computer outright for a day so that I could use both computers for the evening, I mean basically they couldn’t come up with any good reasons. He was joined by two women who were also trying to explain the need for me to go, but it was pretty easy to provide ways this could work, and they weren’t able to give any really good reasons why it wasn’t possible. Because I was being reasonable, I think it made it harder for them. So I think that bought me more time, Deangelo said he’d check in at 7:30, to see how it was going. He came over at 7:33. But I had given a realistic estimate for when I thought it’d be done, which was 7:40 or so, and what was good is when it looked like it was going to exceed that estimate, I said that I was pulling the plug, because I know they need me out and I’m not even sure how much longer it would take at this point, so I may as well just kill it. He was nice, and said are you sure, I hate that this couldn’t be fully resolved, and I talked him down and explained that this was just icing on the cake, that I got the data I was freaking out about already, and I’ve already got a full migration assistant to my new computer, so it was just a matter of being extra careful here and having a full disk image backup, in case migration assistant missed anything. * Then they had me “wipe” the drive, and I gave it to them and walked out. It was finally over, and everything worked out. * Now that it’s over, I have had trouble adjusting. It feels like PTSD, because I don’t feel like the danger is really over. I don’t feel like this is reality, that the reality is that I got the data back, that I won’t have to rewrite anything, that I’m safe now. It’s not easy to adjust to that. When I’m listening to people talk, or I feel happy, sometimes my internal dialogue forces me to focus on something undone, a thing I need to do before I can fully feel happy, before I deserve happiness. This would have been exactly one of those things, but for some reason it’s taking a while to turn that off. I think of it, then I tell myself it’s done, it’s safe now. And then I think “but is it really?” * The thing that really gets to me, which is similar to what happened with the laptop getting stolen when I was with the cafe, is just how close I came from losing things. It’s a survivors guilt, but a different twist. If things had gone slightly differently, timing wise, my thought process wise, etc, then the outcome could have been wildly different. * I went back got them chocolates and a card. Alex gave me a hug when I gave it to him.