Appunti di Rete: Ethernet

La tecnologia Ethernet è utilizzata dalla stragrande maggioranza delle reti LAN. Lo standard IEEE 802 definisce per le reti Ethernet un solo sottostrato MAC e varie specifiche per lo strato fisico a seconda dell’implementazione.

Read More

Appunti di Rete: Rilevamento e correzione degli errori

Un segnale spedito su un mezzo trasmissivo può subire delle alterazioni e provocare un’errata interpretazione dei bit da parte del ricevitore. Si parla di errore singolo quando solo un bit è corrotto e errore a raffica quando l’alterazione riguarda più di un bit. Gli schemi di rilevazione degli errori si basano sulla tecnica della ridondanza che consiste nella spedizione di bit aggiuntivi.

Read More

Appunti di Android: Storage options

Android fornisce varie opzioni per il salvataggio dei dati. La scelta di quale utilizzare dipende da bisogni specifici quali la privacy, la condivisione con altre applicazioni o la quantità di spazio richiesto.

Read More

Appunti di Android: Threads

Quando viene lanciata un’applicazione, il sistema android crea il main thread, anche chiamato UI thread, con il compito di gestire gli eventi dell’interfaccia utente. Per evitare inconvenienti, non bisogna manipolare l’interfaccia utente da un worker thread: tutte le modifiche alla UI devono avvenire all’interno del main thread.

Read More

Appunti di Rete: Protocollo Internet

Internet è una rete a datagram che opera la commutazione dei pacchetti nello strato di rete, utilizzando indirizzi IP. Offre un servizio di comunicazione senza connessione e consegna best-effort. Mentre lo strato di collegamento permette scambi di pacchetti tra due nodi, lo strato di rete permette scambi di pacchetti tra due host.

Read More

SpaceFloat Game Screen

The Game Screen is the most important of SpaceFloat because it shows the 3D world with which the player can interact. It makes use of the powerful Ashley Engine that helps significantly reduce the complexity of the system. This Screen creates all the systems it needs within its constructor.

Read More

SpaceFloat Asset Management

SpaceFloat uses an instance of the AssetManager provided by libGDX to manage assets. This instance follow the lifecycle of the SpaceFloatGame instance and it is injected into the Screens as a dependence.

Read More

Appunti di Rete: Protocolli di routing

I protocolli di routing permettono ai router di una rete di comunicare tra loro per l’aggiornamento delle tavole di routing. Vi sono protocolli per il routing intradominio (Routing Information Protocol, Open Shortest Path First) e interdominio (Border Gateway Protocol).

Read More

Appunti di Rete: Controllo degli errori nello strato di collegamento

Stop-and-wait ARQ: Il protocollo Stop-and-wait ARQ aggiunge allo stop-and-wait, nel quale il mittente dopo aver spedito un frame aspetta il riscontro da parte del destinatario, il meccanismo Automatic Repeat reQuest (ARQ) per il controllo degli errori. I frame di dati e di riscontro hanno un campo di 1 bit che descrive il numero di sequenza, che quindi può essere 0 o 1. Il destinatario non spedisce riscontri per i frame danneggiati e quelli ricevuti fuori ordine. Nel momento in cui non riceve il riscontro entro un limite di tempo, il mittente rispedisce il frame. Tale protocollo risulta molto ineffieciente: poiché nel canale di comunicazione ci sarà sempre al più un frame, potremmo non utilizzarne a pieno la capacità trasmissiva.

Read More

Appunti di Rete: Accesso multiplo

Nei protocolli ad accesso casuale le stazioni non hanno il controllo del mezzo trasmissivo e il suo utilizzo è conteso. Le stazioni possono verificare lo stato del mezzo in qualsiasi momento e non c’è un ordine stabilito per l’accesso. Si possono verificare casi in cui due o più stazioni provano a spedire contemporaneamente, generando una collisione che distrugge o modifica i frames. Tra i protocolli ad accesso casuale vi sono: ALOHA; CSMA; CSMA/CA; CSMA/CD.

Read More

Devember: Nickname command

After transforming the server in a chat room, I thought it was a good idea to add a command to set your nickname. So, when a client connects, the server expects to receive a message starting with /nickname followed by the actual nickname:

Read More

Devember: Improved echo Server

I abandoned the idea of a recursive server to avoid proliferation of child processes on each new connected client. Now the server benefits of the I/O Multiplexing using the select function to handle the listening socket and the other connected sockets.

Read More

Appunti di Android: Permissions

Per la protezione di dati sensibili ed evitare codice che possa danneggiare l’esperienza utente Android impone delle limitazioni. I Permissions, identificati da un’etichetta, garantiscono l’accesso ad una parte del un dispositivo, che sia sotto forma di dati o funzionalità.

Read More

Devember: Half-closing the socket

In the wake of the previous post, another way to improve the robustness of the client code is by shutting down the write half of the connection once all reading operations from standard input end. This is performed by calling the shutdown function:

Read More

Devember: I/O Multiplexing using select

A few days ago, I wrote a simple echo Client that however has some robustness problems. For example, while the client is blocked in a request for user input and the server closes the connection, the client will not aware of that until it try to send data. The I/O Multiplexing solves that problem.

Read More

Devember: Distributed calculator

It’s been a week since I started my devlogs for Devember and finally today I’ve done something more complex than previous exercises: a distributed calculator.

Read More

Devember: Kill the zombies

In the previous post, we have seen the server spawning child processes to handle multiple incoming connections at the same time. However, we must not forget to handle these processes when they end otherwise they will remain in memory as zombies.

Read More

Devember: Daytime

This devlog presents the fundamental functions of the socket API through a simple daytime client and server.

Read More

Appunti di Android: Widget

Il Widget, chiamato anche input control, è una componente interattiva dell’interfaccia utente. L’utilizzo è molto semplice: basta aggiungere l’elemento che si desidera al layout XML o programmaticamente. Android ne fornisce un’ampia varietà, eccone una lista dei più comuni:

Read More

Appunti di Android: Localizzazione

Quando l’utente avvia un’applicazione, Android seleziona e carica automaticamente le risorse appropriate a seconda della configurazione del dispositivo o, nel caso mancassero, quelle di base.

Read More

Western Lion: Post mortem

Western Lion è una collezione di due minigiochi in tema spaghetti western sviluppata durante la Spaghetti Western Jam della durata di un mese organizzata da IndieVault.it. In uno si vestono i panni di Nessuno, intento a colpire dei boccali prima che si frantumino sul pavimento, nell’altro quelli di Jack, disturbato da una mosca mentre aspetta alla stazione.

Read More

Ciao mondo!

Benvenuto! Questo è il primo articolo. Contiene delle informazioni generiche e fortunatamente non è scritto in prima persona.

Read More