07.25.2011
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
04.11.2010
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.
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 http://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
11.30.2009
![](/web/20170630060831im_/https://blogwaffe.com/wordpress/wp-content/themes/waffe/images/pixel.gif)
© mdawaffe (Michael D Adams) - Powered by WordPress - Full Credits