Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Cuando Sea Grande

Es­te sá­ba­do cum­plo 41 (no, no ha­go fies­ta, no es que no te in­vi­té), y creo que lle­gó el mo­men­to de de­ci­dir que voy a ser cuan­do sea gran­de.

Mi pro­ble­ma prin­ci­pal pa­ra de­ci­dir un te­ma tan cru­cial an­tes de hoy es que me in­te­re­san mu­chas co­sas. Y las que no me in­te­re­san... sos­pe­cho que si le pu­sie­ra un po­co de ga­nas me in­te­re­sa­rían.

Pe­ro peo­r, ten­go esa con­vic­ción in­ter­na, to­tal­men­te injus­ti­fi­ca­da de que si me pon­go, pue­do más o me­nos ha­cer ca­si cual­quier co­sa que no in­vo­lu­cre una ap­ti­tud fí­si­ca es­pe­cí­fi­ca.

O sea, no, nun­ca voy a ser po­wer fo­rward en la NBA, ni tria­tlo­nis­ta, ni equi­li­bris­ta, ni nin­ja. Pe­ro­... sos­pe­cho que po­dría ser un gui­ta­rris­ta me­dio­cre, o un poe­ta me­dio pe­lo, un es­cri­tor ade­cua­do, o un ra­zo­na­ble pe­lu­que­ro, por no de­cir un com­pe­ten­te pa­leon­tó­lo­go, un in­te­re­san­te di­rec­tor de ci­ne, un ac­tor pro­me­dio, un in­te­re­san­te ana­lis­ta po­lí­ti­co, o un buen ta­xis­ta.

Esa sos­pe­cha es in­fun­da­da da­do mi de­sin­te­rés en la po­lí­ti­ca, poesía, de­ta­lles de có­mo se to­ca la gui­ta­rra, y no sa­ber ma­ne­ja­r, en­tre otras co­sas.

Así que du­ran­te los pr­óxi­mos diez año­s, mien­tras me voy ha­cien­do gran­de, me voy a con­cen­trar en co­sas que ya sé ha­ce­r, co­mo­... epa. Lo char­la­mos el año que vie­ne.

Nikola is Pluginificated.

Yes, I know that's not a re­al word.

So, the git mas­ter of Niko­la now has plug­ins. In fac­t, not on­ly does it have plu­g­in­s, but is ba­si­cal­ly made of plug­ins.

You see, the code used to most­ly be in­side a class (called Niko­la), and ... it had grown. That class had grown up to around 2000 lines of code. Which is com­plete­ly ridicu­lous.

So, us­ing Yap­sy I turned the code in­side out: al­most all the code that was in that mon­ster class was moved in­to plug­ins and the class turned in­to a smart plug­in load­er.

This has brought sev­er­al ad­van­tages:

  • Now you can ex­­tend Niko­la for your own pur­­pos­es. Just cre­ate a plug­in fold­er in your site, and put the ex­­tra func­­tion­al­i­­ty there.

  • Sup­­port for whole cat­e­­gories of things is now mod­­u­lar. Want to sup­­port a dif­fer­­ent markup? A dif­fer­­ent tem­­plate sys­tem? Just write a plug­in.

  • Want to add com­­plete­­ly new func­­tions to Niko­la? Like, say, a way to im­­port da­­ta from an­oth­er blog tool, or some­thing like plan­et soft­­ware? Well, just add a "com­­mand plug­in".

What has changed for the user?

  • You can delete do­do.py from your site.

  • Use niko­la build in­stead of doit

  • Use niko­la serve in­stead of doit serve

Some mi­nor things still need do­ing in this area (no­table, fix­ing the doc­s), but the main refac­tor­ing is there.

Taxes, Game Theory, and Python (Part 1 of 2)

Be­fore I gave up on be­com­ing an ed­u­cat­ed man, I stud­ied math. And to this day it piss­es me that noone has fig­ured out how to make math in­ter­est­ing to the math­-a­verse. Here's a small at­temp­t.

Let's con­sid­er the fol­low­ing sce­nar­i­o, based com­plete­ly on things I know, not things I do ;-)

Sup­pose that in a city called San Isidro, there is a house. Hous­es in San Isidro pay a mu­nic­i­pal tax, in ex­change for the ser­vice of garbage col­lec­tion, street sweep­ing, tree trim­ming, and street light­ing.

It's a very small tax, but let's say it's $100 a month be­cause it's a nice, easy to han­dle num­ber.

Al­so, San Isidro is in a coun­try called Ar­genti­na. In that coun­try there are sev­er­al laws that af­fect the home own­er­s:

  1. You can't sell a house if you owe any tax­es.

  2. The own­er has a 1% chance of wan­t­ing to sell the house each month.

  3. Debts ex­pire af­ter 5 years.

  4. If you are sued and you lose, you pay they oth­­er guy's lawyer fees.

  5. Lawyer fees are capped to 25% of the mon­ey be­ing dis­­put­ed.

  6. Lawyers are re­luc­­tant to help you sue some­one if they get very lit­­tle mon­ey (de­fined as less than $2000)

  7. If sued by the city for owed tax­es, the own­er al­ways los­es.

  8. Un­­paid tax­es ac­crue 2% com­­pound in­­ter­est mon­th­­ly. So, if you don't pay your $100, you will owe $102, then $104.04, $106.0128 etc.

With all those el­e­ments in place, let's play a game called "Tax Golf"!

The game is played by an in­de­ter­mined num­ber of play­ers called own­ers and one spe­cial play­er called city.

The game is played to 100 "month­s" or un­til all prop­er­ty has been sol­d.

The goal of the game, for the own­er­s, is to pay as lit­tle mon­ey as they can. The score is cal­cu­lat­ed like this: amount of mon­ey you paid di­vid­ed by the time you owned the house.

The own­er with the low­est score is the win­ner.

The goal of the game for the city, is to get as much mon­ey as he can. He's not com­pet­ing against the play­er­s, for him it's a sort of soli­taire where he com­petes against his past per­for­mance.

This, my friends is math. Math is a tool that helps you (a­mong oth­er things) do the right thing in this sort of com­pli­cat­ed, ar­bi­trary, re­al life sce­nari­o.

So, what's a good strat­e­gy for a own­er, and for the city?

In a sec­ond post next wednes­day, I will give some an­swers to those ques­tion­s, us­ing python.

Bypass Gemini (Big Sigma, #1)

Review:

This book is what it is. If what you want is a fun book about a guy who gets in a lot of trou­ble and then gets out of trou­ble (genre I think should be giv­en a nice long ger­man word for a name), this is one, and good at it.

It gets rock­et physics very wrong (rock­ets don't work bet­ter when they have some­thing to "push of­f"), but that's a very mi­nor nit­pick.


Contents © 2000-2021 Roberto Alsina