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 June 25th 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, 25 Jun 2026 15:10:38 +0000
percentuseragentsystemuser_agent_string_md5
13.1%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
9.4%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
7.1%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
4.4%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Win10
dab06743b6d270d4b5389db7e00741fc
4.1%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
3.7%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0Firefox 136.0 
 Linux
cce0fbea5e95d5eeee19d6d34d4556a6
3.2%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
3.0%Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Linux
63b540b2cc118e56a4254da3ab114ccc
2.8%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
2.8%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 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 macOS
fd3cbf9ed3a1f5fe86c1a53cec2d55ae
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.3%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
2.3%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
1.8%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36Chrome 145.0 
 Win10
7c73ef5b8d3235ae0606f2e84e457ff5
1.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
1.6%Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Linux
fd6fe26fadc0e4b2acefe0d4da2a5e2e
1.4%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)Apple Mail for OSX 
 macOS
dd4ef7731a6a60c4d92a8eb6910ca180
1.4%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Win10
d4428e781767e4fadc61eed60bded2f7
1.1%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
1.1%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Linux
015d12b84cdd4e2d6cd081db48d50bcd
0.9%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 macOS
523e7368d8c97aedbfac098bd5fdd20c
0.9%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.9%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.9%Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Firefox 119.0 
 Linux
896674f8cc9e1574ff46adf90e4fb28f
0.7%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.7%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Win10
4925b4ba558db41c0df87e47df1ba2fc
0.7%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0Firefox Generic 
 Win10
e70c4a9f4c97058839e0331a729ed001
0.7%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.7%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36Chrome Generic 
 Linux
3d1427687a94e7692681749ab201b45f
0.7%Mozilla/5.0 (X11; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Linux
29c3c5603f79fdd878708a1495bc7220
0.5%Mozilla/5.0 (compatible; Dataprovider.com)DefaultProperties 
 unknown
12a5744f9b3c8cdbba8a82b4bc07a264
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:150.0) Gecko/20100101 Firefox/150.0Firefox Generic 
 macOS
0ef01a0bceeac5b1d0a2b6557bd3d7b1
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36Chrome Generic 
 macOS
562dfcd5b68c64c48b5e26801777ec72
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X; rv:141.0) Gecko/20100101 Firefox/141.0Firefox 141.0 
 MacOSX
6bff454d696bf41d1e248820fdcdc41c
0.5%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.5%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.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0Firefox 135.0 
 Win10
b0fc1a0934e7ea864f39ca0a0b863cfa
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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36Chrome 109.0 
 Win7
6313445493bd26036a10112d93004957
0.5%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.5%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.2%Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1Mobile Safari Generic 
 iOS
499905cb18f222c6c92ea7eb20e69bb6
0.2%Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1 BraveMobile Safari Generic 
 iOS
66f2948486d2552dca436411113b0882
0.2%Mozilla/5.0 (iPod touch; CPU iPhone OS 14_7_4 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/136.0 Mobile/15E148 Safari/605.1.15Firefox 136.0 for iOS 
 iOS
02c319c704a75ca4165021f79183fe93
0.2%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.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36Chrome 79.0 
 macOS
68416c817f1ebbe9c36782207d6910df
0.2%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.2%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.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36Chrome 143.0 
 macOS
684fac3d8e595845640e507a9122bd55
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36Chrome 145.0 
 macOS
b6070f97dd99fd1a1f729156efd61e89
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.97 Safari/537.36Chrome Generic 
 macOS
729af4affe91ef637ba5233196228be8
0.2%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.2%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.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.7.5 Safari/605.1.15Safari Generic 
 macOS
1d770feb4fb0ae81ebbae8ae33b07faf
0.2%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.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15Safari Generic 
 macOS
89d08d8f1c05801bdb27153963b67a30
0.2%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.2%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.2%Mozilla/5.0 (Wayland like X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.6836.85 Safari/537.36Chrome 133.0 
 Linux
982e1d976286622bd8915720554b20a2
0.2%Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win10
b42a987416ed308a270e81aaa2686fbb
0.2%Mozilla/5.0 (Windows NT 10.0; rv:151.0) Gecko/20100101 Firefox/151.0Firefox Generic 
 Win10
7d3117c009c38da02e43e1e8f0a6a710
0.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36DefaultProperties 
 unknown
87d166c91c0adb73ab1bd7fa82ca0662
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36Chrome 104.0 
 Win10
b20f96e5878b0a47ff8626c8f757e35b
0.2%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.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0Edge 122.0 
 Win10
d94a27a56e6a143d4c900b9014d6ba5d
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36Chrome 123.0 
 Win10
5e705226acd7a97aa6ee95ab188632d6
0.2%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.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.6919.88 Safari/537.36Chrome 134.0 
 Win10
2fc669a531bc362081690dda69b5bd58
0.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.104 Safari/537.36Chrome 140.0 
 Win10
d8d184e3c70e80a63943171d81213eaf
0.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36Chrome 144.0 
 Win10
8e253f85246590342756399a57054cb8
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.3Chrome Generic 
 Win10
63dadfe9ea82cadfd7671be46bc1d0ed
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0Edge Generic 
 Win10
4238b62bcd3c1a9c24ccf656e6ace824
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.56 Safari/537.36Chrome Generic 
 Win10
f9a3898114754aa81ca6072a296867e0
0.2%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
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36Chrome 79.0 
 Win10
49bd5de0f3500cf321f7989944e6548c
0.2%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.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/149.0.0.0 Safari/537.36Headless Chrome 
 Win10
e80b024477d54c9c3ce60717d3ebac96
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0Firefox 136.0 
 Win10
2333b8d335abc6e14aef1caed0ae26fc
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0Firefox Generic 
 Win10
6c7753023a346715c58bb220997cb8f2
0.2%Mozilla/5.0 (Windows NT 10.0; WOW64; x64; rv:105.0esr) Gecko/20010101 Firefox/105.0esrFirefox 105.0 
 Win10
9489e03822c6a3dbaaa73570231393be
0.2%Mozilla/5.0 (Windows NT 10.0; WOW64; x64; rv:135.0esr) Gecko/20100101 Firefox/135.0esr/yUPsNxqgz-19Firefox 135.0 
 Win10
18edf919d635e562c1c5a6a9a4c10977
0.2%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.2%Mozilla/5.0 (Windows NT 6.1; rv:44.0) Gecko/20100101 Firefox/44.0Firefox 44.0 
 Win7
d30847a2ec9c978a0e4db5470b78b327
0.2%Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0Firefox Generic 
 Win7
91594bbaa04d66472e4ece7a69b04572
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 OPR/118.0.0.0Chrome 134.0 
 Linux
6f9db01131b32c868dff58993ca2fb32
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.7098.98 Safari/537.36Chrome 134.0 
 Linux
301324fbb4ba45e622093194f155de20
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36Chrome 137.0 
 Linux
cd5d5f3ff8f374827248e13d2f7d64ca
0.2%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.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36Chrome 145.0 
 Linux
7a804c056f2d36c3c44be5f3d648e096
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36Chrome Generic 
 Linux
3a232a518679c83f8ad9d67ea3edd100
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36Chrome Generic 
 Linux
76b48201579be7b8b489b41015dcc8f9
0.2%Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1PaleMoon Generic 
 Linux
ca2ddb4171c2fe6e48d455d582f54754
0.2%Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0Firefox Generic 
 Linux
ce8db61a57a10920c048afc79b70ed06
0.2%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.2%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0Firefox Generic 
 Linux
89d9757c1014236921d3fe627918b2b4

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