This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

User login

This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

Setting up a new GNU/Linux computer (Debian/Ubuntu flavor) for Drupal work, Agaric style

Create an SSH key

ssh-keygen

Send a copy of the public key to an agaric with access to the test server to add it there. Read more about setting up public keys and agent forwarding.

Get Drush

Follow composer instructions on https://github.com/drush-ops/drush (preferred over apt-get or PEAR.)

You cannot reassign an object in a function and expect the outside object to change

Stefan found a bug introduced in a contributed module when the authors took a passed-in object and, instead of only updating its properties as before, tried to change it by assigning a whole new object to the variable name.

This does not work:

Make your menus understand people's angle of intent

I read years ago how Apple at the time had a much more intuitive interface because of things like interpreting anything in the direction of a submenu as headed there, rather than immediately moving focus to whatever happened to be under one's cursor (and also how putting menus at the very edge of the screen gave them infinite depth). Always was on the lookout for people applying this to the web as best practice and finally here's an article and a JQuery plugin:

JavaScript to open external sites (not on domain or subdomain) in new target

It's bad Web practice to open any links in a separate window, but it does help when going for an HTML mobile app and it's becoming accepted expected behavior for anything with a stream.

So here's the JavaScript:

Translation for a Modern Web Application: Gettext

"The domain setting is which group inside of locale_data that the keys will be looked up in."

seems one can switch the domain application wide (so we would have Gyms, Skiing, Hotels as domains) but i'm not 100% sure about that. But it's not very recommended-- see http://stackoverflow.com/questions/9668471/use-multiple-domains-in-gettext-in-a-php-application

Overriding a string the second-simplest way in Drupal 7

Here's the situation: You don't need administrator-customizable strings like the String Overrides modules provide, but you'd like the changes in a more share-able (or consistently version controlled) place than settings.php, which details an easy $conf way of doing string overrides.

Well, here's how to do it with a variable set function that can go in a module's install or update hook:

Adding Git projects to the KGB bot

Stefan set up the kgb-bot to post in the Agaric IRC channel when anyone pushes a commit to one of our repositories. These repositories are hosted on our server, and each one needs to have a very simple bit of configuration added to it and to the KGB server configuration when we add one.

Here's the easiest way for me to do that. For information about getting started with KGB in the first place, see http://www.donarmstrong.com/posts/switching_to_kgb/

Functional tests with the CFWheels testing framework

We're doing some functions tests for cfwheels even though the main docs - http://code.google.com/p/cfwheels/wiki/TestingFramework - have only controller, model, view. Trying to test our showUserText() function alone failed because it was telling me it doesn't know anything about other functions it calls that are in fact core to CFWheels (stripTags, in this case).

App.net Core Values

App.net is a for-pay social network, https://join.app.net/

Their core values are pretty great:

1. We are selling our product, NOT our users.

We will never sell your personal data, content, feed, interests, clicks, or anything else to advertisers. We promise.

2. You own your content.

App.net members always have full control of their data and the fundamental right to easily back-up, export, and delete ALL of their data, whenever they want.

Capture all sent mail locally with Postfix

For development, you don't want any e-mail sent to the outside world, but you do want to be able to see all mail your sites or application try to send. Here is a configuration of Postfix to do that.

The trick is to BCC everything to a local user, and discard without error any other sending.

This is based on several guides and Q&As online but well, none of them worked for me, so here's exactly what i did (minus all the missteps).