/*Make position:fixed work in IE6!*/ | |
.fixed-top /* position fixed Top */{position:fixed;bottom:auto;top:0;} | |
.fixed-bottom /* position fixed Bottom */{position:fixed;bottom:0;top:auto;} | |
.fixed-left /* position fixed Left */{position:fixed;right:auto;left:0;} | |
.fixed-right /* position fixed right */{position:fixed;right:0;left:auto;} | |
* html,* html body /* IE6 Fixed Position Jitter Fix */{background-image:url(about:blank);background-attachment:fixed;} | |
* html .fixed-top /* IE6 position fixed Top */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} | |
* html .fixed-right /* IE6 position fixed right */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));} |
<?php | |
/** | |
* Dot notation for access multidimensional arrays. | |
* | |
* $dn = new DotNotation(['bar'=>['baz'=>['foo'=>true]]]); | |
* | |
* $value = $dn->get('bar.baz.foo'); // $value == true | |
* | |
* $dn->set('bar.baz.foo', false); // ['foo'=>false] | |
* |
Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000
# Call virtualenvwrapper's "workon" if .venv exists. This is modified from-- | |
# http://justinlilly.com/python/virtualenv_wrapper_helper.html | |
# which is linked from-- | |
# http://virtualenvwrapper.readthedocs.org/en/latest/tips.html#automatically-run-workon-when-entering-a-directory | |
check_virtualenv() { | |
if [ -e .venv ]; then | |
env=`cat .venv` | |
echo "Found .venv in directory. Calling: workon ${env}" | |
workon $env | |
fi |
RDBMS-based job queues have been criticized recently for being unable to handle heavy loads. And they deserve it, to some extent, because the queries used to safely lock a job have been pretty hairy. SELECT FOR UPDATE followed by an UPDATE works fine at first, but then you add more workers, and each is trying to SELECT FOR UPDATE the same row (and maybe throwing NOWAIT in there, then catching the errors and retrying), and things slow down.
On top of that, they have to actually update the row to mark it as locked, so the rest of your workers are sitting there waiting while one of them propagates its lock to disk (and the disks of however many servers you're replicating to). QueueClassic got some mileage out of the novel idea of randomly picking a row near the front of the queue to lock, but I can't still seem to get more than an an extra few hundred jobs per second out of it under heavy load.
So, many developers have started going straight t
(function($){ | |
/* addClass shim | |
****************************************************/ | |
var addClass = $.fn.addClass; | |
$.fn.addClass = function(value) { | |
var orig = addClass.apply(this, arguments); | |
var elem, | |
i = 0, |
<header class="page-row"> | |
<h1>Site Title</h1> | |
</header> | |
<main class="page-row page-row-expanded"> | |
<p>Page content goes here.</p> | |
</main> | |
<footer class="page-row"> | |
<p>Copyright, blah blah blah.</p> |
# Install ttfautohint on Ubuntu 12.04 LTS | |
# @author: Jean Lescure | |
# 2014/04/23 | |
# Clone ttfautohint git repo to 'tmp' dir and cd into resulting repo folder | |
cd /tmp | |
git clone git://repo.or.cz/ttfautohint.git | |
cd ttfautohint | |
# Handle bootstrap's dependency: automake |