Skip to main content

Ralsina.Me — Roberto Alsina's website

Trabajar Gratis no es Gratis, o Meritocracia mis Polainas.

A ve­ces uno hace cosas gratis. Yo lo hago, vos lo hacés, to­dos lo hace­mos. A ve­ces esas cosas que hace­mos gratis traen un pa­go por otro lado:

  • Te hacés cono­ci­do, y eso te per­mite obten­er al­go.
  • Te deben un fa­vor, y te lo ter­minás co­bran­do.
  • Sim­ple­mente te sen­tís bi­en por hac­er es­o, gratis.

Pero siem­pre, siem­pre, siem­pre, al­guien pa­ga.

  • Pa­ga el que te da ex­posi­ción, dán­dotela.
  • Pa­ga el que te debe el fa­vor, de­volvién­do­lo.

Pero cuan­do hacés al­go gratis so­la­mente porque te hace sen­tir bi­en hac­er­lo ... ¿quién lo pa­ga? ¿Ese no es tan ob­vio, no? Si doy un cur­so gratis, si ha­go un pro­gra­ma open source, si pin­to una es­cue­la, si paseo al per­ro de un ve­ci­no, si te cui­do a tu hi­jo... ¿quién pa­ga?

Porque al­guien siem­pre pa­ga. En par­tic­u­lar, siem­pre al­guien pa­ga si uno labu­ra gratis. Si me que­do dos ho­ras tarde sin pedir ho­ras ex­tra (cosa que no sucede), pa­go yo. Tal vez no en­seguida, pero lo pa­go en no pasar esas dos ho­ras con mi fa­mil­i­a, o en no hac­er al­go que yo quería hac­er.

Si ha­go un tra­ba­jo que nor­mal­mente se pa­garía pero lo ha­go "de on­da", lo pa­ga el que no lo va a hac­er co­brán­do­lo. Si le ha­go un soft a al­guien en­tonces el­los no se lo van a com­prar a nadie.

To­do ese soft­ware open source que vos ves, flotan­do por la in­ter­net co­mo si surgiera de una fuente in­agotable de soft­ware gratis, es­tá pa­gado, es­tá pa­ga­do con los fines de se­m­anas y las noches de un mil­lón de de­sar­rol­ladores que lo pa­garon. Es­tá pa­ga­do con las quiebras de miles de em­pre­sas de soft­ware que no ex­is­ten más porque sus pro­duc­tos aho­ra son com­modi­ties.

Sí, prob­a­ble­mente val­ió la pe­na. Yo tal vez no iba a hac­er na­da más in­tere­sante en mis 20s y mis 30s, pero sabés qué, tal vez lo hu­biera he­cho. Tal vez hu­biera toma­do cosas que no tomé, vi­a­ja­do a lu­gares que no vi­a­jé, cono­ci­do gente que no conocí. A cam­bio, hay un­os cuan­tos proyec­tos aban­don­a­dos en Github y al­guno que no.

Sí, por otro la­do co­bré, porque hace 17 años que ca­da tra­ba­jo que ten­go en parte lo he con­segui­do por to­do eso que hice "gratis".

Pero tam­bién se pa­ga de otra man­er­a: se pa­ga en que se es­pera que pase. Se pa­ga en que hoy en día por lo menos yo siem­pre bus­co que to­do el soft­ware sea gratis. ¿Y qué pasaría si en 2025 nos damos cuen­ta que era to­do una bur­bu­ja? ¿Qué hace­mos si de golpe re­sul­ta que no, que es­ta man­era de pro­ducir soft­ware no fun­ciona? ¿Bus­camos otra?

Se es­pera que ha­gas proyec­tos gratis para pro­bar tu val­or. Los posi­bles em­pleadores es­per­an poder ver un proyec­to tuyo en Github, y yo soy cul­pa­ble de de­cir­le a pibes "ha­gan un proyec­to, ayu­da a con­seguir laburo" ... ¡porque es cier­to! ¡ayu­da! Si hacés un proyec­to con códi­go no hor­ren­do, me­di­ana­mente or­ga­ni­zado, etc. es casi fá­cil con­seguir un puesto en al­gu­na em­pre­sa.

Va­mos de linkedin a top­tal car­gan­do nue­stros proyec­tos igual que un apren­diz de her­rero iba de un pueblo a otro con su yun­que, que era su "mas­ter­piece", lo que prob­a­ba que sabía lo que hacía.

Y, lo pe­or de todo, lo pa­gan los que no pueden tomarse sus 20s pro­ducien­do códi­go "vis­i­ble" para im­pre­sion­ar a sus fu­tur­os pa­trones. Tra­ba­jar gratis es un priv­i­le­gio que ten­emos al­gunos, y los que no pueden hac­er­lo ar­ran­can en desven­ta­ja. Es co­mo ser "mer­i­to­rio ju­di­cial". Si podés tra­ba­jar gratis un­os años (porque te ban­can, o lo que sea) hacés es­o, y te va a ser más fá­cil en­trar al poder ju­di­cial. Y los que no pueden, bueno, no serán ju­di­ciales. O no ten­drán la mis­ma car­rera en soft­ware.

Porque no tenían ese priv­i­le­gio. Porque no pudieron tirar sus fines de se­m­ana en es­o, o in­ver­tir­los en su fu­tu­ra car­rera, o co­mo quieras de­cir­le.

Y de­spués, claro, para los que re­clu­ta­mos es muy fá­cil de­cir "claro, este mucha­cho mirá, tiene es­to en GH, y es­to otro, y par­ticipó acá, es groso" ... y nos com­pramos la idea de mer­i­toc­ra­ci­a, de que ob­vi­a­mente, es­ta­mos mi­di­en­do una cosa re­al, que un can­dida­to la tiene y otro no, en­tonces no es­ta­mos dis­crim­i­nan­do. ¿Có­mo po­dríamos es­tar dis­crim­i­nan­do si es­ta­mos mi­di­en­do cosas ob­je­ti­vas?

Y nos mo­lesta­mos si al­gu­na vez nos di­cen que tal vez, que se yo, es­ta­mos dis­crim­i­nan­do con­tra los que no son co­mo nosotros, con­tra los que no tenían li­bres las noches de­spués de la facu para boludear con la com­pu, o con­tra los que em­pezaron a es­tu­di­ar más tarde por lo que fuera y ya tenían un laburo, o con­tra las mu­jeres, o con­tra los de otra clase so­cial, etc.

¿Nosotros? Que locu­ra. Co­mo que dis­crim­i­namos nosotros. Nosotros so­mos racionales. So­mos mer­i­tocráti­cos. So­mos ob­je­tivos. Y so­bre todo, so­mos buenísi­mos mintién­donos.

Gyro 0.3

Gyro grows some legs

It was just a few days ago that I start­ed an ex­per­i­men­tal wi­ki project called Gy­ro ... it's al­ways fun when a project just grows fea­tures or­gan­i­cal­ly. It does this, so it makes sense to make it do that, and then this oth­er thing is easy, and so on.

So, here is what hap­pened with Gy­ro:

  • Fed­eri­co Cin­golani made it run on dock­er
  • I added some fea­tures:
    • UI for cre­at­ing new pages
    • UI for delet­ing pages
    • Sup­­port for mul­ti­lev­el pages (so you can have "foo" and "foo/bar")
    • Au­­to­­com­­ple­­tion with ti­­tles in search
    • Bread­­crumbs so you can ac­­tu­al­­ly fol­low the mul­ti­lev­el pages
    • Lots of code cleanup
    • Themes (via Bootswatch)
    • Cus­­tom fonts (via Google We­b­­Fonts)
    • Au­­to­­mat­ic link­ing for Wik­i­­Words if you like that kind of thing

And, I pub­lished it as a Google Chrome Ex­ten­sion ... so you can now have a wi­ki on your chrome. If you saw how it worked be­fore, you may won­der how it be­came an ex­ten­sion, since those are pure Javascrip­t. Well... I made it have plug­gable back­end­s, so it can ei­ther use the old­er San­ic-based python API or use Lo­cal­Stor­age and just save things in­side your brows­er.

The be­hav­ior is iden­ti­cal in both cas­es, it's just a mat­ter of where things are saved, and how they are re­trieved. The goal is that you should not be able to tell apart one im­ple­men­ta­tion from the oth­er, but of course YM­MV.

And since I was al­ready do­ing a chrome ex­ten­sion ... how hard would it be to run it as an elec­tron "desk­top" ap­p? Well, not very. In fac­t, there are no code changes at al­l. It's just a mat­ter of pack­ag­ing.

And then how about releasing it as a snap for Ubuntu? Well, easy too, just try snap install gyro --beta

All the Gyros

Is it fin­ished? Of course not! A non ex­haus­tive list of miss­ing MVP fea­tures in­clude:

  • Im­port / Ex­port da­ta
  • A sync­ing back­end
  • Gen­er­al UI pol­ish (wid­get fo­cus, kbd short­cut­s)
  • Bet­ter er­ror han­dling
  • Gen­er­al test­ing

But in any case, it's nice to see an app take shape this fast and this pain­less­ly.

New mini-project: Gyro


Facu­batis­ta: ralsi­na, yo, vos, cerveza, un lo­cal-wik­i-server-he­cho-en-un-­­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-­­-we­b-in­ter­face in three hours, think about it


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.


Why Gy­ro? Gy­ros are de­li­cious fast food. Wi­ki means quick. Al­so, I like Gy­ros. to check it out. So, since this was a toy pro­jec­t, why not?


Why San­ic? Ev­er since Ale­jan­dro Lozanoff men­tioned a flask-­like frame­work done with the in­ten­tion to be fast and async I want­ed


Why boot­strap? I know more or less what it does, and the re­sult­ing page is not to­tal­ly hor­ri­ble.


Why JQuery? It's easy, small and I sort of know how it work­s.


Why Show­down? It's sort of the stan­dard to show mark­down on the we­b.


Why Sim­pleMDE? It looks and works awe­some!


Why Lun­r? It works and is small­er than Tipue which is the on­ly oth­er sim­i­lar thing I know.

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.


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.

Contents © 2000-2021 Roberto Alsina