re: AoC Day 4: Repose Record VIEW POST

VIEW FULL DISCUSSION
 

Non-functional-paradigm kotlin solution

See Neil Gall's wonderful post for a more functional-paradigm approach. Kotlin not being pure-functional makes me lean into the procedural style more often than I'd like.

Anyway...

Part 1

I didn't read the problem properly. Some key things I missed:

  • The input data is random.
  • We only care about minutes.
  • There's only ever one guard on duty (not a stack of sleeping and awake guards).

Fortunately, once I knew what I was supposed to be recording, it was just a simple matter of adding sleeping events to guards.

typealias Duration = Pair<LocalDateTime, LocalDateTime>

private val dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")

fun String.parseEntry() =
    Regex("""\[(.*)] (.*)""").matchEntire(this)!!.groupValues.let {
        LocalDateTime.parse(it[1], dateFormat) to it[2]
    }

fun String.parseGuardId() =
    Regex("""Guard #(\d+) begins shift""")
        .matchEntire(this)!!
        .groupValues[1]
        .toInt()


fun Duration.minutes() = let { (start, end) ->
    ((end.toEpochSecond(UTC) - start.toEpochSecond(UTC)) / 60).toInt()
}

fun Duration.minuteRange() = let { (start, end) ->
    start.minute until end.minute
}

private fun computeGuardSchedules(initial: List<Pair<LocalDateTime, String>>): List<Guard> {
    val guards = mutableMapOf<Int, Guard>()
    initial.sortedBy { it.first }.fold(-1) { onDuty, (ts, type) ->
        val guard = when (type) {
            "wakes up" -> guards[onDuty]?.awaken(ts)
            "falls asleep" -> guards[onDuty]?.asleepen(ts)
            else -> type.parseGuardId().let { gid ->
                if (gid !in guards) {
                    guards[gid] = Guard(gid)
                }
                guards[gid]!!.ondutyen(ts)
            }
        }!!
        guard.id
    }
    return guards.values.toList()
}


class Guard(val id: Int) {
    private var lastStatusChange: LocalDateTime? = null
    val sleepLog = mutableListOf<Duration>()

    fun awaken(ts: LocalDateTime): Guard {
        sleepLog.add(lastStatusChange!! to ts)
        lastStatusChange = ts
        return this
    }


    fun asleepen(ts: LocalDateTime): Guard {
        lastStatusChange = ts
        return this
    }

    fun ondutyen(ts: LocalDateTime): Guard {
        lastStatusChange = ts
        return this
    }
}



fun answer1(input: List<Guard>): Int {
    val sleepiest = input.maxBy {
        it.sleepLog.sumBy(Duration::minutes)
    }!!

    val minuteMostOftenAsleep = sleepiest.sleepLog
        .flatMap(Duration::minuteRange)
        .frequencies()
        .maxBy { (_, v) -> v }!!.key

    return sleepiest.id * minuteMostOftenAsleep
}

Part 2

So, the thing that threw me here is that some guards don't fall asleep, leading .maxBy to return null. Otherwise, this was a fairly simple modification of the first part, just aggregating at different points. At this point, I'm wondering if Eric Wastl is experimenting with reversing the difficulties this year. This is two in a row where the heavy lifting gets done in part 1. We'll see when tomorrow's drops!

    fun answer2(input: List<Guard>) =
        input.map {
            it.id to (
                    it.sleepLog
                        .flatMap(Duration::minuteRange)
                        .frequencies()
                        .toList()
                        .sortedBy { (k, v) -> -v }
                        .firstOrNull()
                    )
        }.sortedBy { (k, v) ->
            -(v?.second ?: -10000)
        }.first().let {
            it.first * it.second!!.first
        }
 

and since I got bored waiting for some scans to complete, here's what my schedule looks like!

I should probably just pick the days that don't have guards!

                 000000000011111111112222222222333333333344444444445555555555
                 012345678901234567890123456789012345678901234567890123456789
1518-03-01  none ............................................................
1518-03-02  #587 ....zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.....zzzz...............
1518-03-03 #2113 ......................................................zz....
1518-03-04 #2699 .............zzzzzzzzzzzzzzzzzzzzzzzz...zzzzz...............
1518-03-05  #593 ..............zzzzzzzzzzzzzzzzzz............................
1518-03-06 #1543 ..............zz...........................zzzzzzz..........
1518-03-07 #2039 ....zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...zzzzzzzzzzzzz........
1518-03-08  #587 .................................................zz.........
1518-03-09 #1601 ...........zzzzzzz..............zzzzzzzzzzzzzzzzzzzzzz......
1518-03-10 #1553 ...................zzzzzzzzzzzzzzzzzzzzzzzzzzz..............
1518-03-11 #1433 .................zzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzzzz.....
1518-03-12 #2113 ..........zzzzzzzzzzzz........zzzzzzzzzzzzzzzzzzzzzz...z....
1518-03-13 #3121 ......zz.............................zzzzzzzz...............
1518-03-14 #1549 .......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......
1518-03-15  #587 .............................zzzz........................z..
1518-03-16 #1553 .........................................zzzzzzz.......zzzz.
1518-03-17  #587 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
1518-03-18 #1601 zzzzzzzzzzzzzzzzzzzzzzzzzzzzz...............................
1518-03-19 #1553 ...................................zzzzzz...zz....zzzzzzzz..
1518-03-20  #181 ......................zzzzzzzzzzzzzzzzzzzzz.................
1518-03-21 #1553 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzzz.
1518-03-22 #1601 ...............................zzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-03-23  #229 ............................................zzzz............
1518-03-24 #1553 ................zzzzzzzzzzzzzz.............zzz.......zz.....
1518-03-25 #1549 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzz...zz.....
1518-03-26 #1553 ................................................zzzzzzz.....
1518-03-27  #199 ................................................zzzzzz......
1518-03-28 #1549 ....................................zzzzzz........zzzzzzz...
1518-03-29 #1553 .....................zzzzzzzzzzzzzzzzzzzzzzzzzzz............
1518-03-30 #2699 ..............................................zzzzzz........
1518-03-31  #593 ................................zzzzz.......................
1518-04-01  none ............................................................
1518-04-02 #1597 ..........zzzzzzzzzzzz........zzzzzzzz......................
1518-04-03 #2699 .............................................zzz............
1518-04-04 #1489 ........................zzzzzzzz............................
1518-04-05 #1433 ..zzzzzzzzzzzzzzzzzzzz......................................
1518-04-06 #1549 ..................................zzzzzz...zzzz.............
1518-04-07 #1433 .............................zzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-04-08 #1601 .zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz................
1518-04-09  #199 .....................................................zz.....
1518-04-10  #587 ....................zzzzzzzzzzzzzzz.........................
1518-04-11  #587 ..................................zzzzzzzzzzz...............
1518-04-12 #1433 ...........................zzzzzzzzzzzzzzzzzzzzzzzzz........
1518-04-13 #1549 .........................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.....
1518-04-14 #3121 .........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz................
1518-04-15  #587 ......................zzzzzzzzzzzzzzzzzzzzzzzzzzzz..........
1518-04-16 #1039 ...................................zzzzzzzzzzzzzzzzz........
1518-04-17 #1039 ..........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz................
1518-04-18 #2927 ...................................zzzzzzzzzzzz...zzz....zz.
1518-04-19 #2113 .............zz.....zzzzzzzzzz.................zzzz.........
1518-04-20 #1601 ...zzzzzzzzzzzzzzzzzzzzz.................zzzzzzzzzzzzzzzzzz.
1518-04-21 #1433 ............zzzzzzzzzzz.....................................
1518-04-22 #1433 .....................................................zz.....
1518-04-23  #587 ...............zzzzzzzzzzzzzzzzzzzzzzzzzzzzz................
1518-04-24 #1597 ..............................zzzzz......zzzzzz.........z...
1518-04-25 #1549 ........................................zzzzzzzzzzzz....zz..
1518-04-26 #1489 ..............zzzzzzz..............zzzzzzzzzzzzz............
1518-04-27 #2699 ...............................................zzzzzzz......
1518-04-28 #2699 ....zzz.....................................zzzzzzzzzzzzz...
1518-04-29 #2113 .........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-04-30 #1597 ...zzzzzzzzz....zzzzzzzzzzzzzzzzzzzzz.......................
1518-05-01 #1433 ...................................................zzz......
1518-05-02 #3121 ........................zzzzz......zzz......................
1518-05-03 #1039 ...........................zzzzzzzzzzz......................
1518-05-04 #3121 ....................................................zzzzz...
1518-05-05  #199 zzzzzzzzzzzzzzzzzzzzzzzzz.......................zzzzzzzzzz..
1518-05-06  #229 ...............................................zzzzz........
1518-05-07 #3121 .............zzzzzzzzzzzzzz...........................zzzzz.
1518-05-08 #1489 ...............................zzzzzzzzzzzzzzzzzzzz.........
1518-05-09  #229 ........................................zzzzzzzzzzzzzzz.....
1518-05-10 #1549 ...........................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
1518-05-11 #1549 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....
1518-05-12 #1601 ...........................zzz......zzzzzzzzzzzzzzzzzzzzz...
1518-05-13 #2039 .............................zzzzzzzzzzzzz..................
1518-05-14  #181 ...........................zzz......................zzzzzz..
1518-05-15  #587 ...........................zzz...............zzz............
1518-05-16 #1543 ............................................zzzzzzzzzzzz....
1518-05-17 #1549 ..........................zzzzzzzzzzzzzzzzzzzzzzz...zzzzz...
1518-05-18 #1597 .zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......................
1518-05-19 #1601 ...............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....zzzzzzzzz.
1518-05-20 #1543 ......zzzzzzzzzzzzzzz...............zzzzzz..............zzz.
1518-05-21 #2039 ..............zzzzzzzzzzzzzzzzzz............................
1518-05-22 #1553 .......................................zzzzzzzzzzzzzz...z...
1518-05-23  #587 .............zzzzzzzzzzzzzzzzz..............................
1518-05-24  #199 ..................................................z.........
1518-05-25 #1549 .....................................................zz.....
1518-05-26 #1597 ........zzzz..............zzzzzzzzzzzzzzzzzzzzzz............
1518-05-27 #2113 .....zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz......................
1518-05-28  #181 .......zz..................zzzzzzzzzzzzzzzzzzzz....z........
1518-05-29 #1597 .................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
1518-05-30 #2927 ................zzzzzzzzzzzzzzz.......zzzzzzz...............
1518-05-31 #1489 ........zzzzzzzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzzz..........
1518-06-01  #587 ...............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-06-02 #1549 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........
1518-06-03 #1601 .................................zzzzzzzzzzzzz..............
1518-06-04 #1489 .........................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-06-05 #2699 .......................................zzzzzzzzzzzzzzz......
1518-06-06  #229 ...........................................zzzzz......z.....
1518-06-07  #181 ............zzzzzzzzz.....zzzzzzz...........................
1518-06-08  none ............................................................
1518-06-09  #587 .............................zzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-06-10 #1543 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...zzzzz......
1518-06-11 #1597 .........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.............
1518-06-12 #1553 ..........zzzzzzzzzzzzzzzzzzzz.............zzzzzzz..........
1518-06-13 #1433 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzz.....
1518-06-14 #1489 ..........................zz......zzzzzzzzzzzzzzzzzzzzzzzz..
1518-06-15 #1433 ...............zzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzzzzzzzz...
1518-06-16 #1597 .............zzzzzzzzzzzzzzzzzzzzzzzzzzzz...................
1518-06-17 #1597 .............................zzzzz...............z..........
1518-06-18  #239 .....zzzzzzzzzzzzzzzzzzzzz....................zzzz.......zz.
1518-06-19  none ............................................................
1518-06-20  #199 .............zzzzzzzzzzzzzzzzzzzzzz...............zzzzzzzz..
1518-06-21 #2699 ................................................zzz.....z...
1518-06-22 #1039 ..................zzzzzzzzzzzzzzzzzz........................
1518-06-23 #1549 ......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........
1518-06-24  #199 ...................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........
1518-06-25 #2699 .............zzzzzzzzzzzzzzzzzzzzz....zzzzzzzzzzzzzzzz......
1518-06-26 #1597 ....................zzzzzzzzzzzzz...........................
1518-06-27 #1601 ...........................zzzzzzzzzzzzzzzzzz...............
1518-06-28  #587 .......zzzzzzzzzzzzzzz.............zzzzzzzzzzzzzzz..........
1518-06-29 #1549 .........................zzzzzzzzzzzzzzzzzzzzzz.............
1518-06-30 #2927 zzzzzzzzzzzzzzzz........................zzzzzzzz............
1518-07-01 #2927 ...............................zzzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-07-02  #239 ......zzzzzzzzzzz...............zzzzzzzzzzzzzzzzz...........
1518-07-03 #1489 .....................zzzzzzzzzzzzzz.........zzzzzzzzzzz.....
1518-07-04 #1597 ..........................zzzzz.............................
1518-07-05 #1489 ................zzzzzzz....zzzzzzzzzzzzz....zzz.............
1518-07-06 #3121 ....zzzzzzzzzz...zzzzzzzzzzzzzzzzzzzzzz.....................
1518-07-07 #1433 .......zzzzzzzzzzzzzzzzzzzzz.......zzzzzzzzz....zzzzzzzzzz..
1518-07-08  #593 ......zzzzzzzzzzzzzzzzzzzzzzzzzzz....zzzzz...........zzz....
1518-07-09  #239 ...............................................zzz..........
1518-07-10 #1597 ...........................zzzzz..............zzzzzzz.......
1518-07-11  #199 ......z..........................................zzzzz...zz.
1518-07-12 #1433 ...zzzzzzzzzzzzzzzzzzzzzzz.............zzzzzzzzzzzzz...zzzz.
1518-07-13 #3121 ................zzzzzzz.............zzzzzzzzzzzzzzzzzzz.....
1518-07-14  #229 ............................zzz....................zz....z..
1518-07-15 #1489 ......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..................
1518-07-16 #1489 ..........zzzzz........zzz....zzzzzzzzzzz...................
1518-07-17 #1543 ..................................zzzzzzzzzzzzzzzzzzz.......
1518-07-18 #2113 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......zzzz...
1518-07-19  #587 .....................zzzzzzzzzzzzzzzz.......................
1518-07-20 #3121 ................................zzzzzzzzzzzzzzzzzzzzz.......
1518-07-21  #587 ......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......
1518-07-22 #2699 ...............................................zzzzzzzz.....
1518-07-23 #1543 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzz.............zz..
1518-07-24 #1433 .........................................zzzzzzzzzzzzz......
1518-07-25  none ............................................................
1518-07-26 #1553 ...........................zzzzzzzzzzzzzzzzzzzzzzz..........
1518-07-27  #199 ................................zzzzz.......................
1518-07-28  #587 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-07-29  #593 ....zzzzzzzz.....zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....
1518-07-30 #1601 ......zzzzzzzzzzzzzzzzzzzzzzzzz.............................
1518-07-31 #1549 ..............zzzzzzzzz.....................................
1518-08-01 #1597 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-08-02  #199 ................................zzzzzzzz.........zzzzzzzzz..
1518-08-03  #181 ...............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..........
1518-08-04 #3121 .........................zzzzzzzzzzzzzzzzzzzzz..............
1518-08-05  #181 ................................zzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-08-06 #1039 .......................zzzzzzzzzzzz.........................
1518-08-07 #2113 ...............zzzzzzzzzzzzzzzz................zzzzzzzzz....
1518-08-08 #2699 ...............................................zzzzzzzzz....
1518-08-09 #2113 ..zzzzzzzzzzzzzzzzzzzzzzzzzzz...............zzzzzz.....z....
1518-08-10  none ............................................................
1518-08-11  none ............................................................
1518-08-12 #1601 ....zzzzzzzzzzzzzzzzzzz......zzzzzzzzzzzzzzzzzzzzzzzz.......
1518-08-13  #239 ..............................................zzzzz.....zz..
1518-08-14 #2039 .......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...........
1518-08-15 #2699 ...................................zzzzzzzzzzzzzzzzzzzzzzz..
1518-08-16  #199 ....................................zzzzzzz.................
1518-08-17  #239 ..................................zzzzzzzzzzzzz.............
1518-08-18  #317 ..zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....z..........zzz.
1518-08-19 #3121 ......................zzzz....zzzz..........................
1518-08-20 #2039 ................zzzzzzzzzzzzzzzzzzz..............zzzzz......
1518-08-21  #587 ......................zzzzzzzzzzzz....zzzzzzzzzzzzzzzz......
1518-08-22 #1553 zzzzzzzzzzzzzz.................zzzzzz.......................
1518-08-23 #2039 ...............zzzzzzzzzzzzzzzz............zzzzzz...........
1518-08-24 #1597 ....zzzzzzzzzzzzzzz...zzzzzzzzzzzzzz........................
1518-08-25 #1039 .........................zzzzzzzzzzzzzzzzzzzz....zzzzzzz....
1518-08-26 #1597 .......zzzzzzzzzzzzzzzzzzzzzzzzzzzzz........................
1518-08-27 #1489 ...........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........zzzzzzz....
1518-08-28  #587 ...............................zzzzzzzzzzzzz................
1518-08-29 #3121 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzz....z...
1518-08-30 #1601 .....................zzzzzzzzzzzzzzzzzzzzzzzzzzz............
1518-08-31  #317 ..................zzzzzzzzzzzzzzzzzzz............zzz........
1518-09-01 #2699 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-09-02 #1597 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz......
1518-09-03 #2113 zzzzzzzzzzzzzzzzzzzzz.....................zzzzzzzzzzzz......
1518-09-04 #1553 ..................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-09-05 #1433 ........................................zzzzzzzzzzzzzzzzzz..
1518-09-06 #1039 .............................zzzzzzzzzz.....................
1518-09-07 #1489 ......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-09-08  #229 ............................zzzzzzzzzzzzzzzzzzzzzzz.........
1518-09-09 #1601 ..........................zzzzzzzzzzzzzzzzz.............z...
1518-09-10 #1549 .......................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....
1518-09-11 #3121 ........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........
1518-09-12 #2699 .............zzzzzz.............zzzzzzzzzzzzzzzzzzzz........
1518-09-13 #1553 ...zzzzzzzzzzzzz.............zzzzzzzzzzzzzzzzzzzzz....zzzz..
1518-09-14  #587 ..zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz........zzzzzzzzz....
1518-09-15  none ............................................................
1518-09-16 #3121 ....zzz.................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.....
1518-09-17 #1489 .......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
1518-09-18 #1597 .....zzzzzzzzzzzzzzzzzzz....................................
1518-09-19 #1597 ..........................zzzzzzzzzzzzzzzzzzzzzz............
1518-09-20 #1601 ......................zzzzzzzzzzzz........zzzzzzzzzzzzzzzzz.
1518-09-21 #1433 ....................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..
1518-09-22 #1553 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..........
1518-09-23 #2039 ..............zzzzzzzzzzzzzzzzzzz...............zz..........
1518-09-24 #2927 ....................zzzzzzzzzzzzzzzzzzzzzzzzz...............
1518-09-25 #1597 ............................zzzzz...zzzzzzzzz...............
1518-09-26 #1543 ...zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...........................
1518-09-27 #1553 .................zzzzzzzzzz.......zzzzzzzzzzzzzzzzzzz.......
1518-09-28  #593 ...zzzzzzzzzzzzzzzzzzzzzz...................................
1518-09-29 #1039 ...................................zzzzzzzzzzzzzzzzzzzzzzzz.
1518-09-30 #1549 .........................zzzzzzzzzzzzzzzzzzzzzzzzz..........
1518-10-01  #587 ...................................zzzzzzzz....zzzzz........
1518-10-02 #2039 ......................z.......zz............................
1518-10-03 #1549 .........................................zzz.....zzzzzzzzz..
1518-10-04  #587 ...........................zzzzzzzzzzzzzzzzzzzzzzzzzzzz.....
1518-10-05  none ............................................................
1518-10-06 #1601 ...........................................z....zzzz........
1518-10-07 #3121 ......................zzzzzzzzzz............zzzzzzzz........
1518-10-08  #593 ....zzzzzzzzzzzzzzzzzzzzz.................zzz............zz.
1518-10-09  #181 ...............zzzzzzz......................................
1518-10-10 #3121 ...............................zzzzzzzzzzzzzzzzzzzzzzz......
1518-10-11  #181 ...................zzzzzzzzzzzzzzzzzzzzz....................
1518-10-12 #1601 ......................................................zzzzz.
1518-10-13 #2699 .....zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz..............
1518-10-14 #2927 ........................................zzzzzzzzzzzzz.......
1518-10-15  none ............................................................
1518-10-16 #1549 ..............zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
1518-10-17  #181 .......................zzzzzzzzzzzzzzzzzzzzzzzz.............
1518-10-18  #317 ..............zzzzzzzzzzzzzzzzzzz......zzzzzzzzz........z...
1518-10-19 #1549 ......zzzzzzzzzzzzzzzzzz....................................
1518-10-20 #1489 ..........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......
1518-10-21 #1489 .............zzzzzzzzzzzzzzzzzzzzzzzz...........z......zzz..
1518-10-22 #2699 .........................................zzzzzzzzzzzzzzzz...
1518-10-23 #1601 .............................zzzzzzzzzz.....................
1518-10-24 #1549 ...zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.....zzzzzzzzzzz.
1518-10-25 #1553 ...zzzzzzzzzzzzzzzzz.............................zzz........
1518-10-26  #181 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.............
1518-10-27 #1543 ....zzzzzzzzzzzzzzz............zz........zzzzzzzzzzzzzz.....
1518-10-28  #229 ....zzzzzzzzzzzzzzzzzzzzzzz....................zzzzzzzzzzzz.
1518-10-29 #2699 .....................zzzzzzzzzzzzzzzzzzzzzzzzz.......zzzzzz.
1518-10-30  #239 ............................................zzzzzzzzzzzzzz..
1518-10-31 #1597 ...................zzzzz.....zzzzzzzzz......................
1518-11-01 #2699 ...................................zzzzz.......zz.......zzz.
1518-11-02 #2113 .....zzzzzzz................................................
1518-11-03  #587 ............................zzzzzzzzzzzzzzzzzzzzz...........
1518-11-04 #1039 ......................................zzzzzzzzzzzzzzzzzzzz..
1518-11-05 #1549 ......................................................z.....
1518-11-06 #2113 ..........zzzzzzzzzzzzzzzzzzzzzzzz.................zzzzzzz..
1518-11-07  #593 .....................................z......................
1518-11-08 #2113 ...................zzz.......zzzzzzzzzzzzzzzzzzzzzz.........
1518-11-09  #317 ..........................zzzzzzzzzzzzzzzzzzzzzzz...........
1518-11-10 #2039 .........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.............
1518-11-11 #1489 ...........zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz....
1518-11-12 #2699 ..................................zzzzzzzzzzzzzzzzzzz.......
1518-11-13 #1597 .................................zzzzzzzzzzzzzzzzzzzzzzzzzz.
1518-11-14  #239 ......zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.........
1518-11-15 #3121 ..........................zzzz...................zzzzzzzz...
1518-11-16 #1549 ........................zzzzzzzzzzz.........................
1518-11-17 #1601 ..zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.............
1518-11-18  #317 ....................zzzzzzzzzzzzzz................zzzzz.....
1518-11-19  #239 .zzzzzzzz.........................................zzz.......
1518-11-20 #1433 .................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.......
1518-11-21 #2039 ............zzzzzzzzzzzzzz.......zzzzzzzzz......zzzzzzzzz...
1518-11-22  #317 ....zz.....................zzzzzzzzzzz......................
 

I like your use of -en suffixes to denote verbs. Makes a lot of sense, actually, easy to glean intent.

 

Haha, I was tired and started with awaken and I thought asleepen was really hilarious.

Of course once I realized that there was a distinction between going on duty and waking up from a sleep, I was honor-bound to add ondutyen

code of conduct - report abuse