Integracion de codesnifer vim.

0 comment
Codesniffer es una herramienta para chequear codigo PHP segun el standar de codificacion. Interprentando dentro de vim se pueden obterner la lista de errores en una ventana separada dentro del mismo editor. La ventana de error permite saltar por cada error el codigo, icluso si cambian las numeraciones de las lineas. 

Se ve algo asi 

Para activarlo es necesario tener la herramienta phpcs.

luego agregar el siguiente codigo en  $VIMHOME/plugin/phpcs.vim:


function! RunPhpcs()
let l:filename=@%
  let l:phpcs_output=system('phpcs --report=csv '.l:filename)
" echo l:phpcs_output
let l:phpcs_list=split(l:phpcs_output, "\n")
unlet l:phpcs_list[0]
cexpr l:phpcs_list
cwindow
endfunction

set errorformat+=\"%f\"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,\"%m\"
command! Phpcs execute RunPhpcs()

Ahora se puede correr el Codesniff  para el archivo que se esta editando con el comando 

:Phpcs


fuente 

Wake on Lan. Despierta por la red

2 comment
Tratando de hacer cualquier cosa para evitar leer nuevamente los capítulos de CCNA.

Encontré una tarjeta de red que si soporta WOL. y por supuesto el cable necesario 


y despues de leer este blog me tome un poco de tiempo para probarlo. 

lo que sigue es un Ctrl + c, Ctrl + v y  edit del link anterior. 

- Primero: hay que configurar la BIOS. para que permita que dispositivos PCI despierten al ordenador. Es requerido activar el Power On by PCI Devices o el Power On by PCI Cards.

- Segundo: Configurar La NIC del SO. (la tarjeta de red) 

En GNU/Linux la herramienta más indicada es el ethtool. Este comando nos permite mostrar o cambiar parámetros de la mayoría de los drivers de las tarjetas 


Lo mejor para asegurarnos de que el PC sólo se despertará cuando nosotros queramos , es elegir que despierte con un MagicPacket. Si la MAC fuera 01:02:03:04:05:06, el paquete mágico contendría en el campo de datos:

FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506

Por tanto, activamos el WoL para MagicPacket:

# ethtool -s eth3 wol g


En envío del paquete mágico


Finalmente, tras dejar el PC correctamente apagado, para despertarlo desde otro PC necesitaremos alguna utilidad que mande el paquete mágico.

En Linux tenemos dos utilidades ya empaquetadas a tiro de apt-get, el wakeonlan y el etherwake:

En lo personal me quede con etherwake, porque es un programilla chico que hace la pega el código esta por acá 

Si ejecutamos por ejemplo

# etherwake 00:22:33:22:44:33

donde 00:22:33:22:44:33 es la dirección MAC de la tarjeta del pc configurado anteriormente, (el que esta apagado)


Para finalizar

Resumen de los que necesitamos para que el WoL funcione:
- Que el hardware lo permita
- Configurar la BIOS
- Configurar el interfaz de red para que acepte las peticiones de WoL
- Dejar el PC correctamete apagado
- Enviar la petición desde otro sistema

 Enjoy

How to install Fedora DomU on Xen server

0 comment
To install a fedora guest U need change the install-method and the dist params of xen-create-image tool.


xen-create-image --hostname=fedora --ip=10.0.0.5 --size=200GB --force --install-method=rinse --dist=fedora-core-8

I'm actually looking for a recent version, but this it's working.

Automatic VGA output mode

0 comment
Me acabo de comprar una pantalla LCD de 1600x900. El problema esta cuando llego con mi laptop sin pantalla y lo conecto a otro monitor con otra resolución.
la solucion un xrandr como en el post anterior, pero en un script que se ejecuta luego de iniciar la sesión gráfica de usuario.


default_mode=1600x900

hight_mode=$(xrandr | awk '{print $1}'| grep VGA -C 1 | grep x)
if [ $hight_mode = $default_mode ]
     then
         echo "Greetings. System started" | festival --tts
     else
         echo "Setting VGA mode" | festival --tts
xrandr --output VGA --mode $hight_mode
fi



lo que hace esto es tomar la mayor resolución disponible de la linea VGA  preguntar si es igual a la por defecto que es en mi casa.  si es la misma hacer nada.
si son distintas setiar la meyor disponible.

festival lo uso para que el pc me diga lo que ocurre ya que si falla no tendre pantalla para ver.

Read LPT from python

1 comment

Continio jugando con el LPT, esta vez la idea es lograr una lectura usando python. 

Por razones que varios conoces esto no se puede hacer directamente desde el lenguaje, 

desconozco si existe algún método distinto para hacerlo, pero creo que no.

La idea es crear un wrapper a algunas funciones de la libreria sys/io.h 

específicamente las funciones ioperm, inb y outb. 

para ello se crea un archivo pylpt.i (he nombrado al modulo)


%module pylpt
%{
#include <stdio.h>
#include <sys/io.h>
#include <stdlib.h>
%}

int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on);
unsigned char inb (unsigned short int port);
void outb (unsigned char value, unsigned short int port);


Seguido de un Makefile para poder compilar los módulos usando swig 




all: _pylpt.so

_pylpt.so: pylpt_wrap.o
      gcc -o _pylpt.so -shared pylpt_wrap.o 

pylpt_wrap.o: pylpt_wrap.c
      gcc -fpic -c pylpt_wrap.c -I/usr/include/python2.5/ -I/usr/local/include

pylpt_wrap.c: pylpt.i
      swig -python pylpt.i

clean:
      rm _pylpt.so pylpt_wrap.o pylpt_wrap.c pylpt.py




Y finalmente un programita en python que prueba las funciones, 

solo tengo probada la lectura del puerto. Que es lo que necesito por el momento.



import pylpt

BASE = 0x378
STATUS = BASE+1

def main():
    print 'Entring Program'
    print pylpt.ioperm(BASE,3,1)
    while True:
       print pylpt.inb(STATUS)  
    print BASE
    print 'Exiting Program'
    return


if __name__ == '__main__':
    main()

Dos monitores (dual-head) con xrandr

0 comment

Seguramente muchos han tenido algun tipo de problema cuando conectan su portatil a un data. 

indagando llegue a esta solucion. usar la aplicacion xrandr. 

esta permite encender, apagar la salida VGA, como tambien modificar modos y resoluciones. 

en resumen 

para activar la salida vga 

$ xrandr --output VGA --mode 1280x800

para apagarla

$ xrandr --output VGA --off

Ahora como en muchos casos los datas soportan solo hasta la resolucion de 1024x768, tambien podemos 

activarlo usando distintas resoluciones para la linea LVDS y VGA.

$ xrandr --output LVDS --mode 1280x800 --output VGA --mode 1024x768

como la ultima opcion es la que uso muchas veces, creo un lanzador en el menu. 

que se ve asi 



existe mas informacion de como hacer escritorio extendido en este link 

esto no requiere de reiniciar las X cada vez que conectamos un data en la maquina

ASCII en Linux

0 comment

Si alguien tenia la costumbre de poner caracteres en pantalla usando la techa alt+[valor]

e.g: Alt+64 = @

en linux es tan solo Ctrl+Shift+u [valor] claro que este va en hexadecimal 

Ctrl+Shift+u 40 = @

Notable, sacado de los recuerdos

0 comment

Tabla de contenidos en columnas.

0 comment

Hoy me me tope con un incoveniente al momento de ver el resulatado de mi presentacion. 

Resulta que por un numero considerable de secciones la tabla de contenidos se ve desordenada

la idea es ordenarla en columnas. 

para ello googleando llego a estas instrucciones en el frame de contenido


\begin{frame}
\frametitle{Agenda}

\begin{columns}
\begin{column}{0.5\textwidth}
\tableofcontents[sections={1-4}]
\end{column}
\begin{column}{0.5\textwidth}
\tableofcontents[sections={5-8}]
\end{column}
\end{columns}

\end{frame}

Con ello el resultado es el siguiente

Ordeno las primeras 4 secciones en la primera columna y las siguientes en la segunda. 

TexMaker.

0 comment

Bueno la idea es mostrar lo simple de crear documentos y presentaciones multiplataformas. 

y con un estilo que deja huellas.







Deteccion de descontinuidad usando LPT

2 comment
Buenas,

Con un poco de tiempo extra, hice lo siguiente, 

Usando el puerto paralelo para como lectura implemente un programilla, que esta monitoreando este puerto y cuando ocurre algo ejecuta un script en particular.

su utilizacion : despues de encontrar unos sensores magneticos dejados por una compañia de seguridad en la casa quise hacer lo mismo. 

detallo, materiales.

- adaptador db25

- mucho cable

- sensor magnetico (opcional)

- placa de circuitos (opcional)

Desde el puerto LPT se puede leer la sona de status, solo 5 pines. como la foto

los pines a usar son el 10, 11, 12, 13 y 15 por eso cableo de la siguente manera

y en la placa.

El sensor magnetico funciona simplemente como un switch

mantiene el flujo electrico cuando las dos parte estan juntas y lo corta cuando se separan.

Finalmente queda de esta forma, ya que solo estoy usando una sola entrada, las restantes las dejo conectadas con un jumper cada una.

El programa actualmente lo tengo alojado en pylpt.7z

Su isntalacion es simple, solo 

$ make

# make install

lo cual copia los archivos de configuracion al directorio /etc/sec 

primero al ejecutar el programa queda corriendo como demonio (codigo reutilizado de pcbotBase.h)

en el archivo de configuracion /etc/sec/sec.conf se indican las ubicaciones de los archivos a usar y los script a ejecutar dependiendo del switch que se desconecte. 

por defecto cada script agrega que switch se desconecta y la fecha a un archivo log. 

en mi caso tengo el primer switch conectado a la puerta principal de la casa.

y dentro del script sw1.sh tengo las rutinas para que se despache un email, a mi direccion, cuando esto ocurre.

Espero que sea util.

.tex a documento editable (rtf)

0 comment
Bien cuando generamos un documento usando las herramientas latex, generalmente se requienren de documentos que se puedan editar, googleando entontre una que me permite compilar los archivos .tex y generar un .rtf  para instalar solo hace falta

# yum install latex2rtf

actualmente pesa 774 k

Para usarlo lo mas logico seria:

$ latex2rtf documento.tex -o documeto.rtf

me arroja un sin fin de errores. Por los cual leyendo el manual me doy cuenta que se puede utilizar el archivo .aux generado en la compilacion del pdf normalmente usado 

por tanto 

$ latex2rft -a documento.aux -o documento.rtf 

y una conversion exitosa.

Convertir pdf a odt

0 comment

Muchas veces requerimos de editar un pdf. 


Una de las muchas opciones es convertir el pdf a un formato editable. Para ello necesitamos  
instalar el programa “xpdf” 
Este, en realidad es una suite de herramientas para archivos PDF.

$ pdftotext archivo.pdf

Esto nos generará un archivo del mismo nombre que el pdf pero en formato txt. Si queremos obtener un .odt en forma directa:

$ pdftotext archivo.pdf archivo.odt


source

Primer entrenamiento

1 comment


solo compartiendo el video.
mas delante explicare a que esta relacionado.

Twitter on pidgin

0 comment
To twitting on us pidgin we need add the next plugin microblog-purple.
Human rules.

1.- Download de package.
2.- Uncompress it.
3.- Compile it.
4.- Install.
5.- Enjoy.

Linux rules

$ wget http://microblog-purple.googlecode.com/files/mbpurple-0.2.2.tar.gz
$ tar -zxvf mbpurple-0.2.2.tar.gz
$ cd mbpurple-0.2.2
$ make
// posible dependencies error install pidgin-devel libs.
# make install


Restart your pidgin.
Enjoy.

Video tips

0 comment

convert to avi using ffmpeg

$ ffmpeg -i original.ogv -vcodec mpeg4 -sameq -acodec libmp3lame out.avi

cut video using mencoder

$ mencoder full_video.avi -ovc copy -oac copy -ss 12:53 -endpos 13:15 -o out2.avi

join video using mencoder 

$ mencoder -ovc copy -oac copy -idx - fullVideo.avi one.avi two.avi n.avi

enjoy!!!

:s!

0 comment

Just 01110100 01100101 01110011 01110100 01101001 01101110 01100111 00100000 01110100 01110111 01101001 01101001 01110100 01100101 01110010 00100000 01110101 01110000 01100100 01100001 01110100 01100101 01110011

Google ideas!!!!

Auto login Fedora 10 Gnome 2.24.1

0 comment
edit the file /etc/gdm/gdm.schemas
Changing de tags
enable ppalma user.



done

Bind9 slave server

1 comment
Setting the zone

zone "myzone.cl" {
type master;
file "/etc/bind/db.myzone.cl";
allow-transfer { 10.0.0.2; }; #slave server address
};

/etc/init.d/bind9 restart

slave server

zone "myzone.cl" {
type slave;
file "/etc/bind/slaves/db.myzone.cl";
masters { 10.10.10.1; };
};

give wr permissions to folder /etc/bind/slaves


/etc/init.d/bind9 restart

como tener siempre a la hora nuestro S.O.

0 comment
nose si han notado pero muchas veces nuestros relojes en linux no tienen la misma hora que nuestro hardware... la solución es simple y ademas con esto podemos estar a la hora oficial chilena todo el tiempo :P

lo que debemos hacer es sincronizar con un servidor online o NTP en chile hay uno que es quien lleva la hora oficial y es SHOA.CL, para sincronizar desde linux con shoa.cl debemos logearnos como root y hacer lo siguiente...

# ntpdate ntp.shoa.cl

si no tienen instalado el NTPDATE entonces....

apt-ger install ntpdate
yum install ntpdate
zypper install ntpdate

con eso ya tenemos la hora seteada y sincronizada con SHOA.CL ... hora oficial de chile. Ahora para sincronizar la hora con nuestro hardware debemos escribir lo siguiente en consola.

# hwclock --systohc

esto nos pone la misma hora de nuestro software con nuestro hardware...

por ultimo, si deseamos que nuestra hora esta SIEMPRE a la hora oficial y se actualice sola entonces podemos agregar una regla al CRON y decirle que se actualice cada cierto tiempo, esto sirve mucho cuando tenemos un servidor y es necesario de que nuestra hora sea la correcta, para agregar la regla al CRON hacemos lo siguiente

# nano /etc/crontab

para los que tienen miedo a la consola pueden reemplazar el nano por un gedit :P

ahora dentro del archivo cron debemos agregar las siguientes linea:

# m h dom mon dow user command
30 * * * * root ntpdate ntp.shoa.cl
30 * * * * root
hwclock --systohc

solo copiar las lineas que comienzan con 30...

ahora explico...

m = MINUTOS
h = HORA
dom = DIA
mon = MES
dow = SEMANA
user = USER
command = COMANDO

en lo que hice le dije a cron que

m = 30 <- todos los minutos 30
h = * <- Cualquier hora
dom = * <- Todos los días
mon = * <- Cualquier mes o todos los meses
dow = * <- Todas las semanas
user = root <- el usuario root
command =
ntpdate ntp.shoa.cl <- ejecute ese comando.

ahora para salimos del nano con CTRL + X ... guardamos los cambios y reiniciamos el CRON así:

# /etc/init.d/cron restart

y vuala! cualquier corrección la hacen saber :P

Saludos.


--
Jorge A. Aguilar Alvarado
BackupCode - Seguridad Informatica
Logistica Computacional
http://www.backcupcode.com
Puerto Montt - Chile

--~--~---------~--~----~------------~-------~--~----~
Visita nuestro sitio web: http://www.linuxpuertomontt.cl
Galeria de imagenes: http://www.linuxpuertomontt.cl/galeria
WebChat (Chatea con nosotros): http://www.linuxpuertomontt.cl/irc

GULIPM - Grupo de Usuario Linux Puerto Montt
-~----------~----~----~----~------~----~------~--~---

Nating using virtual Network Interface

0 comment

1.- Setting a virtual interface on "Lurch"
# cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.16.2.4
netmask 255.255.0.0
gatewat 172.16.255.254

auto eth0:0
iface eth0:0 inet static
address 10.0.0.1
netmask 255.0.0.0

2 .- Setting interfaces on "pugsley" and "merlina"

3 .- Nating on "lurch"

# iptables -t nat -F
# echo 1 > /proc/sys/net/ipv4/ip_forward

tip: You can edit the file /etc/sysctl.conf uncomenting
net.ipv4.ip_forward=1

# iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/8 -j MASQUERADE
 

Ppalma Copyright © 2008 D'Black by Ipiet's Blogger Template