Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

New mini-project: Gyro

History

Facu­batis­ta: ralsi­na, yo, vos, cerveza, un lo­cal-wik­i-server-he­cho-en-un-­solo-.py-­con-in­ter­faz-web en tres ho­ras, pen­sa­lo

Facu­batis­ta: ralsi­na, you, me, beer, a lo­cal-wik­i-server-­done-in-one-.py-with­-we­b-in­ter­face in three hours, think about it

/images/gyro-1.thumbnail.png

The next day.

So, I could not get to­geth­er with Facu, but I did sort of write it, and it's Gy­ro. [1]

Technical Details

Gy­ro has two part­s: a very sim­ple back­end, im­ple­ment­ed us­ing San­ic [2] which does a few things:

  • Serve stat­ic files out of _stat­ic/

  • Serve tem­plat­ed mark­down out of pages/

  • Save mark­down to pages/

  • Keep an in­dex of file con­tents up­dat­ed in _stat­ic/in­dex.js

The oth­er part is a web­page, im­plem­nt­ed us­ing Boot­strap [3] and JQuery [4]. That page can:

  • Show mark­­down, us­ing Show­­down [5]

  • Ed­it mark­­down, us­ing Sim­­pleMDE [6]

  • Search in your pages us­ing Lunr [7]

And that's it. Open the site on any URL that doesn't start with _static and contains only letters and numbers:

  • http://lo­­cal­host:8000/My­­Page : GOOD

  • http://lo­­cal­host:8000/My­Dir/My­­Page: BAD

  • http://lo­­cal­host:8000/__­­foo­bar__: BAD

At first the page will be sort of empty, but if you edit it and save it, it won't be empty anymore. You can link to other pages (even ones you have not created) using the standard markdown syntax: [go to Foo­Bar](­Foo­Bar)

There is re­al­ly not much else to say about it, if you try it and find bugs, file an is­sue and as usu­al patch­es are wel­come.


La Importancia de los Dedos en el Pensamiento Informático

Pen­sar con cosas que no sean el cere­bro es descal­i­fi­ca­to­ri­o: vos pen­sás con el cu­lo, vos pen­sás con el pene. Es una vari­ante de hac­er cualquier cosa con la parte in­cor­rec­ta del cuer­po, porque yo es­cri­bo con los co­dos, el­la pro­gra­ma con las patas, etc. Tal vez por eso me sien­to in­có­mo­do cuan­do em­piezo un proyec­to nuevo, porque sien­to una pi­cazón in­de­cente de em­pezar a pe­gar­le a las teclas con las yemas, co­mo si las ideas de co­mo im­ple­men­tar cosas no salier­an de mi cabeza, co­mo si bro­taran de mis de­dos, co­mo si fluy­er­an por mis bra­zos, co­mo Pal­pa­tine elec­tro­cu­tan­do a Darth Vader, con esa pre­po­ten­cia Arl­tiana de no poder con­ver­sar sino ti­pear en orgul­losa soledad pro­gra­mas que encier­ren la vi­o­len­cia de un cross a la mandíbu­la, y "que los eu­nucos bufen".

Y no, no es la man­era ide­al de hac­er las cosas, sospe­cho, en el mis­mo sen­ti­do que cha­par en la primera ci­ta o to­car ese cu­lo con­sen­ti­do en el primer lento de Air Sup­ply fueron de­ci­siones que parecieron bue­nas en el mo­men­to pero mu­chos hemos vivi­do para lamen­tar, pen­sar de­masi­a­do con los de­dos pro­duce códi­go de mier­da, co­mo era de mier­da el novi­az­go que em­pezó en aquel asalto, pero es real­mente códi­go de mier­da si es códi­go que ex­iste com­para­do con el teóri­co novi­az­go con la chi­ca que no quiso bailar con un­o? No, es códi­go co­pado, es códi­go gau­chi­to, es códi­go con savoir faire.

Pen­sar de­masi­a­do es some­terse al wa­ter­fall in­te­ri­or, que es el pe­or wa­ter­fal­l, y sí, a ve­ces he pen­sa­do un pro­gra­ma muy lenta­mente du­rante cin­co años, de­ján­do­lo madu­rar en mi in­te­ri­or co­mo una Tahi­na spectabilis que flo­rece ca­da cien años, pero re­cuer­den que la flor que pro­duce huele co­mo un cadáver y la plan­ta muere in­medi­ata­mente. Los proyec­tos maduros son proyec­tos pu­drién­dose, es un equi­lib­rio fi­no que no cualquiera puede cam­i­nar, no so­mos to­dos Philippe Pe­tit, no sabe­mos cruzar de una torre a la otra so­bre una so­ga, nos cae­mos co­mo King Kong, trepa­dos a una torre que no en­ten­de­mos pen­san­do en Jes­si­ca Lange.

La pro­gra­mación no es prog rock, no es Lark Tongues in As­pic, pro­gra­mar es, el 90% del tiem­po, los mis­mos cu­a­tro acordes de Sheena is a Punk Rock­er, cam­bi­a­dos de lu­gar, más rápi­do o más lento, mien­tras hacés temas de dos min­u­tos porque tu pa­pá no te quiso cuan­do eras chico, es recor­dar que el primero se tira, co­mo el mate, que el primero te lo re­galan el se­gun­do te lo venden, que por eso el primero lo re­galás, el se­gun­do lo hacés boni­to y lo re­galás tam­bién, que cara­jo.

Y mien­tras tan­to, es­cuchen "Co­mo sal­va­jes" de At­taque 77, que du­ra tres min­u­tos, te da ganas de salir a patear bol­sas de ba­sura por la calle, y es un cuen­to de sci­fi me­di­ana­mente de­cen­te, no per­fec­to, pero mu­cho mejor que el que no es­cribiste.

Changes in this blog

I have made a few changes in how this blog is gen­er­at­ed and what fea­tures are en­abled.

Similarity Plugin

I have en­abled the sim­i­lar­i­ty plug­in and dis­abled the equiv­a­lent fea­ture pro­vid­ed by Dis­qus. In gen­er­al, it seems this plug­in pro­duces more whim­si­cal con­nec­tions which is a big plus. It may lead you to dis­cov­er very ran­dom things I wrote. I know it re­mind­ed me of things I did not re­mem­ber writ­ing!

Continuous Import

I have en­abled the con­tin­u­ous im­port plug­in which will au­to­mat­i­cal­ly merge some oth­er as­pects of my on­line pres­ence with this blog. Cur­rent­ly it has sup­port for goodreads (which I al­ready men­tioned be­fore) and youtube (which I have not), so you will see short book re­views and ran­dom videos I make.

Ex­am­ples: goodreads and youtube

This plug­in can the­o­ret­i­cal­ly sup­port any­thing that pro­vides a RSS/Atom feed and lets you ap­ply cus­tom tem­plates to the con­tent so you end up with pret­ty posts in all cas­es. If you are in­ter­est­ed in us­ing it for some oth­er ser­vice, feel free to ask me about it.

Front Page

For the first time ev­er, the front page of this site is no longer the blog, but a land­ing page.

Theme

At some point in the fu­ture I may switch to a more cus­tom­ized the­me, but that's not in any spe­cif­ic roadmap, it will hap­pen when it hap­pen­s. In the mean­time, this is now us­ing the Lu­men bootswatch and am ex­per­i­ment­ing with us­ing Flow­Type for a more read­able au­to­mat­ic font size.

I am now using almost an IDE

I have long been a pro­po­nent of sim­ple text ed­i­tors.

Not for me was emac­s, with its mul­ti­tude of modes and mag­i­cal elisp code to do ev­ery­thing.

Not even vim with its mul­ti­tude of ex­ten­sions achiev­ing mag­i­cal pro­duc­tiv­i­ty with three key­strokes.

Not even would I use the ubiq­ui­tous jet­brains IDE with mag­ic refac­tor­ing that writes code on its own.

No, for twen­ty years or so I have writ­ten my code us­ing a plain text ed­i­tor. Un­til re­cent­ly, that meant kwrite. Not even kate. Kwrite, the one that is slight­ly more pow­er­ful than notepad.

But then I got a new job, and ev­ery­one us­es an IDE so I start­ed think­ing... I must be miss­ing some­thing.

Be­cause if ev­ery­one is do­ing it dif­fer­ent­ly from you, then one of the fol­low­ing things is like­ly to be true:

  • ev­ery­one is wrong
  • it's pure­ly an opin­ion thing and it does­n't mat­ter much
  • you are miss­ing out

You know you are old once you as­sume the first. Since I am go­ing through some sort of weird mid life cri­sis I am forc­ing my­self to choose the last op­tion most of the time. So, I start­ed try­ing out stuff. Which is why I no longer use bash. Or uni­ty. Or KDE. But those are sto­ries for some oth­er bon­fire, this one is about my text ed­i­tor midlife cri­sis.

Atom

It's huge. And slow. Like, re­al­ly slow. And the ex­ten­sion qual­i­ty is very un­even. For ex­am­ple, all the ter­mi­nals felt wrong.

Once it start­ed drag­ging af­ter be­ing open for a cou­ple of days... well, I re­moved it and smug­ly went back to my old work­flow.

And then I tried...

Pycharm

The ex­ten­sion qual­i­ty was soooo much bet­ter! And some are just awe­some. The way you can choose a vir­tualenv in­ter­preter for a project is awe­some.

Com­pared to Atom it's down­right snap­py!

The on­ly things I did not like were:

  • So much mag­ic in place, some­times things on­ly worked in the IDE.
  • Too slow to start, so I still had to use a plain text ed­i­tor for ca­su­al ed­it­s.
  • At one point, things start­ed to rot, and func­tions that had been work­ing fine start­ed to mis­be­have.

So then I had my goldie­locks mo­men­t...

VSCode

I was ex­pect­ing to hate it. It's called Vis­ual Stu­dio! It comes from Mi­crosoft! It's elec­tron-based like Atom!

Yet, I loved it at first sight.

Not go­ing to go over many de­tails be­cause I am not in the busi­ness of con­vinc­ing peo­ple of things but here are some of the high­light­s:

  • Good python sup­port, in­clud­ing vir­tualen­vs, for­mat­ting, au­to­com­plete, refac­tor­ing, de­bug­ger, etc.
  • Good Go sup­port.
  • Nice ter­mi­nal gad­get! Ctr­l+click to open files men­tioned in the ter­mi­nal!
  • Good mark­down/reSt sup­port in­clud­ing pre­views
  • The "com­pared to work­ing tree" view is ge­nious
  • If you run "vs­code some­file" in the ter­mi­nal, it opens in the cur­rent vs­code.
  • The set­tings mech­a­nism and UX are a great idea.
  • It's fast enough
  • The UI is fair­ly min­i­mal, so most of the time it will look like my pre­vi­ous work­flow used to look: two text files open side by side.
  • Test run­ner in­te­gra­tion is neat.
  • In Ubuntu you can install it as snap install vscode --classic ... takes all of 30 seconds. And it's updated forever.
  • Lots and lots and lots of de­cent qual­i­ty ex­ten­sion­s.

So, all in all it does all the things I liked from the IDE side of the uni­verse while not mak­ing the things I liked from text ed­i­tors less con­ve­nien­t. And that's why I use it now.

Cumulus

Review:

So, Al­pha­bet owns Uber and they are ac­tu­al­ly Way­mos. And Al­pha­bet is owned by this daugh­ter of chi­nese im­mi­grants that likes bas­ket­bal­l, and Steph Cur­ry is a druglo­rd. More or less that's the idea. Not re­al­ly my cup of tea, but not hor­ri­ble by any mean­s.


Contents © 2000-2022 Roberto Alsina