description blah blah blah
tags: programming performance
http://some_url_foobar
I view the file with Emacs mode goto-address-mode. So all the hyperlinks are clickable with the mouse or a keybind.I can run M-x occur. To search and get a nice list of matches by tag or description text.
I think it's superior to any bookmark feature built into a browser. Simply using a text-based format, and a few built-in Emacs features.
Couple questions:
How do you handle mistyping the wrong tag? Is there something you use that could lint mistakes?
Is there a way to show all the tags that's available or you've used? Like grepping to show all the unique tags, but in emacs.
How do you handle stale links (links you no longer visit)? Delete them, move them, mark them stale or something?
If you wanted to see everything related to say tag1, tag2, keyword1, and keyword2, is there some way to like "grab" all those links and view them in a separate buffer? I guess it's more like filtering and reactively changing the list to show you what you want.
No.
But I could implement that in a few minutes. I could search for "tags:" headers, add the trailing text items to a list, then call function delete-dups.
Or I could use a pre-defined list of tags and have a function that lets me select from that. But this starts moving away from the "just a text file" thing, and I'd have to start creating my own custom mode. That's nice but then I'm also forcing rules, structure, and even custom user interface that's beyond "just a text file".
Minimal structure and rules is a feature too, it's easier to add new bookmarks.
> How do you handle stale links
I haven't had a stale link yet. If I ever notice one, I'll delete or correct. Or maybe add a flag STALE: in front of the URL if i want to keep it for historical purposes.
> see everything related to say tag1, tag2, keyword1, and keyword2, is there some way to like "grab" all those links and view them in a separate buffer?
Sort of. I use grep-like line based searching. It searching lines only, not "records". So it treats each line as it's own thing. But it gets the job done. I use the swiper package. With it's out-of-order matching mode. So my search query might be:
food meat
It would find lines that contained both search items in any order.
I only bother with "and" style search not "or".It is flawed. If food and meat are on separate lines, it would not find the match. A more advanced search feature that understands the file format could solve that. Or a better suited database file structure. But not worth it for me. 99% of the time I'm searching 1 keyword only.
Postman frustrated me because it was taking up all the memory on my computer to do really simple calls. I remembered the "emacs rocks" episode on restclient and gave it a shot. Such a nice package. Really unfortunate that the maintainer doesn't update the melpa package.
Last MELPA update is 05/11; did I miss something?
Not OP, but I suspect this is what s/he meant
A typical use of the file is figuring out retroactively when I got out of bed even though I didn't make any record of the event at the time the event happened: specifically, I look in the file, see a interval of emacs-idleness 7 hours long, which information I combine with my memory that I used Emacs within minutes of getting out of bed.
The file would be even more useful if it pertained to all my interactions with the OS, not just interactions with Emacs, but that would prove much harder to implement particularly because I would need to implement anew every time I switch OSes. (I was using a different OS when I wrote the Emacs code described above than I am using now.)
The code has provided me much value relative to its implementation cost (time spent).
Independent of data collection, arbtt also has a DSL that lets you tag your samples programmatically. Which means you can use logic such as conditionals and regex on data such as active program name, window title etc to mark a sample productive or distracted etc.
The weird thing I do with Emacs here is run a function every N minutes and figure out productive work ratio in that interval with help of other scripts. Then it compares the ratio to a target threshold and performs actions based on if it meets the goal or not. Usually I warn myself if I am not being productive, but when I am feeling particularly intolerant of procrastination I lock myself out of my own laptop for a few minutes, to clear up my head.
(Is there a more graceful way to publish a single file?)
It's small right now but has functionality like creating a new migration and switching to the new file. I also have yas-snippets for SQL tied to the mode. Using which-key helps me not have to remember all of the commands.
>Using which-key helps me not have to remember all of the commands.
I think the command's name is where-is, not which-key.
Info about this at https://zck.org/bangbangcon2021. Video at https://www.youtube.com/watch?v=BeTDIrJeriI. Bonus: the presentation itself is done from within Emacs, in another library I wrote.
https://github.com/atomontage/osa-chrome (macOS, has some extra features)
https://github.com/anticomputer/chrome.el (OS agnostic)
They use org-mode to give structure to the document and then export to HTML with and embedded .css I made with appropriate styles added. This .html page gets printed from Chrome and cut up / added to the recipe book.
My partner couldn't be less interested in tech/computing, but is using emacs as a tool to create a handmade art project. I dunno about weirdest, but this is my example of how emacs can be anything to all peoples.
- I work in Incident Response and use emacs and orgmode as a second brain for case notes. I log commands in orgmode and try to build my notes to make sure the investigation is a repeatable.
- For a good while I was using emacs/gnus as my email client. It wasn't without its warts but compared to Outlook it was glorious.
- I needed something to distract me during chemotherapy sessions so I wrote an NTFS MFT parser in emacs-lisp. It was a super dumb project but I'd been ages since I'd read through Carrier's file system forensics and it was good exercise.
- For a time I was using emacs and the emacs lisp request library to track bitcoin payments made in suspected extortion cases. It was fun to map until the transfers hit bitcoin tumblers then it my laptop basically lit on fire.
https://github.com/progfolio/speedo
I've also written a real-time game pad input visualizer (heavily inspired by Chris Wellon's work here:
https://nullprogram.com/blog/2016/11/05/)
I did this for a couple of reasons. I couldn't find a decent split timer that was:
- available on Linux
- not Electron/browser based (These worked well enough, but at the cost of high CPU usage, which caused hiccups when recording gameplay)
I was easily able to set up the timer so that I can feed inputs to anti-micro, which are forwarded to Emacs. This allows me to control everything from the game pad. I also have a feature that allows me to record a mistake during a run. I have commands which can then pull out mistakes for a given range across multiple runs to analyze where I need to practice most.
Still a work in progress, but it's been fun to work on.
Has easy to use coordibate system for placing characters on screen, shape drawing, keyboard and mouse output, and audio.
Maybe not tbe greatest, but it is was the most fun I had.
(In retrospect, I’d have designed the image with greater tolerances for ink dispersion in skin over time.)
Running a bakery on Emacs and PostgreSQL: https://bofh.org.uk/2019/02/25/baking-with-emacs/
Our test suite could take hours to complete but could occasionally fail and had to be restarted. Emacs multiwindow with a shell in a small window and a game in another one was what kept me sane that year.
It's in draft 2 at the moment, having been printed out and manually edited over the last couple months.
The path there was enlightening. From multiple crashes per attempt to lines and lines of customization. From unexpected crashes and automagical recovery. I've come to love this little word processor cum operating system. I only wish I had found it decades ago when I had more time to pour into a hobby.
not super weird, but it really took a lot less work than any of the alternatives and worked great.
The best thing is very boring, but it's the best because I use it all day, every day, and it brings me joy: bringing all my text things to Emacs. Writing, project/task organizing, and email. Never thought I'd end up there.
Another thing I did with org mode was create a release document of all commits that are going into a release as well as the link to that commit in github, then exported to PDF and sent to the team. We had to cherry pick a bunch of commits for a release and in order to make it clear what was going out I organized it by newest to oldest and had the commit hash as a hyperlink.
That melts my brain.
given that emacs works just as well in a terminal, that is not a huge advantage, but it is noteworthy that emacs has this capability and had it for a long time. something any gui program could have in theory