Thanks to MailButler for sponsoring BrettTerpstra.com this week. See the end of the post for a 20% discount!
Have you ever wanted to schedule your email rather than send it right away? Or wished you knew if the recipient has actually opened your email?
If your answer is “yes,” then MailButler is the perfect solution.
This Apple Mail plugin allows you to schedule an email to be sent at a specific date and time. You can fulfill many tasks in advance by writing several emails at once and letting MailButler ensure their scheduled delivery.
Or another familiar situation: you sent an email several days ago, but still haven’t received a reply. What’s the best way to react in this case?
Email Tracking, MailButler’s newest feature, allows you to know if the recipient has actually opened your email. If you know that the first email has already been read, you can proceed with a follow-up. If it hasn’t, it’s better to wait a few days.
There are other cool features that MailButler adds to Apple Mail, such as the ability to convert emails to notes, upload attachments to the cloud regardless of size, and more. The developers are constantly adding new functionality to this list.
Updated:Dr. Drang pointed out that the original functions were mostly working but flawed. I’ve updated this whole post.
This is a simple bash function that will take each line of the input piped to it and truncate it at a given length (default 70 characters), optionally inserting an ellipsis or other string if the line is truncated.
Here’s the basic trick, using sed with an example line length of 60:
Here’s a more complete version of the function. It accepts a -l switch to truncate from the left instead of the right (default), and a -s STRING flag to allow the user to specify an ellipsis or other string to add to lines that have been truncated.
These functions can be added to any file that’s sourced during login, such as ~/.bash_profile. Then they can be used like:
Here’s a Bash function for searching all text files in the current directory for a pattern, then listing the files containing matches in ascending order by number of matches. It’s mostly a proof of concept, but a useful companion to a basic grep search.
The meat of the script happens in an array declaration. It first uses grep -lIi -E "$patt" * 2> /dev/null to list files containing the provided pattern (case insensitive), ignoring binary files. The error redirect at the end of the command will ignore the errors thrown by directories. The results of this are fed to another grep command: grep -Hi -c -E "$patt" which outputs the match count for each file. The results are saved to the array.
After including the function in a sourced file (e.g. ~/.bash_profile), running matches -h will show the available flags and switches:
$ matches -h
Find files in the current directory containing the most occurrences
of a pattern
-c Include occurrence counts in output
-r Reverse sort order (default ascending)
-m COUNT Minimum number of matches required
-h Display this help screen
# search for files containing at least 3 occurrences
# of the word "jekyll", display filenames with counts
$ matches -c -m 3 jekyll
Here’s the function for pasting into ~/.bash_profile (or other sourced file):
Thanks to HoudahSpot for sponsoring BrettTerpstra.com this week. Be sure to read to the end for a 30% discount!
HoudahSpot is a powerful file search tool for Mac. Think Spotlight on steroids. Use HoudahSpot to find documents, mail messages, photos, image files and more.
HoudahSpot helps you find files quickly using multiple criteria (such as name, text content, kind, author, recipient, date, image dimensions, etc.), and searches are easy to build with a few clicks. HoudahSpot shows your results in a convenient and easy-to-use interface that keeps all your important data within reach.
Combine search criteria to narrow down search results to the exact files you need
Search multiple locations at once, and exclude folders within selected locations
View search results as list or grid. Add columns
Create your perfect setup of search criteria, search locations, columns, sort order, and more. Set as default for future searches
Store frequently used criteria in snippets that you can drag into new searches
Use saved searches and templates for recurring searches
If you regularly search for files that match a variety of criteria, you really should have HoudahSpot. It takes all of the tedium out of search and lets you focus on finding what you need, when you need it.
HoudahGeo 5 is out, adding a bunch of powerful features to the OS X photo geotagging app. New features include Places (saved coordinates and location names), drag-and-drop geocoding, Google Earth/Maps/KML export, direct camera import, and map searching.
Udemy is offering a 30% discount on all of their courses for the duration of April. You can use the code TERPSTRA at checkout to apply the discount.
If you want to learn new skills and concepts on-demand, at your own pace and on an amazing array of devices, Udemy has both master and mini courses on everything from programming to photography. Take a look!
Thanks to PDFpen for sponsoring BrettTerpstra.com again this week!
PDFpen is the Swiss army knife for PDFs, and PDFpenPro is the knife with so many tools it can barely fit in your pocket. PDFpenPro has all the standard tools to add signatures, edit text and images, perform OCR on scanned documents, and export in Microsoft Word format. Only PDFpenPro can create an interactive PDF form, build a table of contents, set document permissions, and convert websites to multi-page PDFs.
PDFpenPro 7 adds easy editing of OCR text from scanned documents as well as export in Microsoft Excel, Microsoft PowerPoint, and PDF archive formats.
Smile switched the TextExpander business model to a subscription plan last week, and the response was close to vitriolic from the community. I decided to hold off on saying anything until I had a bit more info.
Let me start by saying Smile is a current and long-time supporter of both my blog and my podcast, Systematic, and I’m a long time user and lover of Smile’s software. I will avoid bias as best I can, but a tilt in favor of Smile and its developers is going to be hard to avoid. Fortunately, there’s great news that I’ll get to in a moment.
The major mistake in the announcement of the new model was a failure to explain the benefits of it, or to provide any major new features along with it that would be relevant to individual users. The touted benefit of the subscription model was group sharing, which is really an enterprise feature, and it felt like individual users were being forced to pay for something they didn’t require.
TextExpander users have been quite satisfied with the current Dropbox/cloud sync for their snippets. What Smile left out of the marketing was that the current system had hit some limitations, and the move to a hosted service opened a new world of possibilities for feature development. Easy sharing and updating of snippets between users (without having to have a hosted URL) is only the first benefit; it also makes possible improved compatibility between platforms (Windows version in beta), things like Zapier and IFTTT integration and automation, and a host of new features they’re excited about (but can’t share yet).
The new model also ends the repetitive upgrade system. Once users are on the subscription plan, updates will come seamlessly, frequently, and without extra charge or major version bumps. Most of us have been upgrading regularly at a cost that comes out to about the same as a year-long subscription.
At face value, the switch was a jolt to me as well, so I understand the anger from current users. I think that a clearer explanation and a slower upgrade path would have made things much smoother. Apparently Smile, in retrospect, thinks so as well, as they’ve just announced an update to the release.
Previous customers gets a 50% lifetime discount on a subscription plan, and can opt to do a monthly plan at $2.08/month while deciding whether to invest in the yearly plan.
TextExpander 5 for Mac and TextExpander 3 for iOS (standalone, Dropbox/iCloud Drive versions) will be available (and supported) on a continuing basis.
With a small pricing change and the promise of continued availability and support for standalone versions, I think the door is open for a smoother switchover. Once development based on the new sync platform begins to offer more compelling features for individual users, I hope that the subscription model will become attractive—rather than upsetting—to those who already love TextExpander.