Un sito fatto coi buchi…
tux-jail-banner

Rompere una jailroot

A volte capita che su appliance o semplicemente su sistemi con sicurezza molto elevata il nostro utente sia collocato in una jailroot, ossia in un ambiente isolato dal root filesystem e con un ristretto numero di comandi disponibili. Ovviamente stiamo parlando di una situazione in ambiente Linux (ovvero un qualsiasi sistema basato su un kernel […]

cocoa_cup

Introduzione a Cocoa – Parte III

KVO, KVC & Binding Key-Value Observing (KVO) è un meccanismo che consente agli oggetti di ricevere notifiche su cambiamenti di specifiche proprietà di altri oggetti. E’ basato sul protocollo informale NSKeyValueObserving. Le proprietà osservate possono essere semplici attributi, relazioni uno-a-uno o uno-a-molti. Nel contesto MVC, questo meccanismo è particolarmente importante in quanto consente agli oggetti […]

Firebase

Architetture web two-tier

Esiste un approccio standard per realizzare applicazioni web,  che tutti noi, nerd programmatori, abbiamo imparato ad utilizzare negli anni senza discutere. Si tratta dell’architettura three-tier, che consiste in: una parte di presentazione, che gira sul client ed è solitamente realizzata in html/css con qualche spruzzata di javascript; una parte di business logic, che gira sul […]

cocoa_cup

Introduzione a Cocoa – Parte II

Cocoa e pattern di programmazione Cocoa è un framework complesso. Nella sua progettazione ed implementazione sono utilizzate molteplici tecniche di progettazione ad oggetti. Tra queste ricordiamo l’adozione dei seguenti pattern di programmazione: Modello-Vista-Controller (MVC) Delega Delega di data source Observer – KVC, KVO & binding Notifica L’adozione di tali modelli di programmazione è praticamente obbligatoria: […]

EALogoBlack

Archeologia informatica: Interchange File Format

In questo mondo moderno in cui il numero dei formati file proprietari si moltiplica, fa tenerezza pensare ad un lontano passato (era il 1985) quando un colosso dell’informatica ludica (Electronic Arts) definiva uno standard per un formato file universale, tentando così di frenare quello che già all’epoca era una continua corsa alla Babele dei formati. […]

core_midi_devel

Core MIDI e il tempo

Probabilmente Core Midi, parte dell’infrastruttura software Core Audio per OSX e iOS, è il software meno documentato da Apple e dal web in generale. Volendo costruire un mini player MIDI integrato (all’interno di un programma più complesso) ho dovuto accontentarmi di un paio di esempi nella documentazione ADC (PlaySequence e PlaySoftMIDI) e i references dell’API, […]