Optimising applescript to decrease energy impact - optimization

I have this script that I created for a battery indicator widget that will show on my (Macbook pro) touch bar and have it set to re-run every 3 secs (to update the text and logo), but it is eating a lot of energy just running in the background and I was wondering if maybe there was a way to make it more efficient in some way in order to decrease battery consumption.
Here is the script:
(Keep in mind that the images for the icon are in base64 because I plan on sharing this widget with people who might know nothing about computers and therefor I can't have them download and save an image in a specific directory etc..)
set bat_empty_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAALzUlEQVR4Ae3dv69lVRUH8IdMDAxQTYjAWFAQEwsrAWNCYkFoJsgQO7UxYvQPoFWgMDYWxEYrbfzVAoUNgcRkEg2MFcWEhIIYYGhomOFXjOD6jjnkcmfemzez7ptz9r2fnay59915+9y1P/vsNeec+2P29jQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAXuKm/iUtbuLX+fLjioYqTFfes3N5R9zUC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"
set bat_low_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMTItMTJUMDA6MDk6NTcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJmOGJiM2NlLTYxOTYtNDg2ZC1hNTAxLTNhZDVlNGZlZDlkNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM4N2E0ZWM5LTRhOGQtYzM0Yy05MjU0LTA2Y2FhOGUzYjAxMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBlYjhjMWMxLWI0MmEtNGUyOC04ODM0LTAzYWQyZGEwN2YwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MGViOGMxYzEtYjQyYS00ZTI4LTg4MzQtMDNhZDJkYTA3ZjBlIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjA5OjU3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmY4YmIzY2UtNjE5Ni00ODZkLWE1MDEtM2FkNWU0ZmVkOWQ1IiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz471XDCAAAI4klEQVR4nO3dvYsd1wGG8Wd3ReLVSpWKaOUULkwgRapYCgFDwMaNUCyTLlETYhP/ASZdYpsQ3KgwbpIqbpyPVnLhxlgQECRYSuVCGFyYIGnVqNHqkxBtiqMrr1ar1d09c++Zmff5wbD6YK/OFfc8e2bmztyFjY0NJGVabD0ASe0YACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmY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"
set bat_half_icon to "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"
set bat_three_quarters_icon to "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"
set bat_full_icon to "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"
set bat_charging_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTEyVDAwOjMwOjU5KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGVmZWJjMi1iM2E5LTM2NDMtOGFmMi1kZTI5NTVlNWNjMzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmmDgZ0AABSESURBVHic7d17kJ1lYcfx7zl7kt0km01YEhODGMItggWMgFwcixquIjfBDpS2YrUXe3Ha2nHaqp1p60z5B23/kFptx+lFabUUW1GRKZcACYpYQK4BAsQkQpLNdZNNstnd0z9++3ZPNns557z3fX6fmTMLuZzz5Jzz/t7n/lTq9TpmFqZq3gUws/w4AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAO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"
set chargeState to do shell script "pmset -g batt | awk '{printf \"%s %s\\n\", $4,$5;exit}'"
set percentLeft to do shell script "pmset -g batt | egrep -ow '([0-9]{1,3})[%]'" as text
set percentcheck to (item 1 of words of percentLeft as integer)
on new_icon(base64Code)
set percentLeft to do shell script "pmset -g batt | egrep -ow '([0-9]{1,3})[%]'" as text
tell application "BetterTouchTool"
update_touch_bar_widget "482F2657-A978-4D25-B9D6-EABFAD7E3B0A" text percentLeft icon_data base64Code
end tell
end new_icon
if (chargeState contains "AC") then
my new_icon(bat_charging_icon)
else if percentcheck ≥ 85 then
my new_icon(bat_full_icon)
else if (percentcheck < 85) and (percentcheck ≥ 65) then
my new_icon(bat_three_quarters_icon)
else if (percentcheck < 65) and (percentcheck ≥ 31) then
my new_icon(bat_three_quarters_icon)
else if percentcheck < 31 then
my new_icon(bat_low_icon)
else if percentcheck ≤ 10 then
my new_icon(bat_empty_icon)
end if

Your first step should be to increase the intervals at which you run the script. There is no need to have it run every 3 seconds (!). Even once a minute would be sufficient but I, personally, would set it to something such as once every ten minutes, since the battery level doesn't tends to only change once within a ten minute window. Even if it changed twice (e.g. dropping from 97% to 96% then to 95%), there would be no negative consequences from your script registering the level going from 97% straight down to 95% in a ten minute interval.
The next thing you can do is store those base 64 strings in properties rather than variables. Properties are set once and stored between subsequent runs of a script. If the values of the properties aren't altered, then the script doesn't need to read a new set of values each time it executes. As they are set at compile time, the overhead is reduced at run time.
The next thing you can do is get rid of the do shell script commands. They incur a lot of overhead. Instead, you can use AppleScriptObjC calls to obtain the information you need. There is still a slight overhead in implementing AppleScriptObjC compared to vanilla AppleScript, but it won't be as great as the cost of creating multiple shell processes:
property bat_empty_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAALzUlEQVR4Ae3dv69lVRUH8IdMDAxQTYjAWFAQEwsrAWNCYkFoJsgQO7UxYvQPoFWgMDYWxEYrbfzVAoUNgcRkEg2MFcWEhIIYYGhomOFXjOD6jjnkcmfemzez7ptz9r2fnay59915+9y1P/vsNeec+2P29jQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAXuKm/iUtbuLX+fLjioYqTFfes3N5R9zUCowpcqMTfqXh75fZM3X+p4qOKoVunAJyokZ+ueKzikYrjFRqBXRH4sAb6YsULFc9XvFexE+22GuVTFamMnwkG9oFLayFrImtja9vNNbKfVpyvsPAZ2Acu3weyNrJGslaGaIc9Bcg5/XMVDwwxKkkSmFfg1Xr6xyty7WDR7TAF4MEaQRb/3YseieQILEsgRwMpAq8sK60vZvOlL/542U8/rEf+XmHxX0bjAQIHCmTNZO1kDS22HXSuksT/VHFssdlLjMCyBbJ2vlfxRsVrS0x1v1OAHPanet2yxKTlRGAwgY8r3+9ULO504EoFIBf8zlY47C8EjcCGBHJN4P6KRV0YXL8GkFMCF/w2NOM2Q2BFIP+gZm0ddNq98us35u56AXiintZLfTfG3rPsnkDWVtbYYtrqKUDexZSLFXctJjuJENg+gXdrSPdVfLCEoa0eATxZCVn8S5gVOWyzQNZY1toi2nQEcKKyebPi9kVkJQkC2y1wsYZ3b8XsHyCajgDyqT6LvxA0AjdAIGsta24xLVcnN/XhjtdrW89UPFrhpcRC0IYWyD6cffnpiuzbm1onWXOLaPkyj1yQ6A7s09rGsxXZnkZgGwWyb2cfz77eXS9Zc4tYK6lu3cEE5FSFRmAXBLKvb6IIZO3N2nINIF/j1W2/qQ38rbsR/QkMIpB9Pft8t21i7XVz2PtjbaFzBJDzokUcyrQlbIDA4QWyz3evCWTtzdpyBJD3/nfaX6rz8F+O2AHQdycFss//tTny7tprPv3eXgrAyeZW/tXsrzuBUQXONhPvrr3m0/+/+/t10zkFyMskGoFdFMi+31k7WXuztrwTMAPotOndhJ1t6EtgVIHu+umOO+8qzEeNE+cq8hXlL1d8UnGo1qlgcw/+UAP0SwSOUKC7fo6if44sflvxlcOMu5vAYZ7D7xDYVoHu+jnK/hcK/RcVXz4Iv5vAQdv2dwS2XaC7fm5E/zM1CfseDXQT2PYJNj4CBwl018+N6v/vGsQ31gfiIuC6iJ8JXJtAFvAo7a1KNN9KlC8ludTyPgCNAIHdEPhqDTOfQvz8274VgN2YeKMkMAl8q+78fPrBKcAk4ZbA9QmMdAowjfDDupPvJTzvCGAicUtgdwSO11CfynAdAezOpBvp0QiMeAQQibxH4E4F4Gh2ClvdHYFRC0Bm6JRTgN3ZUY2UwLrAaQVgncTPBHZH4OsKwO5MtpESWBe42zWAdRI/E7g2gZGvAVxUAK5tsv02gXWBbgHIGuy01vM7BejQ60tgcAEFYPAJlD6BjoAC0NHTl8DgAgrA4BMofQIdAQWgo6cvgcEFFIDBJ1D6BDoCCkBHT18CgwsoAINPoPQJdAQUgI6evgQGF1AABp9A6RPoCCgAHT19CQwuoAAMPoHSJ9ARUAA6evoSGFxAARh8AqVPoCOgAHT09CUwuIACMPgESp9AR0AB6OjpS2BwAQVg8AmUPoGOgALQ0dOXwOACCsDgEyh9Ah0BBaCjpy+BwQUUgMEnUPoEOgIKQEdPXwKDCygAg0+g9Al0BBSAjp6+BAYXUAAGn0DpE+gIKAAdPX0JDC6gAAw+gdIn0BFQADp6+hIYXEABGHwCpU+gI6AAdPT0JTC4gAIw+ARKn0BHQAHo6OlLYHABBWDwCZQ+gY6AAtDR05fA4AIKwOATKH0CHQEFoKOnL4HBBRSAwSdQ+gQ6AgpAR09fAoMLKACDT6D0CXQEFICOnr4EBhdQAAafQOkT6AgoAB09fQkMLqAADD6B0ifQEVAAOnr6EhhcQAEYfAKlT6AjoAB09PQlMLjAscHzlz6B0QU+m3EAFx0BzKjvqQnMLHBeAZh5Bjw9gRkFFIAZ8T01gbkFzt1UGXTPQbINjcCuCnTXz5xupxSAOfk99zYIjFoALhT+na4BbMMuaAwErl3gz9XlE0cA1w6nB4FVgRGPAD6sAdxX4SLg6ky6T2BHBJ6tcZ6fxpoK1olpO24J7KJAZ+3M0fefNUm3TBPlFGCScEvg+gSyiEdpb1WiD1S8OyXsIuAk4ZbAdgtk8Z+q+HzxT8PtHoZM23FLYBcFuuvnRvTPYf9d+01ON4H9tutxArsg0F0/R9n/g5qAX1Z8fs5/pQnpJnClbXqMwK4IdNfPUfR/v/B/V3H31Sbh2NV+wd8TILBogYuVXV7SS5yreL7i5YpPKg7VUi06VeiqVeZQWfglAuMJZN/vrJ2svVlbXgV4p5nBN5v9dScwqkB33++uvbZbCsDbza10EZpPrzuB2QTubz5zd+01n35vbxNHAD+oLG5tZ2IDBMYSyD7//WbKW3EE8LVC+FUTQncCowlkn8++32mzHwEk+UcrOhcy0vfTirzLSCOwCwLZ17PPd9dN1t7sLYcyecNAdzAByaeMnA4UgraVAtm3s49vYvFnzS1mrTxXyXQLwNT/9drWMxWpbl4iLARtaIHsw9mXn67Ivj3t593brLnZ2/R9fj+uTH4/ezYSILA7Ak/UUP8w93CnAnCiEnmz4va5E/L8BHZAIO/eu7fivbnHmpcB05LIry/d8wcBAkctkLU2++LPIKcjgNy/reKNin0/Nphf0ggQaAnk8/j3VeQi4Ozt5pUM/lP3L1R8d+UxdwkQ2KzAk7W5fD5/EW31CCAJpSD8o+KB/KARILBRgVdra9+u+O9Gt9rY2HoByKbuqThb4SW8aGgENiOQj+vmswPvbGZzm9nKdBFwdWtJ8PGKj1cfdJ8AgesWyFrKmlrU4s9orlQA8vgrFT/JHY0AgbZA1lLW1OLa6kXA9eReqwfyqkDe93xs/S/9TIDAVQXyL/+PKvLfcC2yXekawHqiD9YDeduiawLrMn4msL9Azvlz2L/If/mntA9TAPK7uTCYIuDVgWhoBA4WyNX+RZ7zr6e93zWA9d/LxYu8fPGziryRQSNA4HKBrI2skayVxV3wuzzd63sk7xh8qiJvGup+Ikp/htuwD2QtZE1kbQzVDnsKcKVBnagHT1c8VvFIxfEKjcCuCOS/2H6x4oWKfBX3It7bX3lcU+sUgNUnyhcbPFzxUMXJilwzmG7vqPsagVEF8q97Dufz9V3T7Zm6/1LFRxUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYeYH/Ac9jCSl5uMURAAAAAElFTkSuQmCC"
property bat_low_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMTItMTJUMDA6MDk6NTcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJmOGJiM2NlLTYxOTYtNDg2ZC1hNTAxLTNhZDVlNGZlZDlkNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM4N2E0ZWM5LTRhOGQtYzM0Yy05MjU0LTA2Y2FhOGUzYjAxMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBlYjhjMWMxLWI0MmEtNGUyOC04ODM0LTAzYWQyZGEwN2YwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MGViOGMxYzEtYjQyYS00ZTI4LTg4MzQtMDNhZDJkYTA3ZjBlIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjA5OjU3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmY4YmIzY2UtNjE5Ni00ODZkLWE1MDEtM2FkNWU0ZmVkOWQ1IiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz471XDCAAAI4klEQVR4nO3dvYsd1wGG8Wd3ReLVSpWKaOUULkwgRapYCgFDwMaNUCyTLlETYhP/ASZdYpsQ3KgwbpIqbpyPVnLhxlgQECRYSuVCGFyYIGnVqNHqkxBtiqMrr1ar1d09c++Zmff5wbD6YK/OFfc8e2bmztyFjY0NJGVabD0ASe0YACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCLXT0OMvAy8CLwLPAkU1fD3b0b0gtrANXgSubvp4HPgPuNBxXJ2oCcAg4CbwKvALs72RE0jDcBj4FPgbOAtfbDmd+VoC3KWXccHNzY50yJ1YYsSXg18Aa7f/D3dz6uK1R5sgSAzHtLsAR4AxwdHZDkUbjAvAa5ZhBr00TgGOUyb8626FIo7JGicDnjcexo6edBjwF/AMnv7Rbq5S5c6r1QHay077KKeAvwL45jUUam33Az4CvgC8aj2VbT9oFOEap1zNzHIs0VneBn9DD3YHtAnAEuIjLfqlLa8AL9OzA4NZjAEt4wE+ahVXK3OrVKcKtAXgdT/VJs3KUMsd6Y/MuwArlYMXhRmORElwDngdutR4IPLoCeAsnvzRrhylzrRcmK4BDwNfAgXZDkWLcBJ6jBxcQTVYAJ3HyS/NygDLneuMM3V0Q8SXwLnACzyZo+FYpr+V3KK/trubJmTk+hx0tUw5I1D6h+8D7Dx5PGqNlymv8PvXz5RY9mSsn6GbyH5/3wKVGjtNNBE7Me+BbLVJu41XrA+CTDh5HGoJPKK/5Wl3MvWofUb/P34uljDRHy9QfE/ho7qPeYpHy3v8af2MEN0eUdukO8PfKx6ide9UWKXfvrfHvLgYiDdDFyu+vnXuduEHdMsZTfUq1St3cuTH/IT9q4cFAah9DSlU7f2rdpFxqvAZcotyi/Bxwb9oHqD2VISWrnT+z2G4AfwS+M48nICVrPdl32taB3wHfmuUTkJK1nuTTbOfZYTVgAKS9az25p93+A/xg6+A9CCjVGdIPwcuUuxJdm/yBHw8u5fgu5SrEh3f7NgBSlh8Bv538pvkuwJ3fPNagLpZUzXdLlk/fbz0EzceQdgEmblPuS7jWpxVAlwcVPUApPdl+yseZ92YXYFaT1QhI2zsFfLsvAZglIyA97iDwUh8CMI8JagSkx53sQwDmxQhIj/p+UgDACEibraYFQNI3Vve1HkEDG/TgfQLSA7WvxZpV7QFXAFKw1AB4LEAiNwCSyA6AqwDFSw6AFC89AK4CFC09AFI0A+AqQMEMgBTMABSuAhTJAEjBDMA3XAUojgGQghmAR7kKUBQDIAUzAI9zFaAYBkAKZgC25ypAEQyAFMwAPJmrAI2eAZCCGYCduQrQqBkAKZgBeDpXARotAyAFMwDTcRWgUTIAUjADMD1XARodAyAFMwC74ypAo2IApGAGYPdcBWg0DIAUzADsjasAjYIBkIIZgL1zFaDBMwBSMANQx1WABs0ASMEMQD1XARosAyAFMwDdcBWgQTIAUjAD0B1XARocAyAFMwDdchWgQTEAUrB9rQcwQhvAQutBaDBarhpvugKQcq0ZACmXAZgRDwZqCC71IQDuL0ttnO1DAMbIqKnv1oFzfQmAE0aar78C9/oSACgRGEMIxvAcNG63gd9PfrNRuUnJaudPi+0PXT4BKVnrybzb7V/AM5PBL1A/iV3yKtmQfgheBo4C1yZ/0KdjAJJm5zJwnE2Tf8JdAGnvWi/pp132H57VE5CStZ7cO223KAf8Hu7zz+IJSMlaT/LtthvAn4DVpw3ey4GlYbsJrD3YLgFngXPAvWkf4AZ1tXlqZaSRWqX+J3VTi8DVysf4YRcDkQao9rVfO/eqLQJXKh/DACjVC5XfXzv3qnWxAvgFsNzBWKQhWQZ+XvkYo1gBfA94r4OxSEPyHuW1X6P5CgDgBPWnHe5T3mUkJThOec3XzpsT8x74dpYpbxjoIgLv4+6AxmuZ8hrvYvLfokdz5QzdvQnhS+BdSt08RaihW6W8lt+hvLa7midn5vgcnmhyJd+vgD+3HIgU5nXgw9aDmATgEPA1cKDdUKQYN4HngOuNx/HwcuDrwOmWA5GCnKYHkx8evZnHCvAVO1w2KKnaNeB5ykHA5pY2/fq/lFsF/7TRWKQEb1Guz++FrbfzWgL+SbltkKRuXQB+DPyv9UAmtruf3xHgIp7Ck7q0Rrl2oPnbfzfb7p6AV4HXgLvzHYo0Wncpc6pXkx+efFPQz4E35jkQacTeoMyp3lna4e++oJwVOI53DpL24i7wS8rHcPXSNPf0P0Z526LHBKTprVGW/b38yT8x7Yd6HKFEwLMD0tNdoKf7/FtN+8EgVymnL95kmw8WkASUufEmZa70fvLv1QrwNuVNQ11dGeXmNuRtnTInVhiYms/1OwScBF4FXgH2dzIiaRhuA58CH1Nuxd2L9/bvVlcf7LkMvAy8CDxLOWYw+Xqwo39DamGdspy/sunreeAz4E7DcXViYWNjo/UYJDXipwNLwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMEMgBTMAEjBDIAUzABIwQyAFMwASMH+D7UGZfpxuvd3AAAAAElFTkSuQmCC"
property bat_half_icon : "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"
property bat_three_quarters_icon : "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"
property bat_full_icon : "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"
property bat_charging_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTEyVDAwOjMwOjU5KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGVmZWJjMi1iM2E5LTM2NDMtOGFmMi1kZTI5NTVlNWNjMzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmmDgZ0AABSESURBVHic7d17kJ1lYcfx7zl7kt0km01YEhODGMItggWMgFwcixquIjfBDpS2YrUXe3Ha2nHaqp1p60z5B23/kFptx+lFabUUW1GRKZcACYpYQK4BAsQkQpLNdZNNstnd0z9++3ZPNns557z3fX6fmTMLuZzz5Jzz/t7n/lTq9TpmFqZq3gUws/w4AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAlbLuwBFV6lU8i5Cu2rAsaOPTmAbsCXrQtTr9axf0lrgGsDMNRt4F3ABCoE6UNo0s3Q4AGaeCrr4zwJ+BbgU1QYO5VkoK6ZazCpuN7AQeAtwIbAKWAwsGv3ZHbN8oXov8HSbf3cWsBK4FrgMeALYDOxGtYDIp4A/a7eAzSpxEyoyAuwEtgN9wKvAD4GngF2jj8HcShdTu30A3cCpwMXAlcC5qJ3pGkUy4vTNzEefy3XAAqAf2AoMj/tz84DeGK8TkkXo+x4ZBt4AHgDuBR4CNuZQrtha/aJ1Ar8A/CZwIwoCX/TJi9NzdgzwbuBE4ACwATg8wZ8bifEaoesAjgNuRs2s9cBtwHeBn+dYrpa1EgCnArcAHwWWplIai2sp8EFUI+sAXgKeY+IAsPii9s1K4HZg7ejPe1GTq/CaDYArgL8AzsE9yUXVBVwN/Aa6O+1HF/9mYCjHcoWiBlwEnAF8C/grchh2bdV01fcuVMW5Hd1VfPEXUyfqgL0EOB3d/fcCm4AduLqfpV7URP47NBJTaFMFQC/qKf5b4IRMSmPtqAGnoV7/Mxt+/TCwBwWBAyBbFeAq4B/QMGxhTdYEmA/8PvCn6O5ixdWJJvxcBry14dcH0d1/N0ePAFg2zgFuRWH8QM5lmdBkNYAPAZ/GF3/R1VCVf/Xoz66G3xtEY9e7sy+WNVgFfAaNyhTO+ACooDHkW4G52RfHWnQK8Nto4tCscb93EI3/H8y4THa01cBfUsB5F+MD4CTg83iYr+gqaAbmJajn/00T/Jnd+O5fJNcDf5h3IcZrDIC5qMf/7JzKYs3rBT6Axvx7Jvj9qPrvu39xdAEfRouzCqMxAE4DPoKXCBddB2rvX4OGZsd/XiOo538bJZ6jPkOdCnwi70I0igKgB/gYHu4ruhqwBPX6r0LNgPHNuGG0eGUXngBUNBXUH3BtzuX4f9GX5yRUPbFimGzCVQ+alXklRw75NTqMVq1tZ+oA6Gi7dBbHMtTULsT7X0MFuRiN/SdlP1qIMoCqoZ5B2Lwqk7fdlwM3AOehNf8TOYxqADuZeg1AtLTVk4QmV0Ft9y60sjKpi/ZtaI7AjxJ6vrbVgDmoWpLEmH8/sAYthvgpmou+C72RDoHmVDi67V5FQ34fRhf/VEO0Q4zVAKYKgC+jmWres2tidTS0ehxa7HM+qrq/PYHnPgF9jrkHAKj6vwP9g+M8ngV+By8RTsMitHnHKygcpvoctgFfAN7JkRODLL4zgH9Ctau418vXKEgz4KNou6g4/5gNwPvxXT4Nc1ET7Qc091n8HPgs6iNwECevF82ViRsA69DIW66qaCgpzhdlF1owdD+uTiathu7k16CNWJoxhGp0u3D7Pg07ga+izT/iWE5BAmAp8QJgLXBHMsWxcWajNeZXMvFsv4kMoi9pf1qFMjYCXyLeTMseCjA1uIral+1W3ftR1XRHYiWySA9qVl0OrKD5CVp7UABYup4FHo7x96MNdXNtNkcTS9otxF7gBVzVTMMq4OM0v6lE1LbchYZgLV07gRdjPkc3OTebazRftZxIP+oAtOTMRp/J5Wh4ttmt1evAPjQK4ABI3z7if/dXouHAdm6gFfSZH0LzRg7RRtMvmgfQrkPojbDkvBl1+l1Ea5/NMLr7b8eHgGRld8y//yEU9O3Mk6mg4NiHmn196AyIR9AuxetpYi2IF/4UT3Soxxm0Nk48ggOgbGYz+YzOZi1Ak5VA28HfAryGNib9T9REn7SZ4QAojhoaGnoPGvpr9VSlYXRH8jLgcHWgQDgL3UiuBr4C/AeqJRzFAVAcPeiwlWuYeI3/dOqMVQVdA7AutGr0dLTHx+eZ4NASzxQrhipK7RtR1b+dUZkRxmoADgCLdKNt425Hw8lHcA0gfzXUdrsJOD7G80QbgezATQA7UgXVLPcAf4D6igDXAIpgGWqrXU28JdlRDaAPHwVmE7sJ+CQNHY8OgPxU0VTQ89BS0yXE+zyifQC8BsAmMwvt/HVZ9AsOgPzU0KYQ1wInJ/B8+1D13/sA2lSORzWBeeAAyNNCNAnkSuDYGM8TjfHuRH0AXpJt03k/uvHMcgDkYwnqlFlNMltNDaApwPvwkmyb3hLgfUCnAyB7VeBC1BZbmcDz1dH87z68BsCadzJwoYcBszUbTcy4FHgHyezDWGfsHICBBJ7PwnAicJFrANl6KzrR53ySnYOxD08Bttb0Aic4ALL1DnRu/OkktyFk1ATYhrZjN2vGXGCJmwDZ6ETHQl2K9vaLuwKs0QhjAeCl2eWyBW2d30FrI3IV1N+zgvb7kSrAIgdANpag3ZevYnT8NWH96Chw9wGUyz3A59BKzlaGbyto89dfA26L8fpdDoB0dQDHoHHXK0nn2HUvAiqvfuD1GH8/9t6P7gNI13y0vv8q4m29NpVoEdDelJ7f0tOBpue2K/YN3AGQrhWo1/89JHv2YqP9eATA2uQmQDqqaHrvOaOPXtI5BqrO2EGgngFoLXMNIB2zUbv/etT7n9YZcPvRIRWv4va/tcE1gHQchy7+i0j3gM4DqO1fReO6Q+Qb6nXUQ11Dbds68XfOtRQ5AJJVQact/xJwAemfztuJZhdeh7YUGya/E2frqOYzB9VMtqH1CXHP0LMUOQCSNR91+n2Esa2a0zQXeBsKnWF098+rBjCCAq8TNUu+R/yTcyxlDoDkdANnopV+y8lmXX4HCp2i7QHQgWa4PZt3QWxqDoDknILG+88mmVV+zSjahT+COiPXAg+hAyqswBwAyagC56JdVpbnW5Rc7UFV/zuATXh/gsJzAMQ3Bx3AcAUa8gvZG8B3gAfwxV8KngcQ30rgE8DFeRckZwfROXTP4Yu/NFwDaF90tPrFwHtp/Sy/mWQIWIcOo3wt36JYK1wDaF8P2tX3cto7y28m6Qf+G1X/Wzqf3vLlAGjfCuCDaK7/nJzLkqd+dC79Y0xyAq0VlwOgPcuAX0RDfgtyLkvenkc9/0edPGvF5wBoXQ24AbgFeHO+RcldHbX970QjAFYy7gRsTRdwGhrvPzPfouRuENiAAuC1fIti7XIAtOYs4JfRrr6h2wD8O/BU3gWx9jkAmlNBG3teiu7+i3MtTf4GgceBu/Ddv9TcB9CcbtThdy5a5Rfq+xbtOrQNTfh5BZ9GXGquAUxvGbr4b0Yn+uS13r4IKugI8ruBNfggktJzAExvFVrldzUa789r773odSvjfmbtReAbwJN4H8LScwBMbwWwEG29tRXd9fK4+Opo04/6aHkWow1BsjKCdh9+BF38nu8/AzgApncIfeG3jP73ALoIs+wHGBl9zcHR/z4DWE22AbAbeBBV/Q9n+LqWIgfA9B5j7Oy2YbTwJdr8Mit1xmoAg6gdHnVIZiXa3+9R3PE3YzgApvd03gUYZwQ4efRnFuqo1vM4mvQT+zgqKw4HwPSyutCaNRvNSchq27EDwMNotd+2jF7TMhLqeHZZ1dD6gxVktwLxDXSK7f349OEZxzWAcqmhvQe6SX8+QtTnsBFN+tme8utZDlwDKJcaGgLsIf0AGEFLfe9GW33ZDOQaQLnU0P4DC0g/AA4A96Idfn33n6EcAOUyC9UAFpJeANTROP/zaNLP6ym9jhWAmwDlEjUB5pNeeA+j04b/B3iZ4h0+YglyAJRL1AnYQ7qf3ZNo0s9GPN9/RnMToFw6SLcPoI5mGa4D/hfP95/xHADlEtUA0gqA19HW3g/jiz8IbgKUyyx08c8j+c9uBFX9vwmsx23/ILgGUC5dQC/pfG770ISf5/GMv2A4AMplPhoFSNpuNOS3BvUBWCDcBCiPCqr+d6Xw3BuBf0Ntfy/1DYhrAOUxDzgGrQZMyjCq+kdLfX20V2BcAyiHKqr+95BsaA+g4b51+FDPIDkAyqGKLv5jSDYA9qJz/R5E/QAWGDcByqEDBcBCNBSYhDra1/8+1AcwnNDzWvMGibe/4sG4BXAAlENUA1hAMgFwGI31fwcd8eWLPx8rgStQB2+rtfGDwLtivn7dAVAOUQD0kkwA7AG+jU719eEe+bkEHTZTofWJV8PE3xW63wFQDo1NgCQ+s22o8+81irfnYUg6yW5vx/GGgG3uBCyHJGsAG9FGH0/jiz9k+4CtDoByaBwGjBMAI2jG3zeATQmUy8prK/CcmwDlEAXAAtpvAgyhD/0B4McJlcvK62XgHgdAOURNgHkxnuN1tLX3c4mUyMqsjhZ9vegmQDlEqwDjTAN+AS31fSmRElmZPYNGgIZdAyiH+WgWYLtr9Pej+f73owNOLWzfA36E5wGUQgUN/7V7EtAutMx3DQnMHLPSexD4OqN7PboJUHzziDf+vwEt9f0J3uUndG8At9Nw4K1rAMUXLQNuZ8LIMPAiOuK8L8lCWekcAP4a+FbjLzoAiq2CzgHspfWNQIaBJ9C4/9aEy2Xl0gfcCvz9+N9wABRbFdUA2hkB2Inaet/GO/yG7AngCzS0+xs5AIqtgkYAemm+CVBHnX0/Qaf7+GivML0E/AD4Z6aY+OUAKL5u1AnYbA3gEFrquwYt+rEwHEAbum4Gfora+uuYZofnGvEWhFTxSEKaGmsAzfYBDKA7//fRjj+WnriHs2xGE7SqtD5CU0H9PHtQc68PVffXotOcm9rctYa+JO2OMc8BFuNOprRU0Hu8kOZqAHX0WTwCPItX+6WpAiyN+RzfBD5NjhuyVIl38fYAJydUFptY1Ak4XQ1gBG3xdTeqAg7hAEjTMcBJMZ9jLzkfvhoFQLuFWACcTXpn1YcuGgZcgD6rqT6nATTL607c9s/CIuCdMf7+EJqlmWtIV1Hbod1CdAIfQHubWfIq6E4zv+H/x4tCYQea7/803uYrbTVgNfECYB8F2Im5Svxtoc4E/oh4S1VtYnNQAExX/d+B2v1P4jH/LFwA/DHxRtH60NTcXFXRcVBDMZ6jBlwP/B7xO0XsSD2oCTDVF60CPAX8K1rrn2ubcoarAe8GPgWcGPO5XkZ9Nbl7E+o8qsd8DKCtpi4AlhF/x9LQ1VAV804mf89HUB/OZ3ANLC3RmYzHAR9nbHQl7vXyxSz/EZOpobbIQ8By4o3pzwFuQm2j+9Eb9Ryqnraz7fFMVUXt9Ok66jpRDWCqGYC70Syvp5h8nf9q9IWtAGfQ3GdcRbsGh6yO9l88HjgFuHD0kcTkuT7UX1MIFeBm9AWKm2p+NPe4uYnPZTFqWt3H5HecHwMfQ3enyQI273+rH0c/HgNWTPJ5ZSoaWlqLmgGWjWb6XKJlwJNN0hpGbchovn89maJZyoaAHwKv5l0QGKsObgG+hM+GL5I5aALQRH0pA4wt9tmMJ/yUyfNoU45CiALgMJpB9liOZbEjRQEwUQ3gFdTh+jC+85fJftSp+0LeBYk0dgj9DNUCduVUFjtSFxPPAaij6uOj+O5fNo8CX8m7EI0aA2AEVSn/K6ey2JHmcvRmoIPo4n8cBbaVx2bgaxRsf4bxQ0J9wJ+jOeWWr6gG0NgH0I8C+i40vGrlcBD4G9RsK5SJxoQ3oWmO6zMuix0pGgWImgB11Pb/LppHcDincllrhoEvo+Z14Uw2KeQJNN3xxQzLYkeaizoBO9CX6Geo068Qw0fWtK8Dt1HQMxkmC4ARdHrI76JthSxb0U5APaP/P4jmanwfb+9dFofQXf+zqP1fSFNNC62jTsFfRzvLWnbmoIs/6gA8gPb4exRv81UGW4HPAX9CwY9hb2Ze83rgk6jqeQOaG23pmg8ci9r//ajq/yhe5190B9D07K+i05jirLLNRLMLGzahvcvuA34LOB/NVbfk1VDbfzFq/z+Dvkxb8iyUTWkE3SjvAv6REk2rb2Vl0xDqgb4XuBH4VbQn2vFo1ZQlYyHwdvTe1lGH7ANo51crll1oB95H0PLeZ/ItTuvaWdp4GPgX4A60OcL7gPPQ6qalaPjK5w1Mbaodfo4FTkNr0DejL5XH/IvhILroo+2816JwLu1oWZwLdQgtSNkA3IPWSq9CVddFoz+74xZwhpqqI68bBekm9MV6gnjbRjfWHBbS/L4MnhIuI+g93I5GYF5Fq/meQu9Rqd+nSr3utSRTqVQy38fkLOA6NPS3Dm2ssj3rQiTF369icwBMI4cAeAvaZXkvOt+tnxwPjojL369icwBMI4cA6EHt/wEKsG98XP5+FZsDwCxgPtjTLGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOA/R+GatypVlYrzAAAAABJRU5ErkJggg=="
global percentage
set [percentage, powersource] to [|current capacity|, ¬
|power source state|] of battery's info()
if powersource contains "AC" then
new_icon(bat_charging_icon)
else if percentage ≥ 85 then
new_icon(bat_full_icon)
else if percentage ≥ 65 then
new_icon(bat_three_quarters_icon)
else if percentage ≥ 31 then
new_icon(bat_three_quarters_icon)
else if percentage ≥ 11 then
new_icon(bat_low_icon)
else
new_icon(bat_empty_icon)
end if
on new_icon(base64Code)
global percentage
tell application "BetterTouchTool"
update_touch_bar_widget ¬
"482F2657-A978-4D25-B9D6-EABFAD7E3B0A" text ¬
"" & percentage & "%" icon_data base64Code
end tell
end new_icon
script battery
use framework "IOKit"
on info()
current application's IOPSCopyPowerSourcesInfo() as record
end info
end script
Additionally, I tidied up the if...then...else block so it doesn't do more number comparisons than necessary.

Related

In MS Access VBA get Number of Processor Cores

I need to get the number of processor cores available on a computer programmatically from within MS Access. As an example, the computer I work from most frequently has one processor with 6 cores. I want to grab the number '6' through VBA.
Thus far, I have found two ways to find this information through CMD. (1) I can execute the line echo %NUMBER OF PROCESSORS% and the result is 6 (simple and clean, I like it). (2) I have also tried wmic cpu get numberorcores, but the result of that prompt is as follows:
NumberOfCores
6
I intend to pipe the output to and read from the clipboard. The reason I use the clipboard is to avoid creating, reading, and deleting little text files of data. Prompt (2) works, I can successfully pipe the output to the clipboard and read it into a variable in VBA, but it's messy and I would have to parse the result to get the information I need. I would much prefer using prompt (1), but it's not working and the problem seems to be echo. I have tried using shell() and CreateObject(WScript.Shell).Run without success. The strings I have used to try to execute the echo prompt are as follows:
str = "echo %NUMBER OF PROCESSORS% | clip"
str = "cmd ""echo %NUMBER OF PROCESSORS% | clip"""
So, is there a way to successfully send an echo prompt to CMD through VBA and get a result?
Alternatively, is there a different way in VBA to get the number of cores?
TIA!
Why not keep it simple like this:
Dim result As Variant
result = Environ("NUMBER_OF_PROCESSORS")
Debug.Print "Number of processors is " & result

How to control reps with normal mode in caliper

I am able to control reps when i run benchmark in debug mode.
sh ~/projects/poc/caliper/scripts/caliper --debug-reps 1 com.parquet.benchmark.BenchmarkParquetDirectWrites
However when i run in regular mode sh ~/projects/poc/caliper/scripts/caliper com.parquet.benchmark.BenchmarkParquetDirectWrites it runs the benchmark 1000 times. I want to control the value that is set to reps. I have two benchmarks one write and other read and i want each to be run X times and not 1000 times.

ksh loop putting results of file into variable

I'm not sure the best way to handle this, I'm guessing it's using a while loop. I have a .txt file with a set of numbers ( these numbers can change based on another script that runs )
ex:
0
36
41
53
60
Each number is on it's own line. For each number I want to get that number and execute a script using it. So in this example I would call a script to stop database 0, after that completes call a script to stop database 36 and so on until it's complete with all numbers in the list.
1) Is a while loop the best way to handle this?
2) I'm having trouble trying to determine what the [[condition]] needs to be to get each number 1 at a time, where can i find some additional help on this?
while [[ condition ]] ; do
command1
done
For testing purposes the file that contains all the numbers is test.txt. The script that will execute is a python script - "amgr.py stop (number from test.txt)"
Here's a simpler way:
cat test.txt | xargs amgr.py stop
this will get each line of your file, and then put it as an extra parameter for your amgr.py:
amgr.py stop 0
amgr.py stop 36
and so on..
I ended up using this method to give me the results i was looking for.
while read -r line ; do
amgr.py stop $line
done<test.txt

OS X time until (system/display/disk) sleep?

Does anyone know of a way to query OS X in order to find out how much time is actually left before it enters either system sleep or activates the display sleep (or even disk sleep), either via the command line, or any other method (Ruby or Objective-C for instance)?
I thought something like pmset via the command line might have offered this information, but it appears to only show and update what the current settings are, rather than allow feedback of where in the cycle the OS currently is.
My requirement is that I currently have a Ruby script that I'd like to run only when I'm not using the machine and a simple 'whatcher script' would allow this, but what to 'watch' is the thing I need a little help with.
It seems like there should be a simple answer, but so far I've not found anything obvious. Any ideas?
Heres a bash script to show the commands, which are a little complicated. The idea is that the user sets the system sleep time in the energy saver preference pane. The system will actually go to sleep when no device attached to the computer has moved for that time. So to get the time until the system goes to sleep we need the difference between those 2 results.
#!/bin/bash
# this will check how long before the system sleeps
# it gets the system sleep setting
# it gets the devices idle time
# it returns the difference between the two
#
# Note: if systemSleepTimeMinutes is 0 then the system is set to not go to sleep at all
#
systemSleepTimeMinutes=`pmset -g | grep "^[ ]*sleep" | awk '{ print $2 }'`
if [ $systemSleepTimeMinutes -gt "0" ]; then
systemSleepTime=`echo "$systemSleepTimeMinutes * 60" | bc`
devicesIdleTime=`ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF/1000000000; exit}'`
secondsBeforeSleep=`echo "$systemSleepTime - $devicesIdleTime" | bc`
echo "Time before sleep (sec): $secondsBeforeSleep"
exit 0
else
echo "The system is set to not sleep."
exit 0
fi

Nano hacks: most useful tiny programs you've coded or come across

It's the first great virtue of programmers. All of us have, at one time or another automated a task with a bit of throw-away code. Sometimes it takes a couple seconds tapping out a one-liner, sometimes we spend an exorbitant amount of time automating away a two-second task and then never use it again.
What tiny hack have you found useful enough to reuse? To make go so far as to make an alias for?
Note: before answering, please check to make sure it's not already on favourite command-line tricks using BASH or perl/ruby one-liner questions.
i found this on dotfiles.org just today. it's very simple, but clever. i felt stupid for not having thought of it myself.
###
### Handy Extract Program
###
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via >extract<" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
Here's a filter that puts commas in the middle of any large numbers in standard input.
$ cat ~/bin/comma
#!/usr/bin/perl -p
s/(\d{4,})/commify($1)/ge;
sub commify {
local $_ = shift;
1 while s/^([ -+]?\d+)(\d{3})/$1,$2/;
return $_;
}
I usually wind up using it for long output lists of big numbers, and I tire of counting decimal places. Now instead of seeing
-rw-r--r-- 1 alester alester 2244487404 Oct 6 15:38 listdetail.sql
I can run that as ls -l | comma and see
-rw-r--r-- 1 alester alester 2,244,487,404 Oct 6 15:38 listdetail.sql
This script saved my career!
Quite a few years ago, i was working remotely on a client database. I updated a shipment to change its status. But I forgot the where clause.
I'll never forget the feeling in the pit of my stomach when I saw (6834 rows affected). I basically spent the entire night going through event logs and figuring out the proper status on all those shipments. Crap!
So I wrote a script (originally in awk) that would start a transaction for any updates, and check the rows affected before committing. This prevented any surprises.
So now I never do updates from command line without going through a script like this. Here it is (now in Python):
import sys
import subprocess as sp
pgm = "isql"
if len(sys.argv) == 1:
print "Usage: \nsql sql-string [rows-affected]"
sys.exit()
sql_str = sys.argv[1].upper()
max_rows_affected = 3
if len(sys.argv) > 2:
max_rows_affected = int(sys.argv[2])
if sql_str.startswith("UPDATE"):
sql_str = "BEGIN TRANSACTION\\n" + sql_str
p1 = sp.Popen([pgm, sql_str],stdout=sp.PIPE,
shell=True)
(stdout, stderr) = p1.communicate()
print stdout
# example -> (33 rows affected)
affected = stdout.splitlines()[-1]
affected = affected.split()[0].lstrip('(')
num_affected = int(affected)
if num_affected > max_rows_affected:
print "WARNING! ", num_affected,"rows were affected, rolling back..."
sql_str = "ROLLBACK TRANSACTION"
ret_code = sp.call([pgm, sql_str], shell=True)
else:
sql_str = "COMMIT TRANSACTION"
ret_code = sp.call([pgm, sql_str], shell=True)
else:
ret_code = sp.call([pgm, sql_str], shell=True)
I use this script under assorted linuxes to check whether a directory copy between machines (or to CD/DVD) worked or whether copying (e.g. ext3 utf8 filenames -> fusebl
k) has mangled special characters in the filenames.
#!/bin/bash
## dsum Do checksums recursively over a directory.
## Typical usage: dsum <directory> > outfile
export LC_ALL=C # Optional - use sort order across different locales
if [ $# != 1 ]; then echo "Usage: ${0/*\//} <directory>" 1>&2; exit; fi
cd $1 1>&2 || exit
#findargs=-follow # Uncomment to follow symbolic links
find . $findargs -type f | sort | xargs -d'\n' cksum
Sorry, don't have the exact code handy, but I coded a regular expression for searching source code in VS.Net that allowed me to search anything not in comments. It came in very useful in a particular project I was working on, where people insisted that commenting out code was good practice, in case you wanted to go back and see what the code used to do.
I have two ruby scripts that I modify regularly to download all of various webcomics. Extremely handy! Note: They require wget, so probably linux. Note2: read these before you try them, they need a little bit of modification for each site.
Date based downloader:
#!/usr/bin/ruby -w
Day = 60 * 60 * 24
Fromat = "hjlsdahjsd/comics/st%Y%m%d.gif"
t = Time.local(2005, 2, 5)
MWF = [1,3,5]
until t == Time.local(2007, 7, 9)
if MWF.include? t.wday
`wget #{t.strftime(Fromat)}`
sleep 3
end
t += Day
end
Or you can use the number based one:
#!/usr/bin/ruby -w
Fromat = "http://fdsafdsa/comics/%08d.gif"
1.upto(986) do |i|
`wget #{sprintf(Fromat, i)}`
sleep 1
end
Instead of having to repeatedly open files in SQL Query Analyser and run them, I found the syntax needed to make a batch file, and could then run 100 at once. Oh the sweet sweet joy! I've used this ever since.
isqlw -S servername -d dbname -E -i F:\blah\whatever.sql -o F:\results.txt
This goes back to my COBOL days but I had two generic COBOL programs, one batch and one online (mainframe folks will know what these are). They were shells of a program that could take any set of parameters and/or files and be run, batch or executed in an IMS test region. I had them set up so that depending on the parameters I could access files, databases(DB2 or IMS DB) and or just manipulate working storage or whatever.
It was great because I could test that date function without guessing or test why there was truncation or why there was a database ABEND. The programs grew in size as time went on to include all sorts of tests and become a staple of the development group. Everyone knew where the code resided and included them in their unit testing as well. Those programs got so large (most of the code were commented out tests) and it was all contributed by people through the years. They saved so much time and settled so many disagreements!
I coded a Perl script to map dependencies, without going into an endless loop, For a legacy C program I inherited .... that also had a diamond dependency problem.
I wrote small program that e-mailed me when I received e-mails from friends, on an rarely used e-mail account.
I wrote another small program that sent me text messages if my home IP changes.
To name a few.
Years ago I built a suite of applications on a custom web application platform in PERL.
One cool feature was to convert SQL query strings into human readable sentences that described what the results were.
The code was relatively short but the end effect was nice.
I've got a little app that you run and it dumps a GUID into the clipboard. You can run it /noui or not. With UI, its a single button that drops a new GUID every time you click it. Without it drops a new one and then exits.
I mostly use it from within VS. I have it as an external app and mapped to a shortcut. I'm writing an app that relies heavily on xaml and guids, so I always find I need to paste a new guid into xaml...
Any time I write a clever list comprehension or use of map/reduce in python. There was one like this:
if reduce(lambda x, c: locks[x] and c, locknames, True):
print "Sub-threads terminated!"
The reason I remember that is that I came up with it myself, then saw the exact same code on somebody else's website. Now-adays it'd probably be done like:
if all(map(lambda z: locks[z], locknames)):
print "ya trik"
I've got 20 or 30 of these things lying around because once I coded up the framework for my standard console app in windows I can pretty much drop in any logic I want, so I got a lot of these little things that solve specific problems.
I guess the ones I'm using a lot right now is a console app that takes stdin and colorizes the output based on xml profiles that match regular expressions to colors. I use it for watching my log files from builds. The other one is a command line launcher so I don't pollute my PATH env var and it would exceed the limit on some systems anyway, namely win2k.
I'm constantly connecting to various linux servers from my own desktop throughout my workday, so I created a few aliases that will launch an xterm on those machines and set the title, background color, and other tweaks:
alias x="xterm" # local
alias xd="ssh -Xf me#development_host xterm -bg aliceblue -ls -sb -bc -geometry 100x30 -title Development"
alias xp="ssh -Xf me#production_host xterm -bg thistle1 ..."
I have a bunch of servers I frequently connect to, as well, but they're all on my local network. This Ruby script prints out the command to create aliases for any machine with ssh open:
#!/usr/bin/env ruby
require 'rubygems'
require 'dnssd'
handle = DNSSD.browse('_ssh._tcp') do |reply|
print "alias #{reply.name}='ssh #{reply.name}.#{reply.domain}';"
end
sleep 1
handle.stop
Use it like this in your .bash_profile:
eval `ruby ~/.alias_shares`