Alters

Word.zip? Zip.word

Muy buenas!

Hoy os traigo una cosilla chula, a ver qué os parece.

Vamos a ver qué tienen en común los archivos zip y el ahorrar unos megas de disco duro cuando enviamos un email a un colega.

¡Vamos allá!

Sigo vivo!

Hola!

Sé que han pasado más de dos años desde la última entrada... y que llevo mucho tiempo en el que apenas escribo entradas en el blog (sigo escribiendo, pero en otros mundos :-)).

Hoy os traigo una entrada cortita, con algunas noticias.

  • ¡He escrito un libro de COBOL
  • Estoy a punto de terminar un nuevo módulo criptográfico de COBOL, lo que significa... nuevas entradas (eso espero!)
  • Terminé la arquitectura de BigInteger, así que espero acordarme y escribir al respecto.
  • Conseguí hacer una aportación válida para un FIPS (Federal Information Publication System, un organismo del gobierno de USA relacionado con los estándares criptográficos).


Espero poder estar más activo por aquí!

Hasta la próxima!


¡Escepticismo Ilustrado Decadente!

Buenas!

Supongo que el título no dice mucho, pero hoy es el cumpleaños del blog! :-D

Nada más y nada menos que una década... quién me lo iba a decir...


Es cierto que he bajado muchísimo el ritmo de publicaciones (y no es algo que me guste, pero tampoco encuentro la manera de retomar este viejo hábito), pero me gusta entrar de vez en cuando y revisar que mis entradas todavía sirven para que algunos escépticos aprendan una o dos cosas de vez en cuando.


En esta entrada me gustaría echar la vista atrás y rememorar esta última década, ¿os apuntáis?

¡Vamos allá!


Schweppes Sorting Algotihm - Conceptos básicos

Buenas a todos y todas!

Tras el pequeño parón, volvemos a la carga... y mientras termino de pulir BigInteger en versión CUDA (ya queda poco!), vamos a ver un pequeño algoritmo de ordenado que me vino a la mente, después de estudiar una curiosa paradoja.

¡Vamos allá!


Estrenamos Twitter!

 Buenos días!

¿Como va el calor? En breve entramos ya en septiembre, lo que significa que ya se acaba! (se nota que odio el verano?)

Yo sigo aquí, peleándome con CUDA, a la vez que he dejado "Ready to test" la versión 4.0 de BigInteger...

En fin, hoy os traigo una entrada cortita, más bien un anuncio...

¡He abierto un Twitter para el blog!

Creo que ya iba siendo hora de establecer un canal de comunicación más directo con los lectores, y qué mejor manera, ¿no?

Desde aquí podéis dar conmigo siempre que queráis :-D


¡Nos vemos!

Felices 100 años!

Buenos días!

Este pasado 13/08, el blog cumplió sus primeros... ¡100 años! 

Sí, usando código binario... son 100, aunque en realidad son... ¡10 años!

Os he vuelto a engañar... en código octal son 10 años. Realmente, el blog cumple 8 añitos :-)


Así que hoy os voy a traer 8 curiosidades varias, para cambiar un poco de tercio.


  1. Si aplicamos la norma "a / a = 1", obtendremos que "0 / 0 = 1".
  2. Según la lógica formal, en un queso tipo emmental, "cuanto más queso, menos queso".
  3. Tenemos el mismo resultado calculando "2 + 2", que "2 * 2", y que "2^2".
  4. El lenguaje COBOL fue impulsado por el ejército estadounidense, particularmente por una mujer (aún cuando siempre las han mostrado como "auxiliares" en esa época, es bien sabido que siempre han sido parte esencial de esta industria).
  5. Excel es Turing Complete (puede realizar cualquier algoritmo)
  6. Seguramente en algún momento de tu vida te hayas buscado en Google, pillín
  7. Hay más probabilidades de morir por un impacto de meteorito que de ganar el gordo de la lotería (y aún así, nadie muere por el impacto de un meteorito)
  8. Realmente, nadie sabe lo que significa mi nickname (DoHITB), excepto yo ;-)

Bueno, amigos... no son las mejores curiosidades pero sí son curiosidades.

Que sepáis que sigo avanzando con BigInteger + CUDA, a la vez que paralelamente estoy trabajando en la versión 4.0 de BigInteger :-)

Por otros (al menos 8, 10, o 100 años más)!


BigInteger - Codificación de la arquitectura: Creación de BigInteger

 Buenas!


Otro fin de semana que llega, cada vez hace más calor... (menos mal que ya termina el verano :-) )

Pues aquí seguimos, con la buena racha. De momento, he conseguido rehacer todo el setup de CUDA, y de momento he conseguido avanzar (no prometo un avance semanal, así que tengo alguna entrada guardada en la recámara!).

Vamos a entrar de lleno en la codificación paralela con CUDA. En concreto, empezamos con la creación de BigInteger.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Calculando los límites del clúster

Hola!

¿Qué tal? ¿Mucho calor? Apenas se nota, ¿verdad?
Pues nada, amigos y amigas, hoy os traigo la entrada final, antes de revisar los últimos cambios de BigInteger y ponernos, por fin, a programar.

Vamos entonces a calcular el límite de clúster, es decir, los valores máximos que podemos dar a la arquitectura CUDA para que todo funcione de manera óptima.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Funciones auxiliares

Muy buenas!

Oficialmente, este año es el tercero con más entradas de la historia del blog, y este pasado julio ha sido el mes con más entradas publicadas en el blog de toda la historia! 16 entradas, lo que supone prácticamente una entrada cada dos días!

Está bien ver este crecimiento en el blog, gracias en gran parte al proyecto BigInteger, que ha monopolizado el blog durante todo el mes (y lo que nos queda ;-)).

Ya que la parte de programación en CUDA todavía no la tengo empezada, es posible que abra la veda a otro tipo de entradas de temas que ya tengo medio preparados, para así no perder la racha del blog.

Pero, volviendo al presente, hoy nos toca finalizar el análisis de los puntos críticos de BigInteger, revisando todas las funciones de apoyo.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Raíz de BigInteger

Hola a todos y todas!

Como siempre, aquí ando, a vueltas... "disfrutando" de este fin de semana... Calor y Confinamiento, la combinación ideal para estas vacaciones, ¿verdad?

Por suerte (o desgracia) para vosotros, eso me da cierto tiempo para escribir, así que... Otra entrada para BigInteger!

Como os prometí en la entrada anterior, en esta vamos a ver algo más de contenido (la potenciación quedó un poco escasa, lo reconozco), así que vamos a analizar los puntos críticos de la operación de raíz de BigInteger.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Potenciación de BigInteger

Hola!

De nuevo por aquí, una semana más... esperando que me leáis con ganas.

Como viene siendo costumbre (creo que esta es la saga más larga que estoy haciendo), vamos a seguir con BigInteger.

En esta ocasión, toca revisar los puntos críticos de la potenciación de BigInteger.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: División de BigInteger

Muy buenas!

Chicos y chicas, se va acercando el fin del fin de semana... lo que significa que es hora de descansar, y por supuesto de aprender un poco conmigo :D

Vamos a seguir con la identificación de puntos críticos para implementar la arquitectura BigInteger en CUDA. En este caso, nos toca la división.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Multiplicación de BigInteger

Buenas a todos y a todas.

Otro fin de semana, otra entrada más en el blog :-)
Se está volviendo a convertir en un hábito, y eso está bien... así se mantiene uno entretenido un ratillo!

Desde ya os anuncio que tengo preparada otra saga de entregas... así que la idea es terminar esta, terminar un tema que tengo a medias (precisamente relacionado con BigInteger), y ponerme con la nueva saga... ¡esto promete!

En fin, hoy toca seguir con los puntos críticos de BigInteger, en concreto, los de la multiplicación.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Resta de BigInteger

Bienvenidos un día más!

¿Cómo os trata el verano? Espero que estés bien fresquitos y a la sombra :-)

Yo por mi parte estoy bastante contento, ya que todavía estamos a Julio y este año ya es el tercero con más entradas en el blog! Me alegra ver que poco a poco he ido retomando la escritura, siendo que incluso en 2018 estuve todo el año sin escribir...

En fin, vamos a entrar en materia... vamos a seguir con la identificación de puntos críticos en la arquitectura BigInteger para realizar la paralelizazión.

En esta entrada, trataremos la resta.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Suma de BigInteger

¡Hola de nuevo!

¿Qué tal lo lleváis? Vamos a seguir con el análisis de puntos críticos de la arquitectura BigInteger.
En esta ocasión, vamos a analizar los puntos críticos de la suma.


  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Identificación de puntos paralelos y críticos: Creación de BigInteger

¡Hola a todos!

¿Qué os parece todo el entramado de funciones que componen BigInteger? Seguro que no creíais que se podía sacar tanto jugo a unas simples operaciones matemáticas...

La verdad, estoy muy contento, porque ahora empieza la parte de la explicación que dará lugar a un cambio, a investigación...

Por otra parte, es posible que en próximas entregas se ralentice un poco el ritmo (la verdad es que estas semanas ha sido frenético el ritmo de las publicaciones), ya que voy a tener que ir investigando y realizando pruebas de los diferentes puntos que vayan surgiendo... todo sea para daros un buen contenido :)

En fin, en esta entrada vamos a entrar de lleno en la identificación de puntos críticos y paralelos de la creación de BigInteger.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Notas de BigInteger v3.0

Muy buenas!

Después de revisar a fondo el funcionamiento de BigInteger, nos toca ir a por el último esfuerzo.
Vamos a entrar en una serie de entradas donde analizaremos los puntos donde podemos incrementar el rendimiento de la arquitectura haciendo uso de la paralelización a través de GPU.

No obstante, antes de pasar a la acción, hay un par de notas previas a enumerar, y es que a medida que fuimos repasando la arquitectura, aproveché para ponerla al día...

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Funciones auxiliaries

Hola de nuevo!

En esta entrada, vamos a seguir ahondando en la arquitectura de BigInteger.
En este caso, vamos a revisar las funciones auxiliares de BigInteger.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Funciones complejas: Raíz de BigInteger

Hola de nuevo!

En esta entrada, vamos a seguir ahondando en la arquitectura de BigInteger.
En este caso, vamos a entrar en la operación de raíz de BigInteger.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!

BigInteger - Funciones complejas: Potenciación de BigInteger

Hola de nuevo!

En esta entrada, vamos a seguir ahondando en la arquitectura de BigInteger.
En este caso, vamos a entrar en la operación de potenciación de BigInteger.

  • ¿No es la entrada que buscabas? Entra en el índice
  • ¿Buscas el código fuente? Aquí lo tienes

¡Vamos allá!