Ejercicios de expresiones regulares

Dado el siguiente archivo:  ”expr_reg_1.txt”

a
aba
aabb
aabbb
aaabbb
aa
baa
abab
ababa
bababa
ab
bbb
baaa
abbba
bbaabb
ba
aaaa
baba
bbaab
bbabaa
aaa
aaba
bbbb
bbbaa
bbbabb

1.no tenga más de tres “a” o tres “b” seguidas
root@debian:~# cat expr_reg_1.txt | grep -E ‘^[^aaaa]|[^bbbb]$^[^bbbb]|[^aaaa]$’
a   <  falta (por error no lo trae)
ab
ba
baa
bbb
aabb
abab
baaa
baba
bbbb
aabbb
bbaab
bbbaa
aaabbb
bababa
bbaabb
bbabaa
bbbabb

2.vayan alternando las “a” y las “b” sin repetirse
root@debian:~# cat expr_reg_1.txt | grep -E ‘^(ab)+$|^(ba)+$’
ab
ba
abab
baba
bababa

3.sólo tenga parejas de “a” y de “b”
root@debian:~# cat expr_reg_1.txt | grep -E ‘[a]{2}[b]{2}’
aabb
aabbb
aaabbb  < este se filtro :p
bbaabb

4.tengan sólo “a” o sólo “b”
root@debian:~# cat expr_reg_1.txt | grep -E ‘^[a]+$|^[b]+$\b’
a
aa
aaa
bbb
aaaa
bbbb

5.haya unas cuantas “a” y luego unas cuantas “b” o al revés
root@debian:~# cat expr_reg_1.txt | grep -E ‘^[a]{2,}[b]{2,}$|^[b]{2,}[a]{2,}$’
aabb
aabbb
bbbaa
aaabbb

6.contengan la cadena “aba” o la cadena “bab”
root@debian:~# cat expr_reg_1.txt | grep -E ‘(aba|bab)’
aba
aaba
abab
baba
ababa
bababa
bbabaa
bbbabb

7.contengan la cadena “ba” dos veces
root@debian:~# cat expr_reg_1.txt | grep -E ‘(ba){2}’
baba
ababa
bababa  < este se filtro :p
bbabaa

________________
Nicolas tech-nico.com

Resolver “Zone expired | unexpected rcode (SERVFAIL)” en Bind9

Hoy me ocurrió que luego de un mal apagado del servidor, había dejado de resolver mis zonas DNS. Mirando el SYSLOG note el error: “zone tech-nico.com.ar/IN: expired“.

Oct 16 16:12:47 www named[11730]: zone tech-nico.com.ar/IN: expired
Oct 16 16:12:47 www named[11730]: zone 114.58.200.in-addr.arpa/IN: expired
Oct 16 16:12:48 www named[11730]: zone tech-nico.com.ar/IN: refresh: unexpected rcode (SERVFAIL) from master 200.58.114.78#53 (source 0.0.0.0#0)
Oct 16 16:12:48 www named[11730]: zone 114.58.200.in-addr.arpa/IN: refresh: unexpected rcode (SERVFAIL) from master 200.58.114.78#53 (source 0.0.0.0#0)
Oct 16 16:13:36 www named[11730]: zone 114.58.200.in-addr.arpa/IN: refresh: unexpected rcode (SERVFAIL) from master 200.58.114.78#53 (source 0.0.0.0#0)
Oct 16 16:13:38 www named[11730]: zone tech-nico.com.ar/IN: refresh: unexpected rcode (SERVFAIL) from master 200.58.114.78#53 (source 0.0.0.0#0)

Lo resolvi cambiando el serial code en todas las zonas; Ejemplo: /etc/bind/tech-nico.com.ar

$TTL 3600
tech-nico.com.ar.     IN      SOA     dns1.tech-nico.com.ar. root.tech-nico.com.ar.       (
                        2011101610  ;  serial number

Donde “2011101610″ es formato YYYYMMDDXX. YYYY= año MM=mes DD=dia y XX=Numero de revisión.

_____________________
tech-nico.com 

Servidor de archivos en Debian 6 (Samba)

Algo que siempre nos va a venir al pelo es la configuración del Samba para compartir archivos en un Grupo de Trabajo. Lo publicamos como ayuda de memoria.

Tarea: compartir 2 carpetas en el grupo TECHNICO. Cada carpeta pertenece a un usuario distinto.

1) Vamos a instalar los paquetes del Samba:

# apt-get install samba samba-common smbclient samba-doc smbfs

2) hacemos un backup del archivo de configuracion.

# cp  /etc/samba/smb.conf   /etc/samba/smb.conf.original

3) Instalamos el editor VI y luego entramos a editar smb.conf

#  apt-get install vim
# vi /etc/samba/smb.conf

 #========= Global Settings ==============
[global]
workgroup = TECHNICO 

##### Authentication ######
## descomentar la siguiente linea.
##(Es para poder loguearnos con las cuentas de linux)
security = user 

 #### al final del archivo agregamos ###

[cattaneo]
 comment = bienvenido
 path = /home/samba/cattaneo
 browseable = yes
 read only = no
 valid users = cattaneo

[deepdish]
 comment = hola
 path = /home/samba/deepdish
 browseable = yes
 read only = no
 valid users = deepdish 

USO DEL VI Editor
a) Para editar presionan la letra “i” o la tecla <insert>. Luego para finalizar de editar <esc>
b) para guardar y salir del vi:  escriben ‘ : ‘  (dos puntos); aparecera un path para escribir.
c) Escriben ‘wq’  y presionan <Enter> (w de write y q de quit). Con esto ya deberian estar nuevamente en el path de linux.

4) Creamos usuarios de sistema (sin shell ni directorio personal) y de samba. (va a pedir las contraseñas usar la misma en adduser que en smbpasswd).

# adduser –shell /bin/false –no-create-home cattaneo
# adduser –shell /bin/false –no-create-home deepdish
# smbpasswd -a cattaneo
# smbpasswd -a deepdish

5) Creamos carpetas y permisos (en este caso le doy permisos totales 777)

# cd /home
# mkdir samba
# chmod 777 samba
# cd samba
# mkdir cattaneo
# mkdir deepdish
# chmod 777 cattaneo/   &&  chmod 777 deepdish/
# chown cattaneo:cattaneo cattaneo/
# chown deepdish:deepdish deepdish/

6) reiniciamos el servicio Samba con:

# /etc/init.d/samba restart

Fuente: Curso de Linux Clase 14 Parte II

_______________
tech-nico.com/blog
nicolas daitsch

“Plan Social” de Internet en La Pampa (Fibra Óptica del Gobierno)

El martes 2 de Agosto, estuvimos presentes junto a varias Cooperativas en las oficinas de la FEPAMCO (Federación Pampeana de Cooperativas). La reunión nos convoco para hablar sobre el “Plan Social”, (uno de los 2 planes de internet que quiere impulsar el gobierno en todos los pueblos que están conectados a su fibra óptica).

Entre las Cooperativas presentes estaban: Cooperativa de Santa Rosa, Jacinto Arauz, San Martin, Intendente Alvear, Realico, Victotica, Winifreda, Guatrache, y otras. (de 15 Cooperativas que conectan a la fibra del acueducto del colorado).

El “Plan social” consiste en U$S 40,00 + IVA por Mega para cada Cooperativa, con la condicion de que se reparta 1 Mb en 20 personas. (Relación bastante complicada). Y $ 50 (IVA inc) al cliente final. Estos costos ya fueron divulgados por el mismo gobernador hace ya un tiempo.

Abel Argüello, presidente de la FEPAMCO dijo en el Diario La Arena:

“Los números que nos dio el gobierno cierran para algunas cooperativas pero para otras no, y esto es porque tenemos realidades muy diferentes, no hay dos cooperativas iguales”, aclaró. Algunas variables que determinan esos matices son la cantidad de usuarios, la dispersión de ellos -en unos casos la cooperativa provee a una única localidad, y en otros a varias-, y el tipo de conexiones -por cable o inalámbrica-, entre otras.

El negocio cierra teniendo en cuenta cuanto paga hoy en dia cada una de las Cooperativas el Mb en telefonica o telecom. Hay cooperativas que lo están consiguiendo a U$S 50,00 el Mb. Bien, entonces esta claro que a esa Cooperativa el plan Social No le Sirve (dicho plan va a autocompetir con sus planes actuales con 1 Mb que de Mega solo tiene el nombre). Pero si rechazan la propuesta, el gobierno se la da a un privado.
Para otras cooperativas el costo del mega ronda en los U$S 300,00 y efectivamente el plan social podría ser una salvación.

Fuentes: reunion-fepamco-fibra-optica-plan-social

_________________
Nicolas  www.tech-nico.com/blog

Flash CS3: Arma tu propio Datagrid con Tooltips

Después de tanto tiempo sin postear, me decidí por traerles un Datagrid (Flash) que tuve que armar en un apuro cuando necesitaba terminar uno de mis trabajos. La aplicación era muy sencilla: Imprimir datos de un Stored Procedure de SQL Server, por medio de un archivito en ASP, que parseado por Flash mostrara datos en pantalla.

Y aquí fue donde se presentaron los contratiempos: Mostrar los datos en un Datagrid puede parecer algo sumamente sencillo. Pero, en mi caso, al ser tanta la cantidad de columnas que debía mostrar, si quería lograr algunos detalles como por ejemplo 1 tooltip, (o seleccionar el ultimo registro con otro color), se tornaba algo bastante inflexible.

El Datagrid nativo de Flash sinceramente me hizo perder bastante tiempo y no logre hacer nada de lo que quería. “Llenar el datagrid fue fácil, el resto imposible :p”. Supuse que alguien tenia que haber armado algo en la red. Pero no encontre nada.

Aqui va el datagrid creado.

Es bastante mas liviano pero a la hora de configurarlo, (al no ser un componente), hay que modificar mucho codigo.

A Futuro: Le falta pulir muchas cosas: Scroll vertical y horizontal y/o paginacion. Y armarlo como componente.

Creo que el uso es bastante puntual. Pero seguramente mas de uno ha perdido tiempo. Enjoy!.

Descarga de archivos

___________________

nicolas Tech-nico.com/blog

Las 10 reglas de marketing Online de Brian Clark

Algo que lei en maestrosdelweb.com (y realmente me encanto para tenerlo siempre presente), es una nota que le hicieron a Brian Clark, el CEO de copyblogger.

Una frase para destacar:

Enfócate en ellos primero (tus clientes) y luego, obtendrás todo lo que quieras de regreso.

10 Reglas del marketing Online

  1. Diferencia Ganadora: La diferencia capta mayor atención de los usuarios que lo común.
  2. No vendas…Enseña: “Vender es sólo educar a la gente sobre los beneficios de hacer negocio contigo.”
  3. Contenido de piedra Angular: Tu contenido debe tener una base sólida de desarrollo, “tu contenido de piedra angular no sólo debe ser estratégico, debe proporcionar valor fresco e intenso.”
  4. Encabezados y Ganchos: No importa el tema que desarrolles haz que tu encabezado sea interesante, “asesino” y tenga gancho para llamar la atención de tus lectores.
  5. Gana amigos para influenciar a la gente: Ten amistades con personas que te ayuden en la búsqueda de reconocimiento, que puedan promover tu contenido utilizando redes sociales para llegar a más lectores.
  6. El dinero está en la lista: Este dicho común en publicidad se resume en: “Hacer que la gente se registre y te preste atención a lo largo del tiempo es la clave para la construcción de autoridad… y para vender algo en el futuro.”
  7. El SEO importa: Dominar el tema de SEO es importante si buscas posicionarte, recuerda que: “Un contenido de mala calidad con una buena base y comprensión de SEO seguramente logrará posicionarse.”
  8. El código que Google ama: Busca que el código de tu sitio web esté bien construido y sea amigable.
  9. El diseño hace el Sitio: El contenido es importante en un sitio web pero el diseño es lo que atraerá a más lectores.
  10. Cuida a tu Tribu: Luego de convertirte en “líder” de muchos seguidores preguntate: “¿Qué tipo de líder serás?” recuerda: “trata bien a tu tribu, y la autoridad te servirá bien”.

Puedes leer la entrevista completa de Brian Clark de Copyblogger en MaestrosDelWeb

____________
Nicolas Daitsch
tech-nico.com