Skip to main content

Ralsina.Me — Roberto Alsina's website

Possible New Project

I'm Old

I have not start­ed a re­al se­ri­ous open source project in a while. Ok, that's a lie. I have start­ed a num­ber of things and aban­doned them, but the last soft­ware project I start­ed that had last­ing pow­er was Niko­la and that was in 2012!

I turned 7**2 a couple weeks ago, so I am officially old (it's the law!) and us olds get bored because we don't get all the tiktok and whatever you youn'uns do.

So, I am get­ting itchy, and have been think­ing of start­ing some­thing. Af­ter see­ing a num­ber of retro­com­put­ing videos, it turns out the ZX-81 of my child­hood is vin­tage enough that they are ac­tu­al­ly old­er than ENI­AC was when I got it.

And it got me think­ing ... was there any­thing in that kind of com­put­ers that is worth sav­ing for some­thing oth­er than nos­tal­gia's sake? Sure, play­ing Mon­ty on The Run is as fun as al­ways and peo­ple still re­lease soft­ware for C64 and sim­i­lar an­cient com­put­er­s.

How­ev­er ... well, that sort of reeks of masochis­m, be­cause de­vel­op­ing for those sys­tem was ab­surd­ly painful. You can get the same lev­el of pain cod­ing for pi­co8 and peo­ple can play your games much eas­i­er.

There's al­so the retro-hard­ware thing but ... hon­est­ly, I like mod­ern hard­ware much bet­ter! For ex­am­ple, a Col­or Maximite looks much more fun that a C64 to de­vel­op in.

But stil­l.

There is this feel­ing that cur­rent com­put­ers are miss­ing some­thing.

Why not ex­plore it a lit­tle? I have a the­o­ry.

The Theory

Mod­ern com­put­ers are made to run things, old com­put­ers were not.

Get­ting some­one else's soft­ware in­to your com­put­er in 1984 was ab­surd­ly dif­fi­cult.

  1. Get a com­put­er (try do­ing that while liv­ing in Ar­genti­na in 1984)
  2. Now what? There's no In­ter­net
  3. Read the man­u­al and start cod­ing (yes, the man­u­al for the com­put­er ex­plained how)
  4. Fail
  5. Find some­one else who had a com­put­er and had ac­tu­al soft­ware for it
  6. Get copies. That of­ten in­volved copy­ing au­dio tapes. That would take be­tween 10 and 20 min­utes.
  7. Try out the copy on your com­put­er. Load­ing it in­to the com­put­er would al­so take be­tween 10 and 20 min­utes.

And af­ter that you had ... a port of Man­ic Min­er to C64 with crap­py sound.

So, some of us, we stuck a lit­tle to the oth­er side of those re­mark­able ma­chines. That they boot­ed in­to a de­vel­op­ment en­vi­ron­men­t. That you could make them do shit.

And that's what cur­rent com­put­ers don't do. They don't do shit. They don't in­vite you to start do­ing your own shit. Which is per­fect­ly and ag­gres­sive­ly fine, I don't mind. But I do.

The Plan in My Head

What would the evo­lu­tion of an 80s com­put­er look like nowa­days?

  • It should in­vite you to code and do shit
  • It should run on cheap, com­mod­i­ty hard­ware that is cheap and easy to find and buy
  • It should not do much out of the box. It's a box to do shit not to run shit.

There­fore, how about ...

A disk im­age that you can pop in­to a rasp­ber­ry Pi and...

  • Boots to a lim­it­ed en­vi­ron­ment
  • Where you can do shit
  • With fixed APIs and a pro­vid­ed soft­ware suite so that:
    • You can do some graph­ic­s, eas­i­­ly
    • You can do some sound, eas­i­­ly
    • You can ed­it a pro­­gram, eas­i­­ly
    • You can share it some­how, eas­i­­ly

Why the Pi?

  • It's fixed, known, cheap, sup­port­ed hard­ware.
  • You have IO pins to do ex­tra shit
  • It's cheap
  • Al­so, in­ex­pen­sive

What APIs?

  • Di­rec­t-ad­dress text mode (fake)
  • One or two graph­ics modes. 720p and 1080p?
  • Graph­ic prim­i­tives
  • Sprites! (hey, it's not the 80s with­out sprites)
  • Ba­sic mod play­ing
  • Some beep­ing thingie

What language?

Python. Sor­ry. I am play­ing with it, it's not go­ing to be BA­SIC.

Any weird thing?

Oh yes.

  • No im­port. You get the APIs you get.
  • Pro­grams are one file. You can use pack­ages in your big­boy box over there that has chrome in it.
  • No in­ter­net (no web brows­ing at least) just use your phone.
  • In­clud­ed sprite en­di­tor
  • In­clud­ed Mu­sic track­er

Are you really going to write this?

Well, I'm go­ing to give it a try and see if it's fun to do. If it's not I won't.

Are you looking for collaborators?

Nope. I want to do this so­lo at least for the first few month­s. My cod­ing at ear­ly project stages is way too er­rat­ic and would make ev­ery­one hate me.

What's it called.

It's nos­tal­gic. It's 80s. It has snakes in it. It should be Co­bra Kai.

But be­cause copy­right ex­ist­s, it's Co­bra Py. Or maybe Co­bra Pie, be­cause there's al­so oth­er python things called Co­bra.

h/t to Gui­do de Ca­so for fig­ur­ing out the name.

El antiperonismo imaginario

Ayer vi esa ima­gen en un tweet y no es la pri­me­ra vez que veo al­go pa­re­ci­do. La in­ten­ción es­tá bue­na, la idea es mos­trar "el an­ti­pe­ro­nis­mo tie­ne es­ta ga­la­xia des­lum­bran­te de lu­ces de la in­te­lec­tua­li­da­d, mien­tras que el pe­ro­nis­mo só­lo tie­ne pa­ra mos­trar es­ta guir­nal­da na­vi­de­ña com­pra­da en On­ce"

Des­de ya que si bien esa es la in­ten­ción la eje­cu­ción es pro­ble­má­ti­ca.

Em­pe­ce­mos por lo ob­vio, el ex­po­nen­te del an­ti­pe­ro­nis­mo que te­ne­mos más a ma­no, el que hi­zo la ima­gen, no de­be ser tan bri­llan­te si no sa­be es­cri­bir "E­cha­rri". Pe­ro de­jé­mos­lo pa­sar, por­que hay pro­ble­mas un po­co más se­rio­s.

Al­gún an­ti­pe­ro­nis­ta vi­vo no tie­nen?

Bioy mu­rió en 1999, Bor­ges en 1986, Cor­tá­zar en 1984, Pia­z­zo­lla en 1992, Sá­ba­to en 2011. La re­le­van­cia ideo­ló­gi­ca de una opo­si­ción al pe­ro­nis­mo que ig­no­ra el pe­ro­nis­mo des­de Lu­der por­que es­ta­ba vien­do cre­cer las flo­res des­de aba­jo es, al me­no­s, cues­tio­na­ble.

Si uno bus­ca­ra un li­neup vi­vo de an­ti­pe­ro­nis­tas com­pa­ra­ble al de pe­ro­nis­tas que mues­tra se­ría al­go co­mo el co­lo­ra­do Li­ber­man, Vi­via­na Ca­no­sa, Mi­guel del Se­l, Ra­mon Díaz e Ivo Cu­tza­ri­da, que no se ve ta­aaaan ru­ti­lan­te, no?

Ob­via­men­te es fá­cil ele­gir a ma­no y des­pués de­cir "pe­ro mi­rá que zo­que­tes, es­to es lo me­jor que tie­nen" cuan­do el que eli­gió es uno mis­mo, ha­cien­do pa­sar la elec­ción pro­pia por una de­sin­te­re­sa­da e im­par­cial re­fle­xión de la rea­li­da­d, li­bre de de­ba­te.

Pe­ro aún así, hay un pro­ble­ma mu­cho más de fon­do. Que ese su­pues­to an­ti­pe­ro­nis­mo no exis­te.

Bor­ges es­ta­ba tan opues­to al co­mu­nis­mo de Sa­ba­to co­mo al pe­ro­nis­mo, el co­mu­nis­ta Sá­ba­to no de­be ha­ber apro­ba­do que Pia­z­zo­lla di­je­ra "a no­so­tro­s, los ar­gen­ti­no­s, nos fal­tó un per­so­na­je co­mo Pi­no­che­t. Qui­zás a la Ar­gen­ti­na le fal­tó un po­co de fas­cis­mo en un mo­men­to de su his­to­ria" y de he­cho un al­muer­zo con Vi­de­la le cos­tó la amis­tad de Cor­tá­zar que, des­pués de to­do, era bel­ga y de quien Bioy di­jo "No creo que Cor­tá­zar tu­vie­ra una in­te­li­gen­cia muy des­pier­ta y enér­gi­ca, des­de lue­go, sus con­vic­cio­nes po­lí­ti­cas co­rres­pon­den a con­fu­sos im­pul­sos co­mu­ni­ca­dos por un pa­té­ti­co tan­go in­te­lec­tua­l."

Po­dría se­guir así diez pá­gi­na­s, ar­man­do un pe­lo­tón de fu­si­la­mien­to cir­cu­lar don­de ca­da uno de esos nom­bra­dos cri­ti­ca al si­guien­te des­pia­da­da­men­te, con­ven­cién­do­te de que los otros son po­lí­ti­ca­men­te mal­va­do­s, in­com­pe­ten­tes, o sim­ple­men­te una ban­da de idio­ta­s.

Esa fi­la de "an­ti­pe­ro­nis­ta­s" es un re­jun­te de gen­te con ideas to­tal­men­te in­com­pa­ti­bles en­tre sí que la mi­tad de sus vi­das ni se ha­bla­ban en­tre ellos por­que se caían co­mo el cu­lo por po­lí­ti­ca.

Creo que la elec­ción de esas fi­gu­ras pa­ra re­pre­sen­tar a una su­pues­ta "in­te­lec­tua­li­dad an­ti­pe­ro­nis­ta" di­ce más del an­ti­pe­ro­nis­mo que del pe­ro­nis­mo, y no al­go bue­no. Creo que lo que mues­tra es una in­ca­pa­ci­dad pa­ra for­mar una idea, no di­ga­mos ya una ideo­lo­gía, ex­cep­to en opo­si­ción al pe­ro­nis­mo.

To­ma to­do lo que no es pe­ro­nis­mo y le pe­ga ma­za­zos has­ta que lo me­te en una bol­sa de ga­tos y la mues­tra or­gu­llo­so di­cien­do "es­ta bol­sa de ga­tos lla­ma­da an­ti­pe­ro­nis­mo con­tie­ne a Bor­ges, Bio­y, Cor­tá­za­r, Pia­z­zo­lla y Sa­ba­to" cuan­do en rea­li­dad lo que con­tie­ne son los res­tos he­chos bol­sa de esa po­bre gen­te ca­ga­da a gol­pes.

Por eso "la opo­si­ció­n" hoy en día es un re­fle­jo de lo mis­mo. Es Sanz y Ca­rrió y La­rre­ta y Fer­mi­nio y Ma­cri y Pi­ne­do y Vi­dal y Lous­teau y una com­par­sa cu­yo úni­co fac­tor uni­fi­can­te es que no son pe­ro­nis­ta­s, pe­ro que en cual­quier cir­cuns­tan­cia nor­mal se odia­rían en­tre sí y no pue­den ha­cer una pro­pues­ta co­he­ren­te por­que lo úni­co que los une es no ser pe­ro­nis­tas, lo mis­mo que ese re­jun­te de muer­tos fa­mo­so­s.

Eso, se­ño­ría­s, es pa­té­ti­co.

Lanata, el hombre de las 100 millones de bolsas y otros monstruos imaginarios

Ay­er domin­go 26 de julio de 2020 Jorge Lana­ta di­jo es­to, en tele­visión, sin pon­erse col­orado:

Cor­rec­ta­mente Lana­ta in­for­ma que es una com­pra di­rec­ta, y que no es­tá ad­ju­di­ca­da. Lamentable­mente has­ta ahí lle­ga la parte que in­for­ma cor­rec­ta­mente. Salen al­gunos tex­tuales con ex­pli­ca­ciones.

En el renglón 2 pi­den fun­das mor­tuo­rias por cien mil­lones de unidades

No. No pi­den cien mil­lones de unidades. Pi­den co­ti­za­ciones a provee­dores por has­ta cien mil­lones de unidades. Y si uno va y mi­ra el pliego puede ver lo sigu­ien­te:

  • Se ad­mite co­ti­zación par­cial por renglón Po­drán co­ti­zar, un­o, var­ios o to­dos los ren­glones
  • Se po­drá ad­ju­dicar un renglón par­cial­mente.
  • Ad­ju­di­cación por renglón

Es de­cir:

  • Los provee­dores pueden ofre­cer cualquier can­ti­dad de las cosas que quier­an vender has­ta 100 mil­lones de unidades
  • El es­ta­do puede com­prar cualquier can­ti­dad den­tro de lo que el provee­dor ofrece.

Por lo tan­to, ni al­guien va a vender cien mil­lones de nada, ni nadie va a com­prar cien mil­lones de na­da. El número cien mil­lones no sig­nifi­ca na­da.

so­mos 40

No, Jorge, so­mos 44 y pi­co.

Va a haber gente que se muera dos ve­ces

No, Jorge, na­da más es­tás di­cien­do pavadas para provo­car in­dig­nación de gente que to­davía te cree.

El pliego tiene 816 ren­glones

Si, Jorge, y to­dos di­cen cien mil­lones. ¿No te llamó la aten­ción?

Si bi­en la can­ti­dad de cien mil­lones que so­lic­i­tan es un tope máx­i­mo es cu­rioso que se haya elegi­do una cifra tan el­e­va­da.

¿Por qué? ¿Y si sabés que es un tope máx­i­mo, Jorge, por qué hacés co­mo si se es­tu­viera com­pran­do esa can­ti­dad? Ah si, cier­to que vivís de in­dig­nar gente al pe­do.

Hace fal­ta cien mil­lones de todo?

No, por eso no se com­pran cien mil­lones.

Va­mos a ver a quién se la ad­ju­di­can, a ver que ami­go gana.

No es­tá ad­ju­di­cado, lo con­tás de man­era en­gañosa, y enci­ma te hacés el de­tec­tor pre­mon­i­to­rio de cor­rup­tos. ¿No pasó na­da en la se­m­ana, Jorge?

De­bo con­fe­sar peca­dos de ju­ven­tud. Du­rante el men­e­mis­mo, me caía bi­en Lana­ta. ¿Es que con el Car­lo era tan fá­cil ser opos­i­tor, no?

Pero aho­ra, ver­lo ser así de patéti­co, hablar al pe­do de cosas que son la na­da mis­ma, tratar de in­flar un de­talle buro­cráti­co in­signif­i­can­te, ver co­mo se prende tan­to desin­for­ma­do que lo ve por la tele y le cree ...

De­bo con­fe­sar peca­dos pe­o­res, com­pré un li­bro de cuen­tos que es­cribió Lanata, Po­laroids. Has­ta me gustó un poco, tenía una his­to­ria so­bre co­mo se ro­baron el puente col­gante y yo, santafesino de­spués de todo, me sen­tí vis­to, me sen­tí parte de al­go, co­mo podía ser, che, mirá que lo­co to­do.

Nun­ca te voy a per­donar, Jorge. Nun­ca te voy a per­donar que fun­daste el úl­ti­mo di­ario bi­en es­crito de la Ar­genti­na, Críti­ca, y te fu­maste la gui­ta y ca­gaste a los que tra­ba­ja­ban ahí. Nun­ca te voy a per­donar que sa­bi­en­do es­cribir bi­en te hayas ca­ga­do en vos mis­mo y te hayas con­ver­tido en es­to que sos aho­ra.

Nun­ca te voy a per­donar, Jorge, que te faltes el re­speto de es­ta man­er­a. Que te hayas creí­do cuan­do te di­jeron que eras gra­cioso y hayas des­perdi­ci­a­do de es­ta man­era tu tal­en­to.

Que seas aho­ra es­ta car­i­catu­ra de vos mis­mo.

Es im­per­don­able, Jorge Lanata, que pu­di­en­do ser al­go re­al, seas este imag­i­nario hom­bre de las cien mil­lones de bol­sas.

Soft Skill: Writing

Intro

There is a some­what ar­bi­trary sep­a­ra­tion in tech be­tween soft and hard skill­s.

Hard skills are tech­ni­cal skill­s. Know­ing a pro­gram­ming lan­guage. Un­der­stand­ing a pro­to­col. Ex­pe­ri­ence with a spe­cif­ic piece of soft­ware. Which is all good and nice, of course. Most of us work­ing in tech en­joy these "hard skill­s", or we would work on some­thing else, right?

Soft skills is ev­ery­thing else. Know­ing how to ne­go­ti­ate your sal­lary? Soft. Be­ing good man­ag­ing your tick­et­s? Soft. Com­mu­ni­ca­tion? Pre­sen­ta­tion of knowl­edge? Knowl­edge shar­ing? Soft, soft, soft.

One prob­lem with this sep­a­ra­tion is that the word "hard" in Eng­lish means two things. It means the op­po­site of soft, as when we say "hard­ware" and "soft­ware", but it al­so means dif­fi­cult. There is a sub­lim­i­nal mes­sag­ing that "soft" skills are the easy part, and "hard" skills are the im­por­tant stuff.

This leads to a (in my opin­ion) dam­ag­ing pri­or­iza­tion of skill­s. You can learn a new pro­gram­ming lan­guage in a few days or week­s. You can be flu­ent in a few weeks or month­s. Spe­cial­ly if you are a quick study. Or your co­work­ers are good at knowl­edge shar­ing. Or you are of a cu­ri­ous na­ture. Which are all "soft" skill­s.

And "soft" skills are, in some cas­es, much hard­er to ac­quire. You are not go­ing to take a week off and be more em­pa­thet­ic. There is no ude­my course to not be an ass­hole.

So in this ar­ti­cle, and maybe in oth­ers in the fu­ture, I will high­light some soft skills and try to de­scribe how they can help you be bet­ter at your job.

To­day's soft skil­l?

Writing

Ama­zon im­ple­ment­ed a meet­ing prac­tice where they start by read­ing a five-­page sum­ma­ry pa­per, in si­lence. That way ev­ery­one start­ed the meet­ing in equal foot­ing, know­ing what the meet­ing is about, the meet­ing is fo­cused, and less time is wast­ed ex­plain­ing things par­tic­i­pants should know.

So, imag­ine you had to do that. Do you feel you can do it?

I owe some of the best mo­ments of my ca­reer to writ­ing not code, but just writ­ing ... some­thing. Writ­ing in a tech­ni­cal po­si­tion is not about style, al­though style does­n't re­al­ly hurt as long as it does­n't af­fect the more func­tion­al side of writ­ing.

Now, what are (in my very hum­ble opin­ion) some good fea­tures in pro­fes­sion­al writ­ing?

Clarity

The goal of writ­ing at work is to com­mu­ni­cate. If the re­cip­i­ent of your writ­ing does­n't get the ex­act thing you were try­ing to con­vey then you have failed. Yes, this lim­its some­what how you can write. If there's a choice be­tween style and clar­i­ty, then clar­i­ty should win.

Lists are clear. Bul­let points are clear. Num­bered/let­tered lists are bet­ter if the or­der is im­por­tant or if you need to re­fer to list items lat­er. In those cas­es you should al­so ex­plain why the list is there.

For ex­am­ple, this is ok:

We need to de­cide whether we will use Git­lab or Github for host­ing our code. The im­por­tant fea­tures we need from the cho­sen so­lu­tion are:

  • Sup­port for pri­vate repos­i­to­ries
  • Good in­te­gra­tion with our ex­ist­ing Gitea CI serv­er
  • In­te­grat­ed code re­view sup­port

When in doubt make lists ... is not the worst ad­vice? At least it will keep your text easy to refac­tor. Some peo­ple just do the lists and then fill in the rest. That of­ten work­s!

Short para­graph­s.

Rea­son­ably sim­ple lan­guage.

Conciseness

Keep it as short as pos­si­ble, but no short­er. As long as you are not los­ing mean­ing or clar­i­ty, short is bet­ter.

Shared

Writ­ing that you don't share is ac­tu­al­ly valu­able. I have tons of notes I take while think­ing things through. How­ev­er, shared writ­ing is bet­ter. In fac­t, it some­times makes sense to take those notes and just at­tach them to a tick­et. If you had to think 4 hours how the damned thing work­s, then there may just be val­ue there!

Relevant

It should be about the thing it's about. If you are writ­ing a doc­u­ment about a pro­jec­t, it bet­ter be about the projec­t. If you are writ­ing a doc­u­ment to sup­port an out­come of a de­ci­sion, your doc­u­ment bet­ter be:

  • About the de­ci­sion
  • Sup­port­ive of the out­come you want

It's tempt­ing to write about all the pos­si­ble choic­es, or wan­der in­to all the his­toric events that led to the sit­u­a­tion where the de­ci­sion needs to be made. But con­sid­er the au­di­ence. If they al­ready know those things, then is it worth it to spend their at­ten­tion bud­get in it?

Have a map

A pro­fes­sion­al doc­u­ment goes from A to B. Some peo­ple can get there just fine. Some peo­ple need google maps telling them where to turn. Just in case, get a map.

Do a very ba­sic out­line of what you want to say, such as:

  • Brief de­scrip­tion of cur­rent sit­u­a­tion
  • Present op­tions
  • De­scribe ben­e­fits and con­cerns about op­tion A
  • De­scribe ben­e­fits and con­cerns about op­tion B
  • Fun­da­ment rec­om­mend­ing op­tion A over B
  • De­scribe pos­si­ble ways to know if we are right or wrong
  • Con­clu­sions and sum­ma­ry

And then try to fol­low it.

Basics

  • Spell­ing
  • Gram­mar

Extras

Yes, make it not bor­ing. Yes, you can have your own "voice". Yes, what­ev­er, but on­ly if it does­n't hurt the more im­por­tant things.

Conclusion

Im­prov­ing your writ­ing can help you fur­ther your ca­reer, com­mu­ni­cate bet­ter with cowork­er­s, avoid con­fu­sion, keep a prop­er record of de­ci­sion­s, and make your life eas­i­er in gen­er­al. Do it.


Contents © 2000-2023 Roberto Alsina