A script that ran happily for about a year suddenly stopped working last week. From the stack trace, it was apparent that the script was stumbling on Python's smtplib>sendmail command. Here's the error: OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions The offending code: s = smtplib.SMTP(config['smtpserver']['server']) s.sendmail(fromAddress, toAddress, msg.as_string()) The best suggestion I found is that Windows UAC is likely preventing the successful sendmail[^1].
if you frequently have to toggle between two network adapters in Windows, it can become a hassle to keep opening the Control Panel widget, right-click, disable/enable adapter, etc. For example, you may want to turn off your wired connection and connect to wifi, then switch back to wired, etc. With Python and this 'admin' library (also attached to this post for download), you can just place a shortcut on the desktop and double-click to enable/disable a particular adapter.
I find that I frequently (many times daily) have to send files as email attachments. Depending on the task, the files can be located in a half-dozen or so places on the Windows file system. I found myself browsing (from Outlook's "Attach File" function) to my Documents, Downloads, Desktop, or one of several network drives for the file I just saved there a few seconds ago. I had the idea that those folders could all be monitored, with copies of the most recent files from each kept in a single place.
I've found this tool to be very powerful and helpful...and I almost couldn't find it again after recently upgrading to a new computer. To prevent future heartburn, I'll document it here. From the csvkit web site: csvkit is a suite of command-line tools for converting to and working with CSV, the king of tabular file formats.
This post outlines a method I came up with to use a single AutoHotKey script to auto-load any number of scripts in a sub-folder. It also allows every script to have its own autoexec section, and to hook into a timer for event-type functionality. AutoHotKey scripts that are 'persistent' need to be loaded into memory by Windows just one time. If you have several of them to load, you can get them all individually, but you end up with a system tray full of little green 'H' icons.
AutoHotKey is a powerful Windows automation tool, capable of doing pretty much anything you could do yourself on your PC. I have a number of scripts I run regularly (or always have running) to speed up my work and/or make it more accurate and efficient. One of my favorite scripts responds to the key combination of Ctrl-Alt-0 (that's a zero). When I press that combo, a couple things happen: 1) First, the script checks to see if the machine is connected to WiFi, and if so, grabs the name of the WiFi's SSID.
I haven't found a way to make my email 'groups' from Outlook available on a mobile device (Android phone). I've tried several email clients, but none of them brings in the groups I use frequently in Outlook. Recently, I came up with a workaround, using Outlook rules. Essentially, I can set up a rule with the following criteria: Sent from my account Sent to my account I almost never send mail to myself, so this works.
Background Network drives allow multiple users on the same network to have acccess to the shared folders/files. However, if you have two different sets of network drives (at work and at home, for example), it can be a hassle to manually map drives when your computer 'resumes' on the new network. For example, if I'm at work, all my network drives are available. When I go home and connect to the local network, my work network drives disappear (that's fine, they're not available anyway) but my home network drives don't automatically map. The same is true when going from 'home' back to 'work'.