Creando un script en Bash con parámetros

En este primer artículo mío, como nuevo colaborador de Somos Binarios, os voy a hablar de Bash. El intérprete de shell script más utilizado. Bash os puede servir para crear pequeños scripts que agilicen el día a día de cualquier usuario de Linux, tanto avanzado como amateur.

¿Qué es un parámetro?

Cuando ejecutamos un programa, en una línea de comandos, los argumentos es lo que el programa necesita para que funcione correctamente, estos argumentos, es lo que se llama oficialmente parámetros.

Un ejemplo claro, cuando hacemos un ls –lia,  ls es el “programa/comando” que ejecuta, y l, i, a, son 3 parámetros que le pasamos al ls para decirle qué opciones y cómo debe ejecutarse esa orden, así como los resultados que queremos obtener con ella.

¿Cómo se ejecuta un código en Bash?

Primero de todo creamos el archivo, por ejemplo, usando un “nano mundo.sh”

En su interior, escribimos en este caso un echo “Hola Mundo” y lo guardamos.

Para ejecutarlo, escribimos en la línea de comando  ./mundo.sh  y nos ejecutará nuestro primer programa.

¿Cómo empiezo un programa que valga la pena?

Queremos hacer un programa, que sirva para algo, estamos cansados de tantos hola mundo, y tantas tablas de multiplicar que al final no nos acaban sirviendo para nada, solo para conocer código, pero queremos ir más allá y aprender a hacer nuestras propios programas con un poco de vida por ellos mismos.

Leer más

Expresiones regulares para validar datos

En este artículo os proponemos una manera muy sencilla y a la vez fácil, de validar datos complejos. Para ello vamos a usar expresiones regulares.

¿Qué son las expresiones regulares?

Básicamente a la hora de validar datos, muchas personas optan por una validación muy laxa y luego si algo sale mal, la culpa es del usuario. Como todos sabemos el usuario, siempre presta atención y nunca mete datos incorrectos, así que para qué preocuparnos.

Hoy os proponemos usar expresiones regulares, que consisten en indicar, el patrón que deben tener los datos para ser válidos.

El concepto expresión regular, no está ligado a ningún lenguaje de programación en concreto, sino que es un concepto del área de la programación. Por lo que la mayoría de lenguajes lo suelen implementar o hay bibliotecas externas que nos permiten utilizarla.

Construyendo los patrones

Para construir los patrones, se hace uso de una simbología que tiene un significado especial, aquí os dejo una tabla con ella:
Las expresiones regulares tiene una sintaxis especial
Por ejemplo con la siguiente expresión regular, podemos validar una IP:

^(([0-2][0-9][0-9]|[0-9][0-9]|[0-9])\.){3}(([0-2][0-9][0-9]|[0-9][0-9]|[0-9]))

Básicamente buscamos un bloque, formado por números del estilo a 2XX,1XX,XX,X siendo X cualquier número del 0 al 9, seguidos de un punto. Este bloque se repite tres veces y luego volvemos a usar el patrón de los números.

Leer más

Hackers de alquiler: Entre lo patético y lo peligroso

La entrada que traemos hoy, nunca debería haberse dado. Es una de esas cuestiones que, sencillamente, rozan lo esperpéntico en el mejor de los casos. Hablamos de los hackers de alquiler y las webs y plataformas que están proliferando dedicándose a poner en contacto a usuarios con “hackers” “profesionales” (Y entrecomillo bien ambos términos, porque no son ni lo uno ni lo otro).

Para empezar, nadie que ofrezca servicios de hacking (entendiéndose como tales, el trabajo de alquiler para tumbar una web, dinamitar una contraseña de correo web de un tercero, infectar un sistema con un virus, etc…) debería llamarse hacker. Ni lo es, ni sabe nada sobre el término, cómo surgió, cuál es la cultura hacker y la filosofía que hay detrás de ese movimiento técnico-intelectual.

Un hacker no es un delincuente y quienes se ofrecen para tales “servicios” son precisamente eso: Delincuentes reales o potenciales, porque cualquiera de dichos trabajos son ilegales, dolosos y nada tienen que ver ni con materia alguna de seguridad informática, ni desde luego, con el sano arte de la curiosidad técnica, la búsqueda de soluciones paralelas, la ingeniería inversa o la localización de puertas traseras para solucionar problemas reales y necesarios. Todo esto SÍ es hacking y ni se oferta como mercancía mercenaria, ni desde luego, se alquila como quien vende productos ilegales en una esquina.

Pero veamos hasta dónde ha llegado el esperpento de esta situación en internet.

El alquiler de hackers en los medios de comunicación

Siempre hubo hackers, crackers y delincuentes siendo contratados por individuos y empresas (la mayoría de las veces en materia de hacking ético y seguridad corporativa), así como por propios gobiernos (ya se conocen los casos de los “ejércitos cibernéticos” que Estados Unidos, Irán, Siria, Corea y China, entre otros, tienen ya operativos y sabe Dios haciendo qué).

Pero hasta no hace mucho, estas actividades de contratación, comunicación y encargos de proyectos clandestinos y delictivos, se realizaban en la Deep Web, alejados de miradas ajenas y, por supuesto, fuera de los cauces comerciales comunes y sin ofertarse de manera abierta para cualquiera.

Pero hace unas semanas el grupo de hackers que se autoproclamó como los causantes del ataque a Sony, pensaron que una vez esta hazaña había adquirido tintes míticos y mediáticos, lo mejor sería rentabilizar su fama técnica. ¿Cómo…? Pues anunciando a los cuatro vientos que sus servicios podían ser contratados y que las cuantías de los mismos dependían del tipo de ataque que se encargara y de la duración que el cliente deseara sobre el mismo. Así que pusieron a disposición del público una web con sus servicios y tarifas.

No… no vamos a redireccionar desde aquí a esa web, porque además de ilícito e ilegal, lo consideramos demencial ya.

Pero sí vamos a pasaros un par de parodias similares que están teniendo lugar hoy en día y que emulan lo anterior, siguiendo el ejemplo de este grupo de hackers que ofrecen sus servicios al mejor postor. Veréis que la cosa puede llegar a ser, cuanto menos, incluso kafkiana.

Leer más

Reconocimiento de voz para tus aplicaciones

Wit.ia es nuestros sistema de reconocimiento de voz

Bienvenidos a esta entrada en la que intentaremos mostrar como se incluye en un ejemplo real, reconocimiento de voz en nuestras aplicaciones o cualquier otro software que desarrollemos por nuestra parte.

Para utilizar este tutorial, vamos a utilizar la API de Wit.ia una start-up de éxito, que hasta hace pocos días solo había llamado la atención al sector de los desarrolladores y a Facebook, quién la acaba de comprar.

Como funciona Wit.ia

Este servicio intenta, llevar el reconocimiento de voz de forma sencilla a cualquier plataforma y software que desarrollemos, ahora mismo soportan todos los dispositivos móviles, clientes webs, aplicaciones programas en C, nuestras Raspberry Pi etc.

Pero no sólo buscan reconocer las palabras que decimos y formar un frase, como otros muchos servicios, sino que intentan analizar esa frase y extraer datos de la misma. Por ejemplo, si nosotros le decimos “hay 50º en Madrid” el nos devolverá:

 

{
  "msg_id": "0b9d437c-cb85-4871-a1d6-993e51de6f26",
  "_text": "hay 50 grados en Madrid",
  "outcomes": [
    {
      "_text": "hay 50 grados en Madrid",
      "intent": "wit_location",
      "entities": {
        "temperature": [
          {
            "type": "value",
            "value": 50
          }
        ],
        "location": [
          {
            "value": "Madrid"
          }
        ]
      },
      "confidence": 0.58
    }
  ]
}

Como se puede ver, nos devuelve el texto, que le hemos dicho, como cualquier software de reconocimiento de voz. Pero luego también nos informa en “entities” de que hay dos entidades:

  • temperatura, de la cual sabemos el valor, que es 50.
  • localización de la cual sabemos el valor que es Madrid.
  • Con una confianza en su predicción del 58% (esto es debido, a que casi no he entrenado el software).

Si queréis ver otro ejemplo, podéis ver el propio que ofrecen los autores del servicio.

Leer más

Optimizando nuestro PC

A medida que nuestro PC lleva un tiempo sin formatearse (los sistemas Windows principalmente), va perdiendo esa agilidad y fluidez que tenía al principio, sobre todo a la hora de encenderse, que puede tardar varios minutos en hacerlo. Si quieres que tu ordenador arranque más deprisa, tan sólo tienes que seguir estos dos pequeños trucos.

Elimina programas para ejecutarse al inicio

Aunque parece una tontería, siempre es la mejor solución. Es bueno revisar esta opción cada mes, porque muchos programas al actualizarse se vuelven a colocar en el inicio de Windows y siempre son molestos.

1. Presiona las teclas Ctrl+Alt+Supr para entrar en el administrador de tareas de Windows. Una vez hecho esto, dirígete al apartado de Inicio:

inicio

 

Aquí aparecen los programas que arrancan en el momento que Windows se inicia. Además, se puede ver el impacto que provocan al iniciarse, es decir, si a tu PC le va a costar mucho o poco arrancar estos programas. Si tienes programas como por ejemplo el Ares, Google Drive, CCleaner, uTorrent o programas que sólo ejecutas de vez en cuando marcados para que se ejecuten al iniciar tu ordenador, lo mejor será deshabilitarlos seleccionando el programa que deseas deshabilitar y haciendo click en el botón localizado en la parte posterior derecha de la ventana. Con ello, ganarás algo de fluidez en el inicio.

Leer más

Como crear una web 9: La tipografía

La tipografía es muy importante para dar una sensación coherente con el contenido que se transmite

La tipografía es una parte bastante importante de cualquier documento escrito y en las páginas web es un factor muy a tener en cuenta, ya que el uso de un tipo de letra u otro, le da a nuestra página un aspecto más formal o incluso posibilita la lectura en cualquier dispositivo o la impide.

 

Como yo no soy un experto en este tema, os traigo un pequeño manual para gente que no es experta en diseño, donde se detalla todos los conceptos importantes sobre la tipografía y el efecto que tiene cada uno de los tipos de letras (está en inglés pero tiene más imágenes que texto, así que se puede entender fácilmente).

 

 

Leer más

El tipo de software que usan los hackers

Hoy vamos con un post desmitificador para algunos y quizá inspirador para otros. Queremos desmontar la imagen generalizada que se tiene de un hacker como una raza distinta, una especie aparte que desarrolla o emplea herramientas informáticas ultrasecretas y sofisticadas para cometer delitos o acceder por puertas traseras a sistemas ajenos.

Y aunque de todo hay en la viña del Señor y, por supuesto, hay muchos especialistas que se amoldan perfectamente a esta definición presente en el inconsciente colectivo de la gente, querría dejar claro que un hacker no es más que una mente inquieta, no delictiva (si comete un delito no es un “hacker” es un delincuente y punto); Una persona que no para de aprender, de estudiar problemas o carencias (a veces se seguridad, a veces de cualquier tipo) y un enamorado de la tecnología que se plantea a cada paso cómo se podrían hacer las cosas de manera diferente.

Cuando esta manera de pensar te lleva a encontrar una puerta trasera en cualquier sistema (informático o no) has hackeado ese sistema. Has encontrado una forma de hacer algmo mejor, de manera distinta y, en la mayoría de los casos, insospechada incluso para quienes crearon ese sistema, producto, servicio o arquitectura.

Tú puedes ser un hacker si te especializas en algo o te obsesionas positivamente con un proyecto, modelo, sistema, cosa o circunstancia que estás convencido/a de que se puede hacer mejor de otro modo, para que sea más beneficioso, abierto y libre para más gente, que como se encuentre actualmente.

hacker utilizando software

Instrumentos con posibles usos hacker o de seguridad

Como muestra ilustrativa de lo que defiendo hoy en este post, quería (como ya he hecho en otros artículos míos aquí en Somos Binarios) enseñaros que muchas herramientas útiles en materia informática, están dispoibles en el mercado, en internet o en software abierto, para que se puedan usar de manera alternativa. Es decir, con otros fines… Y que cada cual elija esos fines, sin que desde esta plataforma nos hagamos responsables de lo que cada cual hace con la información y el aprendizaje que pueda encontrar aquí.

Un hacker, como decimos, no sólo es una persona que piensa diferente y crea o descubre métodos nuevos y distintos de hacer las cosas, sino que también emplea herramientas más o menos comunes y que se crearon para un fin determinado, de manera que con ellas pueda hacer cosas para las que, no fueron pensadas dichas herramientas.

Leer más

Robots.txt ayudando a Google a indexarnos

El robots.txt nos permite indicar el contenido que queremos indexar

Una de las cosas que muchas veces se suelen dejar para otro momento y luego al final no se realizan es la configuración del archivo robots.txt un fichero que no está destinado para nosotros o nuestros usuarios, pero sí para los buscadores y siempre nos interesa facilitarles el camino.

¿Cómo indexa un buscador?

Aunque este no es un artículo centrado en la indexación, podemos decir que un buscador, realiza un seguimiento similar al de un usuario. El buscador nos puede visitar, bien porque estamos dados de alta para que nos visite cada cierto tiempo, bien siguiendo un enlace de otra página que le lleva hasta la nuestra.

Una vez que llega a nuestra página, lo normal es que rastree la propia página en la que ha entrado (por ejemplo, este artículo) y alguna más siguiendo los enlaces que encuentra en el artículo actual. Este proceso es complejo y muy costoso en tiempo para el buscador, así que buscan la ayuda de los administradores de páginas para facilitarles el camino.

Leer más

WhatsApp alcanza los 700 millones de usuarios activos

WhatsApp, actualmente la aplicación de mensajería móvil más utilizada en el mundo, ha llegado a los 700 millones de usuarios activos, llegándose a enviar 30 mil millones de mensajes al día.

A pesar de la competencia, sigue manteniéndose como líder indiscutible. Quizás gran parte de su éxito (por no decir todo) fue el llegar al mercado la primera. Actualmente, hay otras muchas aplicaciones de mensajería disponibles, como pueden ser Telegram, Line e incluso Facebook Messenger que se ha unido hace poco tiempo.

Leer más

Google Chrome y Android: Una pareja peligrosa e insegura

Todo comenzó con un regalo de Reyes Magos, una tablet. Ha sido genial, porque además del regalo, he podido constatar una deficiencia o agujero en el navegador Google Chrome y el sistema operativo Android, que merece la pena ser publicada para que se conozca y, sobre todo, los usuarios puedan tomar medidas, porque el agujero es grande y deja tu información y acceso a cuentas de email y demás servicios online, totalmente abiertos a terceros.

Como he dicho, mi flamante tablet nueva viene cargada con el sistema operativo Android, concretamente la versión 4.4.2. El caso es que cuando se estrena uno de estos dispositivos, los buenos de Google (que son los encargados del desarrollo de Android y del navegador Chrome) te “ayudan” a configurar la tablet o el Chrome PC, y te piden unos minutitos de tu tiempo para que dejes activado tu cuenta de Google, o en su defecto, que te crees una.  Esto, en sí mismo, es práctico, dado que teniendo una cuenta de referencia en Google, tienes acceso a tus correos electrónicos, sesiones favoritas en Youtube, todos los datos y archivos que tengas en Google Drive y demás. Así se nos vende, y así nos lo comemos.

Android y Chrome los productos de Google

Lo cierto es que también es posible que, con tal de empezar cuanto antes a estrenar tu flamante tableta, teléfono móvil nuevo o portátil Chrome recién regalado, introduces tu cuenta de correo de Gmail y, con ello, todo es rápido y suave. En teoría (y en la práctica) todo se sincroniza y un maravilloso universo de comodidad se abre ante tus ojos.

Compatibilidad total de los productos de Google: Agujero de seguridad

El caso es que los de Google hacen muy bien su trabajo. Quizá, incluso, demasiado bien. Como de ellos es Android, y también de ellos Gmail, Drive, Youtube y el navegador Chrome, todo quedará inmediatamente coordinado entre sí para que tu experiencia de uso y el acceso a tus archivos, correo e información, estén siempre a un clik de distancia para ti.

El problema es que tanta sincronicidad es NOCIVA para tu seguridad y la de tu información o datos.

Veamos el caso en concreto que me llevó a que saltasen las alarmas y que es lo que ha dado lugar a este post.

Leer más