# AoC 2017 Day 12: Gridlock

### Source: Digital Plumber

Part 1: A network of nodes is defined by a list of lines formatted as such:

2 <-> 0, 3, 4

# AoC 2017 Day 7: Tree

### Source: Recursive Circus

Part 1: A tree is defined as such:

• node (weight) -> child1, child2, ...
• node (weight)

Where a node always has a weight, but may or may not have child nodes.

What is the name of the root node of the tree (the node without a parent)?

# AoC 2017 Day 6: Tightrope

### Source: Memory Reallocation

Part 1: Start with n stacks of different sizes. Take the largest block and distribute its items starting with n+1 and looping around. How many iterations of this does it take before you see a state you’ve seen before?

# AoC 2017 Day 3: Spiraly

### Source: Spiral Memory

Part 1: Create a grid in a spiral pattern like so:

17 16 15 14 13 18 5 4 3 12 19 6 1 2 11 20 7 8 9 10 21 22 23—> …

# AoC 2016 Day 20: Filter Table

### Source: Firewall Rules

Part 1: Given a list of integer ranges (a la 5-8), what is the first value not in any given range?

# AoC 2016 Day 11: Radiation Avoider

Part 1: Input will be a list of the following form:

• The first floor contains a hydrogen-compatible microchip and a lithium-compatible microchip.
• The second floor contains a hydrogen generator.
• The third floor contains a lithium generator.
• The fourth floor contains nothing relevant.

You have an elevator that can move exactly 1 or 2 items. You can only leave a microchip on a floor with a non-matching generator if a matching generator is also present.

Move all items to the top (4th) floor.

# iOS Backups in Racket: Apps

So far we’ve read backup files, parsed contacts, and parsed messages. Today we’re going to dig a little deeper and start parsing apps specifically.

# iOS Backups in Racket: Messages

So far we’ve laid the groundwork, loading local iOS backups and parsed out contacts. Today let’s take another step down the rabbit hole and figure out how messages are stored.

# iOS Backups in Racket: Contacts

After yesterday’s post laying the groundwork for looking into iOS Backups, today why don’t we actually start digging into one of the more interesting files: your list of contacts.

# iOS Backups in Racket: Groundwork

For the last little while, I’ve been spending my spare programming time working on a slightly larger project than I normally do: a Racket library for reading iOS backups.

Basically, I want to take the mess that is an iOS backup (not particularly designed to be easy to read by other programs) and extract some information from it, backing it up in a more easily readable format.

Specifically, I would like to be able to backup:

• Contact information: Even thought they’re mostly from Facebook, it will be useful for the other parts
• Messages: These are taking up a large portion of my phone’s hard drive, mostly due to attachments. Back them up just in case12
• Photos: I’m already backing these up, but it would be nice to have it in the same process
• Application data:
• List of applications over time
• Moves: GPS location
• Downcast: List of current podcasts
• Sleep Cycle: Sleep data
• Boardgame Scorer: High scores for board games