Sábado 25 de mayo de 2013

Planeta Laguna: Ordenamiento de burbuja en ruby
Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

A little extra value in 3.0 (quilt) format

Wouter still does not like the 3.0 (quilt) packaging format. And as he writes on his blog, I shall answer on mine.

And what if one of the blogs becomes unreachable with time? Aha! That's one of the weaknesses, Wouter, on yuor closing comment:

I have all my packages stored in git with a proper Vcs-Git: header; if people really want to look at individual patches, they can just use debcheckout, kthxbye.

I am aware this would not be so much of an argument, or so much of a change. But the way I view a shipped package is that it should, by itself, be as a snapshot with its whole, full description. Say that three years from now Apple has scrubbed your brain and you went to work with them. And you decided to pull all of your non-iOS repositories. They have convinced you working for Debian is bad for mankind. So you erase all of your Git repos, including those in Alioth or whatever.

But Debian Wheezy has some of your packages. And three years from now, I decided to be the maintainer.

So, having fully commented and individually marked patches is a sort-of-way to avoid a situation akin to the tentacles of evil.

Now, it's not that I'm criticizing your workflow. I have sen many ways to manage patches in quite a natural way, and I undestand it might be way easier when dealing with complex packages (FWIW I usually deal with very little complexity). Still, it is an argument.

Viernes 24 de mayo de 2013

Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

SpeedTest desde terminal (Monitoreo de transferencia > bandwith)




Nload es una aplicación de consola que monitorea el ancho de banda usado en tiempo real. Visualiza el trafico entrante y saliente usando dos gráficas separadas y provee un poco más información al respecto, como el total transferido, promedio de transferencia, mínimo y máximo de transferencia.





Curl (Speedtest por archivo):
Con curl puedes monitorear tu ancho de banda descargando un archivo desde otro servidor.

Para monitorizar el ancho de banda de subida de tu servidor, puedes ejecutar este mismo comando y descargando un archivo de tu servidor para ver el ancho de banda que está manejando en ese momento.



Jueves 23 de mayo de 2013

Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

Sun Java System Messaging Server (Logs entry Format)

25.3.1 Understanding the MTA Log Entry Format

The MTA log file is written as ASCII text. By default, each log file entry contains eight or nine fields as shown in the example below.
16-Feb-2007 14:54:13.72 tcp_local ims-ms EE 1 adam@sesta.com rfc822;marlowe@siroe.com marlowe@ims-ms-daemon
The log entry shows:
  1. The date and time the entry was made (in the example, 16-Feb-2007 14:54:13.72).
  2. The channel name for the source channel (in the example, tcp_local).
  3. The channel name for the destination channel (in the example, ims-ms). (For SMTP channels, when LOG_CONNECTION is enabled, a plus (+) indicates inbound to the SMTP server; a minus (-) indicates outbound via the SMTP client.)
  4. The type of entry (in the example, EE). Entries can consist of a single action code (see Table 25–2) or an action code and one or more modifier codes (see Table 25–3). The format for entries is as follows:

    For example a logging entry code of EEC means that the email was Enqueued (action-code E) using ESMTP (modifier E) and SMTP Chunking (modifier C). Please refer to the tables below for details on the currently used action and modifier codes.
  5. The size of the message (in the example, 1). This is expressed in kilobytes by default, although this default can be changed by using the BLOCK_SIZE keyword in the MTA option file. The SMS channel can be configured to log a page count rather than file size in this field. See LOG_PAGE_COUNT.
  6. The envelope From: address (in the example, adam@sesta.com). Note that for messages with an empty envelope From: address, such as notification messages, this field is blank.
  7. The original form of the envelope To: address (in the example, marlowe@siroe.com).
  8. The active (current) form of the envelope To: address (in the example, marlowe@ims-ms-daemon).
  9. The delivery status (SMTP channels only).
The following three tables describe the logging entry codes.
Table 25–2 Logging Entry Action Codes
Entry
Description
B
Bad command sent to the SMTP server. The recipient address field will contain the command that was rejected while the diagnostic field will contain the response the SMTP server gave. MTA channel option, MAX_B_ENTRIES, controls how many bad commands will be logged in a given session. Default is 10.
D
Successful dequeue
E
Enqueue
J
Rejection of attempted enqueue (rejection by slave channel program)
K
Recipient message rejected. If the sender requests NOTIFY=NEVER DSN flag set or if the message times out or if the message is manually returned (for example: imsimta qm “delete” command always generates a “K” record for each recipient, while a qm “return” command will generate a “K” record rather than an “R” record). This indicates that there was no notification sent to the sender per the sender’s own request.
This can be compared with “R” records, which are the same sort of rejection/time-out, but where a new notification message (back to the original sender) is also generated regarding this failed message.
Q
Temporary failure to dequeue
R
Recipient address rejected on attempted dequeue (rejection by master channel program), or generation of a failure/bounce message
V
Warning message that will appear whenever a transaction is abnormally aborted. There will be one "V" record per enqueued recipient address.
W
Warning message sent to notify original sender that the message has not been delivered yet, but it is still in the queue being retried.
Z
Some successful recipients, but this recipient was temporarily unsuccessful; the original message file of all recipients was dequeued, and in its place a new message file for this and other unsuccessful recipients will be immediately enqueued

The following table describes the logging entry modifier codes.
Table 25–3 Logging Entry Modifier Codes
Entry
Description
A
SASL authentication used.
C
Chunking was used. Note that ESMTP has to be used for chunking to work, so you'll typically see field values like EEC or DEC.
E
An EHLO command was issued/accepted and therefore ESMTP was used.
L
LMTP was used.
S
TLS/SSL used. S transaction log entries now increment the various submitted message counters associated with the channel.

If LOG_CONNECTION is enabled (see Option File Format and Available Options in Sun Java System Messaging Server 6.3 Administration Reference), then an additional set of action codes will be used. These are described below.
Table 25–4 SMTP Channel's LOG_CONNECTION Action Codes + or - Entries
Entry
Description
C
Connection closed. A diagnostic field will follow. Written to connection.log_current (or mail.log_current if a single log file is being used). Used to record the reason why the connection was closed. In particular, if the connection was closed due to some session disconnect limit being reached, that fact will show up in the diagnostics field.
O
Connection opened
U
Logs SMTP authentication successes and failures. Format is the same as other O and C entries. In particular, the same application and transport information fields appear in same order. The username will be logged in the username field if it is known. Bit 7 (value 128) of the LOG_CONNECTION MTA option controls this.
X
Connection rejected
Y
Connection attempt failed before being established
I
ETRN command received

With LOG_CONNECTION, LOG_FILENAME, LOG_MESSAGE_ID, LOG_NOTARY, LOG_PROCESS, and LOG_USERNAME all enabled in the MTA Option file, the format becomes as shown in the example below. (The sample log entry line has been wrapped for typographic reasons; the actual log entry would appear on one physical line.)

16-Feb-2007 15:04:01.14 2bbe.5.3 tcp_local ims-ms
EE 1 service@siroe.com rfc822;adam@sesta.com
adam@ims-ms-daemon 20 /opt/SUNWmsgsr/data/queue/ims-ms/000/ZZf0r2i0HIaY1.01
<0jdj00803faon200 mailstore.siroe.com=""> mailsrv
siroe.com (siroe.com [192.160.253.66])
Where the additional fields, beyond those already discussed above, are:
  1. The process ID (expressed in hexadecimal), followed by a period (dot) character and a count. If this had been a multithreaded channel entry (that is, a tcp_* channel entry), there would also be a thread ID present between the process ID and the count. In the example, the process ID is 2bbe.5.3.
  2. The NOTARY (delivery receipt request) flags for the message, expressed as an integer (in the example, 20).
  3. The file name in the MTA queue area (in the example, /opt/SUNWmsgsr/data/queue/ims-ms/000/ZZf0r2i0HIaY1.01).
  4. The message ID (in the example, <0jdj00803faon200 mailstore.siroe.com="">).
  5. The name of the executing process (in the example, mailsrv). On UNIX, for dispatcher processes such as the SMTP server, this will usually be mailsrv (unless SASL was used, in which case it will be the authenticated user name, for example, *service@siroe.com).
  6. The connection information (in the example, siroe.com (siroe.com [192.160.253.66]). The connection information consists of the sending system or channel name, such as the name presented by the sending system on the HELO/EHLO line (for incoming SMTP messages), or the enqueuing channel's official host name (for other sorts of channels). In the case of TCP/IP channels, the sending system's real name, that is, the symbolic name as reported by a DNS reverse lookup and/or the IP address, can also be reported within parentheses as controlled by the ident* channel keywords; see 12.4.3.4 IDENT Lookups for an instance of the default identnone keyword, that selects display of both the name found from the DNS and IP address.
Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Como Instalar Ubuntu 13.04

Instalar Ubuntu es un proceso sencillo pero sin duda te ayudarán algunos consejos que tengo para ti y veas como instalar Ubuntu 13.04 Raring Ringtail en tu laptop o equipo de computo. Lo primero es que descargues Ubuntu, generes tu USB de Instalación o DVD y luego a instalar. Pero no nos adelantemos ve los pasos para instalar ubuntu 13.04 y puestas tener tu sistema listo para trabajar. Recuerda que una vez instalado también puedes mejorar tu sistema Ubuntu 13.04 y para hacerlo te recomiendo que veas este artículo:

Que hacer después de Instalar Ubuntu 13.04

Descargar Ubuntu 13.04

Como siempre el primer paso es descargar el archivo .ISO desde la página Ubuntu.com/download/, ahí encontrarás un link que dice “Ubuntu Desktop”.

http://www.ubuntu.com/download

Al hacer click sobre el te encontrarás con dos opciones una que dice “For extended support” que es donde puedes descargar Ubuntu 12.04 LTS y otra mas abajo que dice “For the lastest features” (para las últimas características) y es en esta donde bebes descargar Ubuntu 13.04. Antes de dar click debes seleccionar tu arquitectura, que puede ser de 32 o 64 bits. Por lo general para los equipos nuevos puedes seleccionar la arquitectura de 64 bits, solo en caso de que tengas un equipo antiguo o pequeño por ejemplo una netbook que use procesadores Atom deberás usar la arquitectura de 32 bits.

Descargar Ubuntu 13.04

Para descargar Ubuntu 13.04 solo tienes que seleccionar 32 o 64 bits y dar click en el botón naranja que dice “Ubuntu 13.04″

Antes de que comience la descarga puedes hacer una donación por descargar Ubuntu 13.04, la cual puede ser por la cantidad que tu decidas y puede hacerse por paypal.

Descargar ubuntu13.04

Si no deseas donar en esta ocasión puedes desplazarte hacia abajo y dar click en el enlace que dice “Not now, take me to de download” y comenzará la descarga del archivo, en este ejemplo, llamado ubuntu-13.04-desktop-amd64.iso

Una vez descargado debes  genera el medio de instalación ya sea Grabando el archivo .iso a un DVD o Grabando el archivo .iso a una Memoria USB.

Como Instalar Ubuntu 13.04

Inserta tu DVD o Memoria USB y arranca tu equipo desde el DVD o desde la memoria USB para que inicie el instalador de Ubuntu 13.04. Si lo realizas correctamente verás una pantalla como esta al inicier el instalador de Ubuntu 13.04

Como Instalar Ubuntu 13.04

En la primera pantalla te permite probar Ubuntu 13.04 o Instalar Ubuntu 13.04, debes seleccionar este botón para “Instalar” tu sistema Ubuntu y no olvides seleccionar “Español” para que la instalación de Ubuntu 13.04 esté en tu idioma.

Como Instalar Ubuntu 13.04

En la siguiente pantalla te muestra el estado de tu equipo, si tienes espacio suficiente en el disco duro, si está conectado a la corriente eléctrica (puedes estar usando una batería o pila en caso de una laptop), si tu equipo está conectado a internet, entre otras. Aquí te recomiendo que  no marques la casilla “Descargar Actualizaciones automáticamente” ya que puede causar que la instalación demore mucho y eso depende de la velocidad te tu conexión a internet.

Marca la opción “Instalar este software de terceros” para que puedas escuchar archivos MP3 y otros formatos.

Como Instalar Ubuntu 13.04

El Tipos de Instalación de Ubuntu 13.04 es un tema que puede tomar mucho tiempo por lo que puedes verlo en detalle en otro post. El más sencillo es con la opción “Usar todo el disco” o “Eliminar (cualquier otro sistema) e instalar Ubuntu”. Entre las novedades de esta nueva versión puedes cifrar tu disco completo, así como crear volúmenes lógicos de disco que puedes activar o no. Si estás iniciando en Ubuntu te recomiendo que no actives estas dos opciones.

Como Instalar Ubuntu 13.04

En caso de que hayas decidido cifrar el disco duro te pedirá una clave para poder acceder al sistema de archivos “CUIDADO” si pierdes esta clave no podrás acceder por ningún medio al sistema y solo quien tenga la clave podrá acceder al disco, a los archivos o al sistema operativo.

Para instalar correctamente Ubuntu 13.04 debes indicar tu zona horaria. Puedes hacer click en el mapa para seleccionar la zona mas cercana al lugar donde te encuentras.

Como Instalar Ubuntu 13.04

Para que puedas escribir bien selecciona el tipo de teclado que tienes y la distribución de las teclas que tienes, para el idioma español hay dos principales “Español” y Eslpañol (latinoamérica). Para saber cual tienes puedes identificar donde está el símbolo ” \ ” esta diagonal “invertida” la en los teclados “Español” la encuentras en la tecla “1″ (en la parte izquierda del teclado), mientras que el los teclados “Español (latinoamérica)” se ecuentra en la parte derecha junto con el símbolo “?” a la derecha del “0″ (cero).

Selecciona tu idioma y distribución de teclado y presiona “Continuar”

ubutu [Corriendo] - Oracle VM VirtualBox_009

Por último solo debes Poner tus datos, es decir, tu nombre, un nombre de usuario, un nombre para tu equipo y la contraseña. También puede seleccionar si deseas que te pida la contraseña cuando inicie el sistema o que entre al escritorio de forma automática.

ubutu [Corriendo] - Oracle VM VirtualBox_010

Posterior a esto aparecerán una presentaciones sobre el sistema Ubuntu 13.04 que puedes ver y al  final te mostrará que la instalación se ha realizado por completo y solo debes dar click en el botón “Reiniciar Ahora”.

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

Como Instalar Ubuntu 13.04

 

ubutu [Corriendo] - Oracle VM VirtualBox_019

 

Como Instalar Ubuntu 13.04

Luego del reinicio el sistema cargará Ubuntu 13.04 y si seleccionaste cifrar el disco te pedirá la contraseña para poder acceder al disco y poder arrancar el sistema.

Como Instalar Ubuntu 12.10 contraseña para disco cifrado de ubuntu 12.10

Una vez que arranque te mostrará la pantalla de inicio de sesión de Ubuntu 13.04 en donde debes poner la contraseña que pusiste en la instalación.

ubutu [Corriendo] - Oracle VM VirtualBox_021

Al ingresar al sistema verás el escritorio de Ubuntu 13.04 y la interfaz Unity con una gran variedad de novedades que podrás explorar y descubrir.

Como Instalar Ubuntu 13.04
Como Instalar Ubuntu 13.04

Como Instalar Ubuntu 13.04

 

Ya instalaste Ubuntu 13.04 ahora te recomiendo que veas este post: “Que hacer después de Instalar Ubuntu 13.04” y mi “Revisión de Ubuntu 13.04″ hasta el siguiente post.

Luis Armando Medina
@larmedina

 

 

Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Como arrancar desde un DVD o una memoria USB

Cuando Instalamos Ubuntu o alguna otra distribución en necesario arrancar nuestra PC o Laptop desde un CD o DVD, también es útil para recuperar la instalación de fábrica de un equipo, para un LiveCD, etc., si tienes problemas para arrancar desde la unidad de CD, DVD o de una memoria USB seguramente es porque no tienes configurado el orden de arranque desde el BIOS de la computadora, para configurar el orden de arranque sigue estos pasos:

setup bios

  1. Enciende tu computadora y entra al BIOS, para eso tienes que presionar varias veces la tecla SUPR (DEL o a veces F2, F8 o F10 depende la marca y modelo) hasta que entre al SETUP donde te mostrará una pantalla azul cómo la de la imagen.
  2. Dentro de SETUP entras a la opción llamada “Advanced BIOS features” o hay equipos que tienen la opción ”Boot devices” o simplemente “boot”, esto puede varias de acuerdo a la versión y marca del BIOS y puedes ver algunos ejemplos en esta liga: http://bit.ly/10OvyWu
  3. Ahí en First Boot Device debe de decir CDROM, DVD o USB (en este caso la memoria USB debe estar conectada al equipo).
  4. Para guardar los cambios presiona F10 y reinicia (esto puede variar lee las instrucciones para ver como se guarda la configuración, si no viene prueba dando escape y buscando en el menú “save and exit”)

Si tienes problemas para arrancar con un DVD o un CD es posible que la unidad este sucia o el disco dañado.

Abraham Zenteno

Abraham Zenteno
Kraxbox

Problemas con broadcom bc4311 en Ubuntu 12.04 Price Pangolin

Que tal como siempre al cambio de cada distro tengo problemas con el driver de mi wi-fi así que busque y busque y encontré la solución en un foro de ubuntu así que aquí la resolución al problema de nuestra wi-fi

Pasos a seguir.
1 Abrir Synaptic y poner en el buscador 'bcm"
2 Asegurarse de que esten instalados los paquete "firmware-b43-installer" y "b43-fwcutter"
3 Marcar para desinstalar el paquete "bcmwl-kernel-source" y aplicar.

4 Escribir en un terminal:
cat /etc/modprobe.d/* | egrep 'bcm'
Aparecerá el texto "blacklist bcm43xx"
5 Después escribir:
# nano /etc/modprobe.d/blacklist.conf
y en el archivo que nos abre el gedit poner un # al comienzo de la linea: blacklist bcm43xx
6 Guardar.
7 Reiniciar la compu.
Y listo! espero le sirva de ayuda a alguien.

Miércoles 22 de mayo de 2013

LogicalBricks Solutions: Generando diagrama de modelos en Rails 3
Planeta Laguna: MySQL Backup Script versión 2.0
Planeta Laguna: Las cosas no se mueven, ni están detenidas
Planeta Laguna: De pajaritos, chismes y redes sociales
José Oviedo

José Oviedo
oviedo.mx

SQL Server: No regresa el texto completo en las celdas con valores tipo texto, modificar php.ini

Siguiendo con el tema del truncado de caracteres en SQL desde nuestra aplicación de PHP del post anterior, resulta que la solución también se puede hacer con el comando SQL.

SET TEXTSIZE NUMERO_CARACTERES_A_OBTENER

Pero igual si queremos algo más permanente, solo es cosa de modificar nuestro archivo PHP.ini, las lineas donde tengamos:

; Valid range 0 – 2147483647. Default = 4096.
;mssql.textlimit = 4096

; Valid range 0 – 2147483647. Default = 4096.
;mssql.textsize = 4096

Por lo general están comentadas estas lineas, solo es cosa de descomentarlas y poner el valor que deseemos, reiniciamos apache y listo :)

Martes 21 de mayo de 2013

Alcance Libre: Red Hat anuncia nuevo servicio para las soluciones de SAP.

Lunes 20 de mayo de 2013

LogicalBricks Solutions: Simulación de física en JavaScript

Domingo 19 de mayo de 2013

Alcance Libre: Curso de Certificación Java Programmer
Maurico González

Maurico González
Linux Echoes

[Solución] Obtener sonido por HDMI

Si algo me gusta hacer, además de escribirles , es ver películas desde mi computadora, conectada vía HDMI a un televisor, en mi anterior laptop se debía activar el audio HDMI modificando GRUB, ahora que mi laptop es una Intel, teoricamente, debio funcionar desde el inicio, cosa que no fue así.

Aparentemente, el kernel que tiene la familia de ubuntu 13.04, tiene deshabilitado un modulo que permite el sonido por HDMI (algo que no debería ser, ya que yo usuario, solo espero que funcione al conectarse), sin embargo, tras un poco de búsqueda, encontré la solución, que consta de instalar dicho módulo.

Podemos descargar directamente el módulo de la página de launchpad e instalar manualmente el paquete.

fixO podemos agregar el repositorio e instalar desde la terminal: (recomiendo altamente este método)

sudo add-apt-repository ppa:ubuntu-audio-dev/alsa-daily
sudo apt-get update
sudo apt-get install oem-audio-hda-daily-dkms

Reiniciamos nuestra laptop (portatil) y listo, ya podremos usar el sonido por HDMI.

Saludos


Maurico González

Maurico González
Linux Echoes

Mi escritorio de Mayo

Con la entrada a exámenes finales y un poco más de tiempo para poder escribir y cambiar mi escritorio, les presento el look de mi kubuntu 13.04.

Solo con lo que necesito

Solo con lo que necesito

Los detalles de mi kubuntu:

  • Tema de iconos: Elementary USU.
  • Tema plasma: Smoother.
  • Plasmas: Cajonera, vista de carpeta, lancelot menu.
  • Tema cursor: Oxygen default

Sábado 18 de mayo de 2013

Maurico González

Maurico González
Linux Echoes

Smart Launcher [Android]

Como todo buen derivado de Linux, Android nos permite colocar nustros telefonos como queramos, colocando temas (Cyanogen Mod), diferentes lanzadores, fondos “vivos”, iconos, bueno, casi todo lo podemos cambiar.

Hoy mientras miraba las novedades en la Play Store, me encontré con “Smart Launcher”, un lanzador de aplicaciones, sencillo pero al mismo tiempo hermoso. Smart Launcher organiza automáticamente nuestras aplicaciones en cinco categorías, comunicación, internet, juegos, media, utilidades, configuraciones. La pantalla principal de este lanzador, solo muestra cinco enlaces directos, música, cámara, galería, teléfono, mensajes y navegador web; creo que esto es lo que más se ocupa, y smart launcher, lo coloca a primer alcance. Se lleva puntos extra por permitir la instalación de temas nuevos que te permiten hacer aun más personal nuestro teléfono.

Su sencillez implica el “sacrificio” de una característica de Android, que son los widgets en nuestro escritorio, sin embargo, esto se puede solucionar utilizando la versión de paga del lanzador.

Como dicen una imagen dice mas que mil palabras, por lo que les presento como lo tengo en mi actual LG optimus HUB.

Pantalla de inicio

Pantalla de inicio

Un lindo tema al estilo KDE

Un lindo tema al estilo KDE

Les dejo el enlace de instalación de Smart Launcher


Jueves 16 de mayo de 2013

Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Linux Mint 15 “Olivia” RC liberada (Release Candidate)

Hace unos momentos se ha anunciado la disponibilidad de Linux Mint 15 RC que tiene por nombre clave “Olivia” esta versión incorpora varias novedades como la Cinnamon 1.8 como gestor de escritorio. En el blog de Linux Mint se publica el siguiente mensaje:

Linux Mint 15 is the most ambitious release since the start of the project. MATE 1.6 is greatly improved and Cinnamon 1.8 offers a ton of new features, including a screensaver and a unified control center. The login screen can now be themed in HTML5 and two new tools, “Software Sources” and “Driver Manager”, make their first appearance in Linux Mint.

Linux Mint 15 es el lanzamiento más ambicioso desde el inicio del proyecto. MATE 1.6 se ha mejorado en gran medida y Cinnamon 1.8 ofrece un montón de nuevas características, incluyendo un protector de pantalla y un centro de control unificado. La pantalla de inicio puede ahora ser diseñada en HTML5 y dos nuevas herramientas, “Orígenes del software” y “Administrador de Controladores” hacen su primera aparición en Linux Mint.

linux mint 15

 

Es tiempo de descargar la y probarla para disfrutar de una excelente  distribución ideal para quien inicia en Linux así como para usuarios avanzados.

The Open Enchilada Project: The Open Enchilada Project S06E08: Cumple de Mike

Martes 14 de mayo de 2013

Planeta Laguna: Organización de espionaje presenta manual para búsquedas en Internet
Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

Internet gratis!! con Telcel y Movistar (con banda ancha USB)

La configuración aquí mostrada fué realizada en Ubuntu-Linux 13.04 , pero debe funcionar en cualquier distro linux.


NOTA:  
* Necesitas poner un chip que no tenga saldo para la conexión
* Si tu USB viene con un chip , cámbialo por uno de cualquier celular, para que no te gaste el saldo que tienes, o si no tienes saldo pues úsala xDD

ASEGURARNOS QUE DETECTA BIÉN LA USB



* La insertamos y esperamos a que la detecte la computadora.  lo sabemos al dar clic en las redes inalambricas por que dirá :"Banda ancha movil"
* Damos clic ahi para seguir los pasos que nos indica:
  - Lugar
  - Compañia de telefonía celular

COMPROBAR
Ya que la detecta correctamente podemos probar, al abrir nuestro navegador web (en mi caso Firefox)  y buscar cualquier pagina ej. www.google.com.mx  esto nos redireccionará a una pagina en donde nos dice que no tenemos saldo para navegar en internet y que paguemos para hacerlo :p



REGISTARNOS EN

https://www.hotsplots.de/en/register.html



 Despues de registrarnos y confirmar el correo que nos llegó a la bandeja de entrada de nuestro correo, podemos ingresar a la pagina con nuestra cuenta:


Ya cuando estemos logeados con nuestra cuenta,  podemos ingresar al siguiente enlace :

https://www.hotsplots.de/en/my-hotsplots/my-userdata/openvpn-key.html

de donde descargaremos los archivos necesarios para conectarnos a la vpn gratuita con nuestra cuenta que acabamos de crear. (Bbajamos la version para UNIX/Linux):


REALIZAR LA CONEXIÓN A LA VPN DESDE TERMINAL

Abrimos la terminal de sistema y nos situamos en el directorio donde descargamos el archivo .tar como superusuario:

villatux#cd /home/villatux/

Descomprimimos:

villatux#tar -xvf openvpn_key.tar

 Nos situamos en el directorio de las configuraciones de la VPN:

villatux#cd openvpn_key

Instalamos openvpn si es que no lo tenemos :


villatux# apt-get install openvpn

Ejecutamos openvpn para que lea las configuraciones que descargamos:

 villatux# openvpn hotsplots.conf

y veremos algo como esto:

 villatux# openvpn hotsplots.conf
Mon May 13 17:33:40 2013 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 13 2013
Mon May 13 17:33:40 2013 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Mon May 13 17:33:40 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Mon May 13 17:33:40 2013 Control Channel MTU parms [ L:1545 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon May 13 17:33:40 2013 RESOLVE: NOTE: vpn.hotsplots.net resolves to 5 addresses
Mon May 13 17:33:40 2013 Data Channel MTU parms [ L:1545 D:1300 EF:45 EB:4 ET:0 EL:0 ]
Mon May 13 17:33:40 2013 Fragmentation MTU parms [ L:1545 D:1300 EF:45 EB:4 ET:0 EL:0 ]
Mon May 13 17:33:40 2013 Local Options hash (VER=V4): '35ec189c'
Mon May 13 17:33:40 2013 Expected Remote Options hash (VER=V4): '9b1c411c'
Mon May 13 17:33:40 2013 UDPv4 link local (bound): [undef]
Mon May 13 17:33:40 2013 UDPv4 link remote: [AF_INET]46.228.204.146:1194
Mon May 13 17:33:41 2013 VERIFY OK: depth=1, /C=DE/ST=Berlin/L=Berlin/O=hotsplots_GmbH/OU=certificate_authority/CN=www.hotsplots.de/emailAddress=ca@hotsplots.de
Mon May 13 17:33:41 2013 VERIFY OK: nsCertType=SERVER
Mon May 13 17:33:41 2013 VERIFY OK: depth=0, /C=DE/O=hotsplots_GmbH/OU=Gateway_Server/CN=VPN1
Mon May 13 17:33:44 2013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mon May 13 17:33:44 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon May 13 17:33:44 2013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mon May 13 17:33:44 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon May 13 17:33:44 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Mon May 13 17:33:44 2013 [VPN1] Peer Connection Initiated with [AF_INET]46.228.204.146:1194
Mon May 13 17:33:46 2013 TUN/TAP device tun0 opened
Mon May 13 17:33:46 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Mon May 13 17:33:46 2013 /sbin/ifconfig tun0 10.44.40.194 pointopoint 10.44.40.193 mtu 1500
Mon May 13 17:33:46 2013 Initialization Sequence Completed


Hasta donde dice  " Initialization Sequence Completed"  nos indica que la conexión fué realizada con éxito.  y ahora a navegar , que para eso es el internet xDD

Lunes 13 de mayo de 2013

The mythical and handy Chef (1st Part… What is Chef?)

Chef is an automation platform that transforms infrastructure into code. Stop thinking in terms of physical and virtual servers. With Chef, your real asset is the code that brings those servers and the services they provide to life. An automated infrastructure can accelerate your time to market, help you manage scale and complexity, and safeguard your systems.\

Chef is based on a key insight: You can model your evolving IT infrastructure and applications as code. Chef makes no assumptions about your environment and the approach you use to configure and manage it. Instead, Chef gives you a way to describe and automate your infrastructure and processes. Your infrastructure becomes testable, versioned and repeatable. It becomes part of your Agile process.

Chef relies on reusable definitions known as cookbooks and recipes that are written using the the Ruby programming language. Cookbooks and recipes automate common infrastructure tasks. Their definitions describe what your infrastructure consists of and how each part of your infrastructure should be deployed, configured and managed. Chef applies those definitions to servers to produce an automated infrastructure.

Cookbooks and recipes are made from building blocks called resources. Many resources are included in Chef, but you can also create your own, in particular to deal with legacy systems. Also, you can interact with the community of Chef users, numbering in the tens of thousands, who are constantly sharing cookbooks, recipes and advice. There’s a good chance you’ll find someone who’s worked on situations similar to yours. The community will support your success, and Opscode’s professional services are there to help you as well.

chart-basic-installation.jpg

The Chef server stores your network’s configuration data and recipes. The data describes all the “ingredients” that make up your infrastructure. Recipes are step-by-step instructions for assembling those ingredients together into a complete, running system. The Chef client is a program that runs the recipes on nodes of the network, which may be physical or virtual servers either on-premise or in the cloud. You use a workstation to update the state of the Chef server from time to time, as your infrastructure evolves. All changes are captured using revision control.

Getting started with Chef
Want to learn more? The best way is to start playing.

Sign up for a free trial of Hosted Chef.
Get hands on with Chef quickstart guides on #learnchef.
Take a look at some cookbooks.
Take a look at the documentation.
If you want a little help getting up to speed with Chef, try our Chef Fundamentals training.

So after all this info… are you ready for the real cool stuff? … next post

Mounting an Amazon S3 bucket as a local file system

1.- Download the latest version of s3fs (which is a FUSE backend for S3) from http://code.google.com/p/s3fs/downloads/list

mkdir /opt/s3fs
cd /opt/s3fs
wget http://s3fs.googlecode.com/files/s3fs-r191-source.tar.gz

2.- Unpack it:

tar -xvzf s3fs-r191-source.tar.gz

3.- Install dependencies for building:

yum install libxml2-devel libcurl-devel fuse fuse-devel fuse-libs gcc gcc-c++

4.- Build and install the code (this copies the binary s3fs to /usr/bin):

make
make install

5.- Edit a config file for storing your keys (you can check them out under AWS Menu -> Your Account -> Security Credentials)

vim /etc/passwd-s3fs
<access key>:<secret_key>
chmod 640 /etc/passwd-s3fs

6.- Create a directory for mounting the S3 filesystem and mount it. Note that you can mount the s3fs anywhere you like:

/usr/bin/s3fs bucketname /mnt/mountpoint

mkdir  /media/s3vol
/usr/bin/s3fs bucket_name -o default_acl=public-read  /media/s3vol

7.- Check it is woking correctly:

grep s3fs /etc/mtab
cd /media/s3vol
ls -lah
Alcance Libre: ¿La información en Internet desaparece? Wayback Machine web.archive.org

Domingo 12 de mayo de 2013

Héctor Reyes

Héctor Reyes
Héctor

OPERA DRAGONFLY

Una de las herramientas que ha hecho indispensables al momento de desarrollar proyectos web es sin duda Opera Dragonfly, el siguiente video describe un poco de lo que se puede hacer con el:



Esta es una herramienta que viene incluida con Opera, solo falta presionar unas cuantas teclas y se lanzará (Ctrl + Shift + I en Windows y Linux, ⌘ + ⌥ + I en Mac.), posiblemente les recuerde a Firebug, a titulo personal nunca lo he usado, en Dragonfly e encontrado la solución a todas mis necesidades, pero mi intención no es compararlo con Firebug ni describir como usar Dragonfly, lo que describiré es como instalarlo en nuestra maquina local o en el servidor para que este disponible para el equipo de desarrollo.

Comenzare por decir que Opera Dragonfly se encuentra liberado bajo la Apache License v2.0 y lo podemos descargar del repositorio en github de Opera, pero antes de usar el archivo que se descargo es necesaria otra herramienta, esta se llama Dragonkeeper y la descargamos del repositorio en github, una vez que se ha desempaquetado lo único que hay que hacer es ingresar a dragonkeeper-master y ejecutar:

python setup.py install
Solo hay que tener instalado "setuptools" de python, esto instalara lo que se necesita para ejecutar Opera Dragonfly, dentro del mismo directorio se encuentra otro llamado dragonkeeper y en este se encuentra dragonkeeper.py, antes de poder ejecutarlo hay que modificar la linea 18, originalmente se encuentra así:

hostname, aliaslist, ips = socket.gethostbyname_ex(socket.gethostname())
La modificación se hace ya que al momento de ejecutarlo arrojaría el siguiente mensaje de error:

socket.gaierror: [Errno -2] Name or service not known
La modificación queda de la siguiente manera:

hostname, aliaslist, ips = socket.gethostbyname_ex('localhost')
Ahora solo falta ingresar a dragonfly-master (el primer zip que se descargo) en este directorio se encuentra src y ya no es necesario ejecutar build.sh ya que todo lo que se requiere se encuentra dentro de src, pero si quieren tener las traducciones al español y generar unos cuantos archivos y reemplazar con estos los que se encuentran en src, se puede hacer, que fue la opción que yo tome.

Ahora lo que hay que hacer es tomar todo el contenido de src y copiarlo al directorio dragonkeeper que se encuentra en dragonkeeper-master y ejecutar:

python dragonkeeper.py
Deberíamos de ver el siguiente mensaje:

server on: http://localhost:8002/
Ingresamos a http://localhost:8002/client-en.xml o a http://localhost:8002/client-es-LA.xml (si se ejecuto build.sh) y deberíamos de ver el siguiente mensaje en ingles o español según sea el caso:

Waiting for host connection on port 0 / Esperando una conexión anfitrión en el puerto 0.

Y finalmente hay que configurar Opera para que al momento de ejecutar a Dragonfly busque el servicio en nuestro equipo o servidor, en la barra de dirección escribimos:

opera:config#DeveloperTools|DeveloperToolsURL
Y lo que hay que modificar es el parámetro Developer Tools URL y colocar http://localhost:8002/client-es-LA.xml (el xml dependerá del idioma que gusten emplear) y con esto se tiene Opera Dragonfly ejecutándose de manera local ya no desde los servidores de Opera

Héctor Reyes

Héctor Reyes
Héctor

GARTOON

Si hay algo que extraño de las versiones anteriores de Gnome es que podía usar los iconos que Silvestre Herrera ha hecho, el único que puedo usar en la actual versión de Gnome es Neu



No se que pase con los otros iconos que no los muestra y los cambia por otros :down: así que me di a la tarea de tratar de hacer funcionar aquellos que solía usar y que actualmente no se visualizan de manera correcta en mi sistema, no se si a todos les pase pero a mi si :doh:

El primero con el que he estado trabajando es Gartoon, investigando me encontré con que GNUtoon/Ubuntoon es una derivación de este tema que posteriormente suspendió su desarrollo y se generó Gartoon Redux .

Después de modificar el archivo index.theme basándome en el de Neu, logré que los iconos se mostraran de manera correcta



Pero al ver que había derivaciones del original Gartoon, mezcle los iconos que contenían ambos proyectos, teniendo un conjunto mayor de iconos, claro faltan algunos programas o extensiones. Si gustan descargarlo se encuentra disponible en este enlace, en un tiempo que tenga libre trabajare para que se muestre bien alguno de los iconos de Silvestre Herrera
LogicalBricks Solutions: Poder de la consola, con el programa De Puntitas

Viernes 10 de mayo de 2013

Renich Bon Ciric

Bitwig: Estación de producción musical para Linux!

http://bitwig.com/

Ok, aún no puedo creerlo!

Es posible que, si has leido mi blog, te darás cuenta de que tengo una banda. Soy músico y me gusta mucho componer. De hecho, tengo varios discos en:

http://jamendo.com/artist/Renich

http://jamendo.com/artist/introbella

Durante mucho tiempo, me frustré mucho por no poder producir mi música en GNU & Linux al 100%. Me ha molestado mucho tener que usar Windows para ésto. Aún existiendo tanto software increible para grabación en Linux, han sido varios los problemas que he enfrentado:

- No sirve mi interface en Linux: M-Audio Firewire-1814
- No he encontrado un software con el workflow adecuado
- No he podido conseguir sonidos sampleados adecuados o en variedad suficiente.

Ante estos problemas, he insistido un montón tanto a Propellerheads Reason, a Ableton Live y a M-Audio que empiecen a colaborar con la comunidad para hacer disponibles sus softwares y drivers para GNU & Linux! A Propellerheads les vale madre. En Ableton ni siquiera me han contestado. M-audio pareció querer colaborar (Ver ffado) pero nunca se concretó al parecer.

No todo ha estado perdido. Existen projectos como Bitwig o como Pianoteq que se están poniendo las pilas y harán mi sueño realidad de poder producir un disco; y de tocar en vivo usando 100% Linux!

Al parecer, Bitwig tiene un muy buen acercamiento. Se parece mucho el workflow a Ableton Live. Creo que, ésto, abrirá un gran nicho de mercado. Mucha gente usará este tipo de software; comprándolo! Claro! No tendrás que gastar dinero en licencias de antivirus, sistemas operativos, utilerías; teniendo más dinero para invertir en ellos! Muy inteligente y parte de mis argumentos en los emails que he mandado.

Actualmente, le mandé un correo a Bitwig; pidiéndoles que me incluyan para ayudarlos a empaquetar para Fedora su producto; aún cuando tenga que firmar un NDA o algo así. Además, me gustaría ser beta tester. Estoy seguro que varios Fedorianos se apuntarán para ayudar a debuguear el software. Ojalá y pase algo con eso.

La neta, felicito a los de Bitwig y a los de Pianoteq por sus grandes esfuerzos. Cada vez está más cerca el Home Studio o el Pro Studio para los productores acostumbrados a estos workflows; como yo ;)

Jueves 09 de mayo de 2013

Rafael Bucio

Rafael Bucio
Rafael Bucio ⠠⠵

Nuevos iconos de facebook

Son los iconos que se usan, en el chat pero ahora se pueden poner en los títulos de las imagenes y publicaciones en la biografías del facebook , 2013.


☔ : Paraguas
⚡ : Rayo
☀ : Sol
☁ : Nube
☕ : Taza de café o te creo que es no sé
❤ : Corazón
☺ : Cara sonrojada
♥ : Corazon pequeño
☝ : Manos juntas
✌ : Amor y paz
… ver más:  yahoo.

Planeta Laguna: ¿Necesito un teléfono de última generación?
Planeta Laguna: Leer desde nuestros dispositivos móviles
Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

Still more e-voting related rants

Some weeks ago, I contacted Rosa Martínez, a tech journalist with some questions regarding what I regarded as a trick interview with an e-voting salesman. Well, not only she offered me to publish an answer to that interview, but she also offered me to write another article on a second site she also works with.

So, I accepted. Being quite time-deprived, although I managed to send her the first answer quickly, by April 22, I only sent the second article yesterday night.

Anyway, the links. The texts are published in Spanish:

Planeta Laguna: Las mejores Portadas para Facebook

Miércoles 08 de mayo de 2013

Planeta Laguna: Chica Vivian
Planeta Laguna: Me sé cruel

Martes 07 de mayo de 2013

Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

Talking about Debian while Debian was getting released

Last Saturday, I was invited to talk about Debian to Hackerspace DF, a group that is starting to work at a very nice place together with other collectives, in a quite centric place (Colonia Obrera). I know several of the people in the group (visited them a couple of times in the space's previous incarnation), and wish them great luck in this new hackerspace!

Anyway — I was invited to give an informal talk about Debian. And of course, I was there. And so was Alfredo, who recorded (most of) it.

So, in case you want to see me talking about how Debian works, mostly on a social organization level (but also regarding some technical details). Of course, given the talk was completely informal (it started by me standing there, asking, "OK, any questions?"), I managed to mix up some names and stuff... But I hope that, in the end, the participants understood better what Debian means than when we started.

Oh, and by the end of the talk, we were all much happier. Not only because I was about to shut up, but because during my talk, we got notice that Debian 7.0 "Wheezy" was released.

Anyway — If you want to see me talking for ~1hr, you can download the video or watch it on YouTube.

Emerson Posadas

Emerson Posadas
toxickore BLOG

La tecnificación del chisme (Regina dixit)

En estos días de modernidad e inventos del hombre blanco, se me ocurrió organizar bien todos mis contactos telefónicos. Nombres, apodos, apellidos, fotografía.

¿Y de donde iba a sacar la fotografía de todos esos? Facebook pensé.

Si, terminé de completar esa tarea de organizar los contactos y días después empecé a reflexionar (de nueva cuenta) sobre las dimensiones que está tomando el replicado masivo de falacias. Me llamó la atención que estaban mencionando sobre la extinción del rinoceronte negro.

Imagen que circula por facebook respecto a la extinción del rinoceronte negro
Pues, para no variar, hay que tener un poco de sentido objetivo al respecto. Cientos de miles de personas comentan y se desgarran las medias sobre lo malo y horrible que es el ser humano. Y dijera la morsa, ¿hicieron algo en su momento para evitarlo?. Lo mas probable es que no y con unos simples "like" o "me gusta" se limpien conciencias.
Pero mi comentario no era al respecto de las conciencias, sino mas bien de la información que la multitud de millones de usuarios ahora otorga a esa red social.

Nadie se detuvo a pensar:
  • ¿Será verídica esa información?
  • ¿Cuál es la fuente informativa?
 Me di a la tarea de hacer una breve búsqueda por internet y un medio que no fuera facebook.

El artículo dice:  "In 2011 it was declared extinct by the IUCN"

Ups, les llegó tarde la noticia ¿non? apenas se vienen a consternar por un evento que tuvo lugar en el año 2011. Pero ahí van todos replicando esto, en masas de millones, dejando en el imaginario colectivo una idea que no se dieron ni la mínima molestia de confirmar. Y no se diga los cientos de frases motivacionales, de chismes y basura y mas basura.

Resumo brevemente lo que se puede uno encontrar por allá en estos días con estos breves pero certeros tuits:




Lo que da miedo, es la posibilidad de que como en los medios convencionales, se manipule la información pública, viralizada por los medios electrónicos de hoy en día a una velocidad impresionante. Un HG Wells y la guerra de los mundos pero con objetivos mas siniestros.

La opinión de un simple ser humano.
José Luis Moreno G.

José Luis Moreno G.
akheron-linuxakheron-linux

Çağı Yakalamak

 

İnternette oyun oynamayı çok isteyip çeşitli nedenlerden dolayı bu kültürden uzak kalmış insanlardan birisiyim ben. Hem casino vari oyunların bugüne kadar bize empoze ettiklerinden dolayı, hem de internet ortamında kişisel bilgilerimi, kart bilgilerimi paylaşmaktan çekindiğimden dolayı gibi sebeplerden bahsedebilirim. Çoğu insanında aynı tereddütü yaşadığını düşünüyorum.

Sanal dünyada o kadar çok kalpazanlık haberi okudum ki sanırım bu şekilde ön yargılı olmam pekte anlamsız değil. Fakat artık çevreme baktığımda herkes bir tıkla hem de küçücük cihazlarla, akıllı telefonlarla birçok işini halledebiliyor. Dürüst olmak gerekirse bu kendimi kötü hissetmeme neden oluyor. Kendimi çağın gerisinde kalmış hissinden bir türlü kurtaramıyorum. Sanırım bu konuda biraz öz güvene sahip olup, olumlu ya da olumsuz bir deneyim yaşamalıyım. Ön yargılar kendinizi kötü hissetmenize sebep olduğu anda en iyi müdahaleyi kendinize siz yapabilirsiniz. Kimin ne söylediği aslında pek takılmamanızı tavsiye ederim.

Lunes 06 de mayo de 2013

David García del Valle

David García del Valle
Dave G. | Blog

Before you install Amavis don't forget the right packages !

My logs of Amavis said:

**Unmatched Entries**
  No decoder for       .tnef: 1 Time(s)
  Found decoder for    .tar  at /usr/bin/pax: 1 Time(s)
  Found decoder for    .7z   at /usr/bin/7zr: 1 Time(s)
  Internal decoder for .zip : 1 Time(s)
  Found decoder for    .rar  at /usr/bin/unrar-free: 1 Time(s)
  Internal decoder for .tnef: 1 Time(s)
  Found decoder for    .deb  at /usr/bin/ar: 1 Time(s)
  Creating db in /var/lib/amavis/db/; BerkeleyDB 0.42, libdb 4.8: 1 Time(s)
  Found decoder for    .zoo  at /usr/bin/zoo: 1 Time(s)
  Found decoder for    .arc  at /usr/bin/nomarch: 1 Time(s)
  starting.  /usr/sbin/amavisd-new at mail.openetworks.net amavisd-new-2.6.4 (20090625), Unicode aware, LANG="en_US.UTF-8": 1 Time(s)
  AM.PDP-in proto code loaded: 1 Time(s)
  Using primary internal av scanner code for ClamAV-clamd: 1 Time(s)
  Found decoder for    .cpio at /usr/bin/pax: 1 Time(s)
  Local-out proto code loaded: 1 Time(s)
  Found decoder for    .doc  at /usr/bin/ripole: 1 Time(s)
  Found decoder for    .rpm  at /usr/bin/rpm2cpio: 1 Time(s)
  SQL::Quarantine      NOT loaded: 1 Time(s)
  Found decoder for    .Z    at /bin/uncompress: 1 Time(s)
  Found decoder for    .cab  at /usr/bin/cabextract: 1 Time(s)
  Internal decoder for .gz  : 1 Time(s)
  No decoder for       .lha : 1 Time(s)
  Found decoder for    .bz2  at /bin/bzip2 -d: 1 Time(s)
  Found decoder for    .exe  at /usr/bin/unrar-free; /usr/bin/arj: 1 Time(s)
  No decoder for       .F   : 1 Time(s)
  Found decoder for    .arj  at /usr/bin/arj: 1 Time(s)
  Internal decoder for .mail: 1 Time(s)
  Found decoder for    .lzo  at /usr/bin/lzop -d: 1 Time(s)

Those issues is because you don't have the right packages you need to install the next packages:

Perl modules:

Archive::Zip   (Archive-Zip-x.xx) (1.14 or later, currently 1.30)
Compress::Zlib (Compress-Zlib-x.xx) (1.35 or later, currently 2.060)
Compress::Raw::Zlib (Compress-Raw-Zlib) (2.017 or later)
MIME::Base64   (MIME-Base64-x.xx)
MIME::Parser   (MIME-Tools-x.xxxx) (currently 5.504)
Mail::Internet (MailTools-1.58 or later have workarounds for Perl 5.8.0 bugs)
Net::Server    (Net-Server-x.xx) (version 2.0 adds support for IPv6)
Digest::MD5    (Digest-MD5-x.xx) (2.22 or later)
Time::HiRes    (Time-HiRes-x.xx) (1.49 or later)
Unix::Syslog   (Unix-Syslog-x.xxx)
Mail::DKIM     (Mail-DKIM-0.31 or later, currently 0.40)

The following external programs are used for decoding/dearchiving
if they are available:
  compress, gzip, bzip2, nomarch (or arc), lha, arj (or unarj), rar (or unrar),
  unzoo (or zoo), pax, cpio, lzop, freeze (or unfreeze or melt), ripole,
  tnef, cabextract.
Self-extracting archives (executables) can be of types zip, rar, lha or arj,
and are only recognized when the corresponding dearchiver is available.

optional Perl modules:
  Mail::SpamAssassin          for doing spam scanning (latest version)
  DBI with appropriate DBD::* if using SQL lookups or SQL logging/quarantining
  Net::LDAP                   if using LDAP lookups
  ZeroMQ or ZMQ::LibZMQ[2,3]  Perl module interface to libzmq



Don't forget to run sa-update !!

Reference 
http://www.ijs.si/software/amavisd/INSTALL.txt

Domingo 05 de mayo de 2013

Debian 7.0 Wheezy

Y bueno ayer, como había sido anunciado [1] se liberó Wheezy (Debian 7.0) [2] después de un buen rato, indispensable si piensas actualizar leer las notas de la versión (reléase notes) [3] o la guía de instalación si lo piensas instalar desde cero [4], en todo caso en mi desktop y portátil ya está, también probé en uno de mis servidores, especialmente no el de producción y tengo las siguientes impresiones.

Se agradece la actualización del kernel, apache y php, sin embargo para servidores, la versión de php incluida rompe con suoshin (aunque existe un camino no oficial para aplicar el parche), moodle que bueno ya he mencionado que ya tengo algunos problemas con esto, sin embargo encontré muy bien documentado lo que ha estado haciendo Tomasz Muras [5] y que puede ayudar a entender o al menos pensar en que lio está metido y cuáles son los cambios que tiene moodle en Debian, también viene el cambio de bash por dash, lo cual seguro va a romper con algunos scripts que hemos viniendo haciendo demasiado basados en el primero, al menos yo encontré que con insset el orden de arranque no funcionaba por un pequeño script de subversión de cuando no era sencillo hacer svn+ssh y había que correr un demonio, aún creo que al menos en donde corro Zope y Moodle voy a tener que hacer algunas modificaciones, y de menos esperarme hasta el fin de semestre para hacer cambios, muchos paquetes se han vuelto obsoletos y otros san salido de la distribución por lo mismo es importante leer los programas obsoletos [6] y los problemas a tener en cuenta con Wheezy [7] en fin que definitivamente en una quincena antes me habría ahorrado el pasar de qemu a virtualbox si ubiese podido arreglar el multiarch en wine… en fin he aprendido bastante de virtualbox y para mis necesidades parece estar funcionando muy bien, sobre todo por la posibilidad de pasar imágenes entre OS sin mayor problema, qemu-kvm no me eran tan transparentes al menos ahora que por ahí estoy usando Windows siete de 64bits.

[1] http://www.debian.org/News/weekly/2013/09/#releasedate
[2] http://www.debian.org/News/2013/20130504
[3] http://www.debian.org/releases/wheezy/releasenotes
[4] http://www.debian.org/releases/wheezy/installmanual
[5] http://wiki.debian.org/Moodle
[6] http://www.debian.org/releases/wheezy/i386/release-notes/ch-upgrading.es.html#obsolete
[7] http://www.debian.org/releases/wheezy/i386/release-notes/ch-information.es.html

Abraham Zenteno

Abraham Zenteno
Kraxbox

Registro de logs en DB CakePhp 2.0.x

Podemos registrar logs de nuestra aplicación registrando en archivos o en su caso en la base de datos que en esta ultima manera es de que trata este tutorial, a continuación explico la manera de como implementar eta funcionalidad a sus aplicaciones hechas en CakePhp 2.0.x.

Como primer paso deberá crea la tabla en su base de datos:


CREATE TABLE IF NOT EXISTS `logs` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`type` VARCHAR(20) NOT NULL,
`time` datetime NOT NULL,
`message` text NOT NULL,
PRIMARY KEY (`id`)
);

Una vez creada la tabla de la base de datos procedemos a crear el modelo de nuestra tabla:


/*Model/Log.php*/
class Log extends AppModel{
  public $name = 'Log';
}

Una vez hecho lo anterior se procederá a crear la clase DataBaseLogger la cual tendrá la finalidad de insertar en nuestra db y no en los archivos logs, crear el archivo app/Lib/Log/Engine/DatabaseLogger.php con el siguiente contenido:


App::uses('CakeLogInterface','Log');

class DatabaseLogger implements CakeLogInterface{
 
    function __construct($options = array()) {
        App::import('Model', 'Log');
        $this->Log = new Log;
    }
 
    function write($type, $message) {
        $log['type'] = ucfirst($type);
        $log['time'] = date('Y-m-d H:i:s');
        $log['message'] = $message;
 
        return $this->Log->save($log);
    }
 
}

Por último solo nos resta definir nuestra variable de configuración Cake indicando que el metodo de registro de logs sera por medio de inserción en la base de datos para esto se agregara la constante de configuración en AppController


class AppController extends Controller {
       
    function beforeFilter(){
         CakeLog::config('otherFile',array(
                'engine' => 'DatabaseLogger',
                'model' => 'Log'));

    }
}
?>

Donde Engine hace referencia a DatabaseLogger y model al modelo de la tabla en la que se insertaran los logs.

Ahora bien el siguiente código muestra como utilizar la clase estatíca CakeLog con la función de login


/*metodo de Controlador*/
function login(){         $this->layout = "tpl_login";           if( ! $this->Session->read('Auth.User') ){              if ($this->request->is('post')) {                  if ($this->Auth->login()) {
                     CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');

                    $this->redirect($this->Auth->redirect());
                  }else{
                    $this->Session->setFlash('Your username or password was incorrect.');
                  }
              }
          }else{
               $this->redirect($this->Auth->redirect());
          }
     }
?>



Como se muestra en código anterior se utiliza la clase estatíca :
   CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');

Para registrar cuando inician sesión los usuarios, los tipos de logs definidos por CakePhp son:


    'emergency'
'alert'
'critical'
'error'
'warning'
'notice'
'info'
'debug'

También puede definir sus propios tipos de logs para mas información

http://book.cakephp.org/2.0/en/core-libraries/logging.html



Resultado del registro









Sábado 04 de mayo de 2013

Moving a Plone site from AWS to webfaction

Moving a Plone site from AWS to webfaction

I’ve been helping my friends with their Plone site for some years now. Initially, the site was hosted on IntoVPS, which is quite cheap and nice to setup. Unfortunately, at that time, we needed a lot of storage and their plans didn’t provide enough space, so I moved the site to amazon AWS and it’s been almost two years since then. Unfortunately, AWS is very expensive and we have lowered our storage requirements since then. So I’m moving the site again, this time to WebFaction.

We went for the 256MB plan because it includes 256MB of RAM (plone4 uses 160MB at most), 100GB of space (right now we need about 60 GB) and 600 GB of bandwidth which I’m not measuring yet. So, a single plone instance will fit there.

Configuring webfaction

We are using HTTPS to encrypt the whole site’s traffic. I set up two websites: one for HTTP and another for HTTPS. The HTTP website is linked to a Static/CGI/PHP application that only has two files: an index.html and a .htaccess file which it’s only purpose is to rewrite/redirect the traffic to the HTTPS port.

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ https://www.holokinesislibros.com/$1 [R=301,L]

On the HTTPS website I created a Zope (2.13.15) - Plone (4.1.6) application. This is basically a directory that contains a Python2.6 virtualenv, a buildout-cache directory and uses Plone’s universal installer to create and bootstrap a buildout environment in another directory called zinstance. It also creates a crontab entry to start Zope’s instance every 20 minutes.

But I’m using a customized buildout, so I ignored the zinstance directory and instead cloned my repo on the application directory and bootstraped it with a fresh virtualenv of python 2.7.

cd webapps/hkl_plone
virtualenv ve
hg clone ssh://hg@bitbucket.org/tzicatl/holokinesis_libros
cd holokinesis_libros
../ve/bin/python bootstrap.py -c webfaction.cfg
bin/buildout -c webfaction.cfg

Not everything went smooth. I had to adjust my buildout so it could run with the new branch of zc.buildout 2.0. Namely: some syntax errors in my versions.cfg, remove buildout.dumppickedversions extension and update bootstrap.py

I also had to copy some settings from the zinstance directory, like the port.

Finally, in order to completely switch from zinstance to my own buildout in holokinesis_libros I change the crontab command, from:

2,22,42 * * * * $HOME/webapps/hkl_plone/zinstance/bin/instance start > /dev/null 2>&1

to:

2,22,42 * * * * $HOME/webapps/hkl_plone/holokinesis_libros/bin/instance start > /dev/null 2>&1

Setting up HTTPS

Plone (in fact, Zope2) needs to be monkey-patched so it recognizes the X-Forwaded-SSL header. Fortunately, webfaction provides a patch that works really well with recent versions of Plone (4.1.6).

cd ~/webapps/hkl_plone/holokinesis_libros/products
wget -O patch.tar.gz http://wiki.webfaction.com/attachment/wiki/WebFactionSslPatch/WebFactionSSLPatch-1.0.tar.gz?format=raw
tar -zxvf patch.tar.gz
rm patch.tar.gz

I had to to issue a support ticket so the web serve could load my SSL certificates. I only had to point them to the directory where my certs are and they did all the job cofiguring the certificates.

Moving data.fs and blobs

I went the easy route and made an uncompressed tarball of the var/ directory and copied it to the new server.

On the AWS server:

cd path/to/plone/on/aws
tar -cf var.tar var/
# I started a GNU screen session for this.
rsync -avz --delete var/ tzicatl@tzicatl.webfactional.com:/home/tzicatl/webapps/hkl_plone/holokinesis_libros/var/
# Then go to sleep, because it takes a lot of time to transfer from one site to another.

On the Webfaction server:

cd ~/webapps/hkl_plone/holokinesis_libros/
tar -xf var.tar

Server startup and configuration of VHM

Starting the Plone instance is quite easy:

cd ~/webapps/hkl_plone/holokinesis_libros/
bin/instance start

The ZMI welcome screen shows on https://www.holokinesislibros.com/ and https://www.holokinesislibros.com/Plone works very well. Now it is time to login to the ZMI and add a few configuration tot he Virtual Host monster. Webfaction gives us a guide that’s very easy to follow. And, at the end I ended up adding just one line:

*.holokinesislibros.com/Plone

The end

Its alive and kicking! :)

Miércoles 01 de mayo de 2013

TPP, peor que SOPA o el NAFTA/TLC

Gunnar difunde información muy importante en su blog sobre acuerdos comerciales que están sucediendo pueden pasar y que no están haciendo mucho ruido en los medios y en  en los interwebz mexicanos, lo cual de inicio ya es preocupante, la información y su difusión me parece muy importante, pero también creo no esta en los mejores medios para compartirla en un post en ingles, con el PDF y no la infografía, me he tomado la libertad de convertir el PDF de la EFF a PNG (que en una segunda revisada ya vi la propia EFF ha convertido en PNG) y comparto la infografía.

tpp_spanish_720pxEntre si son peras o manzanas se ha convocado a una reunión de trabajo en el Aula Magna de la Facultad de Ingeniería este próximo viernes 3 de mayo y creo que un poco más de ruido en español y no en ingles puede ayudar a que la información viaje más rápido.

tpp

Recursos para saber más:

La infografía en calidad de impresión en formato PDF (local en este blog) y el vinculo directo al archivo en EFF.

Renich Bon Ciric

Migración a NginX

Me da gusto anunciar que Woralelandia y el servidor de la comunidad han sido migrados a NginX!

Antes, usábamos Cherokee; pero, al ser olvidado por su creador, pues, no nos queda más que migrar.

Además, creo que NginX tiene varias cosas muy suaves. Me gusta su estilo de configuración. De hecho, influenciado por MVC, he hecho una serie de includes que me facilitan la vida un chingo.

Te invito a revisar su Wiki para que te des una idea.

Martes 30 de abril de 2013

La palabra mágica

Ya no parece ser “por favor” de este lado de la ciudad.

IMG11954 IMG11952

Lunes 29 de abril de 2013

David García del Valle

David García del Valle
Dave G. | Blog

When Amavis said: NOTICE: reconnecting in response to: err=2006, HY000, DBD::mysql::st execute failed: MySQL server has gone away at (eval 115) line 166, line 1635.: 1 Time(s)

I have an email server with 10 accounts  the amavis said:

****************************************************************
NOTICE: reconnecting in response to: err=2006, HY000, DBD::mysql::st execute failed: MySQL server has gone away at (eval 115) line 166, line 1635.: 1 Time(s)
*****************************************************************

The solution that found is:
Try to add below lines in /etc/amavis/conf.d/50-users before the last line "1;", then restart Amavisd service:

$max_servers = 1;
$max_requests = 1;

 
and other solution is: 

The connection to MySQL server initialized by Amavisd timed out, because you have too few emails.
Please decrease (or add) value of "max_connections" in /etc/mysql/my.cnf like below:


[mysqld]
...
set-variable = max_connections=512

 
Thanks ZhangHuangbin !!

Reference:




Viernes 26 de abril de 2013

The Open Enchilada Project: TOEP S06E07 – Parse, SAP, etc.

Jueves 25 de abril de 2013

Miguel de Icaza

Miguel de Icaza
Miguel de Icaza

Need for Exercises

For many years, I have learned various subjects (mostly programming related, like languages and frameworks) purely by reading a book, blog posts or tutorials on the subjects, and maybe doing a few samples.

In recent years, I "learned" new programming languages by reading books on the subject. And I have noticed an interesting phenomenon: when having a choice between using these languages in a day-to-day basis or using another language I am already comfortable with, I go for the language I am comfortable with. This, despite my inner desire to use the hot new thing, or try out new ways of solving problems.

I believe the reason this is happening is that most of the texts I have read that introduce these languages are written by hackers and not by teachers.

What I mean by this is that these books are great at describing and exposing every feature of the language and have some clever examples shown to you, but none of these actually force you to write code in the language.

Compare this to Scheme and the book "Structure and Interpretation of Computer Programs". That book is designed with teaching in mind, so at the end of every section where a new concept has been introduced, the authors have a series of exercises specifically tailored to use the knowledge that you just gained and put it to use. Anyone that reads that book and does the exercises is going to be a guaranteed solid Scheme programmer, and will know more about computing than from reading any other book.

In contrast, the experience of reading a modern computing book from most of the high-tech publishers is very different. Most of the books being published do not have an educator reviewing the material, at best they have an editor that will fix your English and reorder some material and make sure the proper text is italicized and your samples are monospaced.

When you finish a chapter in a modern computing book, there are no exercises to try. When you finish it, your choices are to either take a break by checking some blogs or keep marching in a quest to collect more facts on the next chapter.

During this process, while you amass a bunch of information, at some neurological level, you have not really mastered the subject, nor gained the skills that you wanted. You have merely collected a bunch of trivia which most likely you will only put to use in an internet discussion forum.

What books involving an educator will do is include exercises that have been tailored to use the concepts that you just learned. When you come to this break, instead of drifting to the internet you can sit down and try to put your new knowledge to use.

Well developed exercises are an application of the psychology of Flow ensuring that the exercise matches the skills that you have developed and they guide you through a path that keeps you in an emotional state ranging that includes control, arousement and joy (flow).

Anecdote Time

Back in 1988 when I first got the first edition of the "C++ Language", there were a couple of very simple exercises in the first chapter that took me a long time to get right and they both proved very educational.

The first exercises was "Compile Hello World". You might think, that is an easy one, I am going to skip that. But I had decided that I was going to do each and every single of one of the exercises in the book, no matter how simple. So if the exercise said "Build Hello World", I would build Hello World, even if I was already seasoned assembly language programmer.

It turned out that getting "Hello World" to build and run was very educational. I was using the Zortech C++ compiler on DOS back, and getting a build turned out to be almost impossible. I could not get the application to build, I got some obscure error and no way to fix it.

It took me days to figure out that I had the Microsoft linker in my path before the Zortech Linker, which caused the build to fail with the obscure error. An important lesson right there.

On Error Messages

The second exercise that I struggled with was a simple class. The simple class was missing a semicolon at the end. But unlike modern compilers, the Zortech C++ compiler at the time error message was less than useful. It took a long time to spot the missing semicolon, because I was not paying close enough attention.

Doing these exercises trains your mind to recognize that "useless error message gobble gobble" actually means "you are missing a semicolon at the end of your class".

More recently, I learned in this same hard way that the F# error message "The value or constructor 'foo' is not defined" really means "You forgot to use 'rec' in your let", as in:

let foo x =
   if x == 1
     1
   else
     foo (x-1)

That is a subject for another post, but the F# error message should tell me what I did wrong at a language level, as opposed to explaining to me why the compiler is unable to figure things out in its internal processing of the matter.

Plea to book authors

Nowadays we are cranking books left and right to explain new technologies, but rarely do these books get the input from teachers and professional pedagogues. So we end up accumulating a lot of information, we sound lucid at cocktail parties and might even engage in a pointless engineering debate over features we barely master. But we have not learned.

Coming up with the ideas to try out what you have just learned is difficult. As you think of things that you could do, you quickly find that you are missing knowledge (discussed in further chapters) or your ideas are not that interesting. In my case, my mind drifts into solving other problems, and I go back to what I know best.

Please, build exercises into your books. Work with teachers to find the exercises that match the material just exposed and help us get in the zone of Flow.

Miércoles 24 de abril de 2013

Planeta Laguna: Para el error de "failed, reason given by server: Permission denied"

Martes 23 de abril de 2013

Óscar A. Parra V.

Óscar A. Parra V.
El Canibal » Geek

Default Password de Routers

Default Password de Routers

routerpassword

Cuantas veces no se han visto en la situación donde tienen un router pero no tienen el usuario y password por defecto. Yo en múltiples ocasiones me he encontrado en esa situación.
También hay ocasiones que nos olvidamos los password que le ponemos a nuestros routers y tenemos que resetearlos por defecto.
Al hacer esto tenemos que buscar el usuario y password por defecto.

Routerpasswords.com tiene una base de datos de usuarios y password por defecto que usan muchas compañías.

 

Lunes 22 de abril de 2013

Jarro Negro: FLISOL 2013

Sábado 20 de abril de 2013

Óscar A. Parra V.

Óscar A. Parra V.
El Canibal » Geek

windows could not complete installation.

Recientemente instale Windows 7 en una HP dv9815nr y tuve un error.

“Windows could not complete the installation. To install Windows on theis compuiter, restart the installation.”

si alguna vez les sale este error. aqui un quick fix.

cuando les salga el error, presionen SHIFT-F10 para obtener la linea de comando.
Luego esriban CD C:\windows\system32\oobe
Luego escriban msoobe

Hagan una cuenta y pongan password, luego le dan terminar, pongan su numero de serie si se los pide y luego ajuesten la fecha y hora. le dan terminar y reinician.

y listo.

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

2013 VEX Robotics Middle School World Championship - Rankings

Al terminar las rondas de clasificación del 2013 VEX Robotics Middle School World Championship, después de diez juegos jugados, los equipos Mexicanos tienen los siguientes resultados:

En el grupo Spirit:

Rank Num Equipo     (G-E-P) Puntos
9 6966A GONBOTZ - A (8-0-2) 817
22 4359A SECUNDARIA TÉCNICA NO. 22 (6-0-4) 1110
55 4402A Cuitlabots (3-1-6) 838
57 5918A Secundaria 13 (3-0-7) 905
65 6395B Tecnobots (3-0-7) 719
69 6637 Sec. Tec. 67 (3-0-7) 633
80 7351C Sec. Tec. 56-C (0-0-10) 713

En el grupo Oportunity:

Rank Num Equipo    (G-E-P) Puntos
12 7313D SEED-AS 4 (7-0-3) 868
54 5918B Secundaria 13 B (4-0-6) 409
56 6395 Robotics Verein (3-1-6) 725
70 5381B Tenovex (2-1-7) 798
78 7351A Sec. Tec. 56-A (1-0-9) 694
79 5324A Discovery IV (0-0-10) 733
Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

Segundo día de competencias

Al terminar el segundo día de las rondas de clasificación del 2013 VEX Robotics Middle School World Championship, después de ocho juegos jugados, los equipos Mexicanos tienen los siguientes resultados:

En el grupo Spirit:

Rank Num Equipo     (G-E-P) Puntos
13 6966A GONBOTZ - A (6-0-2) 597
19 4359A SECUNDARIA TÉCNICA NO. 22 (5-0-3) 779
57 6637 Sec. Tec. 67 (3-0-5) 539
62 5918A Secundaria 13 (2-0-6) 640
67 6395B Tecnobots (2-0-6) 613
72 4402A Cuitlabots (1-1-6) 663
79 7351C Sec. Tec. 56-C (0-0-8) 550

En el grupo Oportunity:

Rank Num Equipo    (G-E-P) Puntos
17 7313D SEED-AS 4 (5-0-3) 753
44 5918B Secundaria 13 B (4-0-4) 320
64 5381B Tenovex (2-1-5) 608
71 6395 Robotics Verein (1-1-6) 554
73 7351A Sec. Tec. 56-A (1-0-7) 584
79 5324A Discovery IV (0-0-8) 668

El día de mañana se jugarán los dos últimos juegos. ¡Suerte para todos!

Viernes 19 de abril de 2013

The Open Enchilada Project: The Open Enchilada Project S06E06: Ruby Motion
Gustavo Rubio

Gustavo Rubio
Ahí vamos

Alo nuevo presidente!

hugo_chavez_print-250Venezuela es un país hermoso, con hermosos paisajes, hermosas mujeres y una rica cultura tanto gastronómica como histórica. Tiene además algunos de los paisajes más increibles y ecosistemas diversos, desde desierto en la zona de Falcón hasta playa en el Golfo e incluso zonas nevadas en la zona conocida como Mérida.

En resúmen, Venezuela es un paraíso, ¿Cómo lo se? Bueno, todo lo leí en wikipedia, la verdad es que nunca en mi vida he estado en dicho país, entonces ¿Cómo puedo estar tan seguro de su belleza? Bueno, armo un juicio derivado de varias premisas o información “bien conocida”, y si, lo se, puede parecer entonces que mi juicio sobre la belleza de un lugar no tendría validez, basado en mis fuentes, tendría pues que “vivirlo en carne propia” ¿No? Bueno si me da usted la razón entonces hemos llegado al punto que hay que discutir: ¿Cómo armamos juicios de la situación política de un lugar que NO conocemos?

Sucede que, con los recientes sucesos en la vida política de dicho país, a todo mundo le ha salido lo analista político. Si bien todos tenemos derecho a expresar nuestra opinión creo que definitivamente para hacer un juicio justo habría que tener fuentes de información fidedigna, “los pelos en la mano” pues, como decimos vulgarmente.

Este tema siempre había llamado mi atención. De antemano, antes de ser tachado como rojillo, comento que no me identifico de ninguna manera con el Chavismo, me parece, personalmente, otro político aprovechado del populismo, si acaso. Su manera de confrontamiento público no me parecía lo más adecuado, porque, desgraciadamente, siendo político, y más ostentando el cargo de presidente, uno debe cuidar su imágen, sea por interés del pueblo o por el simple hecho de llevar buenas relaciones públicas.

Pero, ¿Qué conocía yo de Chávez? Bueno pues no mucho, lo mismo que tu puedes leer en libros, escuchar en la radio e investigar por Internet. A pesar de que a Chávez se le formó una imágen de dictador, opresor y asesino a mi no me consta, es decir, aunque no lo puedo (ni quiero) defender, tampoco me sentiría con el derecho de juzgarlo, principalmente porque no vivo en Venezuela, y de paso porque desconosco la historia política moderna de dicho país y sus consecuencias, solo Dios sabe porque motivos llego un ex-militar a ser presidente, bueno, Dios no, pero su pueblo si.

El caso es que hace unos días, mientras pedía mi sagrado alimento en alguno de los muchos lugares donde venden Sushi, ese que mi primo de California dice que “no es sushi porque el sushi no lleva queso”, me dispuse a leer una publicación de esas gratuitas de circulación local, llamada el “Informante de Baja California”. Leía un artículo titulado “¿Quién calló a Chávez” de la columna “El alquimista” de Juan José Alonso, desconocido hasta ese día para mi, profesor de posgrado del CETYS e IPADE Business School y lider de opinión (supongo) cito algunas partes del artículo:

Jamás me daría gusto ver sufrir a alguien y mucho menos ver como día a día se va muriendo unpoco, pero este proceso parece ser el destino final de uno de mis personajes favoritos (Por odiado),me refiero al protagonista principal de un sinnúmero de eventos cómicos, desenfadados, estúpidos y controversiales. Todos ustedes recordarán al Rey de España diciéndole “¿Por qué no te callas?”,efectivamente, me refiero al “MicoMandate”: Hugo Rafael Chávez Frías, que a veces ejerce depresidente de Venezuela y otras de actor cómico en Latinoamérica.

Desgraciadamente el cáncer está acabando con él y esto lo ha llevado a estar fuera de susacostumbradas apariciones como jefe de estado, sus recurrentes desplantes de poder y privatizaciones, y a sus interminables discursos (a veces de más de 10 horas), pobre Huguito, solo lavida le pudo callar la boca (diría mi abuelita: “Hijo lo que más castiga Dios es la boca), así que hoy amanera de un pequeño e inmerecido homenaje a este singular personaje, quisiera compartirles loque el The Washington Post y Foreing Policy denominan: “Los 12 eventos clave en la vida del Comandante”…

En fin todos estos eventos claves han sido aderezados con una serie de improperios y desplantes, que lo hacen el personaje cómico que ya les platiqué, eso no sería problema si fuera buen gobernante, lo malo es que ha hundido a Venezuela en la pobreza, en la violencia, en la inseguridad, ha mantenido a la dictadura de los Castro, ha patrocinado a otra serie de locos en el poder (Ortega, Evo, Correa, etc.).  Yo pensé que el dinero lo mantendría en el poder más años, pero la naturaleza con crueldad, hoy le dice que debe dejar a los venezolanos en paz.

Me pregunto si el señor Alonso habrá estado alguna vez en Venezuela, o si quiera en sudamérica. La verdad es que, a pesar de compartir el idioma, nuestros vecinos del sur están muy alejados de las políticas del bloque norteamericano conformado por nuestro país, los “gringos” y nuestros vecinos mas lejanos los canadienses.

Es esta misma razón, la lejanía, y muchas veces falta de comprensión de una sociedad con la cual no convivo, por la cual no me atrevería a armar un juicio de ideas políticas sobre un país que desconozco. Parece fácil a veces dar por hecho que ser economista y entender los “indicadores internacionales” nos puede servir para generar dicho juicio, solo habría que recordar que una sociedad está conformada por muchas cosas, no solo indicadores financieros.

Por otra parte, me parece siempre curioso ver como se critican políticas exteriores desde una trinchera bastante comoda como lo es vivir, si no en Estados Unidos, en la frontera, donde tenemos muchas ventajas de las cuales nuestros vecinos sudamericanos no gozan, es más, ni siquiera nuestros propios conacionales de mas al sur. Es muy fácil escribir un artículo basado en fuentes como el Washington Post, que cita el mismo alonso, y armar juicios basados en estos medios de información, que aunque grandes e importantes, tienen agendas como todos, y la agenda de Estados Unidos no es la más humanista ni democrática, sobre todo hablando de política exterior.

Ahora que Chávez está muerto, y que el pajarito le dijo a Maduro que todo estaría bien parece que les dió comezón a los líderes de opinión de derecha al saber que Nicolás Maduro heredaría la dictadura de Facto del comandante, que aunque no les afecte, les molesta, porque así lo dice el criterio del país más poderoso del mundo, que por cierto les da de comer a varios de esos líderes, no puede estar uno entonces en contra, ya saben, no escupas la mano que te da de tragar.

Lo más irónico es ver a muchas de estas personas, que tacharían a Lopez Obrador, por ejemplo, de porro, peleonero y necio, por querer realizar un conteo de votos, derecho electoral por cierto, lo cual no se hizo y al final nos dan la misma cantaleta “que ya se pongan a trabajar, ya perdió” bueno, sucede lo mismo en Venezuela, por un paupérrimo 4% Nicolás Maduro ganó en elecciones a Henrique Capriles, solo que, en este caso, quien pide el reconteo de votos es el opositor de derecha y entonces, ahí si, es un fraude electoral perpetrado por el gobierno de facto.

Hay que ser congruentes con nuestras ideas y sobre todo tener bases para sostener lo que decimos. Podemos tener opiniones diferentes y para todos los temas pero eso no cambia las cosas. Si hay a quienes les molesta que la mano derecha de Chávez haya heredado su puesto solo por ser de izquierda, y aun cuando ni siquiera viven en dicho país, les digo: Sean congruentes, denle vuelta a la hoja y ponganse a trabajar. Creo que es el mismo disco rayado que escuchamos aquí en México en las pasadas elecciones, “predicad con el ejemplo“.

Les dejo el enláce al artículo completo del señor Alonso.

 

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

2013 VEX Robotics Middle School World Championship (First Day)

Al terminar el primer día de las rondas de clasificación del 2013 VEX Robotics Middle School World Championship, después de tres juegos, los equipos Mexicanos tienen los siguientes resultados:

En el grupo Spirit:

Rank Num Equipo    (G-E-P) Puntos
#3: (6966A) GONBOTZ - A (3-0-0) (6-260)
#35: (6637) Sec. Tec. 67 (2-0-1) (4-161)
#40: (4402A) Cuitlabots (1-1-1) (3-199)
#41: (4359A) SECUNDARIA TÉCNICA NO. 22 (1-0-2) (2-341)
#55: (5918A) Secundaria 13 (1-0-2) (2-209)
#56: (6395B) Tecnobots (1-0-2) (2-201)
#72: (7351C) Sec. Tec. 56-C (0-0-3) (0-256)

En el grupo Oportunity:

Rank Num Equipo  (G-E-P) Puntos
#9: (7313D) SEED-AS 4 (3-0-0) (6-212)
#12: (5918B) Secundaria 13 B (3-0-0) (6-120)
#65: (5381B) Tenovex (0-1-2) (1-241)
#66: (6395) Robotics Verein (0-1-2) (1-171)
#77: (5324A) Discovery IV (0-0-3) (0-190)
#80: (7351A) Sec. Tec. 56-A (0-0-3) (0-130)

El día de mañana se jugarán 5 rondas. ¡Suerte para todos!

Jueves 18 de abril de 2013

David Moreno

David Moreno
dm's blog

Debian meetup in Utrecht, The Netherlands

This next Tuesday, April 23rd, 2013, a few of us Debian people in the Netherlands will get together for beer and keysigning in Belgisch Bier Café Olivier in Utrecht. If you are in the area, feel free to come, have a beer or two and mingle!

Find the exact details in this debian-events-nl mail.

See you there!

José Oviedo

José Oviedo
oviedo.mx

SQL Server: No regresa el texto completo en las celdas con valores tipo texto

Si tienes un campo de tipo texto, ya sea cualquiera de los siguientes tipos de datos:

  • varchar(max)
  • nvarchar(max)
  • varbinary(max)
  • text
  • ntext
  • image

Y cuando realizas tu select, no te regresa la información completa, entonces lo que debes de hacer es incrementar el limite de la variable textsize.

Para saber cual es el límite actual solo ejecuta el siguiente comando:

SELECT @@TEXTSIZE

Casi por default te dará un valor de 2147483647 (caracteres)

Y entonces la solución antes de ejecutar tu consulta SELECT, debes de iniciar con la siguiente consulta SQL.

SET TEXTSIZE NUMERO_CARACTERES_A_OBTENER

Digamos que deseas obtener unos 200 caracteres, entonces ejecutas SET TEXTSIZE 200 ,seguido de tu sentencia SQL del SELECT.