balanced scale

Performance At Scale
Encrypt Yourself
Want to encrypt your text messaging?
Use the Signal app . Android : https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms iOS : https://itunes.apple.com/us/app/signal-private-mesMake Backbone Off-line first
Practicing Personal Security Part 1 : Browsing
Git Submodules on Heroku, A workaround
Bad Work Culture
Identifying A Great Programmer
Concerning Software Development
Redesign Part 3 : Generating Markdown from XML
This post belongs to a series of posts walking through the rewrite of the site.
And We're Back
Balancedscale.com got some love with a complete rewrite. The site moved from a Drupal 6 platform
Image Security Made Simple With jQuery
Redesign Part 2 : Setting Up Express and Poet
This post belongs to a series of posts walking through the rewrite of the site.
Redesign Part 1 : Blogging with Node
This post belongs to a series of posts walking through the rewrite of the site.
Introduction to Backbone.js
DrupalCorn 2012
Here are my slides from DrupalCorn
SAML on Node.js
One of the requirements for my current project is SAML auth via onelogin.com on node.js. After some research, I found that there is little if any SAML projects out there. I didn't find any although there are se
Reference the Mongoose Database Connection
Mongoose is an ODM for Node.js that connects to MongoDb. I've found Mongoose to be really useful in handling Models and REST. However, I ran into the need to connect directly to MongoDb rather that working through the Models. Here's the code to reference Mongooses Db so you don't have to connect twice.
Backbone.js Resources
The Backbone.js wagon is a pretty sweet wagon to be on right now. If you're just jumping in there is a learning curve and not much for documentation. Here are some compiled resources I've found to be helpful.
Generate Word Documents With PHP
It turns out you have to do a lot of digging online to find some quality solutions for generating Microsoft Word documents in PHP. Both of these products have their quirks, but its usually all in how you setup your template.
Delete CCK Inactive Fields
Inactive fields occur when active fields controlled by a feature are deleted from the feature and the feature is reverted on a database where the fields deleted are currently active. Here's how to delete them.
Delete Nodes From A Certain Date in Drupal
I wrote this snippet to clear out some nodes that I had imported that ended up being duplicates. I thought I would share.
Automated Node Titles Without Auto Node Title
I am a features user and if you are too then you will share my frustration when you find aspects of other modules that are not exportable, i.e. not capable of being packaged in your feature. Such is the case with the Auto Node Title module. However, this is to be expected right? Ctools module provides the api for making things exportable and we should know not every developer will go ahead and implement this in their module. So back to our discovery of the non-exportable. When we get to this point there are several options. One being "don't use the module" and another being "write an exportable". Now auto node title is a common enough module that it might benefit from writing an exportable, but in my opinion that is code bloat where it is not needed. You can accomplish the same thing as auto node title with two Drupal hooks which you can include in the .module file of your feature. Problem solved.
Drupal Camp Iowa Ajax Example
Drupal Form Alter on a Node Reference Widget
My latest battle with Drupal was overriding a select box that was a node reference. Intuitively I tried to simply update $form['#options'] with my array of custom data. No deal. After experimenting with about five ways to implement #after_build on both the form and the field, I realized that the type of a widget is something like 'nodereference_select' instead of just select. Switching the type back to 'select' allowed me to make the change. Wow. Lost a day to that one.
Programmatically Creating Users in Drupal with Profile Fields
I learned from this comment on the api that user_save() will not save data to your profile_values table unless your profile field has the "Visible in user registration form" checkbox checked. Save yourself some pain.
Features and inactive fields in Drupal 6
Problem:
Launched keithfostergolfarchitect.com
Our first Drupal 7 site, http://keithfostergolfarchitect.com, was launched making another satisfied client. We are very pleased to have the privilege of working with Keith. Also, thanks to Chris at http://www.onawiredesign.com/ for a beautiful design.
We're In The Cloud
We are beginning to leverage VPS or Cloud servers to build more custom solutions for our clients. Thanks to services like Amazon EC2 and others, virtualization is a reality for most new companies. The flexibility of owning your own server with the service backend of a shared host. Cloud servers are not only flexible, but scalable. Increasing resources to your server happens at the click of a button.
Introducing AJAX Get API
I've been itching to contribute back to the Drupal community for some time now. Recently, I committed two sandbox projects, one of which is the AJAX Get API module. The idea is to create a simple way to request Drupal objects like Nodes, Forms, Views, and Users via AJAX and return HTML or JSON formats. I haven't been able to find a tool like this so I developed it with some help of my coworkers. We've incorporated this module into our latest project, which boasts a pretty slick application-like AJAX interface. We get forms, submit data, and refresh views thanks to this module and the exist Ajax module, which we use for submiting the data via ajax. Here's an example.
Installing Cyanogenmod 7 on HTC Aria
This guide is based on HTC Aria, but there are links to help you with other phones.
Workaround For Max Join Limit Using Drupal Views Module
If you have a web host or are working with a web host that severely limits the number of joins you can do in mysql, have not fear, there is a work around. Include the following code before your mysql query is executed.
Scrape Email Bookmarklet
Here is a simple bookmarklet to collect the email addresses on a web page. Enjoy!
The Future of HTML5 Video?
In talking through video options with a client I came up with four possible options for the future of video on the web. I thought I would share.
Remote Drush
I finally sat down to understand a recent post by lullabot on Drush 3 remote capabilities. Its taken me a couple of hours to set up, but this will save me hours in drupal updates. Thank you drush project!
Update CCK Fields In Custom Drupal Nodes
This Post Has Been Updated From The Original : See Bottom
Simple Apache / MySql Backup Script
Here is a simple script for backing up your local server settings and databases. Replace "/media/storage/_backup" with your destination directory.
Environment Based Database Selection In Drupal
I needed to find a way to have only one settings.php file maintain my database configurations across both my local development and environment and my production server. Here is my solution. Is there a better way?
Comparing Syntax of MooTools 1.1 with MooTools 1.2 and jQuery 1.4
This is not a comprehensive comparison, but is a comparison of the functions that I used the most. Readers should note that while syntax appears similar, the philosophies of MooTools and jQuery are very different resulting in a fundamental differences in their implementation. This data is intended for those that are analyzing cost in switching frameworks and is not intended for someone trying to determine which framework to use.
Security Updates for 2010
Another round of security updates were sucessfull as of February 8th, 2010. All hosted sites are up to date.
Contribution to Sandy's Ankeny
We recently had the opportunity to contribute a Wordpress theme to Sandy's Ankeny thanks to Slash Web Studios. Sandy's Ankeny is a new blog maintained by, well, Sandy, who has previously worked at the Register and the Ankeny Press Citizen. Congratulations to Sandy on the new project!
Access localhost from a VirtualBox Guest OS on Ubuntu
I recently installed Windows 7 via VirtualBox for some cross browser testing. While in development I needed to map localhost from the Windows 7 Guest OS to my Apache server in Ubuntu. Some quick searching around turned up the following ip address. All I had to do was update the current localhost line in my Windows 7 hosts file.
An Ubuntu Upgrade Guide
I've found the cleanest way to upgrade Ubuntu is to do a fresh install. Here is a list of steps that I take to upgrade.
Links for New Ubuntu Users
I have a friend who recently informed me of their venture into the world of Linux. I started to build up a good set of links and thought I would share. Here you go.
Installing Tomcat + BlazeDs on Ubuntu
1. Install tomcat6 via synaptic.
Eclipse Galileo + Aptana + PDT + Flex Builder + Bazaar
My development environment varies based on the project that I'm working with. For my latest project I'm creating a Flex media player and though I started using Gedit, I've moved to Eclipse + Flex Builder so as to take advantage of Flex's Builders code completion feature. Other features that I needed for this project were support for FTP, Bazaar, PHP, and JQuery. Here are the steps I took to build the IDE for this project.
Loftus Heating and AC Redesign
The newly redesigned Loftus Heating and AC website is now up and running. This site was redone from the ground up from their initial static html site. They now have a database driven website complete with the integration of the Lennox Product API! It is my hope that they and their customers find it to be an improvement.
Quicker SSH sessions with Console and Gnome Do
Setup A Local Drupal Site Programatically
I've been keeping documentation on my development life cycle processes. Just recently, I realized that I could do away with a lot of these little tasks with shell scripts. Here's a look at one of my "to-do lists" for setting up a Drupal site on my local Apache server.
Practical Usage of Symbolic Links
Symbolic links work kind of like shortcuts in Windows. I have found a couple of very useful scenarios. The first is my local development environment. For Linux users, it is best practice to keep all your files in your user folder. For me, this is mainly to keep my system directories clean and to make backup of my files easier. This leads me to my first usage:
DrupalCon DC Session Videos
Greetings. I just stumbled upon a great resource from the Drupal Twitter feed. The videos for each session of DrupalCon DC are posted on the DrupalCon DC website. Check em' out!
How to Fix Poor Skype Audio Quality in Linux
For those of you that use Skype for business or personal use, I finally fixed
Installing FirePHP For Drupal
I just found this and thought I'd pass it along. Firebug is an extension for the Firefox browser which provides a rich interface for JavaScript debugging among other features. FirePHP is an extension that allows use to leverage Firebug rich interface for PHP debugging. To install FirePHP for Drupal follow the instructions provided by FirePHP HQ.
Shotgun Congress Relaunch
Announcing the redesign and relaunch of Shotgun Congress.com. The site has had a number of features added to it. Hopefully, you will find it more community oriented, user friendly, and pleasing to the eye.
Essential Drupal Modules
In the my experience of Drupal I've found a set of contributed modules that I keep coming back to. The features that they provide are, for the most part, useful on any site. Those modules include the following.
Installing Flex Builder on Ubuntu 8.10 Intrepid Ibex
Unfortunately, this was not straight forward task for me, which may be due to my lack of skills. So, in order to ease someone else's pain, I'm posting my method of installing flex builder on Ubuntu 8.10.
Learning Flex With Linux
If you haven't heard, Adobe recently published the Flex in a Week video series. The bummer for us Linux users is that to watch the videos you need to install AMP, which is not compatible. However, today I found that you can watch the videos if you import the video series xml feed into Miro.
Security Updates
All sites were down today for regular maintenance as well as expansion. Balanced Scale Media is not only more secure, but has greater capacity to meet its recent growth.
Announcing the launch of shotguncongress.com!
The official launch of the writer's blog "Shotgun Congress" happened today. This site will be a source for fiction writing and thoughts on the writing process courtesy of site owner Mark Bosworth. Check it out @ www.shotguncongress.com.
Portfolio Added
I just added a new portfolio page to showcase some of our work. Feel free to browse through it. I would like to add some code and functionality samples in the future.
New Projects
Things have been picking up here. We just launched www.handymarv.com! This a site for Marv's Handyman Service out of Woodbine, Iowa. Thanks goes out to LaBresh Media for the contract design work. The latest project is for a company named Kingdom Builders. We are looking to have a homepage up for them this week. I'll be adding a portfolio section to the site soon to showcase our work.
Site Launch
Welcome to balanced scale.com! This is the official site launch. We are a company specializing in hosting and developing PHP websites with content management. We can also provide maintenence to your currently existing sites. Contact us for more information.