6 ms·
Show HN: Note, my simple command-line note taking app
- BrandoElFollito 6y agoHello HN! After years of activity in the main threads I am jumping in with an note taking application I wrote over the last few days. Why another note taking application? Because the ones I tried are really great but lack the simplicity I need. I finally decided to write one to get rid of the zillions of paper scraps with cryptic things like "7654" or "go to JK to get RF". What I needed: - create a note directly from the command line: `<Win Key>note q my first /oh a title/ note #france<Enter>` - quickly edit a note via its serial number or title: `note e todo` - use my favourite editor which is much better than the one I could write - shorten my suffering when choosing a title for a one shot note - just press enter and a readable date will be used - tags! - search, delete I have many more ideas (they are in the README) and hope that this 1.0 version will be useful to someone. I would greatly appreciate any feedback - I am an amateur developer so the code is far from nice but I tried to keep it clean and with a minimal amount of excellent ideas that later become hieroglyphic studies to understand what I meant then. Thanks!
- psalminen 6y agoLooks cool! By the way, instead of alias, you can use setuptools to add it to your PATH[0]. [0] https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html https://python-packaging.readthedocs.io/en/latest/command-li...
- BrandoElFollito 6y agoThanks! I am actually as we speak tryng to write an Autohotkey script whcih would help to lanch it even faster. As soon as I have it I will add it to the README
- runjake 6y agoAlong similar lines, nickjj also has a similar (but bash) notes script at: https://github.com/nickjj/notes https://github.com/nickjj/notes
- nickjj 6y agoThanks for linking that. Some noticeable differences between my script and theirs are: 1. Mine is a zero dependency ~20 line bash script. 2. Mine dates your files like YYYY-MM.txt for easy access later on and then appends to the file for a specific month. 3. Mine is designed to be used from the command line with the least amount of effort possible while giving you the most flexibility you can realistically ask for. Mine has no sub commands. You can add 1 line notes by just typing `notes hey this is my cool note` or run `notes` without arguments to open this month's notes file in your $EDITOR. It also supports taking input from stdin so you can save the output of programs or your clipboard into your notes. There's no built in things like searching because you can grep your plain text notes at your leisure, and since the files are dated that means you can go in there and delete your notes as needed too. There's also no git integration built into the tool because your notes directory is literally a directory of plain text files. You can choose to `git init` a git repo in there if you'd like. The note tool works the same with or without it being a git repo. This tool was created after ~20 years worth of plain text note taking. There hasn't been a commit to the project in a year because the script is basically done and works. I use it every day. There's no need to add features into it like encryption or backups because that can be handled elsewhere such as putting the notes directory into Dropbox or having a backup script reference that directory to backup (personally I rsync it with a bunch of other directories to an external HD in a daily cron job).
- makeworld 6y agoSeems similar to nb. https://github.com/xwmx/nb https://github.com/xwmx/nb
- BrandoElFollito 6y agoThanks, it is a beautiful program. I will probably steal some ideas :)
- marcuskaz 6y agoIt's a fun low risk space to try out a language. I just started rewriting an old one I had now in Rust. Many similar ideas and planned features, currently mine just accepts notes from command-line, piped in, or uses the editor. https://github.com/mkaz/zk https://github.com/mkaz/zk
- hartator 6y agoIt amazed me that after almost 3 decades we still don't have "the way" to take notes on computer. Evernote came close to it for me before they mess their UI. Native Notes on iOS and on Mac is pretty straightforward but misses search features and is.. ugly. Ending up with several .txt files a little like OP organized in folders is also nice as it should survived most of potential future changes in term of everything and allows you to whichever editor but seems inefficient.
- powersnail 6y agoNote taking is a broad term for recording thoughts and information; the requirement is difficult to define, and fairly fluid. We've had pens and paper since ancient times, and people are still inventing new ways of organizing their notebooks. I think "the way" might never come.
- bobbylarrybobby 6y agoThe issue is how you define what a note even is. Some people say it’s just plain text; some demand support for images; some want to attach arbitrary files; some want rich text/markup, and some demand markdown specifically while others don’t care about the underlying format; some want simple tables, while others want full databases in their notes; some want to organize with folder and tags, while some just want tags, while some just want folders, while some want notes to live inside other notes. With so many definitions of what a “note” is even supposed to be, it’s no surprise that we haven’t settled on a single way to create and edit them.
- hartator 6y agoTotally true. I've ended up a mix between ReMarkable 2 e-ink tablet for meetings notes, Apple Notes for things like grocery lists, and regular folders on a cloud for long term archiving and references.
- Mister_X 6y agoOT, but I've had a MobiScribe e-Ink tablet for almost a couple of years now, I use it daily for notes and diagrams, fantastic tool, but that ReMarkable 2 e-ink tablet looks worthy of a closer look, Thanks! Oops, just checked, mine has a backlight, and the ReMarkable is even more Closed than my MobiScribe, fail.
- sidpatil 6y agoFor a long time, my notetaking system consisted of a single alias similar to the following: jj=joe "~/journal/$(date --rfc-3339=seconds).txt" It worked well.
- notyourday 6y agoHere's mine. It uses an editor. Tags are done via :tag . Search is supported using the same editor or grep. It automatically adds a date. If I start typing on a command line then whatever I typed becomes the starting line of a note. It is aliased to "notes". #!/bin/bash PAST_ALL_LINES="10000000" # skipping this many lines puts us to the bottom of the file EDITOR=/usr/bin/joe LOGBOOK=~/.securedocs/notes.txt if [[ ! -f ${LOGBOOK} ]]; then echo "${LOGBOOK} is not found. Check if it exists first?" exit 1 fi if [[ ! -f ${EDITOR} ]]; then echo "${EDITOR} is not found. Install it first?" exit 1 fi STRING='' if [[ ! -z "$@" ]]; then STRING="$@ " fi echo -e -n "\n`date`\n===============================\n\n$STRING"|${EDITOR} +100000000 ${LOGBOOK}
- dvt 6y agoAh yes, here it is: the monthly HN note-taking app. I'm no oracle, but here are some posts you will see in this thread: - The people that swear by notepad/plaintext - The people that swear by Markdown or some derivative - The old curmudgeon that still uses pen and paper - The one guy that uses Emacs (Org-mode) and he swears it's not that hard "once you get used to it" - "Here's how I take notes..." -- followed by some weird/cryptic way of taking notes - The inevitable meta post (hi mom!) You guys must really love taking notes.
- tshtf 6y agoI've been using Joplin for note taking in the terminal: https://joplinapp.org/terminal/ https://joplinapp.org/terminal/. Joplin is great since it also has mobile apps, and you can sync with multiple backends (Dropbox, OneDrive, S3). But it's anything but simple though, it brings along 579 dependencies.
- crazypython 6y agoI'm interested in using org-journal, a minor mode for Emacs org-mode, which supports collapsing. https://github.com/bastibe/org-journal https://github.com/bastibe/org-journal * Tuesday, 06/04/13 ** 10:28 Company meeting Endless discussions about projects. Not much progress ** 11:33 Work on org-journal For the longest time, I wanted to have a cool diary app on my computer. However, I simply lacked the right tool for that job. After many hours of searching, I finally found PersonalDiary on EmacsWiki. PersonalDiary is a very simple diary system based on the emacs calendar. It works pretty well, but I don't really like that it only uses unstructured text.
- ta988 6y agoOrgMode is great, especially when you use an emacs distributions with good defaults (doom, spacemacs...)
- Mister_X 6y agoUmmm, does anyone make somthing like that for Vi? Asking for a friend.
- greggyb 6y agoUnsure about Vi, but there's vimwiki: https://vimwiki.github.io/ https://vimwiki.github.io/
- deleted 6y ago[deleted]
- nwj 6y agoI've written a (somewhat) similar CLI in rust: https://github.com/nwj/zeke/ https://github.com/nwj/zeke/ These threads are great for collecting a bunch of different implementations and looking at the various design decisions people have made. There's really a surprising amount of variety out there.
- BrandoElFollito 6y agoYes, I used my own needs but I am actively looking at similar programs, such as yours. I am actually contemplating making the notes self-contained, with the tags and title as metadata (in the file)
- justmert 6y agoI have done too with a nice command line interface in Python https://github.com/justmert/Taskboard https://github.com/justmert/Taskboard
- maebert 6y agoObligatory shout-out to jrnl (https://jrnl.sh https://jrnl.sh) for all of your command-line note-taking needs!
- irrational 6y agoIt feels like every week there is a new take on taking notes showing up on HN. Clearly note taking isn’t “solved” yet. Maybe it is because everyone wants something different. I want: * supports Markdeep syntax * notes are NOT stored in any sort of binary format. Notes should be easy to parse. * zips up a backup of all the notes and emails it to me on a regular basis. * allows certain notes to be encrypted (yes, I know this goes against notes being parseable) and password protected. * notes are synced across all my devices.
- slaymaker1907 6y agoTiddlyWiki kind of does this. It can store binary data, but it is literally a single HTML file (or at least can be easily saved as such). I think you could just export to a single file tiddler and email that to yourself as a chron job. For sync, I personally just use OneDrive though any other file sync service would work just as well. I use TiddlyDesktop actually and save everything as a single HTML file. TiddlyDesktop has its own backup system separate from OneDrive since it always puts the previous version into a folder before saving over it (this does need cleaning out periodically). The backup feature is actually great for resolving conflicts since the backups have unique names. TiddlyWiki even has encryption, though I've never done it. There is a plug-in for encrypting individual tiddlers as well.
- BrandoElFollito 6y agoAh thanks, you reminded me that I want to add a "dump" mode for all notes