Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Hack Para Catalogar Libros

import sys
import time
import gdata.books.service
import json

def get_book_info(isbn):
    print "Looking for ISBN:", isbn
    google_books = gdata.books.service.BookService()
    result = google_books.search('ISBN %s '%isbn)
    data = [x.to_dict() for x in result.entry]
    if not data:
        print "No results"
        return
    title = data[0]['title']
    with open(title+'.json','w') as f:
        f.write(json.dumps(data))
    print "Guardada info de '%s' en '%s.json'" %(isbn, title)

if __name__ == "__main__":
    while True:
        isbn = sys.stdin.readline().strip()
        if isbn:
            get_book_info(isbn)
        time.sleep(1)

¿Qué ha­ce? Lee nú­me­ros IS­BN y guar­da la da­ta del li­bro en "tí­tu­lo­.­j­so­n" pa­ra que des­pués lo pro­ce­ses y for­ma­tees.

Si que­rés edi­tar esa in­fo, po­dés usar un edi­tor de tex­to, o usar jso­nwi­dget y un po­co de as­tu­cia así:

python -c 'import jsonwidget; jsonwidget.run_editor("abook.json", schemafile="gbooks.schema")'

En ese co­man­do abook.­j­son es un ar­chi­vo ge­ne­ra­do por el script an­te­rio­r, y gbooks.­che­ma es es­te ar­chi­vo.

Ah, y si tus li­bros tie­nen có­di­gos de ba­rra...

zbarcam --raw | python bookdata.py

Le mos­trás los li­bros a la com­pu y ella ha­ce el res­to :-)

PD: es­ta­ría bue­ní­si­mo que al­guien hi­cie­ra una app de ca­tá­lo­go de li­bros con es­tas co­sas ;-)

Las Flechas de la Injusta Fortuna

← → ↑ ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↮ ⇦ ⇨ ⇧ ⇩ ⬄ ⇳ ⬀ ⬁ ⬂ ⬃ ⬅ ➡ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬌ ⬍ ⇐ ⇒ ⇑ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙ ⇍ ⇏ ⇎ ⟸ ⟹ ⟺ ↤ ↦ ↥ ↧ ⇤ ⇥ ⤒ ⤓ ↨ ⇆ ⇄ ⇅ ⇵ ⇈ ⇊ ⇇ ⇉ ⇠ ⇢ ⇡ ⇣ ⇚ ⇛ ⤊ ⤋ ⭅ ⭆ ⟰ ⟱ ↩ ↪ ↫ ↬ ↞ ↟ ↠ ↡ ↚ ↛ ↜ ↝ ↢ ↣ ↰ ↱ ↲ ↳ ⬐ ⬎ ⬑ ⬏ ↴ ↵ ↺ ↻ ⥀ ⥁ ⟲ ⟳ ↶ ↷ ⤾ ⤿ ⤸ ⤹ ⤺ ⤻ ↼ ⇀ ↿ ↾ ↽ ⇁ ⇂ ⇃ ⇋ ⇌ ⇜ ⇝ ⇽ ⇾ ⇿ ⟻ ⟼ ⟵ ⟶ ⟷ ⬳ ⟿ ⬱ ⇶ ⥊ ⥋ ⥌ ⥍ ⥎ ⥏ ⥐ ⥑ ⥒ ⥓ ⥔ ⥕ ⥖ ⥗ ⥘ ⥙ ⥚ ⥛ ⥜ ⥝ ⥞ ⥟ ⥠ ⥡ ⥢ ⥣ ⥤ ⥥ ⥦ ⥨ ⥧ ⥩ ⥮ ⥯ ⥪ ⥫ ⥬ ⥭ ⇷ ⇸ ⤉ ⤈ ⇹ ⇺ ⇻ ⇞ ⇟ ⇼ ⬴ ⤀ ⬵ ⤁ ⬹ ⤔ ⬺ ⤕ ⤂ ⤃ ⤄ ⬶ ⤅ ⬻ ⤖ ⬼ ⤗ ⬽ ⤘ ⤆ ⤇ ⤌ ⤍ ⤎ ⤏ ⤙ ⤚ ⤛ ⤜ ⤝ ⤞ ⤟ ⤠ ⤡ ⤢ ⤣ ⤤ ⤥ ⤦ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲ ⤫ ⤬ ⥼ ⥽ ⥾ ⥿ ⤶ ⤷ ⤴ ⤵ ⤼ ⤽ ⥂ ⥃ ⥄ ⭀ ⥱ ⥶ ⥸ ⭂ ⭈ ⭊ ⥵ ⭁ ⭇ ⭉ ⥲ ⭋ ⭌ ⥳ ⥴ ⥆ ⥅ ⬷ ⤐ ⬸ ⤑ ⬿ ⤳ ⥹ ⥻ ⬰ ⇴ ⥈ ⬾ ⥇ ⬲ ⟴ ⥷ ⭃ ⥺ ⭄ ⇱ ⇲ ↸ ↹ ↯ ↭ ⥉ ⥰ ☚ ☛ ☜ ☝ ☞ ☟ ◄ ► ⇪ ⇫ ⇬ ⇭ ⇮ ⇯ ⇰ ➔ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲ ➳ ➴ ➵ ➶ ➷ ➸ ➹ ➺ ➻ ➼ ➽ ➾

Ha­ce unos año­s, mu­chas apps y ti­po­gra­fías se con­fun­dían con co­sas co­mo á. Así que sí, se va pro­gre­san­do.

El Post Largo de PyCamp

Py­Camp fué or­ga­ni­za­do por PyA­r, la co­mu­ni­dad de Py­thon Ar­gen­ti­na. PyAr es gen­te muy es­pe­cia­l, com­ple­ta­men­te ama­teu­r, y ha­cen to­do por amor y di­ver­sió­n. Ya que PyAr es gen­te es­pe­cia­l, las co­sas que PyAr ge­ne­ra, ins­pi­ra o crea son es­pe­cia­les tam­bién.

Así que des­de ha­ce al­gu­nos año­s, lo que pa­sa es que al­guien en­cuen­tra un lu­gar con cu­che­ta­s, un salón gran­de, ais­la­do, que sir­van co­mi­da­s, ba­ra­to (no es fá­cil to­do eso) y lo al­qui­la un fin de se­ma­na lar­go, y lo pa­ga­mos en­tre to­do­s.

Es­te año, un even­to de 4 día­s, all in­clu­si­ve, cos­tó 100 dó­la­res. Se­gu­ro, no es lu­jo­so, pe­ro te­nés un te­cho, y es­tás pro­te­gi­do de los ani­ma­les sal­va­je­s, qué más que­ré­s.

En­ton­ces ter­mi­nás con al­gu­nas do­ce­nas de ner­ds y sus com­pu­ta­do­ra­s, uno sa­be ar­mar re­des (Jo­ac!) uno es el MC (A­le­cu!) uno ayu­da a to­do el mun­do (Fa­cun­do­!) uno co­no­ce a los del lu­gar (Pin­don­ga!) y así, el tra­ba­jo se di­vi­de, y te­ne­mos tiem­po y com­pa­ñe­ros pa­ra ha­ckea­r.

En­ton­ce­s, la pri­me­ra ma­ña­na, to­dos pro­po­nen qué les gus­ta­ría ha­ce­r. Se vo­ta, y las pro­pues­tas con más vo­tos re­ci­ben slo­ts (5 al día) en que son el fo­co de aten­ció­n.

¿Qué pa­sa si tu pro­pues­ta no re­ci­be vo­to­s? Bue­no, o te unís a una que te gus­te, o ha­cés la tu­ya, por­que es­to no es una de­mo­cra­cia, es una anar­quía, los vo­tos son pa­ra que to­dos se­pan que van a ha­cer los de­más no­má­s, y en­con­trar un gru­po con el que te pue­das di­ver­tir (es muy pa­re­ci­do a una co­sa que pa­sa en "The Dis­po­ssess­e­d" de Le­Gui­n, ya que es­ta­mo­s)

Des­pué­s, ha­cés lo que quie­ra­s. O te po­nés los au­ri­cu­la­res y pro­gra­má­s, o pa­seás y char­lás o te unís a un gru­po, o un po­co de ca­da co­sa. Co­mo te sir­ven la co­mi­da no te preo­cu­pás de cuan­do cor­tá­s. Cuan­do la co­mi­da es­tá, to­do el mun­do cor­ta al mis­mo tiem­po y se va a so­cia­li­zar a me­sas co­mu­ni­ta­ria­s.

¿Sue­na ra­ro, no? Un mon­tón de gen­te gran­de, mu­chos pro­fe­sio­na­le­s, ha­cién­do­se los hi­ppie­s. ¡Bue­no, tam­bién se sien­te ex­tra­ño, pe­ro no quie­re de­cir que no es­té bue­no! Has­ta fun­cio­na bien. Una vez que ves a los otros tra­ba­jan­do, te em­pie­zan a pa­re­cer di­ver­ti­das co­sas que no es­pe­ra­rías (Ce­le­r­y!?! Ju­gger­nau­t! An­droi­d!) y la adre­na­li­na de ver gen­te di­cien­do­te "mi­rá lo que hi­ce" es in­fec­cio­so y exi­tan­te.

Ade­má­s, au­tos a con­trol re­mo­to, ha­cking una ki­nec­t, an­droi­d, gui­ta­rra eléc­tri­ca, ma­la­ba­res, lec­cio­nes de mo­no­ci­clo, fo­gó­n, al­coho­l, ca­fé ma­te, jue­gos de me­sa, car­ta­s, mú­si­ca, bro­ma­s, adre­na­li­na, ara­ño­ta­s, asa­do, frío, vi­m, nin­ja, ping pon­g, na­ves ro­bo­t, gen­te que ves ca­da seis me­s­es, pre­gun­ta­s, no sa­be­r, ave­ri­gua­r, que te ayu­den en al­go que lle­vás se­ma­nas tra­ba­do, des­tra­bar a otro, sen­tir­te bu­da y un bo­lu­do en cin­co mi­nu­tos ...

Y por lo me­nos yo, por lo me­nos es­te año, tu­ve un fin de se­ma­na pro­duc­ti­vo. Me ayu­dó un mon­tón de gen­te en co­sas que me da­ban mie­di­to, me sen­tí un pro­gra­ma­dor ac­ti­vo en vez de un ex, y la pa­sé bár­ba­ro. Me reí mu­cho, hi­ce un par de ami­gos nue­vo­s, vi un mon­tón de ami­gos vie­jo­s, ayu­dé a al­gu­no­s.

Me en­can­ta­ría que otros la pa­sen tan bien co­mo la pa­sé yo. Por su­pues­to que no creo que to­dos ten­gan que ir, si no es­tás en Ar­gen­ti­na es un via­je ca­ro, si no ha­blás es­pa­ñol te per­dés mu­cho, y si se jun­ta de­ma­sia­da gen­te ca­paz que de­ja de ser di­ver­ti­do.

¿Pe­ro por qué no ha­cer al­go pa­re­ci­do? No tie­ne por qué ser so­bre Py­tho­n, pue­de ser so­bre har­dwa­re, chi­ches elec­tró­ni­co­s, pro­gra­ma­ción en ge­ne­ra­l, lo que sea, con­se­guí­te un lu­gar más o me­nos có­mo­do, más o me­nos ais­la­do, con un ca­te­ring ra­zo­na­ble, y tus 50 geeks más ami­go­s, y di­vertí­te.

Ca­paz que sa­le al­go útil tam­bién.


Contents © 2000-2020 Roberto Alsina