Google Chrome: Disable Automatic Updates

Are you tried of Google Chrome automatically installing updates? You can disable it on both Windows and Mac machines:

**Windows Machines**

Open registry editor. Locate:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update

Add a new `DWORD` value named `DisableAutoUpdateChecksCheckboxValue` and set it to `1` to disable automatic updates or `0` to re-enable them.

**Mac OS X**

Open terminal and run the following command:

defaults write com.google.Keystone.Agent checkInterval 0

To re-enable automatic updates for google chrome use this command:

defaults write com.google.Keystone.Agent checkInterval 18000

This also works for Chromium and beta versions of GoogleChrome.

Posted in Mac, Tech Tips, Web Development | Tagged , , , , | Leave a comment

How to install Pianobar on Mac OS X

You will need `homebrew` to install `gnutls` unless you want to install it manually. Get `homebrew` at http://mxcl.github.com/homebrew/

You can either then try brew update to update the `homebrew` repositories.

To install `pianobar` using `homebrew` you can do

brew install pianobar

However, if after installation `pianobar` is giving you an error, check out the issues at https://github.com/PromyLOPh/pianobar/issues, and if your issue is listed you may need to install the very latest version of `pianobar` by doing a manual build.

To do this I’d recommend that you remove the homebrew installations of pianobar, and then manually build.

So, to remove the pianobar that was installed with homebrew, type

brew remove –force pianobar

Next see my notes about installing pianobar manually.

// download the root certificates into your home directory as ~/pianobar-cacert.pem
// these are needed to help pianobar make a secure connection to pandora
wget -O ~/pianobar-cacert.pem http://curl.haxx.se/ca/cacert.pem

// add the path to the pianobar config file
// ================================================================
echo “tls_ca_path = $HOME/pianobar-cacert.pem” >> ~/.config/pianobar/config

// install the dev tools
// ================================================================
brew install gnutls json-c

// change to your home directory, then clone the latest version of pianobar
// change to the directory created, make pianobar
cd ~
git clone https://github.com/PromyLOPh/pianobar.git
cd pianobar/
make clean && make CFLAGS=”-O2 -DNDEBUG -W64″

// run pianobar from the current directory
./pianobar

// note: just typing “pianobar” instead of “./pianobar” will fail if the current directory is not in your path

//after running pianobar you should get:

Welcome to pianobar (2011.11.09-dev)! Press ? for a list of commands. (i) Login… Ok. (i) Get stations… Ok.

// you should then be able to run pianobar on subsequent runs
// by typing in ~/pianobar/pianobar no matter what your current directory is

If you’re getting:

Error: Protocol incompatible. Please upgrade libpiano

Then you should check for issues at https://github.com/PromyLOPh/pianobar/

Posted in Mac, Software, Tech Tips | Tagged , , , , | 6 Comments

What are the different Google Bot User Agents?

There are several Googlebots with different User-agents. Here is a short list of what they are, and what they are used for:

  • Googlebot : crawls pages for our web index and Google News
  • Googlebot-Mobile : crawls pages for our mobile index
  • Googlebot-Image : crawls pages for our image index
  • Mediapartners-Google : crawls pages to determine AdSense content
  • Adsbot-Google : crawls pages to measure AdWords landing page quality
Posted in Web Development | Tagged , , | 1 Comment

Most Common User Agents

Updated July 16th 2026– A dynamic, downloadable list of the most common user agents. Have you ever wondered what Most Common User Agents are? This is a list of the most common user agents, dynamically generated to remain accurate and up to date. Often times people will post a list on their site, which soon becomes outdated. So, I decided I would create a user agent list that is dynamically generated and updated- it uses data from my own website to keep the list of user-agent data up to date – which means the list stays up to date as new browsers are released and new user agents emerge. It is, in effect, a highly accurate representation of common useragents. Below you will find a table showing the most popular / most-used UserAgents and percentage of visitors who had that user-agent when they visited the site. And, as of May 2012 this page should now be even more dynamic with a new method for calculating a rolling average of visitors.

Last Updated: Thu, 16 Jul 2026 14:50:05 +0000
percentuseragentsystemuser_agent_string_md5
14.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 Win10
16fee37559dbd42b448204446d02089f
6.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36Chrome 99.0 
 Win10
6b9a00393fb1607b0ada13520f814ab5
6.1%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36Chrome Generic 
 Win10
c33c588009b95570bda142ca18d363d2
4.8%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Win10
d4428e781767e4fadc61eed60bded2f7
4.6%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 macOS
3cd8ef53850146e44b23f23260b6e24c
3.6%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 macOS
523e7368d8c97aedbfac098bd5fdd20c
3.0%Mozilla/5.0 (X11; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Linux
29c3c5603f79fdd878708a1495bc7220
2.8%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 Linux
5c63ac1ff96b21e2aedd5718119533b4
2.8%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0Firefox 136.0 
 Linux
cce0fbea5e95d5eeee19d6d34d4556a6
2.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36Chrome Generic 
 Win10
b87543ecbc0ba610d9f06f9f2c432a46
2.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0Edge Generic 
 Win10
900b53410dbe0e0c28417a226c81086c
2.0%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36Chrome 125.0 
 macOS
8381c048a9d70230af13a12a76663dc4
2.0%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)Apple Mail for OSX 
 macOS
dd4ef7731a6a60c4d92a8eb6910ca180
2.0%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 Edg/150.0.0.0Edge Generic 
 Win10
73c2e21c0fc47f8841aa6000af1e64c7
2.0%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36Chrome Generic 
 Linux
a2e3145f1fb73f1ca32582774cd4e56f
1.8%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36Chrome Generic 
 Linux
3d1427687a94e7692681749ab201b45f
1.8%Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Linux
63b540b2cc118e56a4254da3ab114ccc
1.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36Chrome 137.0 
 macOS
5b2ba492da1bf8b88f5f71b161575820
1.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36Chrome Generic 
 macOS
4fc07ba599f9d84ac2c5f3d36be5aadf
1.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15Safari Generic 
 macOS
e4e1587b6e60bab9bceb7ef54660a226
1.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36Chrome Generic 
 Win10
90daa551604269dbcdcf237b5cc700f3
1.5%Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Linux
fd6fe26fadc0e4b2acefe0d4da2a5e2e
1.0%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36Chrome Generic 
 macOS
f304dd2f5ddcfa082d07ec9ab4d3dfcf
1.0%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Win10
dab06743b6d270d4b5389db7e00741fc
1.0%Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Firefox 119.0 
 Linux
896674f8cc9e1574ff46adf90e4fb28f
0.8%Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148Mobile Safari UIWebView 
 iOS
cb7ad6ce28c8c5dc981931e835245345
0.8%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 macOS
fd3cbf9ed3a1f5fe86c1a53cec2d55ae
0.8%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Chrome 120.0 
 Win10
9c1ce27f08b16479d2e17743062b28ed
0.8%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Win10
4925b4ba558db41c0df87e47df1ba2fc
0.8%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Linux
015d12b84cdd4e2d6cd081db48d50bcd
0.8%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Linux
89d9757c1014236921d3fe627918b2b4
0.5%Mozilla/5.0 (compatible; Dataprovider.com)DefaultProperties 
 unknown
12a5744f9b3c8cdbba8a82b4bc07a264
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36Chrome 128.0 
 macOS
fe0673f2a48d047b912b27e2a0c02f9f
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36Chrome Generic 
 macOS
02379953b93cd223243db09f1dd4e5b9
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15Safari Generic 
 macOS
1c496cfd2920c98eca0c0b44de07a3a9
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3 Safari/605.1.15Safari Generic 
 macOS
a92b740edb16c6ed571f7937f59206cd
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15 Ddg/26.5Safari Generic 
 macOS
ccf0ccacac9849ae9aafb31487e17472
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5.2 Safari/605.1.15Safari Generic 
 macOS
b153b6591950ef35fa583837fe2188f6
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36Chrome 109.0 
 Win10
b9cbd8dc13f19f9e7eb854f472bfa274
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.5938.132 Safari/537.36Chrome 117.0 
 Win10
5bead3a06085d6babcc8a1cb991283be
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.60 Safari/537.36 Edge/12.246Edge 12.0 
 Win10
07dd5bb1582b83eaca33641f7d440f95
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36Chrome 132.0 
 Win10
41770e408d453f0e18b6cf535e220c84
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36Chrome 138.0 
 Win10
7ddeda88d0c599cc494da0dece6554d5
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36Chrome Generic 
 Win10
91e1a2a41c0741f7f47615ab9de2fb8a
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 Edg/148.0.0.0Edge Generic 
 Win10
d782f8d891caba24ff6aeba315180cac
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:150.0) Gecko/20100101 Firefox/150.0Firefox Generic 
 Win10
66cace2bdec1448bde7d91e9da19a9ec
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.0Firefox Generic 
 Win10
6b221ad1a8b0c60df18f8686b4876878
0.5%Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 ChromeOS
86886f52b9655ff18d0af8d61a0c8b6e
0.3%Mozilla/5.0 (iPad; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1Mobile Safari Generic 
 iOS
f44adcdfc8e8cb35c11fda2956635ccc
0.3%Mozilla/5.0 (iPad; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5.2 Mobile/15E148 Safari/604.1Mobile Safari Generic 
 iOS
acfcd8dff23a3ba921dbeebd1d2d355b
0.3%Mozilla/5.0 (Linux; Android 15.0.0 r12; Z832 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.102 Mobile Safari/537.36Chrome Generic for Android 
 Android
90c61bd85a2a75d0a5dd14f7e8a90e42
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36Chrome 83.0 
 macOS
e3e4557d9294f4aef91b985b2147c10f
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36Chrome 119.0 
 macOS
eede85db4b43e095858cc613d9c48e11
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36Chrome 120.0 
 macOS
ff8ccda52e78712abbecde26b3dd8dae
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15Safari Generic 
 macOS
4e53babdc7983733fc0c4b1895b00caf
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15Safari Generic 
 macOS
fe079d469cba3dc5178318e07bd553af
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15Safari Generic 
 macOS
60a9c12d5312be73495823d471c4c915
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/27.0 Safari/605.1.15Safari Generic 
 macOS
8adc29e380764954fb006932b4e1bf5d
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X 14.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6937.87 Safari/537.36 Edg/134.0.3258.105Chrome 132.0 
 MacOSX
f74e17b0ceb37db3890bf81bb32fe780
0.3%Mozilla/5.0 (Macintosh; Intel Mac OS X; rv:141.0) Gecko/20100101 Firefox/141.0Firefox 141.0 
 MacOSX
6bff454d696bf41d1e248820fdcdc41c
0.3%Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win10
b42a987416ed308a270e81aaa2686fbb
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; ARM64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.185 Safari/537.36Chrome 140.0 
 Win10
616f5c5ff8da2598e4d4e42b6d78d6df
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36Chrome 113.0 
 Win10
c2e8770a57bb05f02fa99fc10237a511
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.8976.12 Safari/537.36Chrome 119.0 
 Win10
7dc6841a034de3de1e6b1074a6758023
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36Chrome 131.0 
 Win10
f51bb482c660d0eeadd1f058058a2b35
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36 Edg/131.0.6778.33Edge 131.0 
 Win10
6df0684806e5ef4d964ebfc958d459ca
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.6943.141 Safari/537.36Chrome 133.0 
 Win10
2eaf27a13e56704594e816eaecb852d9
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36Chrome 134.0 
 Win10
3fa31b52dd6ebc517e5492d43d77e61c
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0Edge 136.0 
 Win10
8369da3c75ccd12bc017791df73a85c8
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36Chrome 141.0 
 Win10
2204ee63bef2f351470a66ffe1bb020e
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36Chrome 142.0 
 Win10
3c9fc7ddec9b58823c1c96756dbd45d8
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 YaBrowser/26.4.0.0 Safari/537.36Yandex Browser Generic 
 Win10
599f20017ae82a64f9db1c2673a03792
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 OPR/76.0.4017.123Opera 76 
 Win10
6b44f837f1cd830684f2027e365cfbef
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36Headless Chrome 
 Win10
eac671692e8576f899308c1032bb55f8
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0Firefox Generic 
 Win10
bc0f3c150905b2785f84ae4c2be1daf4
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0Firefox Generic 
 Win10
e70c4a9f4c97058839e0331a729ed001
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:154.0) Gecko/20100101 Firefox/154.0Firefox Generic 
 Win10
e39369353ff26b2b7d5c9089ce50223f
0.3%Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.185 Safari/537.36Chrome Generic 
 Win32
7e1fb659c1422229cd095161d5c0f4b6
0.3%Mozilla/5.0 (Windows NT 11.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6264.218 Safari/537.36Chrome Generic 
 Win32
192aadd81e04e64427eeb2eb340cb085
0.3%Mozilla/5.0 (Windows NT 6.1; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win7
0521da1dfec5dfacdec0ccd2deb1f786
0.3%Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win7
dfdccedf503c5110b14f773b9247466f
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36Chrome 125.0 
 Linux
d72690806e05ab108412ee33b4c5c3e1
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36Chrome 140.0 
 Linux
74c987a7c11e14edf988007dcd378420
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36Chrome 144.0 
 Linux
b8be99e64723a27d2721246ffec8df40
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 OPR/131.0.0.0Opera Generic 
 Linux
279bc6fc2e9df88e24451eb210eea263
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/6.8.2 Chrome/139.0.0.0 Safari/537.36QtWebEngine Generic for Desktop 
 Linux
7a5aef237d7aa3cc030aefe613b79228
0.3%Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Goanna/6.8 Firefox/128.0 PaleMoon/34.1.0PaleMoon Generic 
 Linux
473df5832aff3e16e4478feb096243fb
0.3%Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0Firefox Generic 
 Linux
ce8db61a57a10920c048afc79b70ed06
0.3%Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0Firefox Generic 
 Linux
23adcc7665e8a01746a0182a1b26b389
0.3%Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.110 Safari/537.36Chrome 140.0 
 Linux
62f47567eda08e15377e8b779e6f8946
0.3%Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 Linux
8e33dfdf4988a95b180fa175545344b3

All user agents less common than 0.2% have been omitted.

Get this list of the most common useragents as plain-text:

Get this list of the most common useragents as JSON:

Posted in Tech Tips, Web Development | Tagged , , , , , , , | 27 Comments

ColorPicker Applescript for Mac OS X

Below is a Color Picker / Color Chooser Applescript for Mac OS X. The code originally appeared on `http://assortedgeekery.com/scripts/ChooseColor` but is no longer available there (404) so I’ve posted it here.

It gives you a system-based color chooser, and after selecting a color you are able to copy the value to the clipboard as a RGB value or a HEX code. Screenshots and code below.

ColorPicker Applescript for Mac OS X

ColorPicker Applescript for Mac OS X

Download the Application:
download-color-picker-application

Or get the code and create it yourself:

(*
    Choose Color
    Chris Biagini
    updated Aug. 4, 2005

    Republished via https://techblog.willshouse.com/?p=2222

    Invokes the Apple color picker from anywhere, and prepares some useful
    information about the color you chose.
*)

property my_color : {0, 32896, 65535}

set my_color to choose color default color my_color

set red to round (first item of my_color) / 257
set green to round (second item of my_color) / 257
set blue to round (third item of my_color) / 257

set red_web to dec_to_hex(red)
set green_web to dec_to_hex(green)
set blue_web to dec_to_hex(blue)

set red_web to normalize(red_web, 2)
set green_web to normalize(green_web, 2)
set blue_web to normalize(blue_web, 2)

set red to normalize(red, 3)
set green to normalize(green, 3)
set blue to normalize(blue, 3)

set decimal_text to "R: " & red & " G: " & green & " B: " & blue
set web_text to "#" & red_web & green_web & blue_web

set dialog_text to decimal_text & return & "Web: " & web_text

set d to display dialog dialog_text with icon 1 buttons {"Cancel", "Copy as Decimal", "Copy for Web"} default button 3

if button returned of d is "Copy as Decimal" then
	set the clipboard to decimal_text
else if button returned of d is "Copy for Web" then
	set the clipboard to web_text
end if

on dec_to_hex(the_number)
	if the_number is 0 then
		return "0"
	end if

	set hex_list to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}
	set the_result to ""

	set the_quotient to the_number

	repeat until the_quotient is 0
		set the_quotient to the_number div 16
		set the_result to (item (the_number mod 16 + 1) of hex_list) & the_result
		set the_number to the_quotient
	end repeat

	return the_result

end dec_to_hex

on normalize(the_number, the_length)
	set the_number to the_number as string

	if length of the_number ? the_length then
		return the_number
	end if

	repeat until length of the_number is equal to the_length
		set the_number to "0" & the_number
	end repeat

	return the_number
end normalize
Posted in Uncategorized | 2 Comments

Google Chrome for Lion

As of the time of this writing google chrome has three releases:

v 15: Stable

v 16: Beta

v 17: Developer

Beta is buggy on lion so you should really use the Developer version, which you can download from google here: http://www.google.com/chrome/intl/en/eula_dev.html?dl=mac

Posted in Uncategorized | Leave a comment

OS X Mac System Icons Folder Location

The OS X Mac System Icons Folder is Located at

/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/

OS X Mac System Icons Folder Location

Posted in Mac | Tagged , , , , | Leave a comment

Netflix Pricing

Netflix is not very transparent about their pricing on their website before you sign up. So I’ve created a chart of their current pricing as of November 2011. Now you can enjoy seeing the Netflix pricing without having to log into the netflix website!
Netflix Pricing

Unlimited Plans

Unlimited Streaming (no DVDs)

  • Unlimited Streaming
    • Watch instantly as often as you want on your PC, Mac or TV
    • Includes Starz Play service

Unlimited DVDs (no streaming)

  • Exchange DVDs as often as you want
  • Click here to
  • 1 DVD out at-a-time
     
  • 2 DVDs out at-a-time
     
  • 3 DVDs out at-a-time
     
  • 4 DVDs out at-a-time
     
  • 5 DVDs out at-a-time
     
  • 6 DVDs out at-a-time
     
  • 7 DVDs out at-a-time
     
  • 8 DVDs out at-a-time
     

Unlimited Streaming + DVDs

  • Watch instantly as often as you want on your PC, Mac, or TV
  • Includes Starz Play service
  • Exchange DVDs as often as you want
  • Click here to
  • Unlimited Streaming
    + 1 DVD out at-a-time
  • Unlimited Streaming
    + 2 DVDs out at-a-time
  • Unlimited Streaming
    + 3 DVDs out at-a-time
  • Unlimited Streaming
    + 4 DVDs out at-a-time
  • Unlimited Streaming
    + 5 DVDs out at-a-time
  • Unlimited Streaming
    + 6 DVDs out at-a-time
  • Unlimited Streaming
    + 7 DVDs out at-a-time
  • Unlimited Streaming
    + 8 DVDs out at-a-time
Posted in Marketing, Tech Opinion, Tech Tips | Tagged , , , , , , | Leave a comment

THRYLL.COM Scam?

Yesterday I received an e-mail inviting me to join THRYLL.COM promising “THRYLL.COM is a Members-Only community offering top apparel and gear from the most Extreme Action Sports brands at up to 70% off” and was a little worried.

It reminded me a lot of getting an e-mail from an unknown company called ShoppyBag where someone had tagged a photo of me and which required me to log in before seeing the photo, after which you entered your contact or email information and all of your friends were invited in the same way, and never actually being able to log in. So this is what I thought Thryll.com was at first glance. I created this blog entry to talk about the laundry list of things that Thryll.com was doing wrong which made me think they were sketchy.

So, below is the list of reasons that I had marked them off as a scam, however, the company does look to be actively engaged in remedying these problems (see their comments below – they e-mailed me with much of the same info) and I have to give them credit for trying to fix these things, even though they are not all fixed yet, they are working on it.

So I have not logged in and ordered anything from them, but I encourage people who have to post comments below talking about their experience.

So, here is the list of problems with Thryll.com that I found on 10-18-2011:

  • (fixed) Absolutely no information or contact information about the company without creating a membership and/or logging in
  • (fixed) Not a member of the BBB (they have posted a link to another service. BBB requires you to be in business for 1 year before becoming affiliated)
  • No reviews on sites such as bizrate.com
  • They send unsolicited e-mails (to lists they have probably purchased from sketchy third party companies or scraped from websites)
  • When sending e-mails they don’t use a accredited e-mail service such as Contact Contact which advocates anti-spam
  • (fixed) They don’t have or use SSL for transferring information such as usernames and passwords. All information is sent via plaintext across the internet: Picture 1.png
  • They use shared web hosting and their reverse DNS is not even set: Picture.png
  • Lack of followers / poor follower ratio on twitter: Picture 2.png
  • Poor data management. When you create an account you are signed up immediately. No confirmation e-mail required. Additionally you will be set up as a Male who’s birthday is 1/1/1970. This is poor programming / cutting corners. Also, does an e-commerce site really need your full birthday? I’m not giving that to a site where everything is transmitted in plaintext. Picture 3.png
  • No way of knowing why you were targeted: I originally received an e-mail from Thryll without signing up for it. Apparently they use cloudsponge.com as a way to allow you to log into your email account so that they can e-mail all of your contacts an invitation to Thryll (offering a $10 credit). The problem is that the invitation e-mail doesn’t tell you who inivted you. And as previously they are not using a well-know e-mail service to do this and so that makes the unsubscribe link sketchy (you always wonder if that is actually a “this email is legitimate, please keep spamming me” link)
  • (fixed) No contact page, phone number, or company information on the website. If Thryll.com deals in e-commerce they need to be available to the end customer without a lot of trouble. If you have to log in to get to everything and you are having a password or hacked account issue (as you may have since the login is not SSL protected), that makes the phone number and contact information unavailable. An e-commerce company should be able to be contacted in more ways than just over social media. Imaging Amazon.com asking your grandma to tweet them if she needed assistance with an order.
Here’s what the initial e-mail looked like:

Picture.png

Also, all of the links take you to log in to the site. The contact link does not work – even though it says “contact”.

Posted in Marketing | Tagged , | 11 Comments

WordPress: Change Insert Link (list) to use short permalinks with post ID

in wp-includes/class-wp-editor.php, change the line that has the permalink from

				'permalink' => get_permalink( $post->ID ),

to

	'permalink' => '/?p='.$post->ID,

That was line 749 in version 3.3 beta 1


	function wp_link_query( $args = array() ) {
		$pts = get_post_types( array( 'public' => true ), 'objects' );
		$pt_names = array_keys( $pts );

		$query = array(
			'post_type' => $pt_names,
			'suppress_filters' => true,
			'update_post_term_cache' => false,
			'update_post_meta_cache' => false,
			'post_status' => 'publish',
			'order' => 'DESC',
			'orderby' => 'post_date',
			'posts_per_page' => 20,
		);

		$args['pagenum'] = isset( $args['pagenum'] ) ? absint( $args['pagenum'] ) : 1;

		if ( isset( $args['s'] ) )
			$query['s'] = $args['s'];

		$query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;

		// Do main query.
		$get_posts = new WP_Query;
		$posts = $get_posts->query( $query );
		// Check if any posts were found.
		if ( ! $get_posts->post_count )
			return false;

		// Build results.
		$results = array();
		foreach ( $posts as $post ) {
			if ( 'post' == $post->post_type )
				$info = mysql2date( __( 'Y/m/d' ), $post->post_date );
			else
				$info = $pts[ $post->post_type ]->labels->singular_name;

			$results[] = array(
				'ID' => $post->ID,
				'title' => trim( esc_html( strip_tags( get_the_title( $post ) ) ) ),
				'permalink' => '/?p='.$post->ID,
				'info' => $info,
			);
		}

		return $results;
	}

Posted in Web Development | Tagged | Leave a comment