Welcome to the lab.

Web Excursions for November 28, 2016

[Tweet : ADN : nvALT]

This week’s web excursions brought to you in partnership with Udemy. Learn Anything.

Thank You, Sal
Sal Saghoians, “Czar of User Scripting & Automation,” has departed from Apple. This roundup compiled by Micahel Tsai offers highlights of comments from the community. I join the mass speculation that this is a bad sign for the future of people like me who spend as much time automating Macs as they do working on them. The reason this is notable is not that Sal was let go, it’s that his position was eliminated. It’s not a matter of personal conflict, it’s a sign that Apple might not see a future for the automation that I love on macOS (and hoped for on iOS, someday).
The new MacBook Pro is kind of great for hackers
I’m one of the many who have been critically speculating about the new MacBook Pro. It’s something I don’t usually do without getting my hands on one, but “no escape key!” and “no function keys!” and “too many dongles, not enough ports!” have escaped my mouth on several podcasts now. This is a refreshing take that goes back to my usual philosophy of “give it a year and see if you still want to go backwards.”
Scheduling Due Dates in TaskPaper
A tutorial on using TaskPaper’s latest features to schedule due dates in your task lists with a popup date picker.
The Linguistic Evolution of ‘Like’ - The Atlantic

People’s sense of how they talk tends to differ from the reality, and the person of a certain age who claims never to use like “that way” as often as not, like, does—and often.

Daft Science by Coins
I can’t help but post this. I’ve long been a fan of mashup, dating back to the first time I heard SoulWax/2manydjs. The best part of mashup for me is that it can take two or more songs where I fail to appreciate one or more of the artists and change the context in a way that makes me… appreciate them. This album by Coins combines the group I consider to be the quintessential musical artists of my generation (The Beastie Boys) with an artist I had never bothered to appreciate to any extent (Daft Punk).

Udemy Banner

Marked 2.5.8

[Tweet : ADN : nvALT]

The latest version of Marked 2 (2.5.8) is out with improvements and fixes. The price is $9.99 through (Cyber) Monday, after which it’s going back to $13.99.

Content blocks, you say?

In light of iA Writer 4’s ballyhooed “content block” features, I’d like to highlight an existing feature in Marked: inclusion of external files (with nesting capabilities) has been there for years.

You can “transclude” documents using MultiMarkdown syntax (“) or Marked’s own syntax which allows you to quickly define the content as Markdown to process (<<[file]), external code source (<<(file)), or raw text (<<{file},which works well for inserting HTML without choking the Markdown processor). Marked also handles Leanpub and mmd_merge formatted indexes. (I’ll probably add iA Writers “yet another syntax” for compatibility as well.)

Add in Marked 2’s support for Scrivener document previewing, and support for Ulysses, iThoughts X, MindNode, MarsEdit, nvALT, MultiMarkdown Composer, Xcode playground files, and more, and it has just about every writing workflow covered.

Improved help system

I’m continuing to update the documentation. Marked 2 has been through a lot of changes since I created the initial help and screenshots, so I’m working to keep it updated. In case you missed it, I ended up building my own help reader for Marked 2, which includes better search, bookmarking, and indexing than the Apple Help System offers. You can also search for topics directly from the Help menu item, just hit ⌘? and start typing keywords.

As an advanced tip, the x-marked URL handler can also access the help system: [open 'x-marked://help/Overview:whatsmarkdown' ([page]:[optional section]). You can copy the link for any page/section by hovering over the headline for that section and right clicking (Copy Link) on the bookmark icon that appears next to it.

It gets better…

Other improvements include an update to the syntax highlighting library with support for new languages. I’ve improved the Autoscroll feature (press s when previewing, and Shift-S to reverse) with better scroll speed defaults and range. You can also click the scroll meter to pause/start and drag to adjust speed.

And better

There are also some fixes, major and minor. Theme updates (left padding issue in Swiss, doubled fonts in Upstanding Citizen exports), TextBundle handling, and double-encoded ampersands coming out of Scrivener previews.

The Spelling/Grammar feature has also received a lot of my time and love. First, “Restore purchases” for the add-on now works properly in the direct version. I improved the navigation for errors, and fixed a few bugs in that area as well.

Moving forward

I’m splitting development time with BitWriter right now, but the roadmap for Marked 2 includes (finally) finishing the rewrite of the RTF export, which will help out with both Pages and DOCX output, more customizable headers and footers (with image/watermark handling), an actual theme format to make creating and sharing themes easier, and some more advanced features for writers such as target word counts and progress display. It’s not top priority, but I’m planning out a Presentation mode as well, for turning Markdown documents into slide decks…

Get it

You can update to the latest version within the app. Marked 2 > Check for updates for direct customers, or check your Mac App Store Updates section. If you haven’t picked up Marked 2 yet, take advantage of the $9.99 sale while it lasts!

Web Excursions for November 15, 2016

[Tweet : ADN : nvALT]

This week’s web excursions brought to you in partnership with Udemy. Learn Anything.

Hop - Email Messaging Superpowers
This looks like a really smart way to handle email threads. I doubt it would suit my needs the way Spark does, but I think the conversion of quoted email conversations into Messages-style conversations is brilliant.
gitmoji | An emoji guide for your commit messages
An emoji guide for your GitHub-hosted commit messages.
I had cause to need to recover an entire defunct section of a website recently. It existed in good shape on the Wayback Machine, but downloading sites isn’t easy there. I searched for solutions a while, and eventually found wayback-machine-downloader. Worked like a charm.
derickfay/key2txt: Convert Keynote files to text (Taskpaper and Markdown) and back
I needed to take a presentation Keynote and turn it into a workable outline, and these scripts worked a charm.
Google Advanced Search Query Syntax
I know most of these, and I almost exclusively use DuckDuckGo, but I think anyone who reads this blog is probably interested in some of the advanced search syntax that Google provides.
Trump Tracker
Regardless of your political leanings, I think we’re all waiting (read: nervous) to see what electoral promises Trump actually follows through on.

Udemy Banner

nvALT 2.2.7. Everything’ll be fine.

[Tweet : ADN : nvALT]

There’s an update for nvALT available (2.2.7) via nvALT->Check for Updates, or download directly below. It’s a lightweight bugfix, no big deal. Primarily for those who noticed that it no longer automatically focuses the search field when you bring it up via hotkey or menu item.

nvALT v2.2.7 (125)

A fork of Notational Velocity with MultiMarkdown preview and advanced Markdown editing capabilities. Other good stuff.

Updated Mon Nov 14 2016.

DonateMore info…

Natural language dates anywhere with Keyboard Maestro

[Tweet : ADN : nvALT]

Updated: if you experienced a JavaScript compiler error Error on line 13605: SyntaxError: Unexpected token '='., download the 1.0.1 version below.

I’ve been learning to put my just-for-fun coding projects off until the weekend. (You know, so I can work on apps that actually make money.) This weekend’s project was spawned by my finally starting to play around with Keyboard Maestro, and the discovery that you can use regular expressions to trigger macros.

While I generally use TextExpander to trigger my “Make A Date” routines and input the natural language date in a fill-in popup, I was curious about the possibility of just typing delimiters and having the text between processed inline. Thus, “Make a Date for Keyboard Maestro” was born.

Quick example to pique your interest:

In any app, while I’m typing I can use >> to start a date string for conversion, and end it with <. Typing >>tom 3p< will output “2016-11-13 3:00pm.” Or get an ISO timestamp with >>i now<: “Sat Nov 12 2016 3:52 PM.” I can even create unix timestamps quickly using >>u yesterday 5pm<: 1478905200. There’s so much more I’ll never remember it beyond what I use often, but I did write it all down…

The script behind the macro is written in JavaScript and uses Sugar.js for the language processing. As per my usual, I went way too far with customizing and handling edge cases. You can see all of the documentation on the project page.

I know this is of limited use to most people, but if you like it, feel free to donate!

Make A Date for Keyboard Maestro v1.0.1

A Keyboard Maestro macro that expands a date using natural language

Updated Thu Nov 17 2016.

DonateMore info…

Setapp: Sustainable recurring revenue for Mac developers

[Tweet : ADN : nvALT]

We’re seeing more and more Mac apps switching to subscription-based models. It reminds me of premium channels on my Apple TV: I cut my cable a long time ago, and was happy to have the option to add HBO, Showtime, and others without needing a cable subscription… but the cost added up fast. It’s not going to be a sustainable model for users who need more than a couple of apps.

A little while ago MacPaw (developers of CleanMyMac and the DevMate platform, among other things) contacted me about an opportunity to switch Marked 2 to a subscription model. I balked. The idea of creating a continuous revenue stream for my apps is appealing, but it’s expensive for users and I’ve never seen it as a viable business model for tools like Marked. I let them pitch me, though.

What they presented immediately registered as a viable, profitable solution for Mac software users. It’s called Setapp, and it’s an app store where users subscribe at a flat rate and get access to all of the apps in the Setapp store. No trials, no upsells, no in-app purchases; pay the subscription fee and get full access to everything.

It’s going to be an invite-only app store, with carefully selected apps representing only the best in their niche. Developers get paid based on a formula that uses the price of the app and the total users for the month to calculate a monthly payout.

The Mac App Store has, overall, been good for me, but I’ve been lucky. Apple has featured Marked a couple of times, and it’s rankings have remained reasonable over time. However, it’s never likely to turn up in a search that doesn’t include “Markdown,” so discoverability for new customers hasn’t been optimal. My apps on Setapp, by way of its hand-picked selection of paid-only apps, will innately have better discoverability, even if search were to turn out to be less than satisfactory.

Adding the Setapp library to Marked took a couple of lines of code. The only thing that took some reconfiguring for me was my in-app purchases and trial checks, which needed a build target that circumvents them (because Setapp users get everything included). I’ve already been through the review process on Setapp — it’s fast, clear, and provides excellent communication and suggestions.

What clenched my decision to include Marked 2 in Setapp is the fact that I can still sell directly and via the Mac App Store. So I’m hoping to get sustainable, subscription-based revenue, without having to eliminate my current purchase options.

Setapp is coming soon, but developers can get in touch with them right now. If you think your app is a good fit, I think you should check it out.

Web Excursions for November 04, 2016

[Tweet : ADN : nvALT]

This week’s web excursions brought to you in partnership with Udemy. Learn Anything and get 75% off of any course.

This looks pretty amazing. Just what I need, another language to learn.

> Eve is a programming language and IDE based on years of research into building a human-first programming platform. From code embedded in documents to a language without order, it presents an alternative take on what programming could be - one that focuses on us instead of the machine.
App Launch Checklist

Optimize your launch plan with the App Launch Checklist from Branch.

An email-based digital assistant that conversationally schedules meetings for you. There are quite a few of them these days, and I don’t schedule enough meetings to really field test them all, but Clara seems pretty slick.
I’m enjoying this one. Openwhyd lets you gather songs and playlists from YouTube, Soundcloud, Vimeo, Deezer, and more, with community sharing and music discovery. The web app is slick as well.
DevTools Tips For Sublime Text Users – Google Developers – Medium
If you’re a Sublime user who also works in Chrome’s DevTools, there’s a lot of knowledge overlap you could be taking advantage of.