tn: A simple daily journal program

[ data, library, program, text, utility ] [ Propose Tags ]

tn is a simple program to keep journals.

[Skip to Readme]
Versions [faq],, 1.0.0, 1.0.1, 1.0.2,,,,
Dependencies aeson (>=, base (==4.8.*), bytestring, directory (>=, file-embed, optparse-simple, pager, system-filepath, text, time, turtle, vector, yaml [details]
License ISC
Copyright Copyright (c) 2014-2016, Peter Harpending.
Author Peter Harpending
Category Data, Text, Utility
Home page
Bug tracker
Source repo head: git clone
Uploaded by pharpend at 2016-05-12T02:56:48Z
Distributions NixOS:
Executables tn
Downloads 4406 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-11-25 [all 2 reports]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for tn-

[back to package description]


This is a command-line program for keeping your own journals, written in Haskell and licensed under the ISC license. You can find a copy of the ISC licensein the LICENSE file


I've been trying on and off to write this program since 2014, but have never gotten to the point where I've actually had a usable program. Hence, why we're on version 4.0, and I still don't have a usable version yet. Each new major version has been a complete rewrite because the previous version was a disaster.

tn is licensed as such because I originally wanted to use it as a tool to record the food I was eating. The natural name would be fj, for "food journal". However, I use the [Colemak keyboard layout][2], and typing fj is somewhat awkward. Moreover, in 2014, I had only begun using the Colemak layout. Hitting the key immediately under left index finger, followed by the key under the right index finder yielded the sequence tn in Colemak.


  • tn "some string" records the journal entry to ~/.local/share/tn/journal.yml with the time.

    • adding --stdout prints the output to stdout
    • adding - takes the input from stdin
    • adding --stdin takes the input from stdin


The version on Hackage is out of date, and also really terrible, so don't try to cabal install tn just yet. You'll need [git][git-install] and The Haskell Stack.

git clone
cd tn
stack setup
stack build

I welcome any contributions anyone wants to make. If you find a bug or a feature request, use the [GitHub bug tracker][issues]. If you want to contribute, use the normal method of contributing to projects on GitHub.


There is no usage yet! Check back later!

Contacting me

You can contact me at, or pharpend on FreeNode.