Followup on Org Mode and Indexes

I was glad to see that Frank McPherson looked at Org Mode from my earlier post, and had a good observation about being able to assign priorities to a task in a todo list and to visualize that in Org Mode. I have not used agenda mode to view Org files, so I was not aware of that limitation. Overall, my use of Org Mode is pretty basic.

Frank’s recent post on indexes (aside: I like that term better than “indices”) provides a lot to consider. I think the ability to have items smaller than a whole OPML file included in other items as Frank describes is would be a terrific feature to have in an information product. The subject of indexes is also an important area of work, in that it represents the distilled experience/knowledge of the index creator. Brad Enslen and Joe Jennett have been working on individual indexes/directories. and Brad’s manifesto from 2018 called on other web users to create their own indexes or directories.

Perhaps another term that could be used is “resource pages”. To me, that is what the “awesome-X” Github repo README pages for Emacs and Drummer represent – a collection of resources, in an organized presentation (grouped by topic, for example). Frank’s technology page and Ken Smith’s page on resources for writing better op-eds are good examples.

More thoughts on organizing information for use

I recently created a web app to use the opmlPackage NPM module from Dave Winer to display the contents of four OPML files at one time. The app uses the includes feature, which can read other OPML files from a single OPML file and save the content locally for processing. I created four OPML files myself for this test app, but the four files could have been created by anyone. 

So the main benefit of the OPML Includes site is that it can display multiple outlines (which can be edited by multiple people, not just one person) and have the content refreshed whenever someone goes to the site. If the content is changing on a frequent basis, this could be an easy way to see the updates. If the content is fairly static, it may not be significant. In that case, single page apps could be used to view the outlines separately, so perhaps there is not much benefit in using the includes feature in opmlPackage.

Ken Smith has had some thoughts about potential uses:

“And I’m still musing about uses. About the slide down into the archive problem of blogging and social media, and maybe using the app as a partial remedy. Keeping the good stuff in view, and adding to the good stuff over time and linking the good stuff to a wider circle of relevant content. Taking the web part of the web seriously rather than letting the slide down into the archive turn it all into ghostly memories.”

Again, an OPML outline, rendered using existing tools, could provide a way to collect that information in a single document. In 2010, Jay Rosen’s Studio 20 journalism program at New York University partnered with ProPublica to research the area of “explainers”, or explanatory journalism at a site called explainer.net. The site is still available on the Internet Archive. I think that this is a method of addressing the “slide down into the archive” problem, but it does take effort. Someone has to create such an explainer, and then monitor the Web for items related to that topic, read and curate them, and add them to the explainer as needed. The main problem is someone has to have the desire and interest to collect information on a topic and share that information. If there is no one with that interest, no tool for collecting and displaying that information is going to be of much use.

Web bookmarks using Org Mode – Part 1

I have been using the Org Mode feature within Emacs for two years now, primarily for keeping a work log and a work to-do list (wrote about this in December 2021). The outlining features and the TODO/DONE construct have been sufficient for me to do what I needed to do. I have not spent much time learning other features, mostly because of my resistance problem. However, I have decided to try to use Org Mode to manage/organize my personal bookmark library. This is spread across multiple text and word processing documents, and I want to be able to search them and for this collection to not be a “write-only” set of data (which is mostly what it is).

When I started researching how I might go about this effort, I found a lot of examples of Org Mode capture templates, Elisp programs, and other techniques. This was a little overwhelming, so I decided to step back and think about my requirements – what data did I want to save, and what did I want to do with these bookmarks (see Karl Voit for reference). These were my initial “data requirements”:

1. Link URL and title of page

2. Tags

3. Description of URL content/other comments

4. Date/timestamp

My main “what to do” requirements were:

1. Search (by tags, text string, something else)

2. Present by some organization (like tags)

I spent time learning about capture templates, and the various features of those templates, and again felt overwhelmed. I decided then to just try capturing the data items above just in a word processing document. After doing that for my five most recent bookmarks, I still felt like that was the right data to collect. I then tried to think about the simplest way to collect that data using the org-capture feature.

After reviewing all the examples I had collected, I decided to try a capture template that provided a way to enter the same data I had entered in my word processing document. I went with a template from Karl Voit’s post on bookmarks and Org:

          ("b" "Bookmark" entry (file+headline "~/share/all/org-mode/notes.org" "Bookmarks")
           "* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n" :empty-lines 1)


I added this to some capture templates I had already created in my .emacs file.

'(("l" "Link" entry (file+headline "C:/Users/sylve/Documents/OrgFiles/GTD/links.org" "Links")
      "* %? %^L %^g \n%T" :prepend t)
("n" "Note" entry (file+headline "C:/Users/sylve/Documents/OrgFiles/GTD/newnotes.org" "Notes")
"* %u %? " :prepend t)
("b" "Bookmark" entry (file+headline "C:/Users/sylve/Documents/OrgFiles/GTD/linkskv.org" "Bookmarks")
"* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n" :empty-lines 1)

I had also learned about how Org Mode can render a bookmark as a live link if entered in this form:

[[URL][Link text]]

I decided to enter the URL and title in this way. When an entry was complete, it became a link that could be clicked on and open a new browser tab with that URL. After trying the new capture template, I felt that would serve for now.

* Bookmarks
** [[http://www.howardism.org/Technical/Emacs/capturing-content.html][Capturing Content for Emacs]]
:PROPERTIES:
:CREATED: [2022-07-24 Sun 17:51]
:END:
More examples of how to capture content in other apps and get it into Emacs
org_mode, org_capture

Next post: a summary of the Org Mode bookmark tools/techniques I found in my initial search.

How I reset a Windows 7 password without a password reset disk

Recently, I wanted to try to resurrect an old Windows 7 laptop. However, I had forgotten the password, and I did not have a password reset disk. Until now, I did not even know there could be such a thing as a password reset disk. After consulting the Oracle (Google – heh!), I found the following video that had great step by step instructions:

The one thing that I had to overcome was that I had a multi-word username (firstname lastname). In the video, the username was a single word. After more searching, I found this post that showed the solution – add quotes around the words in the username (“John Doe”). It did take about 20 minutes for me to go through this process, so anyone needing to follow this solution should set aside at least that amount of time. Bonus: link to more details on the net user command. Good luck!

Best links from 8th January 6th committee hearing

CNN: The damning case against Trump that the January 6th committee has uncovered – and what comes next

Flux: The January 6th hearings demonstrate how to move forward when dialogue is impossible – For the first time since Donald Trump emerged on the scene, a national political conversation is excluding obviously malicious nonsense

A dot can make all the difference

In my recent post on resistance, one of the quirks in the work tool (GNU Octave/Matlab) was trying to understand matrix math in a Matlab script. I wrote to the script author and gave my interpretation of the script, and the author said I was correct. When I tried to compare with my C language implementation, I got different results. What I discovered was that if it was “A * B”, that was regular matrix multiplication. However, if it was “A .* B”, THAT was element-wise matrix multiplication (totally different result). I tracked down some pages on the MathWorks website, then brought it up with the script author, who acknowledged he did not tell me about that…ugh. One of Julia Evans’ recent comics on debugging was a great help – thanks Julia!

Resistance to learning something new

In “The Art Of War”, author Steven Pressfield talks about the concept of “resistance” as it relates to creative work, that writers/creators struggle to create and have to overcome obstacles (mostly self-induced) to create. I had the experience recently to have to learn how to use a tool for work, and to figure out some tool feature for personal use. In the work instance, I delayed installing the tool, because I knew it was take a significant effort to get up to speed. When I did try to install it, the installation failed, so I had to find an open source alternative. Then, I had to learn the quirks of the open source tool before I could use it effectively, which was a significant effort.

In the personal tool issue, I had three browser tabs with tutorials/examples waiting for weeks for me to look at it, but I didn’t. I just knew that reviewing those was not going to be enough, and that it would take several hours to get the understanding of the tool feature. I finally had some free time to invest in this tool over the weekend, and – sure enough – it took several hours of reading, searching, and running examples to get a basic understanding of the tool feature – ugh!

In these examples, I resisted getting started because I felt I would have to make a significant investment of time and effort. That feeling was proved out both times. For work, I eventually had to get that task done, so I had to work on understanding the tool. For personal use, I waited until I had the time and motivation to press forward with figuring out the tool feature. I guess I should have looked back at one of my previous posts to see that a way to make progress is to figure out a first step and then take it. I hope writing this down will help me in the future, and will help my readers as well.

My remembrance of Apollo 11

When I entered today’s date in my day log, I had a thought – “there is something special about today…mmm…what is it?”. After a few seconds, I remembered – today is the anniversary of the Apollo 11 landing on the moon and Neil Armstrong’s first steps on the moon. It was 53 years ago today, and I have three memories relating to this that standout in my mind.

The first memory is the actual date. I was six years old, but my brothers and I had been watching all of the coverage on NBC, with Frank McGee as the anchorman, and sponsored by Gulf Oil (there was a Gulf logo attached to the anchor desk – outrageous by today’s standards). Anyway, it was late at night when the event happened (10:53 pm EST), I was living in Texas, so we were on Central time. The TV image was black and white and grainy. We had been watching for a long time, then Armstrong exited the Lunar Module and started down the ladder. To me, though, it seemed like he was standing on that ladder for at least 10 minutes. I finally got up from the couch, announced that I was going to bed, and left the room. I did not see the final descent on the ladder – but I WAS only six years old….

My second memory is working at NASA at the Johnson Space Center in Houston, Texas. There were a lot of events for the 25th anniversary in 1994, and one of them was a reunion at the Gilruth Rec Center on-site. The Apollo 11 astronauts were scheduled to appear, and I decided to go. The crowds were huge, and I never could get closer than about 5 feet to Armstrong/Aldrin/Collins – there were so many people who wanted to meet them. We did get commemorative pins for the anniversary at work.

The final memory was attending a banquet sponsored by the organization Spaceweek, originally started by a NASA employee by the name of Dennis Stone (now called World Space Week). I don’t remember if this was on the 25th anninversary or not (it was probably earlier). During the banquet, a film clip was shown of a speech by President John F. Kennedy on going to the Moon. The speech was at Rice Stadium in Houston, part of Rice University, a private university. The part of the speech that most people have heard is “We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard…”. But before those words, Kennedy lists several difficult achievements (climbing mountains, flying across the ocean), then says “Why does Rice play Texas? Not because it is easy, but because it is hard!” I fell out of my chair laughing at this line! I went to the University of Texas when Texas played Rice in football, and we never lost to them when I was there. Indeed, Texas lost to Rice only once, maybe twice in their last 30-40 games, so this was a great bit in the speech, but I had never heard it until that banquet. 

As a former NASA employee and still working aerospace engineer, I look back at those events with pride that I can say “I was there”, and that later I was able to be a part of the great organization that made that event possible. May we all have good memories to look back to in our lives… 

The way ahead for RSS and podcasting

Dave Winer has released some new tools/apps using RSS this week, and referenced some recent posts on podcasting concerning innovation in that space. Both of these deserve some review and context.

The RSS tools Dave initially demonstrated showed mailbox-reader styles of displaying the content of a RSS feed. Next, Dave talked about two-way RSS as a method to connect outliners with other publishing systems. I voiced an opinion that I did not understand why RSS needed to be involved. With the Twitter + Markdown + RSS unveiling, my view of “the way ahead” is becoming a little clearer. A tool is used to create tweets which contain Markdown markup. Those tweets are sent to Twitter. At the same time, a RSS feed of the tweets is created containing Markdown markup. Finally, a feed reader app is consuming that RSS feed and rendering the Markdown markup in the presentation of the RSS feed. Now, where is the value added by this workflow/system? Twitter is not making use of the enhanced RSS feed, but another app is using those features. And – those features are enabled by the use of a namespace (the source namespace), a feature in RSS that has been there for a long, long time. This is a demonstration that new apps can be built around RSS and using RSS. Now, what else could be done with this RSS feed? Well, at some point, who needs Twitter? Someone could create an app or service that uses the RSS feed as the content container and notifies users when the feed has been updated. Historically, feed reader apps do this when you start the app (highlight new entries), or rivers of news display the new items at the top of the page. But it could be done in a much quicker manner, perhaps using some other protocol like Micropub/Microsub or XMPP. Dave Winer has written about this in 2016 (The Internet’s Twitter), 2011 (fractional horsepower Twitter feed), 2009 (Fractional Horsepower Twitters), again in 2009 (A Billion Twitters). I also wrote series of posts in 2016 where I also put forward that RSS could be the basis of an open messaging system.

Now, I will turn to podcasting. In the past week, Michael Mignano wrote about the lack of innovation in podcasting. Dave Winer commented that this is not the case. Alberto Betella then had an excellent reply to Mignano, pointing to the work Adam Curry has done on his Podcasting 2.0 initiative, supporting micropayments and other cool features. Again, the vehicle for innovation was using the RSS namespace feature. This is how the rest of the world can overcome the juggernauts of Spotify and others (which I have written about herehere, and here).

So – nothing keeping people from being innovative here – let’s get to work then!

What does “two-way RSS” mean?

I read Dave Winer’s post on Two-way RSS earlier today, and I agree with the concept (publishing tools should allow other editors to create content), but I am not understanding referring specifically to RSS. In the Micro.blog site, a user can publish to a timeline from a RSS feed. However, all the editing in that context occurs in the tool creating the RSS feed. In past posts, Dave Winer has advocated for publishing tools to allow other editors to create content for that publishing tool. I am just having difficulty seeing how allowing “inbound RSS” solves the problem.