Very smart case insensitive way answered by jeb:
if NOT "%foo%"=="%foo:bar=%" echo FOUND
–jeroen
via windows – Find out whether an environment variable contains a substring – Stack Overflow.
Posted by jpluimers on 2015/09/25
Very smart case insensitive way answered by jeb:
if NOT "%foo%"=="%foo:bar=%" echo FOUND
–jeroen
via windows – Find out whether an environment variable contains a substring – Stack Overflow.
Posted in Batch-Files, Console (command prompt window), Development, Power User, Scripting, Software Development, Windows | Leave a Comment »
Posted by jpluimers on 2015/09/24
Often in Delphi 2010, you can get an error like this:
C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\Bin\CodeGear.Delphi.Targets(136,3): error : C:\Users\Developer\Versioned\Spring4D\Source\Base\Reflection\Spring.Reflection.pas(1647) Fatal : F2084 Internal Error: AV00434055-RA37CCB72-0
There is a very simple workaround:
Note:
Sometimes it pays off back-porting to Delphi 2010: the generated executables are a lot smaller than more recent Delphi versions which can make a huge differenec when uploading many versions of bootstrap binaries to a version control system.
–jeroen
Posted in Delphi, Delphi 2010, Development, F2084, Software Development | Leave a Comment »
Posted by jpluimers on 2015/09/23
Visual Studio 2013 syntax highlighting: watch the closing curly brace.
Console.WriteLine(“URL IS : http://localhost/:{0}”, portnumber);
–jeroen
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development, Visual Studio 2013, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2015/09/22
But I partially agree with the statement that Eric Grange made at DelphiTools as part of his post via Don’t publish your .dproj/.groupproj a few years ago:
Ad interim, .dproj are just a kludge by design
I completely disagree with hist blog post title: in my opinion “Do publish your .dproj/.groupproj in version control systems”
The discussion that followed in the comments was quite interesting: to bad I missed it back then.
Both .dproj and .groupproj are indeed a bit of a kludge. The main reason is that there is little documentation about them on the Embarcadero sites: most of it are threads on the forums.
If you remember that basically they are just msbuild XML files, which is part of the .NET 2.0 framework and higher, and both extensively documented and extendable, then it gets much easier. Read the rest of this entry »
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 8 Comments »
Posted by jpluimers on 2015/09/21
32 WLANs just on the ground floor…
| Name (SSID) | Channel | MAC Address |
|---|---|---|
| ASUS-RT-N66U-PSO-1-2.4 | 6 | 10:BF:48:D3:3D:20 |
| ASUS-RT-N66U-PSO-1-5 | 44 | 10:BF:48:D3:3D:24 |
| UPC0053284 | 1 | 80:C6:AB:08:89:88 |
| Ziggo | 1 | 82:C6:AB:08:89:8A |
| WLAE-AG300N-PSO-2 | 11 | 4C:E6:76:0F:50:42 |
| FRITZ!Box 7490 | 13 | 34:31:C4:CE:CE:AE |
| ASUS-RT-N66U-PSO-2-Tomato24 | 6 | 10:BF:48:D2:F5:E8 |
| FRITZ!Box 7490 | 36 | 34:31:C4:CE:CE:AF |
| H368N8D6382 | 8 | 34:4D:EA:8D:63:82 |
| Sitecom303E5E | 11 | 64:D1:A3:30:3E:5E |
| KPN Fon | 8 | 62:4D:EA:8D:63:83 |
| VGV75198FB7F6 | 11 | 84:9C:A6:8F:B7:F6 |
| Sitecom2eb939 | 6 | 64:D1:A3:2E:B9:3B |
| Sitecom_ee8c98 | 11 | 00:0C:F6:EE:8C:98 |
| UPC515789 | 1 | E8:40:F2:80:68:CF |
| dLAN Netwerk | 11 | BC:F2:AF:B5:C9:4A |
| ASUS-RT-N66U-PSO-2-Tomato50 | 36 | 10:BF:48:D2:F5:EC |
| Sitecom327664 | 3 | 64:D1:A3:32:76:64 |
| Prins Maurits Experia | 1 | 4C:09:D4:20:CC:55 |
| VGV7519FC7C1C | 3 | 4C:09:D4:FC:7C:1C |
| Ziggo | 1 | EA:40:F2:80:68:C1 |
| UPC245262667 | 1 | DC:71:44:80:6D:48 |
| Sitecom0DDDD0 | 9 | 64:D1:A3:0D:DD:D0 |
| VGV7519BD731C | 13 | 88:03:55:BD:73:1C |
| Ziggo | 13 | 82:C6:AB:2A:5A:A2 |
| UPC0041308 | 13 | 80:C6:AB:2A:5A:A0 |
| UPC0053284 | 1 | 84:1B:5E:39:B9:68 |
| UPC738371 | 1 | E8:40:F2:94:35:87 |
| Miami Beach | 1 | 9C:C7:A6:AA:CA:59 |
| Ziggo | 1 | EA:40:F2:94:35:89 |
| UPC2612067 | 6 | 88:F7:C7:4F:27:12 |
The top floors are even worse. Some of them are mine, so I want to find a seamless handover for that. Which I only can do if I’ve merged my various networks that connect to the WiFi devices into a big one.
That requires a good but competitively priced multi-WAN router which I’m still searching for: any hints for such a device are welcome as well as configuration tips.
Some people seem to love Ubiquity, even for seamless. Are those straightforward to configure?
–jeroen
PS: Converted from my Fritz!Box copied Wireless Radio Networks table
Easily create tables in extended Markdown format supported by Markdown Here and GFM.
Posted in Power User, Ubiquiti, WiFi | Leave a Comment »
Posted by jpluimers on 2015/09/21
A while ago I asked compression – How to automate Adobe Acrobat XI Standard to re-compress a lot of PDFs? – Super User.
Back then it saved about 80% of the total file size. Very substantial.
Recently I needed to convert another (smaller, but still substantial) bunch of PDF documents and saw I forgot to post the solution here:
Read the rest of this entry »
Posted in Adobe, Adobe Acrobat, Everything by VoidTools, Power User, Windows, Windows 7, Windows 8, Windows 8.1 | Leave a Comment »
Posted by jpluimers on 2015/09/19
Can a Raspberry Pi do NAT port forwarding to a non LAN address? If so, what distribution would be the easiest one?
Johannes Self added some nice comments for generic Linux distributions in the G+ thread, but just in case my blog readers have even more concrete answers…
–jeroen
Posted in *nix, Development, Hardware Development, Internet protocol suite, Power User, Raspberry Pi, TCP | Leave a Comment »
Posted by jpluimers on 2015/09/18
Thanks to the answer by Kevin Richardson on How to open ports on Windows firewall through batch file, I wrote this batch file that uses the add command of the Netsh AdvFirewall Firewall Commands which requires Admin privileges to run:
| :: open port (first argument passed to batch script, second argument is description) | |
| :checkPrivileges | |
| net file 1>nul 2>nul | |
| if '%errorlevel%' == '0' ( goto :gotPrivileges ) else ( goto :getPrivileges ) | |
| :isNotAdmin | |
| :getPrivileges | |
| echo You need to be admin running with an elevated security token to run %0 | |
| goto :exit | |
| :isAdmin | |
| :gotPrivileges | |
| netsh advfirewall firewall add rule name="Open Port %1 for %2" dir=in action=allow protocol=TCP localport=%1 | |
| :exit | |
| ::pause | |
| exit /b |
–jeroen
via: How to open ports on Windows firewall through batch file – Stack Overflow
Posted in Firewall, Infrastructure, Microsoft Surface on Windows 7, Power User, Windows, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 | Leave a Comment »
Posted by jpluimers on 2015/09/17
If, like Delphi XE and higher, your organise your projects to use output directories like ...Bin\Delphi####\$(Platform)\$(Config), and back-port to Delphi 2010, then
...\Bin\Delphi2010\Debug\Spring.Tests.exe--------------------------- Error --------------------------- Could not find program, '...\Bin\Delphi2010\%Platform%\%Config%\Spring.Tests.exe'. --------------------------- OK ---------------------------
So you might think that it is enough to hard code this in your base configuration:
Well no, the debugger still shows the above error message. Despite the compiler putting it in the correct directory: ...\Bin\Delphi2010\Win32\Debug\Spring.Tests.exe
So there are 3 configurations for the output directory:
Bin\Delphi2010\$(platform)\$(config)Bin\Delphi2010\Win32\DebugBin\Delphi2010\Win32\ReleaseYou might think: why is Spring4D still supporting Delphi 2010?
Two simple reasons:
–jeroen
Posted in Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 1 Comment »
Posted by jpluimers on 2015/09/16
A while ago I asked this on G+:
I’ve a VM with many Delphi versions and want to clean up space from %ProgramData% to install more. I think somewhere in the comments it was mentioned what to delete from %ProgramData% to lessen the disk space used by Delphi installations. […]
The VM is on an SSD, and the GUID directories there total to about 50 gigabytes.So any reminder what I can delete there would be much appreciated (:
Besides saving disk space, another advantage is that you get far less duplicates when indexing your filesystem with Everything: the directories contain copies of all files also present in the final installation (like %ProgramFiles%, etc).
Thanks to Ilya S, below are my notes for cleaning up a machine that has Delphi 2007 and Delphi 2010-XE6 installed.
In these folders, backup delete all subdirectories but the directory OFFLINE. Don’t delete files. Keep the backups in case you need them.
Posted in Delphi, Delphi 2007, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 3 Comments »