sábado 21 de junio de 2008

Arreglos en C/C++

Sin duda uno de los temas mas importantes de los lenguajes de programación que todo desarrollador debe dominar es el el manejo de Arreglos, tema que este pequeño artículo intenta retomar, el título de los temas a tratar es el siguiente:


  • Conceptos básicos de Arreglos
  • Arreglos con new en C++
  • Arreglos dinámicos en C con calloc, malloc y realloc
  • La clase vector en C++
Esperando sea de utilidad y/o interés para el lector, Gracias.

Nota.- Se recomienda ampliamente usar el compilador GNU GCC o su adecuación MinGW para sistemas operativos Microsoft Windows

domingo 15 de junio de 2008

Permisos de Archivos en GNU/Linux

El siguiente articulo esta dedicado a dar conocer, las diferentes maneras, en una terminal(Consola) para asignar o quitar permisos de acceso a lo archivos en el sistema operativo GNU/Linux.

Resumen:

Un conjunto de Objetos(archivo), pertenece a un Usuario y un Usuario pertenece a un Grupo o conjunto de Grupos de Usuarios. La asignación de permisos en un sistema operativo es de vital importancia para respaldar la con fiabilidad de los archivos y la asignación de los mismos puede ser llevada de la manera expuesta en este artículo.

Un poco de libertad en su Sistema Operativo


El siguiente articulo esta dedicado a los programadores, que desean comenzar en el mundo de programación de Java :), que en lo personal considero uno de los mejores lenguajes de programación además de C++.

Resumen

En Java, se toman decisiones con la ejecución de sentencias de control

Almacenar muchos datos en el programa es bueno, siempre y cuando se haga algo con ellos. Utilizando operadores se puede manipular los datos, sumar, restar, dividir, multiplicar y mucho mas. Con los condicionales de pude alterar el flujo de un programa evaluando los valores de los datos.

Con los bucles de puede iterar sobre todo lo datos en grupos (Arrays). Trabajando con ellos sucesivamente y fácil mente.En el siguiente enlace se encuentra el resto del documento, que espero que sea de su agrado, por favor cualquier corrección o aclaración haganmelo saber.


jueves 12 de junio de 2008

UN MUNDO LIBRE

Después de leer un par de grandes obras literarias de ciencia ficción respecto a un mundo bajo la opresión de un ser, una droga o una idea, vuelvo la vista a mi alrededor y veo el comienzo de esto mismo, con un mundo monopolizado en todo lo que hasta el momento se ha podido monopolizar, desde el comercio de un simple refresco hasta el sistema operativo de la computadora donde trabajo, desesperado por esa sensación regreso a casa y veo que mi PC está libre de esa contaminación (latente en la mayoría de estos sistemas a nivel mundial), es así porque hace uso del Sistema Operativo GNU/Linux con todo lo que esto conlleva ( sin fin de herramientas con licencia Copyleft como uno se pueda imaginar, que satisfacen técnicamente todo lo que un usuario/programador pueda querer).


Ahora bien, el objetivo de este artículo, es continuar sembrando semillas en lo relacionado a esta filosofía, aunque si estuviera en mis manos, obligaría a todo el mundo a usar este tipo de sistemas ( como así lo quieren cada uno de los empresarios de los sistemas cerrados ;) ) pero poco a poco he descubierto que lo que realmente se debe hacer es “dar a conocer” y cada usuario, dependiendo de sus necesidades optará por lo que mas le sea conveniente, así que a empezar:


¿Qué es GNU/Linux?


Básicamente es la unión de un conjunto de programas bajo licencia Copyleft (GPL, LGPL, entre otras) y un kernel con la misma licencia llamado Linux


Para más información respecto a las licencias: http://www.gnu.org/licenses/licenses.es.html


¿Qué ventajas ofrece este tipo de sistemas?


Cómo todo esto se encuentra bajo las licencias previamente mencionadas (denominándose así Software Libre) de manera general cumplen con las siguientes leyes/libertades:


  • Libertad de usar el programa, con cualquier propósito

  • La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades

  • La libertad de distribuir copias

  • La libertad de mejorar el programa y hacer públicas las mejoras

Para mas información: http://www.gnu.org/home.es.html



Por consecuencia un precio bajo... en general $0 al menos en la obtención del producto, si lo que se busca es soporte técnico especializado y programadores que modifiquen alguna aplicación para algo mas específico, se puede obtener, con su respectivo costo extra (de algo se tiene que vivir)




¿Algún ejemplo de software que use este tipo de filosofía?


Existen muchísimos ejemplos, entre los cuales se tienen los siguientes:



entre muchos, muchos mas.


¿Algo más?


Debido a la arquitectura de los mismos, a su limpieza en código, a que todos podemos aportar algo, ha crecido desmesuradamente en estos últimos años, haciendo frente a los sistemas basados en monopolios en cada uno de los posibles aspectos, así también como superándoles en algunos de ellos, entre los cuales se puede nombrar:


  • Seguridad extraordinaria

  • Bajos requerimientos para su uso/desarrollo tanto en hardware como en software

  • Evolución continua


Sin mencionar, por supuesto, múltiples tipos de interfaz para los gustos de todos, desde los mas Geeks hasta los usuarios que buscan tener comportamientos 3D, transparencias y cosas visualmente superiores, etc.


¿Cómo se puede obtener?


Si lo que se busca es algún software con este tipo de licencia, tan solo se tiene que indicar algún tipo de programa que se quiera y anteponer palabras como GPL, LGPL, Software Libre, etc. Así como también buscar en páginas como SourceForge, que ofrecen un sistema de almacenamiento/distribución de aplicaciones libres.


Ahora bien, si lo que se busca es un sistema integro basado en esta filosofía, se recomienda escoger alguna distribución del Sistema Operativo GNU/Linux.



¿Qué es una distribución GNU/Linux?


Debido a la naturaleza que atañe a estos sistemas y con un gran número de asociaciones, clanes o empresas que buscan generar sistemas fáciles de usar basados en este kernel (Linux) , este mundo se maneja por Distribuciones (mejor conocidas como Distros) las cuales son básicamente conjuntos de paquetes (programas) específicos que aunados al kernel (y las aplicaciones indispensables que le rodean), ofrecen lo que todo usuario podría querer.


Las distribuciones favoritas por excelencia son:



Todas con fortalezas y debilidades (relativas, pues a final de cuentas, en cada una de ellas se puede tener lo que la otra ofrece con relativa facilidad)


Y a diferencia de otros Sistemas Operativos, las diferentes distribuciones se pueden obtener de su sitio de Internet, con un par de clic y listo (De preferencia en la página oficial de cada distribución, o en su defecto, haciendo uso de páginas que distribuyen todas y cada una de las distros, por ejemplo LinuxTracker ).


De las distros mencionadas anteriormente, si a penas se está iniciando en este mundo, siempre es recomendable omitir de inicio la última en la lista (Debian) y si se gusta mas adelante, probarla (de las mejores, sin duda )


¿Cuál distro debería escoger?


Para esto, existen sistemas web que dependiendo de tus gustos/necesidades te recomiendan una u otra, una que siempre es buena para empezar es sin duda Ubuntu (la más conocida de las Distros, además de ser considerada de las mas fáciles de obtener, instalar y administrar ), aunque también es recomendable ir a Youtube buscar algunos vídeos de cada una de ellas, ver su potencial y probar, en su defecto, ir a cualquier foro relacionado a este tema y pedir consejo especificando cual es la situación específica en la que se encuentra.


¿Qué es Linux?


Linux es el corazón (kernel) del proyecto GNU, desarrollado al principio de los 90's por el genio Linus Torvald, quién basándose en el sistema operativo Unix llamado Minix (pero con licencia GPL de la Free Software Foundation) y ayuda de otro genio Richard Stallman generan el enlace entre estos 2 grandes proyectos (GNU y Linux) y mas la ayuda de un sin fin de programadores y contribuidores a través de Internet (y estos años) se pudo obtener al fin el Sistema Operativo libre, estable, evolutivo y seguro GNU/Linux

Para más detalle: http://www.cad.com.mx/historia_de_linux.htm

...


Considero que esto es más que suficiente para dar a conocer lo básico, ahora sólo falta probar, leer, preguntar y disfrutar de esta gran filosofía y de esta gran comunidad que tiene mucho que ofrecer (y en su momento, aportar algunos cuantos granitos de arena, por supuesto :D )



Nota.- Agradecimientos a Kbal por su revisión de la publicación

lunes 9 de junio de 2008

Compiz-Fusion en Ubuntu Gusty

Si usted es como yo, que le gusta tener cosas inútiles pero visualmente agradables, y tiene ganas de gastar algo de memoria RAM para llegar a este fin, le recomiendo use Compiz-Fusion.


En el blog de xlarsx se tienen los pasos necesarios para obtener estos efectos gráficos teniendo como sistema operativo Ubuntu Feisty... en esta ocasión se les presenta la metodología (mucho más simple, como podrán notar) que se debe llevar a cabo para llegar a la misma meta, pero usando Ubuntu Gusty.


Abra una terminal y escriba lo siguiente:

sudo aptitude -y update && sudo aptitude dist-upgrade

sudo aptitude install compiz compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins compizconfig-settings-manager libcompizconfig-backend-gconf libcompizconfig0 python-compizconfig

Ahora diríjase a:

  • Systema -> Preferencias -> Apariencia -> Efectos Visuales -> Custom
  • Cerrar

Muy bien, ahora está usted corriendo Gusty con su propio Compiz-Fusion oficial, directo de Ubuntu, por lo que ya no se tendrán problemas con las actualizaciones.