michaelfox + plugins 124
Chrome Web Store - Firebug Console
4 days ago by michaelfox
Explore Google Chrome extension API with a Firebug console
With this extension you can use chrome API such as chrome.extension.*, chrome.tabs.*
Extension developers may use it to test any javascript code against google API.
javascript
chrome
firebug
console
extensions
tools
plugins
chrome.extension
chrome.tabs
With this extension you can use chrome API such as chrome.extension.*, chrome.tabs.*
Extension developers may use it to test any javascript code against google API.
4 days ago by michaelfox
PHP Console - Google Chrome Extension
june 2011 by michaelfox
There is Lagger - flexible open-source PHP library for errors/exceptions/debugs handling in PHP http://code.google.com/p/lagger
Lightweight alternative of Lagger is class PhpConsole
http://code.google.com/p/php-console/source/browse/trunk/PhpConsole
PHP Console is extension that displays errors/exceptions/debug messages handled by class PhpConsole and Lagger in Google Chrome console and in notification popups.
Changelog http://code.google.com/p/php-console/wiki/Changelog
Report bugs and features http://code.google.com/p/php-console/issues
Author http://linkedin.com/in/barbushin
See also my JavaScript Errors Notifier extension http://goo.gl/uo9Ro
--- FEATURES ---
✔ No icons on Toolbar, only in Address bar (when enabled on server)
✔ Configure from context menu (just right click on web-page)
✔ Handle exceptions and all errors (even FATAL)
✔ Display debug and errors messages in Google Chrome console
✔ Display debug and errors messages in Notification popups
✔ First popup is displayed with 3 second lifetime
✔ All other popups are displayed with configured lifetime
✔ Popup is not hiding if mouse is over or if popup window is selected
✔ All popups can be closed by clicking on close icon (x) of any popup
✔ Display errors/exceptions backtrace in console (click on >Object)
✔ Display errors/exceptions backtrace in notification (click on #source_path link)
✔ Display JavaScript errors messages in Notification popups
✔ It does not overrides user-defined JavaScript errors handlers
✔ Errors source URLs in popup are clickable
✔ Ignore repeated errors
✔ Ignore Google Chrome extensions internal errors
✔ Catch messages from any sources
✔ Web page
✔ AJAX
✔ IFrame
✔ Make custom actions on errors and debug messages (with Lagger):
✔ Log to file
✔ Send Email
✔ Send SMS
✔ Send to STDOUT
--- HOW TO USE ---
### With PhpConsole class:
1. Install PHP Console extension
2. Download PhpConsole class - http://code.google.com/p/php-console/downloads
3. Test code:
require_once('PhpConsole.php');
PhpConsole::start();
// test
debug('test message');
debug('SELECT * FROM users', 'sql');
unkownFunction($unkownVar);
### With Yii Framework extension using class PhpConsole
http://www.yiiframework.com/extension/php-console
### With Symfony Framework plugin using class PhpConsole
http://www.symfony-project.org/plugins/stPhpConsolePlugin
### With WordPress plugin using class PhpConsole
http://wpengineer.com/2197/php-console-with-chrome-and-wordpress
### With Lagger:
1. Install PHP Console extension
2. Download Lagger - http://code.google.com/p/lagger/downloads
3. Test code:
define('LAGGER_BASE_DIR', '../library/');
function autoloadLaggerClasses($class) {
if(strpos($class, 'Lagger_') === 0) {
require_once (LAGGER_BASE_DIR . str_replace('_', '/', $class) . '.php');
}
}
spl_autoload_register('autoloadLaggerClasses');
$laggerES = new Lagger_Eventspace();
$debug = new Lagger_Handler_Debug($laggerES);
$errors = new Lagger_Handler_Errors($laggerES);
$exceptions = new Lagger_Handler_Exceptions($laggerES);
$chromeConsole = new Lagger_Action_ChromeConsole();
$debug->addAction($chromeConsole);
$errors->addAction($chromeConsole);
$exceptions->addAction($chromeConsole);
function debug($message, $tags = null) {
$GLOBALS['debug']->handle($message, $tags);
}
// test
debug('debug message', 'some,test,tags');
echo $unkownVar;
unkownFunction();
See video:
http://www.youtube.com/watch?v=hBCMB2Jiyvk
For all available Lagger features using see:
http://code.google.com/p/lagger/source/browse/trunk/examples/lagger_init.php
tools
browser
plugins
extensions
chrome
debug
php
console
logging
Lightweight alternative of Lagger is class PhpConsole
http://code.google.com/p/php-console/source/browse/trunk/PhpConsole
PHP Console is extension that displays errors/exceptions/debug messages handled by class PhpConsole and Lagger in Google Chrome console and in notification popups.
Changelog http://code.google.com/p/php-console/wiki/Changelog
Report bugs and features http://code.google.com/p/php-console/issues
Author http://linkedin.com/in/barbushin
See also my JavaScript Errors Notifier extension http://goo.gl/uo9Ro
--- FEATURES ---
✔ No icons on Toolbar, only in Address bar (when enabled on server)
✔ Configure from context menu (just right click on web-page)
✔ Handle exceptions and all errors (even FATAL)
✔ Display debug and errors messages in Google Chrome console
✔ Display debug and errors messages in Notification popups
✔ First popup is displayed with 3 second lifetime
✔ All other popups are displayed with configured lifetime
✔ Popup is not hiding if mouse is over or if popup window is selected
✔ All popups can be closed by clicking on close icon (x) of any popup
✔ Display errors/exceptions backtrace in console (click on >Object)
✔ Display errors/exceptions backtrace in notification (click on #source_path link)
✔ Display JavaScript errors messages in Notification popups
✔ It does not overrides user-defined JavaScript errors handlers
✔ Errors source URLs in popup are clickable
✔ Ignore repeated errors
✔ Ignore Google Chrome extensions internal errors
✔ Catch messages from any sources
✔ Web page
✔ AJAX
✔ IFrame
✔ Make custom actions on errors and debug messages (with Lagger):
✔ Log to file
✔ Send Email
✔ Send SMS
✔ Send to STDOUT
--- HOW TO USE ---
### With PhpConsole class:
1. Install PHP Console extension
2. Download PhpConsole class - http://code.google.com/p/php-console/downloads
3. Test code:
require_once('PhpConsole.php');
PhpConsole::start();
// test
debug('test message');
debug('SELECT * FROM users', 'sql');
unkownFunction($unkownVar);
### With Yii Framework extension using class PhpConsole
http://www.yiiframework.com/extension/php-console
### With Symfony Framework plugin using class PhpConsole
http://www.symfony-project.org/plugins/stPhpConsolePlugin
### With WordPress plugin using class PhpConsole
http://wpengineer.com/2197/php-console-with-chrome-and-wordpress
### With Lagger:
1. Install PHP Console extension
2. Download Lagger - http://code.google.com/p/lagger/downloads
3. Test code:
define('LAGGER_BASE_DIR', '../library/');
function autoloadLaggerClasses($class) {
if(strpos($class, 'Lagger_') === 0) {
require_once (LAGGER_BASE_DIR . str_replace('_', '/', $class) . '.php');
}
}
spl_autoload_register('autoloadLaggerClasses');
$laggerES = new Lagger_Eventspace();
$debug = new Lagger_Handler_Debug($laggerES);
$errors = new Lagger_Handler_Errors($laggerES);
$exceptions = new Lagger_Handler_Exceptions($laggerES);
$chromeConsole = new Lagger_Action_ChromeConsole();
$debug->addAction($chromeConsole);
$errors->addAction($chromeConsole);
$exceptions->addAction($chromeConsole);
function debug($message, $tags = null) {
$GLOBALS['debug']->handle($message, $tags);
}
// test
debug('debug message', 'some,test,tags');
echo $unkownVar;
unkownFunction();
See video:
http://www.youtube.com/watch?v=hBCMB2Jiyvk
For all available Lagger features using see:
http://code.google.com/p/lagger/source/browse/trunk/examples/lagger_init.php
june 2011 by michaelfox
XV - Google Chrome Extension
june 2011 by michaelfox
XV is an XML viewer for Google Chrome. Online demo: http://media.chikuyonok.ru/xmlview/
*** Version 1.0.3 overrides native XML tree viewer in Chrome 11.x. There might be a flash of native viewer (depends on XML size), this may be fixed in future versions of Google Chrome only. ***
Features:
* Collapsable elements: Alt+click to expand/collapse all descendant elements. Double-click on opening or closing tag to collapse it.
* Outline for better document overview
* Search by name or XPath. By default uses simple search mode which looks for a partial match in element‘s or attribute’s name; use special symbols like '/' or '[' to search by XPath
* Quick XPath mode: hold down Command (Mac) or Ctrl (PC) key while moving mouse cursor over element‘s or attribute’s name to enter Quick XPath mode. Use Shift key to cycle through available XPath variants and then drag’n’drop element under cursor into text editor, click on element will copy XPath to clipboard
tools
browser
plugins
extensions
chrome
xml
*** Version 1.0.3 overrides native XML tree viewer in Chrome 11.x. There might be a flash of native viewer (depends on XML size), this may be fixed in future versions of Google Chrome only. ***
Features:
* Collapsable elements: Alt+click to expand/collapse all descendant elements. Double-click on opening or closing tag to collapse it.
* Outline for better document overview
* Search by name or XPath. By default uses simple search mode which looks for a partial match in element‘s or attribute’s name; use special symbols like '/' or '[' to search by XPath
* Quick XPath mode: hold down Command (Mac) or Ctrl (PC) key while moving mouse cursor over element‘s or attribute’s name to enter Quick XPath mode. Use Shift key to cycle through available XPath variants and then drag’n’drop element under cursor into text editor, click on element will copy XPath to clipboard
june 2011 by michaelfox
Scraper - Google Chrome Extension
june 2011 by michaelfox
Scraper is a simple data mining extension for Google Chrome™ that is useful for online research when you need to quickly analyze data in spreadsheet form.
To use it: highlight a part of the webpage you'd like to scrape, right-click and choose "Scrape similar...". Anything that's similar to what you highlighted will be rendered in a table ready for export, compatible with Google Docs™.
This is a work-in-progress (i.e. there are bugs), and is currently intended for intermediate to advanced users who are comfortable with XPath, though jQuery is also supported to an extent.
scraper
data
tools
browser
plugins
extensions
chrome
To use it: highlight a part of the webpage you'd like to scrape, right-click and choose "Scrape similar...". Anything that's similar to what you highlighted will be rendered in a table ready for export, compatible with Google Docs™.
This is a work-in-progress (i.e. there are bugs), and is currently intended for intermediate to advanced users who are comfortable with XPath, though jQuery is also supported to an extent.
june 2011 by michaelfox
Unreleased stuff... — Gist
june 2011 by michaelfox
This list will hopefully shrink faster than it can grow. (yeah, right)
## jQuery
jQuery deparam / deparam+ / sortObject (WIP)
<https://gist.github.com/1025817>
jQuery infiniteScroller (WIP)
jQuery scrollinout event
<http://benalman.com/code/projects/jquery-scrollinout/examples/scrollinout/>
jQuery Sphere 3D
<http://benalman.com/code/projects/jquery-sphere3d/examples/flickr/>
jQuery Farthest Decendant: Dedicated to [Kris Borchers](http://twitter.com/rewardjs/status/75843907744833536)
<https://gist.github.com/1003361>
jQuery Data+: a new signature to allow easy initializing/getting of a per-element "state object"
<https://gist.github.com/979530>
jQuery Detach+: Improve .detach to allow optional reattaching!
<https://gist.github.com/978520>
jQuery Random: Add an "element of surprise" into the chain!
<https://gist.github.com/964822>
Like jQuery's .one but runs only once, across multiple elements and/or event types.
<https://gist.github.com/894952>
jQuery seq: execute code sequentially, for each selected element.
<https://gist.github.com/850322>
jQuery Floating Scrollbar
<https://gist.github.com/846423>
jQuery Widget Bootstrap: Experimenting with loading widgets that are dependent on jQuery...
<https://gist.github.com/816746>
jQuery htmlDoc "fixer" - get HTML, HEAD, BODY in your $(html)
<https://gist.github.com/742952>
jQuery nodetype filter: Filter the selected elements by nodeType
<https://gist.github.com/705550>
jQuery Tiny Pub/Sub: A really, really, REALLY tiny pub/sub implementation for jQuery.
<https://gist.github.com/661855/c119783954e1b10551c4afef53b2c04fefcb7465>
jQuery log selector: See what your selectors are selecting!
<https://gist.github.com/640714>
jQuery queueFn
<https://gist.github.com/36f3be40777bd70706b9>
<https://gist.github.com/330793>
jQuery liveOne: The power of .live and .one, together at last!
<https://gist.github.com/500667>
jQuery bindAndTrigger: Bind an event handler and fire it immediately
<https://gist.github.com/385142>
jQuery scrollable selector
<https://gist.github.com/331331>
## JavaScript
JavaScript: What's New? List properties that have been added to an object between a starting and ending point.
<https://gist.github.com/1027709>
Small Walker: A small and simple JavaScript DOM walker
<https://gist.github.com/958000>
JavaScript detach: detach a node from the DOM, optionally reattaching it when done.
<https://gist.github.com/938767>
JavaScript Curry
<https://gist.github.com/721002>
whatevCache: a simple localStorage-if-you-got-it, otherwise not-at-all-persistent data object cache.
<https://gist.github.com/658526>
postMessage detector
<https://gist.github.com/581030>
isSemVer - semantic version comparison for JavaScript
<https://gist.github.com/566233>
## Ruby
Gaucho (WIP)
Ruby: Clone Yer GitHub Repos, Fast!
<https://gist.github.com/916434>
Ruby: Unindent arbitrarily-indented heredocs
<https://gist.github.com/826577>
## Applescript
Finder Open iTerm Here
<https://gist.github.com/905546>
## Bash
Multi-Firefox Fixer: Run multiple versions of Firefox simultaneously!
<https://gist.github.com/868662>
## Articles
What results can you get just using these characters: +[]
<https://gist.github.com/984932>
JavaScript: A few ways to work around the lack of `this` propagation in inner functions
<https://gist.github.com/980016>
JavaScript var indenting thoughts.
<https://gist.github.com/946689>
jQuery.sub() "module-specific jQuery extensions" usage example for jQuery 1.5+
<https://gist.github.com/804811>
What == what?
<https://gist.github.com/1036978>
jquery
javascript
reference
resources
plugins
snippets
hacks
tutorials
tools
utility
github
github-gist
user:cowboy
## jQuery
jQuery deparam / deparam+ / sortObject (WIP)
<https://gist.github.com/1025817>
jQuery infiniteScroller (WIP)
jQuery scrollinout event
<http://benalman.com/code/projects/jquery-scrollinout/examples/scrollinout/>
jQuery Sphere 3D
<http://benalman.com/code/projects/jquery-sphere3d/examples/flickr/>
jQuery Farthest Decendant: Dedicated to [Kris Borchers](http://twitter.com/rewardjs/status/75843907744833536)
<https://gist.github.com/1003361>
jQuery Data+: a new signature to allow easy initializing/getting of a per-element "state object"
<https://gist.github.com/979530>
jQuery Detach+: Improve .detach to allow optional reattaching!
<https://gist.github.com/978520>
jQuery Random: Add an "element of surprise" into the chain!
<https://gist.github.com/964822>
Like jQuery's .one but runs only once, across multiple elements and/or event types.
<https://gist.github.com/894952>
jQuery seq: execute code sequentially, for each selected element.
<https://gist.github.com/850322>
jQuery Floating Scrollbar
<https://gist.github.com/846423>
jQuery Widget Bootstrap: Experimenting with loading widgets that are dependent on jQuery...
<https://gist.github.com/816746>
jQuery htmlDoc "fixer" - get HTML, HEAD, BODY in your $(html)
<https://gist.github.com/742952>
jQuery nodetype filter: Filter the selected elements by nodeType
<https://gist.github.com/705550>
jQuery Tiny Pub/Sub: A really, really, REALLY tiny pub/sub implementation for jQuery.
<https://gist.github.com/661855/c119783954e1b10551c4afef53b2c04fefcb7465>
jQuery log selector: See what your selectors are selecting!
<https://gist.github.com/640714>
jQuery queueFn
<https://gist.github.com/36f3be40777bd70706b9>
<https://gist.github.com/330793>
jQuery liveOne: The power of .live and .one, together at last!
<https://gist.github.com/500667>
jQuery bindAndTrigger: Bind an event handler and fire it immediately
<https://gist.github.com/385142>
jQuery scrollable selector
<https://gist.github.com/331331>
## JavaScript
JavaScript: What's New? List properties that have been added to an object between a starting and ending point.
<https://gist.github.com/1027709>
Small Walker: A small and simple JavaScript DOM walker
<https://gist.github.com/958000>
JavaScript detach: detach a node from the DOM, optionally reattaching it when done.
<https://gist.github.com/938767>
JavaScript Curry
<https://gist.github.com/721002>
whatevCache: a simple localStorage-if-you-got-it, otherwise not-at-all-persistent data object cache.
<https://gist.github.com/658526>
postMessage detector
<https://gist.github.com/581030>
isSemVer - semantic version comparison for JavaScript
<https://gist.github.com/566233>
## Ruby
Gaucho (WIP)
Ruby: Clone Yer GitHub Repos, Fast!
<https://gist.github.com/916434>
Ruby: Unindent arbitrarily-indented heredocs
<https://gist.github.com/826577>
## Applescript
Finder Open iTerm Here
<https://gist.github.com/905546>
## Bash
Multi-Firefox Fixer: Run multiple versions of Firefox simultaneously!
<https://gist.github.com/868662>
## Articles
What results can you get just using these characters: +[]
<https://gist.github.com/984932>
JavaScript: A few ways to work around the lack of `this` propagation in inner functions
<https://gist.github.com/980016>
JavaScript var indenting thoughts.
<https://gist.github.com/946689>
jQuery.sub() "module-specific jQuery extensions" usage example for jQuery 1.5+
<https://gist.github.com/804811>
What == what?
<https://gist.github.com/1036978>
june 2011 by michaelfox
Slow Performing Add-ons :: Add-ons for Firefox
may 2011 by michaelfox
Add-ons provide many useful features and functions, but they can also cause Firefox to become slower. Some add-ons can even slow Firefox to a crawl and make it difficult to use for regular web browsing. If you think add-ons might be the reason Firefox is lethargic, check the list below for some of the biggest bottlenecks. And remember, for best performance you should disable add-ons that you no longer use regularly.
addons
browser
firefox
performance
plugins
may 2011 by michaelfox
ReMate
march 2011 by michaelfox
ReMate is a TextMate plugin which can be used to disable the automatic project tree refresh when the application regains focus.
The plugin adds the following:
a toggleable item to the window menu labeled “Disable Refresh on Regaining Focus” - when this is checked, projects will not be updated when TextMate regains focus.
an option on the project menu (reached by right-clicking on an item in the project tree or the gear at the bottom of the project drawer) to “Refresh All Projects”
Download, extract, double-click.
mac
network
plugin
plugins
textmate
The plugin adds the following:
a toggleable item to the window menu labeled “Disable Refresh on Regaining Focus” - when this is checked, projects will not be updated when TextMate regains focus.
an option on the project menu (reached by right-clicking on an item in the project tree or the gear at the bottom of the project drawer) to “Refresh All Projects”
Download, extract, double-click.
march 2011 by michaelfox
Wiki | CodeIgniter
march 2011 by michaelfox
I have whipped up a very simple and easy-to-use library for automatically building sitemaps for your CodeIgniter web application.
Features
* NEW: generate() method to build a complete site map
* NEW: easy filtering in case you want to exclude certain controllers or method names (see the sample controller below)
* Supports templates
* Can be used to just show pages in one specific controller via the get_links() method
codeigniter
php
plugins
libraries
sitemap
Features
* NEW: generate() method to build a complete site map
* NEW: easy filtering in case you want to exclude certain controllers or method names (see the sample controller below)
* Supports templates
* Can be used to just show pages in one specific controller via the get_links() method
march 2011 by michaelfox
Cron job bootstrapper | CodeIgniter Forums
march 2011 by michaelfox
ere is a very simple bootstrapper file that you can use to directly run your CodeIgniter controllers from the commandline. It’s a very easy and elegant solution for using CI controllers for cron jobs. It also logs the date/time and output each time it runs.
Download
Please let me know if you find this useful, or have an idea of how to improve this further.
Example:
cron.php --run=/controller/method [--show-output] [--log-file=logfile]
The default logfile is cron.log, but you can change that with the—log-file switch. It does not show the output by default, but you can force it to using the -S or—show-output switch.
codeigniter
php
plugins
libraries
cron
Download
Please let me know if you find this useful, or have an idea of how to improve this further.
Example:
cron.php --run=/controller/method [--show-output] [--log-file=logfile]
The default logfile is cron.log, but you can change that with the—log-file switch. It does not show the output by default, but you can force it to using the -S or—show-output switch.
march 2011 by michaelfox
fgnass/jshint.tmbundle - GitHub
march 2011 by michaelfox
TextMate bundle for JSHint, the (Gentler) JavaScript Code Quality Tool.
Features:
Pretty UI
Runs automatically upon save (⌘S)
Can be bypassed by pressing ⇧⌘S
Output is only shown when errors are found
Window is automatically closed when it looses focus
Based on Node.js
Installation
Download the zip file and rename the extracted folder to jshint.tmbundle. Double-click.
Prerequisites
You need Node.js and TextMate, that's all.
jshint
jslint
javascript
textmate
tools
plugins
bundles
codequality
Features:
Pretty UI
Runs automatically upon save (⌘S)
Can be bypassed by pressing ⇧⌘S
Output is only shown when errors are found
Window is automatically closed when it looses focus
Based on Node.js
Installation
Download the zip file and rename the extracted folder to jshint.tmbundle. Double-click.
Prerequisites
You need Node.js and TextMate, that's all.
march 2011 by michaelfox
pentadactylrc at master from mattsacks's dotfiles - GitHub
january 2011 by michaelfox
" .pentadactylrc - Matt Sacks
set mapleader=","
"{{{ Options
set novb
set complete=l
set defsearch=gg
set newtab=all
set urlseparator=",,"
set hintkeys='01234789'
set nostrictfocus
"}}}
"{{{ PassKeys
set passkeys+='mail\.google\.com':c/jkhnpouelxsfra#`[]z?*nrtgidIU+-=<Tab><Return>
set passkeys+='mail\.google\.com/tasks/canvas':<Tab><S-Tab><Return>
set passkeys+='google\.com/reader':jkvnpbumoaAXNOVPJK?gehtl<Return>
set passkeys+='twitter\.com':jk<Space>/.frtmn?ghrpu<Return>
set passkeys+='rememberthemilk\.com/home/p':trsjkdhyucpgfinalez1234<Return>
set passkeys+='www\.google\.com/calendar':dwmxajkcnqetp?<Del>s12345<Return>
set passkeys+='springpadit\.com/springpad':?hgmfntljk/c<Return>
set passkeys+='toodledo\.com/':?fn*aitzwjklmocdgxpsheybr123456789<Esc><Return>
set passkeys+='duckduckgo\.com/':\!lo<C-Return>jkh<Esc>\'v/rs1<Return>
"}}}
"{{{ Shortcuts
map <Leader>r :o read<CR>
map <Leader>n :o notforest<CR>
map <Leader>in :o insta<CR>
map <Leader>ib :o instab<CR>
map <Leader>il :o instalong<CR>
map <Leader>e :tabopen!
map K :o g
map <Leader>s :tabopen g
map <Leader>S :tabopen! g
map <Leader>fr :open firebug<CR>
ab leeblo extoptions LeechBlock
map <C-l> :noh<CR>
"}}}
"{{{ Navigation
nno j 5j
nno k 5k
nno <C-e> 10<C-e>
nno <C-y> 10<C-y>
cno <C-P> <Up>
cno <C-N> <Down>
cno <C-b> <Left>
cno <C-f> <Right>
ino <C-b> <Left>
ino <C-f> <Right>
ino <C-p> <Up>
ino <C-n> <Down>
map ,, <C-^>
"}}}
"{{{ Site Specific
" Don't focus on Reddit frame
autocmd LocationChange 'reddit\.com/tb/' -js buffer.focusElement(buffer.allFrames()[2]);
" Focus on the Android docs
autocmd PageLoad 'developer\.android\.com/' -js buffer.followLink(document.getElementById("doc-content"));
"}}}
" vi:filetype=vim foldmethod=marker
pentadactyl
vim
vimperator
dotfiles
firefox
plugins
config
examples
set mapleader=","
"{{{ Options
set novb
set complete=l
set defsearch=gg
set newtab=all
set urlseparator=",,"
set hintkeys='01234789'
set nostrictfocus
"}}}
"{{{ PassKeys
set passkeys+='mail\.google\.com':c/jkhnpouelxsfra#`[]z?*nrtgidIU+-=<Tab><Return>
set passkeys+='mail\.google\.com/tasks/canvas':<Tab><S-Tab><Return>
set passkeys+='google\.com/reader':jkvnpbumoaAXNOVPJK?gehtl<Return>
set passkeys+='twitter\.com':jk<Space>/.frtmn?ghrpu<Return>
set passkeys+='rememberthemilk\.com/home/p':trsjkdhyucpgfinalez1234<Return>
set passkeys+='www\.google\.com/calendar':dwmxajkcnqetp?<Del>s12345<Return>
set passkeys+='springpadit\.com/springpad':?hgmfntljk/c<Return>
set passkeys+='toodledo\.com/':?fn*aitzwjklmocdgxpsheybr123456789<Esc><Return>
set passkeys+='duckduckgo\.com/':\!lo<C-Return>jkh<Esc>\'v/rs1<Return>
"}}}
"{{{ Shortcuts
map <Leader>r :o read<CR>
map <Leader>n :o notforest<CR>
map <Leader>in :o insta<CR>
map <Leader>ib :o instab<CR>
map <Leader>il :o instalong<CR>
map <Leader>e :tabopen!
map K :o g
map <Leader>s :tabopen g
map <Leader>S :tabopen! g
map <Leader>fr :open firebug<CR>
ab leeblo extoptions LeechBlock
map <C-l> :noh<CR>
"}}}
"{{{ Navigation
nno j 5j
nno k 5k
nno <C-e> 10<C-e>
nno <C-y> 10<C-y>
cno <C-P> <Up>
cno <C-N> <Down>
cno <C-b> <Left>
cno <C-f> <Right>
ino <C-b> <Left>
ino <C-f> <Right>
ino <C-p> <Up>
ino <C-n> <Down>
map ,, <C-^>
"}}}
"{{{ Site Specific
" Don't focus on Reddit frame
autocmd LocationChange 'reddit\.com/tb/' -js buffer.focusElement(buffer.allFrames()[2]);
" Focus on the Android docs
autocmd PageLoad 'developer\.android\.com/' -js buffer.followLink(document.getElementById("doc-content"));
"}}}
" vi:filetype=vim foldmethod=marker
january 2011 by michaelfox
jezdez/textmate-missingdrawer - GitHub
december 2010 by michaelfox
A better sidebar for Textmate.
extension
plugin
plugins
textmate
tools
ide
editor
project
december 2010 by michaelfox
Script Junkie | Style in jQuery Plugins and Why it Matters
december 2010 by michaelfox
Style in jQuery Plugins and Why it Matters
1. A few "pro tips"
DRY = Don't repeat yourself
Use the jQuery API
Avoid premature optimization
Avoid over-avoiding premature optimization
2. Playing nice with others
Don't modify objects you don't own
Declare your variables
Use a closure
Use namespaces when binding event handlers
Use unique data names
3. Elements of style
Line length
Tabs vs. spaces
Crowding arguments or code blocks
Comments
Curly braces
4. In conclusion
Comments (0)
Find Ben on:
Videos
Articles
Network
Content
Resources
javascript
jquery
plugins
bestpractices
templates
architecture
patterns
1. A few "pro tips"
DRY = Don't repeat yourself
Use the jQuery API
Avoid premature optimization
Avoid over-avoiding premature optimization
2. Playing nice with others
Don't modify objects you don't own
Declare your variables
Use a closure
Use namespaces when binding event handlers
Use unique data names
3. Elements of style
Line length
Tabs vs. spaces
Crowding arguments or code blocks
Comments
Curly braces
4. In conclusion
Comments (0)
Find Ben on:
Videos
Articles
Network
Content
Resources
december 2010 by michaelfox
Hooks | Drupal API
december 2010 by michaelfox
Documentation
Docs Home
API
Recently Updated
module.inc
Hooks
Drupal 5Drupal 6Drupal 7
Allow modules to interact with the Drupal core.
Drupal's module system is based on the concept of "hooks". A hook is a PHP function that is named foo_bar(), where "foo" is the name of the module (whose filename is thus foo.module) and "bar" is the name of the hook. Each hook has a defined set of parameters and a specified result type.
To extend Drupal, a module need simply implement a hook. When Drupal wishes to allow intervention from modules, it determines which modules implement a hook and calls that hook in all enabled modules that implement it.
The available hooks to implement are explained here in the Hooks section of the developer documentation. The string "hook" is used as a placeholder for the module name in the hook definitions. For example, if the module file is called example.module, then hook_help() as implemented by that module would be defined as example_help().
drupal
php
loader
plugins
architecture
dependencies
resources
reference
inspiration
project
Docs Home
API
Recently Updated
module.inc
Hooks
Drupal 5Drupal 6Drupal 7
Allow modules to interact with the Drupal core.
Drupal's module system is based on the concept of "hooks". A hook is a PHP function that is named foo_bar(), where "foo" is the name of the module (whose filename is thus foo.module) and "bar" is the name of the hook. Each hook has a defined set of parameters and a specified result type.
To extend Drupal, a module need simply implement a hook. When Drupal wishes to allow intervention from modules, it determines which modules implement a hook and calls that hook in all enabled modules that implement it.
The available hooks to implement are explained here in the Hooks section of the developer documentation. The string "hook" is used as a placeholder for the module name in the hook definitions. For example, if the module file is called example.module, then hook_help() as implemented by that module would be defined as example_help().
december 2010 by michaelfox
Zend Framework: Documentation: Zend_Loader - Zend Framework Manual
december 2010 by michaelfox
Zend_Loader
Table of Contents
Loading Files and Classes Dynamically
The Autoloader
Resource Autoloaders
Loading Plugins
zend
php
loader
plugins
architecture
dependencies
resources
reference
inspiration
project
Table of Contents
Loading Files and Classes Dynamically
The Autoloader
Resource Autoloaders
Loading Plugins
december 2010 by michaelfox
phpplexus - Project Hosting on Google Code
december 2010 by michaelfox
Plexus is a unique plugin API for PHP 5.1.2+ It performs, what I’ve dubbed as “magic wiring” to re-wire any object method call on the fly as a “pluggable” call and automatically creates and calls the plugin hooks. It provides ultimate flexibility, and can assist greatly from the simplest of plugin APIs to complex plugin-driven applications.
To create a Plexus, in the simplest form, appears something like:
$plugins_to_load = array(
'PluginName',
'AnotherPluginName',
);
$plexus = new Plexus(new PluginCollection($plugins_to_load));
To have a Plexus re-wire an object of class “ClassName” method call, you do:
/**
* Re-wire $object->methodName($param1, $param2);
*/
$plexus->doMethodName($object, $param1, $param2);
Basically, when you tell the Plexus to re-wire ClassName::methodName(), it creates Plugin hooks and calls them and the main method as follows (this is not always true and it is more complicated than this, but it is better to express more precise wiring in visual form):
Plugin::beforeClassNameMethodName()
Plugin::aroundClassNameMethodName()
ClassName::methodName()
Plugin::onClassNameMethodName()
Plugin::afterClassNameMethodName()
php
plugins
inspiration
architecture
plexus
To create a Plexus, in the simplest form, appears something like:
$plugins_to_load = array(
'PluginName',
'AnotherPluginName',
);
$plexus = new Plexus(new PluginCollection($plugins_to_load));
To have a Plexus re-wire an object of class “ClassName” method call, you do:
/**
* Re-wire $object->methodName($param1, $param2);
*/
$plexus->doMethodName($object, $param1, $param2);
Basically, when you tell the Plexus to re-wire ClassName::methodName(), it creates Plugin hooks and calls them and the main method as follows (this is not always true and it is more complicated than this, but it is better to express more precise wiring in visual form):
Plugin::beforeClassNameMethodName()
Plugin::aroundClassNameMethodName()
ClassName::methodName()
Plugin::onClassNameMethodName()
Plugin::afterClassNameMethodName()
december 2010 by michaelfox
jam-firefox-ext - Project Hosting on Google Code
november 2010 by michaelfox
Here are the reasons why someone would want to create a minimal firefox extension.
1. When you wish to create a local computer( disk) resident browser based application, interacting with the file system for reading and writing is possible if the application is structured as an extension.
2. Quick prototyping without worrying about XmlHttpRequest cross domain issues. When you run as plain application, user is hassled with a pop-up whenever XmlHttpRequest is attempted.
3. Many a times, installing an extension causes a lot of angst in terms of 'Will this mess up with my other customizations?'. A work in progress extension can be distributed along with a profile so that the user can preview, test it. Without worrying about messing with the default firefox browsing experience.
Here is a code to get you started with a minimal firefox extension bundled along with a user profile. The code comes with startup script(run.sh, run.bat)
Run your regular firefox browsing session and then run the startup script.( To avoid the feeling 'WTF, the stupid extension has messed up with my default firefox settings!?!' )
firefox
extension
boilerplate
template
plugins
addons
xul
mozilla
webdev
tools
1. When you wish to create a local computer( disk) resident browser based application, interacting with the file system for reading and writing is possible if the application is structured as an extension.
2. Quick prototyping without worrying about XmlHttpRequest cross domain issues. When you run as plain application, user is hassled with a pop-up whenever XmlHttpRequest is attempted.
3. Many a times, installing an extension causes a lot of angst in terms of 'Will this mess up with my other customizations?'. A work in progress extension can be distributed along with a profile so that the user can preview, test it. Without worrying about messing with the default firefox browsing experience.
Here is a code to get you started with a minimal firefox extension bundled along with a user profile. The code comes with startup script(run.sh, run.bat)
Run your regular firefox browsing session and then run the startup script.( To avoid the feeling 'WTF, the stupid extension has messed up with my default firefox settings!?!' )
november 2010 by michaelfox
OnMyCommand
november 2010 by michaelfox
OnMyCommand is a UNIX shell script and AppleScript executor. You can build your own Contextual Menu Item or GUI application.
For more information on building command descriptions see Command Description Manual.
Sources are included with Contextual Menu Workshop. Newest sources are available on request.
applescript
mac
osx
software
unix
bash
shell
context
menu
tools
plugins
development
environment
programming
productivity
hacks
For more information on building command descriptions see Command Description Manual.
Sources are included with Contextual Menu Workshop. Newest sources are available on request.
november 2010 by michaelfox
thoughtbot is filled with vim and vigor - GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS
november 2010 by michaelfox
Slowly over the past year thoughtbot has turned from an all-TextMate (and one Emacs) group into a mostly-vim group. Here are some tips, tricks, and scripts we’ve mastered along the way:
vim
development
plugins
reference
tips
tutorial
ack
november 2010 by michaelfox
mijnpraktijk / AugmentedCI / wiki / Home – Bitbucket
october 2010 by michaelfox
his package contains the default CI system directory but with the following changes:
* CI_Router & CI_Loader classes merged with MY_ versions of Modular Seperation
* CI_Exceptions merged with the MY_ version of UhOh!
* CI's default DB replaced by RapidDataMapper (RDM)
* CI_Profiler and CI_Session were modified to work with RDM
* MP_Cache added to the system libraries
* A couple of default changes to the APP/config/config.php (like the base_url and compression on by default)
* A PHP5 autoloader which is loaded by the CI_Router class when available
* Default directories in APP folder for Exception classes, Abstract classes and interfaces (which are supported by the above autoloader)
* max() and min() functions were added to RDM's DB_Query_Select to return maximum and minimum values, work exactly the same as the count() function
* Objects and descriptors from RDM are "subfoldered" by changing underscores to dashes, so the class Page is in "data_model/page.php" and the class Shop_product is in "data_model/shop/product.php".
* AugmentedCI helper for an alternate CI syntax
* The comprehensive UhOh! errors are only shown to IP's added at the top of APP/config/config.php
* Default .htaccess for the main index.php
* Clean Controller and Models namespace (read more)
php
codeigniter
addons
plugins
framework
base
template
boilerplate
extension
* CI_Router & CI_Loader classes merged with MY_ versions of Modular Seperation
* CI_Exceptions merged with the MY_ version of UhOh!
* CI's default DB replaced by RapidDataMapper (RDM)
* CI_Profiler and CI_Session were modified to work with RDM
* MP_Cache added to the system libraries
* A couple of default changes to the APP/config/config.php (like the base_url and compression on by default)
* A PHP5 autoloader which is loaded by the CI_Router class when available
* Default directories in APP folder for Exception classes, Abstract classes and interfaces (which are supported by the above autoloader)
* max() and min() functions were added to RDM's DB_Query_Select to return maximum and minimum values, work exactly the same as the count() function
* Objects and descriptors from RDM are "subfoldered" by changing underscores to dashes, so the class Page is in "data_model/page.php" and the class Shop_product is in "data_model/shop/product.php".
* AugmentedCI helper for an alternate CI syntax
* The comprehensive UhOh! errors are only shown to IP's added at the top of APP/config/config.php
* Default .htaccess for the main index.php
* Clean Controller and Models namespace (read more)
october 2010 by michaelfox
16 jQuery Plugins i used the most | Mahbubur Rahman - jQuery, PHP, JavaScript, Codeigniter, CSS
october 2010 by michaelfox
Interface
jQGrid
Flexigrid
Table Drag And Drop
Tooltip Related
jGrowl
Tooltip
SlideShow
Cycle
Scrollable
Forms
Validation
Masked Input
Modals & Overlays
Boxy
Thickbox
Colorbox
Nyromodal
BlockUI
Navigation
Lavalamp
jScrollPane
Ui Tabs
jquery
plugins
javascript
jQGrid
Flexigrid
Table Drag And Drop
Tooltip Related
jGrowl
Tooltip
SlideShow
Cycle
Scrollable
Forms
Validation
Masked Input
Modals & Overlays
Boxy
Thickbox
Colorbox
Nyromodal
BlockUI
Navigation
Lavalamp
jScrollPane
Ui Tabs
october 2010 by michaelfox
user profile : vim online
october 2010 by michaelfox
speeddating.vim Use CTRL-A/X to increment dates, times, and more
git.zip Git runtime files
cobol.zip COBOL indent plugin: Understands COBOL's awkward use of columns
haml.zip Haml and Sass syntax, indenting, and ftplugin
vbnet.vim Syntax highlighting for VB.NET
abolish.vim Work with several variants of a word at once
rails.vim Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more
unimpaired.vim Pairs of handy bracket mappings
afterimage.vim Edit PNG and GIF icons by converting them to XPM
pastie.vim Interface with pastie.org; read and create pastes
surround.vim Delete/change/add parentheses/quotes/XML-tags/much more with ease
capslock.vim Software Caps Lock
vividchalk.vim A colorscheme strangely reminiscent of Vibrant Ink for a certain OS X editor
ragtag.vim A set of mappings for HTML, XML, PHP, ASP, eRuby, JSP, and more (formerly allml)
repeat.vim Use the repeat command (.) with supported plugins
railstab.vim Retabbing hacks extracted from rails.vim
pathogen.vim Easy manipulation of 'runtimepath', 'path', 'tags', etc
endwise.vim Wisely add "end" in ruby, endfunction/endif/more in vim script, etc
cucumber.zip Cucumber runtime files
fugitive.vim A Git wrapper so awesome, it should be illegal
vim
plugins
git.zip Git runtime files
cobol.zip COBOL indent plugin: Understands COBOL's awkward use of columns
haml.zip Haml and Sass syntax, indenting, and ftplugin
vbnet.vim Syntax highlighting for VB.NET
abolish.vim Work with several variants of a word at once
rails.vim Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more
unimpaired.vim Pairs of handy bracket mappings
afterimage.vim Edit PNG and GIF icons by converting them to XPM
pastie.vim Interface with pastie.org; read and create pastes
surround.vim Delete/change/add parentheses/quotes/XML-tags/much more with ease
capslock.vim Software Caps Lock
vividchalk.vim A colorscheme strangely reminiscent of Vibrant Ink for a certain OS X editor
ragtag.vim A set of mappings for HTML, XML, PHP, ASP, eRuby, JSP, and more (formerly allml)
repeat.vim Use the repeat command (.) with supported plugins
railstab.vim Retabbing hacks extracted from rails.vim
pathogen.vim Easy manipulation of 'runtimepath', 'path', 'tags', etc
endwise.vim Wisely add "end" in ruby, endfunction/endif/more in vim script, etc
cucumber.zip Cucumber runtime files
fugitive.vim A Git wrapper so awesome, it should be illegal
october 2010 by michaelfox
jQuery plugin detector – James Padolsey
september 2010 by michaelfox
javascript:(function(){var%20s%20=%20document.createElement('script');s.type%20=%20'text/javascript';%20s.src%20=%20'http://qd9.co.uk/projects/javascript/pluginBookmarklet.jquery.js';document.getElementsByTagName('head')[0].appendChild(s);})();
javascript
jquery
plugins
tools
plugin
detector
firefox
bookmarklets
september 2010 by michaelfox
related tags
accordion ⊕ ack ⊕ addons ⊕ ajax ⊕ animation ⊕ app ⊕ applescript ⊕ apps ⊕ architecture ⊕ autocomplete ⊕ automation ⊕ backup ⊕ base ⊕ bash ⊕ bestpractices ⊕ blog ⊕ boilerplate ⊕ bookmarklet ⊕ bookmarklets ⊕ bookmarks ⊕ bootstrap ⊕ browser ⊕ bundle ⊕ bundles ⊕ buttons ⊕ by:dougneiner ⊕ cache ⊕ calibre ⊕ carousel ⊕ chrome ⊕ chrome.extension ⊕ chrome.tabs ⊕ chromium ⊕ cli ⊕ cocoa ⊕ code ⊕ codeigniter ⊕ codequality ⊕ collection ⊕ columns ⊕ config ⊕ console ⊕ contentslider ⊕ context ⊕ control ⊕ controls ⊕ cron ⊕ css ⊕ css3 ⊕ custom ⊕ customization ⊕ data ⊕ datagrid ⊕ datepicker ⊕ debug ⊕ debugging ⊕ delay ⊕ dependencies ⊕ design ⊕ detector ⊕ developer ⊕ development ⊕ dialog ⊕ dictionary ⊕ directory ⊕ dns ⊕ documentation ⊕ dotfiles ⊕ dotjs ⊕ download ⊕ drupal ⊕ ebooks ⊕ editor ⊕ ee ⊕ effect ⊕ effects ⊕ emacs ⊕ environment ⊕ example ⊕ examples ⊕ expressionengine ⊕ extension ⊕ extensions ⊕ external ⊕ facebook ⊕ feverphp ⊕ filters ⊕ firebug ⊕ firefox ⊕ firephp ⊕ forms ⊕ forum ⊕ forums ⊕ framework ⊕ fuzzyfinder ⊕ gallery ⊕ gem ⊕ gems ⊕ getScript ⊕ git ⊕ github ⊕ github-gist ⊕ github-repo ⊕ github-user ⊕ github-user:spf13 ⊕ gleebox ⊕ graphics ⊕ greasemonkey ⊕ grid ⊕ hacks ⊕ hmvc ⊕ hooks ⊕ howto ⊕ html ⊕ html5 ⊕ ibooks ⊕ icons ⊕ ide ⊕ images ⊕ infrastructure ⊕ input ⊕ inspiration ⊕ install ⊕ instapaper ⊕ interface ⊕ ios ⊕ ipad ⊕ iphone ⊕ javascript ⊕ jquery ⊕ jqueryui ⊕ jshint ⊕ jslint ⊕ keybindings ⊕ keyboard ⊕ label ⊕ layout ⊕ lazy ⊕ lazyload ⊕ length ⊕ libraries ⊕ library ⊕ lightbox ⊕ limit ⊕ list ⊕ lists ⊕ loader ⊕ logging ⊕ mac ⊕ macros ⊕ manager ⊕ markdown ⊕ marked ⊕ memory ⊕ menu ⊕ message ⊕ minimialist ⊕ modules ⊕ movie ⊕ mozilla ⊕ mvc ⊕ mysql ⊕ network ⊕ notification ⊕ organization ⊕ osx ⊕ packages ⊕ patterns ⊕ pentadactyl ⊕ performance ⊕ php ⊕ pixelmator ⊕ placeholder ⊕ plexus ⊕ plugin ⊕ plugins ⊖ popeye ⊕ productivity ⊕ profile ⊕ programming ⊕ project ⊕ python ⊕ quartz ⊕ quicklook ⊕ rails ⊕ reference ⊕ repo ⊕ repository ⊕ resources ⊕ resourece ⊕ ribbon ⊕ ruby ⊕ scraper ⊕ scripting ⊕ scripts ⊕ search ⊕ security ⊕ seo ⊕ settimeout ⊕ shell ⊕ shortcuts ⊕ site ⊕ sitemap ⊕ slider ⊕ slideshow ⊕ snippets ⊕ social ⊕ socialnetworking ⊕ software ⊕ spam ⊕ state ⊕ stateful ⊕ storage ⊕ string ⊕ structure ⊕ styles ⊕ stylesheet ⊕ stylish ⊕ sublime ⊕ sublimetext ⊕ suggest ⊕ syntax ⊕ table ⊕ tables ⊕ tags ⊕ technique ⊕ techniques ⊕ template ⊕ templates ⊕ text ⊕ textarea ⊕ textmate ⊕ theme ⊕ themes ⊕ tinymce ⊕ tips ⊕ toolbar ⊕ toolbars ⊕ toolbox ⊕ tools ⊕ transition ⊕ troubleshooting ⊕ tutorial ⊕ tutorials ⊕ tweaks ⊕ ui ⊕ uniform ⊕ unix ⊕ usability ⊕ user:cowboy ⊕ userchrome ⊕ usercontent ⊕ userscripts ⊕ userstyles ⊕ utilities ⊕ utility ⊕ ux ⊕ validation ⊕ vertical ⊕ video ⊕ videos ⊕ vim ⊕ vimperator ⊕ web ⊕ webdesign ⊕ webdev ⊕ widget ⊕ widgetfactory ⊕ widgets ⊕ wordpress ⊕ writing ⊕ wysiwyg ⊕ xcode ⊕ xml ⊕ xul ⊕ zend ⊕ zoom ⊕ zsh ⊕Copy this bookmark: