SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
$> 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/

Weitere ähnliche Inhalte

Ähnlich wie Twixer

Ähnlich wie 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
 

Mehr von 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
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
Antonio Ognio
 

Mehr von 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
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.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