vim, git, aws and other three-letter words

Software Development Notes

Archive

CloudWatch Logs: how to log data from multiple instances to a single stream
How to send logs from all Elastic Beanstalk instances to one CloudWatch Logs stream and keep the instance id in each record.
Amazon DynamoDB: how to add a global secondary index
How to add a global secondary index to an existing DynamoDB table by copying the data to a new table with EMR and Hive.
Amazon DynamoDB, EMR and Hive notes
How to analyze DynamoDB data with Hive on Amazon EMR: Hue access, export to Hive tables or S3, and date conversions.
AWS OpsWorks: set up MongoDB EBS volume backups
How to set up automated MongoDB EBS volume snapshots on OpsWorks with a Chef recipe, cron and aws-snapshot-tool.
AWS OpsWorks: deployment from the command line
A Python script with boto and a shell script with the AWS CLI to deploy an OpsWorks application from the command line.
Amazon OpsWorks: node.js app with MongoDB setup
How to set up a node.js application with a single-node MongoDB server on Amazon OpsWorks with custom Chef recipes.
Amazon NoSQL solutions: DynamoDB and SimpleDB
A review of Amazon DynamoDB and SimpleDB as storage for event data: features, limitations, and cost.
Angular.js: POST data to PHP
How to read Angular.js POST requests in PHP, on the server side or by sending form-encoded data from the client.
PHP: UTF-8 strings handling
How to handle UTF-8 strings in PHP with mbstring function overloading and the default internal encoding.
Want Scalable Application Architecture? Check AngularJS.
The Scalable JavaScript Application Architecture by Nicholas Zakas, frameworks built on it, and why AngularJS is close to it.
MySQL: speed up unit tests by moving data to memory (Ubuntu)
How to speed up slow unit tests on Ubuntu by moving the MySQL data directory to /dev/shm, with scripts to move it back.
PHP: friend a class via extend
How to emulate C++ friend classes in PHP by inheriting one class from another, with a State pattern example.
Google Chrome: window managers
A list of Chrome extensions to manage tabs and windows and to split the screen.
Yii: GImport extension
The GImport Yii extension: recursive import of directories with caching.
phpMyAdmin and eAccelerator problem
How to fix the empty response error in phpMyAdmin by disabling eAccelerator in .htaccess.
Yii and jquery.localtime.js: display dates in user local timezone
How to keep UTC dates on the server with Yii and show them in the user's local timezone with the jquery.localtime plugin.
jQuery: global ajax response handler and jquery.localtime plugin
How to convert dates to local time in all ajax responses with a jQuery ajax prefilter and the jquery.localtime plugin.
InnoDB: transactions, locks and deadlocks notes
Notes on InnoDB transaction isolation levels, lock modes, and the locks that SQL statements set, with deadlock examples.
Yii: URL rules with optional parameters
How to describe Yii URL rules with optional parameters in a single route.
Express.js and EJS: reuse template on server and client
Two ways to use the same EJS template for rendering on the Express.js server and in the browser.
Selenium: problem with big file upload
Fixing Selenium when uploading files larger than about 600KB with old Firefox.
Selenium WebDriver: get WebElement by jQuery selector
How to find a WebElement in Selenium WebDriver with a jQuery selector, like :visible, that CSS selectors do not support.
Selenium WebDriver: trigger event on element via jQuery
How to trigger a jQuery event on an element from Selenium WebDriver with executeScript.
Selenium WebDriver: set PHP session cookie
How to set the PHP session cookie with domain and path in Selenium WebDriver using JavaScript.
Android: mobile network problem after BusyBox update
Fixing mobile network on a rooted LG P500 after the BusyBox update, by restoring the original ip binary.
Yii: catch and log MySQL deadlock errors
How to log the InnoDB monitor output in Yii when a MySQL deadlock error occurs.
Selenium: run tests on a virtual display
How to run Selenium tests on a headless machine with the Xvfb virtual display, and watch them with VNC.
Selenium: problem with loading x_ignore_nofocus.so
How to fix Selenium failing to start Firefox on 64-bit Linux, when it loads the 32-bit libX11 library.
Selenium: Python Firefox webdriver, unsafe setters in firefox_profile.py
Why the Python Firefox webdriver fails with "Can't load the profile" after setting boolean profile flags, and how to fix it.
Yii: class table inheritance
Class table inheritance in Yii: MySQL views compared to single table inheritance with extended data in separate tables.
jQuery - check minimal required version
How to make sure that right jQuery version is available.