We’re working on an advanced course deep-diving into Objects in AutoHotkey. In the Intermediate AutoHotkey course I covered some of the basics of storing data in Objects however, with the help of RaptorX / Isaias Baez I’m creating a course that dives deep into AutoHotkey Objects and Classes
We’re finalizing the outline and beginning to produce the videos. Below is a current peak into what will be covered. If you’d like to stay informed, please complete this short form and we’ll keep you in the loop!
AutoHotkey Objects and Classes
What AutoHotkey objects and classes are and why you should learn them
What can be done with objects
Diving into: Items, Keys, Properties and Methods
Quick refresher on Functions
Object Types (Arrays, Associative Arrays, Multi-dimensional arrays, Maps (new in V2)
Advantages & Disadvantages of Dot Notation and Object Oriented Principles
Did you know when we want to do something we like we do “single-tasking” (paying very close attention to what we’re doing and “being in the moment”. When we’re doing things we don’t like to switch to “multi-tasking“, often thinking about other things we could/should be doing (personally I call this “monkey brain” 🐵).
It’s one of the reasons why I’ll automate many mundane things. I enjoy “solving the problem” by coding which, usually, gets my full attention. However when I’m doing the thing manually I’m often thinking about other things I’d rather be doing.
Now, at times when I’m coding, I run into tasks that are trickier to automate. Or I’ll decide to take a new approach to solve the problem (perhaps creating a class) but, all-in-all, I find, when I’m coding, I stay focused and more interested in what I’m doing than I am when I’m manually doing a task. How about you?
BTW- I learned the above in this in a great book by David J. Lieberman: Get Anyone to Do Anything: Never Feel Powerless Again–With Psychological Secrets to Control and Influence Every Situation. It’s a fascinating book and he has several others that I really enjoyed. Never Be Lied to Again😲 is an AMAZING read!
Are you a 🦊FireFox user? If so, you might want to check out what we did with Rufaydium. In this video we automated launching Firefox. 😊 Pretty cool that, using webdrivers, you can automate browsers with AutoHotkey!
Performing a FAST! image search on background images!
I teamed up with Spawnova and he showed his class for finding images FAST! What’s even more impressive than the speed is that it works on images that are behind others (so not minimized, but they don’t have to be “on-top”. You can click here if you’d like to see his video on the topic.
If you’re not used to working with Classes, you can sign up for our Objects / Classes course which, hopefully, will be released in another week or so. All registrants will receive 15% discount if they choose to purchase.
Escaping quotes in v1️⃣ compared to v2️⃣
While I love the simplicity of AutoHotkey v1, I am jealous compared to other languages like Python that make it super-simple to use single or double quotes to encapsulate text. While you can use legacy assignments in v1, this is not going to be available in v2. Thankfully Lexikos allows us to use single or double quotes.
Automating seemingly “non-Automatable” tools like Davinci Resolve
Davinci Resolve is an amazing, free, editor which we use daily. I was trying to automate some of the edit fields however AutoHotkey can’t, easily, peak into the tool with Controls. Here I show the ACC library can peek into the controls however we were trying to set the values. We didn’t solve the process however it was a discovery video which, someday, I’ll get back to. Just remember “baby-steps” in automating is perfectly fine…
Writing on a computer
Did you know you can, easily, use AutoHotkey to write on a computer and perform OCR on the handwriting? In this short video I demonstrate just how easy it is with ahk!
This was a really fun call. James had done some really cool things (unbeknownst to his supervisors). He follows my general principle which is to ask for forgiveness instead of permission. 😏 James worked for the postal service and was blowing-away his coworker’s performance. Have you automated your jobs to outperform your coworkers?
⚡️Productivity tips: Take Advantage of Commuting
I have several thousand audio books. Now that I work form home I don’t have nearly the amount of time I used to however I highly recommend you always have some sort of educational audio/videos that you can consume when you’re stuck somewhere! For me, I have around 4 hours each weekend on the lawn mower that I get to enjoy podcasts and re-listen to some of the audio books / seminars I mentioned earlier. It’s amazing what you can learn even while you’re getting work done!😁
🤣 A spot of Humor
AutoHotkey is such an amazing tool AND it’s FREE‼
Quick Access Popup news
I thought we were going to have a video on some new functionality but it looks like that will be next week.
Meanwhile, if you’re not using Quick Access Popup, heres a short demo showing some of it’s amazing funcitonality! It’s an amazing tool available in 🔟 languages!
🗣️ 💭 Quotable quotes
I have learned that real angels don’t have gossamer white robes and Cherubic skin, they have calloused hands and smell of the days’ sweat. — Richard Evans
You can’t get much done in life if you only work on days when you feel good. — Jerry West
It’s like deja-vu, all over again — Yogi Berra
You want it, you take it, you pay the price. There really is no free lunch. — John Carlton
The world operates on deadlines because, when there is no immediate need to move forward, most people will not❗ It’s human nature to wait until: conditions are more favorable, we have more information, we are in a better mood, or have nothing else more interesting to do. This is why, if you really want to begin working smarter, not harder, you need to block time on your calendar at least twice a week.
Parkinson’s law is the adage that “work expands so as to fill the time available for its completion.” If you don’t block time, you’ll NEVER have time to do the long-term things that will end up saving you time.
Remember learning AutoHotkey is an investment in yourself!
Speaking of which we’re very close to releasing our Advanced Objects / Intro to Classes course. Have you signed up to learn more? Everyone that is signed up will receive 1️5️% off if they choose to purchase.
In this video Isaias walks us through how to connect to a specific profile, not using a profile, and some great changes to the Rufaydium class. Now, for Chrome, it will check your version of Chrome and, automatically, download the correct WebDriver. We also discuss how you can set-up Chrome in a way to be able to connect to a running instance of it.
What license do you put in your scripts?
We were on a call with Xeo786 discussing the use of the MIT license on Rufaydium. It inspired me to make this video to discussing various licenses and which one you might want to use for your code.
Intro to RegEx
Do you end up manipulating text often? Hopefully you’re aware of Regular Expressions! I think of them like Sudoku (a mental workout). They definitely have a learning curve however they can greatly simplify your programming work! Here’s the first of a series of videos I did on them years ago.
Adding a GUI to your script
GUIs can be a beast but they can also be simple (if you understand the basics). In our GUIs are Easy course, Isaias walks you through just how easy they can be. After working my way through the course I updated several of my scripts to include a GUI which made it easier to use / modify. Here’s a video showing how I updated my search script
Here I speak with Steve Maziarz that has done some amazing things in his past and with AutoHotkey. Like many others he stumbled into technology and isn’t a “programmer” by training but has worked in tech for 40 years! He’s worked with Visual Basic, Cobol, Fortran, APL, C, etc.
⚡️Productivity tips : Think about tomorrow today!
At the end of the day, write down what you need to complete tomorrow. Prioritize the list with the most important (often hardest) things first.
🤣 A spot of Humor
Ever have someone that asks you for a reference but you really don’t care for them? Use some of these double entendres (double meanings) from Sleeping dogs don’t lay by Richard Lederer (this was an amazing book!)
You’ll be lucky to get this person to work for you!
I cannot recommend this person too highly.
I recommend this candidate with no qualifications whatsoever!
She has made immeasurable contributions to our firm.
Nobody is better than this man! Nobody❗
I found myself frequently raving about her work!
We were teetering on the threshold of bankruptcy last year, and her efforts pulled us through.
For the services he has rendered to our firm over the years, we find ourselves deeply indebted!
I would place her research on the cutting edge.
She is now ready to strike out in a career.
Whatever task he undertakes, he will be fired with enthusiasm!
I would place this student in a class by herself.
🗣️ 💭 Quotable quotes
Amazing things get done when you don’t care who gets the credit — Joe Glines
Strive not to be a success, but rather to be of value. — Albert Einstein
Always go to other people’s funerals, otherwise they won’t come to yours — Yogi Berra
Struggle is not a bad word. Accomplishment is impossible without it. — John Carlton
Here’s a question for you %Name%, How much time a day do you waste⁉😳
If you truly look at what you do every day, do you waste 3 hours a day? 4 hours a day? More?
What is your time worth? 💲30 an hour? 💲40? 💲100?
I asked Isaias to put together this script to help you run your own numbers however let’s say your time is worth 💲40 an hour and you’re wasting 4️ hours a day. That’s $160 a day,
$800 a week, ~$3,200 a month and 💲40,000 a year😲.
Now imaging if you could just shift a bit of that time you’re wasting to doing something productive.
Something that will save you time every time you use it!
By learning AutoHotkey you are investing in your future. It makes mundane tasks “fun” (because you’re writing a program to solve a problem) and, once you have a reliable script, it will save you time every time you use it! Not only that but the lessons you learned will be applicable to other scripts you write in the future.
And just imagine if you’re sharing this script with others?
Knowledge is power; Automation knowledge is a “super-power”
Now on with the show…
Rufaydium / Automating Browsers
We have been diving deeper into Rufaydium by Xeo786. 😊 We had a call with him about licensing (Isaias and I will make a short video discussing it because there’s a lot of confusion around the issue).
In this video Isaias walks us a simple usage of Rufaydium. Thankfully we’ve seen how to utilize a Chrome profile and, last night, Isaias and Xeo786 updated the class to allow selecting of different profiles so we’ll try and get to that video next. We’re also planning some on how to grab cookies from Chrome and use in API calls. We were doing this with AutoControl however, sadly, using AutoControl didn’t give us access to the http cookies (yet another video we’ll have to make).
Semantic Versioning: Explaining what those numbers mean❗❕ Ex. v1.3.32
Did you know there was a method to the madness in the versions that (some) developers use? In this video Isaias walks us through what they mean and how they can be helpful to developers (and people using programs!). Last week for instance Isaias couldn’t get Davinci Resolve working so he had to try different versions of it. Understanding Semantic Versioning allowed him to quickly determine which version he could use…
Easier way to get code for a DLL Call
Last week Dimitri Geerts, Isaias and I had a very interesting call discussing some scripts that Dimitri had found. The two scripts help you develop the code you need for a given DLL call. Very complex stuff so I’m really glad we had a great discussion about it.
Not too long ago I had an idea how using AutoHotkey at work might be considered, by some, to be “cheating. I posed the question to a friend of mine and we had a great discussion around it.
As it happens I’m having my monthly “check-in” call with Ryan this afternoon. Who do you regularly speak with regarding coding / efficiency?
I highly recommend you find someone to speak with. Think of it as a “workout buddy” but for your brain!🧠 You’ll thank me later!
Review what you accomplished at the end of every week!
Did you achieve what you wanted to achieve?
Are there things you could have skipped or delegated?
Could I have achieved the same thing in a shorter amount of time?
🤣 A spot of Humor
How do you predict the actions of former US presidential candidates? Use an Al Gore Rhythm.
Most people won’t realize how accurate this meme is but I bet YOU DO!
🗣️ 💭 Quotable quotes
It’s hard to beat a person who never gives up. — Babe Ruth
The tragedy in life doesn’t lie in not reaching your goal. The tragedy lies in having no goal to reach. —Benjamin E. Mays
When the whole world is running towards a cliff, he who is running in the opposite direction appears to have lost his mind.” —S. Lewis
Do you realize what AutoHotkey can do? I realized maybe not everyone here has really checked out it’s capabilities. In this video I cover some of the main uses of AutoHotkey. Here’s another great video talking through 17 ways to automate with AutoHotkey. Both of these should help you realize that AutoHotkey is an amazing tool that can really help you automate your world! 🌎 Start learning AutoHotkey and make it a regular part of your life.
I guarantee 💯! you’ll thank me later!
Just remember, don’t give up, and keep at it. Learning to automate is a marathon, not a sprint.
Now on with the show…
Introducing Rufaydium: A new way to Automate Chrome & Chromium browsers
This morning I received a reply to our video on 10-tips for web scraping from Xeo786 asking when I was going to review Rufaydium a WebDriver that allows AHK to automate Chromium based browsers.
I hadn’t heard of it but took a quick look. It looks really promissing! I noticed Tank commented “This is my new goto library” which is extremely high-praise! I asked Isaias to join me in a quick overall discussion. but look for some tutorials next week. Also, if you’re reading this Xeo786, I’d love to get you on a call and talk about it!
Script Highlight: Get color under 🐁
What seems like a lifetime ago I wrote / borrowed a script to easily grab the color under my mouse. It’s a simple script but can save a ton of time when you’re doing any sort of development where you need the HEX color. You can get the script here.
🆒 Multipart form data
Have you ever been doing WebScraping or API calls and had to “submit form data? It’s a puzzling & complex topic! In this video we discuss what “form data” is and and how do you submit it for a browser or API call.
Properly Using the <lib>
In this video Isaias and I discuss using your AutoHotkey Library and where AutoHotkey searches. We also discuss common mistakes people make when using it.
Properly using #Includes is one of the things that often trips-up people new to AutoHotkey. If you’re new to AHK I recommend making sure you fully understand what AHK does automatically and how to use the three approaches covered in the video.
SciTE4AutoHotkey is now hosted on the AutoHotkey website. You can see this post from fincs where he mentions the update as well as he’s got plans to make one more update to bring it in line with the latest AutoHotkey standards. Thank you for all your work fincs! While I develop AutoHotkey in AHK Studio, I still use SciTE4AutoHotkey on a daily basis.
Back in 2019 I spoke with Sebastian out of Germany. It was a really fascinating call! Somehow we went nearly 2 hours! But don’t worry, it’s lots of really interesting content because, unlike most people using AutoHotkey Sebastian is an actual developer. 😊 He’s got a lot of really great example of things he’s built with AutoHotkey.
⚡️Productivity tips: Setting goals
A constant theme I’ve heard across many productivity experts (Zig Ziggler, Brian Tracey, Dan Kennedy, Dale Carnegie, etc.) is to have goals! Having clear, obtainable goals really helps keep you focused, however, even your subconscious works towards solving them! Many times I’ve either been stuck on something or had a project I’m working on and the solution “pops” into my mind. 😲
🤣 A spot of Humor
Just remember there are 10 types of people in the world. Those who understand binary and those who don’t.
This meme wouldn’t have been funny 3 years ago. Now it’s hilarious!
🗣️ 💭 Quotable quotes
Absorb what is useful, reject what is useless, add what is specifically your own. —Bruce Lee
Instead of trying to get more done, I’m working hard on having less to do — Joe Glines
Long questions require short answers. Short questions require long answers
I wish I had an answer to that because I’m tired of answering that question — Yogi Berra
If it’s critical, do it yourself. If it’s not, delegate. Learn the difference — John Carlton
We’re getting closer to AHKCon which is going to be on August 6th and 7th. Each day we’ll be starting at 10:00 a.m. EDT and going for four hours each day. If you haven’t already signed up to be notified of updates, you can do so here
To be sure we provide content that is helpful for attendees we’re making a few assumptions
You can understand English
You’ve been using AutoHotkey for 6 months (or have 1 year+ programming experience in other languages)
The Conference will be held in a Zoom Webinar and sessions will be the following two formats:
Lectures (people present a “how to” do something with AutoHotkey
Panels (a group of AHK experts discuss a given topic)
While we have a good handle on the topics for the panels, we’d really like to get you to vote on the topics for AHKCon lectures.
Last week, I talked about how important it is to consider your audience when you’re “selling” AutoHotkey/ your services. This really applies to anytime you’re trying to convince someone of anything but let’s keep the focus on AutoHotkey.
Here’s a little slap of reality: Until you learn how to sell, you’re not going to enjoy the kind of success you’re entitled to. You may want to fight this but I’m telling you, learning how to “sell” (sway others to your perspective) you’re always going to be fighting a battle.
First realize-it’s NOT YOUR FAULT. Don’t blame yourself for lacking the skill to know how to sell to your clients. Sadly we never focus on this type of thing in schools / college. And you may even be offended that I’m discussing “sales” with you…a professional. But the sad truth is it really isn’t the “best mouse trap” that wins. It’s the “best mouse trap” in the mind of the prospect.
Thinking of yourself as a “salesperson” might shock you. You’re probably thinking, “But Joe, I’m not a salesperson. I’m a professional. I help people, and I don’t need to sell.”
Let me gently but firmly tell you that you’re mistaken. And it wasn’t until I figured this out that I began “winning” with clients.
There’s nothing like the satisfaction of sitting down with someone and communicating with them on such a deep level that, by the time you’re finished, they’re thanking you profusely and want to hug you for helping them.
If you’re new to this mentality here are a few solid books that I refer back to over and over:
I was annoyed with how my icons resort each other and asked Isaias if he had any ideas how Windows is keeping track of the order. He suggested we use Microsoft’s Process Monitor which is a free tool included in system Internals suite. Check out our video which helps show how to use it.
Getting help from the-Automator (and other sources)
I’m so stoked that my AutoHotkey channel is getting more and more subscribers (it’s a bitter-sweet feeling that I passed Hellbent in the number of subscribers however I’ve bugged him about getting back to making more!) Anyway I’m getting more and more requests to help people but I just don’t have the bandwidth to help everyone (besides, I do need to earn 💲).
We do offer consulting services. Quick questions, where we review your code/issue and point you in the right direction or edit your code are billed by the hour.
We do have free consultations when you have larger projects, where you want us to develop the code for you. In either case, you can go here and let us know what you’re looking for help on. And, of course, we always have discounts to our Udemy courses here.
Quick Icons script by HellBent
Speaking of Hellbent, did you see his Quick Icon script on the forum for quickly creating an icon? We were on a call over the weekend and he demonstrated it to me. Really cool! I plan to borrow from it heavily!
Did you see our news about the Intro to Classes course? We’re still working on it but it already has over 2 hours of content and we’re working on adding more examples because classes are fairly abstract and having solid examples will really help us learn how to use them.
If you sign up to be notified you’ll get a 15% discount once we offer the course for sale. 😲
This is a great conversation between Maestrith and RaptorX / Isaias Baez discussing using classes and V2 (the course is based on V1 but we thought it important to mention some things available in V2)
🅰️HK’s best kept secret!
I’m always amazed at how many AutoHotkey users that don’t use HotStrings! They’re one of the simplest and easiest ways to be more productive! If you’re not using HotStrings, trust me, you should! In about 30 minutes Ryan Wells and I outlined around 80 uses of them. They’re just AMAZING! In this video I demo just how easy they are to create. I’m working on a QAP knock-off that will focus on creating snippets & HotStrings. I’m hoping to make some progress soon…
This was an interesting interview. I was fortunate enough to have met Rick in person as he’s here in the DFW area. Unlike most AutoHotkey users, he’s a computer science major. Rick mostly works in Object oriented languages like C++, Java, C and more. His first use of AutoHotkey was being able to automate a GUI in another program (which AHK is amazing at!)
Productivity tips ⚡️
Step 1️- 🚀Very quickly write pseudo code of what you want done
Step 2️- Write the actual code that will work (but not “pretty”)
Step 3️- Refactor your code!
Step 4️- Rinse & Repeat!
A spot of Humor 🤣
Are you one of the people that fit this image? I know a few… BTW- do you find it refreshing to press the F5️ key❓ 🤣
Quick Access Popup news
The other day I was on a client call and she wanted a very complex / advanced way to automate sending emails to employees (based on criteria in a database). While this is something we definitely could do, it would also have taken a decent amount of time to build into our tool (so it was cost prohibitive). I mentioned to her there was a super simple solution for having distribution lists and then recorded this video showing how I do it with Quick Access Popup.
If you spend too much time thinking about a thing, you’ll never get it done — Bruce Lee
Do the hard jobs first. Easy jobs will take care of themselves. — Dale Camegie
You’ve got to be very careful if you don’t know where you are going, because you might not get there — Yogi Berra
You must stop expecting perfection — either from yourself, or your employees, or your customers and clients. It will never — John Carlton
Do you watch Leila Gharani’s YouTube channel? If you use Excel you should as she, mostly, teaches Excel tips/tricks however today she released a video on AutoHotkey! Since she has over 1.6 million subscribers 😲 I hope it will give some attention to AutoHotkey. I commented a couple of times on the video. Can you please do me a favor and like my comments? The hopes being:
She’ll make more AutoHotkey videos (thus raising awareness of AHK to more people)
I’d really appreciate it!!! Let’s get the world to be more aware of AutoHotkey!
April 7th AutoHotkey Newsletter
I watched an AutoHotkey YouTube video the other day by an “expert”. He was trying to “sell” his script/service to people. Unfortunately, he was getting into the nitty-gritty technical details about his code🤓. As a result, I think most people would find the video painfully dull and/or make them feel stupid ☹. I doubt he gets many people to purchase/adopt his approach.
In ALL forms of communication, you need to pay attention to your audience’s knowledge & interests!
If you’re talking to a client, boss, or colleague, drop the tech talk / “geek speak”. They don’t care about the nitty-gritty details about how something works; they are looking for solutions to their problems.
When you get into details, you’re not showing your audience how smart you are; you’re putting them to sleep and, in some cases, pissing them off 😡because they can’t follow what you’re saying.
Just remember, as Elmer Wheeler (considered to be America’s greatest salesman) “Sell the sizzle, not the steak🥩”.
Have you ever seen a cool script on the forum but realized it’s using a “class” and not sure how to use it? Want to improve the readability and maintenance of your code? Are you familiar with Functions and ready for the next step? Then our Intro to Classes course is for you! We’re finishing up production of it but wanted to let you sign up here. All people that sign up will get a 15% 😮 if/when they purchase. We haven’t decided on the final price yet however it will be more than our typical courses because it is more niche & advanced. I’m thinking the course should be available in a couple of weeks.
Default hotkeys for Editing / Reloading / Pausing / Suspending your scripts
When you’re creating a new script, it’s super helpful to have some default Hotkeys built into it while prototyping. Here I demo a few that I have built-in to my template for new scripts.
What I’ve automated in AutoHotkey
Sometimes it’s inspiring to see what others have done with AutoHotkey (not the actual coding). My playlist helps with this in general. I made this new video a little while back. How do you use AutoHotkey? Anything worth bragging about?
Searching for text within files
Sometimes I can’t remember what I’ve named a file OR I want to find files that use a bit of code. GrepWin is a great, 🆓 free tool that searches within files
Sending 💲 to Developing countries
If you live in a developing country or pay someone in one, you’re probably (painfully) aware how difficult, costly, and slow. Isaias lives in the Dominican Republic and has tried many different ways to get money. Most end up costing a fair amount to get the $ into his bank account. We tried Xoom (a paypal service) and were very impressed with speed and costs.
I’ve you frequent the AutoHotkey forum you’ve probably seen his posts. This interview with Tank was before I got to know him well, but we had a wonderful chat. As many others in AutoHotkey, he doesn’t have a background in programming yet does amazing things with AutoHotkey! BTW- if you didn’t know it Tank runs the AHK Forum.
Productivity tip⚡️ Stop thinking🧠, start doing
Don’t get stuck in analysis paralysis! Overthinking things won’t get you anywhere. Ask yourself “what is one small step I can do now to move towards my goal?” Get it done!
A spot of Humor
Gives a new meaning to “Hopeless Romantic” 🤣
Quotable quotes 🗣️ 💭
The secret to getting ahead is getting started. The secret of getting started is breaking your complex, overwhelming tasks into small manageable tasks, and then starting on the first one. — Mark Twain
When someone tells me “no,” I just ask someone else. — Joe Glines
A nickel ain’t worth a dime anymore — Yogi Berra 🐻
Put aside a healthy pile of “Up Yours” money, so you can walk away from any situation you don’t like, and know you’ll survive. — John Carlton