El árbol fluorescente

En otra edición de "cosas que hice hace tiempo y me resultaron útiles ahora", les presento un proyecto que nació hace cinco años y medio de una charla de PyAr.

Como explico en este post, para jugar un rato con un amigo hice un árbol Trie, que luego de algunas optimizaciones degeneró en algo que llamé "Fucked Trie".

Este árbol para guardar palabras y buscarlas por prefijo de forma muy muy rápida resultó ser lo que necesitaba en el laburo un par de semanas atrás, pero con un cambio: ahora cada palabra tenía que guardar cierta metadata (que luego se obtendría al buscar).

Entonces, agarré el código original, lo modifiqué un poco, y armé este proyecto nuevo que se llama Fluorescent Trie (porque Fucked quedaba muy fuerte para un proyecto, vissste).

Fluorescent trie

Características de este árbol:

  • Está pensando para mantenerlo en memoria: ocupa poco, y carga rápido
  • Las búsquedas son por prefijo: O sea, entrando con "foo" encuentra "foo" y todo lo que empieza por "foo". No encuentra "grafoo".
  • Las búsquedas son extremadamente rápidas (en el orden de los 10⁻⁴ segundos).
  • Cada palabra tiene un payload que puede ser cualquier cosa.

Si lo necesitan para algo, aprovechen.

Comentarios Imprimir

A la caza de la laptop perdida

Hace un año y medio que me quiero comprar una laptop nueva. No es que la necesite, pero la empresa ya me dió la plata para renovarla y debería hacerlo.

Hace un año y medio más o menos que también entró en vigencia toda esa loca restricción para las importaciones. Ojo, no es que no se importen laptops, se importan y muchas. Pero son para el mercado masivo, y las características de máquina que yo quiero/necesito para trabajar no son las más comunes.

En fin. Estuve largo tiempo buscando qué máquina comprar acá, en Argentina. No encontré. Tomé la decisión de comprarla en USA, aunque los putos no me venden con teclado latinoamericano (ya los vamos a terminar de conquistar, falta poco).

Y el teclado es una de las características que más me importan de la máquina (sí, ya sé, muchos no pueden entender esto, pero gustos son gustos, y comentarios acerca de esto lo dejan en /dev/null que después veo).

Es más: a pesar del teclado y todo, casi compro la máquina afuera: una Lenovo; pero a Lenovo no le gustaba mi tarjeta (putos!), y cuando me prestaron una tarjeta no les gustó a dónde la quería mandar (putos ** 2!).

Obviamente, hay mil opciones más que Lenovo, pero en el sitio de este fabricante me dejaban elegir los componentes, y en otros lados no. Además, yo sabía que el teclado y la pantalla de la Lenovo estaban bien (que son las principales formas de interacción con la máquina). En fin, no iba a comprar una máquina "más o menos" en ebay o newegg, porque en general estás comprando algo que no sabés exactamente qué, y no las podés ver/tocar antes.

Decidí mandar a cagar a Lenovo, y cualquier compra en USA. Me sugirieron Uruguay, o Chile. Chile está lejos, pero si la podía comprar en Uruguay, es un paseo ir a buscarla. Llamé a una casa de computación que me recomendaron, charlé largo rato, mandé mail... y nunca me contestaron. Ok, cero onda. El que sigue.

Por otros temas, terminé yendo un par de veces a Garbarino y Frávega. Y estuve revisando las notebooks que tenían, y habían un par que no estaban nada mal, que me gustaba la pantalla, teclado, en general estaban bastante bien, sólo cortas de memoria. Y comentando esto a un amigo, me animó a ir a Galería Jardín para ver si se conseguían esas máquinas con más memoria.

Hace una semana fui finalmente a Galería Jardín, y estuve paseando tipo hora y media. Entré a alrededor de unos quince locales a preguntar por la máquina que quería, y el punto en común que encontré fue lo gracioso de las caras de las personas que me atendían.

Es que ponían muy buena cara cuando entraba al negocio, yo les decía que estaba buscando una laptop, y sonreían muy amistosamente. Entonces les tiraba la primera: "Quiero 8 GB de RAM". En ese punto, se les notaba que revisaban mentalmente las máquinas disponibles, buscaban en su memoria, perdían un poco la sonrisa... en fin, descartaban gran parte de la oferta que tenían.

Ahí, les tiraba la segunda: "Quieron una pantalla de entre 12 y 13.5 pulgadas". Ahí la sonrisa volvía, pero una sonrisa nerviosa, evidenciando que la oferta se caía a casi nada. Y muestra de esto, es que ya se empezaban a mover para ir a la computadora o papeles para encontrar lo que coincidiría con mis dos pedidos.

Y ahí nomás, antes de que empiecen a buscar, les tiraba la tercera: "Y quiero teclado latinoamericano". Ahí ya los polarizaba en dos respuestas. En el 80% de los casos, me decían "no, ahí me terminaste de matar, no tengo nada". En pocas ocasiones, por otro lado, me decían "teclado español", yo les decía "no, latinoamericano", y me contestaban "es lo mismo". Ahí yo ya les ponía cara de "flaco, ponete una verdulería", les decía con tono triste "no, no es lo mismo", y me iba.

Pero a veces me ofrecían algo. Y ese algo fue en dos o tres ocasiones la Samsung Ultrabook, un par de veces la Asus Zenbook, una Sony, y una Dell.

La Sony no me gustaba estéticamente (y para sus características, un poco cara). La Dell era una Latitude muy ladrillo, pero buenas prestaciones (especialmente a nivel batería), pero salía $13500; descartada. Y la Asus también salía como 11 o 12 lucas, las razones del precio que me indicaban era porque tenía un disco SSD, mientras que (me decían) la Samsung Ultrabook no tiene un disco separado SSD, sino un "caché de 24GB".

La última escala del paseo la hice por un local de Samsung muy muy cheto, en el cual mostraban dos ultrabooks, una serie 5 y una serie 9. Ahí también me indicaron que la serie 5 "es más barata porque no tiene disco SSD sino un cache", y que la serie 9 también está 11 o 12 mil pesos porque tiene el disco SSD separado, además de otros detalles.

En fin. No quería gastar tanta plata, así que me decidí por la Samsung Ultrabook NP530U3C-A01AR.

Samsung Ultrabook

Como la gran mayoría, viene con 4GB de RAM, pero en el local me la subían a 8GB. Precio final (IVA incluído): $7000 (en Previus).

La compré este último viernes, pero como tenía otras cosas que hacer luego, recién la probé el sábado a la mañana. Ya había visto que para que el BIOS reconozca el pendrive con el instalador de Ubuntu había que toquetear algunas cosas. Yo lo primero que hice fue meterme en el BIOS, sí, pero para curiosear. Realmente no tuve que cambiar nada más que el orden de booteo (que tenía primero al rígido).

Así que sin haber booteado nunca en el windor (por cábala, viste) me puse a instalar el Ubuntu. Le dije al instalador que quería customizar las particiones, y ahí vi que realmente la máquina tiene DOS discos, uno "clásico" (de esos que tienen platitos magnéticos que giran, un HDD), y otro de silicio (o sea, los denominados SSD).

Dudé qué instalar dónde, busqué un poco y esto que encontré me pareció bien. Basicamente: "/" en el SSD entero, y en el disco de platos un swap de 6GB, "/var" con 20GB, y el resto para "/home".

Particionado durante la instalación

Si miran con cuidado van a ver que le pifié a las cantidades: puse los valores en MB en lugar de GB... por suerte el particionador se avivó y me dijo que necesitaba más espacio en "/var" que lo que estaba poniendo, así que me di cuenta del error y lo corregí.

El único detalle que hay que tener cuidado (que yo le pifié) es que el disco marcado como boot tiene que ser el HDD (aunque barra esté en el SSD), porque el BIOS sólo bootea del primero. Nada importante.

En fin, luego de instalar un rato, y que baje las actualizaciones y eso, ya tenía mi notebook nueva con Ubuntu Quantal.

Contento con la renovación, :)

Comentarios Imprimir

Películas, arrancamos 2013

Varias películas vistas en esta etapa (incluyendo algunos clásicos que no estaban anotados acá, como Back to the future), pero la cantidad de nuevas que aparecieron que pintan interesante son más...

  • Don't be afraid of the dark: +1. Muy bien hecha, y el tema es interesante. Cada vez me gusta más Guillermo del Toro como director...
  • Edge of Darkness: +0. Un poco flojo el tema, pero bien llevada la trama. El personaje es interesante y todo, a pesar de Mel Gibson.
  • Extraordinary measures: +1. Muy buen tema de la película, muy buen laburo de Ford y Fraser la zafa. Igual, acá lo que vale es la historia, y está muy bien.
  • In my sleep: -0. Buena historia, aunque podría ser más profunda en detalles, pero muy malas actuaciones.
  • Leaves of grass: -0. Parte de la historia está buena, pero no llega realmente a construir nada potable, como que son varias potenciales historias que no se llegan a tratar realmente.
  • Los abrazos rotos: +0. Nada del otro mundo, pero es una historia entretenida, dinámica, y bien contada.
  • Love and other drugs: +1. Muy interesante la historia, me esperaba una peli pasatista pero es bien profunda, aunque no aburre ni es dramática al pedo.
  • Machete: +0. Muy bizarra, típica película de Robert Rodriguez, con todo el coctel: mexicanos, armas, sangre, y chicas lindas. A mí me gustó, pero si no te gustan este tipo de películas, ni te acerques.
  • Predators: -0. Nada realmente nuevo.
  • Rango: +1. Muy divertida, y estoy seguro que si conocés de películas "del oeste" vas a encontrar mil referencias a las mismas (pero gusta más allá de que las conozcas o no).
  • Splice: +1. Me sorprendió, no esperaba que esté tan buena. Estuve todo el tiempo esperando golpes bajos que no venían, y se sucedían giros inesperados súper interesantes. No apta para "conceptualmente impresionables".
  • The ghost writer: -0. La historia está bien, pero todo muy predecible. Y las actuaciones hasta ahí.
  • The hobbit: An Unexpected Journey: +1. Obviamente conocía la historia, pero me gustó mucho cómo está contada.
  • The switch: -0. Tiene sus momentos interesantes, pero es una peli romántica medio pelo. No la salva Jeff Goldblum, y Jennifer Anniston cada vez la tengo más y más como indicadora de película mediocre.

Estas son las que anoté a futuro... hay de todo, viene bien variadito el asunto:

Comentarios Imprimir

Launcherposta 0.9

Una nueva versión de este programa que es básicamente un ayudante para lanzar aplicaciones que uno lanza seguido (como poner launchers en el panel, pero como eso no existe más en Unity...).

La principal novedad es que ahora hay una manera muy fácil de buscar las aplicaciones instaladas en el sistema para agregarlas en el menú (en el diálogo de agregar una entrada, hay un botón que muestra todas las aplicaciones con sus iconos).

También muestra un mensaje de error (no sólo el código) cuando hay un error al ejecutar algo, ahora tiene una man page, y algún que otro detalle.

Supongo que esta es la última versión del programa, ya que tiene toda la funcionalidad que buscaba y no hay ningún bug abierto.

Más info, cómo descargarlo, etc., en la página del proyecto. Enjoy.

Comentarios Imprimir