Cómo hacer un Hello World! en distintos lenguajes de programación.

El Hello World es un ejercicio básico de programación. Casi en cualquier lenguaje de programación que estudies empezarás en la primera lección programando uno. Aquí te dejo diversos ejemplos en distintos lenguajes
, lo que además te permitirá ver algunas de las pequeñas diferencias que hay entre ellos.

ASP:

Response.Write "Hello World!" 

Script de Bash:

#!/bin/bash
echo "Hello, World!" 

C:

#include 
main(){
  printf ("Hello World!\n");
}

C++:

#include 
using namespace std;
void main(){
  cout << "Hello World!" << endl;
}

C#:

using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");            
        }
    }
}

Java:

class hellWorldJava{
  public static void main(String args[]){
    System.out.println("Hello World!");
  }
}

Javascript:

window.alert( 'Hello, world!' );

Objective C:

#import 

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
    }
    return 0;
}

Perl:

#!/usr/bin/perl
print “Hello World.\n”;

PHP:

echo "Hello World!";

Script de Powershell:

$strString = "Hello World"
write-host $strString

Python:

print "Hello, World!"

R:

print("Hello World!", quote = FALSE)

Ruby:

puts 'Hello world'

Expresiones regulares en Javascript para validar fecha u hora.

Vamos con una entrada rápida en Javascript. Ya hace años que revisamos el tema de las expresiones regulares, pero hoy vamos a ver un ejemplo concreto ¿Cómo hago una expresión regular que me valide un formato de fecha dd/mm/aaaa?

Pues sería esta:
/^\d{1,2}\/\d{1,2}\/\d{2,4}$/

Ok ¿Y como valido un formato de hora tipo hh:mm:ss? Pues con esta:
/^(0[1-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$/

Comandos de red obsoletos en Linux y sus reemplazos

Aunque todavía son muy usados y muchas versiones de Linux, la mayoría, todavía les dan soporte, la realidad es que los comandos ifconfig, netstat, arp, iwconfig, iptunnel, nameif, y route están ya considerados obsoletos. El paquete net-tools, que contenía la mayoría de ellos, lleva tiempo sin mantenimiento y ha sido reemplazado por iproute2.

Veamos una lista con estos reemplazos:

  • arp: ha sido reemplazado por ip n
  • ifconfig: hoy por hoy puede ser sustituído por ip a , por ip link o por ip -s
  • iptunnel: ha sido reemplazado por ip tunnel
  • iwconfig: ha sido reemplazado por iw
  • nameif: hoy por hoy puede ser sustituído por ip link o por ifrename
  • netstat: hoy por hoy puede ser sustituído por ss, y dependiendo de qué datos quisiéramos filtrar también por ip route,ip -s link o ip maddr
  • route: ha sido reemplazado por ip r

Ordenación de burbuja en Javascript

El método del intercambio directo, también llamado ordenación de burbuja (bubble sort en inglés), es un algoritmo de ordenamiento extremadamente sencillo que suele ser un ejercicio clásico en los cursos de programación para entender el uso de los bucles anidados en otros bucles. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Esto hace necesario revisar varias veces toda la lista, hasta que no se necesiten más intercambios. Por ello se trata de un algoritmo lento y poco eficiente.

La implementación de dicho algoritmo en una función de Javascript que recibe un array desordenado sería la siguiente:

//la función recibe un array desordenado
function burbuja(arr) {
 //Primer bucle, recore todo el array
 for (var i = 0; i &lt; arr.length; i++) {
   //segundo bucle, va ordenando los elementos.
   for(var j=0; j  arr[j + 1]) {
       if(arr[j]>arr[j+1]){
         var el1 = arr[j]; 
         arr[j] = arr[j + 1]; 
         arr[j + 1] = el1;
       }      
     }
   }
  }
  //al acabar la ordenación devulve el array,
  //ahora ordenado
  return arr;
}

Javascript: convertir una cadena CSV en un array.

Vamos con un tip rápido de Javascript ¿cómo convertimos en un array una cadena de valores separados por comas? (en una entrada antigua hicimos el proceso contrario) Es bastante sencillo lograrlo:

var sabbath = 'ozzy,iommi,bill,geezer';
var sabbath_array = sabbath.split(",")

Basta con usar la función split() pasándole la coma como parámetro para que cree un array con tantas posiciones como valores separados por coma haya en la cadena.

¿Cómo listar todos los puertos a la escucha en Linux?

Vamos con un tip linuxero rápido ¿cómo puedo listar todos los puertos a la escucha en un sistema Linux?:

Basta con el siguiente comando:

$ ss -lntu

Las variables con las que lo invocamos son las siguientes:

  • l – le decimos que solo nos muestre los puertos a la escucha.
  • n – pedimos que se nos muestre el puerto.
  • t – activa el listado de puertos TCP.
  • u – activa el listado de puertos UDP.

CBM: Monitor de red en Ubuntu

CBM es un programa que nos permitirá ver el tráfico de red entre todos los dispositivos conectados en Ubuntu, mostrando las interfaces de red disponibles, los bits recibidos y transmitidos y el total del tráfico.

Para instalar en Ubuntu basta con usar este comando:

sudo apt-get install cbm

Y para ejecutar el programa basta con teclear el comando cbm.

cbm ubuntu

Los controles del programa son los siguientes:

  • Arriba/Abajo: Estas flechas nos permiten seleccionar una interfaz para ver sus detalles
  • b: Cambiar entre bits por segundo y Bytes por segundo.
  • +: Incrementa el retraso en la recarga de datos en 100ms.
  • : Decrementa el retraso en la recarga de datos en 100ms.
  • q – Salir del programa

El Bandcamp de la Quincena: The Brosas – A Terra Nos Olhos

En el mes de junio tuve el blog bastante abandonado porque se me juntaron estudios y trabajo pero ya estamos de vuelta para darle caña a esto. Hacía tiempo que no comentaba discos, pero ya tengo una listilla en el tintero y desde luego que esta pieza de buen rocanrol desde A Mariña no iba a faltar.

De The Brosas ya hablamos más de una vez por aquí y ya comentamos en esta sección su primer disco: rock desenfrenado y macarra en gallego, divertido pero con un innegable compromiso político, con un mensaje abiertamente comunista e independentista, con mala hostia cuando hace falta y con un humor inteligente y retranqueiro cuando salen por ese lado. Se tomaron un tiempo y el grupo estuvo parado muchos meses, pero los dioses del rocanrol nos han escuchado y finalmente están de vuelta, esperemos que para mucho tiempo.

TheBrosas

Aunque puedes escuchar las seis pistas aquí de A Terra Nos Olhos, no está disponible todavía la edición para descarga digital, por lo que si quieres comprar el disco hoy por hoy solo puedes hacerlo en vinilo. Ha sido editado por el mítico sello underground compostelano Lixo Urbano, grabado y masterizado por Hevi en los estudios Laboratório Soyuz y cuenta con un tremendo portadón de Xaime Miranda (al que alguno conoceréis por ser uno de los responsables de videoclips tan brutales como este).

En cuanto al sonido de este trabajo hay que empezar hablando de evolución. A Terra Nos Olhos muestra una evolución respecto a su primera entrega. Si antaño su sonido oscilaba entre nombres como Motorhead, Plasmatics, Zeke, Matanza, The Exploited o los primeros Nashville Pussy con  el tiempo han ido rebajando el nivel de saturación en sus distorsiones, quitando algunos de los elementos más metal y hardcore y acercándose más al punk rock escandinavo de los inicios de bandas como Turbonegro o Hellacopters o hasta de los míticos Dictators de Ross the Boss. Han cambiado, sí, pero de una forma coherente y sin perder su esencia, no por moda sino por simple evolución.

En resumen, A Terra Nos Olhos es un caramelo que no puedes dejar pasar, una  buena pirula de puro rocanrol.

 

LibreOffice Calc: Fórmula para calcular la letra del DNI.

Calcular la letra del DNI es un ejercicio clásico de la programación (al menos en el estado español, claro) y aquí ya revisamos en su día cómo hacerlo con Javascript. Pero algunos no programáis sino que simplemente trabajáis con software ofimático. En ese caso ¿se puede validar un DNI en una hoja de cálculo de Libre Office Calc? Se puede, aquí os dejo una fórmula para Libre Office en castellano:

=MID(«TRWAGMYFPDXBNJZSQVHLCKE»;1+RESIDUO(DERECHA(A1;8);23);1)

Siendo en este caso A1 la celda donde está el NIF almacenado.

Y si, como yo, tenéis el Libre Office en gallego entonces tendréis que traducir el nombre de las funciones, tal que así:

=MEDIO(«TRWAGMYFPDXBNJZSQVHLCKE»;1+RESTO(DEREITA(A1;8);23);1)

Os dejo una captura de cómo quedaría el resultado:
capturacalc

Youtube de calidad: canales con contenidos interesantes (Volumen 1)

A veces da la sensación de que Youtube es una plataforma, literalmente, llena de mierda: por un lado tenemos un montón de contenido irrelevante, que a veces puede ser divertido o entretenido para desconectar un rato pero que realmente no es de gran calidad (que yo soy el primero que mira vídeos graciosos de gatos, ojo, que no podemos estar siempre ejercitando la mente y esta necesita descansar y relajarse). Por otro lado tenemos lo que podemos llamar contenido realmente peligroso, como la pila de zumbados ultraderechistas esparciendo noticias falsas para incitar al odio o para justificar sus comportamientos e inventando conspiraciones absurdas y delirantes, o los zumbados pseudocientíficos diciendo que pueden curar un cáncer con agua con azúcar, pensamiento positivo y ralladura de limón.

Pero, como todo en internet, al final está en la mano del usuario o espectador el darle un mejor uso. Porque en Youtube también hay canales muy interesantes con los que podemos disfrutar de un contenido educativo y formativo. Hoy vamos a ver cuatro de esos canales, y habrá otras entregas con más canales que ya he ido seleccionando.

Langfocus: Empezamos con este canal, con más de medio millón de suscriptores, dedicado a los idiomas. En este canal podremos ver vídeos con curiosidades sobre distintos idiomas explicadas en inglés por Paul, el presentador de todas las entregas.

Minuto de Física: El título del canal es muy descriptivo, ya que se trata de una colección de vídeos cortos donde se explican varios conceptos de la física en castellano, acompañados de unos simpáticos dibujos. Ciencia fácil para todos.

Alfonso Teodoro Pimienta García: En este caso el nombre del canal no nos dirá mucho, pero este hombre tiene una buena colección de vídeos tutoriales sobre cuestiones técnicas de sistemas informáticos, mantenimiento de equipos y redes.

Território Conhecimento: Y vamos a cerrar con un cuarto canal, en este caso un canal brasileño dedicado a la filosofía donde podemos encontrar vídeos en portugués con ponencias y disertaciones de filósofos, profesores o escritores.