El camino de Emacs

Este es mi RoadMap con respecto a Emacs:

– [X] Editor de texto / IDE

– [X] Cliente IRC

– [X] Chat / Facebook chat

– [X] Agenda / anotador / Life planner / time tracking/ project planner (Org-mode)

– [X] Shell / terminal

– [-] Cliente RSS (lo usé como tal pero no me convenció mucho.

– [X] Wiki personal

– [X] Lector de PDF

– [ ] Cliente de Email

– [ ] Lanzadera espacial.

Quién sabe qué nuevos usos tendré con este editor. Sus capacidades son casi ilimitadas. Seguro me estoy olvidando otros usos que le doy.

Lectura del día: elemental vs fundacional

Elemental (o elementario.. no se cómo se traduce) es algo que surge pronto de las matemáticas y se construye con poco. O sea, no se precisa una enorme magia matemática para probarlo.

Fundacional quiere decir que sobre él se construye mucha otra matemática mas complicada (teoremas, etc.).

Fuente:

http://www.johndcook.com/blog/2014/04/21/elementary-vs-foundational/

Detectar problemas de memoria en PHP


echo "Memory after attachment: ".memory_get_usage(true).PHP_EOL;
$attachmentId = pods_attachment_import(LODGE_FEATURE_PHOTOS_FOLDER.$image, $lodge["ID"], true);
echo "Memory before attachment: ".memory_get_usage(true).PHP_EOL;

Poniendo varias de estas líneas en el código podemos saber qué llamada es la que nos está consumiendo memoria. Se empieza por dividir el código en partes “sospechosas” y luego en el log vamos viendo entre cuáles se hizo la diferencia de memoria. Ejemplo:

Memory before attachment: 47972352
Memory after metadata: 47972352

Está claro que ahí no hay un problema de memoria.

 

Org-Mode I

Estados custom

Agregar al principio del archivo esta línea:

#+TODO: TODO(t) WORKING(w) | DONE(d) CANCELED(c)

Shortcuts

C-c C-c Toggle checkbox
C-c C-x C-b Org Toggle checkbox
C-c C-x C-a Archive subtree (org-archive-subtree)

Estadísticas

Agregar [/] en la entrada padre y apretar C-c (al final de la línea) o apretar C-c en alguno de los checkboxes (o marcarlo como “completed” / “done”, etc.) para actualizar la estadística.

Reportes y timers

C-c C-x C-i para iniciar un timer
C-c C-x C-o para detener un timer
Marcar una tarea como DONE para detener un timer
C-c C-x C-r para actualizar el reporte

Reporte semanal (suma de horas)


#+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek

#+END:

Reporte diario detallado


#+BEGIN: clocktable :maxlevel 2 :scope file :block today

#+END:

Reporte semanal detallado


#+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step day :stepskip0

#+END: