SlideShare una empresa de Scribd logo
$> twixer
Cliente de servicios de microblogging
     para la línea de comandos

              Antonio Ognio
           antonio@ognio.com
¿Qué es microblogging?
 Servicios como Twitter e Identi.ca (opensource)
 Publicar fragmentos cortos de texto en Internet

 Experiencia de Internet en “tiempo real”

 Manera rápida de compartir:

   Noticias

   Opiniones, pensamientos, sentimientos

   Enlaces

 Una forma de recibir:

   Feedback

   Sugerencias

   Interacturar con usuarios
Arquitectura


  Sitios web
 Interfaz web (por omisión)

 API de webservice (RESTful)

 Ecosistema

  Servicios complementarios

  Clientes hechos a medida
¿Quiénes usan el microblogging?

 Bloggers
 Geeks / tecnófilos

 Periodistas

 Algunas personalidades

 Consultores / autores de libros

 Líderes de opinión

 Algunos sitios web (robots)

 Hackers de FLOSS
¿Porqué el CLI?
Entorno natural de un programador /
administrador de sistemas FLOSS

Más rápido de lanzar que un cliente gráfico o un
browser

Integración con otras herramientas de la línea
de comandos

Más simple de implementar y mantener que un
programa visual (al menos en GNU/Linux)
...además


   Un cliente CLI es mas discreto :)

   Envío mi mensaje y no me quedo leyendo :)

   Más fácil de integrar a scripts

   Lo puedo tener instalado en un servidor
Twixer

 Escrito en Python
   483 líneas por el momento

   Depende de simplejson y tweethon

 Permite:

   Enviar tweets

   Enviar mensajes directos

   Seguir a otros usuarios

   Dejar de seguir a otros usuarios

   Leer el timeline principal (amigos)

   otras cosas mas...
http://code.google.com/p/twixer
Acciones comunes:
Enviar un mensaje público
twixer "El contenido del mensaje viene aqui"


Enviar un mensaje privado
twixer -d usuario "Contenido del mensaje directo"


Mirar el timeline
twixer -f

Mirar las respuestas
twixer -r
Parámetros
Usage: twixer [options]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -c CONFPATH, --config=CONFPATH
                        Path to configuration file
  -v VERBOSE, --verbose=VERBOSE
  -U USERNAME, --username=USERNAME
                        Username for your Twitter account
  -P PASSWORD, --password=PASSWORD
                        Password for your Twitter account
  -S SERVER, --server=SERVER
                        API server for microblogging service
  -u USERNAME, --query-user=USERNAME
                        Query USERNAME instead of your user
  -t, --timeline        Show timeline of user
  -d USERNAME, --direct=USERNAME
                        Send direct message to user
  -f, --friends         Show friends timeline
  -r, --replies         Show replies
  -R, --direct-replies Show direct messages or replies
  -p, --public          Show public timeline
  -a USERNAME, --follow=USERNAME
                        Follow user
  -s USERNAME, --stop-following=USERNAME
                        Stop following user
  -D ID, --delete-status=ID
                        Delete status by id
  -X ID, --delete-direct-message=ID
                        Delete direct message by id
  -l, --list-friends    Show list of friends
  -F, --list-followers Show list of followers
Instalación desde tarball
sudo easy_install simplejson tweethon
wget -c http://twixer.googlecode.com/files/twixer-0.1.2b.tar.gz
tar zxpf twixer-0.1.2b.tar.gz
cd twixer-0.1.2b
sudo cp twixer /usr/bin
cp twixerrc $HOME/.twixerrc
vi $HOME/.twixerrc
chmod 600 $HOME/.twixerrc
twixer -



Obtener fuente desde Subversion
svn checkout http://twixer.googlecode.com/svn/trunk/ twixer
Tip (mensaje muy largo)
gnrfan@gnrfan-laptop:~$ twixer "Digg's move to NoSQL: This growth has
forced them into horizontal and vertical partitioning strategies..." 
twixer "...that have eliminated most of the value of a relational
database, while still incurring all the overhead."
Status 24785310 successfully posted at Mon Mar 15 03:00:22 +0000 2010
Status 24785312 successfully posted at Mon Mar 15 03:00:23 +0000 2010




Seguir a un usuario
$ twixer --follow plugperu
Archivo de configuración
[account]

username = plugperu
password = s3cr3t0

Ubicación:
$HOME/.twixerrc
Un vistazo al código fuente
http://code.google.com/p/twixer/source/browse/trunk/twixer
To-do
 Ofrecer generar el archivo de configuración
 Contraseña cifrada (cuidado, falsa seguridad)

 Verificar permisos del archivo de configuración

 Mejor manejo de excepciones

 Soportar unicode en cuerpo de mensajes

 Soportar múltiples cuentas con facilidad

   Algo parecido a .ssh/config

 Mejoras en los parámetros

 Soportar nuevas características de API

 Modo interactivo

 Colores

 Un montón de cosas más
Sugerencias, features, bugs
http://code.google.com/p/twixer/issues/list
Gracias! ¿Preguntas?
http://code.google.com/p/twixer/

Más contenido relacionado

Similar a Twixer

Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Javier Eguiluz
 
Comandos de red
Comandos de redComandos de red
Comandos de red
Keiry Dessire Victorio
 
08.asterisk configuracion
08.asterisk configuracion08.asterisk configuracion
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
Javier Eguiluz
 
GNU Bash - Text User Interfaces (TUI).pdf
GNU Bash - Text User Interfaces (TUI).pdfGNU Bash - Text User Interfaces (TUI).pdf
GNU Bash - Text User Interfaces (TUI).pdf
Lorenzo Santos Virosta
 
Tcpdump
TcpdumpTcpdump
Tcpdump
Tensor
 
Comandos de red
Comandos de redComandos de red
Comandos de red
Benjamín Zepeda
 
Original Hacker 5
Original Hacker 5Original Hacker 5
Original Hacker 5
Huehue 1
 
Comandos de red
Comandos de redComandos de red
Comandos de red
Estefanía C
 
Tcpdump a.2
Tcpdump a.2Tcpdump a.2
Tcpdump a.2
Tensor
 
APIs de medios sociales
APIs de medios socialesAPIs de medios sociales
APIs de medios sociales
Víctor R. Ruiz
 
Comandos de red
Comandos de redComandos de red
Comandos de red
Fernando Rivas Camacho
 
Comandos de red
Comandos de redComandos de red
Comandos de red
Emiliano Amador
 
Comandos de red
Comandos de redComandos de red
Clase5 (consola linux)
Clase5 (consola linux)Clase5 (consola linux)
Clase5 (consola linux)
Miguel Eduardo Luces
 
Splat - Programador PHP
Splat - Programador PHPSplat - Programador PHP
Splat - Programador PHP
Juan Belón Pérez
 
Nagios
NagiosNagios
Nagios
IESTPPISCO
 

Similar a Twixer (20)

Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
08.asterisk configuracion
08.asterisk configuracion08.asterisk configuracion
08.asterisk configuracion
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
 
GNU Bash - Text User Interfaces (TUI).pdf
GNU Bash - Text User Interfaces (TUI).pdfGNU Bash - Text User Interfaces (TUI).pdf
GNU Bash - Text User Interfaces (TUI).pdf
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
Twevelop
TwevelopTwevelop
Twevelop
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
Original Hacker 5
Original Hacker 5Original Hacker 5
Original Hacker 5
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
Curso Redes Linex 2
Curso Redes Linex 2Curso Redes Linex 2
Curso Redes Linex 2
 
Curso Redes Linex 2
Curso Redes Linex 2Curso Redes Linex 2
Curso Redes Linex 2
 
Tcpdump a.2
Tcpdump a.2Tcpdump a.2
Tcpdump a.2
 
APIs de medios sociales
APIs de medios socialesAPIs de medios sociales
APIs de medios sociales
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
Comandos de red
Comandos de redComandos de red
Comandos de red
 
Clase5 (consola linux)
Clase5 (consola linux)Clase5 (consola linux)
Clase5 (consola linux)
 
Splat - Programador PHP
Splat - Programador PHPSplat - Programador PHP
Splat - Programador PHP
 
Nagios
NagiosNagios
Nagios
 

Más de Antonio Ognio

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Antonio Ognio
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?Antonio Ognio
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una Hackparty
Antonio Ognio
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
Antonio Ognio
 
Lenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo webLenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo web
Antonio Ognio
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
Antonio Ognio
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en WindowsAntonio Ognio
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUM
Antonio Ognio
 
Twixer (english)
Twixer (english)Twixer (english)
Twixer (english)
Antonio Ognio
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - Hardening
Antonio Ognio
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
Antonio Ognio
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
Antonio Ognio
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty Jackalope
Antonio Ognio
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Antonio Ognio
 
REPLs
REPLsREPLs

Más de Antonio Ognio (15)

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una Hackparty
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
 
Lenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo webLenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo web
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUM
 
Twixer (english)
Twixer (english)Twixer (english)
Twixer (english)
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - Hardening
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty Jackalope
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
 
REPLs
REPLsREPLs
REPLs
 

Último

Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 

Último (20)

Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 

Twixer

  • 1. $> twixer Cliente de servicios de microblogging para la línea de comandos Antonio Ognio antonio@ognio.com
  • 2. ¿Qué es microblogging?  Servicios como Twitter e Identi.ca (opensource)  Publicar fragmentos cortos de texto en Internet  Experiencia de Internet en “tiempo real”  Manera rápida de compartir:  Noticias  Opiniones, pensamientos, sentimientos  Enlaces  Una forma de recibir:  Feedback  Sugerencias  Interacturar con usuarios
  • 3. Arquitectura  Sitios web  Interfaz web (por omisión)  API de webservice (RESTful)  Ecosistema  Servicios complementarios  Clientes hechos a medida
  • 4. ¿Quiénes usan el microblogging?  Bloggers  Geeks / tecnófilos  Periodistas  Algunas personalidades  Consultores / autores de libros  Líderes de opinión  Algunos sitios web (robots)  Hackers de FLOSS
  • 5. ¿Porqué el CLI? Entorno natural de un programador / administrador de sistemas FLOSS Más rápido de lanzar que un cliente gráfico o un browser Integración con otras herramientas de la línea de comandos Más simple de implementar y mantener que un programa visual (al menos en GNU/Linux)
  • 6.
  • 7. ...además  Un cliente CLI es mas discreto :)  Envío mi mensaje y no me quedo leyendo :)  Más fácil de integrar a scripts  Lo puedo tener instalado en un servidor
  • 8. Twixer  Escrito en Python  483 líneas por el momento  Depende de simplejson y tweethon  Permite:  Enviar tweets  Enviar mensajes directos  Seguir a otros usuarios  Dejar de seguir a otros usuarios  Leer el timeline principal (amigos)  otras cosas mas...
  • 9.
  • 11. Acciones comunes: Enviar un mensaje público twixer "El contenido del mensaje viene aqui" Enviar un mensaje privado twixer -d usuario "Contenido del mensaje directo" Mirar el timeline twixer -f Mirar las respuestas twixer -r
  • 12. Parámetros Usage: twixer [options] Options: --version show program's version number and exit -h, --help show this help message and exit -c CONFPATH, --config=CONFPATH Path to configuration file -v VERBOSE, --verbose=VERBOSE -U USERNAME, --username=USERNAME Username for your Twitter account -P PASSWORD, --password=PASSWORD Password for your Twitter account -S SERVER, --server=SERVER API server for microblogging service -u USERNAME, --query-user=USERNAME Query USERNAME instead of your user -t, --timeline Show timeline of user -d USERNAME, --direct=USERNAME Send direct message to user -f, --friends Show friends timeline -r, --replies Show replies -R, --direct-replies Show direct messages or replies -p, --public Show public timeline -a USERNAME, --follow=USERNAME Follow user -s USERNAME, --stop-following=USERNAME Stop following user -D ID, --delete-status=ID Delete status by id -X ID, --delete-direct-message=ID Delete direct message by id -l, --list-friends Show list of friends -F, --list-followers Show list of followers
  • 13. Instalación desde tarball sudo easy_install simplejson tweethon wget -c http://twixer.googlecode.com/files/twixer-0.1.2b.tar.gz tar zxpf twixer-0.1.2b.tar.gz cd twixer-0.1.2b sudo cp twixer /usr/bin cp twixerrc $HOME/.twixerrc vi $HOME/.twixerrc chmod 600 $HOME/.twixerrc twixer - Obtener fuente desde Subversion svn checkout http://twixer.googlecode.com/svn/trunk/ twixer
  • 14. Tip (mensaje muy largo) gnrfan@gnrfan-laptop:~$ twixer "Digg's move to NoSQL: This growth has forced them into horizontal and vertical partitioning strategies..." twixer "...that have eliminated most of the value of a relational database, while still incurring all the overhead." Status 24785310 successfully posted at Mon Mar 15 03:00:22 +0000 2010 Status 24785312 successfully posted at Mon Mar 15 03:00:23 +0000 2010 Seguir a un usuario $ twixer --follow plugperu
  • 15. Archivo de configuración [account] username = plugperu password = s3cr3t0 Ubicación: $HOME/.twixerrc
  • 16. Un vistazo al código fuente http://code.google.com/p/twixer/source/browse/trunk/twixer
  • 17. To-do  Ofrecer generar el archivo de configuración  Contraseña cifrada (cuidado, falsa seguridad)  Verificar permisos del archivo de configuración  Mejor manejo de excepciones  Soportar unicode en cuerpo de mensajes  Soportar múltiples cuentas con facilidad  Algo parecido a .ssh/config  Mejoras en los parámetros  Soportar nuevas características de API  Modo interactivo  Colores  Un montón de cosas más