Skip to main content


Stop MS Access from prompting for passwords to linked ODBC tables.

You should be using integrated security. But since we don't control all the things, sometimes database password authentication is forced on us.
You can set up a file DSN with the password, but in MS Access it is never saved.  Instead everytime you reopen the database and view a table you see this:

  Here is the workaround.Create a special type of query called a Pass-Through Query which does store passwordsCreate a macro that runs this query at startup
This works by initiating a special silent query at startup using the password. Once the database password has been used once, it is cached for the MS Access session.

Create the Pass-Through Query
On the Ribbon choose the Create Tab and click Query DesignClose the Show Table dialogClick the Pass-Through button on the Design Tab
Click Property Sheet to edit the connection string properties. You can paste a connection string or use the ... builder to open a GUI. If you use the builder be sure to choose to Save the password in the connection…
Recent posts

Scaling fonts by viewport with a minimum size

In a recent design we needed a giant button that would scale well from mobile to desktop.

By combining viewport width scaling and pixel scaling with a calculation you can make a font size scale, but never scale smaller than a minimum size.

<a href="#example" style="display: block; background-color: #5588aa; padding: 20px; color: #fff; text-align: center; font-size: 30px; font-size:calc(30px + 1.6vw);">Big Button Text</a>
Big Button Text

Both calc and viewport-units have wide support right now. Remember to set a fallback font-size for fringe browsers.

More information
Chris Coyier: Viewport sized typographyDavid Walsh: A Couple of Use Cases for Calc()Jen Simmons: Progressing Our LayoutsVasilis van Gemert: Create the perfect website layout system

Redirecting a list of paths in IIS to a new location

We often do redirects like the following to move all paths from one relative location to another.

If you need more fine grained control of what url goes where, you can use a redirect map. A redirect map allows one to define a key value pair of old locations to new locations.

Here's a simple example of a rewrite map.
<rewritemaps> <rewritemap defaultValue="" name="Redirects"> <add key="/full/relative/path/some-page" value="" /> <add key="/full/relative/path/another-page" value="" /> <add key="/full/relative/path/new-exciting-post" value="https://example/com/old/news" /> </rewritemap> </rewritemaps>

You can then define that map inside a web.config to be used to reroute traffic.

<!-- Web.Config Configuration File Example for a multiple page redirect map. …


alias lsn="ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\"%0o \",k);print}'"
to my .bashrc and now I can view unix file permissions as numbers via `lsn`:

$ lsn
total 17
644 -rw-r--r-- 1 brent Administ 21655 Apr 18 2014 default.php
755 drwxr-xr-x 17 brent Administ 0 Apr 18 2014 files
644 -rw-r--r-- 1 brent Administ 11082 Apr 18 2014 settings.php

My new favorite Greasemonkey Script

Block experts-exchange from all Google search results!

No Experts Exchange UserScript

Now thanks to the magic of Geasemonkey there's more Experts-Exchange cluttering your searches.

Since I use the HTTPS-Everywhere Firefox Add-on from the Electronic Frontier Foundation, I had to add a line to the script to also block Experts-Exchange on

Here's the full script with my edit:
// ==UserScript== // @name No Experts Exchange // @namespace JRice // @description We HATES them, Exchange, dirty Expertsses! // @include* // @include* // ==/UserScript== var count = 0; list = document.getElementsByTagName('a'); for (i=0; i