Hoy implementé el patrón Layout en CodeIgniter para un proyecto nuevo.
Una buena guía para hacer eso es esta.
Hoy implementé el patrón Layout en CodeIgniter para un proyecto nuevo.
Una buena guía para hacer eso es esta.
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.
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:
Buenísima esta solución para prevenir encoding issues (¡especialmente el bash script del final!):
http://nathan.rambeck.org/blog/1-preventing-encoding-issues-mysqldump
Buscando una alternativa a la función mail() de PHP que por alguna desconocida razón no funcionaba en mi máquina (y sí funcionaba mandar emails desde la consola de comandos) encontré esta joyita orientada a objetos, muy completa:
Como hacerlo para no tener problemas de encodig:
http://makandracards.com/makandra/595-dumping-and-importing-from-to-mysql-in-an-utf-8-safe-way
Acabo de encontrar estas dos funciones muy útiles para Emacs:
M-x flush-lines remueve todas las líneas que concuerden con una regexp
M-x keep-lines remueve todas las líneas que NO concuerden con determinada regexp
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.
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: