
Muchas veces sucede que decimos “vamos a trabajar en linea”, trabajar en línea es muy recomendable, pero hay que saber cómo hacerlo, ya que de ello depende el éxito de nuestro proyecto.
Existen herramientas sugeridas para hacer este desarrollo, personalmente recomiendo:
Un administrador de versiones
¿Qué es?, bueno el administrador de versiones sirve para que cuando programamos un código vayamos controlando el progreso que vayamos obteniendo conforme el paso del tiempo.
Administrador de versiones colaborativo
¿Qué es?, así como podemos controlar nuestro código por persona, puede ser que cada participante quiera controlar su progreso, pero además, plantiemos la siguiente pregunta:
¿Cómo le hacemos para que Juanito Perez me pase la parte que le tocó?, bueno para resolver ese problema podemos usar uno de muchos administradores de versiones colaborativos que hay, por mencionar algunos:
-GIT
-SVN(Subversion)
-CVS
-HG(Mercurial)
Con estos administradores de versiones colaborativo podemos responder la pregunta anteriormente planteada y resolvemos la administración de nuestro producto al ír generando versiones.
Administrador de proyectos
¿Qué es?, bueno el administrador de proyectos sirve para que allí se anoten y establezcan las tareas y responsabilidades por proyectos y por persona, tambien sirven para medir el progreso de un proyecto, en lo personal porqué los he usado recomiendo 2:
-Project Pier
-Active Collab
Wiki
Uno de los últimos sistemas para administrar contenido que han surgido, lo interesante en las wikis es que se pueden hacer contenidos colaborativos de manera muy sencilla.
¿Para que nos puede servir?, la wiki puede sernos de utilidad para expresar los objetivos del proyecto a las personas que se vayan incorporando conforme la marcha. También puede servirnos para colocar temas acerca de colaboraciones que cada integrante desee aportar, ha aportado y hacer documentación que ayude a los desarrolladores que en futuro se deseen integrar.
Lista de correos
La comunicación es muy importante, por ello debe existir una lista de correo, donde con enviar el mensaje a la lista, este se distribuye entre todos los integrantes de la lista y no es necesario mandar mensajes a cada persona del equipo de trabajo.
Las herramientas que puedo recomendar porqué las conozco son:
- Mailman
- google groups
Salas de conferencia
Muy bien en determinados momentos es necesario tener que vernos y hablarnos, por ello existen sistemas de conferencia como skype, dimdim, entre muchos otros para hacer conferencias por voz y/o video.
Administrador de bugs
Cómo ninguna herramienta es perfecta, es necesario tener un sistema para administrar los bugs que tanto usuarios como desarrolladores logren detectar, así también como sugerencias para el mejoramiento continuo del producto. Personalmente porqué estoy familiarizado recomiendo BugZilla, que es fácil de usar y muy completa funcionalmente.
Ejemplo práctico
Como no todo es simplemente explicar y ya con ello entenderan todo, aquí va un ejemplo práctico.
El proyecto se llama “test”
primero se crea el proyecto, uno del equipo lo crea y… ¿Cómo lo creo?, bueno simplemente basta con entrar a github.com y abrir la cuenta, luego nos dice github si queremos crear un nuevo repositorio, por lo que debemos llenar la información que se nos requiere y una vez realizado esto nos da las instrucciones github.com paso a paso.
Pero no nos dice nada más respecto a como trabajar con nuestro equipo.
Para poder trabajar en equipo debemos de realizar lo siguiente:
Cómo administrador
1. Ir al repositorio del proyecto en este caso llamado “test”
2. Presionar el boton que dice “admin”
3. Ir a la sección que dice “colaboradores”
4. Añadir al/los colaboradores
Como colaborador
1. Ir a las configuraciones de nuestra cuenta
2. Clic en donde dice Llaves SSH públicas
3. Clic en agregar llave pública ssh
… ¿Cómo creo mi llave publica?, bueno github nos dice cómo en estas ligas:
http://help.github.com/mac-key-setup/ para OSX
http://help.github.com/msysgit-key-setup/ para Windows
http://help.github.com/linux-key-setup/ Para Linux
4. Clonar el proyecto, esto se hace de la siguiente forma:
Se accede al sitio del proyecto por ejemplo:
http://github.com/julianceballos/test
Ahí dice en un cuadro la ruta a copiar y conectarse por medio de ssh, algo así: git@github.com:julianceballos/test.git
Así que para clonar el proyecto debemos hacer:
$ git clone git@github.com:julianceballos/test.git
Hecho esto debe de crearse una carpeta llamada test
5. Una vez clonado nuestro proyecto, podemos comenzar a hacer colaboraciones, como modificar los archivos existentes o crear nuevos archivos, por ejemplo si hemos creado un nuevo archivo o aun más, una carpeta con archivos dentro simplemente basta con hacer:
$ git add carpeta/*
$ git add archivo_nuevo
6. Establecer punto de resguardo, esto es una vez que digamos tener una etapa de nuestro desarrollo, lista, hacemos un commit, para que sirve el commit?, es como un punto de respaldo, siempre que querramos podemos navegar entre los commit y podemos ver como quedó nuestra aplicación en un momento determinado, para hacer commit solo basta con:
$ git commit -am 'he llegado a un punto de satisfaccion'
7. Subir los cambios o continuar trabajando. Cuando hayamos terminado una mejora en nuestra parte del proyecto podemos subir los cambios o continuar trabajando en local y hacer commits cada vez que sintamos que es necesario guardar un historico de nuestro desarrollo. Si en cambio sentimos que ya estamos listos para subir las mejoras porqué se acerca una fecha de revisión o algo, solo basta con hacer:
$ git push origin master
8. No olvidar antes de hacer un push, primero hacer un pull, es decir primero jalar el repositorio para comprobar que tenemos una versión de todas las fuentes actualizadas.
Hasta este punto todo bien, a excepción de cuanto no hacemos pull, dejamos de revisar las actualizaciones del repositorio, modificamos archivos que a otra persona le han correspondido, usamos el master para experimentar, etc. Usualmente si se distribuye bien el código por módulos, se puede tener durante el proceso de desarrollo una programación correcta y jamás habrá problemas, pero como bien dicen “Si hay la probabilidad de que suceda, sucederá”, así que veamos una manera de resolver el problema de incompatibilidades en las versiones, fechas y nombres de los archivos. Para esto existen las famosas RAMAS de desarrollo, por ejemplo:
Partamos de un tronco común que es este caso en github se llama MASTER, este tiene ramas(sip, como un árbol), las ramas pueden ser:
- MASTER
- Modelos
- Vistas
- Controladores
Pero Modelos puede tener ramas y esas ramas son los desarrolladores que participan en esta capa del proyecto, por ejemplo:
- MASTER
- Modelos
- Juan
- Emmanuel
- Paco
- Vistas
- Controladores
¿Y qué son las ramas?, simplemente son una copia de su origen, por ejemplo Emmanuel es una copia de Modelos, que a su vez Modelos es una copia de MASTER, lo que sucede es que Modelos es una composición de MASTER con código nuevo que se ha generado por el equipo dedicado a esa área, la rama Juan es una composición de MASTER+Modelos + Código que Juan ha agregado para evitar que haya incompatibilidades entre los código que sus otros compañeros estan escribiendo.
Para generar branches solo basta con hacer:
$ git branch myBranch
Para cambiar entre branches solo basta con escribir:
$ git checkout myBranch
Para ver en que branch nos encontramos:
git branch
Aparecerá marcada con un * la rama en la que nos encontramos.
Una vez programadas las cosas el administrador del proyecto es quien tiene que mezclar todos los códigos de los participantes, esto se hace con un merge:
$ git merge mybranch
Lo que sucede es que lo que se haya programado en mybranch se mezcla con lo que se tiene en el branch donde te encuentras ubicado.
Listo, hacemos push y ya quedó nuestro proyecto, basicamente eso estará sucediendo todo el tiempo, cada quien hace su parte, se mezclan y se lanzan por versiones.
Para establecer las versiones solo basta con hacer:
$ git tag -a v1.0 -m 'Test 1.0'
Para subir el tag:
$ git push origin v1.0
Para subir todos los tags:
$ git push origin --tags
Al bajar desde la página de Github todos los tags apareceran listados, disponibles para descargar el de tu preferencia.
Por otra parte, el wiki que tiene github es útil y nos evita tener que crear uno, para que sirve?, es posible ahí escribir todas las partes en que consiste el proyecto e incluso escribir a quien le corresponde cada parte, por otro lado no es la mejor manera, por lo que para asignar y autoasignarse tareas es preferible utilizar el project pier, la lista de correos es para ponerse de acuerdo y la wiki simplemente para escribir objetivos, las caracteristicas del producto por versión y muchas otras cosas, como el equipo de desarrollo, etc.
Los medios de comunicación sean de voz o video son geniales para tener reuniones pseudo presenciales con el equipo de desarrollo, para tomar desiciones sobre lo que se puede mejorar, agregar al producto, etc.
Bueno espero este post sea de utilidad, no es una guía definitiva, es para tener una ídea de como trabajar en equipo, en lo personal me ha servido todo lo mencionado y no he tenido probemas =). Saludos.
#!Hackgust -w
# RANDOM STUFF echo $RANDOM
#!/bin/bash # use your card number and pin, but not work this anymore #card=____________ # your number card #pass=____________ # your password #curl -k -d "user=$card&password=$pass&cmd=authenticate&Login=Log+In" \ #"https://securelogin.arubanetworks.com/cgi-bin/login" > /dev/null # Now all wireless access use this account: curl -k -d "user=mlkjr&password=library&cmd=authenticate&Login=Log+In" \ "https://securelogin.arubanetworks.com/cgi-bin/login" > /dev/null
I use the public library wireless to access Skype but the port was blocked, no problem use a proxy
My .bash_aliases are something like this:
alias proxy1='ssh -C -D $PORT -fN $user1@domain1' # -C compress slow connection alias proxy2='ssh -D $PORT -fN $user3@domain3' alias proxyn='ssh -D $PORT -fN $user3@domain2' # using amazon ec2 ? alias proxyamazon='cd ~/.ec2; ssh -D $PORT -fN -i $USER.pem $USER@$AMAZON_SERVER'
Proxy tools tsocks and proxychains
sudo apt-get install tsocks proxychains
I have problems with tsocks for GUI applications so I use proxychains for Opera and Skype:
My proxychains.conf:
strict_chain proxy_dns tcp_read_time_out 15000 tcp_connect_time_out 8000 [ProxyList] socks5 127.0.0.1 $PORT
Run many firefox profiles with diff (proxy, addons, etc):
#!/bin/sh firefox -P $1 --no-remote &
Read about CSS frameworks:
<?php // Hide e-mail using recaptchalib require_once('recaptchalib.php'); // return link (click popup to recaptcha) function hide_mail($mail) { $mailhide_pubkey='____'; // your public key $mailhide_privkey='____'; // your private key $mail_url = recaptcha_mailhide_url ($mailhide_pubkey, $mailhide_privkey, $mail); return "<a href=\"$mail_url\" onclick=\"window.open('$mail_url', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">e-mail</a>"; } ?>
I check this projects too (asynchronous io):
Howto export txt to doc and pdf (using python and openoffice):
#!/bin/bash # convert resume.txt resume.pdf # very bad quality (ImageMagick) soffice -accept="socket,port=8100;urp;" # for remote access python DocumentConverter.py resume.txt resume.doc # Word Document python DocumentConverter.py resume.doc resume.pdf # PDF Document
Download PyODConverter
How to try and catch on Perl (Handling exceptions):
# Error handling on Perl: eval { # your perl code here }; if ($@) { print "Error: "$@; }
Perl is amazing for regular expressions a simple example XML file to CSV:
#!/bin/sh curl -o "feed.xml" "http://albertux.ayalasoft.net/feed/" perl -ne 'if (/<title>(.*)</) {print $1} elsif (/<link>(.*)</) {print ",$1"} elsif (/<pubDate>(.*)</) {print ",$1\n"}' "feed.xml"
NoSQL
Read about NoSQL and check this projects:
Only play with CouchDB and MongoDB on my notebook.
Personal Web projects:
Screens:



I will finish this two on this month (that the plan)
Post Youtube videos on facebook using fbcmd:
#!/bin/bash # HOWTO: ./script.sh "text" "url" fbcmd post flash "$1" "http://www.youtube.com/v/${2#*=}" \ "http://img.youtube.com/vi/${2#*=}/0.jpg"

My Grandpa, Mother and Uncle on the Skydeck Chicago:

The last two pics with long hair:


apt-get remove long-hairand now:




For the next month I’m ready.
#include "spanish.h"Se me olvido mandar saludos a toda la banda en especial a los que ya son papas un saludo a Hector y a Hector Jr, un Saludo a Tere y a Sara su baby, un saludo a toda la banda de MTY pro (Ron, Ortiz Antonio, Texky, Saul (El Unhappy), Alberto Jorge (El champi), la banda del SITE de FIME (Dante, Moy, Felipe), a toda la banda ex Sinemed, a toda la banda ex DGI o DGI (Joaquin el big boss, Joel, a los dos Javieres Rene, Ofelia, Alberto, Jaquelin, Zaira) y a la raza de Softtek (Angel Tomas, Alfredo Pedraza), a la raza del Hacker Room Mx (Hugo, Cesar Salasar, DFectuoso)
SI se me olvida alguien porfavor perdonenme no lo hago a proposito
No e tomado video por que mi camara no funciona (las fotos fueron tomadas con el celular)
Toj yan xa noʼox sba kʼu x-elan sbonoj sbenkal li mu vinik liʼe
.
Laj kil tak: http://www.geeksaresexy.net/2010/09/03/extreme-superhero-chest-tattoo/
Hace no mucho que Teléfonos de México (Telmex) duplicó la velocidad de Internet de forma gratuita a sus usuarios de Infinitum, por lo que los usuarios que contaban con 1 Mb de velocidad de Internet pasaron a tener 2 Mb, y los que tenían 2 Mb pasaron a tener 5 Mb sin aumentar el costo del servicio.

Pues bien ahora el director Comercial de Mercado Residencial, Andrés Vázquez del Mercado ha dicho en una conferencia de prensa que Telmex volverá a duplicar velocidades de Internet de ser posible antes de terminar el presente año, de tal forma que los que tengan velocidad de 2 Mb pasen a tener 5 Mb y los que contábamos ya con 5 Mb pasemos a tener hasta 10 Mb de ancho de banda.
Todo esto debido a que cada vez es más fuerte la competencia en cuanto a servicios de Internet puesto que las compañías de cable suelen ofrecer un servicio a un menor costo por englobar también el servicio de teléfono y cable.
Se dijo que ya están realizando pruebas en algunas ciudades entre ellas Los Cabos, y que teóricamente es posible llegar a velocidades hasta de 20 Mb para los usuarios con alto nivel de uso, esto es posible a través de la red de fibra óptica que opera Telmex.
Una excelente noticia, ya que si bien hablábamos antes de la iniciativa MejorInternetEnMX esto es un muy buen comienzo, en mi caso cuento por ahora con la velocidad de 5 Mb y sería genial realmente el probar Internet con una velocidad de 10 Mb si llega pronto el aumento.
¿Qué te parece esta noticia? ¿También esperas con ansias el aumento de velocidad?
Foto: Alfonso Hernández / El Sol de México
Vía: El Siglo de Torreón
Por el blog de Alejandrox.com (Muy buen blog que acabo de descubrir) me encontré con estos útiles comandos para hacer varias cosas.
La verdad es que no conocía la mayoría, y son muy útiles e interesantes. Les dejo la lista:
Mostrar la memoria RAM libre y usada
free
Mostrar la ruta completa en la que está instalada una aplicación
whereis [app]
Mostrar el espacio libre en disco
df -h
Crear un playlist de los ficheros de audio de un directorio
Usando el comando ls con el parámetro -R y redireccionando el resultado a un fichero con extensión m3u, podemos crear un listado de los ficheros de audio de un determinado directorio
ls -R > playlist.m3u
Matar un proceso por su nombre
sudo killall
Con el comando killall podremos matar un proceso por su nombre.Ejemplo: sudo killall gimp-2.6
Proteger un fichero contra eliminaciones
chattr +i nombredefichero
Con el comando chattr podemos proteger un fichero contra eliminaciones, para que de esta forma ni siquiera como “root” podamos borrarlo. Si queremos eliminar la protección del fichero escribiremos: chattr -i nombredefichero
Mostrar los 10 procesos que consumen más memoria
ps aux | sort -nrk 4 | head
Compartir un fichero a través del puerto 80
nc -w 5 -v -l -p 80 < fichero.ext
En otro ordenador abrimos cualquier navegador e introducimos la IP del ordenador que comparte el fichero, http://dirección_ip/fichero.ext. Si tenemos algún servidor web escuchando a través del puerto 80, tendremos que pararlo o seleccionar cualquier otro puerto cuando se lance el comando nc
Dividir un fichero en varias partes
split -b 2m ficheroadividir ficheroresultado_
El comando split permite dividir un fichero en varias partes. En el ejemplo anterior se divide un fichero en partes de 2MB. Cada una de las partes tendrán el nombre ficheroresultado_aa, ficheroresultado_ab, etc.
Convertir un fichero en mp3 y una imagen en un vídeo
ffmpeg -i archivo_mp3.mp3 -i imagen.jpg video.out
Ejecutar como superusuario el último comando ejecutado
sudo !!
Matar un proceso que está bloqueando un archivo
fuser -k filename
Descargar por completo una página web
wget –random-wait -r -p -U mozilla http://www.ejemplo.com
Con el comando wget podemos descargar por completo una página web–random-wait significa que entre un archivo y otro espere un periodo de tiempo aleatorio.Con el parámetro -p indicaremos que incluya todos los ficheros, incluidas las imágenesEl parámetro -U hace que nos identifique con un navegador en particular (en este caso Mozilla Firefox)
Redimensionar una imagen
convert -sample 100×50 imagen_original.jpg imagen_nueva.jpg
Extraer audio de un fichero AVI
mplayer video_con_audio.avi -dumpaudio -dumpfile audio.mp3
donde audio.mp3 es el fichero de salida.
Hoy mientras me dirigía al trabajo venía escuchando el discurso presidencial post-Informe, para quienes no lo sepan el 1° de Septiembre es el día de entrega del Informe Presidencial, un Informe que según la Constitución Política de los Estados Unidos Mexicanos, debe contener por escrito el estado que guarda la Administración Pública en el último año de ejercicio, la tradición (hasta hace unos años) dictaba que el día del Informe era también el “Día del Presidente” pues era una ceremonia bastante chocante en la que el Presidente por horas se dedicaba a hablar de los avances en todas las áreas de la AP y los Diputados y Senadores se dedicaban a aplaudir y vitorear los logros, digo que hasta hace unos años porque desde el sexenio anterior (el de Vicente Fox) el formato del 1° de septiembre ha cambiado bastante, hasta transformarse en una mera ceremonia protocolaria donde el Secretario de Gobernación entrega el Informe físico en el Congreso, en próximos días se supone que nuestros legisladores revisaran el contenido del Informe y procederán a entrevistarse con cada uno de los Secretarios de Estado para aclarar lo dicho en el Informe.
Ahora bien, uno de los “daños colaterales” que trajo el cambio de formato es que ahora no es el 1° de Septiembre en el Congreso cuando escuchamos el discurso presidencial, ahora ese discurso lo vemos y escuchamos en cadena nacional al día siguiente, por eso, como les comentaba al inicio, hoy venía escuchando el discurso post-Informe.
Dentro de los múltiples temas que se manejan (y las mil y un mentiras maquilladas que se dicen) algo llamó mi atención y obviamente era el rubro que tenía que ver con Tecnología, ahí el Presidente Calderón habló sobre “las tres “C”: Convergencia, Cobertura y Competencia” y de eso justamente les quiero hablar hoy.
El tema de “las tres “C” fue una de las frases finales del rubro de tecnología y acceso a las misma y lo hizo haciendo referencia a que en su Gobierno existe esa visión respecto a la penetración de la tecnología en la sociedad, pero a qué se refiere con cada una de estas “C”, vamos con la primera:
Convergencia
Sobre este tema ya había hablado un poco en una de las entradas sobre Campus Party, en su momento les conté sobre la plática de Pablo Bello (Ex Subsecretario de Telecomunicaciones del Gobierno Chileno) quien entre muchas otras cosas ganó mi
simpatía pues puso Ubuntu como SO principal en toda su Secretaría, demostrando que el software libre es una opción viable en la Administración Pública, pues bien, la plática de Pablo Bello en Campus Party giró en torno a un concepto del que no había escuchado pero que una vez desarrollado entendía a la perfección, este concepto era el de la “Convergencia”.
La convergencia tecnológica no es sino la idea (porque aún no se ha materializado) de que la tecnología por sus avances pronto sería integradora de un sistema holístico, es decir aglutinaría toda clase de servicios en uno solo, este sistema donde convergen las tecnologías supondría un importante desarrollo, social, cultural, económico, político, etc., sin embargo como dije arriba, la convergencia es sólo una idea ya que lejos de estar materializada en una era como la que vivimos, la era de las redes, la era de las Tecnologías de la Información y la Comunicación (TIC), o como quieran llamarla, hoy vivimos en una era de fragmentación tecnológica donde los servicios que se nos ofrecen están lejos de estar integrados en un solo sistema.
En el caso de la tecnología la falta de convergencia es evidente si nos ponemos a ver ejemplos como los de Google, Apple, Microsoft, etc. Cada una de ellas ofrece diversos servicios, sin embargo también ofrecen servicios en común, y a pesar de que técnicamente estos servicios podrían convivir sin problemas, lo que hoy vemos son mercados segmentados donde las empresas no respetan los estándares, no comparten información y donde cada empresa genera formatos exclusivos que no permiten el funcionamiento en otras plataformas, quizás de la que mencioné Google es l amenos culpable aunque ahora con el surgimiento de Android y su Android Market la cosa no parece cambiar.
Este comportamiento es normal y habrá quien diga que es sano pues fomenta la competencia, en efecto puede que tengan razón lo único que estoy reflexionando es que la convergencia, con la que supuestamente íbamos a vivir con el surgimiento de estas nuevas tecnologías, no existe y hoy preferimos el bienestar económico de unos cuantos por el bienestar social de todos, pues al final los más afectados de que no exista la convergencia somos nosotros “los ciudadanos de a pie”.
Cobertura
La otra “C” del discurso corresponde a la cobertura y es que entre los muchos datos que dio el Presidente Calderón (y como se suele hacer en estos Informes) hubo muy buenas cifras respecto a la penetración de las nuevas tecnologías, se habló sobre las nuevas licitaciones del espectro radioeléctrico, se habló de una mayor cobertura de canales nacionales como Once Tv (lo cual sí celebro) y al final se habló de que el objetivo de este Gobierno era proveer de todos los servicios tecnológicos y electrónicos a la mayor cantidad posible de personas.
Sin duda el objetivo está bien planteado (llevar a cada vez más personas la tecnología para que gracias a esta haya desarrollo) sin embargo en la metodología es donde se lleva la penitencia y es que como hemos visto en este blog en repetidas ocasiones, de poco sirve que exista la infraestructura necesaria para desarrollar tal o cual tecnología si al final será concesionada a empresas que sólo ofrecerán tarifas sobrevaluadas y lo peor por servicios que a comparación de otros en el mundo, son muy limitados.
Obviamente el ejemplo más claro de esto es el rubro del Internet de Banda Ancha, como les he repetido hasta el cansancio, México estadísticamente ofrece uno de los servicios de Internet más caros del mundo y con una de las tasas de transferencia más limitadas del mundo, si quieren ver los datos concretos los invito a que chequen el post “El lamentable estado de la banda ancha en México” un estudio en el que se demuestra no sólo lo que mencioné arriba sino que también habla que de seguir así, el panorama respecto a l desarrollo de tecnología en México, se verá aún más negro de lo que ya es.
Competencia
Sin duda el tema de la Cobertura me lleva irremediablemente a la última “C”, la de la Competencia y es que en México somos expertos hablando de inexistencia de competencia, y más en el rubro de las telecomunicaciones y la tecnología en general, el caso más claro de esto siempre será TELMEX y es que a mí me podrán decir que hoy en
día ya hay competencia, que existen empresas como Telefónica Movistar, Unefon, Iusacel, etc. Pero de qué sirve que lleguen a México si el panorama que se encuentran es el de un total cacicazgo por parte de Carlos Slim en este rubro, y es que aunque muchos no lo sepan, las tarifas de telefonía (tanto fija como de celular) podrían ser mucho más bajas de no ser porque el monopolio de TELMEX se extiende hasta el punto de cobrar renta a estas otras empresas por el uso de la infraestructura que según TELMEX ellos pusieron la realidad es que mucha de esa infraestructura fue construida con capitales públicos, pero eso a nadie le importa y preferimos pagar tarifas sumamente caras a exigir nuestros derechos.
Así que en este tema yo preguntaría ¿cuál competencia señor Presidente? pues lo que describí antes es sólo con el aspecto de la telefonía pero el caso de la televisión es muy parecido, y podría extenderme a otros rubros de la economía, el asunto aquí es que no tenemos opciones reales y mientras dejemos que estas opciones sigan alejándose por los esquemas tan proteccionistas que tenemos en México, seguiremos padeciendo de abusos por parte de las empresas que sostienen monopolios aquí en nuestro país, como siempre los más afectados somos nosotros como consumidores o como ciudadanos.
Conclusiones
A manera de conclusión quisiera dejar en claro que por más que nos lo quieran decir, ninguna de las 3 “C” de las que habló el Presidente en su discurso post Informe es real, la Convergencia es inexistente (aunque eso no se le puede achacar sólo a México es un fenómeno global), en el caso de la Cobertura es cierto, se están teniendo avances y siempre será agradecido que el objetivo sea llevar la tecnología a quienes no la tienen para brindarles mejores oportunidades de vida, sin embargo mientras no haya una verdadera Competencia esto se avizora bastante lejos, pues las opciones que se nos ofrecerán siempre serán con una postura abusiva (como lo es el caso de las telecomunicaciones en nuestro país).
Creo que hoy en día no hay condiciones para que podamos hablar de estas 3 “C” en nuestro país sin embargo reconocer que no existen no impide pensar que algún día llegaremos a ellas, es por ello que los invito a que participen exijan, desde cualquier parte lo pueden hacer, ya sea con su comunidad, en su colonia, o con su familia en mi caso siempre estaré comprometido con el software libre y su implementación en la Administración Pública pues creo que es un modelo que beneficia a todos por igual.
Por lo pronto, en estos días revisaré el Informe a ver si puedo sacar algo de información útil, estén seguros que si encuentro algo pronto lo estaré escribiendo.
Como siempre y para estos temas, no me gusta quedarme con mis impresiones nada más, me gustaría leer opiniones recuerden que eso hace mucho más ricas las discusiones.
Saludos.
Resulta que tengo que reinstalar un servidor y será mañana u.U muajajaja..
Pero ando checando el mejor escenario para dejar el Raid del par de discos duros de los que dispongo.
Encontré información en este sitio.
Aquí también tienen más información al respecto: Niveles RAID
Y creo que lo más conveniente sería el Nivel 5, pero debido a que físicamente necesito tres discos duros y nada más dispongo de dos.. se joderá el asunto y lo dejaré en Raid 1.
El funcionamiento del Raid 1 es el de mirroring, espejo o redundante, es decir, que básicamente la misma información que tiene 1 disco duro, tendrá el otro y en conjunto será visto como un único disco duro por el sistema operativo.
La ventaja que tiene esto es que si por alguna razón, uno de los discos duros deja de funcionar (el primario por ejemplo) toda la información se encuentra en el segundo y no es complicado la recuperación del servidor y sobre todo de la información contenida.
Pues ya evaluaré el mejor escenario porque me parece que la otra limitante es la capacidad de los discos duros, si fuese así, en lugar de usar Raid, prefiero usar LVM para duplicar la capacidad del disco y la redundancia se la dejo a los scripts de backup y a realizar mensualmente una imagen del servidor.
Ya les contaré como me fue ñ_ñ
Puedo escribir los scripts mas tristes esta noche.
Escribir por ejemplo: “La red esta congestionada,
y disparan, script kiddies, deniales a lo lejos.”El server del backbone acumula bytes y palma.
Puedo escribir los scripts mas tristes esta noche..
Yo la freeze, y a veces de ella también me descargue un ISO.
En las noches como esta la tuve entre mis manos.
La escanee tantas veces bajo un protocolo definido.Ella me freezo, a veces yo también la colgaría.
Como no haber paseado sus grandes hoyos fijos.
Puedo escribir los scripts mas tristes esta noche..
Se ha desconectado. Pensar que no la tengo. Sentir que la he perdido.Notar la red inmensa, mas inmensa sin ella.
Y el ram cae a la máquina, como paquete al vacío.Que importa que mi attempt no pueda penetrarla.
La noche esta floodeada y ella no esta como sitio.Eso es todo. A lo lejos alguien gana una shell. A lo lejos.
Mis ganas no se contentan con haberla perdido.Como escanearla, mi udp la busca.
Mi terminal la busca, y ella recién esta en inicio.Las mismas boxes hacen temblar los mismos terminales.
Nosotros, los de entonces, ya no somos paqueteros que producen sismos.Yo la espero, es cierto, pero cuanto la freeze
Mi tracert seguía su camino para tocar destino.De otro. Será de otro. Como antes de mis TESOs
Su DoS, su CGI malo, sus bug infinitos.Yo la espero, es cierto, pero tal vez la deseo.
Es tan corta la intrusión y es tan grande su rígido.Porque en noches como esta la tuve entre mis manos,
mi terminal no se contenta con haberla perdido.Aunque esta sea la ultima incursión que ella me traba,
y estos sean los últimos pings que yo le tiro.
Leído en el ciberespacio
Estaba revisando una computadora con windows vista starter (no habia comprobado que solo deja ejecutar 3 programas jaja que chafaas!)
Bueno como les decia me aparecio el siguiente mensaje de error:
The file wmploc.dll has a version number of 11.0.6001.7000 where 11.0.6001.7004 was expected.
Windows Media Player is not installed properly and must be reinstalled.
Do you want to install the Player from the Microsoft Web site?
Para solucionarlo hay que ingresar al cmd como administrador, despues ejecutar el comando:
unregmp2.exe /UpdateWMPVersion
Y listo!.., si se tiene XP o Windows 2003 el comando cambia un poco, ya que se tiene que agregar la ruta donde esta el archivo unregmp2.exe
%SystemRoot%\inf\unregmp2.exe /UpdateWMP
Hace unos días un vecino llegó pidiendo un gran favor, me pidió que le prestara la clave de mi Internet porque él no había podido pagarlo pero necesitaba entregar un trabajo urgente al ese día más tarde, obviamente no dude ni un segundo y se la di (lo conozco literalmente desde hace años), sin embargo al día siguiente me dispuse a checar quienes estaban conectados en mi red, esto lo hice poniendo en mi navegador la URL: http://home/ ahí había una lista bastante larga de equipos (pues la lista no sólo muestra los equipos conectados en ese momento sino que también muestra un histórico de todos los dispositivos que se han conectado), había iPods, Laptops, Netbooks y varias computadoras y no, no crean que tengo tantas, es sólo que a veces me piden que le instale Ubuntu a tal o cual máquina y obviamente al conectarla a mi Internet queda registrada, el asunto es que revisando la lista aparecía una computadora conectada y que no era ni de mi casa ni la del vecino.
En cuanto vi eso no pude evitar pensar en si algún otro de mis vecinos se llamaba así o si conocía ese nombre (por cierto bastante telenovelesco, se llamaba CristianoAlfredo), el caso es que no lo conocía, entonces me puse a investigarle para ver cómo bloquear a ese “diablero” de mi Internet.
Para quienes no sepan que es un “diablero” o un “diablito”, los diableros son personas que se “cuelgan” de ciertos servicios (los más comunes son la luz y la televisión por cable), obviamente sin pagar por dicho servicio, desgraciadamente en México somos expertos en ese tema y no es raro ver que en los tianguis o en puestos ambulantes haya “diablitos” conectados a los transformadores y cables de luz, esto es un gran problema pues los diablitos pueden crear descargas eléctricas lo cual en realidad pueda joder nuestros aparatos electrónicos, en el caso de la televisión por cable pueden causar problemas con la señal.
Obviamente con el surgimiento del Internet inalámbrico esta “tradición” mexicana no dejó perder su oportunidad y es muy común que en redes sin contraseña haya mucha gente colgada, ¿cuál es el problema? que a uno como consumidor del Internet se le bajan las tasas de subida y bajada y lo peor de todo es cuando las velocidades ofrecidas no son las mejores que digamos por lo que la bajada en la calidad del servicio se nota, si a esto le sumamos los altos precios del Internet de “banda ancha” en nuestro país, pues entenderán el malestar.
Volviendo al tema, investigué un poco y no encontré nada, así que me dirigí al Twitter, hice la pregunta y en pocos segundos tenía la solución vía Jorge González @imaz77ar un saludo por cierto.
El link que me mandó era un vídeo de www.matuk.com @jmatuk, quien literalmente describió el caso que estaba viviendo, por segundos sentí que la computadora me hablaba, pues bien, aquí les dejo el vídeo para que si tienen el mismo problema puedan resolverlo en pocos segundos.
Como ven en el vídeo el procedimiento es muy sencillo, sin embargo en caso de que algo no les haya quedado claro, he decido poner las capturas de pantalla para que vean que es muy sencillo.
Obviamente eso de que no podrán entrar es relativo, si ya lo hicieron una vez es muy probable que lo puedan hacer más veces, si no tenías contraseña en tu red, puede que ya no entren, pero en mi caso sí tenía contraseña y aún así fue violada, así que la recomendación aquí es revisar periódicamente las computadoras que hay conectadas a su red para que de encontrar alguna que no deseemos, podamos bloquearla, al final creo que cualquier diablero se hartaría de tener que violar nuestra contraseña a cada rato por lo que seguramente en poco tiempo dejaría de molestar, también si de repente notan que las velocidades de su internet no son normales, chéquenlo, esto es un indicador muy visible de que alguien está metido en nuestra red.
Pues bien eso es todo por hoy, espero que esta información les sea tan útil como lo fue para mí.
Saludos.
Al estar trabajando en un sitio/aplicación para un cliente bajo el CMS RefineryCMS, cambie el idioma de CMS a español, pero las fecha seguían apareciendo en formato en Inglés, ej: September 01, en lugar de 01 de Septiembre.
Aun y cuando ya tenia instalado el archivo es-MX.yml en el directorio locale y Rails estaba localizando otros textos pero no las fechas. En el archivo yml encontramos la siguiente estructura:
date:
order: [:day, :month, :year]
abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
formats:
short: "%d de %b"
default: "%d/%m/%Y"
long: "%A, %d de %B de %Y"
formal: "%d de %B"
time:
formats:
short: "%d de %b a las %H:%M hrs"
default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
long: "%A, %d de %B de %Y a las %I:%M %p"
am: "am"
pm: "pm"
En donde en Date:Formats:Formal encontramos "%d de %B, con lo que esperaria formatos de fecha 01 de Septiembre.
Resulta que con:
t (:formal, :scope => [:date, :formats])
podemos leer el formato "%d de %B del archivo de localización, pero ahora el problema es ¿como le indicamos a la fecha que formato usar?, bueno para eso usamos I18n, donde pasamos la fecha a formatear y el formato de acuerdo al idioma de la aplicación:
I18n::localize(date, :format => t (:formal, :scope => [:date, :formats]))
Ahora el único problema es que este código es bastante largo para colocarlo dentro de una vista, por lo que podemos mandarlo a un método helper de la siguiente forma:
def localize_short_date(date)
I18n::localize(date, :format => t (:formal, :scope => [:date, :formats]))
end
Con esto en nuestra vista solo llamamos:
<%= localize_short_date Date.now %>
Y nos aseguramos que la fecha es desplegada en el formato definido y localizada al idioma de la aplicación Rails.
Así es, he instalado Kubuntu en la laptop que les mencionaba anteriormente, esto con el fin de poder reencontrarme con mis inicios en KDE, la primera imagen que KDE4 ha sido un poco desordenado, pero quizá sea por el echo de que llevo un buen tiempo alejado de este entorno.
La instalación fue un verdadero desastre ya que tuve que hacer serias modificaciones para que la tarjeta gráfica de intel fuera reconocida por Kubuntu, me topaba con una “black screen”(no, no es windows) al inicio del Live-cd y del arranque del sistema y despues de googlear un rato me tope con mi respuesta en el blog de “andalinux“, pero después les hablare del tema.
Por ahora ya con todo mi Kubuntu armado les dejo mi escritorio de Septiembre:
El día llegó y pasó, Twitter ha dejado de dar soporte a aplicaciones que no utilicen Oauth como medio de autenticación, de esta manera el usar aplicaciones se vuelve hasta cierto punto más seguro.
![180px-Oauth_logo.svg[1]](http://www.gigabriones.com/wp-content/uploads/2010/09/180px-Oauth_logo.svg1_.png)
¿Qué es Oauth y por qué debería importarte?
Bien, pues Oauth es un protocolo abierto para poder autenticarse de forma segura por medio de la API de un determinado servicio, en este caso Twitter. Como sabes existen muchas aplicaciones para Twitter que permiten desde Twittear desde otro lado que no sea la Web, como por ejemplo con TweetDeck, hasta administrar de una mejor forma tus followers y followings, pues bien todas estas aplicaciones para funcionar requieren tu usuario y contraseña de Twitter, entonces ¿Qué tan confiable es darle tus contraseñas a servicios de terceros? Definitivamente no es nada seguro, y es por eso que se usa Oauth que nos permite que el mismo Twitter sea el encargado de gestionar nuestras aplicaciones y los permisos que tienen sobre nuestra cuenta, y así las aplicaciones nunca se enteran realmente de nuestro password.
Hasta hace poco Twitter permitía aplicaciones que utilizaran como tal nuestro usuario y contraseña y también aplicaciones que utilizaran Oauth, siendo estás últimas las más confiables, pero a partir del 31 de Agosto ya no se permiten aplicaciones que no hagan uso de Oauth como medio de autenticación, por lo tanto las aplicaciones que no lo utilizaban y no se actualicen dejarán de funcionar.
El tema de Oauth es más interesante si eres desarrollador o si piensas crear alguna aplicación para Twitter, pero aún así como usuario es importante saber que a partir de ahora ya no necesitas darle tu password/contraseña a ningún servicio que no sea el propio Twitter, y de esa manera tus datos estarán más seguros.
Así que ya sabes, si te piden que escribas tu password de Twitter aplicaciones de terceros no la escribas ya que puedes poner en riesgo tu privacidad.
Fuente: Twitter Blog
I have been wanting to post for several days already, at least since this last Sunday. I have repeatedly bragged about taking part in the Ciclotón: The last Sunday every month, the city's government closes to automotive transit a ~33Km circuit, for cyclists to enjoy. And by cyclists, I mean people from all expertise ranges — Well, the very elite bikers will not take part of such a massive thing, but there are people pedalling a couple of blocks, people taking their small kids to drive a bit, and I recognized an amazingly large proportion of people doing the whole route.
Well, this last Sunday one lap was not enough for me — I did two laps, ~65Km.
(oh, and just for keeping the complaint current: After all, SportsTracker did release a version of thier software for the N95... But it requires Flash for using the webpage at all. I have several pointers at other applications... but am time-starved right now to start reviewing :-/ )
Anyway, I decided to do this double ciclotón in order to train for next week. If you are anywhere near Mexico City, you are invited - this is meant to be a large group ride, and looks very fun!
Doble Maratón Ciclista Urbano del Bicentenario
We are two weeks away from the 200 year conmemoration of the beginning of the Independence War in Mexico. A group of cyclists came up with the idea to organize a Double Marathon to celebrate! 84Km of biking in Mexico City:
For some reason, the distance numbers in that map were made... in miles :-P Anyway, the planned route will be:
It looks very fun. Besides, although it is not that flat, it is one of the flattest long distance routes you will ever have. The toughest part will be IMO the Northern part of Circuito Bicentenario and possibly some bits of Periférico towards Naucalpan. Then, a long flat stretch, with one long but not steep way up in Segundo Piso (near Las Flores), and a little stretch towards Ciudad Universitaria. Other than that, it looks very doable if you are in a moderately decent condition. And taking part in such a thing is very very worthy!
As a final note... This same Sunday, it has been somewhat publicized the first Día Nacional de la Bicicleta (Bycicling National Day) will be held all over the country, kickstarting the National Cycling Crusade. Sounds nice, right? Even impressive? Yeah, but... If you look at the published information (in the page I just linked), you will see several cities are opening cyclist circuits. For one day only, which means, it does not build awareness among the population on how easy, how convenient and how fun it is to use the bicycle as means of transportation. And not only that — The cyclist routes clearly make a point that cycling is a good way, at most, to have fun... But not a general habit we should all embrace. Lets see, as an example, the distances offered (only for the cities quoting route length):
...And so it goes. As you can see, several very important cities (i.e. Monterrey, Chilpancingo, Cuernavaca) put only a 2km route. 2Km by bike is... Nothing. 2Km is done at a leisurely pace in less than 15 minutes (I often sustain 20Km/h, which would mean 2Km in 6 minutes). And, in this short sample (the linked page has the information for several other states, but the pattern holds), most states are only making this in the largest city or two, completely forgetting the bulk of their territories. In my opinion, this "effort" was done backwardsly, and ends up delivering the exact opposite message to what should be done.
Si eres un Apple Fan Boy o similares seguramente habrás estado hoy a la expectativa de la conferencia de Steve Jobs en la que se centrarían más que nada en los iPod, y si bien no es la única novedad a mi el que siempre me ha llamado más la atención por ser el reproductor más completo es el iPod Touch, esta vez en su cuarta generación presenta algunos cambios interesantes.
El más delgado y liviano hasta la fecha: Alto: 111.0 mm (4.4 pulgadas) , Ancho: 58.9 mm (2.3 pulgadas) Espesor: 7.2 mm (0.28 pulgadas) Peso: 101 gramos (3.56 onzas)
Incluye por fin cámara y no solo una, sino ¡dos!: Una adelante para el uso de FaceTime (una función de videoconferencia a través del Wifi) y una trasera para tomar fotos (1.3 MP) y grabar vídeos en 720p (HD) a una velocidad de 30 cuadros por segundo.
Tarjeta inalámbrica mejorada: Ahora nos permite conectarnos también a redes Wi-fi tipo N, cubriendo los estandares 802.11b/g/n
Procesador A4: El mismo procesador que usa el potente iPhone 4G lo tiene ahora este dispositivo, así que potencia no le faltará, es uno de los puntos más destacables ya que ayuda a que las aplicaciones fluyan mejor.
Mayor resolución en la pantalla: Resolución de 960 x 640 píxeles a 326 píxeles por pulgada es decir lo que ellos llaman Retina Display, lo que hace que la calidad de la imagen se vea muy detallada.
Tiempo de reproducción: Reproducción de música: hasta 40 horas cuando está completamente cargado, Reproducción de videos: hasta 7 horas cuando está completamente cargado.
Carga rápida en 2 horas: Si lo cargamos tan solo 2 horas obtendremos una carga hasta el 80% de su capacidad, y si queremos una carga completa habrá que dejarlo 4 horas al menos.
Sin radio FM: Aún no entiendo porque no activan esta capacidad si el iPod Nano ya incluye la posibilidad de escuchar radio FM, y el iPod Touch tiene un chip que permite utilizarla también, es solamente cuestión de activarla.
Nada nuevo: Es un punto discutible, si bien en comparación con la tercera generación del iPod Touch si hay muchos cambios, la verdad es que con respecto a los productos de Apple esta generación no presenta nada nuevo, es y seguirá siendo un iPhone sin teléfono, y con menos funcionalidades, si eres de los que esperaban que hubiera algo nuevo que después se incluyera en una futura generación de iPhone lamento decirte que no es así.
Sin GPS: Con la cantidad de aplicaciones que hay en la App Store que requieren GPS o que ayuda a un mejor funcionamiento aún no viene incluido en esta nueva generación, ojalá se animen a incluirlo en futuras versiones.
La cámara: Uno esperaría que la cámara de fotografías fuera igual o mejor que la del iPhone 4G, pero la realidad es otra, mientras el iPhone 4G tiene una cámara de 5 MP el iPod Touch 4G tan solo tiene 1.3 MP, lo cual no sirve para nada si se quiere tomar una buena fotografía, sin embargo un punto a favor es que a pesar de esto es una cámara con capacidad para grabar vídeos en HD lo cual resulta muy útil para subir algún vídeo de buena calidad a YouTube o similares.
No hay versión de 16 GB: No sé si se pueda clasificar como feo, pero si es al menos curioso que el nuevo iPod Touch solo se venda en capacidades de 8, 32 y 64 GB, por lo que si hay quien quiere algo intermedio no tendrán esa opción.
La parte más importante quizá para muchos es ¿cuanto costará? Bien pues al parecer ya se pueden comprar en la tienda en linea de Apple con los siguientes precios:
A mi en lo personal no se me hacen tan caros, tomando en cuenta que el iPod Touch de primera generación que me compré de 32 GB me costó cerca de 6 mil pesos mexicanos, lo mismo que ahora cuesta una versión con mucha más velocidad, y prestaciones y además con una capacidad de 64 GB para los exigentes.
Si quieres leer las especificaciones completas de Apple para el iPod Touch 4G puedes hacerlo aquí
Y si por otro lado ya no aguantas más y necesitas comprarlo entonces date una vuelta por la Apple Store de México
¿Qué opinas del nuevo iPod Touch? ¿Te gustó? ¿Esperabas algo más? Si compras alguno y lo pruebas siempre puedes comentar tus experiencias.
Para evitar que los buscadores indexen nuestras páginas solo se tiene que agregar un archivo llamado robots.txt en la raiz del sitio.
El contenido del archivo robots.txt debe de decir:
User-agent: *
Disallow: /
El primer parámetro nos dice el nombre del buscador, en este caso el asterisco aplica para todos, pero si se desea especificar el buscador aquí una pequeña lista:
Tambien pueden agregar una etiqueta META a su HTML.
< meta name="robots" content="noindex,nofollow" >
En esta página pueden encontrar un generador de robots.txt
Regresamos al Cecut después de 2 años que nos dejaron hacer el evento en la sala audiovisual del Gobierno del Estado de Baja California
, la verdad es que el Cecut es un lugar mas correcto para este tipo de evento así que ahí estaremos.
Esta semana mientras revisaba algunas cosas en el blog, me di cuente de que en unos días llegaría a una cifra impresionante (al menos para mí) en cuanto a visitas totales en el blog, llegamos a esa cifra el martes: 200,000 visitas!!! y digo llegamos porque de nada serviría que yo escribiera y escribiera sin que ustedes me motivaran a hacerlo y es que su retroalimentación en verdad es lo más importante para mí en este blog, sé que quizás esto suene trillado pero no es así.
Aquí las estadísticas del Blog hasta el martes
En verdad le agradezco a todos y cada uno de ustedes, cada vez que vienen estas cifras no puedo si no sorprenderme pues cuando inicié esto jamás pensé que lograría llegar a más de 20 personas.
En fin, a seguir con el trabajo, creo que algo que me queda claro de esto es que estoy de alguna manera haciendo bien las cosas, trataré de mejorar, escribiré con más frecuencia o de más temas, no sé, pero haré algo.
Saludos y muchas gracias.
Pues con la novedad que deje Jaws como manejador de contenidos para mi blog, lo empecé a utilizar desde su versión 1, y hace alguno meses deje de postear cosas en el blog, ahora he instalado WordPress ya que tiene una variedad de plugins, temas y un panel de control más amigable.
El script que utilice fue uno creado por Omar Bazavilvazo con algunas modificaciones para ajustar las imágenes que ya tenia en la versión de Jaws (buscar la función posts2wp), tambien algunas correcciones con el encoding del UT8 y para completar la migración, instale el plugin de wordpress llamado
Mass Format Convert y el bOingball BBCode.
El mass format convert también le hice algunas modificaciones para lo de las imágenes (buscar la función mass_format_conversion), en fin!.., nuevo dominio, nuevo blog y más cosas interesantes!
Aquí pueden bajar los cambios realizados de los scripts.
Para instalar el plugin de jaws-wordpress, copiar el archivo en wp-admin/import/ (si no existe crear la carpeta), luego ir a Herramientas>Exportar>Jaws
Y para instalar el Mass Format Conversion copiar en wp-content/plugins/mass-format-conversion/ primero instalar el plugin bbcode y luego este plugin, despues en el menú Entradas>Mass Format Conversion activar la conversión.
Gracias a Cuarzo Liquido (un amigo), descubrí acerca del Proyecto Tatoeba, el cuál me encantó su objetivo y su ecosistema.
Tatoeba es un proyecto que lo que busca es almacenar oraciones traducidas a diferentes idiomas, al contrario de los traductores y diccionarios tradicionales, que lo que buscan es traducir una palabra de un idioma a otro que se encuentren enlazados; lo que hace es traducir oraciones completas a diferentes idiomas al mismo tiempo, por escrito y con fonética, dandole así un significado más comprensible por los lectores.
Otra cosa que me gustó de su plataforma, es que es colaborativo, y no necesitas ser poliglota para contribuír a su base de conocimiento.
El video expuesto muestra qué es y de qué trata la plataforma Tatoeba.
| Hot: |
Como es la tradición, cada 31 de Agosto se celebra el blog Day. La cosa esta así:
El BlogDay es el día de los blogueros, ha sido creado para que los blogueros conozcan otros blogueros, de otros países y de otros centros de interés. El 31 de agosto es el día en el que los blogueros dan a conocer otros autores. Así de sencillo.!
¿Qué ocurrirá durante el BlogDay?
Toda la jornada del 31 de agosto, los blogueros en el mundo entero postearán un artículo recomendando 5 nuevos blogs, preferentemente blogs diferentes a su propia cultura, punto de vista y posición. Así, ese día, el 31 de agosto, los lectores descubrirán otros autores alejados de su entorno habitual. Es un día para descubrir nuevos blogueros y nuevas experiencias.
Encontrar 5 nuevos blogs que consideras interesantes.
Informar o advertir a los autores seleccionados tu recomendación para el BlogDay.
Escribir una descripción corta de cada blog y enlazarlos.
Publicar una entrada el 31 de agosto, el BlogDay, mencionando los 5 blogs que recomiendas
Agregar el tag BlogDay de Technorati:
http://technorati.com/tag/blogday2010 y un enlace al sitio BlogDay: http://www.blogday.org
Bueno. Aquí van mis blogs:
“La idea es simple, llevar la palabra de Ubuntu a tu Pc.”. La verdad es un blog genial en todo lo referente a Ubuntu, muy recomendable.
Un sitio que recopila todas las noticias y demás de Ubuntu en Español. Tanto Ubuntizando el planeta como Entre Tecnología formamos parte de el.
Uno de mis sitios de cabecera. Todo lo que a un Geek le interesa.
Blog de un amigo, siempre lo mantiene actualizado con información interesante para Geeks. Hablan tanto de Windows, como de Linux y Mac.
Cambiando la temática, les recomiendo visitar Cine Planeta. Es uno de los blogs que administro, y la verdad lo quiero mucho y lo actualizo a diario.
Aunque últimamente no he podido actualizar mucho el blog, si quieren recomendarlo me sentiría muy agradecido. Prometo actualizarlo más seguido xD.
| Hot: |
Hace algunas horas, Pemex ha anunciado que estudia la posibilidad de importar petróleo, lo que pensamos que no sucedería en el largo plazo ha sucedido de la noche a la mañana.
Desde hace ya algunos años la industria petroquímica básica del país se encuentra en condiciones deplorables, sin la inversión necesaria nos hemos visto obligados a exportar petróleo e importar gasolina, el convertirnos en un país netamente exportador nos dejó fuera de mercado .
A mi mente llegan parte del discurso de JoLoPo, en el cual decía :
“ya no es tiempo de vacas flacas … es tiempo de administrar la abundancia”
Aun en el sexenio de Vicente Fox se presentaron excedentes petroleros, ventas record producto del alto costo del barril de petróleo así como del incremento de la plataforma de exportación de crudo.
Dichos ingresos fueron repartidos entre el gobierno federal y los estados que la incluyen, la idea básica consistía en convertir en activos estos incrementos.
A diferencia nuestra, Estados unidos ha anunciado políticas gubernamentales encaminadas a reducir la dependencia de la nación en los combustibles no renovables, consientes que el impacto de una crisis petrolera afectaría fuertemente su economía.
En contraste, nuestro país depende fuertemente de los ingresos producto de la venta de petróleo. Hoy día debemos pensar en un futuro en donde hemos dejado de ser lideres exportadores y no somos capaces de satisfacer la demanda interna, a tal grado que debemos importar petróleo crudo, poco a poco los ingresos producto de la exportación se reducirá y con ellos, los ingresos que apuntalan el presupuesto federal.
Por desgracia, y tal cual les paso a los personajes del libro del cual he tomado el titulo de esta nota, nosotros no hemos tenido los tenis puestos y simplemente despertamos y nos preguntamos:
¿Quién se ha llevado mi petróleo?
Despues de la noticia de que Motorola no sacaria un update para el debil Motorola DEXT no quedo mas que irse a buscar como ponerle un update a la fuerza…
y pues si
Sigan el camino amarillo
Fuente: xkcd
En post anteriores, escribí un poco sobre los índices y los tipos de índices que hay en SQL Server 2005. Para continuar con el tema pondré un par de ejemplos para crear y borrar índices, así como identificar cuando están fragmentados y que hacer en ese caso.
Para saber cuando crear índices y de que tipo, es necesario entender como funcionan los tipos de índices. De forma resumida se puede decir que los índices se almacenan de dos formas, generando en la misma tabla el índice (clustered) y creando una tabla aparte donde vivirán los índices (nonclustered).
Hablando de rendimiento, si tenemos consultas que debemos realizar constantemente con cláusulas ORDER BY o GROUP BY puede servirnos de mucho el crear un índice agrupado (clustered) en el campo afectado. Los índices no agrupados (nonclustered) satisfacen mejor las consultas donde sus campos están incluidos (included) en el índice ya que accede siempre a la misma tabla (la del índice). También el usar índices no agrupados permite tener en diferente file group los índices y las tablas, agilizando el acceso al disco si tenemos cada archivo en diferente unidad.
Es importante saber que en SQL Server no es posible defragmentar una tabla, pero si podemos defragmentar un índice, lo que nos indica que si tenemos un índice agrupado, podremos defragmentar la tabla ya que es la misma donde vive el índice. Crear o eliminar índices tiene sus implicaciones, si tenemos un índice agrupado en una tabla y 4 índices no agrupados apuntando a la misma tabla, al eliminar el índice agrupado se están eliminando y creando los 4 índices no agrupados. Si creamos un índice agrupado sobre una tabla que tiene 3 índices no agrupados, en ese momento se eliminan y se crean nuevamente los índices no agrupados.
Otro concepto interesante es la Cobertura de Índice. Al crear un índice con columnas incluidas, estamos indicando que se almacenaran dichas columnas en la tabla de índices. Si tenemos los campos IdProduct, IdCategory y IdGroup en la tabla "ProductCategory", la Cobertura de Índice puede o no abarcar los 3 campos de acuerdo a nuestras necesidades. La forma de definir dichos índices sería:
En el ejemplo anterior, se definen dos campos como llave y se incluye a IdGroup como parte de la Cobertura del Índice, teniendo en la cobertura los 3 campos. En el caso de enteros no debemos preocuparnos por el límite de tamaño del índice, ya que es de 900 bytes y cada entero puede usar 4 bytes. Pero que pasa si creamos un índice sobre tres campos declarados como sigue:
Podríamos excedernos del límite permitido ya que los tipos de datos nchar y nvarchar requieren 2 bytes por cada caracter. Si creamos un índice con los 3 campos podría excederse de los 900 permitidos, ya que si hacemos el calculo (455 * 2) no queda un excedente de 10 bytes. De esta forma es mejor crear la llave con Title y Revision e incluir a FileName como columna en el índice y nos daría un total de 110 bytes (55 *2) permitiendo que se recupere fácilmente la información de FileName sin ser parte del índice en si.
Cuando las páginas de un índice no están almacenadas en orden se dice que se tienen índices fragmentados. Esto puede ocurrir a nivel de sistema de ficheros o bien a nivel de la base de datos. Para el sistema de ficheros se deben emplear herramientas que salen del alcance del presente artículo. La fragmetnación se da con la actividad diaria y el paso del tiempo y es algo que no podemos evitar realmente, pero se puede controlar y mantener.
Recordando que podemos defragmentar los índices y no las tablas, sabemos que podemos ordenar los datos que tienen un índice (suena lógico que las tablas no debido a que si no tienes un factor por el que ordenar), se almacenaran los datos como le venga en gana al motor de base de datos cuando no se tenga un índice. Para comprobar la fragmentación en SQL Server, podemos usar (o como dicen en el país Vasco, tirar de ..) el comando DBCC SHOWCONTING. Ejemplo:
O bien se puede usar sin parámetros para obtener el resultado de todas las tablas. Este comando desaparece en versiones posteriores a SQL 2005. Por lo que es recomendable utilizar la función del sistema sys.dm_db_index_physical_stats como sigue:
El uso de esta función es mucho más versátil que SHOWCONTING ya que podremos saber la información de todos los objetos de todas las bases de datos de una instancia y muchas cosas más que requieren de un artículo más dedicado para eso. Ahora bien, ya que sabemos los índices fragmentados, podemos tomar diferentes decisiones dependiendo de cada caso:
Cuando se emplea el comando DBCC INDEXDEFRAG no se actualizan las estadísticas mientras que con DBCC DBREINDEX'' si se actualizan. Puede ser muy útil el uso de cada comando dependiendo de nuestra necesidad, por lo que es recomendable leer la documentación de cada uno.
CONTINUARA...
Aug 27 06:00:15 lafa kernel: [7218302.960003] sd 1:0:0:0: [sdb] Add. Sense: No additional sense information Aug 27 06:00:15 lafa kernel: [7218302.960003] sd 1:0:0:0: [sdb] Sense Key : No Sense [current]
My hard drive does not currently make any additional sense.
Instalar el servidor Apache2 en Debian no es una tarea complicada sin duda, pero el ir puliendo algunos detalles para tener un mejor performance, seguridad y estabilidad en general, a veces lo es.
Supongamos que deseamos agregar un nuevo sitio pero que la comunicación entre el cliente y el servidor sea cifrada mediante el uso de https. Para esto necesitamos activar el cifrado ssl en apache, lo hacemos mediante la utilidad a2enmod ejecutando:
# a2enmod ssl
También debemos decir a apache que debe aceptar solicitudes en el puerto 443 que es el puerto estándar de https por lo que editamos el archivo /etc/apache2/ports.conf y agregamos la línea Listen 443, he aquí la configuración que tiene mi Apache2:
# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to <VirtualHost *:443> # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
Es importante aclarar que al menos tanto el módulo SSL como el puerto 443 ya se encontraban ‘activados’ cuando instalé Apache2.
Ahora necesitamos crear los certificados que utilizaremos para el cifrado, para ello utilizaremos OpenSSL, deberemos instalarlo ejecutando:
# aptitude install openssl
Por si no lo tenemos instalado, una vez que lo tengamos, se crean dos certificados, el público y el privado:
# openssl req -new -newkey rsa:2048 -nodes -out /etc/ssl/certs/publico.pem -keyout /etc/ssl/private/privado.pem Country Name (2 letter code) [AU]: MX State or Province Name (full name) [Some-State]: Chiapas Locality Name (eg, city) []: Tuxtla Gutierrez Organization Name (eg, company) [Internet Widgits Pty Ltd]: Mi Organización Organizational Unit Name (eg, section) []: Posh Inc Common Name (eg, YOUR name) []: www.dominiocifrado.com Email Address []: muajajaja@diablito.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Los archivos generados serían:
La petición de nuevo certificado, que una autoridad certificadora (CA) tendrá que firmar, en /etc/ssl/certs/publico.pem.
La clave privada del certificado en /etc/ssl/private/privado.pem.
Podemos usar CAcert.org para firmar la petición de certificado. Debido a que CAcert.org tan sólo puede verificar la información contenida en el Common Name, da igual lo que introduzcamos en los otros campos (el resto lo descarta).
El certificado resultante después de la firma de CACert.org lo dejaremos en el archivo /etc/ssl/certs/publico.pem con permisos 644 para el usuario y grupo root. La clave privada ya se encuentra en /etc/ssl/private/privado.pem con permisos 640 para el usuario root, pero debemos cambiarle el grupo a ssl-cert:
chgrp ssl-cert /etc/ssl/private/privado.pem
Para utilizar los servicios de CACert.org debemos realizar los siguientes pasos:
En el caso de que no querramos firmar el certificado por CACert.org, podemos hacerlo nosotros mismos:
openssl x509 -req -days 3650 -signkey privado.pem -out publico.pem
Nota: Es altamente recomendable hacerlo con CACert.org ya que es un ente reconocido y el servicio es gratuito. Si requieren algo más profesional, pueden checar con VeriSign.
Nota2: Cuando ya se encuentre firmado nuestro certificado nos llegará un correo electrónico indicándonos el contenido de la firma, el contenido de dicha firma debemos ponerla en lugar del contenido del archivo que se encuentra en /etc/ssl/certs/publico.pem
Ahora nada más queda tener nuestro archivo de configuración dentro de /etc/apache2/sites-available/dominiocifrado.conf
Aquí la configuración del archivo dominiocifrado.conf
<VirtualHost *:443> ServerAdmin webmaster@dominiocifrado.com ServerName dominiocifrado.com ServerAlias www.dominiocifrado.com DocumentRoot /home/web/cifrada #Aquí indicamos que será un canal cifrado y los certificados que antes creamos, aquí los ubicamos SSLEngine on SSLCertificateFile "/etc/ssl/certs/publico.pem" SSLCertificateKeyFile "/etc/ssl/private/privado.pem" ErrorLog /var/log/apache2/dominiocifrado.eror.log CustomLog /var/log/apache2/dominiocifrado.access.log combined <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/web/cifrada> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
Después procederemos a reiniciar nuestro servidor Apache con el siguiente comando:
# /etc/init.d/apache2 restart
Y entrar a nuestro nuevo sitio web cifrado:
https://dominiocifrado.com
Veremos nuestro certificado más o menos como esto:
Eso es todo, espero a alguien pueda parecerle útil esta información
Fuentes:
Siempre se suele criticar a Microsoft por un millón de razones, pero esta vez no quiero hablar de algo negativo de la empresa sino todo lo contrario.
Resulta que leyendo el Alt1040 en mi google reader me encontré un post que habla sobre un producto que Microsoft lanzó relativamente hace poco y que fue recibido con mucha duda y desconfianza por los usuarios en general. Este producto era parte de una nueva estrategia de seguridad por parte del “gigante de redmond” y se llama Microsoft Security Essentials.
En el post de alt1040 hacen mención a que curiosamente este antivirus, gratuito por cierto, ha obtenido las mejores calificaciones de varios sitios que se dedican a hacer evaluaciones de dichos productos como AV comparatives. Muchos pensarán que Microsoft probablemente pagó para obtener dicha puntuación pero, aunque no les puedo asegurar que no lo hicieron si les aseguro que es un gran producto.
Yo solía utilizar Avast anteriormente y aunque me había dado buenos resultados cuando adquirí mi windows 7 leí por ahí que el antivirus de Microsoft era gratuito, para quienes tuvieran una licencia válida de windows obviamente, así que decidí instalarlo y probar.
Aunque no suelo navegar demasiado por sitios “peligrosos” y me considero un “power user” (ego de programador) siempre estoy expuesto a infecciones y normalmente estas me han sucedido con memorias USB de otras personas. Aun así, puedo asegurarles que desde entonces no he tenido absolutamente ningún problema de virus, spyware, trojan o lo que se le parezca. De hecho usualmente corría spybot o CCleaner para mantener el equipo mas o menos limpio pero creo que no he tenido más necesidad de ello.
Así que mi fiel amigo lector, honor a quien honor merece, le recomiendo pues que si tiene problemas de virus y cochinadas virtuales se descargue esta aplicación que además de gratuita, ligera y sencilla es muy eficaz. Pueden descargarlo para Windows Vista y Windows 7 en este enláce.
Rodrigo estaba haciendo fila para poder ir al aeropuerto. Cuando un taxista se acercó, lo primero que notó fue que el taxi estaba limpio y brillante. El chofer bien vestido con una camisa blanca, corbata negra y pantalones negros muy bien planchados, el taxista salio del auto dio la vuelta y le abrió la puerta trasera del taxi. Le alcanzo un cartón plastificado y le dijo: yo soy Willy, su chofer. Mientras pongo su maleta en el portaequipaje me gustaría que lea mi Misión.
Después de sentarse, Rodrigo leyó la tarjeta. Misión de Willy: Hacer llegar a mis clientes a su destino final de la manera mas rápida, segura y económica posible brindándole un ambiente amigable.
Rodrigo quedo impactado. Especialmente cuando se dio cuenta que el interior del taxi estaba igual que el exterior. ¡¡Limpio, sin una mancha!!
Mientras se acomodaba detrás del volante.
- Willy le preguntó - “Le gustaría un café? Tengo unos termos con café regular y descafeinado”.
- Rodrigo bromeando le contestó - “No, preferiría un refresco”
- Willy sonrío y dijo - “No hay problema tengo un hielera con refresco de Cola regular y dietética, agua y jugo de naranja”.
- Casi tartamudeando Rodrigo le dijo - “Tomaré la Cola dietética”
- Pasándole su bebida, Willy le dijo. “Si desea usted algo para leer, tengo el Reforma, Esto, Novedades y Selecciones…”
Al comenzar el viaje -Willy le paso a Rodrigo otro cartón plastificado - “Estas son las estaciones de radio que tengo y la lista de canciones que tocan, si quiere escuchar la radio”
Y como si esto no fuera demasiado, Willy comentó que tenia el aire acondicionado prendido y preguntó si la temperatura estaba bien para él. Luego le avisó cual seria la mejor ruta a su destino a esta hora del día. También le hizo conocer que estaría contento de conversar con él o, si prefería lo dejaría solo en sus meditaciones. ...
“Dime Willy - le pregunto asombrado Rodrigo - siempre has atendido a tus clientes así?”
- Willy sonrió a través del espejo retrovisor - “No, no siempre. De hecho solamente los dos últimos dos años. Mis primero cinco años manejando los gaste la mayor parte del tiempo quejándome igual que el resto de los taxistas. Un día escuche en la radio acerca del Dr. Dyer un maestro del desarrollo personal. El acababa de escribir un libro llamado “Tú lo obtendrás cuando creas en ello”. Dyer decía que si tu te levantas en la mañana esperando tener un mal día, seguro que lo tendrás, muy rara vez no se te cumplirá. El decía: Deja de quejarte. Se diferente de tu competencia. No seas un pato. Se un águila. Los patos solo hacen ruido y se quejan, las águilas se elevan por encima del grupo”.
“Esto me llego aquí, en medio de los ojos” -dijo Willy -. “Dyer estaba realmente hablando de mi. Yo estaba todo el tiempo haciendo ruido y quejándome, entonces decidí cambiar mi actitud y ser un águila. Mire alrededor a los otros taxis y sus chóferes… los taxis estaban sucios, los chóferes no eran amigables y los clientes no estaban contentos. Entonces decidí hacer algunos cambios. Uno a la vez. Cuando mis clientes respondieron bien, hice más cambios”.
“Se nota que los cambios te han pagado” -le dijo Rodrigo -
“Si, seguro que si” - le dijo Willy -. “Mi primer año de águila duplique mis ingresos con respecto al año anterior. Este año posiblemente lo cuadruplique. Usted tuvo suerte de tomar mi taxi hoy. Usualmente ya no estoy en la parada de taxis. Mis clientes hacen reservación a través de mi celular o dejan mensajes en mi contestador. Si yo no puedo servirlos consigo un amigo taxista águila confiable para que haga el servicio”.
Willy era fenomenal. Estaba haciendo el servicio de una limusina en un taxi normal.
Posiblemente haya contado esta historia a mas de cincuenta taxistas, y solamente dos tomaron la idea y la desarrollaron. Cuando voy a sus ciudades, los llamo a ellos. El resto de los taxistas hacen bulla como los patos y me cuentan todas las razones por las que no pueden hacer nada de lo que les sugería.
Willy el taxista, tomo una diferente alternativa: El decidió dejar de hacer ruido y quejarse como los patos y volar por encima del grupo como las águilas.
No importa si trabajas en una oficina, en mantenimiento, eres maestro, Un servidor publico,"politico", ejecutivo, empleado o profesionista, ¿Cómo te comportas? ¿Te dedicas a hacer ruido y a quejarte, hablar de tus problemas con tus clientes? ¿Te estás elevando por encima de los otros? Recuerda: ES TU DECISIÓN Y CADA VEZ TIENES MENOS TIEMPO PARA TOMARLA.
Nadie puede hacer que TÚ prestes un buen servicio a tus clientes… un buen servicio es una alternativa que sólo TÚ tienes que tomar. "ESTE ES EL DIA QUE HIZO DIOS, GÓZATE EN Él"