Skip to main content

Ralsina.Me — Roberto Alsina's website

Giving Up is a Good Idea Sometimes

Just saw a post in Google+ to­day by Aman­da Blain, where she shows a pic­ture of a book say­ing this:

Nev­er give up on any­body. Mir­a­cles hap­pen ev­ery day.


Of course, no, they don't hap­pen ev­ery day. They hard­ly ev­er hap­pen or nev­er hap­pen, de­pend­ing on how you de­fine mir­a­cle. Things that hap­pen ev­ery day are not mir­a­cles, they are com­mon. It's cheap­en­ing the word.

I did re­ply, though:

If god is almighty, pray for the con­ver­gence of the -1^n se­ries, and see how it work­s. There is no god but math.


Which is quite a trol­l, even for my stan­dard­s, but hard to ar­gue with, I ex­pec­t. This post is a more se­ri­ous re­sponse to that orig­i­nal quote. And my re­sponse is, some­times, you need to give up. Fur­ther, some­times, not giv­ing up is stupid, painful, dan­ger­ous and self­ish.


Peo­ple don't re­al­ly change all that much. They do it very slow­ly, when they do. And you are not (usu­al­ly) the oth­er per­son­'s guardian. There comes a point in peo­ple's lifes where help­ing them hurts them. Or worse, hurts the one help­ing.

Con­sid­er an abu­sive part­ner. Why should you not give up? Why al­low him/her to hurt you fur­ther, in hope for a fu­ture change? That is just stupid and...


Be­cause you are be­ing hurt, ei­ther in body or in mind. And be­ing hurt is, of course, bad. So why en­able it? Why al­low some­one to cause you pain, just for his own sake? What are you telling that per­son? That you feel good about help­ing those who hurt you? That is...


Be­cause he may be­lieve you. You are teach­ing that per­son that you feel good help­ing those who hurt you, and that makes you a bet­ter per­son, so he may just try to help you be much bet­ter by hurt­ing you fur­ther. And re­al­ly, if that's how you feel, you are be­ing ...


Be­cause help­ing some­one just to feel self­-righ­teous and pi­ous and good is a scam. Help be­cause you make the oth­er feel good, not be­cause it feels good for you. I see peo­ple trapped in abu­sive re­la­tion­ship­s, al­most scream­ing "See how good I am! See the pain I take for love!" which is both self­ish and in­sane.

So, give up. Be­cause the path of the right­eous man is be­set on all sides by the in­equities of the self­ish and the tyran­ny of evil men. Blessed is he who, in the name of char­i­ty and good will, shep­herds the weak through the val­ley of dark­ness, for he is tru­ly his broth­er's keep­er and the find­er of lost chil­dren. But enough is enough. And stupid is bad.

That Box

Ev­ery­one has that box, full of mis­tery USB ca­bles, bro­ken head­phones, a me­chan­i­cal mouse, print­er ca­ble and more USB ca­bles. EV­ERY­ONE.


I an­swered "I threw it away last fri­day". But that was a lie. I ac­tu­al­ly put ev­ery­thing in a bag, and had not thrown it away yet.

So here it is:

An now it's re­al­ly gone. In­clud­ing:

  • Mi­ni CDs with copies of the USB mass stor­age driv­er for win­­dows (5)

  • Par­al­lel print­­er ca­ble (2)

  • Busi­­ness cards of peo­­ple I don't re­mem­ber (12)

  • Keys to a house that's not mine (1)

  • Cig­a­rette hold­er (1)

  • Pa­per to do cig­a­rettes (1 pack, "El Om­bú" brand) (No, I don't smoke)

  • Hard drives (3, to­­tal a bit be­low 4G­B)

  • CD read­­er (not writer) (1)

  • RS-232 Se­ri­al ca­bles (2)

  • Me­chan­i­­cal key­boards (1, stick­­y)

  • Ar­ti­­fi­­cial sweet­­en­er (4 pack­­ages)

  • Me­chan­i­­cal mice (2)

  • Leather case for Palm Pi­lot (1)

  • Bat­tery for a note­­book I don't have any­­more (1)

  • AA bat­ter­ies (3)

  • IDE/­­PA­­TA ca­bles (2)

  • Un­rec­og­niz­able rub­ber­s­tamp (1)

  • Block­­­buster cre­­den­­tial (1)

And there was one thing I did not throw away. That's for some oth­er day.

Hack English Instead

Lots of noise re­cent­ly about Jeff At­wood's post about why you should not learn to code. I am here now telling you you should learn to code. But on­ly af­ter you learn a few oth­er things.

You should learn to speak. You should learn to write. You should learn to lis­ten. You should learn to read. You should learn to ex­press your­self.

Richard Feyn­man once de­scribed his prob­lem solv­ing al­go­rithm as fol­lows:

  1. Write down the prob­lem

  2. Think re­al hard

  3. Write down the so­lu­­tion

Most of us can­not do that be­cause we are not Richard Feyn­man and thus, sad­ly, can­not keep all the so­lu­tion in our head in step 2, so we need to it­er­ate a few times, think­ing (not as hard as he could) and writ­ing down a bit of the so­lu­tion on each loop.

And while we who code are un­usu­al­ly proud of our abil­i­ty to write down so­lu­tions in such a clear and un­for­giv­ing way that even a com­put­er can fol­low them, it's ten, maybe a hun­dred times more use­ful to know how to write it down, or say it, in such a way that a hu­man be­ing can un­der­stand it.

Ex­pla­na­tions fit for com­put­ers are bad for hu­mans and vicev­er­sa. Hu­mans ac­cept much more com­pact, am­bigu­ous, and ex­pres­sive code. You can trans­fer high lev­el con­cepts or de­sign to hu­mans much eas­i­er than to com­put­er­s, but al­go­rithms to com­put­ers much eas­i­er than to hu­man­s.

I have a dis­trust of peo­ple who are able to com­mu­ni­cate to com­put­ers eas­i­er than with fel­low hu­man­s, a sus­pi­cion that they sim­ply have a hole in their skillset, which they could eas­i­ly fix if they saw it as es­sen­tial.

And it is an es­sen­tial skil­l. Pro­gram­mers not on­ly run on cof­fee and sug­ar and sushi and dori­tos, they run on hap­pi­ness. They have a fi­nite en­dow­ment of hap­pi­ness and they spend it con­tin­u­ous­ly, like drunk­en sailors. They per­form an ac­tiv­i­ty where jok­ing­ly they mea­sure pro­duc­tiv­i­ty on curs­es per hour, a lone­ly en­deav­our that iso­lates them (us) from oth­er hu­man­s, from fam­i­ly and friend­s.

If a de­vel­op­er can­not com­mu­ni­cate he iso­lates. When he iso­lates he can't co­op­er­ate, he can­not del­e­gate. He can't give ideas to oth­er­s, he can't re­ceive them, he can't share.

And since lots of our com­mu­ni­ca­tion is via email, and chat, and bug re­port­s, and blogs, it's bet­ter if he can write. A de­vel­op­er who can­not write is at a se­ri­ous dis­ad­van­tage. A de­vel­op­er who can­not write to ex­press an idea can­not ex­plain, he does­n't make his fel­lows bet­ter. He's a knowl­edge black hole, where in­for­ma­tion goes to die be­hind the event hori­zon of his skul­l.

So, learn to write. Learn to speak. Learn to read and lis­ten. Then learn to code.

Nikola Plans

Eng­lish on­ly!

I have not stopped work­ing on Niko­la, my stat­ic site gen­er­a­tor. Here are the plan­s:

  1. Fin­ish the theme in­­stal­l­er (so you can get a theme from the site eas­i­­ly)

  2. Im­­ple­­ment a theme gallery on the site (same pur­­pose)

  3. Fix a cou­­ple of bugs

  4. Up­­­date man­u­al

  5. Pol­ish a few theme bits

  6. Re­lease ver­­sion 3.x (new ma­jor num­ber be­­cause it re­quires man­u­al mi­­gra­­tion)

Af­ter that, I will push on projects Shore­ham (host­ed sites) and Smil­jan (plan­et gen­er­a­tor) and make them more pub­lic. Shore­ham will be­come a re­al web app for those who don't want to have their own serv­er. For free, hope­ful­ly!

Once I have that, I have no fur­ther fea­ture ideas, re­al­ly. So I need more peo­ple to start us­ing it, and that means I have to start an­nounc­ing it more.

So, stay tuned for ver­sion 3.x some­time next week.

Post-Niko­la, I will do a rst2pdf re­lease, and then will get back to work on a book.

One Meter

If I learned one im­por­tant thing in col­lege (and I like to think I do be­cause oth­er­wise I wast­ed a lot of time there) that im­por­tant thing is how to mea­sure things.

You may think that you don't need to go to col­lege to learn that, and you are right, but the in­ter­est­ing bit, if I may sound like a so­cial stud­ies ma­jor for a few sec­ond­s, is how ar­bi­trary mea­sure­ments are. They are the one bit where all that "re­al­i­ty is a so­cial con­struc­t" in­san­i­ty is kin­da true.

Con­sid­er the dis­tance be­tween two places. ¿How far is my house from my moth­er's?

View Larger Map

Well, google says it's 447km away. But you al­ready know that's not true! If I were to go by, say, he­li­copter, or un­stop­pable tank, I may be able to take a some­what short­er path. Were I to use the Un­der­min­er's tun­nel­ing ma­chine, I could take an even short­er path.

The Un­der­min­er fol­lows the short­er, red line.

But all that is most­ly chang­ing path­s, so you may still feel some con­fi­dence that you know how far my mom's house re­al­ly is, ex­cept that we just may not be able to take a spe­cif­ic path, but the dis­tance is a "re­al" thing.

But ge­o­graph­i­cal, ge­o­met­ri­cal dis­tance is on­ly one way to mea­sure. There are oth­er met­ric­s, and they may be more or less valid. For ex­am­ple, my moth­er's house is 6 hours away by bus.

It's al­so U$S 60 away by bus, U$S 30 by car. Un­less I take my son with me, in which case it' U$S 120 by bus, but still U$S 30 by car.

And if I re­al­ly re­al­ly want to go there, it's an im­pul­sive de­ci­sion away, and i I don't re­al­ly want to, there is a whole lot of con­vinc­ing be­tween here and there.

And if I were as poor as I once was, then maybe it's in­fin­ite­ly far away be­cause there is no way to get there from here.

When some­one says "the world is small­er now" that's not metaphor, that's math­s.

Contents © 2000-2021 Roberto Alsina