07.25.2011
Welcome to Firefox 5.0.1
It All Ends Here!
01.25.2011
jrunscript on OS X
I just found this handy utility.
$ man jrunscript
I’m using it to deobfuscate some JavaScript.
01.13.2011
Prevent man, nano from Clearing Screen on Exit in Terminal.app
$ mkdir ~/.terminfo $ infocmp > ~/.terminfo/xterm-color-noclear.terminfo $ nano ~/.terminfo/xterm-color-noclear.terminfo # 1. Change 'xterm-color' on second line to 'xterm-color-noclear' # 2. Remove 'smcup' and 'rmcup' $ tic ~/.terminfo/xterm-color-noclear.terminfo $ export TERM=xterm-color-noclear # Add export line to .profile
More info at: Synologic’s Stop gnome-terminal screen clear, Fix Log’s Stop gnome-terminal screen clear, and The Shallow Sky’s Exorcising the Evil Alternate Screen.
Update
I had to turn this off since it was affecting ssh terminals. Will revisit.
$ nano Error opening terminal: xterm-color-noclear.
07.17.2010
Remap Exposé to the Option Key
- Map Option_R to Enter.
- Map Enter (key 76) to Exposé.
04.11.2010
Newtons are Fruit and Cake
Or at least they were.
From what I can tell from 13 seconds of research, Newtons started out life as chewy cookies (advertised by a creepy giant dancing fig), then became fruit and cake (advertised by british accented families), and are now back to being “just cookies”.
Fruit and Cake 4LIFE!
03.03.2010
How much is that WordPress App in the Window?
It’s free!
I saw this in the Pasadena, CA Apple Store back in January. That’s how fast I am at blogging.
Get the WordPress iPhone App.
02.07.2010
An Open Letter to Web Developers on Percent-Encoding
Dear web developers,
Please understand the difference between the encoding called for in application/x-www-form-urlencoded
encoded data [1] and the encoding called for in URIs (and how that encoding applies to URIs in the http/https scheme).
In particular, note the difference in how spaces are treated. The former encodes them as +
, the later as %20
.
Understand also how your web server processes different pieces of URLs. Pay particular attention to your web server’s treatment of plus signs. PHP, for example, interprets “$_GET
” data (the data drawn from the query component of the URI) as though it were application/x-www-form-urlencoded
and converts those plus signs to spaces [2].
Now that you know that the different encoding methods encode spaces differently and that the different decoding methods decode pluses differently, make sure you’re being consistent.
Because when I type into your website my email address with its plus sign in it, I expect things to work.
Love,
mdawaffe
[1] More details in HTML5‘s definition of the application/x-www-form-urlencoded
encoding algorithm. ↑
[2] See the difference between urlencode()
/urldecode()
and rawurlencode()
/rawurldecode()
. parse_str()
uses urldecode()
.
Decoding the query component of the URI according to application/x-www-form-urlencoded
is the logical thing to do, since the web server can’t tell the difference between a GET request generated by a form and one that isn’t (since user agents are not supposed to set a “Content-Type: application/x-www-form-urlencoded
” header when submitting a form over http/https via the GET method), but I can’t tell if converting pluses in the query part of the URI into spaces is required; I can’t find anything in the definition of the http URI scheme that says that plus signs are “delimiters” in the query component of the URI. So I believe it to be an implementation-specific choice and therefore up for grabs depending on how you power your web server (PHP, ruby, .NET, etc.). ↑
01.22.2010
PHP 5 + Apache 2 + MySQL 5 on OS X via MacPorts
# Displays all files in Finder. Optional: personal preference. $ defaults write com.apple.Finder AppleShowAllFiles YES # Relaunch Finder # Update MacPorts $ sudo port selfupdate $ sudo port -u upgrade outdated # Install MySQL $ sudo port install mysql5-server $ sudo port load mysql5-server $ sudo -u _mysql mysql_install_db5 $ sudo mysqld_safe5 & $ sudo /opt/local/lib/mysql5/bin/mysql_secure_installation # Install Apache, PHP (with PEAR), PHP MySQL bindings $ sudo port install apache2 $ sudo port install php5 +apache2 +pear $ sudo port install php5-mysql # Configure Apache # The following line may not be necessary ? sudo cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf $ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so $ sudo nano /opt/local/apache2/conf/httpd.conf # Set DirectoryIndex to: # DirectoryIndex index.html index.php # # Change DocumentRoot to whatever (e.g. /Users/michael/Sites # # Change <directory "{old DocumentRoot}"> to <directory "{new DocumentRoot}"> # # In that <directory "{new DocumentRoot}"> section change to the following. # Options Indexes FollowSymLinks MultiViews # AllowOverride All # # In <ifmodule mime_module> section, add the following two lines # AddType application/x-httpd-php .php # AddType application/x-httpd-php-source .phps # $ sudo port load apache2 # Configure PHP $ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini $ sudo nano /opt/local/etc/php5/php.ini # set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to # /opt/local/var/run/mysql5/mysqld.sock # Start Apache # Make sure System Preferences → Sharing → Web Sharing is turned off. $ sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start # You may get a window asking if httpd can accept incoming requests. Approve it. # Add DB and tables to MySQL for easy WordPress install $ mysql5 -u root -p > CREATE DATABASE database_name_here; > GRANT ALL PRIVILEGES ON database_name_here.* TO "username_here"@"localhost" IDENTIFIED BY "password_here"; > FLUSH PRIVILEGES; > EXIT # Install and Configure phpMyAdmin (will need to restart Apache when done) $ sudo port install phpmyadmin $ sudo nano /opt/local/apache2/conf/httpd.conf # Add section # <Directory "/opt/local/www/phpmyadmin/"> # Options Indexes MultiViews # AllowOverride None # Order allow,deny # Allow from all # </Directory> # # In <IfModule alias_module> section add the following # Alias /phpMyAdmin "/opt/local/www/phpmyadmin" $ sudo nano /opt/local/www/phpmyadmin/config.inc.php # See www.phpmyadmin.net/documentation/Documentation.html#config # Fill in$cfg['blowfish_secret']
# Set$cfg['Servers'][$i]['auth_type'] = 'config';
# Add$cfg['Servers'][$i]['user'] = 'root';
# Add$cfg['Servers'][$i]['password'] = '{root password}';
$ sudo /opt/local/apache2/bin/apachectl {start|restart|graceful|graceful-stop|stop} $ sudo /opt/local/share/mysql5/mysql/mysql.server {start|stop|restart|reload|force-reload|status}
12.20.2009
Hairectomy via SVN: Day 4
Day 4: The Gorget Décapitée
2009-12-07T15:11$ for i in `svn pl -R * | grep "hair:scalp"`; do sed -i '' 9,\$d $i; done
2009-12-07T15:11$ svn ci -m "Day 4: The Gorget Décapitée"
Sending Scalp
Transmitting file data .......
Committed revision 5.
2009-12-07T15:12$ ls -h
11.30.2009
Hairectomy via SVN: Day 3
Day 3: The Gorget
2009-11-30T17:05$ for i in `svn pl -R * | grep "hair:facial"`; do svn del $i; doneD Goatee
D Sideburns Rampant
2009-11-30T17:05$ svn ci -m "Day 3: The Gorget"Deleting Goatee Deleting Sideburns Rampant Transmitting file data . Committed revision 4.
2009-11-30T17:06$ ls -h
© mdawaffe (Michael D Adams) - Powered by WordPress - Full Credits