• AppleScript for Day One braindump to Things

    Highlighting the truly first-world problem of Mac automation being totally different from iOS automation, I wrote up a simple AppleScript that mirrors the functionality of my iOS shortcut that takes my brain dump list out of Day One and “intelligently” transfers it to Things.

    When I write my morning entry in my Day One journal I sometimes brainstorm a little todo list, and this allows me to copy it and load the todo list into Things. Moreover, it looks for the string “today” in the brain dump and puts those items in the Today list in things.

    set TodayStr to "today"
    set Total to 0
    set listContents to get the clipboard
    set delimitedList to paragraphs of listContents
    
    
    tell application "Things3"
    	repeat with currentTodo in delimitedList
    		if currentTodo as string is not equal to "" then
    			set Total to Total + 1
    			if currentTodo contains TodayStr then
    				set newToDo to make new to do ¬
    					with properties {name:currentTodo, due date:current date} ¬
    					at beginning of list "Today"
    							else
    				set newToDo to make new to do ¬
    					with properties {name:currentTodo} ¬
    												end if
    		end if
    			end repeat
    		end tell
    
    set theDialogText to "Added " & Total & " Todo Items to Things"
    display dialog theDialogText

    I mapped this in Alfred to ⌘T so that when I’m in Day One and finish brainstorming what I need to tackle, I can just highlight the list and hit ⌘T and the list is moved to Things. Not brain surgery but really useful for me.

    Still though it does feel weird to have to automate using AppleScript on the Mac and Shortcuts on iOS.

    Especially now that the automating functionality offered by apps like Day One differs depending on whether you are on a Mac or on iOS. Looking at you Append function that’s available on iOS.


  • Amazon Order History to Markdown table in Day One

    Back in the spring I wrote an automator action that incorporated some Python code to take a downloaded Amazon Order History file and massage it into a nice Markdown table and creates a Day One entry.

    A few months back though the Day One command line tool stopped working and that broke this action. But surprise!!! The command line tool works again (although not as well as it used to). So I modified the automator action to get it working again. 

    So, pop this workflow in your ~/Library/Services folder and you can just right click on the downloaded Amazon order history file to create a Day One entry from the purchases. 

    Screen Shot 2020 01 08 at 7 59 24 AM

     

    This is what the Markdown table looks like as a Day One entry (atypically expensive month, FWIW 🙂

    Screen Shot 2020 01 08 at 8 02 20 AM


  • Adding todos to Today list in Things using AppleScript

    Really pulled my hair out for a while on this issue so hoping to help someone out here.

    set newToDo to make new to do ¬
    		with properties {name:CurrentTodo} at beginning of list "Today"

    This, despite the Cultured Code documentation using Today as an example list in the AppleScript guide.

    So, if you use that code and replace “Today” with “Someday” it works like a champ but if you pass it the list “Today” the todo item is created in the Inbox and not the Today area of Things. Weird and it was making me crazy.

    Anyway, the easy solution is:

    set newToDo to make new to do ¬
    		with properties {name:CurrentTodo, due date:current date} 

  • Shortcut: Day One braindump to Things

    I use Day One as a journal almost every day. Most mornings start with me doing a bit of a brain dump into Day One, listing anything that’s on my radar that I need to deal with.

    So I wrote a shortcut to help me deal with those brain dumps a bit better.

    This shortcut:

    – takes a list of items from the clipboard (so, I would just select/copy the list in Day One) and creates entries in Things (my todo list app of choice for the past many years).

    – With a bit of a rub: if the tasks contains the word “today” (e.g. I need to call Joe today) the shortcut puts the task in the Today section of Things instead of in the Inbox section.

    Admittedly this is not really wizardry level stuff here and the inability to run a similar procedure on my Mac (shortcuts only working on iOS I mean) limits its use a bit. But anyway, for anyone running Day One on iOS who is interested, here’s the shortcut I use to extract a brain dump from Day One and load the tasks into Things.


  • Friday Links – Jan 3, 2020

    Ambitiously titling this post Friday Links thinking that I may be able to do it again next Friday and the one after that. We’ll see!

    Anyway, some links I’ve enjoyed from around the web over the past few days:

    The rise, fall and resurrection of Flickr – Ferdy Christant

    When you support free, you support billionaires. When you pay, you support sane businesses and real creators. Start paying for things that cost money. If you can’t afford to, use fewer things, which generally make you happier anyway.

    Very long but interesting post about Flickr. Where it is now, where it came from, etc. I haven’t renewed my Flickr Pro account in forever and don’t expect that I will simply because I have no need for it but we will definitely lose an important piece of Internet history if Flickr can’t sustain itself.

    Time Out: We Don’t Give Music Enough Time to Grow on Us Anymore

    A few years ago I started making playlists in iTunes that only contained 3-5 albums and listened to those tracks exclusively for a few weeks before rotating them out. There is something about becoming really familiar with a recording, a whole album preferably, that rewards in a way that superficially skimming the surface of Spotify just doesn’t deliver. Thinking about restarting this practice somehow.

    Genius loci

    Learned this phrase this week. the prevailing character or atmosphere of a place. Love it.


  • Could Competition from Private Equity Make Kindle Suck Less?

    I received a Kindle for Christmas. I love it despite the fact that it feels like Amazon has done little if anything to advance the technology of the ebook reader in the 10 years that have passed since I bought my wife her first Kindle 2.

    Highlighting passages in an ebook on a Kindle still feels janky and broken. The interface, or lack thereof, forces users to hunt and peck around the screen with a fingertip, making wild guesses about what effect various taps will have.

    Much smarter people than I have thought hard about how much better ebook reading could be. Craig Mod is one of those people and has written about this on Medium and his personal site.

    That said, receiving the Kindle for Christmas motivated me to dig out my Princeton University library login and see what kind of books were available on loan for me to read.

    Some background: This was not my first attempt at borrowing digital materials from the library. A few months ago I tried borrowing an audiobook from the PU library and was prompted to download an application on my iPhone called Overdrive to search and borrow materials.

    The Overdrive experience was awful.

    So bad in fact that I immediately shelled out $15/month to audible.com even though the user experience there is only a bit less tedious.

    No doubt part of the friction with my first attempts using the Overdrive application to borrow digital materials from the library was having to jump through Princeton’s dual-factor authentication to validate that I could borrow materials.

    As I switched back and forth from the Overdrive app to Safari, back to Overdrive, my inner-coder could sense just how precarious and failure-prone this authentication process would be.

    This is all to say that I didn’t have very high hopes when on the day after Christmas I grabbed a completely unnecessary plate of Christmas cookies and fired up my iPad to see what ebooks might be available for me to borrow from the library to read on my new Kindle.

    This time though instead of using the Overdrive app to access the library’s materials, I was promted to download an app called Libby.

    Libby is a much better version of the original Overdrive. More polish, less janky. Moreover, it did two things straightaway that indicated it had been completely rewritten from the ground up:

    • it handled the two factor authentication without a hiccup. Library authentication was dumbfoundingly easy and very elegantly integrated into the Libby app. Morevoer, Libby seems to handle multiple libraries with ease.
    • the app asked me right out of the gate if I wanted to read ebooks that I’ve borrowed in the app or on my Kindle. It handled the Kindle integration with ease as well.

    With Libby the friction of borrowing ebooks from the library is barely any more difficult than purchasing an ebook from the Kindle store. [note: When I read something (physical, digital) from a library and I really enjoy it I will in most cases purchase the hardcover version of the book for my bookshelf. Both to support the author and to give me some visual cues of what I’ve read. That’s just me. Judgement-free zone here.]

    I get that borrowing digital materials from the library comes with its own bag of problems around revenue and timing of book sales (publishers now delay making digital versions of their books available to libraries for a few weeks after the hardcover hits to avoid cannibalizing sales, etc.). Throughout my career I’ve worked with libraries in various capacities and experience has taught me that on the whole, librarians are both passionate and vigilant.

    So, when private equity behemoth KKR announced their purchase of Overdrive from Rakuten at 6:30pm on Christmas Eve there was a bit of a stir on twitter about how this spelled the end for Overdrive and its swell Libby application:

    https://twitter.com/kawy/status/1209741083900628992

    https://twitter.com/bibrarian/status/1209690019633475584

    https://twitter.com/juliegoldberg/status/1210442912762335232

    Twitter has me thinking that librarians, who may be our most vocal ambassadors of a freely available commons of knowledge and information, don’t seem to have a lot of love for the folks in private equity. In particular a lot of angst seemed to stem from KKR’s acquisition and dissolving of Toys R Us and there appears to be some expectation that they’ll do the same with Overdrive.

    BoingBoing.net’s Cory Doctorow seems to take a similar view with his coverage of the acquisition noting KKR’s model here is:

    to buy profitable, productive companies, load them up with debt (paying themselves out of the money that was borrowed), cut costs by slashing wages and degrading the quality of their products and services, then allowing the company to go bust, stiffing the creditors, workers, and suppliers (that is, libraries, publishers and writers).

    I am a fan of BoingBoing as well as Doctorow’s fiction but something wasn’t sitting right with the way this acquisition was being portrayed. So I did some Googling and found a few interesting facts about KKR:

    • First off, while I’m sure many Toys R Us employees would have preferred to have kept their jobs instead of seeing their employer go under, KKR and Bain put up $20mil as severance pay for Toys R Us employees who were let go. I thought that was interesting and somewhat overlooked in the Twitter rage-fest about KKR’s evils.
    • Secondly, why buy such a strange, niche company/product as Overdrive/Libby just to drain revenue? Where is the revenue? Did I miss something about the cash cow lurking in libraries and digital media? So then I discovered that KKR has also recently acquired RBMedia, an audiobook publisher that also owns audiobooks.com and RBDigital.
    • Thirdly, I read this paragraph in a Forbes piece on KKR (the whole article is worth reading):

    According to Kravis [one of the K’s in KKR], Japan is littered with cheaply priced conglomerates loaded with underperforming assets. He recalls asking the CEO of one of Japan’s big trading companies how many subsidiaries the company owned. The Japanese executive said 2,000. When Kravis asked how many were core, the answer was still 2,000 . .
    “I’ve been going to Japan since 1978. I always saw the light at the end of the tunnel. Now it’s real,” Kravis says with a youthful glint in his eye. Roberts adds, “Japan today reminds me of the 1960s and 1970s in the United States.”

    Taking these three points together (Rakuten is, of course, a Japanese company with a bunch of subsidiaries) seems to me like KKR may actually have some kind of strategy here to integrate these disparate acquisitions. Maybe they want to make money the old-fashioned way by building something that makes it easier/better to borrow digital materials from the library than what currently exists in the market? Who knows?

    All that said, this whole thing would have been way more interesting if KKR had purchased Rakuten’s Kobo (ebook) subsidiary.

    I don’t know enough about libraries to know who KKR is competing with as it (hopefully) builds out its Libby/audiobook.com/RBDigital integration. But I do know that it they buy Rakuten’s Kobo subsidiary they may have enough resources to wake Amazon from the complacency that has allowed the flaws in the Kindle to exist for so long. Maybe Overdrive was just the first bite at the apple? Who knows. But in contrast to most of the hot takes on Twitter, I’m skeptical that KKR purchased Overdrive just wring out revenue and shut it down.


  • Troubleshooting PDF OCR using Python on Mac

    I wrote a script to extract some text from a PDF (image-based text, so pdftotext wouldn’t work).

    Using pdf2image convert_from_path I simply could not get any data out of the pdf. I tried multiple PDFs while testing and convert_from_path just kept returning an empty variable.

    Turned out that my homebrew install of xpdf was interfering with my homebrew install of poppler.

    Uninstalling xpdf (brew uninstall xpdf) and reinstalling poppler (brew install poppler) seemed to fix things up. My suspicion is that they both come with their own versions of pdfinfo which is used by pdf2image. Just a hunch, I don’t know enough about what’s going on under the hood. So, anyway, if pdf2image isn’t working correctly for you and you’re on a Mac, make sure you’ve got poppler installed and that xpdf’s pdfinfo isn’t being used.


  • Book Notes: The Alchemist

    The Alchemist by Paula Coelho was recommended to me by the Goodreads algorithm, which apparently stinks as the only thing that kept me turning the pages in this book was the suspense of trying to figure out why the heck this book was recommended to me.

    Not my bag I suppose.

    Have been slowly making my way through Marcus Aurelius’ Meditations this winter and I did enjoy the parallels in some of the ideas in this book and Meditations, especially around the sentiment when Coelho articulates that the timing of death is largely irrelevant if you are truly living in the present.

    Still, maybe Goodreads was suggesting this for the 14 year-old me? I think I might have appreciated it back then. Not sure. But will definitely be more skeptical of future algorithm suggestions.


  • Book Notes: To Kill A Mockingbird

    We will be seeing the new production of To Kill A Mockingbird in a few weeks so I decided to re-read the book on the kindle I received for Christmas.

    Having read nothing but non-fiction for a long time now I forgot how much I enjoy the sensation of getting lost in the atmosphere created by good fiction writing. Lee does a good job evoking the feel, the routine, and the patterns of a neighborhood from a kid’s perspective. I feel like my own feet have worn a path in the ground from the Finch’s to the schoolyard over these past few days.

    It’s interesting that the book ends with Scout seeing her neighborhood from Boo’s perspective and really underlines how important that notion of empathy is that runs through the book.

    Also I had completely over-simplified the story in my head over time and forgotten just how much this is a story about class structure as it is about race. Such a great and important book and am glad for the experience of having read it again.

    The book’s message of empathy, the importance of seeing the world from someone else’s shoes and how most people are nice “when you finally see them” seem more relevant now than ever.


  • Mac radio nirvana

    Setting up my new iMac, I’ve found a nice combination of apps to make listening to radio at my desk a real pleasure.

    [update Jan 8, 2020: this setup still works great but I have also purchased the subscription to Triode and also use the Mac desktop version of the app when at my desk]

    First up is Triode on my iPhone. A terrific iOS application from a long-time Apple software developer, the iconfactory. On my drive out to Princeton, I lose reception to WBGO* (an NPR jazz radio station out of Newark, NJ) so being able to stream the station over the internet is necessary. Triode makes the whole internet-radio station experience much better by looking up track info and making artwork available, etc.

    Paired with Airfoil Satellite (also from a long-time Apple developer, Rogue Amoeba) installed on my iMac, I can send the audio from my iPhone to my iMac as if it were just another Airplay device. I use some combo of Airfoil, Airfoil Satellite and and the Airfoil iOS remote all around my house on Mac hardware of various vintages. It is a fantastic audio utility—my only grudge here is that it doesn’t send stereo output to my pair of HomePods but I think that is an Apple limitation more than an Airfoil limitation.

    A few notes:

    • My iMac sends audio output via 1/8” connector to one of these cool Tripath solid state mini-amps. I love this thing and have a few of them around the house. Sounds great. Easily powers a pair of bookshelf speakers.NewImage
    • I can’t get the WQXR Holiday Station to stream on Triode. The app, thoughtfully, has a way to add a new station manually using the stream’s URL but after spending a while inspecting WNYC’s page code/resources, I can’t find the URL. Would love it if anyone can share the actual URL.
    • *I support WBGO with a donation and if you’re a jazz fan, might want to consider the same!

Current Spins

Top Albums

Check out my album Set It All Down on your favorite streaming service.


Posts Worth Reading:


Letterboxd


Reading Notes

  • The real problem, in my mind, isn’t in the nature of this particular Venture-Capital operation. Because the whole raison-d’etre of Venture Capital is to make […]
  • The antidote to all of this, in the broadest terms, is *more reality*, more immersion in the finite here and now: more writing on paper; […]
  • “Under the worst conditions, what’s the most important thing to have?” He replied: “Friends.” Source: Recording: After the Election – Four Ways We Can Respond […]
  • Spain’s unity at this moment is from the bottom up. Or, as Spanish professional soccer player Ferran Torres wrote on social media, “The people are […]
  • Unable, then, to see the world because I have forgotten the way of being in the world that enables vision in the deepest sense, I […]

Saved Links

  • Built for people who buy music — Direct link
  • Top news shared by the people you trust Sill streamlines your Bluesky and Mastodon feeds to give you a clear picture of what’s happening. — Direct link
  • The day's tech news, every day at 5pm. From Techmeme.com, Silicon Valley's most-read news source. 15 minutes and you're up to date. — Direct link
  • Beautifully Simple Podcasts. — Direct link
  • Uncover the insidious ways in which our daily lives are being surveilled by the state. In a gripping chase, Ronan Farrow travels across the world following breadcrumbs and finally exposing a dark world of spywares, hacking, and peddling of private information, where activists and journalists are persecuted, and no one is protected from the watchful and vicious eyes of authoritarianism. #API #Actors #Actresses #Cast #Credits #Movies #Photos #Ratings #Reviews #Shows #Streaming #Synopsis #TV #Teasers #Trailers #User — Direct link
  • Western democracies have been roiled by the use of spyware to target politicians, journalists, and other vulnerable groups. Could it happen here? Ronan Farrow reports. — Direct link
  • The Gentle January series shares one practical privacy tip a day from a Markup staffer who actually uses the advice in their own life. — Direct link
  • "to be clear, I’m a fan of the Bluesky leadership and engineering team. With the VC money as fuel, I expect their next 12 months or so to be golden, with lots of groovy features and mind-blowing growth. But that’s not what I’ll be watching. I’ll be looking for ecosystem growth in directions that enable survival independent of the company. In the way that email is independent of any technology provider or network operator." — Direct link
  • "I have been impressed with the tools that the open source development community is building to bridge the gap between the AT protocol and ActivityPub, and I’m hopeful that some mixture of Bluesky and Mastodon will eventually serve most of my needs as a social media user and, hopefully, as someone who co-owns a website" — Direct link
  • Ditch big telco. Rise above with The People's Carrier, a new carrier owned by the people, and earn crypto. — Direct link