Category Archives: programación

Matar consultas en mysql

A quien no le ha pasado que realiza una consulta sobre una tabla muy grande y antes no revisa si existen índices para realizar una búsqueda más rápida.

Existen dos comandos que nos pueden ayudar mucho.
SHOW PROCESSLIST (Muestra los proceso que tenemos corriendo (un proceso es una consulta).
kill (Mata un proceso).

SHOW PROCESSLIST;
KILL ;

Como recomendación siempre utilicen explain antes de realizar una consulta.

Chile y el cambio de hora

Hace un par de días el gobierno de chileno anunció la extensión del horario de verano hasta el día 2 de abril (anteriormente el horario se cambiaba hoy 12 de marzo). Después de esta noticia muchos sysadmin comenzamos a buscar los paquetes tzdata para actualizar nuestros servidores.

¿Alguien se ha tomando la molestia de buscar información sobre el tiempo y los sistemas informáticos?

Si. Aldrin Martoq escribió un articulo que vale la pena leer y considerar para todos los “informático”.

El tiempo y los sistemas informáticos

PHP no funciona en userdir

Hoy tuve que activar el módulo userdir en el servidor que corre ubuntu 10.04, para esto ejecute el siguiente código.

sudo a2enmod userdir
sudo /etc/init.d/apache2 restart

Luego cuando intente ingresar a http://servidor/~usuario el servidor me enviada el archivo index.php con el código fuente, es decir no estaba interpretando los archivos .php, pero si revisaba algún sitio existente en el /var/ww/ todo funcionaba bien. Buscando en google encontré la solución. Simplemente debía editar el archivo /etc/apache2/mods-enabled/php5.conf y comentar las linea que tenía lo siguiente php_admin_value engine Off. Ahora mi archivo está de la siguiente manera.

SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
# To re-enable php in user directories comment the following lines
# (from  to .) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#        php_admin_value engine Off

Espero que a alguien le sirva este consejo.

Mi .vimrc

Vim software potente pare editar archivos incluido en casi todos los sistemas unix. Tiene muchas características que facilitan el trabajo para los desarrolladores, además es ideal para trabajar en forma remota vía ssh. A continuación les comparto mi archivo de configuración para vim versión 7.x

"Tabs
map  :tabnew
map  :tabprevious
map  :tabnext
map  :tabfind

"Autocomplete
function! Tab_Or_Complete()
  if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w'
    return "\"
  else
    return "\"
  endif
endfunction
:inoremap  =Tab_Or_Complete()
:set dictionary="/usr/dict/words"

"cakephp
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufRead,BufNewFile *.ctp setfiletype php
augroup END

syn on
set number

Incluye

  • Autocompletar presionando la tecla TAB
  • Muestra el número de lineas en el archivo
  • Colorea los archivos *.ctp de cakephp utilizando la sintaxis de PHP
  • Posee alias para los tabs teclas F2 F3 F4 y F5
  • Y ustedes que cambios han realizado a vim?

    Leer archivo mdb (access) de php en ubuntu

    Por motivos de trabajo tengo que leer/escribir archivos de MS Access (*.mdb) utilizando PHP. Después de leer varios foros y documentos les dejo la solución que encontré.

    Primero debemos instalar algunos software.


    sudo aptitude install php5-odbc mdbtools libmdbtools libmdbodbc

    Luego deben editar los siguientes archivos /etc/odbcinst.ini y /etc/odbc.ini


    [MDBToolsODBC]
    Description = MDB Tools ODBC drivers
    Driver = /usr/lib/libmdbodbc.so.0
    Setup =
    FileUsage = 1
    CPTimeout =
    CPReuse =

    En este archivo deben indicar el path del archivo .mdb que desen leer.


    [DSS]
    Description = DSS-TMP
    Driver = MDBToolsODBC
    Database = /home/stefano/DSS/DB.mdb

    Luego para probar si la conexión esta correcta en la consola deben escribir


    stefano@arda:~$ isql DSS

    Y aparecerá un mensaje indicando que ya están conectados a su base de datos. Ahora sólo queda leer el archivo desde PHP para eso pueden usar el siguiente snippet.


    $conn = odbc_connect("DSS","","");
    $result = odbc_tables($conn);

    $tables = array();
    while (odbc_fetch_row($result)){
    if(odbc_result($result,"TABLE_TYPE")=="TABLE")
    echo"
    ".odbc_result($result,"TABLE_NAME");
    }
    ?>

    Compilar LaTeX en windows

    Desde hace un par de días he estado usando notepad++ como editor para trabajar en mi tesis de magister, principalmente por el soporte para utf-8, pero este editor si bien trae un coloreador de sintaxis  (Syntax highlighting) no trae soporte para compilar un documento .tex. Es por eso que me puse a  escribir un pequeño (muy pequeño) script en batch para poder compilar solo con un click.

    Para poder utilizar este script solo deben crear un archivo con extensión .bat y editar una linea donde se establece el nombre del archivo a compilar, luego guardan y listo ya tienen un programilla que les permitirá compilar con un click.


    @echo off
    set FILE_tex=propuesta_tesis.tex
    cd %CD%
    IF EXIST %FILE_TEX% (GOTO existe) ELSE (GOTO noexiste)

    :existe
    pdflatex %FILE_TEX%
    bibtex %FILE_TEX%
    pdflatex %FILE_TEX%
    pdflatex %FILE_TEX%
    exit

    :noexiste
    echo 'El archivo NO existe'
    pause
    exit

    Rss Feed Tweeter button Facebook button Technorati button Reddit button Linkedin button Webonews button Delicious button Digg button Flickr button Stumbleupon button Newsvine button Youtube button