Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Publicaciones sobre python (publicaciones antiguas, página 79)

PyCamp 2012: Día 2

https://p.twimg.com/AxO0roICMAAfLJd.jpg

Esa es una in­te­re­san­te ara­ña.

  • Des­­pe­r­­ta­­do 10 ve­­ces po­r­­que Da­­vid Li­­tvak no sa­­be apa­­gar la ala­r­­ma. Odian­­do "Good Day Subs­hi­­ne" de los Bea­­tle­s. ¡Pe­r­­dón Ri­n­­go!

  • Apren­­dí so­­­bre Ce­­le­­r­­y/­­Fla­sk/­­Ju­­gge­r­­nau­­t. Ma­­ña­­na lo voy a usar pa­­ra la idea del ho­s­­ting en Niko­­­la. Hu­­go Rus­­ci­­tti ya hi­­zo una gran pa­r­­te.

  • Ayu­­dé a Ma­r­­tín Gai­­tán a me­­jo­­­rar las ga­­le­­rías de Niko­­­la (es­­tán mu­­cho me­­jo­­­r)

  • Im­­ple­­men­­té lis­­ta­­dos pa­­ra Niko­­­la

  • Me tre­­pó la pie­r­­na una ara­­ño­­­ta

  • Ce­­na­­mos asa­­do!

  • Jue­­gué con au­ti­­tos a co­n­­trol re­­mo­­­to.

  • Vi un pi­­be ma­­la­­ba­­rean­­do mien­­tras an­­da­­ba en mo­­­no­­­ci­­clo

  • Ju­­gué en el to­r­­neo de ping pong (1-1, afue­­ra en la fa­­se de gru­­po­­s)

  • Arre­­glé una pi­­la de bugs que salían cuan­­do im­­ple­­men­­ta­­ba co­­sas.

Ma­ña­na: ha­ckear el hos­ting de Niko­la to­do el día.

Nuevo Feature en Nikola: Listados

La idea es mos­trar pe­da­zos de ar­chi­vos en los pos­ts, dan­do un li­nk al ar­chi­vo com­ple­to, que ha­ga un re­sal­ta­do ra­zo­na­ble (u­san­do pyg­men­ts), y que la sin­ta­xis pa­ra me­ter­lo en los pos­ts no sea muy ho­rren­da, así la pue­do usar pa­ra al­gu­nos de mis pro­yec­tos de tu­to­ria­les o li­bro­s.

Acá hay un ejem­plo:

Sys­tem Me­ss­age: ERRO­R/3 (<s­­tri­n­­g>, li­­ne 8)

Error in "lis­tin­g" di­rec­ti­ve: unk­no­wn op­tio­n: "s­tar­t-a­t".

.. listing:: md.py python
   :start-at: def compile_html
   :end-before: output =

Sys­tem Me­ss­age: ERRO­R/3 (<s­­tri­n­­g>, li­­ne 12)

Error in "lis­tin­g" di­rec­ti­ve: unk­no­wn op­tio­n: "s­tar­t-a­t".

.. listing:: md.py python
    :start-at: def compile_html
    :end-before: output =

To­da­vía no es­tá mer­gea­do en mas­te­r, pe­ro fal­ta po­co.

PyCamp Día 1

  • Le­­van­­ta­­do a las 6A­­M, y des­­pués de to­­­mar tre­­nes, co­­­le­c­­ti­­vos y au­­to­­­mó­­­vi­­le­s, lle­­ga­­mos al me­­dio­­­día. Li­n­­do lu­­ga­­r, ha­­ce frío. Te­­ne­­mos cu­­che­­ta­s.

  • Pre­sen­­ta­­mos idea­s, vo­­­ta­­mos los slo­­­ts de tra­­ba­­jo

  • Im­­ple­­men­­té un fea­­tu­­re pa­­ra ob­­te­­ner te­­mas de http://­­bootswa­­tch.­­com

  • Im­­ple­­men­­té pri­­mer dra­­ft de pi­­pe­­li­­nes pa­­ra po­s­­t-­­pro­­­ce­sar ar­­chi­­vos ge­­ne­­ra­­do­­s.

  • Ma­r­­tín Gai­­tán es­­tá tra­­ba­­jan­­do en me­­jo­­­rar las ga­­le­­rías de imá­­ge­­nes

  • Hu­­go Rus­­ci­­tti es­­tá ha­­cien­­do ma­­gia con ce­­le­­ry y fla­sk pa­­ra crear un se­r­­vi­­cio de ho­s­­ting de Niko­­­la

  • Me di­­ve­r­­tí con otras co­­sas, ha­­blé con ba­s­­tan­­te gen­­te.

  • Ju­­gué te­­nis de me­­sa (1 ga­­na­­do, 1 pe­r­­di­­do)

  • Me die­­ron una re­­me­­ra de fi­­re­­fox

  • Me die­­ron un ja­­rro de Ni­n­­ja-I­­DE que ca­m­­bia de co­­­lor con la te­m­­pe­­ra­­tu­­ra.

Aho­ra, ago­ta­do, al so­bre.

Nikola Ideas para PyCamp

Si vas a Py­Camp (o si no vas tam­bién), sos bien­ve­ni­do a unir­te a mí en la im­ple­men­ta­ción de es­tas co­sas en una ma­ra­tón de pro­gra­ma­ción em­pe­zan­do el vier­nes y si­guien­do to­do el fin de se­ma­na.

Ten­go al­gu­nas ideas en la ca­be­za, pe­ro quie­ro más. Es­tas son las que ten­go, agre­guen en los co­men­ta­rio­s:

Galería de Código

Co­mo ga­le­rías de imá­ge­nes, pe­ro pa­ra có­di­go. Po­nés el có­di­go en una car­pe­ta y va a apa­re­cer her­mo­so. Con la adi­ción de una di­rec­ti­va "lis­tin­g" de do­cu­ti­l, va a ha­cer que mos­trar có­di­go en de­ta­lle o en con­tex­to sea sim­ple y po­de­ro­so, ha­cien­do a Niko­la más atrac­ti­vo pa­ra blo­gger­s-­pro­gra­ma­do­res.

Pulir Galerías

Las ga­le­rías de imá­ge­nes es­tán im­ple­men­ta­das y an­dan, pe­ro ne­ce­si­tan pu­li­do. Se pue­den ha­cer más efi­cien­tes en re­d, po­ner­les fee­ds RSS, ga­le­rías re­cur­si­va­s, me­ta­da­ta, tex­tos en las imá­ge­nes, y mu­cho má­s.

Pipelines

¿Que­rés mi­ni­mi­zar to CSS? ¿Em­pro­li­jar tu HT­M­L? ¿A­chi­car las imá­ge­nes? ¿A­pli­car trans­for­ma­cio­nes al HT­M­L? ¿Co­sas que no me ima­gi­no?

Los pi­pe­li­nes trae­rían el po­der del she­ll unix a un ge­ne­ra­dor de si­tio­s, per­mi­tien­do­te co­nec­tar fil­tros pro­vis­tos por niko­la o por la co­mu­ni­dad co­mo si fue­ran le­go­s.

Editor Online (Alva)

Si bien los ge­ne­ra­do­res de si­tios es­tá­ti­cos tie­nen mu­chos be­ne­fi­cio­s, tie­nen un la­do ma­lo: te­nés que edi­tar los ar­chi­vos en tu pro­pio equi­po.

Un edi­tor on­li­ne pa­ra Niko­la te per­mi­te edi­tar­los via web y pu­bli­car des­de cual­quier la­do.

Nikola Hosting (Shoreham)

¿Por qué no crear un ser­vi­cio en que el usua­rio ali­men­ta de pos­ts al ser­ver y el ser­ver pu­bli­ca? La ali­men­ta­ción pue­de ser vía un DV­CS, un ser­vi­cio de sync de ar­chi­vo­s, edi­tor on­li­ne, o lo que sea, y el re­sul­ta­do se pu­bli­ca in­me­dia­ta­men­te o to­can­do un bo­tó­n.

Borradores

Yo no ha­go bo­rra­do­res. Yo es­cri­bo y man­do. Pe­ro otros pre­fie­ren en­fo­ques mas cau­te­lo­sos y me­nos de­men­tes. En­ton­ce­s, ¿Có­mo de­be­rían fun­cio­nar los bo­rra­do­res? Si bien se­gu­ra­men­te es fá­cil de im­ple­men­tar es una ta­rea ex­ce­len­te pa­ra un prin­ci­pian­te, don­de hay que pen­sar más acer­ca de lo que se quie­re lo­grar y la ex­pe­rien­cia que se brin­da al usua­rio que acer­ca del có­di­go en sí.

En­ton­ce­s, si hay al­go que vis­te en otro ge­ne­ra­dor de blogs es­tá­ti­cos que Niko­la no tie­ne, o te­nés una idea y ne­ce­si­tás un fra­mewo­rk don­de me­ter­la, o te­nés una idea lo­ca lo­ca lo­ca que na­die quie­re to­car ni con un pun­te­ro lá­se­r...

CON­TA­ME.

Python no es un formato de archivo de configuración.

NO HA­GAS ESO, A ME­NOS QUE TEN­GAS UNA MUY BUE­NA RA­ZÓN

Si te­nés que pre­gun­tar si es bue­na idea, no te­nés una bue­na ra­zó­n. Si es­tás se­gu­ro de que te­nés una bue­na ra­zó­n, en­ton­ces tal vez ten­gas una.

Hay mu­chos mo­ti­vo­s, pe­ro voy a men­cio­nar do­s, y ofre­cer una su­ge­ren­cia.

Py­thon es só­lo lec­tu­ra, y con­fi­gu­rar no es pro­gra­ma­r.

Se­gu­ro, es fá­cil usar py­thon co­mo ar­chi­vo de con­fi­gu­ra­ció­n. Lo im­por­tás y ahí es­tán los da­to­s. Pe­ro aho­ra tu sin­ta­xis de con­fi­gu­ra­ción es un len­gua­ge de pro­pó­si­to ge­ne­ra­l, que pue­de ha­cer co­sas co­mo mos­trar un diá­lo­go cuan­do lo leé­s.

Tu con­fi­gu­ra­ción aho­ra de­pen­de de to­da la in­ter­ne­t, el har­dwa­re, el cli­ma, en­tra­da in­te­rac­ti­va, y el so­ftwa­re ins­ta­la­do en el sis­te­ma. ¿Po­de­ro­so? Sí. ¿Bue­na idea? A ve­ce­s. Pe­ro tu apli­ca­ción aho­ra no pue­de con­fi­gu­rar­se a sí mis­ma.

Si que­rés guar­dar al­gún ti­po de con­fi­gu­ra­ció­n, no vas a po­de­r. Así que pa­ra la ma­yo­ría de las apli­ca­cio­nes in­te­rac­ti­vas de es­cri­to­rio sim­ple­men­te no sir­ve, y no de­be­rías ha­cer­lo, nun­ca.

¿Y qué pa­sa con he­rra­mien­tas no in­te­rac­ti­va­s? Bue­no, usar py­thon sig­ni­fi­ca que otras he­rra­mien­tas tam­po­co pue­den es­cri­bir en ese ar­chi­vo, lo que te saca po­de­r. El po­der de he­rra­mien­tas usan­do he­rra­mien­tas es una de las co­lum­nas que sos­tie­nen la com­pu­ta­ción mo­der­na, y te aca­bás de ra­jar a vos mis­mo de ese eco­sis­te­ma. De­pen­dien­do de qué len­gua­je usa la otra he­rra­mien­ta, ca­paz que ni si­quie­ra pue­de leer tu con­fi­gu­ra­ció­n.

¿Y qué pa­sa cuan­do al­guien te di­ce "po­né es­to en tu con­fig pa­ra ha­cer X"? Bue­no, en ge­ne­ra­l, si el ar­chi­vo apro­ve­cha que es­tás usan­do py­thon pa­ra ha­cer al­go in­te­re­san­te, no po­dés es­tar se­gu­ro de que an­de. Es co­mo co­piar y pe­gar có­di­go de un fo­ro a tu pro­gra­ma. ¿Vos es­pe­ra­rías que an­de?

En­ton­ce­s, no po­dés es­cri­bir­lo, no po­dés sa­car ayu­da de in­ter­ne­t, no po­dés usar he­rra­mien­tas que ac­ce­dan a ese ar­chi­vo.

Tam­bién sig­ni­fi­ca que pa­ra ma­ne­jar el ca­so más ge­ne­ral de có­mo con­fi­gu­rar tu apli­ca­ció­n, ne­ce­si­tás ser pro­gra­ma­do­r. Pa­ra la enor­me ma­yo­ría de las apli­ca­cio­nes, eso no es ne­ce­sa­rio. Si tu apli­ca­ción só­lo pue­de ser con­fi­gu­ra­da por pro­gra­ma­do­res, es muy po­si­ble que ya ha­yas fra­ca­sa­do en su de­sa­rro­llo (hay ecep­cio­nes ob­vias y otras no tan­to­).

¡Ah, el con­se­jo! Bue­no, es "no ha­gas eso­". Y el co­ro­la­rio es "con­fi­gu­rá usan­do da­to­s, no có­di­go­". Usá INIs, XM­L, YA­M­L, JSO­N, o ar­chi­vos de tex­to, o lo que quie­ra­s, pe­ro no có­di­go.

PD: Mi úl­ti­mo pro­yec­to, Niko­la usa py­thon co­mo len­gua­je de con­fi­gu­ra­ció­n. Creí te­ner una bue­na ra­zó­n. No era cier­to.


Contents © 2000-2020 Roberto Alsina