A talk between two users

I had a great discussion today with Frank McPherson about OPML, OPML includes, my OPML Includes test app, and our joint experiment in using drummer.this.how to show included files. We agreed that to view updates in drummer.this.how for an OPML file that includes another OPML file, the master OPML file has to be opened in Drummer and refreshed to see updates. In my test app, when a user goes to the app URL, they will get the latest updates for all included files. This will also occur each time the test app is refreshed in the browser.

Another subject we discussed was how a user could know if updates had been made to one of the OPML files. The JSON object for the included OPML files contains the lastModified element from the head of the OPML file, so this date/time could be displayed like in the drummer.this.how app for any or all of the included OPML files. Frank wrote about having each top-level headline as an item in a RSS feed (one way to provide notification of changes). I could envision an app that could look at changes in an OPML file and create some kind of item using the namespace feature in RSS. It is an area worth exploring.

I also spent some time today looking at Dave Winer’s update to the outlineBrowser toolkit. I downloaded his personal site repo and set up a test site using my Oregon elections OPML file, and the rendering/navigation looked good. I am going to work on trying to incorporate these latest changes into my OPML Includes test app.

Continuing experiments with OPML files

I reviewed Frank McPherson’s OPML experiment file, and saw that he suspected that updates to included files would not be visible unless the file was re-opened in Drummer. I decided to give this a test by adding another heading in my test file with some more text, then reloaded Frank’s test file. I did not see the new content. Next, I added Frank’s OPML file being viewed with drummer.this.how to my OPML Includes test app, and was pleased to see that I could view all of the new text in my test file. Another good result from this test is that the OPML Includes app was able to read the content of Frank’s file as an include file, and of my test file, so includes within an include file are brought in using the includes feature of opmlPackage. Excellent!

What to do when Fitbit Versa is too dim

My Fitbit Versa has been dim for a long time, so recently I decided to figure out if I could change settings, or if I needed a new Fitbit Versa. My initial search turned up a lot of hits basically saying to bring up the Settings app on the Fitbit Versa and change the brightness. When I tried that, I found the selection was disabled – what’s up with that? I then found this thread on the Fitbit community, found my solution 10 comments down on the thread:

My Brightness setting was dimmed out. I found I had “Sleep Mode” on. When I turned off “Sleep Mode” I was able to change the brightness of the Versa screen. I turned on a set schedule for sleep mode brightness that is separate from “Sleep Mode”. By turning on “Sleep Mode”, that means “Sleep Mode” is always ON (and dim) until you turn “Sleep Mode” off. 

That was the ticket!

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!