Tech

    My Thoughts About Android Desktop

    I watched XDA’s presentation of the Android desktop mode available in the Android 17 beta. Desktop mode is available with Android 16 too and I’ve tried it out and it’s not bad. I’ve long been intrigued by the idea of using a smartphone as my only computing device, and I honestly think this is best applied to foldables.

    As I see it, the main impediment to such an all-in-one device is the lack of wireless connectivity to monitors, keyboards and mice. Imagine being able to use the desktop mode of your phone while the phone is still in your pocket.

    It does appear that while desktop mode is available with all Android devices, it’s primary purpose is as a replacement to Chrome OS. For Google, Android desktop mode is a consolidation of operating systems. Google seems convinced that it’s worth it for them to offer a desktop computing user interface for their operating system, even though Chrome OS only has a small percentage of the desktop market, per Wikipedia.

    I am not convinced that Android Desktop offers anything for the desktop market, and rumors are Apple may be soon announcing a low cost Macbook built on their A-series processors that will be hard to compete against.

    The one scenario I can think of that might be interesting is Google pitching the idea of the Pixel Fold being the computing device that is all one will need, and therefore try to justify the greater than $1,000 price tag for the Fold. The math works when compared to the sum cost of a phone, tablet and desktop if the device fits all these use cases. However, I think for this to work there must be wireless connectivity to keyboard, video, and mouse or at the very least an easy to use drop-in docking station.

    Two Way RSS

    Yesterday I wrote a draft post about RSS Feeds and I wrote this:

    A lot of pixels are being dedicated to writing about Really Simple Syndication (RSS) feeds, which I think of as a “broadcast medium” for text and files.

    Read More →

    The cycle of yearly new phones from Apple and Google are not about significant changes between one year to the next. I don’t think Google expects Pixel 9a users to want to replace the phone they bought last year with the Pixel 10a this year, therefore it makes sense that the Pixel 10a has incremental improvements. I really don’t know why the reviews of these phones focus on the small number of changes from one phone to the next. It makes more sense, in my opinion, to compare the upcoming Pixel 10a to the Pixel 8a and 7a. My guess is that the improvements from the 7am, or older, is the most compelling reason to by a Pixel 10a.

    In this video on YouTube, Kitt Betts-Masters shows the technology behind Wacom’s EMR pens. I currently primarily use felt nibs in the EMR pens I use with my Viwoods AI Paper Mini and Boox Note Air 3C, but I am curious about how the ceramic nibs feel. My concern has been with the effect of using ceramic nibs, even the ones provided by Viwoods, on the life of the screen.

    I spent the afternoon working on and testing Scott Hanson’s dockerized version of Feedland. I’ve written notes but I don’t have the time now to edit and post them, which I will do this weekend. The net is that like the other time I installed Feedland in my home lab, I could not get browser access via HTTP to work. The web browser just simply refuses to load the site and displays an SSL error message. The good news is that I did get access to work via my Nginx and duckdns.org configuration in the same manner as I have done with other apps hosted in my home network.

    I have moved some equipment around in the home office so that I can use the adjustable/standing desk while standing. This is the first time I have experienced moving my Macbook between external monitor configurations and I am impressed by the fact that it remembers the different configurations.

    Down The Drummer Rabbit Hole

    Earlier today I noted that Dave had posted about the issue I encountered on January 30 preventing me from publishing my Daynotes using the “default” blogging tool in Drummer referred to as “Old School,” which is descriptive of a day based blogging format.

    I started the process of making and testing the changes that Dave suggested, finding them to be more involved, but the net result is that the Daynotes site is now served by HTTPS rather than only being accessible via HTTP.

    When the ability to build the blog from within Drummer broke I did my own work around by creating a new OPML file that is served by my instance of PagePark, which is Dave’s web server app that knows how to render OPML files for web browsers. For now I am going to continue using my “new” Daynotes outline file while using the Drummer blog for longer articles. My simple forwarding url for daynotes (daynotes.frankm.info) will go to single outline page while I have created a new forwarder for the Old School site (oldschool.frankm.info).

    Appears that Dave is now aware of the problem with the Old School blogs. He says the real issue is that the blogs are now served by https and the template they are based on does not support that. He provides instruction for how to fix, which starts by downloading a minimal template, editing it, putting the template html file on a public server, and then adding a header variable to the blog outline. Unfortunately at the moment Github is down so I cannot work on the fix, which for me will involve hosting the template file on my shared files host that is built from a Github repo. More details are in my Daynotes outline.

    Analyze Oil Consumption Using NotebookLM

    Of all the AI tools currently available I use Google’s NotebookLM the most. My best way to describe NotebookLM is that one can use it to apply Google’s Large Language Models toward a topic based on sources for information that one provides. For example, when we were researching health insurance plans last fall I created a notebook in NotebookLM and uploaded to it as sources PDFs provided by the insurance providers. I then used the chat in the notebook to ask questions about the different plans, which I then saved for future reference.

    I have a 2013 GMC Terrain and a few years past I learned that this make and model SUV has a history of burning oil, so I have been diligently checking the oil level once a week and after long drives during trips. I log the date, odometer reading, and oil level in a note in Google Keep using my phone and I wish Gemini were integrated in Keep so that I could directly ask questions like how many miles have been driven and when is the last time I added oil.

    Google has not added Keep as a source for NotebookLM, which I think would be logical, but what I can do is send (export) a note in Keep to a Google Doc which I can then add as source for NotebookLM. Today I exported each of my three log notes to a Google Doc, created a notebook in NotebookLM and add these docs as sources. NotebookLM correctly identified the sources as a maintenance log for a vehicle but it didn’t know which type of vehicle nor did it know the year the entries started because I only recorded the month and date. I created a README note that I added as a source in which I specified that the first date was in 2024 and that the logs are for a 2013 GMC Terrain. I also added some information about the dipstick markings.

    With the oil logs in NotebookLM I am able to ask simple questions like, how many miles were driven between the last oil check and the prior check? I asked NotebookLM how many miles were driven in 2025, and it then offered to make an infographic that broke down the 2025 mileage by month. NotebookLM also created a detailed vehicle usage and oil consumption analysis report.

    NotebookLM provides me with a simple and powerful way to analyze this data, but the fact that Google Keep cannot be a source means that as I update the current log note I will have to re-export it to the Google Doc and refresh that doc source in NotebookLM. I hope that in the future Google will add Keep as a source to either Gemini on my phone or to NotebookLM.

    Expectations For The Pixel 10

    I got the Pixel 10 for Christmas. We ordered it from Best Buy during their “Black Friday” sale at a cost of $549, when launched this phone cost $799. With an $80 trade-in of a Pixel 6a the total cost to me is $469, which is a very good price for a “flagship” phone.

    Before I received the Pixel 10 I wrote this expecting it to be a blog post but I never published it, so now I am going back and I am going to put in quote format my original expectation and then my current point of view after one month of use.

    Read More →

    Yesterday, in response to a post by Manton about an approach to link rot that he is trying out, I speculated that utilizing the Internet Archive might be a better approach. Turns out, there is a Wordpress plugin that does this very thing.

    My first experiment with a mechanical keyboard was brief, I returned the Keychron C3 Pro because its height messed up the ergonomics of my desk and my wrists hurt when using it. I normally use the Logitech MX Keys Keyboard that has a very low profile. For some reason I didn’t think about the additional height of Keychron keyboard, to use it properly I would need to elevate my chair high enough that my feet wouldn’t touch the ground.

    Blogbook is an app in development that one can use to make PDF and EPUB files by exporting from WordPress, Micro.blog, or Ghost blog to a single Markdown file. Filter by categories, authors, tags, and dates–then open in Marked 3 for PDF, EPUB, and more. I can create a physical book from an export of my micro.blog to Day One, but that takes all posts in a date range while what I really wanted to do was only publish in book format essays.

    Avoiding Dead Links

    I currently subscribe to the basic micro.blog plan and I have been monitoring the features that Manton adds to premium for any that I might find useful. Today Manton posted a video demonstrating a feature he is experimenting with that could be added to premium that would help prevent dead links.

    A problem that exists with adding links to other sites in my blog posts is that over time the pages I link to disappear. Chances are good that if you click a link on a post that I wrote five years ago the link no longer exists, which is a bit of a pain.

    The new feature that Manton is experimenting with enhances the Bookmarks feature of micro.blog that creates an archive copy of a web page. Booksmarks is similar to Archivebox. The enhancement associates the original source URL of a archived page that one may use in a blog post and provides a “single click” way to convert the URL to the archived copy of the page on micro.blog and then you can update the post.

    Of course, the problem with the current approach is that one has to know that the source URL is no longer available and make the change. For this to really be useful there needs to be some form of automation, which I can imagine could increase the costs of running micro.blog.

    Perhaps a compromise is providing micro.blog users a method to initiate a scan of archived posts for dead links, check for the ones that are dead, see if there is an archived version and offer to convert the link. Such ad hoc scans might result in lower compute costs.

    Another thing that would useful, if this becomes a real feature, is provide a way for the micro.blog user to an archived copy of the linked to page at the time of writing the post. I don’t know if Manton would want to automatically create an archive of all destination pages of blog posts, but that would be useful for people like me who often write posts using an editor other than micro.blog’s.

    A final thought…. I wonder whether this could be integrated with the Internet archive is some way? It seems the purpose of the Internet archive is to do this type of web page archival and their storage may be a way minimum the costs to micro.blog.

    This is probably only of interest to myself and a few others.

    I spent more time today to move my Daynotes outline from Dave Winer’s oldSchoolBlog app, which is the blog CMS for Drummer, to pagePark. As I initially reported yesterday, attempts to load my OldSchool site is now returning a “The file name contains illegal characters” message, and the browser terminal shows the web server is returning a 400 status. I strong suspect that the use of my email address in the directory path of the rendered web pages is causing the problem.

    To work around this I configured my instance of pagePark to render the original blog public outline but noticed that pagePark seems to have problems rendering nodes with type values. Today I decided to create a new OPML file. I copied all of the January items to it, made it public, and configured pagePark to render it instead. The direct URL is https://info.frankmcpherson.net/Daynotes.opml and I have configured my simpler forwarder URL, http://daynotes.frankm.info to forward to that URL.

    In this configuration, my instance of pagePark is mirroring this new OPML file that is stored at drummer.land/frank.mcp… Note that this URL also has a “fully formed” email address in it, and thus my fear is whatever update that may have occurred on the server hosting oldschool.scripting.com might end up on drummer.land and the same problem will re-appear. I think if that happens that may break many publicly shared OPML scripts created using Drummer.

    A work around that I have direct control over is figuring out a way to host the OPML file on my own server rather than on drummer.land, but right now I cannot think of a nice automated way to do that. I can download all my OPML files from Drummer to my PC but that requires manual steps. For now I will cross that bridge when I get to it.

    Something has happened with the server hosting my Daynotes site, it is running a 400 Bad Request and it looks like there has been a change blocking a GET for a URL with an email address that has been working in the past. The url is oldschool.scripting.com/frank.mcp… I have created a redirect from my own instance of pagePark so that I can access the file and this is only useful for me.

    In 2010 I wrote this in reaction to the first iPad announcement. It really didn’t age well.

    For myself, I am waiting to learn more about the HP Slate, which HP and Microsoft announced at CES. From what I can tell, it will run Windows 7 that supports touch input, however, what I really want is a slate that supports both touch and stylus (digitizer) input because I want to write notes in digital ink and store them in Evernote.

    My First Mechnical Keyboard

    I just received my first mechanical keyboard, the Keychron C3 Pro, and this is the first blog post that I am writing with it. It is a relatively inexpensive keyboard, so a good first one to try out. This Keychron has brown switches and what comes to mind when I press them is they feel like I am pressing on rows of blocks.

    I have been using the Logitech MX Keys keyboard, which has a much lower profile than this Keychron keyboard and I am starting to notice the difference in my arms. I’ve raised my chair to better position my arms and wrists over the keyboard.

    I think I have to give this keyboard a period of time before making a decision about whether I like it or not. It is certainly different, but not sure whether this is a good or bad difference.

    Using Obsidian With Viwoods AI Paper Mini

    Ever since I got the Viwoods AI Paper Mini I have been developing processes for using it with Obsidian, which I use for my second brain. At present I have Obsidian installed on the tablet but I do not use it for writing on the tablet. I do have Obsidian Sync running on the tablet but not syncing all of my oldest notes imported from Evernote.

    Have three Papers (notebooks) that I am exporting from the tablet in to Obsidian and I am doing this in two ways. I am using a Viwoods Sync Obsidian plugin, which is currently in development, to import PNG images of the notebook pages in to Obsidian which I can then view and link to from other Obsidian notes. The plugin uses the Viwoods native .note file as input, creates PNG image files of the pages, and then creates an Obsidian note (markdown) page with the image embedded.

    For the second export method I am using the AI Text Conversion function of the Viwoods Papers app to create ASCII text of my handwriting. The AI feature uses the Gemini Pro Version 3 model and I manually select one more more pages for conversion. I find the Gemini Pro does the best job of converting my handwriting. I copy the result to the clipboard, switch to Obsidian on the tablet, open the note in which I am storing the text version of the notebook and paste the text in. After the updated note syncs to my desktop computer I then edit what I pasted to correct what is usually a small number of errors.

    Finally, in the correct areas of the text version of the note I insert links to the image file, created by the Viwoods Sync plugin, that is the source of the text. I can then open image side-by-side with the text with a right-click of the link and Split Pane right.

    In feedback I provided to the developers of the Viwoods Sync plugin I asked if they could do OCR of the notes as part of the sync process, which they suggest might be a feature they add in the future. The issue for that part of the plugin might be the quality of the handwriting recognition.

    Raspberry Pi USB Gadget

    Back in 2019 I learned about and testing using a Raspberry Pi as an accessory to an iPad. The idea is useful for people who want a local Linux terminal on an iPad rather than making a remote connection to one on a server. People who use terminal apps like vi or emacs and developer tools are the ones who find this the most useful.

    The process involves connecting a Raspberry Pi to an iPad via USB-C cable, and software on the Raspberry Pi make the USB-C connection function like an ethernet network connection. You get an IP address that you can use to login to the Pi using SSH, at which point then have access to all the tools available in the Raspberry Pi OS. If a VNC Server is running on the Pi you can even get a desktop connect using a VNC Viewer.

    The instructions for setting this all up,, in which is called USB Gadget Mode, are not daunting but take a little bit of work. Today I learned that the functionality for USB Gadget Mode is now available directly in the Raspberry PI OS.

Older Posts →