July 30, 2012

La programmation fonctionnelle

Le paradigme

Dans la programmation impérative, on dit á l'ordinateur toutes les opérations á exécuter pas á pas.

Dans la programmation fonctionnelle, on définit des fonctions mathématiques.

Au lieu d'écrire la recette pas-á-pas, on definit mathématiquement les données que la machine doit retourner pour chaque ensemble d'entrées possibles.

La logique impérative peut être émulée par une pratique qui s'appelle pipelining (canalisation) - c'est á dire donner la sortie d'une fonction comme argument á la fonction suivante.

Le programme, c'est un fonction!
Tout le programme n'est qu'une grande fonction mathématique, composée de fonctions mineures (qui sont composées de fonctions plus mineures, et caetera...)

Not so lazy

In the Haskell programming language, lazy evaluation doesn't seem to be very lazy within list comprehensions. At least on my Ubuntu 12.4 system with its Haskell platform installed, it crashes after the following statement:
Prelude> [x*2 | x<-[0..], x<=5]
It shows the first five elements, but it doesn't return. I mean, it does after pushing Ctrl+C, but you may know that's the interrupt signal on Unix systems. It's not cool!

July 29, 2012

Electronic Supersonic

def blast(x):
  if x<=0: print "Offblast!"
  else:
    if x!=2: print x
    blast(x-1)

July 28, 2012

Invincible Children

[This issue is fortunately not relevant anymore, but I didn't finish the article in time...]

For those of you yet to figure out that Kony 2012 is a scam, I have one very important piece of news: Kony 2012 is a scam! Even if such eminent foreign policy experts like Angelina Jolie and Kim Kardashian say otherwise. Alas, they might not always be right!

This certainly is a very exciting moment of history! Our great culture of democracy has developed to the point when not knowing about an issue makes you smarter! Until this day, such a phenomenon was strictly limited to the world of reality television and Fox News. It feels absolutely rejoicing to seeinternational politics finally catching up.

So who the fuck is this guy called Joseph Kony?

July 27, 2012

Blümchen


#http://thinkpython.com/swampy

from swampy.TurtleWorld import *
import math

world = TurtleWorld()
bob = Turtle()
bob.delay = 0.005

def drawarc(t,r,a):
    for i in range(a):
        fd(t,2*r*math.pi/360)
        lt(t,1)

def drawpetal(t,r,a):
    drawarc(t,r,a)
    lt(t,180-a)
    drawarc(t,r,a)

def drawflower(t,l,n):
    rad = 2*math.pi/n
    r = l/(2*math.sin(rad/2))
   
    for i in range(n):
        drawpetal(t,r,360/n)
        lt(t,180)
    pu(t)
    fd(t,l)
    pd(t)
    lt(t)
    drawarc(t,l,360)
   
def drawflower2(t,l,n):
    n=n/2
    t.delay=0.001
    rad = 2*math.pi/n
    r = l/(2*math.sin(rad/2))
   
    for i in range(2*n):
        drawpetal(t,r,360/n)
        lt(t,180-360/(2*n))
    pu(t)
    fd(t,l)
    pd(t)
    lt(t)
    drawarc(t,l,360)

drawflower2(bob,150,8)

wait_for_user()

July 24, 2012

Compo1

Il n'y a pas d'alternative. C'est ce que l'establishment ne cesse de nous dire, et ils ont si bien raison! Il n'y a pas d'alternative parce qu'ils ne veulent pas nous donner aucun d'alternative. Ils ont tout le pouvoir et ils veulent que nous le considerions comme l'ordre de la nature, totalement impossible de changer. Ils veulent nous faire croire que tout qui se passent sont notres fautes, que nous meritons tous les malfaisances de leur léviathan. C'est comme ils veulent que nous interpretions la christianisme aussi: nous les peuples sommes totalement malfaisantes, alors nous méritons tout le malfaisance. Leur malfaisance.

Notre liberté signifie que nous sommes libres á condition que nous faisons le bon choix. Si ce n'est pas le cas, le choix mauvais est consideré comme une erreur qui doit être corrigée. On nous présente la même décision de nouveau jusqu'au fois quand nous choisissons qu'il faut choisir. Sinon, si nous nous comportons comme des gens libres, ils mettent en place leurs appareils pour nous punir brutalement et sans pitie. C'est qui se passe dans la Gréce. On nous présente la Gréce comme example pour nous dissuader: l'état en deliquescence.

Nos dirigeantes sont pourris jusqu'á la moelle. Le monde tel que nous le connaissons, il est mort. Tout le mond, tout la systéme, ils sont mortes. L'idéologie du capitalisme - la liberalisme, la conservativisme, l'eglise, et cetera, il n'importe quel - est les cult de la morte le plus obscéne et plus dépravé dans l'histoire de l'humanité.

Il n'y a pas d'alternative que la mort absolute. La seule alternative de cette mort absolute est la négation complet de cette systéme: la lutte des classes. Alors, la vie est la lutte des classes et la lutte des classes est la vie. Touts les autres choses, il ne sont que la mort d'animation. Tout les gens qui ne participe dans cette lutte, ils sont déjá morts. Ils sont des morts vivants.

July 10, 2012

Data types and Platonism

The handling of data types is a feature of high level programming languages! Each piece of data is handled by the computer according to its type. There are different operations for all the different data types. Operations like addition or multiplication are applied on each different type in a different way.

But the computer itself does not group data into types! It's just a device which manipulates binary signals very fast. It's the software responsible for compiling or interpreting your program which translates a line of code into an appropriate sequence of machine instructions, and this compilation or interpretation is done according to the types of the pieces of data involved.

July 4, 2012

The miners of Asturias

As you may already know, the coal miners of Asturias are at large. You might have seen them firing their home-made rocket launchers behind their vast barricades and you might have figured out they are very angry...

Why are they so angry? According to the media the strife is going on about some kind of industrial subsidies and other shit. Business as usual, you might say. But before dismissing them as such, let's take a look at history...