lunes, 2 de enero de 2017

Jugando a "La Primitiva" con cumpleaños

Pasado el sorteo de Navidad siempre pienso lo mismo: que el precio del décimo es muy caro para lo que realmente puedes ganar y que para eso mejor jugar a La Primitiva o al Euromillón, donde no juegas tanto dinero y si te toca igual te jubilas (esa es la idea de jugar a la lotería ¿no?). Al final me he decidido por jugar a La Primitiva por nostalgia, ya que me recuerda cuando de pequeño iba con mi aita al bar Paquito a echar la lotería todas las semanas y luego veíamos por la tele todas las semanas en casa el sorteo (sin que tocase nada todo sea dicho...).

Jugar a La Primitiva es muy sencillo, sólo hay que escoger 6 números del 1 al 49. Una práctica muy habitual suele ser la de poner fechas de cumpleaños de familiares, por ejemplo, en mi caso como nací un 17 de julio, mi número en la primitiva sería el 17. Ya solo me faltan otros 5 números más de las fechas de cumpleaños de mis aitas, hermanos...

Sin embargo, este método provoca que solo tengas números del 1 al 31 en tu apuesta. Olvídate de marcar números del 32 al 49. La solución: la aritmética modular.

Como podemos utilizar un número del 1 al 49 vamos a utilizar aritmética modular 49 (mod 49). Y en lugar del día del mes vamos a utilizar el día del año con lo que podemos tener números mayores de 49 hasta el 365 (nos olvidamos de los años bisiestos que son 366 días). Por ejemplo, mi cumpleaños el 17 de julio, le corresponde el día del año 198. Este número en aritmética modular 49 es el 2. Para los que no estéis familiarizados con la aritmética modular, no se trata más que dividir el número deseado (198) entre el módulo (49 en el caso de aritmética modular 49) y quedarnos con el resto de la división (que en nuestro caso puede ir de 0 a 48). Como el resto va de 0 a 48, al resultado hay que sumarle 1 para tener un valor de 1 a 49 que es lo que tenemos que marcar en la primitiva. Así, que mi fecha de cumpleaños, el 17 de julio, le corresponde un 3.

En resumen, la formula para jugar sería la siguiente:

numero_primitiva = (día_año_cumpleaños (mod 49)) + 1

Una vez que sabes que números jugar, ya solo queda hacerlo, vía web por supuesto. ¡Suerte a todos!

martes, 26 de abril de 2016

Bits from UML

Uno de mis temas pendientes desde hace tiempo era dar una vuelta a UML e intentar entender no todos los diagramas o aspectos más complejos de UML sino más bien la base o sus principales conceptos para saber como usarlo en diferentes proyectos. Hace dos semanas cayó en mis manos el libro "UML Distilled" Third Edition y ha sido todo un acierto.

Los capítulos iniciales del libro son básicos para comprender como encaja UML en el diseño y desarrollo de software u otros proyectos. El resto de capítulos se centran en explicar los diagramas de UML sin entrar en excesivo detalle que haga que sea tedioso de seguir. Así que es ideal para tener un conocimiento general de los principales diagramas de UML.

De las ideas más importantes del libro me quedo con ¿como usar UML? Y mencionan básicamente 3. Primero, como "sketch" con diagramas no muy detallados para explicar una funcionalidad detallada. Segundo, como "blueprint" para detallar a un desarrollador como implementar el código, con lo que se el nivel de detalle y precisión debe aumentar considerablemente. Finalmente, para desarrollar código en base a modelos UML con lo que la complejidad y el nivel de exigencia de UML debe ser mayor. Ni que decir, que para mi uso habitual de UML como sketch o blueprint me es más que suficiente.

Otra idea interesante del libro es como utilizar UML en las diferentes fases de un proyecto independientemente del modelo de desarrollo de software seguido (waterfall, agile, ...). Me quedo con las siguientes ideas:

  • En la fase de captura de requerimientos se trabaja más con conceptos:
    • Utilizar un diagrama de Use Cases para detallar los requerimientos del sistema 
    • Utilizar Activity Diagrams o directamente en texto/prosa para describir cada Use Case con el Main Success Scenario (MSS) y el resto de escenarios secundarios de cada Use Case.
    • Utilizar un Class Diagram desde el punto de vista conceptual para construir un vocabulario del sistema.
    • Utilizar State Diagrams para conceptos que puedan ser complejos o con diferentes estados durante su tiempo de vida.
  • En la fase de diseño ya se baja al nivel del software:
  • En la fase de documentación también se pueden usar diagramas UML para explicar parte del código implementado. Normalmente no se explica todo el sistema, sino las partes más significativas para evitar mostrar excesivamente complejos. También existen herramientas automáticas que generar diagramas UML analizando el código.
En resumen un libro que merece la pena para darte una buena perspectiva de UML.

Ahora estoy esperando un libro sobre SysML..... :-D

jueves, 14 de mayo de 2015

Nire ametzetako idazmahairen bila (Linux-ena, noski)

Azken bolada honetan erabili ditut zenbait idazmahai Linuxen eta ez nuen aurkitzen nire ametsetakoa, hau da, benetan gustura sentitzen dudanarekin. Azkenean, nire erabakia egin dut.

Gainera, ez dut Linux distribuzioei hitz egin nahi beste mundu bat delako; baina, horretan orain dela asko nire aukera hartu nuen: Ubuntu-ren distribuzioren bat. Nire ustez, "non-realing relases" distribuzioak egonkorrak dira, nahi duzunean sistema egunera daiteke eta gainera Ubuntu distribuzioekin aukera dezakegu "Long Term Support" distribuzioak 5 urterako edo 6-hilabeteko distribuzioak. Horrez gain, deb pakete sistema oraindik niretzat erosoena da.

Hau esanda, idazmahairi dagokionez, azken urtean KDE 4 erabili dut baina deseroso nengoen. Niretzat antzinako garaiko idazmahai da sistema erretiluarekin, menuarekin, ... Nahiz eta Unity-k eta GNOME 3-ak hasieran kritika asko jaso, nire ustez, proposamen berriak eta aurreratuagoak eskaintzen dituzte. Unity-k eta GNOME3-ak Windows-eko menua saihestu dute eta aplikazio jaurtitzailea bultzatzen dute. Pantaila hobe aprobetxatzen da eta, batez ere, teklatuarekin ia gehien gauza egin daitezke. KDE, XFCE, LXDE, eta gainontzeko idazmahaiek betikoa eskaintzen dute, Windows 95 garaietatik ezagutu duguna alegia.

Gero, Unity eta GNOME3-ren arteko erabakia niretzat argi dago: Unity. Unity erabiliz askoz erosoago nagoelako eta hurrengo urtean QT/QML migratuko dute. Egun idazmahai asko (LXDE, Unity, ...) zein aplikazioak (QLandkarteGT, ...) QT migratzen ari dira eta ematen du GTK gero eta proiektu gutxiagok erabiliko dutela. Are gehiago, gaur egun ere aplikazio interesgarri gehienak QT erabiliz eginda daude (Digikam, QMapshak, Krita, ...), gutxi batzuk ezik (batez ere Firefox).

Zer berri eskaintzen digu Ubuntu/Unitik:
  • Aplikazio/Fitxategi/Musika/Filma jaurtitzailea azkarra, inolako menurekin.
  • Teklatua lasterbideak izugarriak, sagua gutxi erabiltzeko.
  • Unity web-aplikazioak, hau da, benetan webguneak diren aplikazio faltsuak. Zertarako azkenean webgunea da ta? Alt-Tab erabiliz mugitzeko eta lazter aurkitzeko hain garrantsitsua den webgune hori irekitan daukagun pestaña guztien artean.
  • Ikaragarrizko HUD! Ez  dago antzekorik oraindik beste idazmahai batean.
Erabakia hartuta, Unity erabiltzen jarraituko dut eta ikusiko dugu zer dakarkigun Unity-QT-ek hurrengo urteetan!

(Euskaraz idatzi dut larunbatean daukadan HABE azterketa prestatzeko!)

martes, 22 de abril de 2014

De trekking por la provincia de Huelva


Esta Semana Santa hemos pasado un grupo de montañeros de Mendiko Lagunak una semana en Aracena haciendo varios trekkings y, también hay que reconocerlo, un poquito de turisteo por la provincia de Huelva. Nos ha dado tiempo a visitar la Gruta de las Maravillas de Aracena, hemos visitado una dehesa de cerdos de bellota, hemos visitado el Parque Nacional de Doñana, hemos visitado El Rocío, también hemos visto las típicas procesiones de Andalucía, ...

Pero también nos ha dado tiempo a hacer 5 jornadas de trekking en la provincia conociendo el monte pero sobretodo pasando por infinidad de aldeas pequeñas con bastante encanto. En total, han sido 5 etapas con una suma de unos 98 Km y unos 4.270 m de desnivel en nuestras piernas. No excesivo pero sí ha sido una gran mezcla de turismo y monte para no olvidar.

Adjunto los tracks realizados por si alguno quiere descubrir esta provincia como mejor se descubre cualquier lugar: pateando.












lunes, 3 de febrero de 2014

Visor (barato) para Olympus XZ-1

Cuando me compré la Olympus XZ-1 estaba buscando una cámara un poco ya más cañera que me permitiese disparar en raw y que tuviese controles manuales, pero que por otro lado fuese pequeña para poderla llevar al monte. Estuve pensando en cámaras reflex, cámaras sin espejo y finalmente me descanté por el sector de las cámaras avanzadas. Estuve mirando varios modelos y al final por la relación calidad-precio me decante por una Olympus XZ-1 que me salió muy bien de precio.

Una de las cosas que más echaba en falta en la cámara era un visor para componer las fotos pero sobretodo para mejorar la visibilidad cuando en días con mucha luz (esto se multiplica en la montaña y en cumbres altas). Pero los visores electrónicos cuestan una pasta, unos 200€ el más barato. Y me iba a costar más que la cámara...

Al final me he decantado por una solución curiosa. Un visor óptico en frente de la pantalla LCD que permite ver solo la pantalla LCD con lo que facilita la composición y dicen que mejora mucho la visibilidad del LCD en situación con mucha luz. Por menos de 60€ gastos de envío incluidos y con un servicio de atención al cliente realmente bueno, te lo envían a casa desde EEUU en ClearViewer. Además, tienen modelos para las compactas avanzadas más populares.

Este es el visor.



El visor se acopla en la clavija para trípode de la camara. Además, como podéis en la foto anterior el visor incluye otro agujero para poder poner la cámara en un trípode sin quitar el visor.


Por último, la lente se dobla contra la cámara y ocupa muy poco espacio plegada.


Este fin de semana probaré el artilugio y veré si realmente le saco partido o es un trasto más para añadir a mi colección. Aunque lo poco que he probado en casa, me ha gustado.

Mendiko DubiDubi

Ya avisé en alguna entrada anterior que estaba jugando con Openshot, un editor de vídeo libre, para algún proyectito que tenía entre manos. Pues bien ese proyecto era el "Mendiko DubiDubi".

En el 2012 Mendiko Lagunak, el club de montaña de Amurrio (Araba), cumplió 50 años y como forma de celebrarlo se decidió subir en un año a todas las cimas de Euskal Herria. Más o menos unos 600 montes que fueron repartidos entre los socios de Mendiko Lagunak y que finalmente se consiguieron ollar todos ellos antes de finalizar el año cumpliendo con el reto.

El "Mendiko DubiDubi" no es más que un vídeo de algunos de los participantes en ese reto bailando en el monte. Un vídeo que surge como idea de hacer algo nuevo en lugar de la típica foto y ficha de cima. Algo más vivo y divertido. Surgió como idea a partir de otros dubidubi como los típicos Where the hell is Matt y el Bizkaia DubiDubi.

El vídeo lo liberamos hace un año más o menos en la web de Mendiko Lagunak y se me había olvidado publicarlo en mi blog. ¡Con lo que me costó hacerlo! Así que ahí va...



Por cierto, mi talde aparece en el minuto 3:00 :-D

viernes, 27 de diciembre de 2013

Scripts for generating bib files (and the bib files) of RFCs and Internet-Drafts

I have uploaded to my github account two python scripts to parse the list of the Request For Comments (RFCs) and Internet-Drafts (I-Ds) into a bib file, in order to reference easily RFCs and I-Ds using BibTex-compatible software. The output bib files can be generated with two different formats: one recommended format for IEEE magazines and one recommended format according to an already obsolete Internet-Draft draft-carpenter-rfc-citation-recs-01.txt.

The scripts and their usage explanation is detailed in my github account.

However, if you only want recent bib files of RFCs and I-Ds and not the scripts to generate them, you can download updated bib files from http://bipt106.bi.ehu.es/~jtbpizac/ietf2bib. These bib files are generated automatically the 1th and 15th of every month. Even, there is an archive for I-Ds in order to allow the search for obsolete I-Ds.

Happy LaTeX-ing!!