Posts

Nostalgia

Years have passed since my last blog entry, and curious paths are always leading your life as I was here and there, moving from academia to industry and back to academia. A full pandemic (still hitting) has occurred ... I was sure to move to the Queen's land (now King's), but somehow that never happened, and looking for a new adventure (care what you wish) I got a new one ... Adapting to a new environment and language but still doing great science. A funny thing happened a few weeks ago, I was suggested to take some courses to use a subscription to a learning platform, I chose a refresh on genome stats, and even when the first part was somewhat hard, they put a big smile on my face when I see a post of this blog as part of the intro materials!!! I always believed my impact on papers and teaching was indeed positive, but finding that this material was extended beyond my direct touch was amazing. So, I honor this blog writing one more time, I will reconsider writing again if I fe...

Año 2018

Tres años sin escribir, pero me tomo 5 min para desoxidar este blog (desempolvar ya se queda corto). Muchos proyectos en marcha, todo avanza bien al parecer, sigo igual (o peor) de geek y nerd, ya no doy clases pero me entretengo procesando datos y programando a lo bestia (incluso le he encontrado sabor a Python pero Perl sigue siendo mi fuerte). En fin, sigamos otro rato.

2015

Pues ya es 2015 (felicidades a quienes deseen recibir una felicitación por el cambio de año). Después de mucho tiempo sin publicar y en espera de que varios procesos acaben, me doy a la tarea de desempolvar un poco este blog. No puedo detallar mucho de los proyectos que tengo en curso pero son varios y muy interesantes, pero dado que en este blog escribo más sobre Linux, este es mi estado actual de sistemas: 1. Mi netbook cumple 5 años y sigue dando batalla, ayer actualice (más bien reinstale) a Fedora 21 - XFCE, hice varios ajustes a como tenía particionado el disco duro, pero fuera de ahí todo normal. Incluso varias cosas se instalaron más facilmente quen la 20 (Skype, Dropbox). 2. Mi workstation está con un Ubuntu 14.04, sigo sin tener mucha preferencia por esa distro pero para las clases los sistemas en las aulas son Ubuntus, por lo que me facilita mucho que pueda probar los ejercicios. Mi mayor queja es en la instalación poco ortodoxa de algunos paquetes y una alta tasa de e...

Real time hacking

Image
This is a really cool (but scary) real time tracking of hacking intents worldwide by the HoneyNet Project team: http://map.honeycloud.net/

Programming challenge - synthetic whole genome vcf

I found in BioStar an nice programming challenge to produce an alternative VCF file from a complete genome sequence (the motivation to have such file is a mystery to me), anyway, I and many others produce a solution in C, Python, Perl and even AWK. As expected the C solution is the faster (but longest code), surprisily Python is really close in speed and really compact. My Perl wasn't bad, but is still a little slow. Here is my final code after reducing the initial solution: print join "\t" , '#CHROM' , 'POS' , 'ID' , 'REF' , 'ALT' , 'QUAL' , 'FILTER' , 'INFO' ; print "\n" ; % a = ( 'A' => 'C,G,T' , 'C' => 'A,G,T' , 'G' => 'A,C,T' , 'T' => 'A,C,G' ); while (<>) { chomp ; if ( m />(.+)/) { $chr = $1 ; $i = 0 ; } else { @a = split ( //, uc $_); foreach $b ( @a ) { ...

Selecting N random lines from a text file (Perl)

In many situations I need to sample a few lines from a big file, the basic approach is to take just the first N lines in the file, but that isn't correct, a real sampling needs a random selection of points to avoid some bias. Here is my solution in the Perl language: #!/usr/bin/perl =head1 NAME randomLines.pl =head1 DESCRIPTION Subsample some random lines from a text file. =head1 USAGE perl randomLines.pl [PARAM] Parameter Description Value Default -i --in Input file File STDIN -o --out Output file File STDOUT -n --num Number of lines to sample Integer 1000 -t --total Total lines in file Integer 1000000 -f --first Include first line Bool No -h --help Print this screen and exit -v --verbose Verbose mode --version Print version number and exit =head1 EXAMPLES 1. S...

Moving to Fedora

After many years using Mandriva (even when it was Mandrake), I finally move my personal systems to Fedora . I always consider Mandriva an excellent Linux distribution, really easy to install and use (even more than Ubuntu), but the current situation of Mandriva (please google-it) gave me the signals to move on. My current situation is developing (Perl, C, R) using my Mac with Snow Leopard, but all my heavy work runs on linux servers (real and cloud) mainly CentOS, so I decided to keep me in the RedHat family. Besides my iMac, I own an Asus 1000HA netbook and an Acer Aspire 5517 laptop. First I tried Fedora 16 in the netbook, the XFCE remix, it works wonderful considering the low power of a netbook. This week I installed Fedora17 in the Acer, after a quick installation I'm using it o write this post. I have no complains with the last Gnome release, actually I like it, it's pretty. I only had a hardware problem, the wireless card, but amazingly after checking the status with dm...

Perl/Tk

Image
Last weeks I have been working in some user interface to make easy some data integration and quick manual annotation for new repeat families. After spending some time understanding the problem and learning the annotation path, I reach a point to decide which framework do I need to create a simple GUI. I searched for options, like HTML5, QT, C#, even Java, nothing liked me. I take a look to the old Tk  in particular to the binding in Perl . I always wanted to develop something serious using Tk, but never have a nice project. In a few days, I can build the prototype in a few lines of code, then after some testing and debugging, the GUI was complete in short time. Perl::Tk development was really easy, the CPAN documentation and some examples from tutorials were enough to build it. The only "but" I can say is the look-and-feel, it looks "old".

I didn't forget

I just realize (after the GLiB was moved to a new home and I remember the Planet), that I'm not writing anymore here. Many of my thoughts are now on the social networks but I try to keep this blog.

CRAY

Image
My good friend Charlie ask me my opinion about some server/high-end computers, one of the options was the historically important Cray. Cray isn't producing their amazing systems that dominate the supercomputer field for years. Now they're producing high-performance desktop computers like the CX1-iWS . Well, it's a nice computer with cool hardware but with Windows 7 as OS (maybe to reach some 3D modeling tools, because all the HPC software I know run on Linux/OSX). This model in particular is being sold by Dell , I see the page to get more details and I found one of the reviews highly interesting: Date: October 8, 2010 Title: Helping our country's defense Review: We have been using a few of these units for a while and they scream! I work for a defense contractor (Cyberdyne Systems) and part of the reason we were able to get the contract was by leveraging these units rather than a dedicated supercomputer. We've been developing new microprocessors for ...

hacking infographic

Image
The IEEE Spectrum presents this interactive chart, really nice. I remember when people asked me how to hack a computer or email, I never know, but I found more interesting hacking genomes than machines.

Droid

Image
from Abstruse Goose.

Supercomputers future

Image
An excellent article about this area " Next-Generation Supercomputers " [Peter Kogge 2011] . He pointed that the exaflops machines is far away, we need new technology to decrease the power consumption. The PS3 comparison is cute too:

2011

I'm still here (busy but here).

Shibboleet

Image

GuruPlug

Image
After a short wait, I received the GuruPlug, this little computer will host the GLiB website (currently down ...). This is the pretty and elegant package: and the unpacking: It include only the GuruPlug, one eth cable and two electric adapters. The specifications and diagram are: Of course this machine runs Linux (Debian Lenny) and it includes some basic services: Wifi server, CUPS, LAMP (lighttp + MySQL + PHP), ssh, samba. This is the GuruPlug in action: Some action in the terminal: $ ssh root@192.168.1.1 Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts. root@192.168.1.1's password: Linux sheevaplug-debian 2.6.32-00007-g56678ec #1 PREEMPT Thu Dec 24 03:15:48 PST 2009 armv5tel The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicabl...

Lady Java (Video)

That's why Java is not "popular" (besides the language problems).

DJ touch interface

"emulator" on töken concept from yöyen munchausen on Vimeo .

The truth about the "antennagate"

Monster chess

Oh my gosh! I love this gigantic robotic chess: Unfortunately I don't have time with my DNA puzzles.