Convertire un SID in stringa con Java

Un security identifier (SID) è un identificativo univoco, comunemente utilizzato dai sistemi Microsoft. Viene ad esempio utilizzato per identificare univocamente degli utenti all’interno di Windows, o ancora più in generale anche di un sistema come Active Directory.

Il SID è un valore binario, di lunghezza arbitraria, e può anche essere rappresentato in una versione alfanumerica. Tale conversione risiede in una particolare funzione chiamata ConvertSidToStringSid, della libreria Advapi32.dll, disponibile solamente per Windows.

Per chi avesse bisogno di questo tipo di conversione può procedere in due modi:

  • Utilizzare Advapi32 (solo in ambiente Windows)
  • Riscrivere la conversione
Molto utile è quindi avere a disposizione tale funzione di conversione in un particolare linguaggio (nel nostro caso Java), in modo da essere utilizzata ovunque. Ho potuto notare che le implementazioni di questa funzione che si trovano in giro su Internet sono pochissime e commettono anche degli errori, nonostante che funzionino bene in generale. Vi presenterò pertanto una mia particolare implementazione testata in maniera approfondita.

Continua a leggere

Flickr Photostream e Justified Gallery

Un problema comune, per le persone che creano siti, è infatti creare una galleria di immagini elegante che è in grado di gestire le varie dimensioni delle immagini. Flickr e Google+ affrontano queste situazioni in maniera eccellente, il mio proposito è proprio quello di offrire la potenza di queste soluzioni, con un efficiente algoritmo.

Pochi mesi fa, ho scritto un plugin per WordPress che mostrava il Photostream di Flickr in una griglia giustificata. Adesso, ho deciso di fare un plugin più astratto (jQuery) che potesse essere utilizzato ovunque!

Guarda tutta la documentazione nella sua pagina del progetto. O scaricalo da github.

Flickr Photostream

Il mio primo plugin per WordPress!
Questo plugin per WordPress vi permette di mostrare il Photostream di Flickr nel vostro blog. Utilizzando Justified Gallery, questo vi permette una stupenda disposizione delle miniature delle immagini. Ci sono varie configurazioni per settare l’altezza delle righe e il comportamento dell’ultima riga. Puoi mostrare le foto utilizzando un lightbox, o aprendo le pagine direttamente con un link a Flickr. Potrete configurare il numero delle foto da mostrare in ogni pagina, e poi, navigare tra le varie pagine. Il plugin sceglie la giusta risoluzione delle immagini, utilizzando i suffissi di Flickr, in questo modo le miniature avranno sempre la massima risoluzione.

Guardalo meglio su pagina ufficiale.

Richiesta Network Time Protocol in C#

Di recente, ho scritto un’applicazione in C# che ha bisogno di conoscere se il sistema ha il tempo corretto. Ho perciò fatto una classe che recupera il tempo utilizzando i server NTP. La classe è scritta per fare in modo che non vengano richiamati sempre gli stessi server, utilizzando un semplice vettore circolare. Per i dati che vengono ritornati dal server, vi invito a leggere RFC-2030.

Continua a leggere

MExpr

Finalmente, ho rilasciato la mia prima versione della libreria MExpr!

Una libreria C++ che analizza delle espressioni matematiche, traducendole da stringhe a strutture facilmente manipolabili. La libreria è stata realizzata utilizzando bison e flex. La valutazione viene fatta attraverso un Abstract Syntax Tree, navigandolo ricorsivamente. Se si necessita di valutare più volte la stessa espressione, ad esempio per disegnare una funzione cambiando solamente il valore di una variabile, Si può anche compilare l’espressione in bytecode; quest’ultimo utilizza una pila per valutare l’espressione, risultando molto performante. La libreria supporta le variabili e funzioni parametriche con un qualunque numero di parametri. Si possono definire funzioni con stesso nome ma con numero diverso di parametri, lasciando al parser il compito di gestire l’overloading delle funzioni. Inoltre supporta le moltiplicazioni implicite, permettendo di scrivere espressioni in maniera naturale come: “-3xy^2″. Mette anche a disposizione un set di funzioni standard prese dalla libreria math.h.

Guarda la pagina ufficiale

ExitWindowsEx in C#

Vi posto una semplice classe per spegnere, riavviare e fare logoff in Windows utilizzando il famoso ExitWindowsEx. Per ogni metodo viene fatto overloading con un altro che può forzare l’azione. In altre parole, l’azione viene eseguita proibendo a Windows di mandare il messaggio WM_QUERYENDSESSION. In questo modo l’utente non potrà mai annullare l’azione.

Continua a leggere

Nascondere la finestra della Console in C#

Di recente ho realizzato un’applicazione per controllare (e limitare) il tempo che mio fratello impiega giornalmente al computer (cattivo!). Avendo la necessità di nascondere qualunque finestra mi sono ingegnato nel trovare una soluzione. Vi mostrerò pertanto la mia personale soluzione per farlo considerando sia un progetto di tipo Console Application che uno di tipo Windows Form Application.

Continua a leggere

Virtual Hosts in LAMP

Nell’ultimo post vi ho raccontato di come istallare LAMP su Ubuntu. Adesso voglio invece mostrarvi come configurare i virtual host, in questo modo potrete creare diversi siti indipendenti (anche ognuno in un sito differente).

Continua a leggere