Scritto il 30 novembre 2006 alle 13:58 da NRK in Divertenti, Programmazione
Quantomeno mi auguro che alcune righe di codice siano scherzose e non vere, perchè oggi un mio collega mi ha passato il link di un thread sul forum di The Daily WTF dove sono riportati un pò di stralci di codice… come dire… esilaranti
Ecco giusto un assaggio dei contenuti, è una delle uscite migliori:
hi all,
IntTemp = Int((255 * Rnd()) + 1)
I used above ASP.NET code. Problem is in ” Rnd() ”
Rnd() value is changing everytime.
What is the alternative for Rnd()? OR How will stop Rnd() value changes at everytime?
Thanks
Scritto il 27 novembre 2006 alle 22:19 da NRK in Programmazione, Ruby, Windows
Oggi, dopo diversi mesi, sono tornato nuovamente a giocare (si fa per dire) con LogParser di Microsoft per cercare di estrapolare un pò di dati utili dai log prodotti da Windows Media Server. Fin qui niente di particolare, a parte qualche accorgimento per interpretare correttamente i dati memorizzati il resto è solo questione di capire precisamente cosa si vuol mettere in evidenza. Il compito è indubbiamente facilitato proprio da LogParser che permette di interrogare i dati memorizzati in log di varia natura e nei formati più disparati con un linguaggio in stile SQL. Ve l’ho mai detto che è uno strumento eccezionale ed utilissimo? Se non ci credete o non lo avete mai visto all’opera, scaricatelo e provatelo dandogli in pasto qualche log, poi stupitevi. Giunti a questo punto mi sono detto “perfetto, ma se volessi automatizzare un pò il tutto?“. Beh nessun problema, dovete sapere che oltre a essere un tool da linea di comando, questo simpatico applicativo offre la possibilità di essere integrato in altri programmi presentandosi come oggetto COM, nessuno quindi vieta di crearsi il proprio progettino in C# (o quello che preferite) con cui interrogare le vostre tonnellate di log attraverso il suo motore, fornendogli semplicemente delle query ad hoc. Tutto molto bello, però mi sono dimenticato di confessarvi una cosa e cioè che oggi ero particolarmente svogliato, sinceramente l’idea di aprire Visual Studio non mi ispirava per niente e quindi mi sono chiesto: “Ruby?“. Per rispondermi ho semplicemente aperto il mio fido SciTE e ho cominciato a buttar giù due righe…
1 require 'win32ole'
2
3 logparser_query = WIN32OLE.new('MSUtil.LogQuery')
4 logparser_input = WIN32OLE.new('MSUtil.LogQuery.W3CInputFormat')
5
6 recordset = logparser_query.execute("SELECT c-ip FROM prova.log", logparser_input)
7
8 while !recordset.atEnd do
9 record = recordset.getRecord
10 puts record.getValue('c-ip')
11 recordset.moveNext
12 end
L’idea funziona, non avevo dubbi del resto. Potrei quasi farci un servizio windows usando la gemma win32-service e fargli generare dei report giornalieri, settimanali e mensili da inviare in mail. In più potrei usarlo per scremare i dati eliminando le colonne inutili e precalcolando alcuni valori per poi inviare il tutto con cadenza giornaliera verso un unico database (anche MySQL andrebbe benissimo) che raccolga nella nostra intranet i dati utili raccolti da più server media. Non è un lavoro complesso, più che altro preferirei la massima flessibilità e proprio per questo vorrei usare Ruby appoggiandomi però alle potenzialità di LogParser, insomma il meglio di due mondi diversi. Una piccola pecca ci sarebbe, il codice risultante si presenta in maniera veramente poco Ruby-ish con quel while, quel moveNext e quel getValue. Orribile… e se facessi una piccola libreria wrapper? Uhm, interessante…
Scritto il 25 novembre 2006 alle 20:24 da NRK in Varie ed eventuali
Ebbene è da due settimane o giù di lì che ho nuovamente accesso a internet con l’ADSL, finalmente hanno sistemato il mio profilo (in precedenza non potevo accedere con le mie credenziali, dava username e password errati)… o almeno, ora funziona tutto con il mio solito vecchio username e non con quello che mi dicono di utilizzare, ma vabbè. Ora è sorto un altro problema visto che spesso la linea decide di cadere, la portante va fuori sync e ciao ciao connessione fino a che non do un bel reset della linea. A volte non basta nemmeno, può passare mezz’ora prima di riuscire a ricollegarsi. Oggi ho deciso quindi di fare una bella prova di quelle approfondite, verificando tra l’altro i parametri della linea (rapporto segnale/rumore, attenuazione, etc) e trovandomi di fronte a una brutta sorpresa: i valori rilevati fanno schifo… ma di brutto! Non avendo molta voglia di prendere in mano il telefono e litigare durante il weekend mi sono limitato a usare l’assistenza online compilando i campi richiesti, all’alba dei tempi quando ho avuto un problema simile mi risposero, anche se inutilmente, con un messaggio tipo “i suoi problemi possono dipendere da disturbo sulla linea, configurazioni errate, problemi del router o presso i nostri server” quindi… magari… non si sa mai. Lunedì ricomincerò a tartassare il numero di assistenza tecnica e intanto preparerò una bella raccomandata A/R, all’epoca del blackout di 6 mesi servì a farmi ricontattare dal commerciale di Wind nel giro di 4 ore dall’arrivo al destinatario. Vi riporto quello che ho scritto all’assistenza, magari non fate troppo caso all’italiano utilizzato perchè non ho badato molto all’aspetto grammaticale della vicenda
Ho verificato un basso valore nel rapporto segnale/rumore e un’alta attenuazione in rapporto a quanto indicato all’URL http://assistenza.libero.it/liberorisponde/full65.phtml, tutto questo in seguito a lavori che hanno portato la mia linea da ADSL a ADSL2+ generati da un cambio NON richiesto. In precedenza (5 anni di contratto) la linea non ha mai avuto problemi di disconnessione nemmeno con il passaggio a 4mbit, il mese scorso a causa dei lavori sopracitati il collegamento è risultato impossibile (problemi di autenticazione) e ora, da una settimana e mezza a questa parte, la linea funziona salvo frequenti cadute improvvise, a volte con l’impossibilità di riconnettersi per mezz’ora. Non si tratta di problemi di login (in questi casi non va nemmeno benvenuto/ospite) e non si tratta di problemi legati all’impianto telefonico casalingo, il router è stato collegato direttamente escludendo tutto l’impianto non mostrando cambiamenti nei dati rilevati. Per completezza riporto i dati rilevati dal router:
ZyXEL> wan adsl linedata near
relative capacity occupation: 100%
noise margin downstream: 6.5 db
output power upstream: 12.0 dbm
attenuation downstream: 38.5 db
Potrete notare anche voi come SNR e attenuazione riportino dati veramente scandalosi, anzi qui è andata anche bene perchè l’SNR (noise margin downstream, nel mio Zyxel 642R) spesso cade nell’oblio dei 5 o 5.5 db. Staremo a vedere…
Scritto il 22 novembre 2006 alle 19:20 da NRK in Sistemi Operativi
Ieri è stato pubblicato da Secunia l’annuncio della scoperta di una falla per Mac OS X marcata come altamente critica. Consiglio a chi utilizza OS X di dare un’occhiata ai dettagli di questa falla perchè è replicabile piuttosto facilmente.
Scritto il 22 novembre 2006 alle 18:38 da NRK in Varie ed eventuali
In un mio precedente articolo ho illustrato a grandi linee lo scopo di quella che viene definita Business Television, accennando al modo in cui l’informatica e le infrastutture telematiche possono contribuire a uno sviluppo moderno e sempre più dinamico di questo canale diretto tra l’impresa e i suoi dipendenti, collaboratori e clienti. Oggi, durante una sessione di ricerca su Google, sono capitato per caso sul blog dell’autore di un libro tutto italiano pubblicato pochi mesi fa che tratta proprio l’argomento Business TV sotto diversi aspetti. Il libro in questione, che conoscevo già anche se purtroppo soltanto di sfuggita, si intitola Business Tv. Comunicazione d’impresa nell’era digitale mentre il blog di Paolo Prestinari, autore dello stesso insieme a Andreina Mandelli, ha lo scopo di completarne i contenuti e dare continuità alla ricerca sull’argomento con novità e nuovi spunti in merito, in più cerca di mantenere per quanto possibile una traccia aggiornata della situazione della BTV nel panorama italiano. Ho trovato i post del suo blog molto interessanti per cui vi consiglio di leggerlo se siete interessati all’argomento.