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
Networking Software development

Netgear WNCE3001 DHCP issues, and why luser-oriented interfaces are a mistake

In the past days, I bought a Netgear WNCE3001 wireless adapter to connect my pay TV decoder to the Internet. To configure it, you need to connect it to a PC Ethernet port, and use its configuration wizard to perform the initial configuration – which is just configuring which wireless LAN you want to connect to, and […]

Categories
Uncategorized

Telexfree: cosa significa la nomina di un “Trustee” sotto il “Chapter 11”

Dopo che una mia lettera riguardante il caso TelexFree è stata pubblicata nella rubrica “Italians” del Corriere della Sera, qualcuno mi ha scritto che TelefFree ha ottenuto il famoso “Chapter 11”. Vero. Ma come al solito gli artisti della truffa vi dicono solo parte della verità, quella che fa comodo a loro. L’ordine della Corte, disponibile qui, dispone di […]

Categories
Uncategorized

Alla larga dalle “piramidi” – attenti ai “con artist”, gli artisti della truffa

In seguito al crollo della piramide TelexFree, i loro promoter stanno tentando di convincere le vittime che il “business online” – nella loro accezione di “soldi facili e subito facendo poco o nulla” (il vero “business online” è tutt’altra cosa) – è sano e bello. Pertanto si sperticano nel darvi consigli interessati su come accertarvi della bontà […]

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

Alla larga dalle “piramidi” – il caso TelexFree

La crisi economica degli ultimi anni ha portato, tra tanti problemi, anche al moltiplicarsi di “offerte di lavoro online” che promettono guadagni facili ma in realtà nascondo catene di sant’Antonio, chiamate anche “schemi piramidali” o “schema Ponzi” La differenza fra uno schema piramidale e uno schema Ponzi è che il secondo è “diretto”, esiste un […]

Categories
Software development

Why you should use the App Paths registry key

Today François Piette has written about “Path issue when having installed a lot of software“: Windows is having some trouble with very long path environment variable, even in Windows 7. This is true. Although starting from Vista the environment block size is unlimited (environment variables are kept in a process environment, and each process gets a copy of […]

Categories
Software development

Why learning the sysadmin job may make you a better developer

Many developers learnt first to code on isolated machines – DOS ones if they are old enough – or within simple networks. DOS was a single process, single thread environment, almost always on isolated machines. Maybe a modem to connect to a BBS, LAN were much rarer. That meant developers had little to care about “the environment” their […]