Il C++ è bello però…

17 06 2009

Amo visceralmente questo linguaggio, va detto. Tuttavia mi sento un po’ imbarazzato davanti alla sua “flessibilità”; poniamo che una mattina voglia scrivere una cosa del genere:

#include <iostream>

int main() {
int a[10] = {1,2,3,4,5,6,7,8,9,0};
std::cout << a[5] << std::endl;
std::cout << 5[a] << std::endl;
return 1;
}

il compilatore dovrebbe cazziarmi e invece se ne sbatte allegramente della 3a riga del main e l’output è il seguente:

Florida:~ banshee$ g++ test.cpp -Wall

Florida:~ banshee$ ./a.out

6

6

Florida:~ banshee$ g++ test.cpp -Wall
Florida:~ banshee$ ./a.out
6
6

E se vi state per caso chiedendo il perché di tutto questo dolore la risposta è (sorprendentemente) semplice :D

Quando noi scriviamo a[5] non facciamo altro che scrivere una cosa del tipo *(a+5), ok? Questo è esattamente uguale a *(5+a) che, quindi,  è esattamente equivalente a scrivere 5[a]. Semplice no?

E poi ci si chiede come mai la gente quando vede il C++ si spaventa… davanti a comportamenti del genere non posso far altro che restare basito pure io.





Rigurgiti retrò

17 05 2009

Ieri stavo gironzolando su youtube e mi sono imbattuto in vecchi video di demo per C64, tipo questo:

e insomma, come dire… mi è scesa la classica lacrimuccia :’)

in memoria dei bei tempi passati (di quanto queste cose facevano MOLTO più effetto che ora)
ho imbastito questo mini-esempio di plasma in Java…


questo jar contiene il codice ed il class compilato, facendoci doppio click l’applicazione si avvia sia su Mac che su Linux che su windows (ho potuto testare l’applicativo solo su Leopard e su Linux, ma sono fiducioso che funzioni anche su win, in fondo sono 70 righe di codice…); prossimamente un post per discutere del codice, così, giusto per i più imberbi ;)





Introduction to Wolfram|Alpha by Stephen Wolfram

15 05 2009

L’attesa è quasi giunta al termine, ancora poche ore e potremmo giocare tutti con Wolfram|Alpha…

Dopo aver visto questo video non sto più nella pelle :D :D

Introduction to Wolfram|Alpha by Stephen Wolfram.

e questo è il conto alla rovescia/live broadcast della messa online del sistema :)





Pillole di version control

6 05 2009

In informatica, il controllo versione è la gestione di versioni multiple di un insieme di informazioni. wikipedia

versioncontrol

dando per scontato che non siate a digiuno sull’argomento (senno c’è sempre la wiki ;) ) vorrei riflettere un po’ sulle peculiarità dei due sistemi di controllo di versione che, per lavoro e per passione, mi sono trovato ad utilizzare con maggior frequenza: SUBVERSION e GIT.

Iniziamo da subversion, un controllo di versione tradizionale: installate il vostro server, configurate i vostri utenti, decidete se volete usare https per avere la cifratura ssl delle connessioni (cosa molto interessante imho) e iniziate ad usarlo secondo il vecchio paradigma Copy-Modify-Merge. Il server tipico è una macchina unix opportunamente configurata (presumo si possa installare anche su un sistema windows ma non ho mai indagato in merito, ormai mi sono disintossicato dalla fuffa prodotta in redmond) il client invece è disponibile per ogni piattaforma ragionevolmente utilizzabile (tranne AmigaOS forse :P ) le caratteristiche che personalmente trovo interessanti sono:
Leggi il seguito di questo post »





Buzzword galore: 改善?

7 09 2008
Il manager moderno, si sa, deve avere le idee chiare. Un piccolo ritardo, una decisione giusta presa al momento sbagliato o una semplice faciloneria potrebbero essere fatali per lui e per la sua azienda.

Questo, di norma, è tanto più vero quanto il settore in cui si compete è in rapida evoluzione ed in continuo mutamento. In un mondo in cui il progresso tecnologico è rappresentato prevalentemente da miglioramenti ingegneristici piuttosto che da stravolgimenti teorici (in sintesi facciamo quasi sempre solo la stessa minestra, ma molto meglio di 20 anni fa) è ovvio che la tentazione di cadere vittima di metodologie, sulla carta semplici e vincenti, atte a migliorare a dismisura la qualità della struttura aziendale, aumentandone l’efficienza ingegneristica ad ogni suo livello, è forte. Talmente forte che molti ne cadono vittima. Non che sia una cosa sbagliata a priori, capiamoci, soltanto che tra il dire ed il fare ci sono di mezzo molte più cose di uno semplice specchio d’acqua; del resto, se una formula magica potesse far funzionare meglio un’azienda, l’Italia (e non solo) non sarebbe nella situazione patetica in cui si trova no?
Vi confesso che sinceramente inizio ad essere un po’ stufo di sentire le stesse uscite ripetute più e più volte, alla stregua di un mantra, il semplice ripetere una cosa non la renderà più reale né il processo migliorerà magicamente perché qualcuno dall’alto indica nel do more with less e nel kaizen la rotta da seguire.

改善(kaizen): miglioramento.

Il concetto è squisitamente giapponese e, quindi, di comprensione difficile (se non impossibile) per la maggior parte dell’intelligencija nostrana; il miglioramento continuo che viene indicato dalla filosofia del kaizen è un processo iterativo, illimitato ed infinito che deve coinvolgere una struttura aziendale nel suo insieme, il risultato raggiunto ed il valore dimostrato da un’impresa non nasce dal management, ma dal lavoro effettuato sulle attività dirette al prodotto.
Il management deve, cioè, supportare le operazioni del personale coinvolto direttamente nella produzione/creazione dello stesso. I processi che non creano valore aggiunto (ovvero le attività che il cliente non sarà disposto a pagare) sono inutili, vanno eliminati; i problemi del ciclo produttivo vanno risolti prima che si presentino.

Detta così suona talmente semplice che persino il più sfigato dei dirigenti sarebbe in grado di indicare col dito la strada da seguire, peccato che tra la destinazione ed il dito spesso si continui a concentrare l’attenzione su quest’ultimo…
le aziende sono fatte di persone, e di queste persone ci si deve fidare perché sono le sole ad essere sul campo e a conoscere il loro campo applicativo approfonditamente. Il kaizen si basa sul principio che l’energia viene dal basso perché è solo da li che c’è la possibilità di lavorare in modo compiuto e utile nei confronti del prodotto (qualunque esso sia). Le decisioni prese dalla punta della piramide dirigenziale sulle specifiche hw e sw hanno dimostrato di non funzionare (Apple a parte, ma li le differenze sono ben altre…) e l’insensato stillicidio di ottimismo da struzzi a cui si assiste ogni giorno in gran parte dei centri di potere aziendali (anche Microsoft ne è stata colpita, mal comune mezzo gaudio no?) dimostrano solo che nel mercato attuale la morte per selezione naturale è evitata dagli appoggi politici ed economici che l’azienda possiede e non dalle strategie implementate per evitarla.
Ma del resto è proprio nel termine “implementare” che troviamo la più grande barriera mentale tra il dire ed il fare.

Volete continuare a dire che va tutto bene? Fatelo pure.

Volete continuare a dire che la colpa è nostra? Vabbene.

Volete continuare a dire che avete fatto tutto il possibile per il bene comune? Ok.

Ma non sperate di convincermi che sia anche vero.





Capture NX2!!!

3 06 2008

Confesso che non ci volevo credere quando ho iniziato a leggere le prime voci qualche settimana fa, però pare proprio giunto il momento ;)

http://nikonusa.com/Find-Your-Nikon/Product/Imaging-Software/25385/Capture-NX-2.html

Nikon ha rilasciato la versione 2 del tanto amato (ed odiato) Capture NX, la brutta notizia è che l’aggiornamento dalla 1.4 è a pagamento, prezzo ridotto ma pur sempre pagare… vabbeh…





Scene Recognition System, molto di più di un esposimetro

1 03 2008

Mentre tutto il mondo era impegnato a riattaccarsi la mandibola davanti ai 25600 ISO della D3 ed ai 51 punti  di messa a fuoco del nuovo CAM3500 una caratteristica estremamente interessante delle nuove uscite passava, quasi sotto silenzio, sotto gli occhi di tutti.

 

 

Scene Recognition System

Visione artistica dello Scene Recognition System

 

 

Mi sto riferendo (e l’avrete intuito vedendo l’immagine) allo Scene Recognition System (SRS d’ora in avanti).

Leggi il seguito di questo post »





Aggiorniamo il firmware della D300 (alla versione 1.02)

13 02 2008

È comparso proprio quest’oggi sui siti di supporto europeo/americano/giapponese un aggiornamento software per la Nikon D300.

Il suddetto aggiornamento porta il firmware A della fotocamera alla versione 1.02 (dalla versione 1.01 con cui sono uscite sino ad ora dalla fabbrica) e lascia immutato il firmware B della stessa (tutte le Nikon sono equipaggiate con un doppio firmware, A e B per l’appunto).

La modifica corregge un raro (non sono mai riuscito a farlo apparire nonostante qualcosa si sia letto in giro) problema di formazione di bande nelle immagini in particolari condizioni di scatto e con tempi “medi” (Nikon afferma inferiori agli 8 secondi, vai te a sapere come mai…).

Come fare per aggiornare la vostra D300? Semplice, andate qui e scaricate il file

  • Nuovo – D300: aggiornamento firmware 1.02 – Windows” se utilizzate questo sistema operativo oppure
  • Nuovo – D300: aggiornamento firmware 1.02 – Macintosh” se vi affidate alla mela.
  1. Decomprimete il file (basta un doppio click sullo stesso) e copiate il file risultante all’interno di una compact flash vuota;
  2. Inserite la compact flash all’interno della D300 ed accendete la fotocamera;
  3. Navigate il menù di setup della fotocamera (quello con la chiave inglese) fino all’ultima voce (quella che riporta la versione corrente dei firmware della fotocamera);
  4. Se il file è posizionato correttamente sarà disponibile l’opzione per l’aggiornamento dello stesso, selezionatela e confermate l’operazione.
  5. Aspettate… nonostante l’avviso reciti che ci possono volere diversi minuti l’operazione richiederà molto meno tempo per essere svolta (e non comporterà la perdita di nessuna impostazione personalizzata ;) )
  6. Quando la fotocamera ve lo comunica spegnetela e riaccendetela;
  7. Finito! :D

Ultimo avviso, fate queste operazioni con una batteria bella carica mi raccomando… declino ogni responsabilità per eventuali incasinamenti :P





Razionalizzazione

4 12 2007

Sono, per mia natura e per gli studi effettuati, un informatico. Questo significa che, personalmente, impazzisco per le cose complicate, per le minuzie logiche e per la consequenzialità di alcune scelte progettuali che si riscontrano all’interno di prodotti ben pensati e costruiti; tuttavia, la complessità dei sistemi esistenti e l’infinito (o quasi) numero di variabili gestibili tramite un moderno strumento di calcolo pongono la mente umana, sia degli utilizzatori che quella dei progettisti di tali sistemi, davanti ad ostacoli quasi insormontabili quando si tratta di padroneggiare gli stessi oggetti creati.

La moderna ingegneria ha potuto gestire un aumento così elevato della complessità di progetto grazie all’inscatolamento; sistemi complessi vengono visti come unione di sistemi via via più semplici (sottosistemi), fino ad arrivare ad un sufficiente livello di “gestibilità”.

 

Capture NX package
Capture NX

Leggi il seguito di questo post »





Modalità D2x per le Nikon D3 e D300

28 11 2007

Picture Control System

Nikon ha deciso di porre subito in buon uso le potenzialità offerte dal suo nuovissimo Picture Control rendendo disponibili per il download dal proprio sito alcuni profili di immagine per emulare il comportamento della D2x utilizzando la D3 o la D300.

 

I profili emulati sono i D2XMODE1, D2XMODE2, e D2XMODE3, utilizzati per una miglior resa dei toni della pelle, per facilitare una migliore post produzione e per esaltare i toni blu e verdi (per le foto di paesaggio insomma).

 

Tutti i file (disponibili per Windows e per Mac) sono reperibili a questo indirizzo.








Iscriviti

Get every new post delivered to your Inbox.