How Apple’s iCloud Drive deletes your files without warning

Apple’s iCloud Drive sounds great.

[…] with iCloud Drive, you can safely store all your presentations, spreadsheets, PDFs, images, and any other kind of document in iCloud. Then access them from your iPhone, iPad, iPod touch, Mac, or PC […]


That’s pretty cool! All your files on all your devices. And I like the part about “safely”. After all, if you’re trusting Apple with all your precious photos and personal documents and work files, you’d better hope Apple won’t just lose them on you. That would be terrible. That would be heartbreaking.

But that is exactly what Apple’s iCloud Drive does.

iCloud Drive deletes your files. Without warning. Without any recourse*. Your files: gone forever*.

Let’s take a common scenario: getting a new Mac. If all your documents are stored in iCloud, this is easy! Just sign in to iCloud on your new Mac, and boom, there are all your files. Right? Well, so it appears. But of course, your new Mac can’t download these files instantly. So what look like local copies of your iCloud Drive files are actually just dummy files. “.icloud” files, to be exact. These files masquerade as the real thing, but they are just placeholders.

So, let’s say you have a folder full of these placeholders. Large Keynote presentations, Photoshop files, and personal photos. And let’s say that, on your shiny new Mac, you want to move these files from iCloud Drive to your local hard drive, or to another synced drive like Google Drive or Dropbox. Well, you can just drag their folders do the other destination, right? You sure can. Apple kindly warns you that your dragging action is moving that folder, and that the files will be moved to your Mac, and won’t exist on iCloud Drive anymore. Fine. That’s what dragging a file from one place to another generally does!

Screen Shot 2015-06-02 at 12.32.33 PM

But what happens if there are files inside this folder that haven’t yet synced to your local machine? Well, the move operation will be slower, because your Mac has to first download them from iCloud Drive. But once they download, they’ll be in their new location. Right?

Nope. Those files are now gone. Forever*.

In their place, is a file named FILENAME.original-extension.icloud. This file, only a couple kilobytes in size, is the placeholder that OS X uses to pretend that the file existed on your system. Your original file is gone. It’s gone from iCloud Drive, and it exists nowhere on your hard drive.

But OS X will just see those .icloud files and use them to download the originals from iCloud’s servers, right?

Nope. Those files are now gone. Forever*.

But you can just go into the web UI and roll back a folder to an earlier version, right? Nope. Unlike Dropbox, and many of its competitors, Apple does not keep old copies of files.

But surely there was some “loading indicator” or something to indicate that this data wasn’t ready for manipulation, right? Nope. There is no indicator that a folder contains non-synced files. There are indicators in individual files, but not on folders that contain non-synced files. And even if they did, that is not a sufficient warning that an unknown selection of unloaded files will be deleted if that folder is moved.

Cloud storage is a brilliant idea, but the way Apple has implemented it is reckless and irresponsible. People’s data is sacred, and Apple makes it really easy to just vaporize it, forever.

*Update: Dan Moren mentions that the “Recover Documents” screen on can be used to recover deleted files, so “forever” might not be forever. All I can say is that I became aware of this issue when it happened to a friend, and Apple Support was not able to recover her documents. I don’t know what was different in this case. Maybe the sheer number of files involved. I’m currently trying to replicate this issue with a larger data set (lots of medium-to-large files) to see if there is some limit on document recovery.

The 2015 13-inch Retina MacBook Pro

My history with portable Macs has been all over the place. I started in 2005 with a 15 inch PowerBook G4. In 2007 I upgraded to the ridiculously large 17 inch MacBook Pro. It weighed 6.8 pounds. Yeah. In 2010, in an effort to atone for my sins against gravity, I “downgraded” to a 13 inch “unibody” MacBook Pro (only 4.5 pounds!). In 2012, I got a 13 inch MacBook Air (3 pounds). But way before that, in 2009, I got a Mac Pro tower. A dual quad-core beast of a machine. And I upgraded the heck out of it. I upgraded the video card, upgraded to dual SSDs in RAID-0, upgraded to a PCI-e internally-RAID-0 SSD card, added a Blu-ray drive, bought a 30-inch screen in addition to the 24 I had. I went nuts on this thing. But at six years old, it’s starting to feel its age. It destroys at multithreaded tasks like video encoding, with 16 v-cores. But for single threaded stuff, the GHz weren’t measuring up. The MacBook Air wasn’t really improvement in that regard… it was just massively mobile.

So, last month I decided to upgrade my portable, to a 2015 13-inch Retina MacBook Pro.


I’ve enjoyed several of my previous Mac portables, but none so intensely as this.

The form factor

I’ve gone up half a pound from the MacBook Air I was using. And I’ve gained some fractions of an inch in thickness. These haven’t mattered at all. I actually found the knife-sharp front-edge of the MacBook Air to be annoying. Reclining on a couch, it would stab into my stomach, leaving a lovely red line below my belly button. The MacBook Pro has a thicker front edge that feels more comfortable in any position.

The extra weight is only really noticed when I’m carrying the machine around by a corner. In a backpack or a bag, I notice no difference. I wouldn’t call either machine “light” — not in the iPad sense — but neither is either heavy.

The build quality on the MacBook Pro is better than the Air. First, the screen is glass instead of plastic, and the bezel is flush with the screen, whereas it is recessed on the MacBook Air. The recessed screen not the MacBook Air was massively annoying to me, as it collected lots of dust and dirt and lint. The MacBook Pro is easy to keep clean.

Battery life

The battery life is unreal. Apple quotes it as 10 hours. I’ve gotten that. I’ve also gotten more (on a long flight, with Wi-Fi off). I take it places and don’t even consider bringing a power cord. Even if I know I’m going to be using it all day, for serious work. I want Apple to look at the compromises they made for this machine (more weight and more thickness for more battery) and apply them to the iPhone. Let us arrest the tyranny of “thinner, lighter” and actually get devices that last a day.


The SSD on this beast is incredible. It reads and writes at 1.2GB per second. The processor (I went for the 2.7GHz i5, not even the fastest) is quite speedy. I went with the standard 8GB instead of 16GB. It’s plenty, even with running VMs.


This was the first Mac to get the new “Force Touch” trackpad. First know that the previous mechanical MacBook trackpad was probably the best trackpad in the industry. Second, know that the “Force Touch” trackpad absolutely blows the previous one out of the water. The “haptic” click sensation is uncanny. You cannot convince yourself that the pad isn’t clicking. In the Apple store, they showed me two machines, next to each other. One was off, the other on. The off one’s trackpad was a rigid object. The other seemed to bend and delightfully click at my touch. But of course each was moving the same amount (which is to say, almost not at all).

The ability to click anywhere on the trackpad is game-changing. No more lifting your finger and reaching down, or relying on your thumb to rest in a “click-friendly” zone. Glide your finger, and click where ever you end up.


Lastly, the screen on the 13 inch MacBook Pro is phenomenal. Bright, colorful, and super high resolution. You can choose between resolutions. Normally, I choose the 1280×800-equivalent Retina resolution, with perfect pixel doubling. Sometimes, if I need more room for something, I’ll jump into a 1680×1050 mode. Using the fullscreen capabilities most OS X apps now have, I rarely feel cramped.


This is my favorite Mac yet. I find myself taking it everywhere, and I’ve been a lot more productive on it. Don’t be fooled by the outward appearance that seems the same as machines 3 or 4 years old. This is a beast, and it is an absolute delight to use. Highly recommended.

My Sublime Text 3 Packages

I use Sublime Text 3 as my main text editor. It’s fast, keyboard-friendly, and finds a nice balance between a GUI and JSON-driven configuration. But the real power comes from the third party packages you add to customize it. Here are the packages I use:

  • Alignment — Lets me block-align code (so, the equals signs are even, for instance)
  • Better CoffeeScript — CS syntax highlighting and other commands
  • Bracket Highlighter — While over a bracket or parenthesis, it will highlight its matching open/close one
  • DocBlockr — Facilitates inline documentation creation including autocomplete
  • Gist — Lets me publish directly to and puts the URL in my clipboard for code sharing
  • Git — Control a Git repo without leaving the editor
  • Highlight — Enables “copy as RTF” which I use when pasting code examples into Keynote for talks
  • Modific — Highlights changed/added/removed lines in both SVN and Git
  • nginx — Syntax highlighting for Nginx config files
  • Puppet — Syntax highlighting for Puppet files
  • Sass — Sass syntax highlighting
  • SCSS — SCSS syntax highlighting
  • SublimeLinter — Linting as you code… bad PHP, CSS, JS, etc, gets immediately marked for me to fix
  • Theme – Soda — Much nicer looking GUI theme
  • TrailingSpaces — Highlights trailing spaces, and provides commands for removing them
  • WordCount — Tells me how many words, sentences, characters I have

All of these packages can be installed with Package Control. Let me know on Twitter what some of your favorite ST3 packages are!

Tampa eatery explorations, part 1

My wife and I have decided to embark on a tour of all the good places to eat in the Tampa Bay area.

Tampa isn’t particularly the most cultured city out there. It struggles with a lack of a vibrant city center, and a car- and suburb-culture that means most people live in satellite communities, 30 minutes from every other place in the area. Seriously, it’s almost mystical. Even given a linear layout of locations A, B, and C: A will be 30 minutes from B, and B will be 30 minutes from C, but A will also be 30 minutes from C. It’s the least transitive property obeying place on earth. But what Tampa does have a lot of is restaurants. It has a lot of chain restaurants. But it also has local gems. And we are now on a mission to try them all.

So far:

The Refinery — Excellent food and beer selection. Casual hipster vibe. Best if you can get seated outside, on the rooftop patio. Their menu is locally sourced, and changes weekly. I had roasted quail, the best I’ve ever had.

Red Mesa Restaurant — Casual, but with valet parking (huh?). Not much to look at inside. Doesn’t take reservations, but got seated immediately. House margarita is tasty. The food was some of the best Mexican I’ve ever had. The duck enchilada with raspberry sauce was… why am I not there right now?

Fly Bar — A little loud, but otherwise nice atmosphere. The in-house cocktails were delicious, but suspiciously low in alcohol content. Food is tapas style, delicious, and quick to come out (so you can order one course at a time, and have a nice long dinner experience). Really liked the rabbit tacos.

Ella’s Americana Folk Art Cafe — It’s exactly as hipster as it sounds. The food was good. Large portions. But it was the atmosphere I liked the most. High-backed cushioned chairs and booths, lots to see, and a real energy from the staff and patrons.

220 East — The food didn’t blow me away, with the exception of the toasted brie with walnuts, brown sugar, and apples. But it had a real sense of authenticity. Like it had been there a long time, and always would be. A real neighborhood joint, where I actually saw staff members sitting down with patrons and looking at pictures of their new puppy. We didn’t partake, but they seemed to have a good wine selection as well.

More blogging

I’m going to start writing more medium length stuff here. I write long things when I have time, and they get feedback for years (seriously, I don’t go anywhere without my post about my atheism being discussed). My tweets are good for quick takes. But a lot of what I want to say is somewhere in the middle. So I’m going to do that more. Please do harass me on Twitter if it’s been more than a week.

What Nietzsche Taught Me About Parenthood

You shouldn’t believe anything that people tell you about parenting. Including this. Because no matter what you hear, you won’t truly believe it — truly internalize it — until you experience it for yourself. And yet I continue.

The cliché is that parenthood activates within you vast reserves of untapped patience, empathy, and love. It’s true. It’s also true that children ruin your life in the nicest way. But that’s not what I want to talk about. I want to talk about this:

“What was silent in the father speaks in the son; and I often found in the son the unveiled secret of the father.”
— Friedrich Nietzsche, The Gay Science

And this:

“Fathers have much to do to make amends for the fact that they have sons.”
— Friedrich Nietzsche, Human, All Too Human

Parenthood makes you feel incomprehensibly vulnerable. It is as if there is your own small, perfect, ignorant, delicate, and infinitely valuable personal avatar out there in the world, who is effectively impossible to fully protect. You well and truly know that the only thing worse for your quality of life than you stepping out in front of a bus, would be them stepping out in front of a bus. This transforms otherwise saccharine moments such as you holding their hand and walking them into the store to buy them their first bicycle into tableaus of terror. The irrational immortality I felt in my twenties was suddenly and grotesquely transformed into paralyzing and near-paranoid levels of impotence and worry.

What if he wrenches his hand from mine and takes two steps to his right as this car passes at far too great a speed oh shit shit shit slow down you ignorant cockwagon, don’t you realize I’m escorting my own intentionally created concentrated meatbag of personal vulnerability mere dozens of inches from your steel weapon of perfect child murder?

Parenthood is that. Constantly. All while your higher brain is telling you to stop hovering and stop insulating them from the world and to stop prioritizing the minimization of your own vastly inflated worries over their development as an independent being.

As much as that whole parental maelstrom of lizard brain v. monkey brain consumes you and makes you want to collapse into a heap the moment they are safely tucked in bed (but also maybe silently choking to death on that toy you forgot to remove from their room you negligent monster), that’s not the thing that has hit me the hardest as a parent. It’s what Nietzsche said.

Getting to know your offspring as people is the most embarrassing, terrifying, uplifting, eye-opening, and utterly unexpected journey you can take as a human being.

Envision every shameful instinct you harbor. Every psychological manipulation you undertake and immediately regret. Consider your bad habits, your deepest fears, your greatest failings as a person. Recall the things you do and then pretend you didn’t. Think about the things you refuse to think about yourself. Go ahead, dig deep. Imagine all the things that only you know about how you’re broken and insufficient. Examine those traits you strive to hide, but which you know have hurt the people you love, and yourself besides.

Now imagine all of those things laid bare for everyone to see, realized through the clear and magnified lens of a child’s emotional experience of the world. Moreover, prepare to learn new terrible things about yourself. Things that you only knew on the level that one remembers a waking dream, months past; the things that are shockingly obvious once revealed, but impossible to articulate while still obscured. Imagine yourself on a fainting couch, confessing your innermost failings to a therapist. Only you’re not in control of what is being said. And everyone is listening in.

Being a parent changes you, irrevocably. But only part of that is due to the experience of parenting your child. The other — and in my view, more potent — factor is the experience of getting to know yourself through your child. It is impossible to ignore, because the presentation of these facets is raw, and unfiltered by social pressures or learned defenses.

In The Gay Science, Nietzsche ponders about the advent of science and secular morality rendering the concept of “God” dead, and whether humanity is up to the task of rebuilding a system of morality now that we have destroyed what we thought was its foundation.

Is not the greatness of this deed too great for us? Must we ourselves not become gods simply to appear worthy of it?

So too, is the crisis of confidence suffered after you, as a parent, are utterly deconstructed by a being of one sixth your size and one tenth your experience. So too, are you faced with the task of rebuilding yourself anew on top of the rubble your own flesh and blood has chiseled away from your ego. But you will. And you’ll never see yourself, or the world, the same way again.

Knowing yourself is a necessary step in you being able to optimally function in society. We don’t consume the universe’s raw inputs; we filter them through our abilities and personalities and experiences. If we don’t cast a critical eye on these aspects of ourselves, we will see a skewed version of reality and not even realize we are doing so.

If you want to know yourself, procreate. Much will be illuminated.

Atticus didn’t want to wake up today

My son Atticus, three, is a deep sleeper. Much like his father. He also tends to choose interesting places to sleep. Today we discovered him asleep in a laundry basket on his bed.

Then this happened:

I'm just going to see how far I can move him like this.

I’m just going to see how far I can move him like this.

Got him downstairs.

Got him downstairs.



Inside his cedar play house.

Inside his cedar play house.

In the hammock.

In the hammock.

Difficulty level: Moses.

Difficulty level: Moses.



Finally got him to wake up.

I showed him the photos and videos. He went from sleepy to bemused to incredulous to recounting stories about his adventures.

And that was the end of his adventure. Then, as I was about to post this, this happened:

And… he got stuck in a trash can.

And… he got stuck in a trash can.

Oh, Atticus.

Amazon Review: Squatty Potty

I have recently embraced reviews as a creative writing prompt and have endeavored to write entertaining reviews that nevertheless reflect my true views of a product. I posted this review of a toilet stool that helps you poop a few months ago, and am reproducing it here for safekeeping. Enjoy!

Review of Squatty Potty “Ecco” Toilet Stool


I gingerly climbed on top of the plastic contraption now ringing my porcelain throne. It soon became apparent that I couldn’t keep my britches at my ankles as I normally did. No, they had to go entirely, along with my underthings. And if there is anything more ridiculous on this planet than the sight of a human man wearing a t-shirt and nothing else, I have yet to experience it. So in the interest of saving myself this unfortunate view, I doffed the shirt as well. Now entirely naked, I again attempted to step onto the device. I was unsure, but it seemed to hold. I settled down to the seat, with only the extremities of my posterior touching. My knees were up at my chest. This, plus my complete nakedness, felt very primal. It felt third-world and adventurous. It felt… RIGHT. I concentrated on the task at hand. I had felt a slight urge to go, and had been eager to try out the new purchase. I had been intrigued by the promise that my business would henceforth require substantially less effort on my part, because of the wild beast–man position it forced upon me. But I was still skeptical. It sounded too good to be true. Surely the difference couldn’t be that dras— HOLY HELL I’M POOPING.

Well, let me clarify. It wasn’t so much that I was dropping a deuce. Oh, it was being dropped; that much was undeniable. But I couldn’t really claim agency on said descent. Gravity was doing the work. I was merely the meaty husk from which it made its hasty escape. Used to more of a segmented approach to waste disposal, I was quite surprised that the creature making its egress from my nethers had more the appearance of a python. Smooth, and consistent in width, it coiled luxuriously in a pool of toilet water that is (or at least was) cleaner than the water that most of the people on this planet drink. As it continued to coil, my emotional state flowed from one of surprise, to horror, to amazement, and then again to horror as the snake coiled higher and higher, like soft serve ice cream at an all-you-can-eat Chinese buffet. It was now surfacing above the water line. But still, the snake showed no signs that it was anywhere near finished with its journey. In a panic, I pawed at the flusher. The poor toilet strained, but eventually sent things on their way. But I wasn’t done yet. As the toilet flushed the waste away, more came to replace it. As the flush subsided, the coil started anew. And then I was done. I tried to catch my breath as the toilet flushed a second time. I felt my liver shift and expand, unsure what to do with all the extra space now afforded to it. I cleaned up and stood, almost dizzy after the affair. “Wow. A+++”, I thought to myself. “Would poop again.”

“Very well,” my bowels seemed to answer, “let’s have another go!”

“Surely you’re joking”, I thought, scrambling to once again work myself into proper Tarzanic stance. There couldn’t possibly be anything left inside of me. I genuinely began to worry that what would come out next might be some vital organ, brought to a freedom-seeking frenzy by all the commotion. But no, it was yet another perfectly formed tube of human excrement. I sat, mouth agape, as number two (round two) breached the water line and came to a graceful finish, leaving an improbable conical shape below me. As I flushed the toilet for the third time in what had astoundingly only been about 70 seconds I wondered if life would ever be the same again. and Impossible Family Structures

In which I attempted to sign up with and was stymied by its apparent inability to grok the structure of my family (consisting of me, my wife, and two sons).

Live chat transcript:

[10:18:00 pm]: Thanks for contacting Health Insurance Marketplace Live Chat. Please wait while we connect you to someone who can help.
[10:18:03 pm]: Please be patient while we’re helping other people.
[10:18:07 pm]: Welcome! You’re now connected to Health Insurance Marketplace Live Chat.

Thanks for contacting us. My name is Mark. To protect your privacy, please don’t provide any personal information, like Social Security Number, or any other sensitive medical or personal information.
[10:19:37 pm]: Mark Do you have any questions that I can help you with?
[10:20:30 pm]: Mark I seem to be stuck in some sort of redneck family relationship loop.
[10:21:37 pm]: Mark It thinks my wife is my grandaughter, my second son is my first son’s father, and that my wife is the sister of my sons. And now it thinks that one of my sons is his own brother. And also possibly his own legal guardian.
[10:23:53 pm]: Mark I’m also considering the possibility that you are actually me, from the future. Pretty sure time travel is the only way to resolve this neatly.
[10:24:33 pm]: Mark you can call the marketplace at 1-800-318-2596 and they can help you resolve this issue.
[10:24:41 pm]: Mark I apologize for the inconvenience.
[10:25:24 pm]: Mark Thanks for your interest in the Health Insurance Marketplace. We have a lot of visitors trying to use our website right now. This is causing some glitches for some people trying to create accounts or log in. Keep trying, and thanks for your patience. You might have better success during off-peak hours, like later at night or early in the morning. We’ll continue working to improve the site so you can get covered!
[10:26:56 pm]: Mark Do you have any other questions that I can help you with?
[10:27:44 pm]: Mark Nah. I’m probably going to have to talk to my wife and a really clever geneticist to answer my other questions. Thanks!
[10:27:53 pm]: Mark Thank you for contacting Health Insurance Marketplace Live Chat. We are here to help you 24 hours a day, 7 days a week.
[10:28:24 pm]: Mark thanks for the laughs, you have a great since of humor about the whole thing.
[10:29:27 pm]: Mark :-)
[10:29:37 pm]: Mark Thank you for contacting Health Insurance Marketplace Live Chat. We are here to help you 24 hours a day, 7 days a week.
[10:29:40 pm]: ‘Mark’ has left the chat session.
[10:29:42 pm]: Your chat session is over. Thanks for contacting us, and we hope we’ve answered your questions. Have a great day.