Humor – Cousas de xentiña http://xoseotero.blogaliza.org De software libre, política e as miñas cousas. Ven, 05 Mar 2010 09:44:00 +0000 gl-ES hourly 1 https://wordpress.org/?v=4.7 sloccount, o amigo de todo programador http://xoseotero.blogaliza.org/2008/06/01/sloccount-o-amigo-de-todo-programador/ http://xoseotero.blogaliza.org/2008/06/01/sloccount-o-amigo-de-todo-programador/#comments Sun, 01 Jun 2008 18:41:10 +0000 http://xoseotero.blogaliza.org/2008/06/01/sloccount-o-amigo-de-todo-programador/ Programar pode resultar moi duro. Nunha primeira fase, estás no paraíso e todo parece ir perfecto. Levas algún tempo pensando en como resolver un problema pero atopaches a solución óptima, eficaz e eficiente. Cu sorriso nos beizos empezas a implementa-la solución. Todo cambia cando chegamos ó primeiro imprevisto, que sempre chega e veñen en grupo. O que pensabas que era perfecto, resulta que non tiña en conta determinados efectos colaterais. Ó principio segues co sorriso, porque os problemas empezan dende o máis pequeno ata o que che quita definitivamente o sorriso da cara.

Despois de varias horas de contra ataques, o teu estado de ánimo empeza a non se-lo máis propicio para programar. O cabreo impide que penses con claridade. E se por iso non fora dabondo, por experienza sabes que non lle podes dar un puñetazo á pantalla, nin unha patada ó ordenador, nin tan sequera un manotazo contra a mesa. Ti es o culpable, o único culpable.

É nese momento cando todo programador precisa dun amigo que o anime, que o alente a seguir adiante. É ahí onde entra en escena SLOCCount. SLOCCount é un programa moi sinxe-lo que conta as liñas de código dun proxecto e calcula tanto o tempo estimado para o seu desenvolvemento coma o seu custe. O que fai a SLOCCount tan amigable para o programador é que ten unhas fórmulas para calcular estes datos moi optimistas.

A continuación varios exemplos dos resultados obtidos ó executar SLOCCount sobre varios proxectos.

Un simple “Ola mundo!” en python consta dunha única liña de código e SLOCCount valora o seu desenvolvemento en 19 dólares. Non está nada ma.

Total Physical Source Lines of Code (SLOC) = 1
Development Effort Estimate, Person-Years (Person-Months) = 0.00 (0.00)
Schedule Estimate, Years (Months) = 0.02 (0.22)
Estimated Average Number of Developers (Effort/Schedule) = 0.01
Total Estimated Cost to Develop = $ 19

Linux 2.6.25.4 consta de case 6 millóns de liñas de código e SLOCCount valora o seu desenvolvemento en 250 millóns de dólares e unha duración de 9 anos. Bueno, aquí prodúcese o efecto contrario, porque ó non ter en conta as liñas reescritas e só as finais, moito traballo intermedio non é valorado.

Total Physical Source Lines of Code (SLOC) = 5,913,850
Development Effort Estimate, Person-Years (Person-Months) = 1,825.97 (21,911.65)
Schedule Estimate, Years (Months) = 9.29 (111.53)
Estimated Average Number of Developers (Effort/Schedule) = 196.46
Total Estimated Cost to Develop = $ 246,663,815

E por último, Simple World consta dunhas 9 mil liñas de código e SLOCCount valora o seu desenvolvemento en 284 mill dólares e unha duración de 8 meses.

Total Physical Source Lines of Code (SLOC) = 9,413
Development Effort Estimate, Person-Years (Person-Months) = 2.11 (25.27)
Schedule Estimate, Years (Months) = 0.71 (8.53)
Estimated Average Number of Developers (Effort/Schedule) = 2.96
Total Estimated Cost to Develop = $ 284,483

Pois si, o meu querido amigo SLOCCount valora Simple World en case 300 mill dólares! Grazas. Con amigos coma ti da gusto programar! 🙂

]]>
http://xoseotero.blogaliza.org/2008/06/01/sloccount-o-amigo-de-todo-programador/feed/ 2
Código fonte do oráculo http://xoseotero.blogaliza.org/2008/04/14/codigo-fonte-do-oraculo/ http://xoseotero.blogaliza.org/2008/04/14/codigo-fonte-do-oraculo/#comments Mon, 14 Apr 2008 18:58:04 +0000 http://xoseotero.blogaliza.org/2008/04/14/codigo-fonte-do-oraculo/ O outro día interesáronse polo código do oráculo que utilicei para face-las acertadas predicións sobre as recentes elecións xerais. Pois ben… aquí está. Está escrito en python, así que con copia-lo texto nun ficheiro (oracle.py, por exemplo) e executa-lo no intérprete de python xa teremos un oráculo plenamente funcional!

#! /usr/bin/env python
# -*- coding: iso-8859-15 -*-

import sys
import random

def oracle(maybe, probably, sure):
        """Return the answer to a question.

        This is the Wise Oracle. It checks the Universe in the search of the
        truth.

        Arguments:
        maybe -- % for the "maybe" answer
        probably -- % for "probable" answer
        sure -- % for "sure" answer

        """
        probability = random.randint(0, 100)

        # Yes
        if probability < sure:
            return "Yes, I'm absolutly sure!"
        elif probability < probably:
            return "Yes, I'm sure."
        elif probability < maybe:
            return "Yes."

        probability = 100 - probability

        # No
        if probability < sure:
            return "No, I'm absolutly sure!"
        elif probability < probably:
            return "No, I'm sure."
        elif probability < maybe:
            return "No."

        # I don't know
        return "I don't know"

if __name__ == "__main__":
    for question in sys.argv[1:]:
        print "%s -> %s" % (question, oracle(35, 20, 5))
]]>
http://xoseotero.blogaliza.org/2008/04/14/codigo-fonte-do-oraculo/feed/ 3
O oráculo obtivo un 100% de acerto nas predicións electorais http://xoseotero.blogaliza.org/2008/03/10/o-oraculo-obtivo-un-100-de-acerto-nas-predicions-electorais/ http://xoseotero.blogaliza.org/2008/03/10/o-oraculo-obtivo-un-100-de-acerto-nas-predicions-electorais/#comments Mon, 10 Mar 2008 10:28:39 +0000 http://xoseotero.blogaliza.org/2008/03/10/o-oraculo-obtivo-un-100-de-acerto-nas-predicions-electorais/ Hai tres diás publiquei a consulta ó oráculo sobre as elecións ó congreso e senado. Como pode observar todo o que queira comprobalo, o oráculo tivo un 100% de acerto. Este resultado corrobora a miña confianza neste método de adiviñación do futuro. De tal xeito que, en futuras consultas, o resultado do oráculo terá maior peso.

Vou ir desglosando as predicións do oráculo para que se poida aprecia-lo seu total acerto:

  1. As elecións, efectivamente, foron moi igualadas. Nas elecións gañaron os dous partidos maioritarios: o PSOE é o partido máis votado e o PP foi o partido que máis subiu, pero non se obtiveron maiorías absolutas.
  2. Mariano Rajoy, grazas en parte ós escaños que perderon entre outros IU, obtiu un resultado que lle garante se-lo candidato do PP a futuras elecións. En futuras elecións, Rajoy gañará as elecións e será presidente do goberno.
  3. Como se sabe que Mariano Rajoy será algún día presidente do goberno, pódese dar por feito que isto será despois dunhas futuras elecións, polo tanto, haberá máis elecións.
]]>
http://xoseotero.blogaliza.org/2008/03/10/o-oraculo-obtivo-un-100-de-acerto-nas-predicions-electorais/feed/ 7
Resultados do 9M: Rajoy presidente co apoio de Llamazares http://xoseotero.blogaliza.org/2008/03/07/resultados-do-9m-rajoy-presidente-co-apoio-de-llamazares/ http://xoseotero.blogaliza.org/2008/03/07/resultados-do-9m-rajoy-presidente-co-apoio-de-llamazares/#comments Fri, 07 Mar 2008 08:13:47 +0000 http://xoseotero.blogaliza.org/2008/03/07/resultados-do-9m-rajoy-presidente-co-apoio-de-llamazares/ Por aquilo do voto útil, decidín usar un oráculo para ver por quen votar. Non é que precise votar polo cabalo gañador, o que pasa é que son 10 anos os que levo votando sempre polo perdedor :).

Os resultados das vindeiras elecións ó parlamento/senado español serán sorprendentes. Como se supuña, as elecións serán moi igualadas e ninguén sacará maioría absoluta. É por isto polo que o partido que finalmente se faga coa presidenza terá que pactar.

Ó contrario do que se está a supoñer, Zapatero non conseguirá a súa reeleción. Todo o contrario! Será Mariano Rajoy, co inesperado apoio de Gaspar LLamazares o que consega a presidenza do parlamento español. Non está claro se lle farán falla outros apoios ou cales serán.

De tódolos xeitos, o último baticinio do oráculo é enigmático. Á pregunta de “Haberá que repeti-las elecións?”, o oráculo dixo que “Si, estou case seguro.”. Por experienza sei que o oráculo é moi cabrón, así que, o máis seguro é que se refira a dentro de 4 anos. Por tanto, estas non serán as últimas elecións ó parlamento e senado español.

O oráculo

Un oráculo é un mecanismo/aparello/persoa que resposta “si” ou “non” a preguntas directas. Os oráculos empregábanse moitísimo nos tempos pretéritos, mais dende hai moitos séculos caeron en desuso. Exemplos de pobos que se fixeron grandes grazas ós oráculos son os exipcios e os gregos.

Polo sinxelo do seu funcionamento, construír un oráculo é moi sinxelo; o único problema é “axustalo” para que funcione ben. Eu teño comprobado varias veces a súa validez se se consegue axustar correctamente o oráculo.

O procedemento

Para que se poida comproba-la fiabilidade científica das respostas do oráculo, ofrecerei o procedemento exacto que se seguiu xunto cos datos obtidos.

Escribíronse por adiantado tódalas preguntas que se lle fixeron ó oráculo. Deste xeito evítase unha posible manipulación, xa que unha resposta non condiciona a seguinte pregunta. As preguntas fixéronse secuencialmente e sen deixar separación entre elas. As respostas gardáronse para a posterior análise.

As respostas do oráculo

P: Es capaz de predeci-lo futuro?
Non o sei.
P: As túas predicións son fiables?
Si, estou case seguro.
P: Es capaz de dicir quen gañará as elecións ó parlamento/senado español do 9 de marzo do 2008?
Si, estou case seguro.

P: Gañará as elecións Zapatero?
Non, estou case seguro.
P: Gañará as elecións Rajoy?
Non o sei.
P: Gañará as elecións Llamazares?
Non o sei.
P: Gañará alguén?
Non, estou case seguro.
P: Gañarán todos?
Non o sei.

P: Conseguirá Zapatero a maioría absoluta do parlamento?
Non o sei.
P: Conseguirá Rajoy a maioría absoluta do parlamento?
Non o sei.
P: Conseguirá Llamazares a maioría absoluta do parlamento?
Non o sei.
P: Conseguirá alguén a maioría absoluta do parlamento?
Non, estou case seguro.

P: Gobernará Zapatero?
Non o sei.
P: Gobernará Rajoy?
Si, estou case seguro.
P: Gobernará Llamazares?
Si, estou case seguro.
P: Gobernará alguén?
Non o sei.

P: Haberá que repeti-las elecións?
Si, estou case seguro.

]]>
http://xoseotero.blogaliza.org/2008/03/07/resultados-do-9m-rajoy-presidente-co-apoio-de-llamazares/feed/ 1
Sabes que es un porcallán cando… http://xoseotero.blogaliza.org/2007/05/20/sabes-que-es-un-porcallan-cando/ http://xoseotero.blogaliza.org/2007/05/20/sabes-que-es-un-porcallan-cando/#comments Sun, 20 May 2007 17:18:19 +0000 http://xoseotero.blogaliza.org/2007/05/20/sabes-que-es-un-porcallan-cando/ Sabes que es un porcallán cando:

  1. O ordenador empeza a apagarse aleatoriamente
  2. Despois de maldicir os drivers privativos que tes que aturar (ATI bendita!) decátaste de que o problema se atopa noutro lado
  3. Despois de limpa-lo ventilador da CPU a temperatura media da CPU baxa uns 30 grados de centígrados

Corolario: Sabes que es un porcallán cando a habitación onde tes o ordenador, despois de limpalo, pasa de ser a máis cálida da casa a ser das máis frías.

]]>
http://xoseotero.blogaliza.org/2007/05/20/sabes-que-es-un-porcallan-cando/feed/ 5
Busca as diferenzas http://xoseotero.blogaliza.org/2007/04/05/busca-as-diferenzas/ Thu, 05 Apr 2007 08:01:14 +0000 http://xoseotero.blogaliza.org/2007/04/05/busca-as-diferenzas/ Unha anotación do blogue de BadVista deume unha idea para un pequeno xogo. A ver quen é capaz de atopa-las diferenzas entre o software libre e o software privativo. Para tal fin escóllese unha licenza distintiva e ilustrativa de cada tipo.

O preámbulo da GPL di:

As licenzas para a maioría do software e outros traballos prácticos están deseñadas para quita-la liberdade de compartir e cambia-los traballos. En contraste, a GNU General Public License intenta garanti-la túa liberdade para compartir e cambia-lo software libre –para asegurarse de que o software é libre para tódolos seus usuarios.

A licenza de software típica de Microsoft Vista di:

O software é licenciado, non vendido. Este acordo só che dá algúns dereitos para usa-lo software. Microsoft resérvase tódolos outros dereitos. A non ser que a lei aplicable che de máis dereitos a pesares desta limitación, ti podes usa-lo software só como estexa expresamente permitido por este acordo. Ó facer isto, debes conformarte con calquera limitación técnica no software que só che permita usalo de determinadas maneiras.

Veña, se é moi sinxelo… Xa non me deixan dar pistas, pero de verdade que é moi sinxelo. Tan só quedan 5 minutos e as liñas están abertas. Collemos tódalas chamadas!

]]>
Búsqueda da lingua universal http://xoseotero.blogaliza.org/2007/03/23/busqueda-da-lingua-universal/ http://xoseotero.blogaliza.org/2007/03/23/busqueda-da-lingua-universal/#comments Fri, 23 Mar 2007 04:23:33 +0000 http://xoseotero.blogaliza.org/2007/03/23/busqueda-da-lingua-universal/ As linguas son un medio de comunicación entre persoas, por tanto, deben unilas e non afastalas. Entón, por que deberiamos seguir empregando o galego, unha lingua minoritaria, nun mundo globalizado? Calquera persoa cun pouco de razoamento lóxico, tomaría a decisión de empregar unha lingua de verdade, unha coa que se poida un entender co maior número de xente. Hai que buscar unha lingua universal.

La solución obvia para un gallego es usar el español. Esta lengua es hablada extensamente en todo el mundo. Con ella no sólo se llega a toda a España, sinó que también a la inmensa mayoría de América e incluso a buena parte de la mayor potencia mundial. Con todo, aún quedaría gran parte del planeta con la que no nos podríamos comunicar satisfactoriamente.

English is a better solution. It was used as the international language since the beginning of the 20th century. This is the language of America, the most powerfull nation on the world. Also, India, maybe the biggest nation in the mediun/long future use it. Still, English is not the language more spoken on the world.

中國是世界上更廣泛的語言發言. 中國今後將在世界最大的國家. 這是必勝的最佳語言,但是 或許最好的辦法是更自然語言文字的標誌.

Finger


Grazas a Pedro Francisco San Miguel Martínez polo seu artigo en Faro de Vigo (vía chuza!) por me da-la idea e motivación para esta anotación.

]]>
http://xoseotero.blogaliza.org/2007/03/23/busqueda-da-lingua-universal/feed/ 7
Licenza de SQLite http://xoseotero.blogaliza.org/2007/02/12/licenza-de-sqlite/ Mon, 12 Feb 2007 11:45:49 +0000 http://xoseotero.blogaliza.org/2007/02/12/licenza-de-sqlite/ Andando polo código fonte de SQLite atopei unha xoia (ou poida que despois de ler código calquera cousa parece graciosa). SQLite no lugar dunha das licenzas de software libre típicas ten este texto:

O autor denega o copyright (dereito de copia) a este código fonte. No lugar dun aviso legal, aquí está unha bendición:

Está nas túas mans face-lo ben e non o mal.
Está nas túas mans atopa-lo perdón para ti mesmo e perdoa-los demais.
Está nas túas mans compartir libremente, nunca tomar máis do que des.

Con todo, non chega ó bla bla bla da bla bla bla licenza do logotipo “Python Powered”, esta última é bla bla bla.

]]>
As parénteses en python http://xoseotero.blogaliza.org/2007/01/01/as-parenteses-en-python/ Mon, 01 Jan 2007 18:11:30 +0000 http://xoseotero.blogaliza.org/2007/01/01/as-parenteses-en-python/ pythonPara empeza-lo ano, nada mellor que le-las propostas de melloras para python 3000. Python 3000 chamarase Python 3.0 cando saia (seguramente o ano que ven), unha versión que traerá cambios importantes na linguaxe xunto con incompatibilidades co código escrito para a versión actual (python 2.x). Mirando as cousas que non cambiarán, atopei esta xoia:

xose@debian:~$ python
Python 2.4.4 (#2, Oct 20 2006, 00:23:25)
[GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from __future__ import braces
File “<stdin>”, line 1
SyntaxError: not a chance
>>>

En resume, nuuuuuuuuuuuuuuunca haberá parénteses ({ ou }) en python (alomenos para separar bloques de código).

Relacionado: O Zen de python.

]]>
Calidade alimentaria máxima http://xoseotero.blogaliza.org/2006/12/13/calidade-alimentaria-maxima/ http://xoseotero.blogaliza.org/2006/12/13/calidade-alimentaria-maxima/#comments Wed, 13 Dec 2006 20:17:33 +0000 http://xoseotero.blogaliza.org/2006/12/13/calidade-alimentaria-maxima/ Aínda que pareza mentira, o título desta anotación refírese ós compoñentes dunha purificadora de auga 🙂 Se acostumades ver como cociña Karlos Arguiñano, como os meus pais, saberedes que emprega unha xerra purificadora de auga de marca BRITA. Na listaxe de preguntas máis frecuentes da súa web podemos atopar esta xoia:

Pregunta: O meu fillo rempeu o cartucho filtrante cun martelo e comeu parte do que contía… é perigoso?
Resposta: Tódolos materiais empregados nun cartucho filtrante Brita non son tóxicos[0], teñen unha calicade alimentaria máxima e non son perigosos. Especificamos a indicación “MANTER FORA DO ALCANCE DOS NENOS” como norma de sentido común… de feito, a ninguén lle gusta comer carbós e gránulos.


[0] É un problema de tradución ó castelán, debería pór “Ningún material empregado nun cartucho filtrante Brita é tóxico”. Non atopei na FAQ en inglés esta pregunta.

]]>
http://xoseotero.blogaliza.org/2006/12/13/calidade-alimentaria-maxima/feed/ 5