Jrnl – A simple command line journal application
maebert.github.io
maebert.github.io
Can we please, as an industry, agree to stop using bogus terminology like this?
"Even the NSA won't be able to read your dirty secrets"
And can we stop using ~"Our encryption beats the NSA" as a selling point, given that:
1. It doesn't take into consideration the various side-channel attacks the NSA would actually use
2. It's unlikely to be true even discounting side-channel attacks
3. It's a scare tactic at best, akin selling boats that are rated "kraken-proof".
«GPG for data at rest. TLS for data in motion. … If you're typing the letters A-E-S into your code, you're doing it wrong.» — Thomas Ptacek
https://web.archive.org/web/20090911032333/http://chargen.ma...
However the main use for encryption is to store your journal on an insecure medium such as Dropbox, and I believe encryption is still the best way to keep your data from companies you don't trust.
(Then again, after Condoleezza Rice got on the board of Dropbox, I'm not so sure anymore.)
I started a comment but it became gargantuan so I turned it into a blog post : http://tburette.github.io/blog/2014/06/25/the-power-of-keepi...
That way the history for the current window remains but after the window closes any accidental password-on-the-command-line mistakes will vaporize.
for i in .sh_history .bash_history .lesshst .mysql_history etc
do
ln -s /dev/null $i
done def make_key(self, password):
"""Creates an encryption key from the default password or prompts for a new password."""
self.key = hashlib.sha256(password.encode("utf-8")).digest()
Crack unsalted sha256 of ascii space NSA...https://docs.python.org/2/library/hashlib.html#key-derivatio... (at least)
# ignore repeated, space-started, and casual commands
export HISTIGNORE="&:[ ]*:l[sl]:[bf]g:exit"Works well also.
If you want to search/sort/filter, etc your journal files, Unix has already all the tools you want. (grep, find, less, cat, sed, etc).
Don't sweat the small stuff.
More nitpicking: the * escaping bothers me. That's a core feature, using the * to mark things, but you have to avoid letting bash expand it. Are there any better characters? Does 'single quoting' help anything?
The fuzzy date parsing looks great. (: I also think the no-dash (new entry) vs dash (filters..) vs double-dash (action) convention is fairly neat as far as calling conventions go. Tagging things with @ seems like a useful convention, too, even if I end up using notepad.
I agree that the * is not perfect. Turns out there aren't so many characters that are accessible on most keyboards (also non-US layouts) that are NOT already special characters on most shells. Suggestions welcome!
If you're looking for something more focused on short daily summaries of what you've done, I wrote a similar tool called wj:
It's more about organization and presentation than privacy. For example, it can generate a tex file that converts your entries into a nicely formatted pdf file.
I also like the automated self-analytics Stephen Wolfram uses:
http://blog.stephenwolfram.com/2012/03/the-personal-analytic...
This is far and away a better solution, since I can have `jrnl` auto-tag those things and filter them in/out when I want to look at regular journal entries.
standup = log --pretty=format:'%Cred%h%Creset -%Creset %s %Cgreen(%cD) %C(bold blue)<%an>%Creset' --since yesterday --author <Your Name>
That's probably a really bad habit, but journaling branch changes helps me quite a bit.
It's the only way to relive thoughts I'll never have again because I become jaded. It's also a great way to grasp just how much of everything I forget. I wonder if I'd even have any personal stories to tell from the time I studied in Prague if I hadn't written so much of it down while enamored by it all.
I rarely read my stuff. And much of it I don't really want to read. — Once I have the power of hindsight, reminding myself of squandered opportunities and silly apprehensions I once had (in great cathartic unending detail, no less) can be a hard pill to swallow.
But those couple days each year I spend a moment flipping back to a random page in my life — however so infrequently — are rich with perspective. There seems to be a lot of wisdom in that delta between then and now. Like reliving how terrified I was of some impending event in my past and now, years later, really being able to internalize the reality of "That wasn't so bad, was it? You could've just relaxed that whole time. Next time, just relax."
I don't think it's essential to revisit your writings regularly. I reckon most of the value in writing is the self-reflection necessary to serialize your mind to paper in the first place. It forces you to confront yourself when it's far easier to perpetually avoid yourself up until the very end. I think when you're analyzing yourself from the outside, you have no choice but to grow in some way.
As long as you're writing at all, I think you're doing fine.
I practically don't read any text anymore---it's so much easier when the computer reads to me... also easier on the eyes.
Original article where I got this idea : http://www.stochasticgeometry.ie/2012/11/23/vimwiki/
Also, what are the chances that the jrnl[encrypted] package will work on Windows? (without using Cygwin?)
I think py2exe could work well, too! Otherwise you could create a virtual environment with virtualenv and install all the dependencies into one folder.
[1] https://www.dlitz.net/software/pycrypto/ [2] http://www.voidspace.org.uk/python/modules.shtml#pycrypto
I am asking this because I myself plan to write a small command line tool in Python. I have never wrote (or read) a line of Go though, so would like to know.
I'll also try the encrypted version. Will let you know if it works (or it doesn't) :)
The unencrypted version works just fine though.
Just a small thing - the little terminal goes a bit crazy if you click the carousel arrows forward a few times.
Can it play with an external service, e.g. can my journal be public via Tumblr or some static site generator?
I use it to organize and log my work. I also use it to write documents and to publish my own personal website (http://pere.quintanasegui.com).
Basically, I have a file, which is a tree. Each node is an "area" (work, personal), and each area is divided in subareas (projects, internal meetings, etc.) and each subarea is roughly divided in projects, which are divided in subprojects and tasks (more or less). This sounds complicated but it isn't. It allows me to find the exact place where to fill something. Tasks have an status, a deadline, a scheduled time and tags. Then, everyday, in the agenda, I find the tasks of the day and upcoming deadlines. I use tags to filter the tasks. Finally, while doing the tasks, I log the process of completing it. Tasks should be simple actionable items. If they are complex, I divide them in simpler parts. Some tags are recurring and sometimes I also add reminders to certain tasks or journal entries, to remember something that happened. Everything is versioned under git. Sometimes, I delete a subtree by error and git has allowed me to recover from these errors.
Org-mode is an extension to my brain. It is very useful. Unfortunately, I had some problems with MobileOrg on the iPad. That would make it even more useful when traveling.