Un po' di numeri
Nel 2004, Italia aveva 18 supercomputer nel Top500 internazionale.Nel 2005, ne aveva 11.Nel 2006, ne ha solo 7.
Su che numero per il prossimo anno scommettereste?...
Un risultato davvero sorprendente quello della legge di Benford: la probabilità che nei dati reali un numero in notazione decimale inizi con la cifra d (1<=d<=9) è:
P(d) = Log10(1+1/d)
Cosa vuol dire questo? Vuol dire che nei dati reali, la probabilità che un numero inizi con la cifra 1 è 0,301 e non 0,111 come uno si potrebbe aspettare! In più, vuol dire che è più probabile che un numero inizi con una cifra inferiore che con una maggiore! Bello, no?
Applicazioni? Per esempio nell'analisi forensica dei dati di contabilità! Se avete un datawarehose, potete verificarla.
Se fossimo almeno in 6 (notiamo con p questo numero; p come persone) ad una cena UGIdotNET, sappiate che si verificherebbe una di queste due situazioni: o almeno 3 di noi (notiamo con a, a come amici) si sono già conosciuti un'altra volta, o almeno 3 di noi (notiamo con s, s come sconosciuti) si conoscono per la prima volta alla cena. E tutto questo in base al numero Ramsey R(3, 3) = 6.
Con questa notazione, abbiamo p = R(a, s). Si sa che:
6 = R(3, 3)9 = R(3, 4) = R(4, 3)14 = R(3, 5) = R(5, 3)18 = R(4, 4) = R(3, 6)...
Da 2 giorni sono entrato nel secondo anno di blogging, è sabato sera e quindi tempo di statistiche sceme:
Top #
Description
Web Views
1
Write a routine that counts the number of bits in a byte
313
2
Member names cannot be the same as their enclosing type
312
3
Do return an empty array instead of a null reference
282
4
Nuovo test (chi vuol essere nel mio blogroll?)
253
5
App.config e NUnit
241
6
Tutto fumo, niente fumetti
234
7
Compilazione di programmi vuoti in vari linguaggi .NET
207
8
RomanEval (i vincitori con le loro soluzioni)
204
9
Classi proxy dinamiche in .NET implementate in progetti open-source
201
10
Ma posso creare un array unidimensionale con il limite inferiore diverso da zero?
194
Top #
Description
Agg Views
1
Bug compilatore VB .NET?...
Da questo post del mio connazionale Radu Grigore, scopro un bellissimo teorema di McEliece (per la cronaca, Robert McEliece è stato negli anni '60 compagno di dottorato di ricerca con Donald Knuth, vero mostro sacro dell'informatica):
Any continuous strictly increasing function f : R -> R with the inverse g, g(Z) included in Z, has the dual properties:
ceiling(f(x)) = ceiling(f(ceiling(x)))
floor(f(x)) = floor(f(floor(x)))
OK, adesso so che volete un esempio semplice in C# :-)
System.Math.Sqrt è definita in {double non negativi} con valori in {double non negativi}, è
monotona strettamente crescente strettamente ascendente (si dice così?) e per argomenti interi non negativi...
A differenza di quanto mi aspettavo, scopro da A9.com che le percentuali di visite su ugidotnet.org sono divise così:
blogs.ugidotnet.org ~ 62%
ugidotnet.org ~ 31%
forum.ugidotnet.org ~ 6%
La cosa mi fa sicuramente piacere però mi aspettavo tra blogs e forum esattamente il contrario.
Nella vostra navigazione vi riconoscete in queste percentuali?
(Aggiornamento 26/12/04): Come segnalato da Simone,
le statistiche riguardano le navigazioni coll'Alexa
Toolbar installata, quindi devono essere prese con questa cautela.
Via questo post di Richard Dudley, ho scoperto:
Koders - Source Code Search Engine
Spettacolo!
Da questo post di S. Somasegar (Corporate VP, Developer Division) scopro quanto dura fare il build della Beta1 di VS 2005: più di 30 ore!!!...
A giugno 2004, quindi la classifica è recentissima, 18 tra i primi 500 supercomputer più potenti del mondo si trovavano in Italia. I primi 3 appartengono all'ambiente universitario. Il primo occupa la posizione 63 in questa Top500 internazionale e la posizione 8 europea (dopo 4 supercomputer inglesi, 2 tedeschi e 1 francese). Una sorpresa (al meno per me) è che, di questi 18, Telecom ne ha ben 7!
CINECA (Consorzio Interuniversitario per il Calcolo Automatico dell'Italia Nord Orientale) (63, 159),
CILEA (Consorzio Interuniversitario Lombardo per l'Elaborazione Automatica) (209),
AGIP (Eni S.p.A) (237),
Manufacturing Company (Fiat?) (266),
Telecom Italia S.p.A (354, 355,...
Nel mio articolo "L'individuazione via reflection delle classi singleton all'interno del Framework .NET" - grazie per il rating 4,70 :-) - trovavo le seguenti 3 classi singleton:
Microsoft.JScript.Empty
Microsoft.JScript.Missing
System.DBNull
e finivo l'articolo con una mia perplessità:
"Giocando con vari test e cambiando leggermente i requisiti di implementazione ho scoperto che la classe System.Reflection.Missing ha il costruttore internal anziché private, per il resto è un singleton puro. Mi chiedo se si tratta di una disattenzione da parte degli sviluppatori del Framework oppure se è stata pensata come singleton solo all'esterno del Framework. Un caso simile è quello della classe interna System.Empty dove di...
"In general I am not a big fan of sealing classes arbitrarly. As a general rule we designed classes in the BCL with extensibility in mind. However, from a pragmatic standpoint that is not always possible. [...] a fully extensible design is not always practical [...]" (Brad Abrams, SLAR, p. 424)
Incuriosito da quanto vuol dire in numeri la frase di Brad "I am not a big fan of sealing" mi sono messo a contare (no, non a mano!) tutte le classi sealed tra le classi non abstract in tutti i namespace sotto System, System ovviamente compreso. Il risultato? 1695 classi...
Stavo leggendo un capitolo simpatico su "Factoring Metrics" (pp. 57-58) nel libro "Programming .NET Components" di Juval Lowy e incontrando questi numeri:
"On average, a .NET framework interface has 3.75 members, with a methods-to-properties ratio of 3.5:1. Less than 3% of the members are events [...] you could say that on average, .NET interfaces are well factored"
mi sono ricordato di un altro articolo "CLR Types. Use Reflection to Discover and Assess the Most Common Types in the .NET Framework" dove Panos Kougiouris tramite reflection estrae questo:
"all the types in the .NET Framework: 9202 types!"
e tanti altri numeri in questa tabella.
Vale...