Entradas

Mostrando entradas de noviembre, 2013

Perdiendo el miedo a la Terminal de Linux. Parte 1

Imagen
Linux nos ha acompañado desde hace mucho tiempo, y se ha convertido el Sistema Operativo preferido por los administradores de servidores. Claramente, su potencia, seguridad, agilidad, robustez y precio, han sido los factores que han llevado a este "casi perfecto" sistema a la cima.
Todos los principales servidores en Internet, están usando Linux. Lo hace Google, la NASA, Yahoo, etc. Inclusive, el servidor donde este blog está hospedado, es administrado por Linux.

El objetivo de esta entrada es despertar la curiosidad por este gran gran gran sistema, mediante la publicación de los principales comandos utilizados en su famosa y temida Terminal de Linux. Es súmamente fácil.


Empezamos con algunos comandos sobre gestión de archivos:
man [termino] = Muestra una ayuda sobre termino.ln -s [archivo] = Crea un enlace blando.rm -r [directorio] = Elimina un directorio recursivamente.rm [archivo] = Elimina un archivo completamente.mkdir [directorio] = Crea una nueva carpeta dentro del d…

Cómo leer una firma digital con C#:

Imagen
1. Abra un nuevo proyecto en C#.

2 Cree un método que lea la firma digital:


private bool verificarFirma(string text, byte[] signature, string certPath){
3 Cargue el certificado para verificar la firma:

X509Certificate2 cert = new X509Certificate2(certPath);4 Obtenga la llave pública para abrir el archivo:
RSACryptoServiceProvider csp = (RSACryptoServiceProvider)cert.PublicKey.Key;5 Haga el Hash del texto:
SHA1Managed sha1 = new SHA1Managed(); UnicodeEncoding encoding = new UnicodeEncoding(); byte[] data = encoding.GetBytes(text); byte[] hash = sha1.ComputeHash(data);6 Verificar la firma con el hash y cierre el método:
return csp.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA1"), signature); }7 Asegúrese que el certificado de seguridad ya esté instalado en el servidor, para poder obtener la llave pública de la firma digital. SINO es así, agréguelo a "C:". Esto se ocupará en el siguiente paso.8 Agregue el código para llamar a verificarFirma:
if (verificarFirma("POST TR…

Instalar SmartCard (firma digital) en Debian

Imagen
Instalar los siguientes paquetes:
pcscd: middleware para acceder al smartcard usando pcsc (obligatorio)libccid: Driver de pcsc para usb ccid smartcard readers (recomendado ==> muchos smartcard readers son ccid-compliant)libpcsclite1:  middleware para acceder al smartcard usando pcsc (obligatorio)libusb: Bibliteca para la programación de usb's. (obligatorio)



Comandos de instalación para que todo quede configurado

sudo apt-get install libccid libusb-0.1-4 pcscd libpcsclite1
Verificar si funciona al insertar la tarjeta en el lector. Revise los logs en /var/log/messages. sudo tail -f /var/log/messages &
Hay otras configuraciones extra, pero no son obligatorias.

¿Qué son los Traits de Scala?

Imagen
Muchas veces, al comenzar a trabajar en Scala nos encontramos con los razgos o "traits", que desafortunadamente tienden a confundir a los que se inician en Scala. Veremos que en realidad, los traits no solamente son un tema simple y sencillo, sino que además, proveen una gran cantidad de facilidades que nos permitirán programar mejor.


Este post lo estaré haciendo cargado de ejemplos, pues creo que es la mejor forma de explicar los traits. Además, originalmente esto fue publicado en quora. Pueden ver mi respuesta original (en inglés) aquí.
Ejemplo sencillo En resumen, los traits de Scala son interfaces de Java que pueden tener funciones implementadas. Ahora, los traits de scala son una característica realmente poderosa del lenguaje y hay varias tareas interesantes que se pueden hacer con ellos. Primero, veamos su uso más básico: como interfaces de Java.


Evidentemente, esto es un ejemplo muy simple, pero sirve para ilustrar la for…

Instalando AppEngine SDK Python en Linux

Imagen
El Appengine de Google es uno de los servicios más requeridos por los desarrolladores modernos, que buscan el poder y la sencillez al mismo tiempo. Es la nube de Google.
En este tutorial vamos a aprender cómo alistar el ambiente de desarrollo, que nos permitirá simular la nube en nuestra computadora. Actualmente hay un SDK para Python, Java, PHP y Go, y hasta existen plugins para Eclipse. Nosotros vamos a usar el SDK para Python y sobre la plataforma Linux.
Como requisito, Python 2.7 como mínimo, que viene instalado en todas las versiones modernas de Linux. Asumiremos que ya usted lo tiene también. Para asegurarse de la versión que está instalada, ingrese a la terminal y escriba python:

Entonces, ingresamos al sitio https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python, donde está lo que andabamos buscando. Descargamos la versión para Linux, que pesa aproximadamente 50MB.
Buscamos la carpeta zip en nuestro directorio y la descomprimimos. Ya es…

Un emprendimiento móvil

Imagen
Ningún  geek o tecnófilo podrá olvidar la presentación de el iPhone por Steve Jobs, con sus repetitivas palabras de cambiar totalmente la industria de los "smarthphones", ciertamente lo hicieron. 



Hoy en día  un desarrollador tiene mas opciones como Android y el innombrable Windows Phone, sin embargo es importante conocer a fondo las ventajas de cada plataforma de esa forma no caer en dimes y diretes de los "fans" que aunque saben de funcionalidad puede que no entiendan la importancia de entrar en el mercado correcto para una empresa, cuya asesoría debe ser guiada y otorgar de esa forma un valor agregado tanto para la empresa que es tu cliente como para los usuarios finales de la aplicación.
Crear una "startup" de desarrollo móvil en Costa Rica es una gran experiencia y genera mucho aprendizaje. Pero obviamente es muy diferente a crear una "Startup" en lugares como Estados Unidos New York o inclusive Chile, sin embargo existen casos en Costa Rica …

[Tutorial Django] Preparando el ambiente de desarrollo

Imagen
Django es el poderoso framework para desarrollar para la web que usa el grandioso y entendible lenguaje de programación Python. Se dice que Django es perfecto para los desarrolladores perfeccionistas que no tiene mucho tiempo.

Para empezar, debemos tener Python y Django instalado en nuestro equipo. Yo, actualmente estoy trabajando desde mi laptop con Debian, así que voy a hacer referencia a Linux como SO. Empezamos:

Instalando Python
Django trabaja únicamente con la versión 2.6 y 2.7 de Python.

Todas las distribuciones Linux vienen con la última versión de Python debidamente instalada y configurada, lista para usar. Sin embargo, desde debian o ubuntu puedes usar el comando sudo apt-get install python

Si estás desde Windows puedes ingresar al sitio web oficial y descargar el MSI que le permitirá instalar el lenguaje en un par de pasos. No olvide que debe agregar la varialbe de entorno para poder usar el comando python en la consola.

Para verificar que la versión que tienes instalado, de…

Bienvenidos. Vamos a desarrollar!

Imagen
Hola. Muchas pero muchas gracias por estar leyendo esta entrada. Supongo que ya se habrá enterado de esta nueva comunidad de desarrolladores que hemos creado.

El objetivo de esto es tener un sitio exclusivo donde podamos hablar el mismo idioma, aprender algunas cosas nuevas y, lo más importante, compartir.

Hemos creado un perfil de Facebook y otro en Google Plus, usted escoge donde se siente más cómodo :); y este blog.

Agradecemos mucho que comparta con sus amigos esta comunidad, queremos llegar a la mayor cantidad de personas en menor tiempo posible. Todos tenemos la obligación de aprender cosas nuevas, relacionadas a lo que nos apasiona, todos los días.

Ahh!, y no olviden comentar, nos gustaría que fuesen muy críticos.

Gracias por estar aquí. Pura vida!