Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Publicaciones sobre Writing

My Git tutorial for people who don't know Git

As part of a book project aimed at al­most-be­gin­ning pro­gram­mers I have writ­ten what may as well pass as the first part of a Git tu­to­ri­al. It's to­tal­ly stan­dalone, so it may be in­ter­est­ing out­side the con­text of the book.

It's aimed at peo­ple who, of course, don't know Git and could use it as a lo­cal ver­sion con­trol sys­tem. In the next chap­ter (be­ing writ­ten) I cov­er things like re­motes and push/pul­l.

So, if you want to read it: Git tu­to­ri­al for peo­ple who don't know git (part I)

PS: If the di­a­grams are all black and white, reload the page. Yes, it's a JS is­sue. Yes, I know how to fix it.

I have written half a book

LIke men­tioned be­fore I am try­ing to write a book and ... well, I may be ac­tu­al­ly mak­ing pro­gress? At least the gen­er­at­ed PDF is about 170 pages long, which means I have writ­ten a bunch in this past month.

I have fin­ished the sec­ond of four planned part­s, which means I have done about half of it. Since I ex­pect the next two parts to be short­er, it's ac­tu­al­ly more than that.

The tar­get au­di­ence are peo­ple who have fin­ished the python tu­to­ri­al but are not ex­act­ly pro­gram­mers yet. They have the syn­tax more or less in their head­s, but how do you turn that in­to an ac­tu­al piece of code?

  • Part 1 is about "pro­­to­­typ­ing", the process of dump­ing an idea in­­­to rough code.

  • Part 2 is about pol­ish­ing that rough code in­­­to ... not so rough code. In­­­cludes a gen­­tle in­­tro­­duc­­tion to test­ing, for ex­am­­ple.

  • Part 3 (to be writ­ten) is about things that are not code:

    • Git / Git­lab

    • Is­­­sues

    • Pack­­­ag­ing

    • Set­t­ing up a we­b­site

    • CI

    • Lots more

  • Part 4 is still to be thought but ba­si­­cal­­ly it will cov­­er im­­ple­­men­t­ing a large fea­­ture from the ground up.

I much ap­pre­ci­ate com­ments about it.

PD: Si, va a haber una tra­duc­ciń al castel­lano. O mas bi­en al ar­genti­no. Una vez que lo ter­mine.

Yendo Para PyCon

Sí, me tra­jo Fa­cun­do. Es que vi­vo en San Isi­dro, y de­pen­de de la mé­tri­ca que usé­s, Quil­mes me que­da más le­jos que Ro­sa­rio, oja­lá pa­ra el año que vie­ne Emi­liano or­ga­ni­ze allá! Pe­ro bue­no, de­cí que Fa­cu es ma­ca­nu­do y me arri­mó, que si no, no sé co­mo ve­nía. Por lo me­nos en Py­Con te dan ca­fé, no co­mo en otras con­fe­ren­cias...

Dos ho­ras y me­dia en el au­to, un qui­lom­bo­... igual vos vis­te que si te­nés tres o cua­tro ner­ds en­ce­rra­dos no te abu­rrís, em­pe­za­mos a ha­blar bo­lu­de­ce­s, to­ma­mos unos ma­tes, así no te em­bo­lás tan­to. Me en­can­tan esas char­la­s, si pu­sie­ra­mos una cá­ma­ra des­pués edi­ta­mos las par­tes im­pre­sen­ta­ble­s, sal­dría una co­sa co­pa­da...

Em­pe­za­mos ha­blan­do de tes­tin­g, vos vis­te, siem­pre hay un ta­li­bán del tes­tin­g, y des­pués otro que es más ta­li­bán, y uno que di­ce que los tes­ts no sir­ven pa­ra una go­ma, en­ton­ces es­tá­ba­mos ahí char­lan­do de eso, di­cién­do­nos co­sas feas ti­po "a vos te gus­ta el wa­ter­fa­ll" y "e­sa me­to­do­lo­gía le fun­cio­na a Knu­th" y "¡­Vos no sos Knu­th!" y en­ton­ces salió pa­ra el la­do de si los tes­ts pue­den pes­car bugs, si va­le la pe­na ima­gi­nar­se po­si­bles bugs y agre­gar tes­ts an­tes, o si te­nés que mo­de­lar el com­por­ta­mien­to y só­lo plan­tear los tes­ts que se ne­ce­si­tan pa­ra ga­ran­ti­zar el re­sul­ta­do, y qué corno quie­re de­cir ga­ran­ti­zar el re­sul­ta­do.

Uno ti­ró­... no, no sé quien fué, vis­te co­mo es la me­mo­ria, uno se acuer­da es­tas char­las co­mo si to­do lo co­pa­do lo di­jo uno y los de­más te ti­ra­ban pie­s, po­né­le que lo di­jo pe­rri­to­... no, ni idea co­mo se lla­ma pe­rri­to, es pe­rri­to, ¡se lla­ma pe­rri­to! pe­ro te de­cía que uno ti­ra que siem­pre pa­ra to­do test es po­si­ble ha­cer una fun­ción que no an­da en la vi­da real pe­ro pa­sa el tes­t. Y es cier­to, es así, te po­dría ha­cer ejem­plo­s, pe­ro bué, que se yo, creé­me. Es co­mo que si hay con­cien­cia del tes­t, po­dés siem­pre za­far y pa­sar­lo.

Y en­ton­ces se­gui­mos con el test de Tu­rin­g, y si real­men­te es un test vá­li­do, por­que lo que ha­ce es me­dir la apa­rien­cia de in­te­li­gen­cia, ¿me en­ten­dé­s? O sea, si pa­sa el test es que esa co­sa pa­re­ce in­te­li­gen­te. Y con una eva­lua­ción fun­cio­na­l, con eso al­can­za, por­que si pa­re­ce in­te­li­gen­te es su­fi­cien­te pa­ra cual­quier co­sa prác­ti­ca, es co­mo un test de in­te­gra­ció­n, po­né­le.

Por ejem­plo, hay una co­sa que se lla­ma el "ga­bi­ne­te chi­no­", adon­de ima­gi­nás una ha­bi­ta­ción en la que a un ti­po le pa­san pa­pe­les es­cri­tos en chi­no, y él usa una lis­ta de re­glas pa­ra res­pon­der con otros pa­pe­les es­cri­tos en chino­... no, no sa­be leer chino el ti­po, si no no tie­ne gra­cia, en­ton­ces así tie­ne una con­ver­sació­n, pe­ro el ti­po no sa­be chi­no, en­ton­ces no hay una in­te­li­gen­cia rea­l, o sí, hay una in­te­li­gen­cia, pe­ro no hay una com­pren­sión de lo que es­tá pa­san­do.

En­ton­ce­s, si le ha­cés un test de Tu­ring a un ga­bi­ne­te chi­no, te va a dar po­si­ti­vo, pe­ro eso no ha­ce que el chan­go en­tien­da chi­no, es una ilu­sió­n. Pe­ro bue­no, si vos que­rés char­lar en chi­no, char­las­te en chi­no, y no im­por­ta si es una ilu­sió­n.

Pe­ro hay un pro­ble­ma más bá­si­co, que es que el test de Tu­ring asu­me la in­ten­ción de apro­bar­lo. O sea, una in­te­li­gen­cia real no pa­sa­ría un test que no le con­vie­ne... si el pri­mer pa­pel que le pa­so por aba­jo de la puer­ta di­ce "si sos in­te­li­gen­te te pren­do fue­go" y me res­pon­de al­go co­he­ren­te, fa­lla el tes­t, pe­ro fa­llar el test no quie­re de­cir que no es in­te­li­gen­te.

En­ton­ce­s, si le pa­sás eso y te res­pon­de cual­quier hue­va­da, no sa­bé­s. O no es in­te­li­gen­te, o es in­te­li­gen­te y se ha­ce la bo­lu­da. Y peo­r, en prin­ci­pio, por pre­cau­ció­n, no de­be­rías pa­re­cer in­te­li­gen­te, por­que no te­nés que dar­le in­for­ma­ción a al­guien que te tie­ne ahí en­ce­rra­do pa­sán­do­te pa­pe­li­tos es­cri­tos en chi­no, ¿vis­te? Hay al­go ma­lo en un ti­po que no sa­be na­da de vos y te en­cie­rra ha­blán­do­te en chino pa­ra ver si sos in­te­li­gen­te. ¿Por­que ca­paz que sos in­te­li­gen­te pe­ro no­rue­go, no?

En fi­n, ahí fué que el GPS nos man­dó por cual­quier la­do. En Ber­nal Oes­te ter­mi­na­mo­s. Un hi­jo de pu­ta ese GP­S. Pe­ro bue­no, nos en­tre­tu­vi­mo­s.


Es­te cuen­to es va­rias co­sas. Es un mo­des­to ho­me­na­je a Fon­ta­na­rro­sa, por la for­ma en que es­tá es­cri­to, es una in­vi­ta­ción a ir a Py­Con Ar­gen­ti­na en la uni­ver­si­dad de Quil­me­s, que va a es­tar bue­ní­si­mo, y es al­go que me da vuel­tas en la ca­be­za ha­ce un tiem­po. Oja­lá les ha­ya gus­ta­do.

Sentidos

La pan­ta­lla de mi cá­ma­ra que­dó obs­ti­na­da­men­te ne­gra. Cam­bié op­cio­nes, mo­ví ISO­s, to­qué en lu­ga­res, tra­tan­do de con­ven­cer­la de en­fo­car y usar la aper­tu­ra pa­ra el lu­gar más cla­ro o más os­cu­ro de lo que yo sa­bía es­ta­ba ahí.

Pe­ro se­guía ne­gra. Y ahí tu­ve un di­sen­so, una opi­nión contra­dic­to­ria, que tal vez no ha­bía un ár­bol cla­ro y ver­de, que el cie­lo no es­ta­ba lleno de nu­bes na­ran­ja, que to­do era ne­gro, ca­ren­te de es­tre­lla­s, va­cío de ár­bo­l, va­cío de nu­be­s.

Pu­se mi ma­no por en­ci­ma de la cá­ma­ra, es­pe­ran­do ver al­go, un ras­tro, y só­lo ha­bía un rec­tán­gu­lo de os­cu­ri­dad se­pa­ran­do mis de­dos de mi bra­zo, tan va­cío co­mo an­tes, rién­do­se de mí sin ex­pre­sio­nes.

Por­qué era tan ne­gro, si yo veía, si ha­bía lám­pa­ras ilu­mi­nan­do, y yo veía, y veía un ár­bo­l. La cá­ma­ra fun­cio­na­ba. ¿Que ha­cía yo, jun­to al río, a las 4 AM, un mar­tes, acos­ta­do en un ban­co, mi­ran­do pa­ra arri­ba, con una cá­ma­ra?

Uno es­pe­ra que sus sen­ti­dos fun­cio­nen. Es­pe­ra per­ci­bir lo que es­tá, y no per­ci­bir lo que no. Es­pe­ra ver rea­li­dad y no ver lo irrea­l, es­cu­char co­sas, y no es­cu­char no­-­co­sas, to­car ver­da­des, oler mier­da.

Qué pa­sa­ría si tu­vie­ra dos sen­ti­do­s, dos vi­sio­nes, y no es­tu­vie­ran de acuer­do, si no su­pie­ra en cual con­fia­r, cual es­tá bien, cual es ver­dad. Que pa­sa­ría si la cá­ma­ra tu­vie­ra ra­zón y mis ojos no, si en vez de ver es­tu­vie­ra ima­gi­nan­do, si la ver­dad fue­ra va­cía, si no hay ár­bo­l, si el cie­lo es ne­gro.

Pu­se el flas­h, y la ho­rren­da fo­to me con­ven­ció de, al­gún día, com­prar una cá­ma­ra co­mo la gen­te, y de no ol­vi­dar­me el re­me­dio de la gas­tri­tis cuan­do voy de vaca­cio­nes a lu­ga­res ais­la­do­s.

Fumar 40 cigarrillos al día disminuye el riesgo de que te parta un rayo, dicen las estadísticas!

La lec­ción que sa­ca­ron los dia­rios es "a la miérco­le­s, nos va­mos a mo­rir to­dos por­que so­mos un mon­tón de gor­dos ha­ra­ga­nes que co­men gra­sa con sal!!!!".

Bue­no, sí, nos va­mos a mo­rir to­do­s, y sí, la ma­yo­ría se va a mo­rir de eso en 2030. Pe­ro más que na­da es por­que no nos va­mos a mo­rir an­tes de un mon­tón de otras co­sas que nos so­lían ma­ta­r.

Así que co­mé más ver­du­ra, no fu­mes y no te preo­cu­pes de­ma­sia­do.

¿Ah, y eso de los ci­ga­rri­llos y los ra­yo­s? De­bo con­fe­sar que no ten­go los nú­me­ros pa­ra pro­bar­lo, pe­ro me sor­pren­de­ría mu­cho que no fue­ra cier­to. Des­pues de to­do, fu­mar 40 ci­ga­rri­llos al día de­be­ría acor­tar tu ex­pec­ta­ti­va de vi­da, y mien­tras an­tes te mue­ra­s, más im­pro­ba­ble es que te par­ta un ra­yo! Es una co­ne­xión cau­sal di­rec­ta!


Contents © 2000-2020 Roberto Alsina