-
Title: What the BEAM: Introduction to the Erlang/Elixir Virtual Machine
-
Abstract: Per sfruttare al massimo Erlang/Elixir non é sufficiente conoscere il linguaggio, la semantica di questi linguaggi é indissolubilmente legata al loro runtime: la virtual machine BEAM. Un corso di due giorni per esplorare la BEAM, le sue carateristiche, come sfruttarla al meglio e cosa evitare. Il corso é rivolto a tutte quelle persone che hanno messo gli occhi su Erlang/Elixir e vogliono fare un passo avanti per poter realizzare software production ready.
-
What: Il corso durerá due giorni e sará strutturato come segue
- Primo giorno
- Overview sulla BEAM
- Cosa è un nodo Erlang/Elixir
- Processi
- Primo giorno
-
Cosa sono
NOTA: Questa é la terza giornata di un percorso formativo, per partecipare non é strettamente obbligatorio aver partecipato alle due giornate precedenti ma é necessaria la conoscenza degli argomenti trattati in questo PDF
-
Title: Foundation of Functional Programming: Theory and Practice
-
Abstract: Teoria delle categorie, morfismi, algebre, monoidi, semigruppi, funtori e ovviamente monadi! Dominare la programmazione funzionale per poterla sfruttare al massimo passa da una conoscenza teorica che è difficile da distillare partendo dalle disparate risorse ad oggi esistenti. Durante il corso verranno spiegati questi concetti in maniera rigorosa ma con frequenti riferimenti pratici per rendere il tutto più digeribile e comprensibile. L’obiettivo è quello di ottenere delle basi teoriche sufficienti per poter riconoscere e usare i costrutti della programmazione funzionale in maniera confidente ed efficace.
-
What: Questa terza
- Title: Foundation of Functional Programming: Theory and Practice
- Abstract: Teoria delle categorie, morfismi, algebre, monoidi, semigruppi, funtori e ovviamente monadi! Dominare la programmazione funzionale per poterla sfruttare al massimo passa da una conoscenza teorica che è difficile da distillare partendo dalle disparate risorse ad oggi esistenti. Durante il corso verranno spiegati questi concetti in maniera rigorosa ma con frequenti riferimenti pratici per rendere il tutto più digeribile e comprensibile. L’obiettivo è quello di ottenere delle basi teoriche sufficienti per poter riconoscere e usare i costrutti della programmazione funzionale in maniera confidente ed efficace.
- Who: Il corso verrà tenuto da Giulio Canti
- Why: (Gabriele Lana) Volevo partecipare ad un corso come questo, non l’ho trovato e così l’ho organizzato. Sono un professionista, uso linguaggi di programmazione funzionali da diversi anni ma sono arrivato ad un punto in cui sento che mi manca un pezzo fondamentale pe
import threading | |
import time | |
from evdev import UInput, InputDevice,categorize, ecodes | |
from copy import copy | |
myKey = UInput.from_device('/dev/input/event2', name='MyKeyboard') | |
dev = InputDevice('/dev/input/event2') | |
events = [] | |
waiting = False |
from evdev import UInput, InputDevice,categorize, ecodes | |
myKey = UInput.from_device('/dev/input/event7', name='MyKeyboard') | |
dev = InputDevice('/dev/input/event7') | |
print(dev) | |
for event in dev.read_loop(): | |
if event.type == ecodes.EV_KEY: | |
print(event) |
I hereby claim:
- I am gabrielelana on github.
- I am gabrielelana (https://keybase.io/gabrielelana) on keybase.
- I have a public key whose fingerprint is 181C 039B 8033 4010 66D3 C5E8 F3A4 6AB3 14CA E60E
To claim this, I am signing this object:
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
PASSWORD_PATH = ".password" | |
PASSWORD_ID_PATH = ".password_id" | |
# Make sure to have installed vagrant-triggers plugin | |
# > vagrant plugin install vagrant-triggers | |
# After the first `vagrant up` stop the VM and execute the following steps |
Verifying that +gabrielelana is my blockchain ID. https://onename.com/gabrielelana |
defmodule Paco.Collector do | |
@env String.to_atom(System.get_env("MIX_ENV") || "dev") | |
defmacro notify_loaded(text, state), do: call(@env, :do_notify_loaded, [text, state]) | |
defmacro notify_started(parser, state), do: call(@env, :do_notify_started, [parser, state]) | |
defmacro notify_ended(result, state), do: call(@env, :do_notify_ended, [result, state]) | |
defp call(:prod, _, _), do: :ok | |
defp call(_, name, args) do |