Categories
Site news

Moving to WordPress.

I’m moving this site to WordPress because Drupal became too messy to administer in some spare time. The fact the database in Drupal 8 became just a storage for application-produced “BLOBs” was the nail in the coffin. Any mis-configuration required too much time to fix, while modules often couldn’t keep pace with the new faster […]

Categories
Networking

Draytek Stat Processor

DrayTek routers have some advanced configuration capabilities, but their web UI is not one of the best ones around. Especially, it doesn’t display many useful data about xDSL connections which are actually available, but only accessible via telnet/ssh. Moreover they are displayed in a text format only, which makes some of them not very useful. […]

Categories
Networking

DrayTek Vigor 165 QoS setup

​ It looks the DrayTek Vigor 165 xDSL modem/router supports some QoS features, despite the fact the datasheet does not mention them. They are available from the CLI, and partially in the web UI via a bug in the firewall filter setup page. The CLI gives access to the qos setup, qos class and qos […]

Categories
Networking

Configurazione ATA Cisco SPA 112 con VoIP WindTre

This post is in Italian because moslty useful for Italian readers only. Mi è capitato di dover configurare recentemente un ATA Cisco SPA 112 (uscito di produzione pochi mesi fa) per funzionare con il VoIP di WindTre. WindTre è molto parca di informazioni quando si richiedono le configurazioni VoIP per utilizzare un modem non WindTre, […]

Categories
Delphi

Why a “case of” statement in Delphi is a dangerous idea

Over and over, people ask the case .. of statement to be expanded to allow strings, i.e. Looks nice, doesn’t it? Sure, but the devil is in the details. Strings are complex data types, and comparing strings is not a straightforward tasks. If you use just a single, simple encoding, and a simple language like […]

Categories
Delphi

Mom, a modal loop ate my service messages!

A colleague of mine was using the “modernized” service implementation I wrote about some time ago. His services needs to be notified when a user logs on/off or locks/unlocks the machine. Everything was fine for a while, until he started to complain it worked for a while, but then, “randomly”, notifications weren’t triggered any longer. Debugging, he […]

Categories
Delphi

Modernize you Delphi Windows application: use Windows 2000 (and later!) services.

No, the title of this blog post is not a mistake. Delphi, including XE7, only implements services using NT APIs obsoleted since Windows 2000. Windows NT was EOLed in 2004, 2000 in 2010, and XP last year, yet Delphi still doesn’t take advantage of the new APIs. What are the advantages? Well, using the “extended” […]

Categories
Delphi

Local elevation points in Windows and Delphi

Since the introduction of Windows Vista and the new security model for applications, application running under User Account Control (UAC) should adopt a “least privilege” model, running as an “unprivileged” user almost all the time, and requesting higher privileges only when needed, even if the user has those privileges. Requesting higher privileges is called “elevation”. […]

Categories
Uncategorized

Sandon Utensileria 75th anniversary

On April 10th, 2011, Sandon Utensileria, the company established by my grandfather, Francesco Sandon, and his brother Luigi (later joined by the other two brothers, Felice and Fausto), celebrates its 75th anniversary of uninterrupted activity, even when WWII swept across Milano the warehouse was moved in a hayloft outside the city, and orders were dispatched […]

Categories
Software development

Inno Setup library to manage Windows services

An InnoSetup 5.x library to control services. It gives access to the Service Control Manager functions to query/start/stop/install/uninstall services, and implements some higher level functions (simpleXXXX) to perform standard tasks easily. ANSI version Unicode version Zip file with both versions NB: ANSI version won’t work with the Unicode version of Inno Setup. I didn’t test […]