Acnezine PA Hire Londres Bali Real Estate

GoogleCL: Utilisation des services Google à partir de la ligne de commande

2 juin

GoogleCL: Usando los servicios de Google desde la command line

Je n'ai pas écrit quoi que ce soit parce que j'étais trop occupé avec la vérité facu et de travail.

Aujourd'hui je viens de vous parler de GoogleCL un outil de ligne de commande Linux et Mac
Là, pendant un certain temps maintenant, mais la vérité n'a jamais trouvé une grande utilité, mais aujourd'hui si : P

Vous permet d'utiliser tous les services Google à partir de la ligne de commande.

Par exemple, nous savons que nous avons sur notre calendrier d'aujourd'hui? google calendar aujourd'hui
Nous ajoutons une nouvelle tâche dans le calendrier? google calendrier ajouter "partielle Intelligence Artificielle à 19 heures mercredi prochain." Et ne reconnaît que le jour et la date!
souhaitez télécharger un nouveau document à GDocs? google docs téléchargement PATH / vers / fichier
Vous voulez télécharger des photos vers Picasa? picasa post-titre "My Cat Photos" photos et les chats / * "

Travaille spécifiquement avec les services suivants:
«Picasa», «blogueur», «youtube», «docs», des contacts »,« calendrier »,« finances »

Et donnant Aide Google [service] nous aide à dépouiller sur le service et les choses que nous pouvons poser. Par exemple Google Calendar Help.

Pour installer il suffit de faire:
sudo apt-get install GoogleCL

Comme un pourboire supplémentaire, en utilisant l'unité GoogleCL est un lanceur pour vous que vous faites glisser un fichier et ajouts que gDoc et de là nous pouvons également créer des documents.

Pour télécharger doit exécuter la commande suivante:

  sudo zenity apt-get install
 Téléchargements cd /
 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 ~ de /. icons
 chmod + x ~ / Downloads / GDocs-unité / docsHelper
 sed-i "s / Exec = \ / \ chemin / vers \ / docsHelper / Exec \ = \ / home \ / \ / $ USER Téléchargements \ / GDocs-unité \ / docsHelper /" ~ /. local / share / applications / gdocs.desktop
 rm-unity.tar.gz GDocs 

Avant de pouvoir utiliser il doit fournir l'accès à GDocs. Pour ce faire, à partir de la console donnera google docs upload et il va demander l'accès à notre compte google pour la première fois!

Hope this helps!

Lire la suite

Conseils d'empathie: Comment faire pour fermer la fenêtre avec un raccourci Echap et de changer le changement des fenêtres

18 mai

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

L'autre jour, j'ai décidé de supprimer mon Ubuntu 11.04 Pidgin et Empathy régler en raison de son intégration.
Dès que j'ai commencé à tester l'application, j'ai trouvé 2 problèmes majeurs.

  1. Je ne peux pas basculer entre les fenêtres avec Ctrl + Tab
  2. Je ne peux pas fermer la fenêtre existante avec Esc ou Echap

Selon les créateurs de ces empathie ne sont pas des bugs, mais il dit Gnome évasion = Annuler et Ctrl + Tab = commutateur de mise entre les éléments de texte. C'est pourquoi pour être compatible avec Gnome veux pas mettre ces options dans votre code.

Puis comprendre pendant une longue période, j'ai trouvé le correctif à ce problème.

Il ya un fichier dans le système de fichiers sont mis en place où toutes les actions peuvent être effectuées sur notre fenêtre GTK. Ces actions ont ce qu'on appelle des «accélérateurs» sont des raccourcis clavier.

Nous allons d'abord le fichier: / usr / share / l'empathie / l'empathie-chat-window.ui

Nous allons modifier comme sudo (sudo gedit / usr / share / l'empathie / l'empathie-chat-window.ui).

Une fois ouvert, vous verrez que XML est un commun et courant avec des actions diverses.

Tout d'abord vous recherchez la ligne suivante:

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

Vous verrez que sous cette ligne, il y aura une certaine similaire à:

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

Ce que cela dit, c'est que de fermer la conversation touchez pas Ctrl + K. Nous voulons le changer à s'échapper, puis modifiez la ligne ci-dessus avec:

  <accelerator key="Escape"/> 

et prêt :) .

Aller à la deuxième problème de changer les fenêtres avec Ctrl + Tab est un peu plus compliqué. Par défaut, GNOME ne nous laisse pas changer les fenêtres avec Ctrl + Tab et à son tour, ne laisse aucune application GTK bindear un raccourci à la touche Tab. Si nous voulions faire cela, nous devrions toucher le code et modifier une empathie FLAG pour nous marcher sur ce Gnome dit. Comme cela allait être une tâche difficile, a décidé de changer Ctrl + Tab et Ctrl + Maj + Tab pour Ctrl + A dans ce cas, qui est assez similaire.

Ensuite, regardez pour le moment dans le même fichier les 2 lignes suivantes

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

Et changer les deux accélérateurs. Les raccourcis actuels dire de changer d'onglets, vous devez utiliser Ctrl + PageDown, ce qui signifie que le raccourci que je dois utiliser environ 3 couches : P . Puis modifier les éléments suivants, respectivement:

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

Après cela, redémarrez l'empathie et le tour est joué!

Je vous laisse mon fichier de configuration de décider intensifié directement:

 <? Xml version = "1.0"> <! - * - Mode: xml - * -> <class = objet "GtkUIManager" <interface> id = "ui_manager"> <child> classe d'objet <= "GtkActionGroup" id = "actiongroup1"> classe d'objet <= "GtkAction" <child> id = "menu_conv"> <property name="name"> menu_conv </ property> <property name="label" translatable="yes"> _Conversation < / property> </ object> </ enfant> classe d'objet <= "GtkAction" <child> id = "menu_conv_clear"> <property name="stock_id"> gtk-clair </ property> <property name="name"> menu_conv_clear </ property> <property name="label" translatable="yes"> C_lear </ property> </ object> <accelerator key="L" modifiers="GDK_CONTROL_MASK"/> </ enfant> <child> <objet class = "GtkAction" id = "menu_conv_insert_smiley"> <property name="icon-name"> face sourire </ property> <property name="name"> menu_conv_insert_smiley </ property> nom de la propriété <= "label" traduisible = «oui»> Insérer _smiley </ property> </ object> </ enfant> classe d'objet <= "GtkToggleAction" <child> id = "menu_conv_favorite"> <property name="name"> menu_conv_favorite </ property> nom de la propriété < = "label" traduisible = "yes"> _Favorite Chat Room </ property> </ object> </ enfant> classe d'objet <= "GtkToggleAction" <child> id = "menu_conv_always_urgent"> <property name="name"> menu_conv_always_urgent </ property> <property name="label" prévenir translatable="yes"> pour tous les messages </ property> </ object> </ enfant> <class = objet "GtkToggleAction" <child> id = "menu_conv_toggle_contacts"> < nom de la propriété = "nom"> menu_conv_toggle_contacts </ property> <property name="active"> True </ property> <property name="label" Liste translatable="yes"> contact _Show </ property> </ object> < / enfant> classe d'objet <= "GtkAction" <child> id = "menu_conv_invite_participant"> <property name="name"> menu_conv_invite_participant </ property> <property name="label" translatable="yes"> _Participant Inviter ... </ property> </ object> </ enfant> classe d'objet <= "GtkAction" <child> id = "menu_conv_close"> <property name="stock_id"> gtk-près </ property> <property name="name"> menu_conv_close </ property> </ object> <accelerator key="Escape"/> </ enfant> <class = objet "GtkAction" <child> id = "menu_contact"> <property name="name"> menu_contact </ property> <property name="label" translatable="yes"> C_ontact </ property> </ object> </ enfant> <class = objet "GtkAction" <child> id = "MENU_EDIT"> <property name="name"> MENU_EDIT </ property> <property name="label" translatable="yes"> _edit </ property> </ object> </ enfant> <class = objet "GtkAction" <child> id = "menu_edit_cut"> nom de la propriété < = "stock_id"> gtk-coupe </ property> <property name="name"> menu_edit_cut </ property> </ object> <accelerator key="X" modifiers="GDK_CONTROL_MASK"/> </ enfant> <child> <object class="GtkAction" id="menu_edit_copy"> <property name="stock_id"> gtk-copie </ property> <property name="name"> menu_edit_copy </ property> </ object> <accélérateur key = " C "modificateurs =" GDK_CONTROL_MASK "/> </ enfant> classe d'objet <=" GtkAction "<child> id =" menu_edit_paste "> <property name="stock_id"> gtk-coller </ property> nom de la propriété <=" nom de "> menu_edit_paste </ property> </ object> <accelerator key="V" modifiers="GDK_CONTROL_MASK"/> </ enfant> classe d'objet <=" GtkAction "<child> id =" menu_edit_find "> nom de la propriété <=" stock_id "> gtk-find </ property> <property name="name"> menu_edit_find </ property> </ object> <accelerator key="F" modifiers="GDK_CONTROL_MASK"/> </ enfant> <child> <objet class = "GtkAction" id = "menu_tabs"> <property name="name"> menu_tabs </ property> <property name="label" translatable="yes"> _Tabs </ property> </ object> </ enfant> <objet 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"/> </ enfant> classe d'objet <= "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"/> </ enfant> <child> classe d'objet <= " GtkAction "id =" menu_tabs_undo_close_tab "> <property name="name"> menu_tabs_undo_close_tab </ property> <property name="label" translatable="yes"> _Undo Fermer l'onglet </ property> </ object> <accélérateur key =" t "modificateurs =" GDK_SHIFT_MASK | GDK_CONTROL_MASK "/> </ enfant> classe d'objet <=" GtkAction "<child> id =" menu_tabs_left "> <property name="name"> menu_tabs_left </ property> nom de la propriété <=" label «traduisible =" yes "Tab> Déplacer _Left </ property> </ object> <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK|GDK_SHIFT_MASK"/> </ enfant> <child> classe d'objet <=" GtkAction "id = "menu_tabs_right"> <property name="name"> menu_tabs_right </ property> onglet Déplacer <property translatable="yes"> name = "label" _Right </ property> </ object> <accélérateur key = "PAGE_DOWN" modificateurs = "GDK_CONTROL_MASK | GDK_SHIFT_MASK" /> </ enfant> classe d'objet <= "GtkAction" <child> id = "menu_tabs_detach"> <property name="name"> menu_tabs_detach </ property> nom de la propriété <= "label" traduisible = " oui "> Onglet _Detach </ property> </ object> </ enfant> classe d'objet <=" GtkAction "<child> id =" MENU_HELP "> <property name="name"> MENU_HELP </ property> nom de la propriété <= «label» traduisible = "yes"> _Help </ property> </ object> </ enfant> classe d'objet <= "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> <accélérateur key = "F1" modificateurs = "" / > </ enfant> classe d'objet <= "GtkAction" <child> id = "menu_help_about"> gtk-sujet <property name="stock_id"> </ property> <property name="name"> menu_help_about </ property> < / object> </ enfant> </ object> </ enfant> <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/> <menuitem d'action = "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"/> < séparateur /> <menuitem action="menu_edit_find"/> </ menu> <menu action="menu_tabs"> <menuitem action="menu_tabs_prev"/> <menuitem action="menu_tabs_next"/> <menuitem d'action = "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"> moins de menuitem action = "menu_help_contents "/> <placeholder name="LaunchpadItems"/> <menuitem action="menu_help_about"/> </ menu> </ menubar> </ u> </ object> <object class="GtkWindow" id="chat_window"> <property name="title" translatable="yes"> Chat </ property> <property name="role"> chat </ property> <property name="default_width"> 580 </ property> nom de la propriété <= "default_height "> 480 </ property> classe d'objet <=" GtkVBox "<child> id =" chat_vbox "> <property name="visible"> True </ property> <child> classe d'objet <=" GtkMenuBar "builder =" ui_manager "id =" chats_menubar "> <property name="visible"> True </ property> </ object> <property name="expand"> <packing> False </ property> <property name="fill"> False < / property> </ emballage> </ enfant> <child> <placeholder/> </ enfant> </ object> </ enfant> </ object> </ interface> 
Lire la suite

Script pour sélectionner, extraire, faire de l'accès direct et clair à vos films téléchargés rars

10 mai

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

Publie ci-après un nouveau script. Ce script est fait pour quand sous films ou séries.
Fondamentalement, ce qu'il fait est de montrer tout le contenu du dossier vers le bas avec un certain nombre à côté de chaque nom. Ensuite, choisissez les numéros de séries ou des films à voir séparés par des virgules et le programme va décompresser les rars ou code postal le cas échéant, créer un raccourci vers le dossier sélectionné uniquement le film, avant d'effacer les échantillons devrait être l'un.
Auparavant, le script utilisé pour rechercher des sous-titres périscope Internet. Le problème avec ce programme est que subtitulos.es recherche subdivx.com et pas pour le moment, il en.
Ci-dessous je ajouter 2 scripts, l'un à la liste des films à regarder et un à la liste des films à supprimer celles qui ont été déjà vu.

D'abord la liste des films à voir:

 ! # / Bin / bash TORRENT_DIR = '/ home / gonto / downloads / torrents'; VIDEOS_DIR = "/ home / gonto / Desktop / vidéos" pushd.  ls-tr $ TORRENT_DIR | colonnes-c 1 | awk 'BEGIN {i = 0;} {i + +; print i, $ 0}'; écho que le nombre de elegis?  Séparé par des virgules, lisez nums; # Séparer les numéros de dressage fait OLD_IFS = "$ IFS" IFS = "," numsArr = (nums $) # Itero pour chaque numéro de num dans $ {numsArr [@]} faire un film = $ (ls-tr $ TORRENT_DIR | colonnes-c 1 | sed-n $ (echo $ {num} p)); if [-n "$ MOVIE"] then PELI_PATH = "$ TORRENT_DIR $ / MOVIE" PELIS_A_MODIFICAR = "$ PELIS_A_MODIFICAR $ PELI_PATH, "fi done films = ($ PELIS_A_MODIFICAR) pour PELI_PATH dans $ {films [@]} do if [-f" $ PELI_PATH "] then ln-fs" $ PELI_PATH "$ VIDEOS_DIR autre cd" $ PELI_PATH «trouver» $ PELI_PATH "-name" * avi "| xargs-I".? {} "} {zip et de trouver des" $ PELI_PATH "-name" * [RR] "  | Xargs-I "{}"} {rm trouver "$ PELI_PATH"-name "* [SS] [aA] [mM] [pP] [LL] [eE] *" | xargs-I "{}" rm { trouver} "$ PELI_PATH"-name "* [aA] [vV] [ii]." |. xargs-I "{}" ln-s {} $ VIDEOS_DIR trouver "$ PELI_PATH"-name "* [mm] [ KK] [VV] "| xargs-I" {} "ln-s $ {} fi done popd VIDEOS_DIR IFS =" $ de OLD_IFS " 

Et maintenant, en charge de l'effacement

  #! / Bin / bash
 TORRENT_DIR = '/ home / gonto / downloads / torrents »;
 VIDEOS_DIR = "/ home / gonto / Desktop / vidéos";
 ls-tr $ TORRENT_DIR | colonnes-c 1 | awk 'BEGIN {i = 0;} {i + +; print i, $ 0}';
 Ce nombre elegis manquer?  Séparé par des virgules;
 lire nums;
 # Séparation des nombres à base de dressage
 OLD_IFS = "$ IFS"
 IFS = ""
 numsArr = (nums $)
 PELIS_A_BORRAR = ""
 # Itero pour chaque numéro
 pour nombre dans $ {numsArr [@]}
 faire
 FILM = $ (ls-tr $ TORRENT_DIR | colonnes-c 1 | sed-n $ (echo $ {num} p));
 if [-n "$ MOVIE»]; Puis
 PELI_PATH = "$ TORRENT_DIR $ / MOVIE"
 PELIS_A_BORRAR = "$ $ PELIS_A_BORRAR PELI_PATH"
 fi
 fait
 films = (PELIS_A_BORRAR $)
 pour les films de cinéma en $ {[@]}
 faire
 rm-rf $ film
 fait
 IFS = "$" OLD_IFS 

Il est évident pour les deux scripts devront changer le répertoire de torrents et de vidéo pour vous la liste queiran et faire des raccourcis, respectivement.

Toute critique ou à l'amélioration des scripts seront bien pris en :) . Quelqu'un a suggéré que j'ajoute au raccourcissement d'URL copiée dans le presse-papiers et fait :)

SLD!

Lire la suite

Script pour raccourcir les URL avec le soutien Presse-papiers

10 mai

Un ami vient de le mentionner que ce serait bon d'ajouter le script pour afficher la console d'ailleurs le résultat de raccourcir l'url, il est envoyé à la presse-papiers et qui a fini par être ce sera ce que nous faisons.

Pour ce faire, d'abord installer le programme de xclip (avec apt-get), puis remplacer le script existant que nous devons raccourcir la suivante, en remplaçant comme avant que l'utilisateur et l'API:

  #! / Bin / bash
 progname = $ (basename $ 0)
 if [-z "$ 1"]
 Puis
         echo-e "Usage: $ url progname"
         sortie
 fi
 URL = $ 1

 BITLYURL = 'http://api.bit.ly/v3/shorten?login=NOMBRE_USUARIO&apiKey=API_KEY&format=json'
 Encodedurl = $ (python-c "import urllib; impression urllib.quote ('' '$ URL''')")
 RÉPONSE = $ (/ usr / bin / env curl-s-A $ BITLYURL Mozilla & longUrl = 'encodedurl $)
 TEXTE = $ (echo $ REPONSE | sed-e 's / [{}] /'' / g' | awk-vk = "text" "{n = split (0 $, un," ") pour (i = 1, i <= n, i + +) impression d'un [i]} "| sed-n 4p | cut-c 9 - | sed 's /" / / g' | sed 's / \ \ / / g')
 echo $ TEXT
 echo $ TEXTE | xclip-c sélection 
Lire la suite

Ordinateur de la taille d'un Pen Drive à 25 USD

7 mai

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

Nouvelles vérité choquante que j'ai lu aujourd'hui jouer.
Un concepteur de jeux vidéo qui vit au Royaume-Uni a élaboré un ordinateur de la taille d'une clé USB qui vous laissera 25 dollars.
Cet ordinateur aura Ubuntu installé par défaut et sera utilisable.

Viendra avec des ports HDMI et USB donc nous reliés par HDMI du moniteur et une souris USB et le clavier et avoir un ordinateur fonctionnel.

Cette image que vous voyez ici est au-dessus de l'ordinateur tout entier. Et cet ordinateur comporte les éléments suivants:

  • 700MHz ARM11
  • 128 Mo de SDRAM
  • OpenGL ES 2.0
  • 1080p30 décodage H.264 haute-profil
  • HDMI et une sortie vidéo composite
  • USB 2.0
  • SD / MMC / SDIO slot pour carte mémoire
  • À l'usage général d'E / S

Incroyable, non? Et seulement 25 $. J'en veux un!

Lire la suite

Script pour raccourcir les URL

6 mai

Script para acortar URLs

Nous continuons avec la vague de scripts de post. Un autre script que j'utilise beaucoup et est entièrement de ma paternité est l'un de raccourcir les URL. J'ai souvent envie de passer un poste URL raccourcie sur Facebook ou de le transmettre à quelqu'un ou à une variété de choses. La vérité est que d'avoir à aller sur le site de raccourcir copie est beaucoup laburo et la console est beaucoup plus facile.
Ce script utilise notamment bit.ly qui, à mon avis est le meilleur, qui a plus de statistiques et tout le reste. Qu'est-ce que vous allez avoir à remplacer dans le script est votre nom d'utilisateur et clé API de bit.ly. Après que il suffit d'appeler au
bitly http://www.google.com/ et ils apparaîtront l'URL raccourcie. Plus simplement impossible.

Les champs sont le remplacement votrenomutilisateur et TU_KEY.
Fondamentalement, ce qu'il fait est tout d'abord utiliser une bibliothèque python pour coder l'URL que l'URL bit.ly API REST utilisé encodeadas. Ensuite, nous avons frappé avec Curl bit.ly et puis en utilisant sed et awk obtenir l'url :) .
Voici le script que j'ai : D et le raccourcissement heureux : D

  #! / Bin / bash
 progname = $ (basename $ 0)
 if [-z "$ 1"]
 Puis
         echo-e "Usage: $ url progname"
         sortie
 fi
 URL = $ 1

 BITLYURL = 'http://api.bit.ly/v3/shorten?login=TU_USUARIO&apiKey=TU_KEY&format=json'
 Encodedurl = $ (python-c "import urllib; impression urllib.quote ('' '$ URL''')")
 RÉPONSE = $ (/ usr / bin / env curl-s-A $ BITLYURL Mozilla & longUrl = 'encodedurl $)
 echo $ REPONSE | sed-e 's / [{}] /'' / g' | awk-vk = "text" "{n = split (0 $, un," ") for (i = 1, i <= n, i + +) impression d'un [i]} "| sed-n 4p | cut-c 9 - | sed 's /" / / g' | sed 's / \ \ / / g' 
Lire la suite