Skip to main content

Blog

Sometimes we need a Drupal installation for a quick test of a module, theme, or feature that we are working on. You can have a LAMP stack installed locally or, as we do at Agaric, use virtual machines. In both cases, it can take a considerable amount of time to make the required configuration to install Drupal. It is possible to avoid all that by leveraging Drupal’s support for SQLite and using PHP’s built in web server. Let me show you how to easily create a disposable installation with a few drush commands.

During BADCamp 2015 sprints, some developers and myself joined Jesús Manuel Olivas to work on Drupal Console. It is an amazing project that allows you to speed up your Drupal 8 development by generating scaffolding code. Some Console commands require a Drupal installation to work. I wanted to contribute to the project so I used drush to download and install Drupal in seconds. For instructions on installing drush, check this great article by Karen Stevenson.

1. Download Drupal

drush pm-download --drupal-project-rename=drupal drupal-8.0.x

This will download the latest development version of Drupal 8.0 and place it in the directory specified by the --drupal-project-rename parameter. In our case, the directory name will be called drupal. If you omit this parameter, the files will be downloaded to a directory with the Drupal version number in it.

2. Change directory and install Drupal

cd drupal
drush site-install standard --db-url=sqlite:///tmp/test.db

Once we have downloaded the code, we change directories to the Drupal root and issue the installation command. standard is the installation profile to be used. The --db-url parameter allows us to specify the database to connect to. Usually this would include the credentials for MySQL or your favorite database server. In our case, we are going to use SQLite which is a self-contained database engine. To use it, we only need to precede with sqlite:// a file path on our system where the database will be created. In this example, that path is /tmp/test.db

3. Start PHP’s built in server

drush runserver

Starting in version 5.4.0, PHP includes a lightweight web server. The previous command will start the server listening by default on 127.0.0.1:8888. Paste that in your browser’s address and enjoy a fully working Drupal installation in front of you. If you got a different IP address or port number use that instead. The server will keep listening and even output logs as you interact with the site. When you are done testing, press Ctrl + C to stop the web server.

4. Clean up

rm /tmp/test.db
cd ..
rm -rf drupal

Finally, do some clean up. Delete the database file. If you set up the database in /tmp you might not need to manually delete it. You should also remove the Drupal directory. Everything will be gone in a snap.

The complete recipe is:

# Download Drupal
drush pm-download --drupal-project-rename=drupal drupal-8.0.x

# Change directory and install Drupal
cd drupal
drush site-install standard --db-url=sqlite:///tmp/test.db

# Start PHP’s built in server. Press Ctrl + C to stop the web server.
drush runserver

# Clean up.
rm /tmp/test.db
cd ..
rm -rf drupal

A shortcut

drush core-quick-drupal --core=drupal-8.0.x --profile=standard drupal

The previous drush command will download Drupal, install it using SQLite, start PHP's built in server, and even open a browser windows with user 1 already logged in. The command exposes lots of parameter to configure the Drupal installation. In our example, we are downloading version 8.0.x, place it in a directory called drupal, and use the standard installation profile. All the other parameters would use the defaults. For a list of available parameters and arguments issue the following command in the terminal drush help core-quick-drupal.

My motivation for following this approach was that I needed to write and test code when sprinting on Drupal Console. If you do not need to modify code, Patrick Drotleff has built an amazing website that allows you to create temporary Drupal installations with support for modules, themes, distributions, patches, and more. To use it, visit https://simplytest.me

Drupal Console not only generates scaffolding code. It also lets you interact with your Drupal installation in similar ways to Drush. For example, it lets you download and install Drupal using a MySQL database. Notwithstanding, it is not possible at the moment to install Drupal using SQLite or start the PHP’s built in server. Jesús Manuel Olivas, one of the project maintainers, said that these options would be available in future versions of Drupal Console.

What do you think about this method for creating disposable Drupal installations? Do you follow a different approach? Let me know in the comments.

¿Qué es el Software Libre?

Un programa es software libre si los usuarios del programa tienen las cuatro libertades esenciales:

0. La libertad de ejecutar el programa y utilizarlo para cualquier propósito (libertad 0).

1. La libertad para acceder y estudiar cómo funciona un programa y cambiarlo, adaptándolo a suspropias necesidades (libertad 1).

2. La libertad de redistribuir copias para que pueda ayudar a otros usuarios (libertad 2).

3. La libertad de hacer cambios y distribuir las versiones modificadas a otros (libertad 3).

El acceso al código fuente es una condición previa para lograr esto. Para determinar si el código fuente es libre, revise qué licencia tiene y luego verifique la lista del proyecto GNU

Free software examples

Tenemos algunas tareas para las cuales no contamos con software de código abierto. En ocasiones, nos vemos obligados a usar un software no libre si el cliente insiste en incluirlo en su sitio web. Cuando esto sucede, se sacrifica parte de nuestra libertad.  Algunos activistas se negarían rotundamente a esto. 

A nosotros no nos gusta comprometer nuestra autonomía, por lo que preferimos ayudar a desarrollar reemplazos para estos programas y siempre que este en nuestras posibilidades elegiremos un software que refleje nuestra ética y filosofía. 

Sistemas Operativos

GNU/Linux

Gnu logo and Linux logo

Hemos optado por utilizar GNU / Linux como nuestro sistema predeterminado para nuestro desarrollo local. Cuando tenemos un nuevo estudiante, instalamos una distribución GNU / Linux y siempre damos la opción de disponer de una diferente si el estudiante así lo desea. 

 

Estas son las distribuciones de GNU / Linux preferidas utilizadas por los miembros de nuestro equipo cooperativo* : 

Estas no son las mejores versiones de GNU / Linux en cuanto a ser completamente libres, pero existen mas opciones. Puede consultar la lista de distribuciones en el sitio web de la Free Software Foundation para elegir la que mejor se adapte a sus necesidades. 

* Actualmente, un miembro del equipo está utilizando el Mac OS X patentado pero basado en BSD, que cumple con el estándar Unix 03 / POSIX que también cumplen las distribuciones GNU / Linux.

Navegadores

Firefox

Firefox logo

Como desarrolladores, tenemos que probar sitios de clientes en diferentes navegadores, pero para trabajar y construir sitios web, utilizamos Mozilla Firefox. Y aunque el código fuente de Firefox es software libre, incluye algunos iconos, marcas registradas y logotipos en la descarga que lo hacen no completamente libre.

Estos se pueden eliminar fácilmente como se ha hecho con IceCat, la versión GNU del navegador Firefox, la cual tiene un gran rendimiento, herramientas de desarrollo y una gran comunidad. El lado positivo de tener una comunidad en torno al software que utilizamos, es el acceso a un gran grupo de personas con experiencia y disposición para orientar, a medida de que podamos aprender y seguir construyendo juntos. 

Tor Browser

Tor logo

Como ciudadanos libres, no nos gusta que nos rastreen, por lo que utilizamos un navegador web de anonimato que no permite seguimientos. Se llama Tor.

 

Micky usa y ama el navegador Brave en Android y su computadora portátil GNU / Linux. ¡ Con ellos puedes bloquear los anuncios desde el primer momento! https://brave.com/ 

 

Si no observamos profundamente a Qwant, luce bastante decente -

Nos encontramos con Qwant a través de https://iridiumbrowser.de/  una versión de cromo más segura, pero probablemente tiene algunas cosas que quizás no sepamos o no queramos tener...

Almacenamiento de archivos y calendario

NextCloud

Nextcloud logo.

NextCloud es una colección de utilidades adecuadas para el proceso de desgoogización. Este software nos proporciona la mayoría de las herramientas populares en Google Drive y está centrado específicamente en brindar seguridad, privacidad y control total de todos sus datos a los usuarios de un  forma totalmente transparente.  Agaric utiliza una versión alojada de NextCloud en los servidores de MayFirst.org que incluyen:

  •     Almacenamiento de documentos y archivos
  •     Sincronizaciónde múltiples dispositivos
  •     Galerías de imágenes 
  •     Calendario
  •     Contactos

Vea una comparación de las características que ofrece NextCloud frente a las opciones propietarias que ofrece GoogleDocs / Drive.

Finanzas, contabilidad y teneduría de libros

GNUcash

Gnucash logo

GNUcash Es una herramienta de  software libre para la gestión financiera. De una forma sencilla permite controlar cuentas bancarias, gastos y  pagos tanto para uso personal como para pequeñas empresas y autónomos. Este es el software que utilizamos para llevar nuestra la contabilidad. 

 

Usted puede ver una revisión de GNUcash vs. Quickbooks para comparar y decidir cualle resulta adecuado.  Hemos encontrado algunas cooperativas contables que hacen su trabajan con GnuCash. 

Chat en tiempo real

Nosotros confiamos en diferentes herramientas para comunicarnos entre nosotros y con los clientes sobre las actividades diarias y los objetivos de proyectos a largo plazo. Nuestro  equipo esta distribuido en diferentes ubicaciones alrededor del mundo, por lo cual, es importante mantener contacto, especialmente cuando se realiza programación en pareja o durante una migración que requiere manos a la obra. Además, de la necesidad de compartir algunas notas de texto informativas y documentos que incluyen datos administrativos.

Freenode

Freenode logo

El Internet Relay Chat, mejor conocido como IRC o simplemente Chat,  es un servicio de comunicación en tiempo real a través de Internet entre dos o mas personas en formato textual. Sí, nosotros todavía utilizamos IRC y se nos puede encontrar en el servidor irc.freenode.net en el canal # devs-r-us

Nuestras preferencias aquí son tan variadas como los miembros de nuestro equipo: unos usan IRSSI a través de un servidor virtual remoto siempre activo, otros usan opciones de escritorio como HexChat o Konversation y algunos aún prefieren la solución basada en la web "The Lounge".

 

Email

MayFirst.org aloja el correo electrónico de Agaric.com

Email Cliente: Thunderbird

 

Thunderbird logo

Thunderbird es un cliente de correo electrónico de Mozilla, fabricado por Firefox y que también está disponible para su teléfono móvil. Cuenta también con un complemento de cifrado llamado EnigMail que funciona bien y no es difícil de configurar. 

Correo electrónico alojado: RiseUp

RiseUp es una organización colectiva administrada por voluntarios anónimos dedicada a proveer servicios de correo electrónico encriptado y alojamientos privados y seguros a personas y organizaciones comprometidas con la justicia social y política. Para obtener acceso debe ser invitado a ser miembro.

MayFirst ofrece tres soluciones de correo electrónico basadas en la web.

1. Roundcube, que tiene una interfaz web amigable y simple, lo que hace que sea fácil de usar.

2. ¡SquirrelMail es una opción que no tiene Javascript!

3. Horde por otro lado, ofrece más que solo un correo electrónico: usted puede compartir calendarios, tareas pendientes, entre otras opciones con otros miembros de su grupo.

Alojamiento de correo electrónico

Protonmailes: un servicio de correo electrónico seguro, fácil de usar, con cifrado de extremo a extremo. 

Listas de correo electrónico:

Utilizamos servidores de listas de correo electrónico para listas de correo basadas en grupos y diferentes temas. Permite el envío grupal a personas que se inscriben en una lista específica.

Servidor de correo electrónico MayFirst

Servidor de correo electrónico RiseUp

Medios para la comunicación social

Mastodonte: publica todo lo que quieras: enlaces, imágenes, texto y video. Todo dentro de una plataforma de propiedad comunitaria y sin publicidad.

Social.coop: una comunidad similar a Twitter, con la principal diferencia de que es propiedad de los miembros. Por tan solo un 1 dólar al mes, puede convertirse en propietario / miembro y participar en la configuración del futuro de la plataforma. 

Puede encontrar y seguir a Agaric en social.coop, un rincón cooperativo del Fediverse, una red con un enfoque cooperativo y transparente para operar una plataforma social. 

Transmisión en vivo:

Transmisión en vivo de MayFirst: la membresía incluye transmisión en vivo.

Llamadas de conferencia y reuniones en línea

Jitsi es un software de cliente multiplataforma, libre y de código abierto que opera con Mensajería Instantánea (IM), chat de voz y video en Internet. Jitsi Videobridge y Jitsi Meet, le permiten tener conferencias en Internet y le permite utilizar funciones como audio, acceso telefónico, grabación y transmisión simultánea.

Algunos miembros del equipo de Agaric lo están usando y reconocen que es un trabajo en progreso y que a veces puede haber fallas técnicas, como también las hemos encontrado al usar Hangouts de Google: tiempo de retraso, cortes, mala calidad de sonido y problemas con el uso compartido de la pantalla. 

En ocasiones, descubrimos que necesitamos usar una solución patentada que parece funcionar de manera confiable a medida que continuamos apoyando los esfuerzos de desarrollo y la corrección de errores con Jitsi. 

Usted puede alojar una instancia de Jitsi o elegir una versión previamente alojada usando https://meet.jit.si . También está disponible para uso público en https://meet.mayfirst.org

Le recomendamos que se convierta en miembro de MayFirst y tenga acceso a todas las herramientas de software libre que ellos ofrecen. 

¡El proyecto Jitsi necesita voluntarios para probar sus servicios y encontrar opciones para mejorar rápidamente!

Actualmente, Agaric está utilizando y pagando el servicio y software patentado de audio-conferencia y videoconferencia de Zoom. Nos encantaría recomendar a otra opción estable que sea el software libre.

Llamadas telefónicas y mensajes de texto

Agaric usa Signal para cifrar mensajes de texto SMS y llamadas telefónicas.

Signal

Una aplicación de software gratuita y abierta que emplea  criptografía end-to-end, lo que permite a los usuarios enviar mensajes de grupos, textos, imágenes y mensajes de vídeo con cifrado, esta altamente recomendada por Edward Snowden. Hay que tener en cuenta que la seguridad es una carrera armamentista y que esto podría volverse falso en cualquier momento. 

 

Toma de notas colaborativa

RiseUp:

RiseUp almohadillas es una sencilla aplicación web que permite editar el mismo documento (Pad) de manera simultánea por varias personas en tiempo real. Cuando organizamos una reunión en línea, generalmente abrimos un bloc de notas compartido para que todos puedan contribuir a que se registren los bits importantes. El texto de RiseUp se sincroniza para que todos los que estén en la página vean el mismo texto y puedan colaborar en documentos con equipos grandes o pequeños sin problemas.

Nosotros usamos la versión alojada, pero puede hospedarla usted mismo. Hemos probado algunos pads en línea y nos hemos decidido por Etherpad como el más confiable.

* NextCloud también tiene esta característica colaborativa.

Discusión colaborativa continua

Con algunos colaboradores, particularmente personas involucradas con la iniciativa Drutopia, utilizamos Mattermost en lugar de IRC. Mattermost es un conjunto de herramientas de colaboración que tiene como característica principal un servicio de mensajería instantánea útil para las discusiones en curso y de la cuál se puede acceder al resto de las funcionalidades. Es similar a Slack y ofrece una conversación entrelazada. La versión comunitaria es software libre.

Notas y listas de tareas

TomBoy una pequeña aplicación Open Source multiplataforma que permite tomar notas mientras crea convenientemente hipervínculos de títulos y permite la sincronización a través de SSH y más.

Gestión de contraseñas

KeePass un sistema de administración de contraseñas que elimina en su mayoría la preocupación de almacenar y recuperar la información de inicio de sesión para múltiples proyectos y sitios.

Edición de documentos de texto, hojas de cálculo y presentaciones

Es posible que haya oído hablar de OpenOffice; ahora se llama LibreOffice y es un conjunto de herramientas de oficina similares a Microsoft Office, incluye Documentos, Hojas de cálculo y Diapositivas. Utilizamos las herramientas de LibreOffice que vienen como software central en las distribuciones de GNU / Linux que tenemos instaladas. 

Estos son los que usamos con más frecuencia:

1. LibreOffice Calc: Tiene características y funciones similares a las de un software para crear hojas de cálculo como Microsoft Excel. 

2. LibreOffice Writer: un procesador de textos con una funcionalidad similar a la de Microsoft Word. 

3. LibreOffice Impress: utilizamos esta herramienta para crear diapositivas y presentaciones utilizando texto / gráficos y videos. Tiene las mismas ventajas que  Microsoft PowerPoint.

Gestión de proyectos y seguimiento de problemas

* GitLab: es una herramienta de código abierto para el control de versiones y desarrollo de software colaborativo, ademas de ser gestor de repositorio de Git basado en la web y auto hospedado en wikis, cuanta con la característica de seguimiento de errores. Utilizamos Gitlab para el desarrollo cooperativo en nuestros proyectos.

* Aunque GitLab no es un software totalmente libre, pero sí ofrece una versión auto hospedada. La versión alojada de Enterprise tiene características adicionales y se desarrolla bajo una licencia propietaria.

Redmine: es una aplicación web libre para la gestión de proyectos y seguimiento de problemas. Se puede ejecutar localmente o en su propio servidor. Antes de encontrar GitLab, utilizamos una instancia de Redmine auto hospedada que es software libre.

Toma de decisiones y votación

Loomio:  un servicio alojado disponible en http://loomio.org

Loomio es un software libre que ofrece un sistema distribuido de toma de decisiones y donde se puede formar grupos y realizar discusiones para tomar decisiones sin tener una reunión en persona. Para decidir sí o no, o si lo que necesitas es más información.

Ten en cuenta que Loomio también ha creado un gran recurso cooperativo en su otra URL: http://loomio.coop

Gestión de la relación con el cliente

CiviCRM:  Agaric está trabajando con los desarrolladores de MyDropWizard para echar un vistazo a CiviCRM con Drupal 8.

CviCRM es un software libre  gestor de relaciones y membresías con los clientes. Todavía no lo hemos implementado. 

Directorios de recursos y software libre  

Puede contribuir a grupos que trabajan para encontrar soluciones, hay muchos roles y no tiene que ser desarrollador. Por ejemplo, * IndieWeb y Jitsi son proyectos a los que dedicamos tiempo para apoyar con el desarrollo, las pruebas, la divulgación y la retro-alimentación.

* Con IndieWeb puede tomar el control de sus artículos y los mensajes de estado se pueden distribuir a todos los servicios, no solo a uno, lo que le permite interactuar con todos en su red o gráfico social. Incluso las respuestas y los “me gusta” de otros servicios pueden volver a su sitio para que estén todos en un solo lugar.

Framasoft: Es una gran colección de herramientas de software libre donde usamos el calendario y el software de encuestas con mayor frecuencia. Estamos experimentando con varias otras herramientas de FramaSoft y para poder adoptarlas en un futuro.

Si esta ha sido una lectura útil, compártela y cuéntanos en los comentarios cómo te ayudó. Una publicación de seguimiento enumerará las herramientas que utilizamos para fines de desarrollo. Asegúrese de mencionar cualquier software gratuito que haya encontrado y esté utilizando ahora.

Framasoft: A large collection of free software tools where we use the calendar and polling software most often. We are experimenting with several other FramaSoft tools and may adopt them in the future.

Los dejamos con una excelente charla TEDx donde Richard Stallman explica el Software Libre:

 

Agaric initiatives - just what do they do?.

Initiatives

Agaric-led and Agaric-supported projects and causes.

Plans for a new way of connecting students with their community

Problem: Schools and students are traditionally disconnected from their community and seldom do they work on interrelated projects that will benefit both the school and the people of the community.

Solution: Mentoring students to develop free software, such as the Drupal content management system, will introduce students to the myriad of careers and skills necessary to build a successful web presence - cooperatively. A web presence is more than just a website and also includes items like video, audio, and content that is compelling. No longer are we limited to a brochure online type of approach. Engaging people is the name of the game now. Beyond a web presence, students will also be mentored in ways to engage their community in building platform tools owned by the community.

How to: The Boston Collaboratory School will use the free software Drupal as the framework for a curriculum to mentor students in relevant technical and non-technical skills which can be applied at local and global scales. Mentors will connect students' interests and community needs, with Drupal serving as a gateway to introduce students to the many different career paths they might take. The focus of the Boston Collaboratory School on projects which benefit communities will also give these students practical experience creating ethical businesses in the form of platform cooperatives and participating in the free software movement via the Drupal framework. Read more

Sign up to be notified when Agaric gives a migration training:

Find It's Features and Functionality

Find It is a one-stop-shop for community-members to find opportunities for community engagement

Search a curated directory of events

  • Filter results based on age, location, cost, activity, and schedule
  • Click on a map to select which areas are accessible to you

Create a user account

  • Set event reminders about interesting opportunities
  • Receive notifications so that your Find It experience stays smooth.

Select a language

  • Navigate the site in your language of choice
  • Contribute improvements to the translations so that Find It can meet the needs of the diverse communities it serves

 

Find It makes it easier for government and non-profit organizations to reach the people they work to serve.

Log in with a service provider account

  • Share information about your organization
  • Post events and services for the residents of their community

 

Find It makes it easier for an individual or small team to make sure that members of the community they serve have access to all of the services they need.

Post information about public spaces

  • Keep track of all of the available public spaces on a single platform
  • Let residents know what public spaces are available as resources to them

Coordinate with all of the city's service providers together on one platform

  • Add service providers to the platform so they can post information about what they offer
  • Check for gaps and redundancies in services offered throughout your area in order to coordinate a more comprehensive set of services

Blog Update: Keep this conversation alive!

In this post, we call out for "Birds of a feather" to join us at DrupalCon, which has come and gone. However, this conversation remains relevant to our political condition and relevant to our work! Our scientific and government entities must continue to increasingly acknowledge racism as a public health threat. We believe that harnessing the power of data within our own communities is a path to the change that we want to see. Please help us keep this post and the discussion it provokes alive and circulating!

The program for DrupalCon is evolving constantly. Among the changes for Nashville 2018 new tracks have been added and some have been merged. That is the case for the Symfony and PHP tracks.

Many topics clearly belong to a single track, but others could fit in more than one. When we had a dedicated Symfony track a session about Twig could be submitted to the Symfony or front end tracks. A session about Drupal Console could be submitted to the Symfony, the PHP, or back end tracks. In an effort to reduce confusion in the call for proposal process, the track team has agreed on the following:

  • The back end development track is for sessions focused on Drupal coding and development practices.
  • The PHP track is for sessions that cover the broader PHP ecosystem. These sessions can be related to Drupal, but focused on an external project/library like composer, or PHPUnit, Symfony components.
  • The Symfony track merged with the PHP track.

Undoubtedly Symfony plays a key role in Drupal. Symfony 4 has just been released and it would be great to learn about what the future looks like. We want to learn about what is new in the latest version and what benefits adopting it would bring. We are also interested in sessions that would allow developers to learn from each other. What does a Symfony developer need to know to write Drupal code? What does a Drupal developer needs to know about Symfony to become a better developer? In other words - how to make proper use of Symfony components and related best practices.

Other session ideas include best practices on using Composer, PHPUnit, and third party libraries; new features in PHP 7; functional, asynchronous, and reactive programming; machine learning; micro services; etc.

If you want to attend DrupalCon Nashville, but the cost of attending is too high there are some ways to reduce the expenses:

  • Getting a session selected gives you a DrupalCon ticket.
  • You can get a $350 stipend to help cover expenses if your session is selected and you identify yourself within at least one of the "Big Eight" Social Identifiers. This is part of an effort to increase diversity at DrupalCon.
  • If you volunteer as a mentor, you can get a free ticket. No need to be a speaker for this one.
  • There are grants and scholarships that can provide a ticket and/or money to cover expenses. No need to be a speaker for this one.

The track team for DrupalCon Nashville 2018 is here to help you during the session submission process. We can help review proposals, suggest topics, and clear any doubt you might have. For the PHP track, Chad Hester, Tim Millwood, and myself are ready to help.

For people who have not presented before and for those of underrepresented groups, the Drupal Diversity and Inclusion Initiative has created a channel in Slack to help them with the proposal project. Mentoring is available at drupal.org/slack

The call for proposals closes in less than a month on January 17. Do no leave things until the last minute. We look forward to your session submissions!

Sign up to be notified when Agaric gives an online or in-person migration training:

Join us on Agaric's Meet.coop BigBlueButton videochat & screenshare for presentation and discussion, February 2, Sunday, at 15:00 UTC (10am Eastern).

https://meet.agaric.coop/rooms/a8m-x61-skh-ift/join

How can a group of thousands of people talk about and decide anything? How's this 'community' concept supposed to work at scale, even in theory?

Any Free/Libre Open Source Software project will have elements of do-ocracy (rule of those who do the work), but not all decisions should devolve to implementors. A better ideal is that decisions should be made by the people who are most affected.

Particularly when a decision strongly impacts more than those who carry it out, we need better ways of making decisions that give everyone their say. This starts by letting people by heard by everyone else. Fortunately, we can scale conversations and decisions in a fair and truly democratic way.

Monday night before the "Super Tuesday" primary, I'm searching for "does the bernie sanders app help you offer rides to polls to people" and finding no answer. (It does not.)

All I found was Lyft offering ride codes to for a handful of non-partisan non-profits to distribute. If Lyft can realize that simple physical access to vote is a barrier that affects different groups of people unequally and cite the facts about youth not voting, it surely came up on the Bernie Sanders Slack.

Yet in this highly online-connected campaign, some of the basic steps to winning (asking everyone: Do you have a plan to vote? Do you need help getting to the polls?) didn't make it into the official app, nor in any public side efforts.

There are a huge number of thoughtful, dedicated people working on the Bernie Sanders campaign (and in other political campaigns), but as in every movement I've witnessed I'm convinced that not all the best ideas are bubbling up.  This is especially true for communities like Drupal where even the idea of shared goals, let alone the mechanism for identifying and realizing them, can seem to disappear when you look for them directly.

Even when a goal is simple (get this one person elected president) the tactics are likely to need to be varied and complex.

This is vastly more true when we're talking about a movement. Even in a presidential campaign like for Sanders, the the goals behind the goal—health care, living wages, lots more jobs for everyone because we're putting people to work reversing global warming—are many, multifaceted, and cannot possibly be achieved only through electing someone, even to an office like the United State's imperial presidency.

After getting over my personal hangup of asking people for something without having at least the barest offer of help (a ride to go vote), I did start texting a few people to encourage them to vote. But as I texted my brother in New York, I'm still bummed we're organizing in the context of political campaigns, instead of having huge movements that, as an afterthought, choose our politicians.

I'm not making (or necessarily opposing) the argument that electoral organizing distracts from more important grassroots organizing.

I have gotten involved with a local solidarity network which focuses on direct action to help people with immediate problems— frequently a dozen people helping just one person or a few people at a time win livable spaces from landlords (or get security deposits back), or get stolen wages from an employer.

This sort of deep organizing—really only medium deep, but it's using available resources to nearly their maximum capacity—does not have the breadth of the typical mayoral campaign.

We need breadth as well as depth. There are many problems that can't be solved on a case by case basis. Although the type of organizing local solidarity networks engage in builds the capacity to take on bigger problems, it doesn't necessarily scale fast enough, or have clear mechanisms to translate built power and solidarity in one area to others.

The question of translating power built in one sphere to another is even more pressing for the election campaigns.

It's no secret, as Frank Chapman of the National Alliance Against Racist and Political Repression reminded people in Minneapolis when he visited from Chicago, that you build political power by going door to door and finding supporters.

What would our political movements be able to do if we didn't have to redo all the grunt work every time?

Or if people weren't canvassed only by campaigns (electoral or otherwise), but asked about their needs?

There are enough people who give a damn.

We could build immensely powerful movements from the ground up, if we had a way to agree how shared resources of movements—including communication channels—would be controlled.

To be a movement for, among other things, democracy, we need to be democratic ourselves. The DSA is probably farthest along in reach and democratic mechanisms, and so a natural place to join.

We need better technology to coordinate to achieve justice, liberty, and better lives for all. I don't mean merely a better canvassing app.

We need approaches and tools that let us share power. Then we can truly build power together.

A positive spin on this extremely spun election: media coverage has meant a ton but advertising has not. And the national, corporate media (which, if for instance you haven't checked who owns your local newspaper, if you even have one, is nearly all of the news media) is the sworn enemy to economic fairness and equal political power. No one with resources should put a cent into our enemies pockets by buying ads, especially when it doesn't even work.

It's a perfect opportunity to build institutions that work for us, rather than pouring resources and energy into institutions that are getting us killed.

We can build a communication network through which we collectively decide what we want, and then figure out how to coordinate to get it— whether it's electing someone or holding politicians or businesses accountable with direct action or forming ourselves into a giant cooperative corporation to negotiate as workers and buyers more equally with the huge corporations we deal with on a day-to-day basis.

If you're in the position to connect us to campaigns, cooperatives, parties, or other organizations who see a need for communication tools controlled by all the people in an organization or movement, where the ideas and control of resources can build from below, please contact Agaric.

The command line provides so much power.  We cover none of that power here, instead showing how to open the door—to open your terminal—on several operating systems.

GNU/Linux

In Ubuntu, use the Super key and start typing terminal.  As soon as you see the Terminal application show up and be selected, press Enter and you will have a terminal to type in.

If you're not using Ubuntu, something similar should still work, but if you're using

Mac OS X

Press Command + Spacebar to open Spotlight, and start typing terminal.  As soon as you see the Terminal application show up and be selected, press Enter and you will have a terminal to type in.

Windows

Press the Windows key + R, type cmd, and you will have a terminal emulator in Window's "Command Prompt" console.