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 19th 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, 19 Oct 2026 14:24:02 +0000
percentuseragentsystemuser_agent_string_md5
41.0%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36Chrome Generic 
 Linux
a75818b9881da70587eb0a9cfcb7e1d6
5.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
5.2%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.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
3.1%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
2.8%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
2.1%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
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.5%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 Win10
827a5d56691b2388efe85261cead2898
1.5%Mozilla/5.0 (X11; Linux x86_64; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 Linux
3c2a8e9956803becf13172eccc3a464a
1.4%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36Chrome Generic 
 Win10
c060528a03a63b1bc1b0d1fdf2a88cfe
1.2%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
1.2%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 Win10
925436884cc9a6b8005feb055c610baf
1.1%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
1.1%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
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 (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
0.9%Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0Firefox Generic 
 Linux
23adcc7665e8a01746a0182a1b26b389
0.8%Mozilla/5.0 (compatible; Dataprovider.com)DefaultProperties 
 unknown
12a5744f9b3c8cdbba8a82b4bc07a264
0.8%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 macOS
5be7cf4a82bfc5cd2bab563d7a1e1513
0.8%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36Chrome Generic 
 macOS
4c3c586ba550da2162ad474bcb5d77c0
0.8%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
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 (iPad; CPU OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1Mobile Safari Generic 
 iOS
8eb6a6a361b38d758ba85a213470d111
0.6%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 Edg/155.0.0.0Edge Generic 
 Win10
95579e9093ffdc0626a0f044fc254a2f
0.6%Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:158.0) Gecko/20100101 Firefox/158.0Firefox Generic 
 Win10
eca04b22036fc216030691a8064d2d8a
0.6%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.6%Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Firefox 119.0 
 Linux
896674f8cc9e1574ff46adf90e4fb28f
0.6%Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0Firefox Generic 
 Linux
79b879eeb23dd068ebfd165081eb5854
0.5%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:157.0) Gecko/20100101 Firefox/157.0Firefox Generic 
 macOS
8f5941452f094a396667f79f445c8177
0.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
0.5%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.5%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.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; rv:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 Win10
9b9bf23f9293364f6788639fd2955d8a
0.5%Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0Firefox 140.0 
 Linux
fd6fe26fadc0e4b2acefe0d4da2a5e2e
0.3%Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Mobile Safari/537.36Chrome Generic for Android 
 Android
3fae07e900abadf8e6bf1913760d8993
0.3%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.3%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.3%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.3%Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6315.217 Safari/537.36Chrome 122.0 
 Win10
95767fdf3f2588341b896d6755981f0b
0.3%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.3%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.3%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.3%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.3%Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36Chrome Generic 
 Linux
e836a45e7473a12110458c94857a43e7
0.3%Mozilla/5.0 (X11; Linux x86_64; rv:158.0) Gecko/20100101 Firefox/158.0Firefox Generic 
 Linux
6ce9e0b1a0f62949b0d2b6e46223c335
0.2%AppleWebKit/605.1.15 Raven/0.44DefaultProperties 
 unknown
f4870cdbba03ef44b9601546e79c481c
0.2%Mozilla/5.0 (compatible; PR-CY)DefaultProperties 
 unknown
9095bdaf4d5898e900343c4fa15ce485
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 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:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 macOS
05b1dcd1f433f2609f9b99af8478277a
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:158.0) Gecko/20100101 Firefox/158.0Firefox Generic 
 macOS
d5afafed3796e0163667ab8b3a1b4eb1
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/113.0.0.0 Safari/537.3Chrome 113.0 
 macOS
93af51d44afcecdf8b980db606a3c194
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36Chrome 124.0 
 macOS
7f43958fcd8b0148374f10f8a0c96f26
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36Chrome 131.0 
 macOS
0845b309c7b9b957afd9ecf775a4c21f
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/150.0.0.0 Safari/537.36Chrome Generic 
 macOS
4fc07ba599f9d84ac2c5f3d36be5aadf
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.36Chrome Generic 
 macOS
b8686dc00110378d4f62d0eaf9196000
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 Edg/155.0.0.0Edge Generic 
 macOS
a340e56431d4b340aabd9f05685abd35
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15Safari Generic 
 macOS
4355e917423cadf894833f03efa36503
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.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.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/26.6.2 Safari/605.1.15Safari Generic 
 macOS
64198afdde03be2f412d72e749b50f95
0.2%Mozilla/5.0 (Macintosh; Intel Mac OS X; rv:141.0) Gecko/20100101 Firefox/141.0Firefox 141.0 
 MacOSX
6bff454d696bf41d1e248820fdcdc41c
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; 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/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/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/128.0.6613.127 Safari/537.36Chrome 128.0 
 Win10
6e59738c43b1ddbd0a6f8d2ee4899c5c
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/135.0.0.0 Iron Safari/537.36Iron 135.0 
 Win10
2cc905b459b154c035fd0d284016d1c8
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/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/151.0.0.0 Safari/537.36 Turbo/151.0.0.0Chrome Generic 
 Win10
5f895ecedfefca75920ea828b81497c8
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/79.0.3945.79 Safari/537.36Chrome 79.0 
 Win10
49bd5de0f3500cf321f7989944e6548c
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; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36Chrome 48.0 
 Win7
06d3d9617a2883877c8f5e774e52c741
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/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/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/143.0.7499.4 Safari/537.36Chrome 143.0 
 Linux
b070a2f9643f08bf206de508d4714466
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/150.0.0.0 Safari/537.36Chrome Generic 
 Linux
a2e3145f1fb73f1ca32582774cd4e56f
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:155.0) Gecko/20100101 Firefox/155.0Firefox Generic 
 Linux
8db8d5326faed868767deb149293ce94
0.2%Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36Chrome Generic 
 Linux
4390d84f67afe5608b96bf88e303a8d2
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
0.2%Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:158.0) Gecko/20100101 Firefox/158.0Firefox Generic 
 Linux
9a57969d035ee11c8ff623357934325e

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