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 October 5th 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: Mon, 05 Oct 2026 03:36:47 +0000
percentuseragentsystemuser_agent_string_md5
35.8%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36Chrome Generic 
 Linux
a75818b9881da70587eb0a9cfcb7e1d6
8.1%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)Apple Mail for OSX 
 macOS
dd4ef7731a6a60c4d92a8eb6910ca180
5.7%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
5.0%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
3.7%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36Chrome Generic 
 Win10
bb9f4980ea5e34b8cf674a323d86c584
3.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36Chrome Generic 
 Win10
389568c894563e7e475b1f3d47117e62
2.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36Chrome Generic 
 Win10
8a56ddc17d5dc536f819edcc326d5df6
1.7%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
1.7%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36 Edg/153.0.0.0Edge Generic 
 Win10
a654d5eda172d96fed0476f4130cfab1
1.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 Win10
925436884cc9a6b8005feb055c610baf
1.4%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 Win10
9b9bf23f9293364f6788639fd2955d8a
1.4%Mozilla/5.0 (X11; Linux x86_64; rv:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 Linux
8db8d5326faed868767deb149293ce94
1.1%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.1%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36Chrome Generic 
 Linux
831de6e3a93cf018aef16b1d4bb7a63c
0.9%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 macOS
5be7cf4a82bfc5cd2bab563d7a1e1513
0.9%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36Chrome Generic 
 macOS
b8686dc00110378d4f62d0eaf9196000
0.9%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36Chrome Generic 
 macOS
4fb86d7439a1e431cea0287361c2e66d
0.9%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:154.0) Gecko/20100101 Firefox/154.0Firefox Generic 
 Win10
e39369353ff26b2b7d5c9089ce50223f
0.8%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36Chrome Generic 
 macOS
a0c5dae09464cb927626b18f5911490f
0.8%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36Chrome Generic 
 macOS
069708420d4a41c8101ca958a528fb26
0.8%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 Edg/152.0.0.0Edge Generic 
 Win10
751d56298673b4d1962564d60150a0de
0.8%Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 Linux
79b879eeb23dd068ebfd165081eb5854
0.8%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0Firefox 136.0 
 Linux
cce0fbea5e95d5eeee19d6d34d4556a6
0.6%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 macOS
05b1dcd1f433f2609f9b99af8478277a
0.6%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 Edg/154.0.0.0Edge Generic 
 Win10
e37c4ca5c20c5c9bf6e28230c57fcf75
0.6%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 Win10
827a5d56691b2388efe85261cead2898
0.6%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36Chrome Generic 
 Linux
2fa06cb22536489eef9368dbf472b75f
0.6%Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0Firefox Generic 
 Linux
23adcc7665e8a01746a0182a1b26b389
0.6%Mozilla/5.0 (X11; Linux x86_64; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 Linux
3c2a8e9956803becf13172eccc3a464a
0.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
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.2 Safari/605.1.15Safari Generic 
 macOS
64198afdde03be2f412d72e749b50f95
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 YaBrowser/26.8.0.0 Safari/537.36Yandex Browser Generic 
 Win10
4adc3530f05917674463b37b0834a2ad
0.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36Chrome Generic 
 Win10
6967ec7261b3cbe6a91d798c6b951c60
0.5%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.5%Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Firefox 119.0 
 Linux
896674f8cc9e1574ff46adf90e4fb28f
0.3%Mozilla/5.0 (compatible; Dataprovider.com)DefaultProperties 
 unknown
12a5744f9b3c8cdbba8a82b4bc07a264
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 (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/150.0.0.0 Safari/537.36Chrome Generic 
 Win10
c33c588009b95570bda142ca18d363d2
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36Chrome Generic 
 Win10
1a335caa800eac14403a3881468951da
0.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.0Firefox Generic 
 Win10
6b221ad1a8b0c60df18f8686b4876878
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0 Safari/537.36Chrome 127.0 
 Linux
511124137dfd2c00e38b6a67cb8cfea7
0.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36Chrome Generic 
 Linux
5c63ac1ff96b21e2aedd5718119533b4
0.3%Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Linux
fd6fe26fadc0e4b2acefe0d4da2a5e2e
0.2%AppleWebKit/605.1.15 Raven/0.44DefaultProperties 
 unknown
f4870cdbba03ef44b9601546e79c481c
0.2%Mozilla/5.0 (iPad; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.2 Mobile/15E148 Safari/604.1 BraveMobile Safari Generic 
 iOS
a2cc3af88542ffa9747e5f387687f2e3
0.2%Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.1 Mobile/15E148 Safari/604.1Mobile Safari Generic 
 iOS
d6a8dad0f695956302627a5068bb4318
0.2%Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.1 Mobile/15E148 Safari/604.1 BraveMobile Safari Generic 
 iOS
cfe73bc6930c3513b5513be925691f2d
0.2%Mozilla/5.0 (iPhone; CPU iPhone OS 27_0_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/27.0 YaBrowser/26.8.6.692.10 SA/3 Mobile/15E148 Safari/604.1Yandex Browser Generic for iOS 
 iOS
2fad6d7a97797deb509f881a2a45a2b9
0.2%Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36Chrome 124.0 for Android 
 Android
72b9292105a9e001ee6314573aecd272
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:150.0) Gecko/20100101 Firefox/150.0Firefox Generic 
 macOS
0ef01a0bceeac5b1d0a2b6557bd3d7b1
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:154.0) Gecko/20100101 Firefox/154.0Firefox Generic 
 macOS
66e63bdc69c6572a9a2d942fd08f035f
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 macOS
8f5941452f094a396667f79f445c8177
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/116.0.0.0 Safari/537.36Chrome 116.0 
 macOS
12cff7c401b241581c1f347ece73543d
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/146.0.0.0 Safari/537.36Chrome Generic 
 macOS
02379953b93cd223243db09f1dd4e5b9
0.2%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
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 Edg/152.0.0.0Edge Generic 
 macOS
7f40eb71eb2306336a575503d3c472a4
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/777.7.7.7 YaBrowser/77.7.7.7 Yowser/2.5 Safari/537.36Yandex Browser Generic 
 MacOSX
ebcb307223aecdca283900b762105f47
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.10 Safari/605.1.1Safari Generic 
 macOS
a9ba7d34365b37aebcf716aa0e19ec23
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15 Ddg/16.7Safari Generic 
 macOS
bae0cd8e399f507df2142c76ee2ff392
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/26.5.2 Safari/605.1.15Safari Generic 
 macOS
b153b6591950ef35fa583837fe2188f6
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15 Ddg/26.6Safari Generic 
 macOS
89495d4793a0e926dd876c4eaaf6a564
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6.1 Safari/605.1.15Safari Generic 
 macOS
9704117e1dddea06d7f27ca609227d9e
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/27.0.1 Safari/605.1.15Safari Generic 
 macOS
05b49aac7dacfde615963f36f6f4ae2c
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:111.0) Gecko/20100101 Firefox/111.0Firefox 111.0 
 Win10
2dc819369c7536ace2aa6ff02b29e93f
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/109.0.0.0 Safari/537.36Chrome 109.0 
 Win10
b9cbd8dc13f19f9e7eb854f472bfa274
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36Chrome 109.0 
 Win10
7d1c94c770584d5d91a9a2373c17b16e
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76Edge 116.0 
 Win10
90be44a5306c499afc063f09e69b68b9
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/125.0.6422.60 Safari/537.36 Edge/12.246Edge 12.0 
 Win10
07dd5bb1582b83eaca33641f7d440f95
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 OPR/115.0.0.0Opera 115 
 Win10
a71fdef2ecfccd781904dec30852d933
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.6863.98 Safari/537.36Chrome 133.0 
 Win10
5a0e18609f5b5671d1f4515ef047d50f
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36Chrome 140.0 
 Win10
a3f57bbe21c4e30379228ad7788f224d
0.2%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.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/144.0.0.0 Safari/537.36 Edg/144.0.0.0Edge 144.0 
 Win10
940676c3a8a8572fffba9e3881d0fb19
0.2%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.2%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
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 Edg/151.0.0.0Edge Generic 
 Win10
98289dd1c8427f7ac9bc8f4d0003f2e0
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 OPR/135.0.0.0Opera Generic 
 Win10
d0b827fc028233786c5becb9c0f8e812
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36Chrome Generic 
 Win10
f85035fc7927b0a123ed77371014cca9
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36Chrome Generic 
 Win10
5d0dd425008d7328cff9cce489fb55f7
0.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.0.0 Safari/537.36Headless Chrome 
 Win10
422a42b7a7403083a31fce90f74a7f8a
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:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Win10
4925b4ba558db41c0df87e47df1ba2fc
0.2%Mozilla/5.0 (Windows NT 6.1; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win7
0521da1dfec5dfacdec0ccd2deb1f786
0.2%Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win7
dfdccedf503c5110b14f773b9247466f
0.2%Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0Firefox 115.0 
 Win8.1
adb1280f1a3116f1bb5d1e48df2a2c23
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/135.0.7049.79 Safari/534.24 XiaoMi/MiuiBrowser/14.63.1-gnChrome 135.0 
 Linux
91b5f16ef88edb9f049554b6926c4f24
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36Chrome 119.0 
 Linux
df3076892ccd0147ca6e0ef4673595d0
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.2365.99Chrome 122.0 
 Linux
8e70774aa2a09f4850bdd08ce0d78cdd
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36Chrome 132.0 
 Linux
50041963ae561cfabe9225edff35b18f
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36Chrome 139.0 
 Linux
a0e09f4206cef88dab92b93072e25747
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 YaBrowser/26.4.0.0 Safari/537.36Yandex Browser Generic 
 Linux
8bb66a4efcd4df143b59e192e5d6271f
0.2%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.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36Chrome Generic 
 Linux
2aea6822098e151f64fd4bd7115bc7d6
0.2%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36Headless Chrome 
 Linux
90fc083a8996d178b9e51eed8ba189d7
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; rv:109.0) Gecko/20100101 Firefox/113.0Firefox 113.0 
 Linux
bf15a31a6d93d2a3b8d556ea28033fd1
0.2%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 Linux
b96c4123031dffebcbc3c69a0c8000b5
0.2%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 Linux
18ae6af2cf885d795bdf3b2fd7331e3c

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