Don Pedro

Setting up a seconday macro keyboard with Karabiner-Elements

I previously wrote that I bought a gamepad keyboard, hooked it up to my Mac and configured it with Karabiner-Elements. On my work machine I've taken that idea one step further. I've hooked up a full sized keyboard and programmed all the keys to be shortcuts.

Using the Karabiner Complex Modification website, I put together a couple of key combinations. Then using Groovy, I wrote a small piece of code to write out the statements for the rest of the keyboard.

With that done, I have assigned keys to different functions I find myself repeating. For example, S is to capture a screenshot using SnagIt.

J is to capture the number and title of a Jira ticket using TextSoap. That text is then pasted into TaskPaper where I keep my test plan notes.

The numbers 1 and 2 are to remove or add carriage returns within my text using TextSoap.

I'm now watching how I work to see what steps I repeat and if those can be assigned to a keyboard macro.

Karabiner-Elements has turned out to be extremely useful and far more than just an amusing configuration experiment.

Putting this all together, I have text/code snippets assigned to TypeIt4Me, keywords tied into Alfred and Keyboard Maestro, and hotkeys assigned to a secondary keyboard with Karabiner-Elements. Fairly soon, I should be able to perform dozens of functions using either a single work or a single keystroke. It's going to be sweet!

Other articles of interest:

Signing up for the Katalon Webinars

If you haven't already done so, now is great time to create an account, download Katalon Studio and tune in for their Katalon webinars. Over the past couple of months they have been hosting sessions related to new features, tutorials, and roadmaps on what's new with Katalon and new features coming in the future.

The feature set for Katalon continues to grow, even offering some OS automation. The new features for waiting and locating items are also very impressive.

My own Katalon project continues to expand with enhancements, updates and new features. I'm at the point of using it for Production smoke tests. It's working very well.

Now is a great time to learn some automation skills. Even if you aren't automating an entire site, filling out forms and repeating tests can save you huge amounts of time and make your testing more accurate.

The Katalon webinars take place about once a month. I've listened in to several and found them very useful. If you can't listen in live, they are recorded and posted on the Katalon site. You can visit the webinar page to find the previous episodes.

Katalon Studio Webinars

Other articles of interest:

Notebook Calculators Soulver and Calca

A notebook calculator isn’t something I knew I needed until I saw it. Writing math formulas and solving calculations using text is absolutely genius and has a slew of benefits.

First, a notepad calculator is way to mix text and numbers in the same document. Yes, this can be done in spreadsheet, but spreadsheet formulas are very hard to translate into documents. For example, pasting spreadsheet formulas into a Jira ticket won’t make any sense to someone reading it.

This is where notepad calculators like Soulver and Calca come in. You can create something like:

Total=Revenue-Expenses = $24,000


Total=(Price*Qty)-Discount = $950.00

This is a live formula. So as you change Revenue or Expenses, the Total will change, the same as you would see in a spreadsheet.

That is obviously a simple example, but the language is easier to follow. It’s also easier to follow $339-20% discount or 35% off 300k, without having to show cell references and decimal values.

As mentioned, these values are easily entered into a document for better comprehension. And, if needed, that same text can be read back out, entered into the calculator and the formula used again. You don’t have to recreate all the cells, cell references and set up the table exactly the same.

Since it’s a text editor, numbers and text can be mixed together so the formula has context and a full explanation.

Soulver and Calca use slightly different syntax to perform calculations, so which one you pick is a matter of style preference. They are both very good, are easy to work with and come in at under $10.

Should you spend $10 on another app when you already have a spreadsheet? If you are always building tables and ledgers, then yes. If you are doing simple calculations such as showing sums, discounts, quantity * price, then Soulver and Calca are perfect for the job. They are faster, more lightweight, and allow you to list the exact steps to reproduce a result.

Spreadsheets are awesome, but sometimes they are way more than what’s called for. Soulver and Calca can be just as powerful and easier to follow.

Other articles of interest:

Setting up hot keys on the gamepad

Now that I have the gamepad hooked into Karabiner-Elements, it’s time to start putting it to work. Hotkeys aren’t exclusive to tools like Alfred and Keyboard Maestro. Plenty of apps, and even macOS itself, supports setting up hotkey shortcuts.

One of the tools I use all the time is TextSoap. I use the cleaners to format text for blog articles. Articles are written in Scrivener, then pasted into WordPress. I use “1 Return to 2 Returns” to add line breaks to the text.

I also use the opposite filter a ton, “Multiple Returns to 1 Return”. This is to remove empty lines from text and bring it all together.

A third is, “Remove Duplicate Lines”.

I previously selected these using the Text Palette, which is pretty awesome, but it does require me to find each one separately when I want to use them.

However, under Preferences, TextSoap can assign a cleaner to a shortcut key. I now have those same cleaners assigned to 1, 2, 3 on the gamepad keyboard. A convenient timesaver there.

Similarly, shortcuts can be set up for the OS. Under Keyboard in System Preferences, it’s possible to set up shortcuts to menu commands within an app.

For example, if you want to use Markdown for your notes in DevonThink, you can assign a key to that menu option. If you assign Control-Option-M to Markdown Text in the menu, you now have a hotkey to that menu.

At this point I am going through and assigning my most frequently used commands to the gamepad keys. Even capturing screenshots with SnagIt has been changed from a 3 finger selection to using the C key on the gamepad.

Since I do that a dozen times a day, that will save a lot of keyboard travel.

At some point, I will investigate the application specific settings of Karabiner.


Other articles of interest:

Adding Skim to the Efficiency Toolbelt

Most writing apps can create a PDF. Dozens of apps can read a PDF. But, when you want to highlight, create bookmarks to useful sections and create annotations, things start to fall apart.

Plenty of apps can handle the task, but the features and price vary wildly.

Some come with basic features that aren’t much more powerful than Preview. While others come with impressive options and a price tag to match.

However, there is an efficient, feature rich, and low cost alternative called Skim, and after highlighting the heck out of a project management book, it has become my tool of choice.

Skim is a free tool that offers great features for reading, highlighting and annotating PDF files.

When a PDF is open, you can either use thumbnails or a Table of Contents for navigation. In the center is the document itself where you can easily change the zoom and page style. Then on the right are your notes. Working with all three for navigation and highlighting is very smooth and straightforward.

To highlight, select the Note tool, set the option to highlight, and whatever you select will be marked. Not only will it be highlighted in yellow on the page, in the right pane, your selected text and the page it came from will be displayed.

Once you have dozens of notes, you can double click the page and be navigated to the highlighted text. Very nice.

Further, all the notes can be exported out as a separate text file. This is incredibly handy for use in another document or using as points in a presentation.

Another simple but great feature is the use of Bookmarks. You can make several of them and jump to wherever you want. I made sure to set one so I know where I left off each day. If the app closed or I had to load something else, I jumped right back to my place.

From a QA perspective, I see plenty of uses for this. I have taken requirements docs, saved/copied/exported them as PDF, then used Skim to highlight the key features I need to focus on. Out of a 50 page document, only a few points are relevant to me.

Those are then copied into Taskpaper where they are turned into a checklist.

I can also take those notes and add them to DevonThink so I can group project notes together.

Point is, I have been looking for a way to read and highlight PDF files that was easy to work with and easy on the budget. Skim fits the bill in every respect.

Working on a 400 page PDF file was no problem and I have a ton of great notes to work with.

So, if you have a lot of PDF files to read, or you want a solid way to extract key pieces of information, Skim is a great tool to work with.


Other articles of interest:

Recent Comments

  • Integrating DevonAgent Pro with Alfred (1)
    • J. Garr: Beautiful, sweet, and simple. I love it; thanks for posting this solution.
  • Round and Round with the For..Next in Katalon Studio (1)
    • Sweet Ophaline Labador: Hello can you help me how to loop this scenario. Checking the elements is just the same. I want to check that the following function is available in Track Shipment – clicking on this can...
  • How To Disable the Quicken Registration Prompt (30)
    • David: A BIG Thank you! I regularly reinstall Windows OS’s using different hardware configs. In short, Quicken 2011 (it’s March of 2020 as I write this) has been a program I’ve been very happy with and continue to use....
    • Karen L: Today I rang Reckon Australia again, got a different guy and he talked me through the process of getting me a new product key to enter since I already had the licence and it had been extended. Reckon have only extended it by 1...
    • Karen L: I have Australian Quicken 2008 on Windows 8.1. It keeps asking me to renew my licence which Reckon did for me however the activation won’t work. I tried this to disable the registration prompt however it did not stop the...
  • Parsing Strings in Katalon – Split, Substring and Readlines (6)
    • Don Pedro: String tempText=”Date Month January. Revenue $1,355,721.00″ println(tempText.split(“ \$”)[1]) You need to escape the $ with \$ The [1] on the split captures characters on the right of the split [0]...
    • Prasad: Hi, I need to get the substring from the below string ‘Date Month January. Revenue $1,355,721.00’ I want to extract text after $ value. Please help Thank you
  • Working with Dates and Date Formatting in Katalon Studio (15)
    • Sangeethaa: How to get previous day’s date(Yesterday’s date)? Actually I was using today.previous() before,it was working fine till today morning.Now its not retrieving right date. Can anyone please guide me on this.
    • Don Pedro: That could be a little tricky. First, is the text/format always going to be the same? You will need to do some parsing. Separate the first but of text at 2019. After that, split the text again to get rid of Central Standard...
    • Don Pedro: It should be of the same Date type as today. You could then do some calendar trickery with Calendar /*Calendar c = Calendar.getInstance(); //c.set(Calendar.MONTH, 1) //Set the month, 0=January, 11=December println...
    • josh: I’m testing a page with a string like “Updated November 21, 2019 16:25:32 PM Central Standard Time.” How might I capture the date and time and compare it to current time to verify that the update time was within...
    • zakir hussain: today = new Date() lastWeek = (today – 1.week) can u please help me in understanding what is the return type of lastweek? and I wanted to set nextyear date how can i do it
  • Output status messages and test information by writing to the Log File Viewer in Katalon Studio (6)
    • Saranya: Good One. Could you plz share link to access all your katalon related blogs. ThankQ
    • Rodrigo Calabretta: I’m using the KeywordUtil.markFailed or KeywordUtil.markError and my test stops is being shown as Error and If I use in the @afterTestCase the testCaseContext.getTestCaseSta tus() to show the status test case...
  • Setting up Environment Profiles in Katalon Studio (2)
    • Don Pedro: Not quite sure I understand. The term “Execution Profile” is normally used now, but they are still GlobalVariables and are created in the same way for version 7 as previous. You make a new execution profile, then...