Category Archives: A través del espejo

Free cloud storage

Buenas

Buscando por la red información sobre almacenamiento cloud gratuito, he encontrado un artículo con una comparativa que me ha parecido muy buena. Aquí tenéis el enlace y un breve resumen del mismo.

Enlace al artículo publicado en Network Worldhttp://www.networkworld.com/news/2012/092512-free-cloud-262764.html.

En resumen el artículo dice lo siguente:

  • Amazon Cloud Drive (5GB gratis): básicamente para datos de Kindle, compras realizadas en Amazon y con una política de acceso bastante “chunga”; Amazon puede acceder a los datos cuando les rote. Por eso, no está teniendo mucho éxito.
  • iCloud (5GB gratis): Si tienes un dispositivo Manzanita, guay!
  • Box (5GB gratis): Muy parecido a Dropbox, dispone de encriptación SSL (256bits) behind the firewall. Permite editar algunos ficheros mediante Zoho.
  • Dropbox (2GB gratis): SSL para cuentas Pro y Team. Sin limite a la hora de subir archivos desde la aplicación de escritorio en Güindows. Puedes conseguir capacidad extra haciendo varias pijadas; invita a amigos, vincula la cuenta de Feisbuk, etc.
  • Google Drive (5GB gratis): Los documentos de Google Docs, o convertidos a Google Docs no cuentan, 1GB en fotos y vídeos alojados en Picassa y todos lo que quieras (vídeos limitados a 15 min) en Google+. Límites: 2MB para archivos convertidos y 10MB para ficheros No-Google.
  • MediaFire (50GB gratis): Sólo dispone de acceso a través de aplicación de escritorio para GüindowsManzanita y el Sr. Tux. Para la versión gratis: 200MB de límite en las subidas y publicidad.
  • Microsoft Sky Drive (7GB gratis): Límite de 300MB en las subidas a través de la web y 2GB en las aplicaciones de escritorio. El Sr. Tux no tiene aplicación 🙁
  • MiMedia (7GB gratis): Los ficheros están encriptados. Para subir grandes volúmenes de datos, la compañía te envía a casita un disco duro que luego se lo devuelves… un poco extraño la verdad. Supongo que esta opción será para cuentas PRO, etc.
  • SpiderOak (2GB gratis): Ofrece encriptación al guardar ficheros y en la transmisión. No guarda contraseñas de usuarios. Según ellos mismos, son los más seguros.
  • SugarSync (5GB gratis): Puedes llegar a los 32GB si haces chorradas al estilo Dropbox.
  • Symform (hasta 10GB gratis): A parte de su cloud, utiliza almacenamiento distribuido; eso quiere decir que si tú cedes espacio al cloud, aumentas el limite asignado que tienes. Ofrece encriptación.
  • Syncplicity (2GB gratis): No hay límites en número de ficheros y tamaño. También ofrece encriptación en transmisión y al guardar ficheros.

Hasta aquí, un resumen de lo que dice el artículo. No he contrastado la información y el artículo es de septiembre de 2012.

Happy clouding!

¿Qué me hago de tupper?

No me he vuelto loco, pero seguro que después de horas picando código, repasando diseños técnicos, cerrando Jira’s y moviendo post-its de lugar. Notas que tu barriga empieza a ronronear, y de repente te acuerdas, de esa ensalada cutrecilla hecha a última hora que te espera en el tupper 🙁

¡¡¡Txan… no sufras más!!! Si quieres recetas de comida que puedas hacer facilmente y que quepan en tu tupper; tu página web es ¿Qué Me Hago De Tupper? QMHDG (@QmehagodeTupper)… serás la envidia del comedor 😛

#SpanishRevolution

¡Revolución ya! Es hora de despertar. La pesadilla debe acabar y empezar a vivir un cambio. Un revolución de vez en cuando es sana para revisar que las cosas se están haciendo bien y mejorar las que se están haciendo mal. Nuestros políticos, que en su día se revelaron, se han apoltronado en sus puestos y únicamente hacen acto de ostentación de un cargo que deberían ejercer. Los estados están secuestrados por los mercados que han sabido captar – con cantos de sirena – a quienes deberían gobernar, más pendientes de sus sueldos vitalicios y su “futuro” en el sector privado que en la difícil tarea de gobernar un País. Poderoso caballero es Don dinero y eso las grandes multinacionales lo saben.

Pensar si realmente somos libres. ¿Podemos dejar nuestro trabajo cuando queramos? No. A través de nuestro capricho nos han encadenado a créditos hipotecarios, créditos para estudiar, créditos para irnos de vacaciones, créditos para todo. Hemos vendido nuestra vida a los mercados que a través de los bancos y de nuestros políticos, nos han puesto los grilletes para que esta sociedad siga esclavizada al servicio de unos pocos sin escrúpulos.

Nosotros seguramente ya no tenemos salvación, estamos condenamos a pagar nuestra codicia. Pero todavía podemos salvar a nuestros hijos, nietos y futuras generaciones. Muchos imperios antes han caído y muchos lo harán en el futuro. Y ellos se levantarán,  pero pensado que nosotros también. Y así iremos completando ciclos vitales hasta el fin de tiempos.

Os dejo con el final de una de las mejores películas que he visto. Y dónde el guionista y el director ya nos hacían un guiño de como resetear esta Democracia 1.0 e instalar la 2.0

Microservices for Twitter… #givemeasearch

GiveMeASearch is a microservice for do searches (using Google) from the world of Twitter. Using it is very simple. Add the hashtag #givemeasearch in a tweet – or retweet – and the microservice will do the search, of the text, in Google y after will return a mention or direct message (if you follow GiveMeASearch) with the firsts two links of the result of the search.

Microservicios para Twitter… #givemeasearch

GiveMeASearch es un microservicio de búsquedas (a través de Google) para el universo Twitter. Su utilización es bien sencilla. Al añadir el hashtag #givemeasearch en un tweet – o retweet – el microservicio realiza la búsqueda, del texto, en Google y devuelve vía mención o mensaje directo (si sigues a GiveMeASearch) los enlaces de las dos primeras entradas.

Three useful or not… Java functions

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int heavy_decimal_count(int a, int b) {
    int result = 0;
    Hashtable<string, Double> range = new Hashtable<string, Double>();
 
    char[] number;
    double avg;
    for (int i = a; i < = b; i++) {
        number = String.valueOf(i).toCharArray();
 
        avg = 0.0;
	for(int j = 0; j < number.length; j++) {
	    avg += Integer.parseInt(String.valueOf(number[j]));
	}
 
        avg /= number.length;
	if (avg >= 7.25)
	    result++;
 
        range.put(String.copyValueOf(number), Double.valueOf(avg));
    }
 
    return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int dominator(int[] A) {
    int result = -1;
 
    Hashtable<string, Double> occurrence;
    Hashtable<integer, Hashtable<string, Double>> indexes = new Hashtable<integer, Hashtable<string, Double>>();
 
    for (int i = 0; i < A.length; i++) {
        if (indexes.containsKey(Integer.valueOf(A[i]))) {
            occurrence = indexes.get(Integer.valueOf(A[i]));
            occurrence.put("OCCURRENCES", occurrence.get("OCCURRENCES").doubleValue() + 1);
            occurrence.put("DOMINATOR", (occurrence.get("OCCURRENCES").doubleValue() + 1) / A.length);
            occurrence.put("LASTINDEX", Double.valueOf(i));
        } else {
            occurrence = new Hashtable<string, Double>();
            occurrence.put("OCCURRENCES", 1.0);
            occurrence.put("DOMINATOR", 1.0 / A.length);
            occurrence.put("LASTINDEX", Double.valueOf(i));
        }
        indexes.put(Integer.valueOf(A[i]), occurrence);
    }
 
    Iterator<hashtable<string, Double>> it = indexes.values().iterator();
    while (it.hasNext()) {
        occurrence = it.next();
	if (occurrence.get("DOMINATOR").doubleValue() > 0.5) {
            result = occurrence.get("LASTINDEX").intValue();
        }
    }
 
    return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int amplitude(int[] A) {
    int result = -1;
    int newVal = 0;
 
    for (int i = 0; i < A.length ; i++) {
        for (int j = 0; j < A.length; j++) {
            if (j == i)
                continue;
            newVal = Math.abs(A[i] - A[j]);
            if (newVal > result)
                result = newVal;
        }
    }
 
    return result;
}

Tetris y C ofuscado

Desde Bitelia podemos leer que “detrás” de Micro Tetris podemos encontrar las 19 líneas

long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K
=0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
1,12,11,-12,-1,1,2,-12,-1,12,13,-12,12,13,14,-11,-1,1,4,-13,-12,12,16,-11,-12,
12,17,-13,1,-1,5,-12,12,11,6,-12,12,24};u(){for(i=11;++i&lt;264;)if((k=q[i])-Q[i]
){Q[i]=k;if(i-++I||i%12&lt;1)printf("33[%d;%dH",(I=i)/12,i%12*2+28);printf(
"33[%dm  "+(K-k?0:5),k);K=k;}Q[263]=c=getchar();}G(b){for(i=4;i--;)if(q[i?b+
n[i]:b])return 0;return 1;}g(b){for(i=4;i--;q[i?x+n[i]:x]=b);}main(C,V,a)char*
*V,*a;{h[3]=1000000/(l=C&gt;1?atoi(V[1]):2);for(a=C&gt;2?V[2]:"jkl pq";i;i--)*n++=i&lt;
25||i%12&lt;2?7:0;srand(getpid());system("stty cbreak -echo stop u");sigvec(14,v,
0);t();puts("33[H33[J");for(n=f+rand()%7*4;;g(7),u(),g(0)){if(c&lt;0){if(G(x+
12))x+=12;else{g(7);++w;for(j=0;j&lt;252;j=12*(j/12+1))for(;q[++j];)if(j%12==10){
for(;j%12;q[j--]=0);u();for(;--j;q[j+12]=q[j]);u();}n=f+rand()%7*4;G(x=17)||(c
=a[5]);}}if(c==*a)G(--x)||++x;if(c==a[1])n=f+4**(m=n),G(x)||(n=m);if(c==a[2])G
(++x)||--x;if(c==a[3])for(;G(x+12);++w)x+=12;if(c==a[4]||c==a[5]){s=sigblock(
8192);printf("33[H33[J33[0m%dn",w);if(c==a[5])break;for(j=264;j--;Q[j]=
0);while(getchar()-a[4]);puts("33[H33[J33[7m");sigsetmask(s);}}d=popen(
"stty -cbreak echo stop 23;sort -mnr -o HI - HI;cat HI","w");fprintf(d,
"%4d from level %1d by %sn",w,l,getlogin());pclose(d);}

que en su día valieran para ganar el concurso de código C ofuscado. Según la publicación el código es perfectamente compilable y funciona correctamente.

Demuestran cómo interceptar llamadas GSM (2G) con una estación base casera

Armado con un equipamiento con un coste de 1.500 dólares compuesto por un ordenador, unas antenas y software libre, hizo que 30 teléfonos se conectaran a su sistema, y registró (y grabó) un total de 17 llamadas, tras deshabilitar el cifrado en la red.

Leer el post entero en BandaAncha: http://bandaancha.eu/articulo/7400/demuestran-interceptar-llamadas-gsm-estacion-base-casera

Google libera Closure, la librería JavaScript detrás de Gmail y Gmaps

Leyendo los feeds de javaHispano me he encontrado esta noticia del pasado día 10 de Noviembre de 2009. Google utiliza Closure en sus aplicacions GMail y GMaps. Esta libreria está formada por un compilador que optimiza y comprime el codigo JavaScript (ademas de comprobar la sintaxis y errores varios), una librería para manipular DOM, comunicaciones con servidor, creación de animaciones, procesado de texto, etc.; en definitiva una librería para manipular UI. Y por ultimo, la gente de Googleplex, nos brinda un sistema de plantillas para automatizar la creación dinámica de HTML a través de Java y JavaScript.

Go Programming Language

Leo en ComputerWorld que Google ha lanzado una versión beta de un nuevo lenguaje de programación, que han llamado Go. Aunque en una fase muy madura, el nuevo lenguaje ya se sustenta sobre 6 pilares a tener en cuenta: simple, fast, safe, concurrent, fun y open source. Según sus creadores Go mejora la forma de gestionar las dependencias y se ha construido sobre el paradigma de la programación concurrente, lo que lo hace muy apropiado para trabajar con múltiples procesadores sin tener que hacer ningún esfuerzo extra por parte de los programadores.

Según sus creadores es un lenguaje muy rápido de compilar y en el tiempo de ejecución (a la altura de C/C++). A diferencia de otros lenguajes modernos, Go dispone de punteros (no aritméticos), garbage collector y acceso seguro a memoria.

Tendremos que ver como reacciona la comunidad y seguir de cerca a este pequeño diablillo que se suma al conjunto de items que está lanzando Google para crear su plataforma única y universalizarla. Será el anillo forjado para el Gran Ojo para dominarnos a todos? Estaremos atentos.

Actualizacion!

Leo en Slashdot que desde 2003 existe el lenguaje de programacion Go! creado por Francis McCabe y Keith Clark, y que sigue la rama de Prolog.