Bienvenidos a CódiGeek

Donde el Desarrollo y las buenas practicas son nuestra razón de ser.

Todo sobre Desarrollo

Tips, consejos, experiencias y más.

El futuro esta en tus manos

Aprende tecnicas, trucos para sacarle provecho a tu trabajo.

Pages

viernes, 15 de noviembre de 2013

GNS3, herramienta para la simulación de redes.




¿Qué es GNS3?
En esta oportunidad, pienso compartir de manera breve lo referente a una herramienta conocida como GNS3 (Graphical Network Simulator o Simulador Grafico de Redes), que tal como indica su nombre nos permite diseñar una topología simulada lo más parecida en lo posible a una situación real sin la implementación de hardware que pudiera ser complicado o costoso de obtener.

Dicho de otra manera, nos permite configurar unidades virtuales de (Routers, Switchs, Hosts, entre otras cosas), para poder observar el comportamiento del envío y recepción de información a través de la red, ya sea en una pequeña red LAN o algo tan extenso como el internet.

Lo primero que debemos hacer si queremos hacer uso de esta herramienta, es obviamente descargarla, yo por el momento utilizo una versión anterior a la que brinda la página oficial(tengo tiempo que no chequeo si ya han subido alguna versión que resuelta estos inconvenientes), ya que me he topado con ciertos problemas al intentar guardar la configuración de los routers o ciertos problemas para cargar topologías anteriores ya realizadas en esta versión, entre otros detalles; la versión que actualmente utilizo la versión 0.8.3.1 all in one que es para Windows que incluye:

- > Instalador de 32 y 64 bists.

- > Dysnamips.

- > Qemu / Pemu.

- > Masilla.

- > VPC.

- > WinPcap.

- > Wireshark.

También debemos seleccionar la imagen del tipo de router que utilizaremos en nuestra topología, GNS3 permite utilizar diferentes tipos de routers que van desde el c1700 hasta el c7200, y ¿Cuál es la diferencia entre ellos? La potencia de cada uno de ellos es diferente en la realidad, donde el de mayor potencia en este caso sería el c7200 y el de menor c1700, para este post se usara la imagen de los routers c3660. El instalador y la imagen pueden descargarlas desde el siguiente enlace:

https://www.dropbox.com/sh/gdchnq9fhdpxuwh/srdAQRO5jc

Como configurar la Herramienta para su uso:

1) En el GNS3 vamos a la barra de menú y hacemos click en “Edit o Editar” y se nos desplegara un submenú, hay haremos click en “Images IOS and Hypervisors o Imágenes IOS y Hypervisiors”.


Aquí seleccionaremos la ubicación de donde tenemos nuestra imagen del router c3660 y le daremos click a Guardar, (no hay que alarmarse por las letras rojas que aparecerán al presionar guardar) y presionamos cerrar.

 
 2) Luego nuevamente nos situáremos sobre el menú y seleccionamos la casilla “Editar” pero esta vez seleccionaremos la opción “Preferencias”.

3) En la ventana que se nos acaba de abrir, podremos configurar el idioma de nuestro GNS3 (yo lo trabajo en español pero pueden configurarlo a su gusto), haremos click sobre la pestaña Dynamips y presionaremos el botón “Test Setting” y esperamos a que nos aparezca el mensaje.


Luego nos vamos a la pestaña de Qemu y haremos click sobre el mismo botón y esperaremos el mensaje.


Ya con esto tendremos nuestra herramienta lista para comenzar a trabajar. En el siguiente post explicare con detalle un ejercicio sencillo pero completo para el entendimiento del uso de esta herramienta.

Cualquier opinión, duda o inquietud por favor comentarla.

martes, 6 de agosto de 2013

Firefox OS: La Web en tus manos y a bajo precio


En un mundo cada vez más tecnológico, cuando cada vez más llevamos este mundo a nuestro entorno buscando formas veloces y por lo general seguras para mantenernos en contacto con nuestros familiares y amigos mediante: Redes Sociales, Correos Electrónicos, Blogs entre muchas más herramientas ya sea a través de nuestra computadora o smartphone. Sin embargo el costo que puede suponer todas estas facilidades puede resultar un tanto elevado o excesivo, lo cual puede llegar a excluir gran parte de la población de disfrutar estos beneficios. Es por esto que la Fundación Mozilla intenta con Firefox OS terminar de globalizar el mundo de la telefonía móvil inteligente, llevando este nuevo OS a teléfonos de gama media-baja con un buen rendimiento.

Firefox OS es un Sistema Operativo móvil basado en la web que lleva a un nuevo nivel lo que es el ya maravilloso mundo de HTML5, apoyándose de las nuevas tecnologías web para brindar una gran experiencia a los usuarios sin necesidad de contar con potentes hardware. Una de las ideas principales del Firefox OS, es la adaptación a los diferentes tipos de usuarios a través de un ecosistema móvil siempre en evolución sin dejar de lado equipos con versiones inferiores, siempre en pro del usuario final.

Como ya nombre anteriormente, Firefox OS comienza con dispositivos de gama media-baja aunque para nada descarta a futuro sacar móviles gama alta, esta estrategia permite a la fundación cumplir su objetivo y llegar a aquellas personas que se ven temerosas de entrar al mundo de los smartphone por el gran desembolso económico que este representa.

Ya con tienda de aplicaciones y gran cantidad de programadores alrededor del mundo(Me incluyo), se preparan para competir por un pedazo del mercado para hacer conocer las bondades del nuevo sistema operativo que ya se encuentra disponible en varios países, y el cual a sido bien acogido por los compradores. Entre ellos Polonia, España, Colombia o Venezuela quienes ya son algunos de estos privilegiados en recibir esta nueva propuesta.

Llegado el pasado Jueves 1 de agosto a Venezuela, de la mano de Movistar con dos modelos, el ZTE Open y el Alcatel One Touch y parece haber tenido una buena demanda esta primera semana. Con precios de 1.159 y 1.739 BsF. respectivamente y especificaciones muy parecidas ambos parecen ser una buena opción a un costo no tan elevado (en comparación a teléfonos con Android de gama baja), tal vez la única diferencia que he escuchado entre ambos teléfonos es que el Alcatel se nota mayor fluides, pero considerando que el ZTE tiene una mayor autonomía lo que sumando este y algún otro pro y contras dejan ambos equipos a un mismo nivel. En cuanto a servicios, para la compra del teléfono puede ser pre-pago o post-pago y puedes elegir entre dos planes para la suscripción del servicio.



Marketplace

La tienda virtual de aplicaciones de Firefox OS, la cual va creciendo día tras día y aunque aun es un poco joven, ya ofrece lo básico para comenzar a disfrutar de las redes sociales como Twitter o Facebook y pronto tendrá aplicaciones para Instangram o Whatsapp. Como desarrollador debo decir que es bastante sencillo cargar una aplicación y aunque al principio el tiempo de espera para revisiones era largo, cada vez se vuelve más corto gracias al apoyo de mucha gente que cada día aporta un granito de arena para mejorar el servicio.

Mobilizers Venezuela

Por ultimo, quiero invitarlos a pertenecer a Team Mobilizers Venezuela. También conocida como la comunidad oficial de Firefox OS en Venezuela, donde puedes aclarar dudas sobre el OS, ayudar a hacerlo conocer o buscar ayuda/consejos para el desarrollo de aplicaciones.


Imagen tomada de: Techpost.ug

domingo, 26 de mayo de 2013

Tips: Para una programación más limpia


Primero que nada disculpen la ausencia durante los últimos meses en los que compromisos académicos han tenido muerto el blog, se quiso realizar un itinerario, lo cual realmente no fue la mejor idea debido a la poca disponibilidad de tiempo que se puede tener siendo estudiantes de la UNET.

Cambiando de tema, hoy vengo a dejarles algunos tips de programación que pueden ser muy útiles al momento de trabajar en grupo donde habrán 5, 8 o 10 personas intentando "descifrar" nuestro código, o simplemente hacerlo más entendible para nosotros mismos(a quien no le ha pasado que tras algunos meses, revisan un proyecto y casi no recuerdan el porqué de las cosas). 

Nomenclatura:

1. Salvo por necesidades especiales y objetivas (como por ejemplo, participación internacional) todos los nombres de las variables utilizadas, deberán estar en el idioma en común de sus desarrolladores.

2. Salvo en constantes o identificadores creados por un generador de código, no se utilizada el símbolo ( _ ) para los nombres de un identificador.

3. No se utiliza la abreviación cuando el único ahorro de letras es muy pequeña. Ejemplo: Hora = Hr (No tiene sentido) Hora de Emision = HrEmision (Correcto)

4. Se ha llegado al acuerdo que la longitud del nombre de una rutina (función) debe estar entre lso 7 a 15 caracteres.

5.  Salvo causas justificadas, no se recomienda el uso de proposiciones o conjugaciones en un nombre.

6. No se utilizara ni sufijos ni prefijos en un nombre cuyo único propósito sea indicar el indicador. Ejemplo: CEvento, EventoClass.

7. En todo momento se deben usar nombres que sean claros, concretos y libres de ambigüedad. Esto ayudara a hacer más entendible nuestro código. Ejemplo: fechaNacimiento vs fecha, estadoImpresora vs estado.

8. Dado que las clases representan cosas y no accines, cada clase tendrá como nombre, palabras con sentido gramatical, y nunca verbos.

9. El nombre de una clase debe estar en singular, salvo que una de sus instancias represente multiplicidad de cosas.

10. El nombre de la clase no contendrá detalles de implementación de la misma.

11. Un buen nombre para una rutina es aquel el cual describe todo lo que esta hace.

12- Es recomendable que los métodos que no devuelven valores, tenga nombres que consistan en un verbo, seguido del objeto que lo afecta como; ImprimirFacturaCompra o CalcularVAN.

13. Para aquellas que si devuelven valores, es recomendable que describa el valor devuelto tal como: ImpresoraLista o VAN.

14. En ningún caso se debe utilizar verbos genéricos tales como: Procesar, Manejar, Gestionar, etc, sin especificar su utilidad, como: ProcesarInmueble, LeerDato...

15. Cuando existan grupo de funciones que realicen operaciones similares con pequeñas diferencias, se se deberá establecer un sistema de creación de nombres coherentes.

16. No se de deben crear rutinas mayores a 200 lineas. 

17. (Una que poco aplicamos) Se debe evitar el uso de variables i,j,k dentro de ciclos o rutinas, en mes de esto se deberian usar cosas como: indAlumnos, indCarros.

18. No se deben usar variables con nombre sin sentido, por ejemplo: variable1, variable2, variable3.

19. Las variables booleanas, deben tener nombres que indiquen su respuesta o contenido, como:  Éxito,, Correcto, etc.
  
20. Procura utilizar variables, en parte numéricas del código que puedan representar alguna acción o que se pueda repetir en diferentes partes del código. Esto te ayudara, tanto a un mejor entendimiento del código  como para cambiar un valor rápidamente en un momento dado.


sábado, 2 de febrero de 2013

Primera entrega: Introducción a HTML5


Cuando nos referimos a HTML (HyperText Markup Language) pensamos en el lenguaje de maquetación que da forma a sitios web desde 1991, y que da forma a la información ofrecida en la red de forma sencilla para la fácil interpretación tanto de navegadores como buscadores, gracias a las diferentes etiquetas existentes. HTML con su nuevo proyecto, la versión 5 de este lenguaje espera revolucionar la experiencia multimedia de los usuarios de forma directa, sin necesidad de mezclar jQuery, JavaScript u otros complementos para lograr introducir video, sonido o efectos en su estructura. Aunque aún no es un estandar y parece estar lejos de serlo, ya muchos portales en la web empiezan a mudarse a HTML5 (con la limitante, de que muchos de sus visitantes deberán tener las mas nuevas versiones de los respectivos navegadores para disfrutar de la riqueza de HTML5) sin embargo sus creadores trabajan en la inclusión de compatibilidad con la mayoría de los navegadores que aun no son considerados obsoletos.

Lo primero que podemos apreciar de HTML5, es el mayor significado semántico que se le da a su estructura con las inclusión de nuevas etiquetas como <header>, <nan>, <hgroup>, <section>, <footer>  entre muchas otras. Estas etiquetas en comparación a lo que podiamos hacer con un div, dan mayor significado al contenido y facilita a los buscadores indexar las información en la web. Además de permitir nuevas funcionalidades, como crear reproductores de audio y video, o poder dibujar 2D o 3D en nuestro sitio.

En el siguiente enlace puedes encontrar las nuevas etiquetas: w3schools

Ejemplo de una estructura HTML5:



<!doctype html> <!-- primera clara diferencia entre HTML 3,4 y HTML5 una web mas semántica, mas extendible -->
<html lang="es"> 
    <head>
        <meta charset=utf-8>
        <title>Ejemplo de Maquetado HTML5 en sublime text</title>
    </head>
    <body>
        <hgroup> <!--dentro de esto van las h1,h2,h3 relacionándolas -->
        <h1>Ejemplo de Maquetado HTML5 en sublime text</h1>
        <h2> Por codigeek.blogspot.com</h2>
        </hgroup>

        <nav> <!-- botones de navegación o menu -->

        <li><a href="inicio.html"></a>Inicio</li>
        <li><a href="contacto.html"></a>Contacto</li>
        <li><a href="Nosotros.html"></a>Nosotros</li>
        </nav>
    
            <<article> <!-- articulo principal, texto, o sona principal TEXTO PRINCIPAL -->

            <section> <!--  sirve para definir secciones dentro de nuestra web, no debe llevar style (mas que nada es una estructura semántica) -->

            <p> Texto principal</p>
            </section>

            <aside> <p>Texto sin relevancia</p></aside> <!-- el texto o cosas no tan relevantes -->

            </article>

        <footer> &copy; codigeek.blogspot.com</footer> <!-- pie de pagina -->
    </body>
</html>
En las siguientes entregas explicare más a detalle las etiquetas a través de ejemplos simples.

miércoles, 30 de enero de 2013

Utilizando Gmail

Desde hace algunos años vengo utilizando Gmail y la verdad me parece un gestor de correo muy completo. Si bien para algunos esto no es sorpresa, debemos centrarnos en los comienzos de Gmail. Tuve la dicha de ser uno de los primeros en probarlo, cuando cree mi cuenta solo se podía ingresar por invitación y la capacidad era de 1GB. al principio dije: "bueno, otra cuenta de correo mas...", era común poseer varias cuentas de distintos servidores (Hotmail, Yahoo, etc). Una de las características relevantes era la capacidad (recordemos que para ese entonces Hotmail solo tenia 25MB ) y lo mejor es que aumenta continuamente, llegando ahora a un poco mas de 10GB. Ahora lo que era un correo secundario para mi, se ha convertido en mi correo principal. La única razón por la cual uso mi cuenta en Hotmail es porque con ese correo creé mi cuenta en facebook.

Pero un servidor de correo no es solo capacidad, también debe proveerte herramientas para la facilidad de su uso, sobre todo cuando se maneja un gran volumen de entradas. Las características principales de Gmail es el manejo de etiquetas, así como marcar correos como destacados o asignarlos como importantes. También es de gran ayuda la integración con todos los servicios de Google, principalmente con Google docs, G+ y Google Groups, formando el conjunto un sistema integrado agradable para el usuario. Gmail nos ofrece la posibilidad de trabajar off-line y cuenta con un chat integrado (Gtalk).

En el control de configuración podemos encontrar varias funcionalidades que permiten personalizar nuestras bandejas de entrada editando la apariencia con un tema de preferencia. En esta sección se destaca la creación de filtros personalizados que nos ayudan a organizar de una manera eficaz nuestros correos electrónicos. En la sección de Labs encontramos algunos experimentos creados los cuales se pueden habilitar o inhabilitar de acuerdo al uso de cada persona. por mi parte recomiendo habilitar "Deshacer el envió" si en algún momento nos arrepentimos de enviar un correo o si no falto adjuntar el archivo (como me ha ocurrido frecuentemente).

Cabe mencionar que el manejo de correo, específicamente el control de spam, posee un control inteligente parecido al motor de búsqueda de Google. el usuario puede "entrenar" al algoritmo de selección marcando cuales correos son considerados spam y cuales no, consiguiendo así un control personalizado para cada cuenta.

Por ultimo pero no menos importante, quiero mencionarles algunos detalles de las búsquedas avanzadas. En ellas podemos buscar correos con características muy especificas mediante el uso de diversos controles, para los informáticos se asemeja mucho a una consulta en una base de datos (de hecho lo es, aunque simplificada). Quizás algunos no conocían este detalle y otros no le verán gran utilidad pero les aseguro que si están buscando un correo en especifico esta opción es la diferencia de un par de minutos de búsqueda a un buen rato pasando varias paginas...

les incluyo la lista completa de todos los operadores:

OperadorDefiniciónEjemplos
from:Se emplea para especificar el remitente.Ejemplo: from:ana
Hace referencia a todos los mensajes que provienen de Ana.
to:Se emplea para especificar el destinatario.Ejemplo: to:david
Hace referencia a todos los mensajes que tú u otro usuario habéis enviado a David.
subject:Permite buscar palabras en la línea de asunto.Ejemplo: subject:cena
Hace referencia a los mensajes que tienenla palabra “cena” en el asunto
ORPermite buscar mensajes que coincidan con el término A o B*. 
*El parámetro OR debe escribirse en mayúsculas.
Ejemplo: from:ana OR from:david
Hace referencia a los mensajes que provienen de Ana o David.
-
(guión)
Se emplea para excluir mensajes de la búsqueda.Ejemplo: cena -película
Hace referencia a los mensajes que contienen la palabra “cena”, pero no contienen la palabra “película”.
label:Buscar mensajes por etiqueta*
*No existen operadores para buscar mensajes sin etiqueta.
Ejemplo: from:ana label:amigos
Hace referencia a todos los mensajes que provienen de Ana. que contienen la etiqueta “amigos”Ejemplo: from:david label:mi-familia
Hace referencia a los mensajes que provienen de Davidque tienen la etiqueta “Mi familia”
has:attachmentPermite buscar mensajes que contienen archivos adjuntos.Ejemplo: from:david has:attachment 
Hace referencia a los mensajes que provienen de David y que contienen unarchivo adjunto .
list:Buscar mensajes en listas de correoEjemplo – list:info@example.com 
Hace referencia a los mensajes que contienen las palabras info@example.com en los encabezados, enviados a o desde esta lista
filename:Permite buscar un archivo adjunto por nombre o tipo.Ejemplo: filename:tareadefísica.txt
Hace referencia a los mensajes con un archivo adjunto llamado “tareadefísica.txt”
Ejemplo: label:trabajo filename:pdf
Hace referencia a los mensajes etiquetados “trabajo” que también contienen un archivo PDF como archivo adjunto
” “
(comillas)
Se emplean para buscar una frase exacta*.
*No se distingue entre mayúsculas y minúsculas.
Ejemplo: “voy a tener suerte”
Hace referencia a los mensajes que contienen la frase “voy a tener suerte” o “voy a tener suerte”
Ejemplo: subject:”cena y una película”
Hace referencia a los mensajes que contienen la frase “cena y una película” en el asunto
( )Se emplea para agrupar palabras.
Se utiliza para especificar términos que no deben excluirse.
Ejemplo: from:ana(cena OR película)
Hace referencia a todos los mensajes que provienen de Ana que contienen la palabra “cena” o la palabra “película”
Ejemplo: subject:(cena película)
Lo que significa: mensajes en los cuales el asunto contiene la palabra “cena” y la palabra “película”
in:anywherePermite buscar mensajes en cualquier lugar de Gmail*.
*Los mensajes que se encuentran en Spam Papelera se excluyen de las búsquedas de forma predeterminada.
Ejemplo: in:anywhere película 
Hace referencia a los mensajes en Todos,Spam y Papelera que contienen la palabra “película”.
in:inbox
in:trash
in:spam
Permite buscar mensajes en las carpetas RecibidosPapelera oSpam.Ejemplo: in:trash from:ana 
Hace referencia a los mensajes que provienen de Ana y que se encuentran en la Papelera .
is:starred
is:unread
is:read
Permiten buscar mensajes destacados, leídos y no leídos.Ejemplo: is:read is:starred from:David
Hace referencia a los mensajes que provienen de David que se han leído y se han marcado con una estrella.
cc:
bcc:
Se emplean para especificar destinatarios en los campos CC: oCCO:*.
*Buscar en CCO: no permiten recuperar mensajes si usted figura en dicho campo.
Ejemplo: cc:David 
Hace referencia a los mensajes enviados que incluyen a David en el campo CC.
after:
before:
Permite buscar mensajes enviados dentro de un período de tiempo concreto.*
*El formato de las fechas debe ser aaaa/mm/dd.
Ejemplo: after:2004/04/16 before:2004/04/18 
Hace referencia a los mensajes enviados entre el 16 de abril de 2004 y el 18 de abril de 2004*.
*Más exacto: los mensajes enviados después de las 12:00 AM (o 00:00) del 16 de abril de 2004 y antes del 18 de abril de 2004.
is:chatPermite buscar mensajes del chat.Ejemplo: is:chat mono
Hace referencia a los mensajes del chat que incluyan la palabra “mono”.



domingo, 27 de enero de 2013

Lenguajes de Programación: JAVA




Buenas este es mi primer post, pienso compartirles de manera breve que es, el lenguaje de programación Java.


Java es un lenguaje de programación de alto nivel (a esto me refiero con que otros niveles, como están el eléctrico que utiliza circuitos, compuertas dispositivos etc, el lenguaje máquina conocido como Assembler), orientado a objetos, que ejecuta los comandos en lenguaje máquina de forma invisible para el programador, lo que nos permite ahorrar varias lineas de código ya que java se encarga del trabajo mas engorroso por nosotros, Existen varios IDES(Herramientas, Compiladores) con los que podemos trabajar en Java, entre los que he trabajado están Netbeans y Eclipse, yo uso Netbeans ya que me parece una herramienta bastante completa que nos brinda un gran campo para trabajar; una de las ventajas que me gustan mas de Netbeans es que cuando cometemos algún error programando, nos falte un " ; " o que hallamos copiado mal la sintaxis de algún comando; nos marca la linea en rojo indicando que tenemos un error de sintaxis, fue la primera herramienta que conocí que tenia esta ventaja.




En java existen varias funciones que ya vienen con las herramientas normalmente que nos pueden facilitar el trabajo o una parte de el, que estemos realizando, entre las cuales puedo mencionar, .Split que es una función que te permite separar el contenido de una cadena, indicándole que signo debe considerar para separar un ejemplo rápido tenemos un String mensaje = "hola que tal"; si le aplicamos el split a mensaje podríamos tener ejemplo un vector o 3 variables en las que tendremos en la primera "hola", en la segunda "que", y en la tercera "tal", la explicare mejor en mi siguiente post, funciones que nos permiten cambiar el tipo de dato de una variable por otro, ejemplo de String a Int, de Float a String etc, funciones que permiten cortar una cadena asta cierto punto(substr), comparación entre cadenas, alequal(); otras que nos permiten llevar un número a binario etc, también para programadores mas avanzados, que les guste o necesiten trabajar con comunicación entre computadores la implementación de sockets es mas sencilla de utilizar.

 Un detalle si que posee es que no permite trabajar punteros, ¿porque? porque Java se encarga de proteger tu computador y no te deja manipular abiertamente la memoria interna de la misma; claro esta que lo que necesites hacer con punteros ya existen funciones o métodos que nos permiten hacer lo mismo, también a diferencia de otras herramientas, cuando lo ejecutas muchas veces algún programa que desarrolles, si utilizas vectores, matrices, objetos, vectores de objetos o cualquier otra que necesite memoria del ordenador, no te pondrá la maquina lenta, ya que en otros lenguajes o herramientas si no liberas esa memoria, la maquina podría asta colgarce sino dispone de mucha memoria, las herramientas que utilizan Java vienen con un Destructor por defecto, que así no lo programes el ya lo trae, que libera la memoria de las funciones vectores o demás métodos de manejo de memoria, si por casualidad se te olvida hacerla, así no tienes que preocuparte por este detalle.

Bueno eso ha sido todo por ahora para los que les interese empesar a trabajar en este lenguaje, les dejare los links de la pagina de Sun, donde podrán descargar Netbeans y el componente que necesita para funcionar que es el JDK.

http://netbeans.org/

en mi próximo post publicare como utilizar algunas de estas funciones que mencione antes entre otras cosas.

sábado, 26 de enero de 2013

Sublime Text 2, mucho más que un editor de texto


Sublime Text 2 en Ubuntu 12.04
Muy bien, hoy les hablare un poco de Sublime Text 2 el editor de texto preferido por los desarrolladores, el cual esta disponible tanto para Windows, Linux y Mac. Esta editor de texto nos permite el trabajar realmente rápido, no es nada pesado y es portable aunque eso si nada barato. Y es que si deseas sacarle el máximo provecho deberás invertir 59$  pero descuida, la versión de prueba no nos limita demasiado y solo tendremos que sufrir la aparición de un mensaje de cómprame cada 10 guardadas, sin embargo si tienes la posibilidad no te vas arrepentir.


Costo en la Web Oficial
Este potente editor de texto nos permite programar para prácticamente cualquier lenguaje, cuenta con: Plugins, Snippet y Sistema de construcción de códigos como los ZenConding que tanto facilita nuestro trabajo. Ademas de poder utilizar los Snippet ya creados puedes descargarlos o crearlos tu mismo, facilitando y haciendo más veloz tu trabajo.

Sublime trae algunas características geniales como la Multiselección, Multicursor, Minimapa, Búsquedas Dinámicas, acceso rápido a linea o archivos entre muchas más novedades.

Personalmente esta herramienta me ha ayudado hacer mi trabajo más rápido y limpio, gracias a sus diferentes plugins y la manera tan intuitiva para su utilización. Su amplio número de atajos por el tecleado hace que al principio nos podamos sentir un poco perdidos, pero es cuestión de uso para aprender a utilizarlo de manera correcta y fácil.

Algunos atajos que deberiamos conocer son:

Linea de comando: Ctrl + Shift + P dentro de esta podemos, instalar nuevos plugins, snippets y utilizarlos o buscar algún ZedinCoding que no recordemos.

Movernos por el código: Ctrl + P, podemos crear, ver o editar nuestros archivos. Ctrl + G, escribe el número de la linea y ve directamente a ella. Ctrl + P y escribe # para ver todas las etiquetas de un documento HTML.

MultiCursor: Ctrl + Click en la linea donde deseamos posicionarnos.

Pantalla completa: Shift + F11.

Copia y pega este código en la consola de comando de Sublime Text 2, para poder instalar paquetes:


import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

Algunos de los ZedinConding que debes instalar si eres programador son:

Emmet: Permite agilizar la escritura, como ul>li>a+tab. 

Prefixr: Nos ayudara a ajustar nuestra hoja de estilo con todo los navegadores, y funciona seleccionando la linea + Ctrl + Alt + x.

ColorPicker: Creo que le nombre más o menos ya nos dice que una paleta de colores, y la vemos con Ctrl+Shitf+t.

ClipBoard: Podemos llevar el historia de la papelera, retroceder u adelantas.

A partir del próximo vídeo intentare explicar mas funcionalidades y dar ejemplo de algunas de la que ya se encuentran aquí.



Instalación:


Descarga desde la Web principal
Aunque no necesita instalarse, ya que es portable y solo basta con descomprimir y usar, si deseas instalarlo ve a Sublime Text. Allí encontraras las diferentes versiones, tanto portable como las que requieren instalación como en Linux si quieres tenerlo como un programa más y no como un ejecutable.

Aquí les dejo el repositorio PPA de Linux:


sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2

miércoles, 23 de enero de 2013

Como instalar Ubuntu 12.10 (Modo algo más/Más Opciones) y no morir en el intento


Instalar cualquier sistema operativo de Linux por primera vez, puede resultar un proceso engorroso(comparándolo con un sistema operativo como Windows en sus ultimas versiones). Sin embargo el podemos realizar una instalación en Linux (nuestro caso Ubuntu 12.10) limpia y libre de errores.

 Advertencia: Se recomienda realizar una copia de seguridad de nuestros archivos personales, por cualquier percance en la instalación, estos suelen ser muy poco probables pero es mejor prevenir que lamentar. 

Instalar Ubuntu 12.10 en 3 pasos:

Primer paso:

Nos vamos a la página principal de Ubuntu para descargar la versión que instalaremos, en nuestro caso Ubuntu 12.10: Ubuntu.com 

Segundo Paso(Importante para quienes instalan Ubuntu por primera vez junto a Windows):

Este viene siendo uno de los métodos más sencillos que conozco, pero no es el único(en proximas entradas espero traerle las diferentes formas de particionar nuestro disco duro) .

Ten en cuenta primero que nada formatear la partición de la cual tomaremos prestado disco para la posterior instalación de Ubuntu, esto nos ayudara a evitar problemas al momento de la instalación.

Primero que nada necesitaremos nuestro LiveCD(Así es como se le llama al CD de instalación), con este ya quemado en un CD o con un pendriver Booteado procederemos a arrancar la PC desde donde tenemos la imagen del Ubuntu.  Una vez dentro, iremos a donde dice probar Ubuntu, y buscaremos en el menú Sistema/Administración/Editor de particiones (Gparted). Una vez aquí adentro procederemos con los siguientes pasos. 

Buscamos entre las particiones, aquellas con formato NTFS(Sistema de archivo de utilizado por windows) si de casualidad encontramos varias, podemos guiarnos por el tamaño del disco, lo más seguro es que la partición NTFS de mayor tamaño sea en la que tienes instalado Windows, la seleccionamos y buscamos la opción Redimensionar/Mover.

Dentro de esta ventana tendremos la opción grafica para disminuir nuestra partición de windows, o incluso utilizar todo el disco. Por razones obvias solo disminuiremos el espacio que utiliza windows. Recuerda que sistemas operativos como Ubuntu(o cualquier otro de Linux) no necesitan tanto espacio de disco, así que si no deseas gastar mucho espacion de tu otra partición, Ubuntu solo nos pide 5,6GB aproximadamente 6. Sin embargo particularmente te recomiendo utilizar entre 15 y 35GB, ya que más de esta cantidad representaría un desperdició. Una vez disminuido el espacio, haremos click en Redimensionar/Mover. Si posees un disco duro demasiado grande, puede que demore unos minutos este proceso.

Una vez este listo el proceso, veremos una parte de nuestra partición de Linux en gris a la cual procederemos con el botón derecho del mouse, y elegimos donde dice Nuevo, después de esto haremos una partición extendida, marcándola en donde dice "Crear como" y procedemos a hacer click en añadir.

Una vez tenemos separada la parte gris como una partición aparte, volvemos a buscar encima de esta con botón derecho Nuevo y procederemos a crear la siguientes particiones una por una:

SWAP: Esta será el área de intercambio que habrá en caso de que la memoria RAM de nuestros PCs se desbolde por así decirlo. He escuchados muchas personas que dicen que esta debe ser la mitad de nuestra RAM verdadera, lo cual no es de todo cierto y los más aconsejable es que esta varia entre los siguientes parámetros:

RAM <= 512, 1GB de SWAP ó RAM >=1GB, también 1GB pero si tienes mas de 1GB, tu SWAP "Debería teóricamente" ser la mitad de tu RAM. Teóricamente, ya que en los computadores modernos, de 4GB en adelante, lo más seguro es que nunca la utilices. 

Y lo mas importante, debes marcala como Lógica...

Raiz:  Aquí será donde instalara nuestro sistema operativo como tal, normalmente es recomendable más de 5.4, 6 o un poquito más, recuerda elegir como sistema de ficheros ext3.

/home: Aquí es donde tendrás todos tus archivos, deberías colocar un tamaño acorde a el uso que le vas a dar. Al igual que en el paso anterior, recuerda seleccionar en sistema de ficheros como ext3.

Después de esto, solo nos resta aplicar los cambios en el menú principal de Gparted. Selecciona aplicar en la parte superior. Si no ves el botón de Aplicar, veras al lado de Deshacer (una flecha mirando hacia abajo), da click ahí y luego aplicar. Nos aparece un mensaje, alertando de nuestros cambios, lo cuales aceptaremos y esperaremos algunos minutos a que se produzcan los cambios.

Tercer paso 3:

Ya en esta parte procederemos a instalar Ubuntu como sistema operativo, solo tendremos que volver a iniciar la PC desde nuestro CD o pendriver, seleccionar nuestro idioma y hacer clip en instalar Ubuntu. Una vez hecho esto te saldrá una ventana diciendote si estas o no conectado a la red o si deseas descargar las actualizaciones, personalmente opino, que si vives en Venezuela y tu internet es el estandar, no la descargues ya que esto lo podrás hacer después de forma fácil y tal vez sin tanta prisa, damos continuar y esperamos la proxima pantalla.

Una vez aquí te mostrara diferentes opciones para la instalación  como: Instalar Ubuntu junto a windows, borrar disco e instalar Ubuntu o Más opciones/algo más...

La primera de estas(instalar junto a windows, viene siendo la forma más fácil y consiste en siguiente, siguiente, siguiente... muy parecido a windows) pero no es el caso de mi explicación. La segunda opción es si queremos migrar definitivamente y dejar las ataduras de windows en el pasado. Por ultimo la tercera, el "algo más/Más Opciones" es la que nos interesa y la que marcaremos para continuar con nuestra instalación.

Una vez aquí, ya nos deben salir las particiones creadas en el paso anterior, y solo debes marcar (con el chulito) la partición de Raiz (/) y proceder a instalar ahora... En este menú también puedes realizar todos los paso ya hechos en el paso dos, más considere que seria más sencilla esta forma (en proximas entradas explicare otras formas de hacer las particiones, como esta)

Y llegamos a la parte bonita del cuento, solo nos queda "Coser y Cantar..." en esta solo debes elegir opciones como zona horaria, idioma del teclado, y poner o no seguridad a tu Ubuntu... Después de esto solo nos queda esperar a que se lleve acabo la instalación y guala, a disfrutar del mundo de Linux con esta distro(Distribución) bastante sencilla, para los primeros pasos.

Esto ha sido todo por esta oportunidad...

domingo, 20 de enero de 2013

Kim Dotcom vuelve con su "Mega" idea un año después


Y es que a muy pocas personas en el mundo no les sonara el nombre de Kim Dotcom, el creador del tan conocido MegaUpload(Servicio de alojamiento de archivos en la red) quien después de largos meses de confrontaciones legales con el gobierno de los Estados Unidos, tras el cierre del servicio web utilizado por millones de personas a nivel mundial y su absorción por parte del gobierno de su país, vuelve un año después con Mega.

Mega es un nuevo servicio de alojamiento de archivos en la nube, el cual contara con miles de servidores dispersos por el mundo y  que contara con un sistema de cifrado RSA de 2048bit para la protección de la información de sus usuarios, la llave para el acceso al servicio se generan en el cliente lo cual implica que Mega no estaría rompiendo ninguna ley.

La gran demanda del servicio en estás primeras horas, ha hecho difícil el acceso Mega, quien ofrece una cuenta gratuita de 50GB, que se puede extender a 500GB, 2T, 4T por un costo de 10€, 20€ y 30€ respectivamente. Con estos planes Mega de Kim Dotcom está de vuelta, y va con todo para recuperar el número uno en los servicios en la Nube.

Ya se avecinan versiones para los diferentes sistemas operativos, lo cual puede poner en apuro a los servicios como Google Docs o el mismo Dropbox, sin duda será una gran oportunidad para ver nuevas ofertas por parte de estos tres servicios por la sima de los servicios de almacenamiento en la Nube.

Fuente: El Nacional

viernes, 18 de enero de 2013

Bienvenidos a CodiGeek

Este Blog tiene como finalidad compartir información, conocimientos e ideas, las cuales hemos venido adquiriendo a lo largo de nuestra carrera y que pueden llegar a ser de mucha utilidad cuando apenas se esta dando los primeros pasos en el mundo de la Informática o incluso si ya tienes tiempo en esta profesión, puedas retroalimentar tus conocimientos con la información proporcionada. 

 Este nuevo proyecto nació de la necesidad de dar a conocer nuestras habilidades, y que estas puedan ser útiles para otras personas mediante tips o consejos, los cuales permitan crecer tanto en pensamiento lógico como abstracto, para así lograr un estilo de programación mas optimo y eficiente.

Licencia Creative Commons