Comment

Comment by whalesalad

I have been meaning to explore Nim for a while because it feels like "golang, but python syntax and dev experience." I vibe coded a simple tool, tt, that allows me to track time to a central log from all my devices. Realllly simple:

    $ tt stats
    Time Tracking Stats
      Total entries: 39
      First entry:   Oct 21, 2025 23:04
      Last entry:    Oct 30, 2025 18:29
      Tracking since: 228h 34m
      Days tracked:  5

    $ tt "working on xyz today"
     Logged at 11:38:44

    $ tt today
    Today (1 entries)
    11:38:44 working on xyz today
The code is pretty damn ugly though, I feel like I am working with perl:

    proc groupIntoThreads(entries: seq[Entry], threshold: Duration): seq[seq[Entry]] =
      if entries.len == 0:
        return @[]

      var sorted = entries
      sorted.sort(proc (a, b: Entry): int =
        if a.timestamp < b.timestamp: -1
        elif a.timestamp > b.timestamp: 1
        else: 0
      )

      result = @[]
      var currentThread = @[sorted[0]]

      for i in 1..<sorted.len:
        let gap = sorted[i].timestamp - sorted[i-1].timestamp
        if gap > threshold:
          result.add(currentThread)
          currentThread = @[sorted[i]]
        else:
          currentThread.add(sorted[i])

      if currentThread.len > 0:
        result.add(currentThread)
parent whalesalad 1 year ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton