Protecting connections with TLS requires the proper certificate/private key pairs, that need to be issued by a trusted Certificate Authority. You can buy certificates form several public CAs, or obtain free ones form entities like Let’s Encrypt. Sometimes you may need your own private CA and certificates for systems that do not need to be […]
Category: Software development
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 […]
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 […]
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” […]
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 […]
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”. […]
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 […]
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 […]
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 […]
To this StackOverflow question, I simply answered to forget D2010 Datasnap because IMHO it is only half-backed and lacks several needed features and is not flexible. Two people commented my answer was not helpful, and wrote Datasnap is absolutely flexible (later one comment was withdrawn). I am going to explain in details why the “new” Datasnap is not […]