Oh good, that headline worked as planned. I used an odd number as recommended by clickbait experts, and you clicked. The system works.
No, this post does not contain a quiz that will tell you what species of dolphin is your spirit animal, but it does contain news of 11 bugfixes and the status bar thing is pretty cool, so it was more hyperbolic than dishonest.
Anyway, the latest version of Marked 2 (2.5.30) is available on all channels now (Mac App Store, direct, and Setapp). I’ve been holding off posting about it until the MAS review finished, and I’m pleased to announce that after 3 weeks, it finally has.
One of the new features in this release is the ability to hide the status bar. This works in both windowed and full screen modes. Use Preview->Show Status Bar to toggle it on and off (or use the shortcut Ctrl-/). When hidden, hovering over the lower part of the screen will reveal it and allow clicking on any of its buttons. This feature has been repeatedly requested over the years, and while not one that I considered high priority, I found an easy way to pull it off and decided, why not?
I’ve also added a URL handler method for “defaults”. This allows the user to create urls that will toggle preferences. It’s not a front-facing feature or one that will be useful to most people, but it will allow me to create URLs in the help system that toggle existing preferences and possibly some future esoteric preferences that might not be part of the Preferences interface. This was inspired by some other apps, including Curio.
The URL handler also opens up some scripting possibilities that Marked’s current lack of AppleScript support makes inaccessible. Switching the processor from MultiMarkdown to GFM, for example, can be done with a URL call to x-marked://defaults?processor=discount, or switch syntax highlighting and MathJax off with one call to x-marked://defaults?syntaxHighlight=0&includeMathJax=0. More to come.
And a fix for an annoyance
There was this long-running glitch where turning the custom processors on and off using the indicator lights in the status bar of the preview required multiple clicks to get it to stick. That’s fixed. Finally.
If you work with Markdown and haven’t picked up Marked 2 yet, now’s a great time. I mean, you’re late to the party, but we’ve been waiting patiently for you. I even have a coupon for you so we can get the party started: IMFRIENDSWITHTTSCOFF will get you 20% off the direct sale version.
Here’s a more complete set from from the changelog:
Option to hide status bar (show on hover)
URL Handler method “defaults” for setting preferences via URL
If a CriticMarkup element has a comment following it, show it in the lower banner when hovering the element
Custom processor log unreadable in Mojave Dark Mode
IA content blocks rendering inside fenced code blocks
CriticMarkup highlights missing in PDF export/Print
Custom processor indicator not toggling on first click
Issues with continuous PDF export having blank space or being cut off
Regex search when surrounding query with forward slashes
Crash on search for “+++”
When exporting Markdown, HTML entities are decoded
GitHub style issues
Grab the Marked 2.5.30 update via the Mac App Store, Setapp, or the automatic updater in the direct version (Marked 2->Check for Updates). And don’t forget, IMFRIENDSWITHTTSCOFF will get you 20% off!
I’ve published over 100 projects over the years. In posts here, as projects, on GitHub, sometimes just zip files to Twitter. A lot of them I create out of curiosity, then let them go. I want to take a quick stock of the other kind, projects that filled a need so well for me that I not only maintain them, I use them daily. While I’m looking to satisfy my own curiosity, I’ll just go ahead and highlight some of them.
This is definitely not a “Best of 2018” list. These projects are almost all older than last year, though almost all of them saw updates over the course of the year.
Part 1: apps and services
Out of all of my projects, only a few of them are full-fledged apps. This section is going to list my favorites of those (and likely the only ones that have survived multiple OS versions), as well as my more fleshed-out Services (a.k.a. Quick Actions, these days).
SearchLink is my favorite Service. It makes creating web links while you’re writing as simple as hitting a keyboard shortcut. No jumping to the browser, searching, copying, and jumping back. I seriously wouldn’t want to write without it.
You probably know this one. While I struggle to get a replacement off the ground, I’ve kept nvALT running on the latest operating systems (and will for the foreseeable future). I don’t know where I’d be without it.
While I turned over development of this Sublime Text package for Markdown writing, this was originally my project and I still use it every day. I’m using it (and SearchLink, Marked, and nvALT) right now as I write this.
Marky the Markdownifier isn’t perfect. There’s a lot I’d like to fix on it. But 90% of the time it makes it a simple task to turn web articles into Markdown, whether I just want to make things more readable in the browser or archive them in a text format.
The cleverly named collection of macOS Services for writing Markdown. From adding bold and emphasis to gathering a Markdown list of all your Safari/Chrome tabs, this collection proves useful to me every time I write, even in Markdown-specific apps with their own tools.
I talk a lot about my key bindings. I won’t go into depth other than to say it allows me to add shortcuts and modifications to the entire macOS text system. I miss them immediately when working without them, so they seem relevant to this list.
Part 2: Terminal tools
I spend time on the command line every day (iTerm2 to be specific), so the CLI tools I’ve written get a workout. Here are (some of) the ones I use constantly. You can find an archive of all my exploits in the Bash Fun series. (It’s mostly bash stuff, but often shell-agnostic and I do include some other shells.)
My little interface to a TaskPaper file for each project. When I cd into a project, I automatically get a list of the top priority todo items for that project, and I can quickly add new todos, along with priority tags and notes. Together with my td function, this is how I handle all project-specific task management.
My “What Was I Doing” system. I really just built it so I could take a quick note about what I was working on when I detect myself getting distracted by a tangential project, it morphed into a fairly complete system for task, idea, and time tracking.
Because I have so many scripts, aliases, and tools in my shell, I sometimes lose track of where a function or alias is coming from. Where catalogs all of my sourced files in Bash and allows me to quickly track down the file and line number where a function or alias is defined. It probably isn’t handy for everybody, but I use it frequently.
This one works transparently, always picking the right editor when the $EDITOR variable is invoked in my shell. I use it every day without even remembering that it’s there (until my markdown file automatically opens in MultiMarkdown Composer instead of Sublime).
This trick lets me type xc [tab] and get a completion of all of the Xcode projects and playgrounds in the current folder, ready to open in Xcode with the press of the return key. I have it set up for everything from Xcode and Sublime to Acorn and ImageAlpha.
Part 3: Just the aliases
I’ve mentioned a bunch of my favorite Bash aliases over the years, and some of these are repeats/updates, but here’s a list of some of my favorite custom aliases that you might want to incorporate if you spend time in the shell.
Handy tutorial for converting a Raspberry Pi into an Airplay receiver. It can’t handle Airplay 2 (yet) but this is a nice way to add your favorite speakers to your wireless setup without a now-extinct Airport Express.
This little Sublime plugin takes some setup, but its functionality is really handy: automatically hard wrapping lines as you type in things like comment blocks, continuing comment markers as needed. Simple enough, but I love this one.
I realized that most of my favorite apps for 2018 were coming from Setapp, so I’m going to save a little time and just send you there. For $10/month (with family and team plans available), there’s just too much good stuff on Setapp to ignore it. Here’s an incomplete list of the apps on Setapp that I use regularly:
Yummy FTP Pro
Some of my favorites on iPhone and iPad from the last year:
I 100% blame John Voorhees for this one. I had to delete it off my phone because the Screen Time stats were horrifying. But if you’re looking for an addictive game with excellent design and gameplay, and one you can pick up any time, this is it. There’s a fair chance it will ruin your life.
And along the same lines as TapMeasure, this AR app lets you build floorplans by quickly scanning the corners of rooms and attaching them together. Want to measure the square footage of your entire house? Get this one.
I know, I mention these every year. Seriously great collaborative mind mapping (MindMeister) and project management (MeisterTask). My favorite feature is the ability to instantly turn a mind map into a kanban board…
($12.49) This is pretty OCD. Little plastic wedges you can carry around to fix any wobbly table. If you work at coffeehouses, these are great. I doubt they’ll impress your date, so maybe wait until they’ve gone to the bathroom. Thanks to Joe Kissel for pointing me to these.
($12.99) If you want a great work lamp/camping light, this thing is awesome. It’s a super bright flashlight that can slide open to become a lantern. A powerful magnet at the end makes it easy to attach to work surfaces and get light right where you need it.
And if you’re camping (or dealing with a power outage), GearLight LED Lanterns are $16.99 for a 2-pack. Compact and sturdy.
($88) Currently unavailable, but I have to mention it because it’s my favorite yoga mat yet, and I’ve been through a fair number at this point. Great thickness for me (great padding but not so thick it feels like standing on a pillow) and excellent surface traction. Expected to restock in February.
($19.99) Whenever I post yoga pictures I get questions about the gloves I wear. They’re weight lifting gloves with wrap-around wrist support. Great for traction with sweaty palms and a little support for RSSI wrists. My previous brand was Harbinger, but when the velcro wore out I tried these Trideer and I’m really happy with them.
($55.53) This is for a select audience, but if you keep your hair short and like to cut it yourself, this clipper is amazing. It fits in your palm and makes it easy to get to your head from all angles, with a rounded blade to handle the curvature of your head. Not bad for a quick beard trim, either.
It’s harder than you might think to find a date-based stock photo with a tone anything less than “jubilant excitement.” All I wanted was 2019 in a shade of “cautious optimism,” but no. It’s all fireworks and sunrises. This one will have to do.
Welcome to 2019. Since I’m not doing a great job of blogging over the last month, I thought I’d at least get a status update out. Much as Overtired often starts with the “Mental Health Corner,” my instinct is to let you know what’s going on in my brain before getting to other topics.
I’ve been dealing with mental health issues more than usual lately, mostly surrounding my ADHD. The meds don’t seem to be working for me anymore, but I’m not convinced my focus issue isn’t more related to depression than ADHD. To top that off, I just found out that my psychiatrist is moving on, leaving me with the terrifying options of going back to the clinic that originally stripped me of all my stimulant meds, or joining a waiting list at a different hospital with no guarantees I won’t get the same treatment. Depressing thoughts, either way, and the fear of the outcome has kept me from making the phone calls. I’m really bad at making phone calls to begin with. Some mental block that makes it really hard to pick up the phone.
I’m trying to convince myself that even if I lose my meds, they haven’t been effective lately anyway. But I know very well from all-too-recent experiences that they’re far better than nothing. I’ve been compensating by using a full-spectrum lamp to combat SAD, exercising regularly, meditating, quitting alcohol completely, and regulating diet. Hopefully all works out well in the end.
So, whatever is going on right now, be it ADHD symptoms or depression, med-related or lifestyle, I’m finding it impossible to tackle more than one thing at once. Thus, as the work that feeds me has been priority, things like writing, blogging, podcasting, even working on new coding projects have temporarily slowed down. That in itself is a source of stress for me. I’ve spent over a decade building up my blog readership, software customers, podcast audience, and the trust and interest of those who follow me. Ceasing content production is not something I have any interest in doing, and failing to produce leads to nagging stress about all the things I’m not doing.
Systematic (and Overtired)
Systematic has been on an unannounced hiatus for a while now. I’ll admit I got a little burnt out, and I’ve been having trouble nailing down sponsors despite a decent audience size. Smile has been a constant supporter of my work, and really what’s kept Systematic going this long, but having a little more income from it would be nice. So what I’m looking at doing is pausing until February, then re-launching with a more season-based approach. 6-8 episode runs, ideally following a single topic. Music, mental health, feminism, ecology… things that interest me and that I’d like to hear from multiple people about. We’ll see if I can sell sponsorships for a season at a time. While I haven’t nailed down the first set yet, hopefully that comes together in January and I can get back to regular publication.
Overtired suffers from its usual scheduling issues. That’s not an official hiatus, we’ll get back to it. I think.
Marked continues to be a large portion of my income. I’m currently working with renewed zeal on the RTF export capabilities, as well as solving some long-standing issues. The customer base I’ve built up is overall highly supportive and a delight to work with. There’s a new update out right now for everyone except MAS customers (who should see it soon, pending review) that adds the ability to hide the status bar (for a chromeless window in full screen) and a bunch of fixes.
Side note, I know that something broke with list indentation using the GitHub theme. It’s fixed, I’ll have another update out as soon as possible.
Development will continue, even if at a slightly slower pace. Marked is my favorite software to work on right now.
BitWriter is once again stalled. It’s become very frustrating, and in the years it’s taken me to get it off the ground, plenty of competition has popped up. Some of them are really good, too. Carrying this failure has been a huge load on me, but I haven’t been able to give it up yet. I really think that what we have is a solid app that the world needs, and that there’s a large market potential for it, but whenever I hit a snag in the development I get overwhelmed and find myself needing to get back to work that pays more immediately. So, in short, it’s still in progress, just like it has been for years now. For whatever that’s worth at this point.
I don’t want to make it sound like 2018 was a horrible year. Sure, I lost my dog to cancer, continued dealing with the loss of my marriage, smashed my convertible. But I also have a fulfilling and constantly delightful relationship with my girlfriend, a stimulating yoga practice, and I’ve created a lot of things I’m proud of in the last year. Up until the end of the year, I had great successes with my software (featured by Apple, even), exciting Systematic interviews, and a new Audi that I love just as much as my TT.
So despite how depressing this overall update might sound, I have high hopes for 2019. I have new projects currently underway (NDA) that I’m excited about and enjoying working on. I hope to get my mental health back to a point where I can do that and still maintain my blogging, podcasting, and other public endeavors. Thanks for sticking with me this whole time, your continued support has meant the world to me.
Thanks to PDFpen for sponsoring BrettTerpstra.com this week!
PDFpen is the ultimate tool for editing PDFs. The latest versions of PDFpen and PDFpenPro include support for Dark Mode on Mojave, as well as smoother scrolling, faster thumbnail drawing, and increased maximum zoom.
Using PDFpen, you can:
Go paperless with scanning and OCR
Markup and highlight PDFs
Search and redact sensitive info, such as account numbers
A great report from the team at Ghostery on all of the trackers and tools that retailers are using to collect and quantify your online shopping habits, including some tips for maintaining your privacy this holiday season.
Apple has filed a patent for a name pronunciation system. I don’t see this as a “help you pronounce” tool as a potential fix for Siri’s ability to recognize and pronounce names in everyday use. I’m quite certain I’m not the only one who’s had to adopt bizarre phonetic pronunciations of friend’s names to get Siri to comply, so here’s hoping this makes it into production.
Some of you may recall a publication created by Aaron Mahnke (now better known for Lore) called Read & Trust. It was a zine-style collection of works by a group of trusted bloggers. I was flattered to be included in it, and wrote a few pieces for it over the course of a year.
The publication no longer exists, but I got permission from Aaron to re-publish some of my work there. I enjoyed writing this piece on finding a creative spark when faced with a blank page or a tough problem, so I thought I’d share it here. I hope you find it useful.
Creativity and Distraction
By Brett Terpstra, originally published in Read & Trust magazine.
You may or may not consider yourself creative. You might not be a designer, a painter, a philosopher… but you solve problems every day, and that takes creativity. So what do you do when you need to be creative but can’t find the spark? It’s the equivalent of staring at a blank sheet of paper, and anybody who’s ever had to write anything knows what that feels like.
Creativity is the ability to approach a problem and solve it in a new way. That problem may be a storyline you’re working on, a repair that needs to be made on your house, taking over a small country or anything in your day that gives you pause. Creativity is our means of removing roadblocks from our daily lives.
You do it all the time; coming up with answers that you didn’t have the minute before. When there’s pressure to do it, though, your conscious mind often shuts down. That’s ok, though, because what we commonly call creativity actually starts in the subconscious. It’s always working on the problem, even when you’re asleep, and you just need to back up and let the ideas surface.
There are no purely original ideas. Every creative thought since the dawn of man has been inspired by something. Often by something unrelated, but the spark of an idea never comes out of an empty mind.
When you need ideas of your own, surround yourself with everyone else’s. Don’t think about the problem, your subconscious mind will take care of that. Just absorb as many ideas as you can, whether it’s reading articles on the web or walking around town.
When I worked as a designer, it was commonly suggested that when I hit a block on a design I should go watch a movie. I think that falls short, though; a movie is too passive for me to really do anything other than watch. Personally, I need to be actively engaged in something for the ideas to really start evolving.
Surfing design blogs and sifting through other people’s work fired the most neural connections for me. As I studied a growing number of designs, the most interesting elements would stick in my mind, and I’d eventually begin unknowingly creating connections between them. Ultimately, a solution to my problem would begin to form. The answer would be original in appearance, but – as with all creations – inspired by and generated from a wealth of existing ideas. These days, as a developer, my favorite idea farm is Github, where I start randomly digging into other people’s code and letting my mind wander.
You can’t make yourself creative. You can only nurture your strengths and ideas. When the pressure is on to do something original or solve a difficult problem, walk away from it. You can study it for a while first. It’s helpful to know as many details of the problem as you can find, but step back when you get frustrated. Take a walk, surf the web or even get together with your smartest friends and just start talking. Conversations with intelligent, passionate people always spark ideas for me.
The idea of hiding away in a lakefront cabin to do some “serious thinking” strikes me as a huge mistake. I understand that everyday distractions can be a hindrance to getting work done, but – at least for me – the initial creative process just cannot take place in hiding. When you have the idea, sure, go barricade the door to the cabin and get to work. Just don’t expect isolation to solve your lack of a starting point.
Sometimes, after all of this, my active mind still hasn’t found a starting point to work with. The solution for me at that point has always been sleep. If a problem is too baffling, thinking about it non-stop never gets me anywhere. Sleeping, even just for a few hours, almost always gives my mind a chance to put the pieces together. I’ve solved many a programming problem in my sleep. I’ll admit that it takes a conscious effort to get myself to go to bed when there’s a problem looming in my mind, but I know from experience that after all my apparent options are exhausted, Morpheus is my best hope.
When the heat is on and your creativity just isn’t there, let distractions in. Find your answer by not looking for it.
I’ve always used dark color schemes for coding. I never use dark themes for writing, and I’m not a fan of Dark Mode in Mojave, but for some reason I’ve always gravitated to light-on-dark for coding. I decided to try a change, and I’ve been quite happy with the results.
I’m still using Sublime Text. As much as I dig many things about VSCode, I haven’t been able to dedicate myself to it and leave behind the comfortable environment I’ve built in Sublime. So this color scheme is for Sublime Text.
I also wrote this theme in the old PLIST format from TextMate which even TextMate doesn’t use anymore. Lack of necessity is the only reason I haven’t converted it to JSON, but feel free to submit a pull request.
I created Lucky Charms based on some of the ideas I loved from the original Espresso editor light theme. Part of my draw to dark themes is the contrast it offers for highlighted syntax. Lucky Charms aims to close that gap for me. It uses transparency and background colors to highlight function names and property keys with blue moons, regular expressions with yellow stars, and strings with green clovers (colors I mean, no emoji involved).
Without further ado, a screenshot:
Grab the theme on GitHub. I haven’t added it to Package Control, but you can just copy the tmTheme file into ~/Library/Application Support/Sublime Text 3/Packages/User/ and open the Sublime Text->Preferences->Color Scheme… menu to use it.
As always, I’m open to all criticism, but if your complaints are about light themes in general, consider > /dev/null.