Immagine
 Ultima discesa alla Tre Valli '12... di Marco Tenuti
 
"
Credevate che il computer fosse un giocattolo? Io ho cominciato ad usarlo quasi per gioco e non l'ho ancora finito.

Marco Tenuti
"
 



Miei sponsor
Gli sponsor che pago io

Social Network



Se vuoi contattarmi via e-mail:

t e n u t i @ l i b e r o . i t
Wikio - Top dei blog
Di seguito tutti gli interventi pubblicati sul sito, in ordine cronologico.
 
 
Di Marco Tenuti (del 06/12/2017 @ 19:06:00, in cultura, linkato 2453 volte)

Ecco una breve, ma efficace guida alle targhe tedesche!

Le targhe automobilistiche della Germania

Riporto comunque un breve stralcio dall'articolo:

Esempio di targa tedesca

Prendiamo come esempio la targa che vedete sopra:

A sinistra, nella fascia azzurra in alto la corona di stelle dell'Unione Europea e sotto la sigla che sta per il paese (qui D = Deutschland / Germania), due elementi che si trovano ormai in tutte le targhe dei paesi della comunità europea. Poi seguono una, due o tre lettere (qui RA) che indicano la città o la provincia dove l'automobile è stata registrata. In questo caso, RA sta per la città di Rastatt (vedi anche l'elenco sotto). Seguono a destra due targhette piccole rotonde, una sopra l'altra. Sopra quella che indica la scadenza del controllo tecnico periodico dell'automobile. Il colore di quella targhetta cambia ogni anno e così è immediatamente visibile se l'automobile è in regola o no. Questa targhetta rotonda si trova nella targa posteriore, nella targa anteriore si trova invece una targhetta del tutto simile, dello stesso colore, ma esagonale che indica la scadenza dell'esame del gas di scarico. Sotto, sia nella targa posteriore che su quella anteriore, una targhetta rotonda leggermente più grande dove si legge per esteso il nome della città o della provincia dove l'automobile è stata registrata, al centro lo stemma della regione e sopra il nome della regione. Seguono, a destra, una serie di una o due lettere (qui KL) e una serie di cifre (fino a quattro cifre, qui 8136). Queste lettere e cifre non hanno nessun significato, servono solo a distinguere le automobili registrate in una città o provincia, possono quindi benissimo ripetersi in un'altra città.

Poi esistono tutta una serie di combinazioni, che non risultano nella lista dell'articolo, come Wetzlar, ad esempio.

A
A Augsburg
AA Ostablkreis
AB Aschaffenburg
ABG Aschaffenburger Land
AC Achen
AIC Aichach-Friedberg
AK Altenkirchen
AM Amberg
AN Ansbach
ANA Annaberg
Altötting
AP Weimarer Land
AS Amberg-Sulzbach
ASL Aschersleben-Sulzbach
ASZ Aue-Schwarzenberg
AUR Aurich
AW Ahrweiler
AZ Alzey-Worms
AZE Anhalt-Zerbst
B
B Berlin
BA Bamberg
BADBaden-Baden
BAR Barnim
BBBöblingen
BBG Bernburg
BCBiberach
BGL Berchtesgardener Land
BIBielefeld
BIR Birkenfeld-Idar-Oberstein
BITBitburg-Prüm
BL Zollernalbkreis
BLKBurgenlandkreis
BM Erftkreis
BNBonn
BO Bochum
Börderkreis
BOR Borken
BOTBottrop
BRA Wesermarsch
BRBBrandenburg
BS Braunschweig
BTBayreuth
BTF Bitterfeld
BÜSBüsingen
BZ Bautzen
C
C Chemnitz
CBCottbus
CE Celle
CHACham
CLP Cloppenburg
COCoburg
COC Cochern-Zell
COECoesfeld
CUX Cuxhaven
CWCalw
D
DDüsseldorf
DA Darmstadt
DAHDachau
DAN Lüchow-Dannenberg
DAUDaun
DBR Bad Doberan
DDDresden
DE Dessau
DEGDeggendorf
DEL Delmenhorst
DGFDingolfing-Landau
DH Diepholz
DLDöbelin
DLG Dillingen an der Donau
DMDemmin
DN Düren
DODortmund
DON Donau-Ries
DUDuisbrug
DÜW Bad Dürkheim
DWWeißeritzkreis
DZ Delitzsch
E
E Essen
EAEisenach
EBE Ebersberg
EDErding
EE Eber-Elster
EFErfurt
EI Eichstätt
EICEichsfeld
EL Emsland
EMEmmendingen
EMD Emden
EMSRhein-Lahn-Kreis
EN Ennepe-Ruhr-Kreis
ERErlangen
ERB Odenwaldkreis
ERHErlangen-Höchstadt
ES Esslingen am Neckar
ESWWerra-Meißner-Kreis
EU Euskirchen
F
F Frankfurt am Main
FBWetteraukreis
FD Fulda
FDSFreudenstadt
FF Frankfurt an der Oder
FFBFürsternfeldbruck
FG Freiberg
FLFlensburg
FN Bodenseekreis
FOForchheim
FR Freiburg im Breisgau
FRGFreyung-Grafenau
FRI Friesland
FSFreising, Moosbrug
FT Frankenthal
Fürth
G
GGera
GAP Garmisch-Partenkirchen
GCChemnitzer Land
GE Gelsenkirchen
GERGermersheim
GF Gifhorn
GGGroß-Gerau
GI Gießen
GLRheinisch-Berg.-Kreis
GM Oberbergischer Kreis
Göttingen
GP Göppingen
GRGörlitz
GRZ Greiz
GSGoslar
GT Gütersloh
GTHGotha
Güstrow
GZGünzburg
H
HHannover
HA Hagen
HALHalle
HAM Hamm
HASHaßberge
HB Bremen
HBNHindburghausen
HBS Halberstadt
HDHeidelberg
HDH Heidenheim (Brenz)
HEHelmstedt
HEF Hersfeld-Rotenburg
HEIDithmarschen
HER Herne
HFHerford
HG Hochtaunus-Kreis
HGWGreifswald
HH Hamburg
HIHildesheim
HL Lübeck
HMHameln-Pyrmont
HN Heilbronn
HOHof
HOL Holzminden
HOMSaar-Pfalz-Kreis
HP Bergstraße
HRSchwalm-Eder-Kreis
HRO Rostock
HSHeinsberg
HSK Hochsauerlandkreis
HSTStralsund
HU Hanau / Main-Kinzig-Kreis
HVLHavelland
HWI Wismar
HXHöxter
HY Hoyerswerda
I
IGB St. Ingbert
IKIlm-kreis
IN Ingolstadt
IZSteinburg
J
JJena
JLJerichower Land
K
K Köln
KAKarlsruhe
KB Waldeck-Frankenberg
KCKronach
KE Kempten
KEHKelheim
KF Kaufbeuren
KGBad Kissingen
KH Bad Kreuznach
KIKiel
KIB Donnersbergkreis
KLKaiserslautern
KLE Kleve
KMKamenz
KN Konstanz
KOKoblenz
KÖT Köthen-Anhalt
KRKrefeld
KS Kassel
KTKitzingen
KU Kulmbach
KÜNHohlenlohekreis
KUS Kusel
KYFKyffhäuserkreis
L
LLeipzig
LA Landshut
LAUNürnberger Land
LB Ludwigsburg
LDLandau in der Pfalz
LDK Lahn-Dill-Kreis
LDSDahme-Spreewald
LER Leer
LEVLeverkusen
LG Lüneburg
LILindau
LIF Lichtenfels
LIPLippe
LL Landsberg am Lech
LMLimburg-Weilburg
Lörrach
LOSOder-Spree
LU Ludwigshafen
LWLLudwigslust
M
MMünchen
MA Mannheim
MBMiesbach
MD Magdeburg
MEMettmann
MEI Meißen
MEKMittl. Erzgebirgskreis
MG Mönchengladbach
MHMühlheim a.d. Ruhr
MI Minden-Lübbecke
MILMiltenberg
MK Märkischer Kreis
MLMansfelder Land
MM Memmingen
MOLMärkisch-Oderland
MOS Neckar Odenwaldkreis
MQMarseburg-Querfurt
MR Marburg-Biedenkopf
MSMünster
MSP Main-Spessart
MSTMechlenburg-Strelitz
MTK Main-Taunus-Kreis
MTLMuldentalkreis
Mühldorf am Inn
MÜRMüritz
MW Mittweida
MYKMayen-Koblenz
MZ Mainz, Bingen
MZGMerzig-Wadern
N
NNürnberg
NB Neubrandenburg
NDNeuburg-Schrobenhausen
NDH Nordhausen
NENeuss
NEA Neustadt an der Waldnaab
NFNordfriesland
NI Nienburg
NKNeunkirchen
NM Neumarkt
NMSNeumünster
NOH Bentheim
NOLNiederschlesisch Oberlausitz
NOM Northeim
NRNeuwied
NU Neu-Ulm
NVPNordvorpommern
NW Neustadt an der Weinstraße
NWMNordwestmecklenburg
O
OAOberallgäu
OAL Ostallgäu
OBOberhausen
OD Stormarn
OEOlpe
OF Offenbach
OGOrtenaukreis
OH Ostholstein
OHAOsterode a. Harz
OHV Oberhavel
OHZOsterholz-Scharmbeck
OK Ohrekreis
OLOldenburg
OPR Ostprignitz-Ruppin
OSOsnabrück
OSL Oberspreewald-Lausitz
OVPOstvorpommern
P
PPotsdam
PA Passau
PAFPfaffenhofen
PAN Rottal-Inn
PBPaderborn
PCH Parchim
PEPeine
PF Pforzheim
PIPinneberg
PIR Sächsische Schweiz
PLPlauen
PLÖ Plön
PMPotsdam
PR Prignitz
PSPirmasens
QLBQuedlinburg
R
RRegensburg
RA Rastatt
RDRendsburg-Eckernförde
RE Recklinghausen
REGRegen
RG Großenhain
RHRoth
RO Rosenheim
ROWRotenburg-Wümme
RS Remscheid
RTReutlingen
RÜD Rheingau-Taunus-Kreis
RÜGRügen
RV Ravensburg
RWRottweil
RZ Herzogtum Lauenburg
S
S Stuttgart
SADSchwandorf in Bayern
SAW Altmarkkreis-Salzwedel
SBSaarbrücken
SBK Schönebeck
SCSchwabach
SDL Stendal
SEBad Segeberg
SFA Soltau-Fallingbostel
SGSoltingen
SGH Sangerhausen
SHASchwäbisch Hall
SHG Schaumburg
SHKSaale-Holzland-Kreis
SHL Suhl
SISiegen
SIG Sigmaringen
SIMRhein-Hunsrückkreis
SK Saalkreis
SLSchleswig-Flensburg
SLF Saalfeld-Rudolstadt
SLSSaarlouis
SM Schmalkalden-Meiningen
SNSchwerin
SO Soest
SÖMSömmerda
SOK Saale-Orla-Kreis
SONSonneberg
SP Speyer
SPNSpree-Neiße
SR Straubing
STSteinfurt
STA Starnberg
STDStade
STL Stollberg
SURhein-Sieg-Kreis
SÜW Südliche Weinstraße
SWSchweinfurt
SZ Salzgitter
T
TBB Main-Tauber-Kreis
TFTeltow-Fläming
TIR Tirschenreuth
TOTorgau-Oschatz
TÖL Bad Tölz
TRTrier
TS Traunstein
Tübingen
TUT Tuttlingen
U
UE Uelzen
UERUecker-Randow
UH Unstrut-Hainich-Kreis
ULUlm, Alb-Donau-Kreis
UM Uckermark
UNUnna
V
VVogtlandkreis
VB Vogelsbergkreis
VECVechta
VER Verden
VIEViersen
VK Völklingen
VSSchwarzwald-Baar-Kreis
W
WWuppertal
WAF Warendorf
WAKWartburgkreis
WB Wittenberg
WEWeimar
WEN Weiden
WESWesel
WF Wolfenbüttel
WHVWilhelmshaven
WI Wiesbaden
WILWittlich
WM Weilheim-Schongau
WNRems-Murr-Kreis
WND St. Wendel
WOWorms
WOB Wolfsburg
WRWernigerode
WSF Weißenfels
WSTAmmerland
WT Waldshut
WTMWittmund
Würzburg
WUGWeißenburg-Gunzenhausen
WUN Wunsiedel
WWWesterwaldkreis
WZWetzlar
Z
ZZwickau
ZI Löbach-Zittau
ZWZweibrücken
Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 31/08/2017 @ 16:59:00, in MTB, linkato 1177 volte)

Sometimes it's useful to connect to a computer via Teamviewer, although you're able to reach it via file sharing and you have complete access to the local machine file system of the main disk. You need just to check inside the following path:

\\network_path\c$\Program Files (x86)\TeamViewer\Version9

Now please open the contained log file:

TeamViewer9_Logfile.log

If you look at the beginning of the file, you may find some handshaking between the application and one of the TeamViewer servers to determine its own TeamViewer ID. There will be a line stating that a new RSA key pair has been generated. The following lines should contain somewhere the ID just after the From= string. That's the TeamViewer ID just assigned from the TeamViewer servers.

2017/07/25 13:50:25.295 2920 1516 S0 Generating new RSA private/public key pair
2017/07/25 13:50:25.342 2920 1516 S0 CT4 CT.Send.CMD_MASTERCOMMAND From=123456789 To=0 L=310

You may confirm that number is right looking at following lines where somebody initiated a TeamViewer connection to your machine:

2017/07/25 13:57:40.511 2148 4008 S0 CT4 CT.Receive.CMD_ROUTERCMD From=987654321 To=123456789 L=1835

In this log file there's plenty of occurrences of that number in several queries. That's enough for you to detect the TeamViewer ID. Now it's up to you to find the password by yourself!

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 20/02/2017 @ 23:01:00, in computational, linkato 750 volte)

If you aren't getting deeply involved in some innovative feature, you can't figure out how getting the most from it. In the last months I started driving my car along a suburban road, which is quiet at most, but it sometimes blows up at working hours. I drive that road in those hours, so I'm part of the crowd, that makes everything so slow: that's my fault!

After experiencing my first queues, I started using often maps services like Google and Apple's too, especially the traffic feature. Both the apps display those information basically in the same way: the green path over the road shows no evidence of queue, the yellow marks a slower speed than the usual average speed. The red path states the existence of the queue, which means that several vehicles are lying along the trackway.

This feature is available from various information systems since about two decades: how do they exactly work? If I look backward, I think of a not-so-different service offered by the highway management systems through the horizontal textual display placed along the path: you know what I mean.

I'm experienced enough that those information have never been very precise and useful. Response time doesn't seem to have been ever quick at refreshing.

When the queue starts growing, the system makes you know only after some manned intervention. When the queue has disappeared and normal conditions are restored again, it seems that the information system isn't refreshed in real time for the same reason: information systems are not controlled in a completely automatic way.

Last time it happened again in my area: all the cars exited the motorway due to the panic, so that the crowd moved from the highway to the adjacent local roads. The former became completely free, the latter blew up, whilst information system was still stating the unupdated status: "Faulty highway from Soave to Verona with a 9 kilometers queue".

May you get valuable help from such an unresponsive and uneffective service? It may help you to avoid some hour in a longer travel, like during the summer or Christmas holidays, but it's absolutely unuseful for everybody driving daily the highway or the shorter suburban roads.

Let's see how these automatic services work like Google's or Apple's: they are based on pervasive technology, as crowdsourcing. They use a collaborative approach: any user device, mainly any smartphone, is being used anonymously to send real-time position during an interval frame along some city or suburban road. Any competitor, like Google, Tomtom, Apple, Microsoft worked hardly and is going to keep on fixing and make it better, as you may see in this patent registered by Apple.

As soon as all those data are collected in a huge database - tons of smartphone localizations along a road in a short time interval and the average speed of those devices tends to decrease importantly than the average speed at that hour on that road, the software builds its hypothesis: a car queue is growing up.

Traffic estimates by crowdsourcing

The algorhytm needs to be adjusted for such detection, in order to avoid false positives. Let's recall some typical patterns to check:

  • you need a minimum amount of devices to detect condition (two phones are not enough)
  • vehicle speed should have large standard deviation (on-off speed is desired)
  • maximum speed along the track needs to outperform average speed of pedestrians or cyclists (don't confuse with other travellers)
  • minimum speed could reset to zero, although you could confuse with people at road sides
  • average distance between devices along the virtual polyline must not be lower that a fixed value (smartphones are inside vehicles which have larger sizes than human bodies)

There are also other false positives, like crowds at train station or at tube, their unregular positions quite differen from a row, a flashmob, or a group of fans taking part a concert or a sporting event. There's plenty of exceptional cases, which could be detected as traffic crowds, so they need to be manually fixed with blacklists centered towards to stations, squares, or stadiums.

What's amazing of those automatic system is the reaction time, which has been lowered at a value less than a minute. Such threshold is just what you need to take fast decisions in the traffic jam also for local or bounded cases. The travelling time revised with the realtime traffic is a great point to start to offer smart tracks and lets you bypass the lock. Waze was one the first services to work in such manner.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 20/02/2017 @ 21:20:00, in computational, linkato 757 volte)

Finché non ne hai la reale necessità, puoi solo apprezzare la potenzialità di alcune innovazioni, ma non le puoi sfruttare fino in fondo. E' da qualche settimana che uso la macchina lungo un tragitto stradale extraurbano che non è eccessivamente affollato, però presenta comunque le sue criticità durante gli orari di pendolarismo. Siccome anch'io mi sposto in quegli orari, io stesso contribuisco a rallentare la circolazione.

Dopo essermi imbattuto nei primi incolonnamenti, ho cominciato a diventare utilizzatore abituale delle mappe sia di Google che di Apple, per quanto riguarda le funzionalità di segnalazione del traffico. Entrambe le app sono pressoché uniformi nel dare indicazioni: il colore verde indica che non sono presenti rallentamenti lungo il tratto stradale, il colore giallo indica una velocità di percorrenza inferiore alla velocità media, mentre il colore rosso indica code ed incolonnamenti e quindi veicoli praticamente fermi.

Questa prestazione è disponibile nei vari sistemi informativi sulla navigazione già da un bel po' di tempo, ma come funzionano esattamente? Se penso ad un servizio analogo, mi viene da pensare a quello offerto dalle società di gestione delle autostrade attraverso la segnaletica orizzontale presente ovunque, solo che l'esperienza mi dice che tali indicazioni non sono così immediate ed efficaci. I tempi di risposta non sono bassi: quando si forma un incolonnamento, le segnalazioni partono spesso solo dopo l'intervento manuale di un operatore, mentre il ripristino delle normali condizioni di traffico è altrettanto lento, poiché esso avviene con un certo ritardo rispetto alla situazione reale, anche qui probabilmente perché i sistemi informativi sono controllati in modalità non completamente automatica. L'ultima volta mi è capitato di vedere tutte le automobili uscire dall'autostrada perché presi dal panico dell'ingorgo, col risultato che l'ingorgo si è postato dall'autostrada verso le superstrade parallele, mentre l'autostrada diventava completamente sgombera, mentre le indicazioni stradali non tempestivamente rinfrescate.

Cosa farsene pertanto di un servizio che non è efficace e responsivo? Può aiutare per evitare di perdere ore e ore imbottigliati durante l'esodo estivo o nei periodi di Natale, ma non è assolutamente efficace per chi invece usa abitualmente l'autostrada abitualmente e per tratte relativamente brevi.

Vediamo invece come funzionano servizi completamente automatici come quelli dei due colossi informatici: si basano su una tecnologia pervasiva, come il crowdsourcing, ossia si sfruttano i dispositivi elettronici degli utenti, i loro smartphone, per capire attraverso il loro posizionamento nel tempo cosa sta succedendo lungo le strade delle nostre città e paesi. Tutti i principali competitors ci hanno lavorato e ci continuano a lavorare, come Apple.

Se nel database della società di gestione di servizi, arriva un cospicuo numero di localizzazioni di telefoni lungo un tratto stradale in un tempo relativamente stretto e la velocità media di percorrenza dei dispositivi è molto più bassa di quella solita lungo lo stesso tratto, si può formulare l'ipotesi che si stia formando una coda.

Traffic estimates by crowdsourcing

E' chiaro che alcuni aggiustamenti all'algoritmo di detezione code vanno presi, per evitare i soliti falsi positivi. Alcune condizioni da captare sono le seguenti:

  • il numero minimo di dispositivi da considerare deve essere superiore o uguale ad un valore minimo (non bastano due macchine a fare coda)
  • le velocità dei veicoli lungo il tratto deve avere una deviazione statistica ampia (velocità a singhiozzo)
  • la velocità massima dei veicoli deve essere ampiamente superiore alla velocità che una persona può raggiungere a piedi o in bicicletta (non si devono confondere coi pedoni a bordo strada)
  • la velocità minima può anche azzerarsi, altrimenti siamo nella condizione di persone sedute a bordo strada
  • la distanza media di dispositivi lungo una polilinea immaginaria non deve essere inferiore ad un certo valore, cioè si rileva il fatto che i dispositivi si trovano a bordo di un autoveicolo che ha dimensioni apprezzabili

Esistono inoltre dei falsi positivi eccezionali, come l'ammassamento di tantissime persone in una stazione dei treni o della metropolitana, la loro non perfetta disposizione come una colonna, la partecipazione ad un evento sportivo o musicale. C'è pieno insomma di casi particolari, che possono far scattare la condizione di traffico senza per questo configurarsi come tale.

Quello che è sorprendente è che il tempo di reazione è inferiore ad un minuto, cioè proprio quello che serve a prendere decisioni veloci e puntuali sul traffico, anche per situazioni locali o limitate. Lo stesso dato di percorrenza opportunamente corretto della situazione di traffico istantanea è anche la base per offrire tragitti intelligenti, cioè che consentono di aggirare l'intasamento. Waze è stato infatti uno dei primi servizi a funzionare in questo modo.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 29/01/2017 @ 22:21:00, in Windows, linkato 1774 volte)

Some months ago I challenged my readers to find a method to determine an inner point inside a polygon. I described the original issue in this article in Italian language, altough more than one lector confused this issue with another one, i.e. determine if a point is inside or not in a polygon.

Canonical diagonal crossover

I would spend a little bit more on the issue: the algorytmic problem is to find a point completely inside the polygon, whatever the polygon is convex or concave. The satisfying point must lay completely in the inner region bounded by the polygon, not over the bound, otherwise you could solve the problem taking any of the vertexes or the mid point over any edge.

The most elegant solution I found - which is also very effective to outfit in programming code - is based on the fact tha any polygon may be always discretized in triangles and you may prove for induction that a valid solution is a mid point taken over and inner diagonal of the polygon. What's difficult is finding an inner diagonal, i.e. a segment that connects any pair of vertexes. In each polygon you can find several diagonals completely inside the polygon, but you can stop as soon as you find the first one.

Proof for induction that an inner diagonal always exists

Let's make a proposal for an easy algorytm to get some solution:

  • loop from 1 to n over the set of the polygon vertexes
  • take the i-th vertex from 1 to n, if n is the amount of the polygon vertexes
    • take another j-th vertex where j loops from i+1 to n and let's trace the test diagonal, which doesn't have to belong to the edges set
      • take each k-th edge in the edges set
        • check if the test diagonal from i to j intersects k-th edge
      • if the test diagonal doesn't intersect any edge, it could be completely embraced in the polygon or it could be completely outside the polygon
      • check if the mid point of the test diagonal is inside or outside the polygon if the mid point is inside, return it as the solution

As you may see, this pseudocode is quite easy to understand, although it is far from being efficient: its polynomial complexity is O(n3).

Let's go a step further and let's quickly see the method based on the proof that an inner diagonal always exists inside a polygon [O'Rourke 13-14]. The idea behind is that the mid point of the inner diagonal is always inside the polygon.

You may prove that for induction using the amount of vertexes and sides of the polygon. If you find a solution for an N-vertexes polygon, you can find a solution even for an N+1-vertexes polygon.

A point inside the segment ab

The base of induction is the easiest polygon, the triangle. In the triangle the solution to the problem is trivial: just use the centroid of the vertexes.

For a quadrangle, if it is convex, you get two inner diagonals and both satisfy the algorytm choice. If the quadrangle is concave, only one diagonal is completely inside, but the solution is whatsoever found. You can notice that the inner diagonal is the side shared between two adjacent triangles got by the triangular meshing of the polygon, so you just need to consider any shared side of two triangles in the mesh.

Let's move to the inductive step:

  • find a convex vertex v in the polygon and consider a and b as adjacent vertexes surrounding v
  • for each other vertex q in the polygon
    • if the vertex q is inside the triangle avb, calculate the distance of v to the segment ab
    • keep vertex q as solution if its distance is minimal with respect other found vertexes
  • if no vertexes q have been found inside avb, use the mid point of segment ab as solution or the centroid of triangle avb
  • if some vertex q is inside the triangle avb then the diagonal qv is surely inside and the solution is its mid point

In the image shown above, you may noticed that the nearest point to segment ab, doesn't lay in triangle avb, so the solution in the centroid in triangle avb or the mid point of segment ab, which is an inner diagonal.

You may notice that algorytm complexity is O(n), which is the best you would ask for: its optimal even in the performance space.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 17/01/2017 @ 19:35:00, in Windows, linkato 730 volte)

Anche Amazon è recentemente preso di mira dai truffatori, cioè gente che usa l'enorme visibilità del portale del negozio di Vancouver per cercare di portare a segno dei furti ai danni degli ignari.

Lo schema è molto semplice: il venditore/truffatore, una terza parte rispetto al negozio ufficiale di Amazon, mette in vendita un articolo proponendolo ad un prezzo sensibilmente più basso di un altro venditore serio e affidabile, ma non troppo basso.

Io mi sono imbattuto in uno sconto di circa il 15%, però il venditore aveva modificato opportunamente il proprio nome sostituendolo da Mio Negozio Online srl in ContattamiAllIndirizzoBoegmhAtliberoDot.

Io ho fiutato subito la trappola, ma non per questo mi sono tirato indietro al tentativo di acquistare qualcosa ad un prezzo interessante ed ho scritto puntualmente al venditore farlocco con un messaggio e-mail di richiesta di informazioni più dettagliate per portare avanti l'acquisto.

Oggi ho ricevuto la risposta, arrivata comunque dal medesimo indirizzo e-mail:

Ciao,
Il prodotto è originale, con la garanzia e la fattura. Abbiamo offerte speciali in questo periodo. L'offerta dura per 7 giorni. La consegna è gratuita in Europa da DHL Express. Questa attività va avanti Garanzia Programma A-to-Z Amazon.

L'operazione può essere avviata da Amazon, ho bisogno di quanto segue:

Nome completo:
indirizzo:
città:
CAP:
paese:
Telefono:
di prodotto:
Prezzo:

Mi trasmette immediatamente i dati necessari ad Amazon. Amazon invierà le informazioni relative alla cassa. In un massimo di 3 giorni, è possibile ottenere il prodotto. Con Amazon, avete 7 giorni per verificare l'articolo. Bisogna prendere una decisione. Se si desidera mantenere il prodotto o no! Se si desidera, Amazon invierà il denaro a me. In caso contrario, si ottiene il denaro e DHL prenderà l'oggetto da voi e dare di nuovo a me. Pagherò per la consegna ricorrente!

Sto aspettando la risposta.
Grazie.

Quando ho visto l'italiano sgrammaticato e il giro vorticoso, ho fatto uno più uno. Non contento, ho segnalato la cosa al servizio di assistenza tecnica di Amazon, il quale non ha fatto altro che confermare: negli ultimi giorni è tutto un comparire di offerte farlocche di truffatori e loro lavorano continuamente alla rimozione.

State all'occhio!

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 01/07/2016 @ 10:35:48, in Windows, linkato 1768 volte)

Un problema sempre più stringente è il rilascio di patch, installer o piccoli eseguibili sulle ultime versioni di Windows da parte di sviluppatori indipendenti o piccole software house. Quando si scaricano questi file dai siti di distribuzione e si stanno per eseguire sulla macchina Windows - generalmente Windows 7, 8.1 o Windows 10 - compare sempre più spesso l'impossibilità apparente di Windows di farlo partire in quando potenzialmente pericoloso.

Nella fattispecie è Windows SmartScreen a bloccato ed a segnalare la dubbiosità della provenienza con un'indicazione del tipo Autore sconosciuto. Tale indicazione avviene se si prova a lanciare l'eseguibile, appena è stato completato il suo scaricamento dal browser.

Autore sconosciuto in Smartscreen

L'utente ignaro non sa come comportarsi e difficilmente riesce ad intuire che è necessario cliccare sul testo Ulteriori informazioni, per ritrovarsi il dialogo di Smartscreen leggermente modificato e con la comparsa del bottone Esegui comunque.

L'indicazione del testo Autore sconosciuto lascia ulteriormente l'utente nel panico, che rimane pertanto molto diffidente nel cliccare il bottone con cui far partire il setup.

Ad aumentare un altro po' la diffidenza è la richiesta del Controllo Account Utente che segnala il fatto che l'eseguibile pretende di passare alla modalità di amministratore, cosa necessaria per poter collocare o sostituire file eseguibili dentro le installazioni dei programmi o del sistema operativo.

Anche nella richiesta di escalation, ricompare la dubbiosità sulla provenienza, cioè ricompare l'indicazione Autore sconosciuto:

Autore sconosciuto nell'escalation

Per gestire questa problematica e identificare quantomeno il suo autore, un'azione da intraprendere è quella di firmare digitalmente l'esegubile, iniettandoci dentro l'autore e firmando digitalmente l'intero eseguibile con un certificato, in modo che chiunque possa verificare in qualsiasi momento l'integrità del file e che il suo contenuto non sia stato compromesso: la modifica di un solo bit farebbe saltare la verifica dell'intero contenuto rispetto al certificato presente al suo interno.

Per firmare digitalmente un eseguibile, come ad esempio un installer prodotto da Inno Setup, è sufficiente creare un file batch (.BAT) il cui contenuto dovrebbe essere:

"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /f certificato_codesigning_installer.pfx /p laTuaPassword /t http://timestamp.verisign.com/scripts/timstamp.dll MySignedSetup.exe

dove

"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" è il percorso completo dell'applicazione Microsoft per firmare digitalmente i file (parte del Microsoft SDK o di qualsiasi distribuzione di Microsoft Visual Studio)

certificato_codesigning_installer.pfx è il tuo certificato, che puoi aver generato tu o essere stato generato da un'autorità certificante (Certificate Authority, CA)

laTuaPassowrd è la password associata al tuo certificato e che ti è stata assegnata dalla CA quando ti è stato rilasciato il certificato

MySignedFile.exe è il tuo file di setup che vuoi certificare

Si consiglia di mettere tutti i file sopraddetti in una sola cartella - il file batch, il certificato ed il setup da firmare - e poi basta eseguire il barch. Signtool firmerà il file col certificato e ne controllerà la validità appoggiandosi al server ufficiale.

Puoi usare il server http://timestamp.verisign.com/scripts/timstamp.dll, anche se hai un certificato rilasciato da Comodo.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 06/06/2016 @ 13:00:19, in consumatore, linkato 671 volte)

Poco più di un anno fa Elon Musk presentava al mondo quello che lui e la sua società considerano l'anello mancante, tra l'energia "pulita" e il suo utilizzo, cioè l'accumulo, disponibile sia per le utenze domestiche, come PowerWall, e per le utenze commerciali, come PowerPack.

Senza stare ad entrare nel merito se i sistemi fotovoltaici siano davvero "puliti" nel processo di costruzione e smantellamento e se analogamente lo sia anche l'accumulo tramite batterie al litio, trascuriamo anche valutazioni generali di sfruttamento di risorse del pianeta.

Quello che mi aveva fatto una certa impressione era la proporzione tra la superficie degli Stati Uniti e la superficie di pannelli fotovoltaici necessaria per garantire l'indipendenza energetica con questa sola fonte.

Il quadratino blu rappresenta i pannelli, mentre il quadratino rosso, molto più piccolo, la superficie necessaria per disporre le batterie in grado di immagazzinare tutta l'energia accumulata dai pannelli di giorno, chiaramente per l'uso notturno e per le altre situazioni di mancata produzione della sorgente, data principalmente dagli eventi atmosferici.

Pannelli fotovoltaici sugli USA

E' chiaro che la presentazione di Musk è tarata per un pubblico di investitori statiunitensi. La densità abitativa degli Stati Uniti è talmente bassa che bilancia fin troppo la fame energivora della sua popolazione, tradizionalmente quella più affamata da quando la terra è ricoperta da reti di distribuzione elettriche.

Dovremmo piuttosto guardare al fabbisogno energetico per chilometro quadrato e scopriremmo che noi europei siamo decisamente messi peggio degli americani.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 06/05/2016 @ 15:29:59, in web, linkato 35468 volte)

Accedere ad un database MDB preparato con Access non è affar semplice da PHP. Se avete questa necessità, lo potete sempre fare usando il driver ODBC a 32 bit presente ancora nelle installazioni dei vari Windows Server 2008 R2, 2012 ed annessi, anche se a 64 bit.

Controllo versione PHP

Controllate anzitutto se la vostra versione di PHP può già avere accesso al driver ODBC, semplicemente verificandolo con phpinfo():

phpinfo();

Se lo trovate nella zona dei driver per i database (PDO), siete già a posto e dovreste avere una situazione del genere:

PDO_ODBC

Se non fosse così, aprire il file php.ini per la versione del linguaggio PHP che state usando nel sito. Nel caso dell'esempio indicato qui, è necessario che apriate:

C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php.ini

Editate il file e togliete il commento in prossimità delle estensioni seguenti:

extension=php_pdo.dll extension=php_pdo_mysql.dll

Non è sufficiente salvare il file. Dovete forzare il vostro web server a ripartire, in modo che ricarichi il contenuto della configurazione del PHP. Se avete sul vostro server Plesk, basta riavviare il solo servizio web col comodo pannello di controllo.

Rieseguite nuovamente phpinfo() per vedere che adesso siete nella situazione come le immagini allegate.

Ora potete cominciare ad usare PDO per accedere ai database Access. Eccovi un esempio di codice:



<?

  $dbName = $_SERVER["DOCUMENT_ROOT"] . "\\App_Data\\my_access_database.mdb";

if (!file_exists($dbName)) {
    die("File non trovato.");
}

try
{
  $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
}
catch (PDOException $e)
{
  echo $e->getMessage();
}

$sql = "SELECT * FROM users";
$result = $db->query($sql);
while ($row = $result->fetch())
{
  $idUser = $row["IDUser"];
  $name = $row["Name"];
  $surname = $row["Surname"];
  echo '<p>' . $idUser . ' ' . $name . ' ' . $surname . '</p>' . $eol;
}

?>


Articolo (p)Link Commenti Commenti (22)  Storico Storico  Stampa Stampa
 
Di Marco Tenuti (del 08/04/2016 @ 10:13:41, in MTB, linkato 1241 volte)

Più che ricordare l'ultima mia volta in gara - che è stata circa 6 mesi fa - ormai comincia ad essere sempre più evento anche l'ultima volta che sono andato in bici, vista l'attuale frequenza attestata su una volta la settimana.

Ora non vorrei sembrare sempre quello che continua a piangere, però la situazione è provvisoriamente questa: ogni occasione per pedalare è preziosa e va goduta appieno per quella che è, senza stare a guardare troppo quelli che pedalano almeno i loro 10.000 km annuali e che si fanno una quindicina di gare, o quelli che escono 4 volte la settimana da soli o in compagnia, come ai "bei tempi".

La prossima volta che mi capiterà di essere in bici, sarà alla 6 Ore della Valpolicella, new entry tra le gare nazionali, organizzata da Dario Bergamini e gestita tecnicamente anche dagli amici del team Benetti TTNK.

Quando ho prospettato la mia partecipazione, ho pensato tra me: quale miglior cosa di prendere parte a questa endurance in solitario e di stare in compagnia coi biker veronesi che ho conosciuto negli ultimi anni? Mi conoscono per la mia attitudine al chiacchericcio instancabile, più che per le capacità pedalatorie; pertanto mi presenterò proprio con queste intenzioni!

Rimane il fatto che le mie prestazioni - una volta le chiamavo velleità agonistiche - sono sempre più limitate per una questione proprio di ore, di esercizi e di chilometri pedalati, più che per la voglia: ho detto che forse era il caso di sfruttare l'evento proprio per pedalare quanto più possibile.

Una gara di 6 ore non si configura propriamente come una endurance da 24 ore; assomiglia molto più come sforzo fisico ad una marathon da 100 chilometri e 3000 metri di dislivello, quelle cioè a cui mi sono tanto abituato negli anni scorsi: è pur sempre una buonissima occasione per fare gamba in vista di qualche altra cosa un po' più impegnative, come magari la Lessinia Legend a fine giugno.

In più non dovrebbero manifestarsi eccessivamente gli inconvenienti di una scarsa preparazione atletica, leggi crampi, visto che ogni ventina di minuti o giù di lì c'è la possibilità di ripassare al ristoro del campo base.

Mi preparo insomma a questo lieto evento a colpi di rullo e tinteggiatura anche nei prossimi due weekend!

24H di Finale Ligure 2014
ultima partecipazione a gare endurance, la 24 Ore di Finale Ligure '14

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 


Ci sono  persone collegate

Tagcloud

Gare 2017
GARE 2017?
26/03: GF Tre Valli
30/04: GF del Durello
21/05: Passo Buole Extreme
28/05: Soave Bike
25/06: Lessinia Legend
Gare 2016
GARE 2016
26/06: 6H Valpolicella Fatta
27/08: GF d'Autunno Fatta
08/11: XCRunning Grezzana Fatta
Tickerkm
KM STORICI

Km fatti

Palmares
BREVETTI E CIRCUITI

2014: Salzkammergut Survivor
2012: Prestigio MTB
2011: Prestigio MTB
2010: Prestigio MTB, Fizik Veneto
2008: Garda Challenge

< novembre 2023 >
L
M
M
G
V
S
D
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
             

Cerca per parola chiave
 

Titolo
famiglia (4)
fotografia (1)
gastronomia (1)
MTB (14)
rally (2)
viaggi (12)

Le fotografie più cliccate

Titolo
Quale circuito suggerisci al Marcante per il 2013?

 Lessinia Tour
 Prestigio MTB
 Nobili MTB
 Challenge Giordana
 Gare all'estero
 Stare a casa

Titolo

View Marco Tenuti's profile on LinkedIn

Listening
Kid Rock - Rock n Roll Jesus

Ghosts - The world is outside

Hellogoodbye - Zombies! Aliens! Vampires! Dinosaurs!

Reading
Fabio Volo - E' una vita che ti aspetto
Michael Guillen - Le 5 equazioni che hanno cambiato il mondo
Sophie Kinsella - I love shopping a New York

Watching
Mia moglie consiglia Le sorelle McLeod



Titolo
.NET Framework (4)
Abarth (13)
Alcenago (4)
auto (15)
computational (2)
consumatore (56)
cucina (18)
cultura (16)
dizionario (2)
famiglia (40)
finanza (4)
Grezzana (6)
hitech (17)
humour (8)
idee (1)
informatica (62)
iPhone (46)
mobile computing (10)
MTB (1199)
musica (4)
natura (23)
OS X (3)
PS3 (7)
rally (63)
salute (4)
social (4)
telefonia (3)
Verona (12)
viaggi (26)
video (7)
Visual Basic 6 (5)
web (49)
Windows (33)

Catalogati per mese:
Novembre 2024
Ottobre 2024
Settembre 2024
Agosto 2024
Luglio 2024
Giugno 2024
Maggio 2024
Aprile 2024
Marzo 2024
Febbraio 2024
Gennaio 2024
Dicembre 2023
Novembre 2023
Ottobre 2023
Settembre 2023
Agosto 2023
Luglio 2023
Giugno 2023
Maggio 2023
Aprile 2023
Marzo 2023
Febbraio 2023
Gennaio 2023
Dicembre 2022
Novembre 2022
Ottobre 2022
Settembre 2022
Agosto 2022
Luglio 2022
Giugno 2022
Maggio 2022
Aprile 2022
Marzo 2022
Febbraio 2022
Gennaio 2022
Dicembre 2021
Novembre 2021
Ottobre 2021
Settembre 2021
Agosto 2021
Luglio 2021
Giugno 2021
Maggio 2021
Aprile 2021
Marzo 2021
Febbraio 2021
Gennaio 2021
Dicembre 2020
Novembre 2020
Ottobre 2020
Settembre 2020
Agosto 2020
Luglio 2020
Giugno 2020
Maggio 2020
Aprile 2020
Marzo 2020
Febbraio 2020
Gennaio 2020
Dicembre 2019
Novembre 2019
Ottobre 2019
Settembre 2019
Agosto 2019
Luglio 2019
Giugno 2019
Maggio 2019
Aprile 2019
Marzo 2019
Febbraio 2019
Gennaio 2019
Dicembre 2018
Novembre 2018
Ottobre 2018
Settembre 2018
Agosto 2018
Luglio 2018
Giugno 2018
Maggio 2018
Aprile 2018
Marzo 2018
Febbraio 2018
Gennaio 2018
Dicembre 2017
Novembre 2017
Ottobre 2017
Settembre 2017
Agosto 2017
Luglio 2017
Giugno 2017
Maggio 2017
Aprile 2017
Marzo 2017
Febbraio 2017
Gennaio 2017
Dicembre 2016
Novembre 2016
Ottobre 2016
Settembre 2016
Agosto 2016
Luglio 2016
Giugno 2016
Maggio 2016
Aprile 2016
Marzo 2016
Febbraio 2016
Gennaio 2016
Dicembre 2015
Novembre 2015
Ottobre 2015
Settembre 2015
Agosto 2015
Luglio 2015
Giugno 2015
Maggio 2015
Aprile 2015
Marzo 2015
Febbraio 2015
Gennaio 2015
Dicembre 2014
Novembre 2014
Ottobre 2014
Settembre 2014
Agosto 2014
Luglio 2014
Giugno 2014
Maggio 2014
Aprile 2014
Marzo 2014
Febbraio 2014
Gennaio 2014
Dicembre 2013
Novembre 2013
Ottobre 2013
Settembre 2013
Agosto 2013
Luglio 2013
Giugno 2013
Maggio 2013
Aprile 2013
Marzo 2013
Febbraio 2013
Gennaio 2013
Dicembre 2012
Novembre 2012
Ottobre 2012
Settembre 2012
Agosto 2012
Luglio 2012
Giugno 2012
Maggio 2012
Aprile 2012
Marzo 2012
Febbraio 2012
Gennaio 2012
Dicembre 2011
Novembre 2011
Ottobre 2011
Settembre 2011
Agosto 2011
Luglio 2011
Giugno 2011
Maggio 2011
Aprile 2011
Marzo 2011
Febbraio 2011
Gennaio 2011
Dicembre 2010
Novembre 2010
Ottobre 2010
Settembre 2010
Agosto 2010
Luglio 2010
Giugno 2010
Maggio 2010
Aprile 2010
Marzo 2010
Febbraio 2010
Gennaio 2010
Dicembre 2009
Novembre 2009
Ottobre 2009
Settembre 2009
Agosto 2009
Luglio 2009
Giugno 2009
Maggio 2009
Aprile 2009
Marzo 2009
Febbraio 2009
Gennaio 2009
Dicembre 2008
Novembre 2008
Ottobre 2008
Settembre 2008
Agosto 2008
Luglio 2008
Giugno 2008
Maggio 2008
Aprile 2008
Marzo 2008
Febbraio 2008
Gennaio 2008
Dicembre 2007
Novembre 2007
Ottobre 2007
Settembre 2007
Agosto 2007
Luglio 2007
Giugno 2007
Maggio 2007
Aprile 2007
Marzo 2007
Febbraio 2007
Gennaio 2007
Dicembre 2006
Novembre 2006
Ottobre 2006
Settembre 2006
Agosto 2006
Luglio 2006
Giugno 2006
Maggio 2006
Aprile 2006
Marzo 2006
Febbraio 2006
Gennaio 2006
Dicembre 2005
Novembre 2005
Ottobre 2005
Settembre 2005
Agosto 2005
Luglio 2005
Giugno 2005
Maggio 2005
Aprile 2005
Marzo 2005
Febbraio 2005
Gennaio 2005
Dicembre 2004

Gli interventi più cliccati

Ultimi commenti:
reprogram
23/11/2024 @ 03:44:08
Di Edwardo
Male Masturbation Ma...
22/11/2024 @ 17:07:42
Di Camilla
https://raamsesconst...
22/11/2024 @ 11:33:22
Di Weldon
attorney for car Acc...
22/11/2024 @ 08:17:59
Di Susana
big truck accident l...
22/11/2024 @ 05:39:31
Di Bernd
cq.x7cq.vip
22/11/2024 @ 03:40:47
Di Alphonso
Porsche key repair
22/11/2024 @ 03:18:57
Di Tangela
vehicle lock repair
22/11/2024 @ 01:10:16
Di Salvador


23/11/2024 @ 15:46:29
script eseguito in 187 ms