Acnezine PA Aluguer de Londres Estate Bali real

GoogleCL: Utilizando os serviços do Google na linha de comando

02 de junho

GoogleCL: Usando los servicios de Google desde la command line

Eu não escrevi nada, porque eu estava muito ocupado com Facu verdade e trabalho.

Hoje venho falar sobre GoogleCL uma ferramenta para linha de comando Linux e Mac
Há por um tempo agora, mas a verdade nunca tinha encontrado uso muito, mas hoje se : P

Permite que você use todos os serviços do google na linha de comando.

Por exemplo, sabemos que temos no nosso calendário hoje? Google Calendar hoje
Nós adicionamos uma nova tarefa no calendário? Google Agenda adicionar "Inteligência Artificial parcial em 7 pm quarta-feira próxima." E só reconhece o dia ea data!
quer enviar um documento novo para GDocs? google docs caminho do upload / TO FILE /
Quer enviar fotos para o Picassa? picasa pós-título "Fotos do meu gato" fotos / gatos / * "

Especificamente trabalha com os seguintes serviços:
'Picasa', 'blogger', 'youtube', 'docs', 'Contatos', 'calendário', 'Finanças'

E dando google ajudar [serviço] nos ajuda a tirar sobre o serviço e as coisas que podemos fazer. Por exemplo Ajuda do Google Agenda.

Para instalar basta fazer:
sudo apt-get install GoogleCL

Como uma dica extra, utilizando Unidade GoogleCL é um lançador para você que você arrastar um arquivo e carrega apenas GDOC e de lá também podemos criar documentos.

Para fazer o download deve executar o seguinte:

  zenity install sudo apt-get
 cd Downloads /
 http://webupd8.googlecode.com/files/gdocs-unity.tar.gz wget
 tar-xvf unity.tar.gz-GDocs
 gdocs-unity/gdocs.desktop mv ~ /. local / share / applications
 gdocs-unity/docs-128.png mv do ~ /. / ícones
 chmod + x arquivo ~ / Downloads / GDocs-unidade / docsHelper
 sed-i "s / Exec = \ path / \ / a \ / docsHelper / Exec \ = \ home / user \ / \ / $ Downloads \ / GDocs-unidade \ / docsHelper /" ~ /. local / share / applications / gdocs.desktop
 rm unity.tar.gz-GDocs 

Antes que você possa usá-lo deve fornecer acesso a GDocs. Para isso, a partir do console vai dar google docs upload e não vai pedir o acesso à nossa conta do google primeira vez!

Espero que isso ajude!

Leia mais

Dicas Empatia: Como fechar a janela com atalho Esc e mudar a mudança janelas

18 de maio

Tips para Empathy: Como cerrar la ventana con Esc y cambiar el Shortcut de cambio de ventanas

No outro dia eu decidi apagar meu Ubuntu 11,04 Pidgin e empatia resolver devido à sua integração.
Assim eu comecei a testar o aplicativo eu encontrei 2 grandes problemas.

  1. Eu não posso alternar entre as janelas com Ctrl + Tab
  2. Eu não posso fechar a janela existente com Esc ou Escape

De acordo com os criadores de estes não são Empatia bugs, mas diz Fuga Gnome = Cancelar e Ctrl + Tab = alternar o foco entre elementos do texto. É por isso que para ser consistente com o Gnome não quer colocar estas opções em seu código.

Em seguida, descobrir por um longo tempo eu achei a correção para este problema.

Há um arquivo no sistema de arquivos são criados, onde todas as ações podem ser executadas em nossa janela GTK. Essas ações têm o que é chamado de "aceleradores" são atalhos de teclado.

Primeiro, vá para o arquivo: / usr / share / empatia / empatia-chat-window.ui

Vamos editar o sudo (sudo gedit / usr / share / empatia / empatia-chat-window.ui).

Uma vez aberto, você verá que é um XML comum e corrente, com várias ações.

Primeiro de tudo você procurar a seguinte linha:

  <object class="GtkAction" id="menu_conv_close"> 

Você verá que abaixo dessa linha, haverá alguma semelhante a:

  key = "q" <accelerator modifiers="GDK_CONTROL_MASK"/> 

O que isto diz é que para fechar a conversa não tocar Ctrl + K. Queremos mudar isso para escapar, em seguida, altere a linha acima com:

  <accelerator key="Escape"/> 

e pronto :) .

Indo para o segundo problema de mudar as janelas com Ctrl + Tab é um pouco mais complicado. Por padrão, o GNOME não vamos mudar as janelas com Ctrl + Tab e por sua vez, não deixa qualquer aplicação GTK bindear um atalho para a tecla Tab. Se quiséssemos fazer isso, devemos tocar o código e alterar uma empatia FLAG para nos deixar pisar o Gnome diz. Como este ia ser um trabalho árduo, decidiu mudar Ctrl + Tab e Ctrl + Shift + Tab para Ctrl + A, neste caso, que é bastante semelhante.

Em seguida, procure agora no mesmo arquivo as seguintes 2 linhas

  <object class="GtkAction" id="menu_tabs_prev"> 
  <object class="GtkAction" id="menu_tabs_next"> 

E mudar os dois aceleradores. Os atalhos atuais dizer para mudar guia você tem que usar Ctrl + PageDown, o que significa que o atalho eu tenho que usar cerca de 3 demãos : P . Em seguida, altere o seguinte respectivamente:

  key = "a" <accelerator modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> 
  key = "a" <accelerator modifiers="GDK_CONTROL_MASK"/> 

Depois disso, reinicie Empatia e voila!

Deixo-vos o meu arquivo de configuração para decidir entrou diretamente:

 <? Xml version = "1.0"> <! - * - Mode: xml - * -> <classe de objeto = "GtkUIManager" <interface> id = "ui_manager"> <child> <classe de objeto = "GtkActionGroup" id = "actiongroup1"> <class = objeto "GtkAction" <child> id = "menu_conv"> <property name="name"> menu_conv </ property> <property name="label" _Conversation translatable="yes"> < / property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_conv_clear"> <property name="stock_id"> gtk-clear </ property> <property name="name"> menu_conv_clear </ property> <property name="label" translatable="yes"> C_lear </ property> </ object> <accelerator key="L" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> objeto < class = "GtkAction" id = "menu_conv_insert_smiley"> <property name="icon-name"> rosto sorriso </ property> <property name="name"> menu_conv_insert_smiley </ property> <nome da propriedade = "label" traduzível = "yes"> Inserir _smiley </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_favorite"> <property name="name"> menu_conv_favorite </ property> nome da propriedade < = "label" traduzível = "yes"> _Favorite Chat Room </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_always_urgent"> <property name="name"> menu_conv_always_urgent </ property> <property name="label" Notifique translatable="yes"> para todas as mensagens </ property> </ object> </ criança> <classe de objeto = "GtkToggleAction" <child> id = "menu_conv_toggle_contacts"> < nome da propriedade = "nome"> menu_conv_toggle_contacts </ property> <property name="active"> True </ property> <property name="label" translatable="yes"> Lista de Contatos _Show </ property> </ object> < / criança> <classe de objeto = "GtkAction" <child> id = "menu_conv_invite_participant"> <property name="name"> menu_conv_invite_participant </ property> <property name="label" translatable="yes"> _Participant Convidar ... </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_conv_close"> <property name="stock_id"> gtk-close </ property> <property name="name"> menu_conv_close </ property> </ object> <accelerator key="Escape"/> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_contact"> <property name="name"> menu_contact </ property> <property name="label" translatable="yes"> C_ontact </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_edit"> <property name="name"> menu_edit </ property> <property name="label" translatable="yes"> _Edit </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_edit_cut"> nome da propriedade < = "stock_id"> gtk-corte </ property> <property name="name"> menu_edit_cut </ property> </ object> <accelerator key="X" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> <object class="GtkAction" id="menu_edit_copy"> <property name="stock_id"> gtk-cópia </ property> <property name="name"> menu_edit_copy </ property> </ object> <acelerador key = " C "modificadores =" GDK_CONTROL_MASK "/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_edit_paste "> <property name="stock_id"> gtk-paste </ property> <nome da propriedade =" nome "> menu_edit_paste </ property> </ object> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_edit_find "> <nome da propriedade =" stock_id "> gtk-encontrar </ property> <property name="name"> menu_edit_find </ property> </ object> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> objeto < class = "GtkAction" id = "menu_tabs"> <property name="name"> menu_tabs </ property> <property name="label" translatable="yes"> _Tabs </ property> </ object> </ criança> <objeto de classe <child> = "GtkAction" id = "menu_tabs_prev"> <property name="name"> menu_tabs_prev </ property> <property name="label" translatable="yes"> _Previous Tab </ property> </ object> <accelerator key="a" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_tabs_next"> <property name="name"> menu_tabs_next </ property > <property name="label" translatable="yes"> _NEXT Tab </ property> </ object> <accelerator key="a" modifiers="GDK_CONTROL_MASK"/> <criança /> <child> <= classe de objeto " GtkAction "id =" menu_tabs_undo_close_tab "> <property name="name"> menu_tabs_undo_close_tab </ property> <property name="label" translatable="yes"> _Undo Close Tab </ property> </ object> <acelerador key =" t "modificadores =" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_tabs_left "> <property name="name"> menu_tabs_left </ property> <nome da propriedade =" rótulo "traduzível =" yes "Tab> Mover _Alt </ property> </ object> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> <criança /> <child> <classe de objeto =" GtkAction id "= "menu_tabs_right"> <property name="name"> menu_tabs_right </ property> Tab Move <property nome translatable="yes"> = "label" _Right </ property> </ object> <acelerador key = "page_down" modificadores = "GDK_CONTROL_MASK | GDK_SHIFT_MASK" /> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_tabs_detach"> <property name="name"> menu_tabs_detach </ property> <nome da propriedade = "label" traduzível = " yes "> _Detach Tab </ property> </ object> </ criança> <classe de objeto =" GtkAction "<child> id =" menu_help "> <property name="name"> menu_help </ property> nome da propriedade <= "rótulo" traduzível = "yes"> _Help </ property> </ object> </ criança> <classe de objeto = "GtkAction" <child> id = "menu_help_contents"> <property name="stock_id"> gtk-help < / property> <property name="name"> menu_help_contents </ property> <property name="label" translatable="yes"> _Contents </ property> </ object> <acelerador chave = "F1" modificadores = "" / > </ criança> <classe de objeto = "GtkAction" <child> id = "menu_help_about"> gtk-sobre <property name="stock_id"> </ property> <property name="name"> menu_help_about </ property> < / object> </ criança> </ object> </ criança> <UI> <menubar name="chats_menubar"> <Menu action="menu_conv"> <menuitem action="menu_conv_clear"/> <menuitem action = "menu_conv_insert_smiley" /> <menuitem action="menu_conv_favorite"/> <menuitem action="menu_conv_always_urgent"/> <menuitem action="menu_conv_toggle_contacts"/> <menuitem action="menu_conv_invite_participant"/> <separator/> <ação menuitem = "menu_conv_close" / > </ menu> <Menu action="menu_contact" /> <Menu action="menu_edit"> <menuitem action="menu_edit_cut"/> <menuitem action="menu_edit_copy"/> <menuitem action="menu_edit_paste"/> < separador /> <menuitem action="menu_edit_find"/> </ menu> <Menu action="menu_tabs"> <menuitem action="menu_tabs_prev"/> <menuitem action="menu_tabs_next"/> <ação menuitem = "menu_tabs_undo_close_tab" / > <separator/> <menuitem action="menu_tabs_left"/> <menuitem action="menu_tabs_right"/> <menuitem action="menu_tabs_detach"/> <menu /> <Menu action="menu_help"> <menuitem action = "menu_help_contents "/> <placeholder name="LaunchpadItems"/> <menuitem action="menu_help_about"/> </ menu> </ menu> </ u> </ object> <object class="GtkWindow" id="chat_window"> <property name="title" translatable="yes"> bate-papo </ property> <property name="role"> bate-papo </ property> <property name="default_width"> 580 </ property> <nome da propriedade = "default_height "> 480 </ property> <classe de objeto =" GtkVBox "<child> id =" chat_vbox "> <property name="visible"> True </ property> <child> <classe de objeto =" GtkMenuBar "builder =" ui_manager "id =" chats_menubar "> <property name="visible"> True </ property> </ object> <property name="expand"> <packing> False </ property> <property name="fill"> False < / property> </ embalagem> </ criança> <child> <placeholder/> </ criança> </ object> </ criança> </ object> </ interface> 
Leia mais

Script para selecionar, extrair, tornar o acesso direto e claro para os seus filmes baixados rars

10 de maio

Script para elegir, descomprimir, hacer acceso directo y borrar los rars de tus peliculas bajadas

Abaixo publica um novo script. Este script é feito para quando sob filmes ou séries.
Basicamente o que ele faz é mostrar todo o conteúdo da pasta para baixo com um número ao lado de cada nome. Em seguida, escolha o número de séries ou filmes para ver separados por vírgulas e do programa será descompactar os rars ou zip se for o caso, fazer um atalho para a pasta selecionada apenas o filme, antes de apagar as amostras devem ser um.
Anteriormente, o script usado para procurar legendas internet periscópio. O problema com este programa é que subtitulos.es busca subdivx.com e não tão para o momento em que fora.
Abaixo vou adicionar 2 scripts, um para listar os filmes para assistir e um para listar os filmes para excluir aqueles que já foram vistos.

Primeiro, a lista de filmes para ver:

 ! # / Bin / bash TORRENT_DIR = '/ home / gonto / downloads / torrents'; VIDEOS_DIR = "/ home / gonto / Desktop / videos" pushd.  ls-tr $ TORRENT_DIR | colunas-c 1 | awk 'BEGIN {i = 0;} {i + +; print i, $ 0}' echo que os números elegis?  Separados por vírgula, leia nums; # Separar os números feitos OLD_IFS dressage = "$ IFS" IFS = "", numsArr = ($ nums) # Itero para cada número de num na $ {numsArr [@]} FILME fazer = $ (ls-tr $ TORRENT_DIR | colunas-c 1 | sed-n $ (echo $ {num} p)); if [-n "$ MOVIE"], em seguida, PELI_PATH = "$ TORRENT_DIR / $ MOVIE" PELIS_A_MODIFICAR = "$ PELIS_A_MODIFICAR $ PELI_PATH, "fi feito filmes = ($ PELIS_A_MODIFICAR) para PELI_PATH em $ {filmes [@]} não se [-f" $ PELI_PATH "], então ln-fs" $ PELI_PATH "$ VIDEOS_DIR mais cd" $ PELI_PATH "encontrar" $ PELI_PATH "-name" * avi "| xargs-I".? {} "} {zip e encontrar" $ PELI_PATH "-name" * [RR] "  | Xargs-I "{}"} {rm encontrar "$ PELI_PATH"-name "* [sS] [AA] [mM] [pP] [lL] [eE] *" | xargs-I "{}" rm { encontrar} "$ PELI_PATH"-name "* [AA] [vV] [ii]." |. xargs-I "{}" ln-s {} $ VIDEOS_DIR encontrar "$ PELI_PATH"-name "* [mM] [ kk] [vv] "| xargs-I" {} "ln-s $ {} fi done popd VIDEOS_DIR IFS =" OLD_IFS $ " 

E agora encarregado de apagar

  #! / Bin / bash
 TORRENT_DIR = '/ home / gonto / downloads / torrents';
 VIDEOS_DIR = "/ home / gonto / Desktop / vídeos";
 ls-tr $ TORRENT_DIR | colunas-c 1 | awk 'BEGIN {i = 0;} {i + +; print i, $ 0}';
 Que os números falt elegis?  Separados por vírgulas;
 ler nums;
 # Separar os números feitos com adestramento
 OLD_IFS = "$ IFS"
 IFS = ""
 numsArr = ($ nums)
 PELIS_A_BORRAR = ""
 # Itero para cada número
 para num na $ {numsArr [@]}
 fazer
 FILME = $ (ls-tr $ TORRENT_DIR | colunas-c 1 | sed-n $ (echo $ {num} p));
 if [-n "$ MOVIE"], então
 PELI_PATH = "$ TORRENT_DIR / $ MOVIE"
 PELIS_A_BORRAR = "$ $ PELIS_A_BORRAR PELI_PATH"
 fi
 feito
 filmes = ($ PELIS_A_BORRAR)
 para filmes de cinema em $ {[@]}
 fazer
 rm-rf filme de US $
 feito
 IFS = "$ OLD_IFS" 

Obviamente, para ambos os scripts terão de mudar o diretório de torrents e vídeo para você lista queiran e fazer atalhos, respectivamente.

Qualquer crítica ou melhoria para os scripts será bem recebido :) . Alguém sugeriu que eu adicionar ao encurtamento de URLs copiados para o clipboard e fez :)

SLDS!

Leia mais

Script para encurtar URLs com o apoio da área de transferência

10 de maio

Um amigo acabou de mencionar que seria bom para adicionar o script para exibir o console, além do resultado de encurtar a URL, ele é enviado para a área de transferência e que, eventualmente, ser este será o que fazemos.

Para isso, primeiro instale o programa XCLIP (com apt-get) e substitua o script existente que temos de encurtar a seguir, substituindo como antes o usuário eo api:

  #! / Bin / bash
 progname = $ (basename $ 0)
 if [-z "$ 1"]
 Então
         echo-e "Uso: $ url progname"
         sair
 fi
 URL = $ 1

 BITLYURL = 'http://api.bit.ly/v3/shorten?login=NOMBRE_USUARIO&apiKey=API_KEY&format=json'
 Encodedurl = $ (python-c "import urllib; impressão urllib.quote ('' 'URL $''')")
 RESPOSTA = $ (/ usr / bin / env curl-s-A $ BITLYURL Mozilla '& LongURL =' $ encodedurl)
 TEXT = $ (echo $ RESPOSTA | sed-e 's / [{}] /'' / g' | awk-vk = "text" '{n = split ($ 0, a, "") for (i = 1, i <= n, i + + impressão) a [i]} '| sed-n 4p | cut-c 9 - | sed' s / "/ / g '| sed' s / \ \ / / g ')
 echo $ TEXTO
 echo $ TEXTO | XCLIP seleção-c 
Leia mais

Tamanho do computador de um Pen Drive de 25 USD

07 de maio

Computadora del tamaño de un Pen Drive a 25 USD

Notícia chocante verdade eu li hoje jogar.
Um designer de videogames que vive no Reino Unido desenvolveu um computador do tamanho de um Pen Drive USB que vai deixar 25 dólares.
Este computador terá Ubuntu instalado por padrão e será operado.

Virá com HDMI e portas USB, portanto, nós conectados por HDMI monitor e mouse e teclado USB e tem um computador funcional.

Essa imagem que você vê aqui acima é todo o computador. E este computador tem os seguintes componentes:

  • 700MHz ARM11
  • 128MB de SDRAM
  • OpenGL ES 2.0
  • 1080p30 decodificação H.264 de alta perfil
  • HDMI e saída de vídeo composto
  • USB 2.0
  • SD / MMC / SDIO slot para cartão de memória
  • De propósito geral I / O

Incrível, não? E apenas R $ 25. Eu quero um!

Leia mais

Script para encurtar URLs

06 de maio

Script para acortar URLs

Continuamos com a onda de scripts post. Outro script que eu uso muito e é totalmente de minha autoria é de um para encurtar URLs. Eu sempre quero passar um post URL encurtada em Facebook ou passá-lo a alguém ou a uma variedade de coisas. A verdade é que ter que ir para o site para encurtar cópia é muito laburo e console é muito mais fácil.
Este script em particular usa bit.ly que na minha opinião é o melhor, que tem mais estatísticas e tudo mais. O que você vai ter que substituir no script é o seu nome de usuário e chave de API do bit.ly. Depois disso, basta ligar para
bitly http://www.google.com/ e eles vão aparecer a URL encurtada. Mais simples impossível.

Os campos estão substituindo yourusername e TU_KEY.
Basicamente o que ele faz é a primeira a usar uma biblioteca python para codificar a URL como o bit.ly URL REST API usado encodeadas. Então, nós batemos com Enrolamento bit.ly e em seguida, usando sed e awk obter a url :) .
Aqui está o script que eu : D e encurtamento feliz : D

  #! / Bin / bash
 progname = $ (basename $ 0)
 if [-z "$ 1"]
 Então
         echo-e "Uso: $ url progname"
         sair
 fi
 URL = $ 1

 BITLYURL = 'http://api.bit.ly/v3/shorten?login=TU_USUARIO&apiKey=TU_KEY&format=json'
 Encodedurl = $ (python-c "import urllib; impressão urllib.quote ('' 'URL $''')")
 RESPOSTA = $ (/ usr / bin / env curl-s-A $ BITLYURL Mozilla '& LongURL =' $ encodedurl)
 echo $ RESPOSTA | sed-e 's / [{}] /'' / g' | awk-vk = "text" '{n = split ($ 0, a, "") for (i = 1, i <= n, i + + impressão) a [i]} '| sed-n 4p | cut-c 9 - | sed' s / "/ / g '| sed' s / \ \ / / g ' 
Leia mais