Posts for the month of April 2019

Tribute

universal_server() ->
    receive
       {become, F} ->
           F()
    end.

factorial_server() ->
    receive
       {From, N} ->
           From ! factorial(N),
           factorial_server()
    end.

factorial(0) -> 1;
factorial(N) -> N * factorial(N-1).

test() ->
    Pid = spawn(fun universal_server/0),
    Pid ! {become, fun factorial_server/0},
    Pid ! {self(), 50},
    receive
        X -> X
    end.

Joe Armstrong is gone

Very sad day. It is a real lose. He was a great wizard, principle-guided.

On the second thought I would say that I always felt happiness and gratitude while reading his books or watching his talks - a lone voice of sanity and principle-guided reason in the sea of screaming bullshit, a lone figure in a crowd of bearded narcissistic clowns, like Wadler or whoever it might be.

This gratitude for showing the power of clear disciplined reasoning guided by the right principles I would carry with me and will try to pass further. Thank you, Joe! You were a great teacher, a guru and you literally have moved the earth!

I think I should have a drink.

Snapd

snapd cannot resume a download after a network error (network change)

fucking degenerates