Category Archives: Emacs

Un blog amb Jekyll

Avui he decidit escriure alguna cosa, ja fa temps que no escric res. Així que he volgut provar una cosa que em ronda el cap fa dies, fer un bloc usant git i jekyll. Els motius són varis, però la idea d epoder escriure un bloc des d’EMACS i sincronitzar amb GIT, i amb el nom senzill… és irresistible.

S’usa per escriure el llenguatge de marques MarkDown i per defecte l’extensió .md, i Emacs compta amb markdown-mode que facilita la seva escriptura. Així que seguim amb EMACS 🙂

Anem a per feina…

Instal·lar-ho tot!

Primer que res cal instal·lar git, ruby i jekyll:

sudo apt-get install git ruby jekyll

Compte! també cal tenir instal·lat l’intèrpret de JavaScript (nodejs):

sudo apt-get install nodejs

Creem pàgina en local

Ara, crearem l’espai per treballar en local, podem crear un blog usant Jekyll:

jekyll new jekyll-blog 

Però si volem crear una carpeta per sincronitzar amb git, ens cal que tingui el mateix nom d’usuari de Github. Per fer això podem usar Jekyll:

jekyll new nomusuari.github.io

o també GIT:

git init nomusuari.github.io

Plantilles

Si volem podem trobar plantilles de Jekyll, i així podem usar-ne una que ens agradi, només caldrà descomprimir tot el contingut del zip dins de la nostra carpeta que hem creat abans.

Iniciem el servidor local

Per poder navegar en el nostre blog i veure com va quedant, el podem executar amb:

jekyll serve

Configurem GIT

Tot seguit ens cal configurar git, cal tenir un compte a Github:

git config --global user.name "nomusuari"
git config --global user.email "identificadordelcorreu"

Sincronitzem amb GITHUB

Un cop veiem que el blog està al nostre gust, ara podem clonar-lo a la xarxa usant el Git. Així podem sincronitzar el nostre bloc i penjar-lo a la xarxa, primer entrem a la carpeta:

cd nomusuari.github.io

I cada vegada que fem un push s’actualitzarà.

git add --all
git commit -m "Initial commit"
git push -u origin master

Ens demanarà el nom d’usuari i després la contrasenya…

I amb tot això, ja ens ha de funcionar! 😉

Algunes solucions!

En algun cas podem trobar algun problema amb el Ruby, he trobat possibles solucions com ara:

sudo apt-get ruby-dev

o

sudo apt-get install ruby1.9.1-dev

és a dir instal·lant el Ruby en desenvolupament, i concretament la versió 1.9.1

Una altra cosa és poder instal·lar-lo com a gema de Ruby:

sudo gem install Jekyll

Un altre error que m’ha sortit alguna vegada és la manca de la gema de Ruby (redcarpet), això m’ha passat en ubuntu 14.04 i derivades… vol dir que ens cal fer el que he comentat abans, i seguint els passos:

sudo apt-get install ruby1.9.1-dev
sudo gem install jekyll

En el cas d’Ubuntu-mate em donava un error amb els paquets ruby*dev, així que al final he vist una solució, instal·lar:

sudo apt-get install ruby1.9.1-full

Un altre error que m’ha sortit instal·lant Jekyll a un altre netbook ha estat:

/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: iconv will be deprecated in the future, use String#encode instead.

La solució:

sudo apt-get install rubygems-integration

Anuncis

Colors a Emacs

Paletaculori.gif

Després d’un temps treballant amb Emacs van venint ganes de donar-li un aspecte més personal, és a dir, un toc de color!

Hi ha varies maneres de fer-ho. Per una part tenim l’opció de configuració del propi Emacs:

M-x customize-face

On podrem triar els colors de fons, tipus de lletra, colors varis i un gran etc. I ens queda desat.

A mi m’agrada fer-ho directament al meu .emacs.

Així que he escrit només un canvi de color de fons (background) i de lletra (foreground):

(set-foreground-color "white")
(set-background-color "black")

Per conèixer més colors podem trobar la pàgina Colors Available to Emacs on ens diu els colors i com cercar-los. He fet la prova al Ubuntu i ho he trobat a cat /etc/X11/rgb.txt.

Si volem alguna cosa més bonica, podem usar un mode ja preparat a Emacs Themes on podrem remenar i veure el codi per tunejar-nos l’Emacs.

I ara a fer proves! 😉

Emacs24 a la Linkat

Després d’uns dies usant Emacs24 he passat a fer la instal·lació a la Linkat 11.4. No la tenim al repositori, així que per poder fer-ho la descarregarem directament de la pàgina oficial i ho compilarem. Un dels avantatges un cop instal·lat, és que des de la versió 24 podem gaudir dels repositoris propis, i així poder ampliar-lo amb nous modes, i mantenir-ho actualitzat.

file://https://croniqueslinux.files.wordpress.com/2013/04/wpid-emacslinkat.png

Així que, el primer que caldrà és descarregar la última versió:

wget http://ftp.gul.es/gnu/ftp.gnu.org/gnu/emacs/emacs-24.3.tar.gz

un cop descarregat, cal descomprimir:

tar -xzvf emacs-24.3.tar.gz

i entrem a la carpeta:

cd emacs-24.3

Ara passem a Instal·lar-ho: Abans de compilar, caldrà executar autogen que farà una comprovació de les dependències i paquets:

$ ./autogen.sh

Inicialment m’ha donat alguns problemes de dependències:

Your system has the required tools, running autoreconf...
./autogen.sh: line 211: autoreconf: no s'ha trobat l'ordre

Així que he mirat i he vist que no hi ha l’ordre autoreconf! Em feia falta tenir algunes dependències per fer les compilacions!

zypper in autogen autoconf build-essential  automake libtiff-devel giflib-devel ncurses-devel

Seguidament ens diu:

Your system has the required tools, running autoreconf...
You can now run `./configure'.

Ara tot està correcte!!! Passem a compilar!

$ ./configure
$ make
$ su
$ make install

Després d’una bona estona….

Ja tenim l’Emacs24 a la Linkat!

file://https://croniqueslinux.files.wordpress.com/2013/04/wpid-emacs24linkat.png

😉

Instal·lar modes en Emacs 24

Ja fa un temps que Emacs va passar a la versió 24, i des del juny del 2012 que en podem gaudir de noves funcionalitats. Fins ara havia estat usant la versió anterior. Però avui m’he dedicat a provar la versió 24, exactament 24.3 que tenim des del passat 11 de març de 2013. https://i0.wp.com/upload.wikimedia.org/wikipedia/commons/0/08/EmacsIcon.svg

I una de les coses que he començat a fer és editar un document en Latex. Així que refent el document m’he trobat que no compilava. Habitualment uso el mode AUCTeX, però en obrir-lo en el nou Emacs24 m’he trobat que no funcionava.

Així que a cercar possibles solucions en la xarxa. I de sobte m’he enrecordat que Emacs24 permet fer instal·lacions. Res més senzill que:

M-x package-install
>> prèmer tecla retorn!
auctex

I en breu ja tenim instal·lat el mode!

Si volem llistar els paquets:

M-x list-packages

I ara ja podem anar instal·lant els nous modes directament des del servidor d’Emacs que es troba a http://elpa.gnu.org/ i si volem podem fer un cop d’ull directament a la web per conèixer el repositori directament.

Per realitzar la instal·lació, podem posar-nos sobre un de la llista i clicar la tecla:

“i” per instal·lar,

“d” per suprimir,

“u” per desmarcar,

“r” per fer un refresc de la llista,

“x” per executar el que hem marcat…

A més a més, podem afegir altres repositoris, com ara el marmalade o melpa, per afegir-lo res més senzill que incloure’l al nostre ~.emacs:

(require 'package)
(add-to-list 'package-archives 
 '("marmalade" . "http://marmalade-repo.org/packages/")
 '("melpa" . "http://melpa.milkbox.net/packages/"))
(package-initialize)

I ja està!

😉

fonts:

Més enllà d’una imatge

He conegut fa poc un concepte que no coneixia: esteganografia. La idea és ocultar una informació dins d’una imatge.
Podem ocultar un text, o una altra imatge. Per poder dur a terme aquesta tècnica hi ha moltes eines, des de steghide o outgess. Les eines són molt completes i molt interessants. Però el que jo vull explicar aquí és com fer-ho des de la terminal, i d’una manera molt senzilla.
Anem a fer un exemple.

Ara vull desar un petit text dins d’una imatge, en aquest cas podriem usar una gif que ocupi molt poc espai:
https://croniqueslinux.files.wordpress.com/2012/12/wpid-mostra.gif

echo "text a afegir" >> mostra.gif

per llegir el que he posat:

tail mostra.gif

Una altra opció seria usar un editor tipus emacs o vi(m). La idea és obrir la imatge amb l’editor i al final, escriure el text que volem!
Per exemple amb Emacs ho he intentat des de mode gràfic i hem visualitza la imatge, així que he ober una terminal i he escrit:

emacs -nw mostra.gif

Ara vaig al final del text, en el meu cas he vist un ; i a constinuació he escrit el que vull desar ocult en la imatge.
https://croniqueslinux.files.wordpress.com/2012/12/wpid-estego01.png

També es poden afegir dins de videos, o d’altres documents. Si volem afegir una imatge dins d’una altra, doncs podriem posar alguna cosa com:

cat imatge1.git >> imatge2.gif

Així ens quedaria la imatge1 dins de la imatge2.

Crec que és una cosa força curiosa!

🙂

instal·lar un paquet experimental a Debian

Avui per un problema amb el network-manager he decidit instal·lar un paquet des del repositori experimental al portàtil on tinc instal·lat Debian (Testing). El primer que he vist és que hi havia la nova versió del network-manager 9.6 i amb alguns problemes corregits. Sempre quan instal·lem un paquet des del repositori experimental cal tenir present que no són segurs del tot, ja que des de Debian no n’asseguren el correcte funcionament.

El primer que farem és afegir el repositori a: /etc/apt/sources.list

deb http://ftp.de.debian.org/debian experimental main 

Si voleu un repositori més a prop podeu canviar el codi del país …ftp.de.debian… > …ftp.es.debian… 😛 Un cop afegit cal actualitzar.

apt-get update

I finalment cal instal·lar-ho des del repositori que volem amb la comanda:

apt-get install -t experimental network-manager

Finalment si voleu deshabilitar l’experimental, només caldria tornar a editar de nou /etc/apt/sources.list i comentar-ho:

#deb http://ftp.de.debian.org/debian experimental main 

🙂

Canviar el noms de fitxers amb rename

Algunes vegades necessito canviar el nom d’un fitxer o d’una carpeta, res més senzill que usant l’entorn gràfic i fent clic amb el botó dret sobre el fitxer (ho faig així amb el nautilus, o el pcmanfm, o el dolphin) o directament amb el fitxer eleccionat i prement [F2].

Però quan vull canviar molt fitxers de nom o d’extensió, llavors es fa molt lent. Hi ha eines gràfiques per fer-ho com gprename, krename o pyrenamer, però jo voldria compartir la que uso jo, des de terminal, la comanda rename.

Tenim la comanda de linux mv que ens pot fer servei, però aquest cop parlaré de la comanda rename. Està escrita en perl i això vol dir que usa les mateixes expressions regulars de perl.

L’altre dia vaig fer unes carpetes comprimides en zip d’unes imatges, i després vaig pensar que si els convertia a cbz els podria visualitzar amb un visor de comics (comix o el propi okular o evince). Resulta que els fitxers cbz són zip amb extensió canviada, així que només calia canviar el nom de l’extensió.

Canviar l’extensió dels fitxers

Així, res més senzill que usar rename per canviar l’extensió dels fitxers de *.zip a *.cbz he usat:

rename -v .zip .cbz *.zip :

Si ens fixem veiem que he posat -v per anar veient tot el procés (-v verbose) després li dic que vull canviar .zip per .cbz i al final li dic que ho faci en els fitxers *.zip (tots els que tenen l’extensió zip).

Si volguessim canviar un *.JPG en majúscules en *.jpg en minúscules, senzill:

rename -v .JPG .jpg *.JPG :

Canviar el nom dels fitxers

Ara us vull comentar la idea de canviar una part del nom o tot el nom del fitxer. Per exemple volem canviar el nom de varies fotos que hem fet amb la càmera, i que la càmera ha nombrat com arar IMG_5121.JPG IMG_5122.JPG IMG_5123.JPG ….. i volem que es digui fotografia_5121.JPG, etc…

Doncs res més senzill:

rename -v IMG fotografia IMG* :

Així, buscarà tots els arxius començats per IMG (IMG*) i canviarà IMG per fotografia.

Més informació

Podeu trobar més informació a:

man rename:

i en algunes pàgines de la web:
Algo de linux: Comando rename
jmarior ens explica l’ús de rename
Soluciones productivas Libres: Renombrar archivos…

Nou Emacs 24.1

Els que som usuaris d’Emacs, podem estar contents amb la nova versió d’Emacs. El dia 10 de juny de 2012 ha sortit la nova versió. A la pàgina oficial tenim algunes de les noves característiques:

  • Un sistema de paquets per instal·lar més funcionalitats (M-x list-packages).
  • Possibilitat per escriure bidireccionalment, molt útil per a escriure en llengües com l’àrab i l’hebreu.
  • Es pot customitzar l’aspecte amb temes (M-x customize-themes).
  • Suport per a GnuTLS, GTK+ 3, ImageMagick, SELinux, i Libxml2.

Si en volem saber més, podem llegir-ho aquí.

https://i2.wp.com/www.gnu.org/software/emacs/tour/images/splash-small.png

Si el volem instal·lar en Debian, podem usar la pàgina http://emacs.naquadah.org/ com a deb de referència. Així, entrem a la terminal com a root i fem:

  • afegir el repositori al sources:

$ emacs /etc/apt/sources.list i escrivim -> deb http://emacs.naquadah.org/ unstable/

també ho podem fer directament amb la comanda echo

$ echo "deb http://emacs.naquadah.org/ unstable/" > /etc/apt/sources.list.d/emacs24.list

  • aconseguir les claus:

$ wget -q -O - http://emacs.naquadah.org/key.gpg | sudo apt-key add -

  • actualitzar:

$ apt-get update

  • instal·lar:

$ apt-get install emacs-snapshot-gtk

I a xalar del nou Emacs.

En Ubuntu tenim el lauchpad: https://launchpad.net/~cassou/+archive/emacs

I sempre podem instal·lar-lo directament compilant-lo, abaixant-nos-el des de http://ftp.gnu.org/pub/gnu/emacs/.

😉

Recompte de caracters amb EMACS

Últimament utilitzo emacs per a escriure treballs, notes, documents i un bon munt de textos. Feia dies que buscava la manera de recomptar els caracters amb emacs, sovint ens va marcant la línia on ens trobem, però no ens indica els caracters. La solució és triar el text i fer M-=, si volem recomptar tot el text, llavors la seqüència seria C-x h i després M-=.

😉

Escriure símbols i diacrítics en Emacs

https://i0.wp.com/www.princeton.edu/~chaol/theme/emacs-logo.png Sóc usuari novell d´Emacs, i cada cop m’agrada més. Quan vaig estar a la Xina em vaig comprar un netbook (Asus Eeepc) i només té teclat americà. El primer que vaig fer va ser posar-li Gnu/Linux (Ubuntu) i configurar-li la possibilitat del “compose”, així puc escriure usant la tecla que he predifinit (Alt-right) per poder composar lletres. En el cas d´Emacs no m’anava la tecla compose, així que la ç o les lletres accentuades eren una mica complicades d’escriure en català amb el preuat Emacs.

Això ha estat així fins que he llegit l’article Diacritics in Emacs de la pàgina masteringemacs.org. Així que he pres unes notes i he fet proves en Emacs que escric a continuació. Emacs té suport compert per Unicode, i també diferents mètodes d’entrada permetent que Emacs pugui treballar amb diverses llengües. A l’emacs tenim tres mètodes per inserir símbols i diacrítics: Unicode Code Points, Character Composition i Multilingual Text Input.

Unicode Code Points:

Per usar aquest mètode fem C-x 8 RET i escrivim el codi hex o el nom, també podem teclejar TAB per llistar les possibles opcions. Així podem escriure:

⌨ fent C-x 8 RET KEYBOARD 
⌢ fent C-x 8 RET FROWN

Character Composition:

Una altra manera d’escriure usada, en especial per diacrítics, és usar el sistema semblant a l’anterior: C-x 8 Per exemple, per escriure ç fem C-x 8 , c i per escriure ó fem C-x 8 ‘ o Per llistar possibilitats tenim l’opció C-x 8 C-h i per llistar tots els caracters accentuats C-x 8 ‘ C-h

C-x 8 ' SPC   '
C-x 8 ' '     ´
C-x 8 ' A     Á
C-x 8 ' i     í
C-x 8 ' y     ý

Multilingual Text Input.

Per activar el mode d’entrada en altres llengües amb emacs només cal activar-ho i desactivar-lo amb C-\ o M-x toggle-input-method. A la barra inferior quedarà marcat el mètode que estem usant, per exemple el mode que uso per escriure en català és “latin-1-prefix” i queda a sota marcat

-1>U:**- :

Qua s’activa podem escriure els accents de forma habitual com ara:

é ho fem amb 'e
è ho fem amb `e
ç ho fem amb ~c
' ho fem amb 'SPC

Per poder canviar entre diferents modes d’escriure podem fer-ho teclejant amb C-x RET C-\ o M-x set-input-method. Així per exemple podem triar escriure en:

xinès: C-x RET C-\ i triant chinese-py i ja podem escriure en xinès 你好!
japonès: C-x RET C-\ i triant japanese i ja podem escriure ひらがな
àrab: C-x RET C-\ i triant arabic i ja podem escriure ع ث ر ة

i una llarga llista de llengües amb caracters diferents…

Fins i tot podem usar per escriure diacrítics amb llenguatge Tex, C-x RET C-\ i triant tex i ja podem escriure:

\`a dóna à
\"o dóna ö
\=a dóna ā
\o  dóna ø 
\ss dóna ß
\d{a} dóna ạ 

o fins i tot símbols matemàtics:

\sum dóna ∑
\div dóna ÷
\frac12 dóna ½  
\gamma dóna γ

A més a més, tenim que podem usar altres formes d’entrades com IPA, sgml, i un llarg etc. Només cal C-x RET C-\ i TAB per a que surti una llista llarga de possibilitats.

font: Diacritics in Emacs

%d bloggers like this: