Posted by jpluimers on 2019/06/30
[WayBack] MMX Needs New Icons – Are You Willing To Help? – MMX:
I am pretty sure all of you already noticed: The current icons in MMX not only look a bit old, they also don’t look well on the Dark Theme. They are not alpha blended and are only available in 16 x 16 pixel size. This may become a problem when the IDE will support High DPI in the future.
Unfortunately the stock icons available in the market simply don’t fit the purpose of most of the individual icons needed, so custom designed icons seem to be mandatory.
…
I have been asked several times where people can donate to support the development of MMX. While I am still not planning to accept donations for the time I am going to invest in the development, donating for the icons is a good way to show your gratitude. If you are not a able or willing to donate – that’s OK. Anyway, please consider to spread the word about this.
Many thanks to all that already donated and those who are going to do so.
For those still looking for the link to the MoneyPool, here it is: https://www.paypal.com/pools/c/8e4alQxGzA
–jeroen
Posted in Delphi, Development, ModelMaker Code Explorer, Software Development | Leave a Comment »
Posted by jpluimers on 2019/06/29
This is so long ago, at an age so young, I barely had a recollection:
Of the names below, a few passed away too: Sander died when he was very young, Mats 20 years ago, and Frits 15 years ago.
Read the rest of this entry »
Posted in History, Power User | Leave a Comment »
Posted by jpluimers on 2019/06/28
Because so few people actually make more than 10% of these simple steps: [WayBack] Windows Security From The Ground Up — Decent Security (How to secure a Windows computer).
It starts with BIOS update, configuration, TPM, then secure boot into a bitlocker encrypted drive with a Windows installation that has UAC set to high, and a safe web browsing environment.
via
–jeroen
Posted in Power User, Windows | Leave a Comment »
Posted by jpluimers on 2019/06/28
I hardly print with Excel, so I always forget these two:
–jeroen
Posted in Excel, Office, Office 2011 for Mac, Office 2013, Power User | Leave a Comment »
Posted by jpluimers on 2019/06/27
For my reading list: [WayBack] Solid State vs. Electromechanical Relays | Arrow.com
When you need a power switching solution, you are faced with two competing technologies – electromechanical relays and solid state relays. So which is the right choice for your design?


Keywords: SSR versus EMR, SPDT
via:
–jeroen
Posted in Development, Hardware, Hardware Development, Power User | Leave a Comment »
Posted by jpluimers on 2019/06/27
In [WayBack] Anyone here with an “F2092 Program or unit ‘?’ recursively uses itself” error in Tokyo? I have this error in Tokyo but the same project compiles ok in Berlin… – Luis Madaleno – Google+, I commented this:
Large circular reference cycles can trip the compiler into emitting this error (next to out-of-memory errors, access violations and internal errors and “unitX.pas F2063 Could not compile used unit ‘unitY.pas'”).
Solution that usually works: quit Delphi, delete .DCU files, start Delphi, build all, then compile. Cumbersome, time consuming, but since the error is intermittent and involves large code bases, it’s was hard to get it to R&D back in the days.
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/06/27
For my archive:
I happened to notice that the Arduino OneWire library uses a 256 entry lookup table for its CRC calculations.
I did some research on this topic in 1992-1993, while working on Bulletin Board Systems, FidoNet code and file transfer protocols.
These days memory is not at a premium on most computers, however on Arduino and microcontroller environments it definitely is, and I happen to know that table-lookup CRC can be done using two 16-entry tables!
So I’ve dug up my documentation and code from the time, and applied it to the CRC-8 calculation for the Maxim (Dallas Semiconductor) OneWire bus protocol.
I think this provides a neat trade-off between code size and speed.
License For any of the below code, apply the following license (2-clause “simplified” BSD license), which should suffice for any use. If you do require another license, just ask.
Source: [WayBack/Archive.is] Calculating CRC with a tiny (32 entry) lookup-table | Lentz family blog
The example on the page is for the CRC-8 implementation used in the [WayBack] 1-Wire Communication protocol – Wikipedia.
The generator works for CRC-8, CRC-16 and CRC-32 polynomials and can be downloaded here:
–jeroen
Posted in Algorithms, C, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/06/26
This became a huge batch-file which I need to refactor into smaller bits.
:: based on bc.bat
:: needs to be refactored into find-bc.bat
:: assumes git is on the path
:begin
@echo off
:checkGit
:: https://stackoverflow.com/questions/4781772/how-to-test-if-an-executable-exists-in-the-path-from-a-windows-batch-file/25696405#25696405
where /q git || echo Cound not find git on the PATH %PATH%. && goto :eof
:: for now, the above is good enough as git installs itself on the path, but Beyond Compare does not.
:findBeyondCompare
setlocal EnableExtensions EnableDelayedExpansion
IF /I [%PROCESSOR_ARCHITECTURE%] == [amd64] goto :x64
IF /I [%PROCESSOR_ARCHITEW6432%] == [amd64] goto :x64
goto :x86
:x64
:: OS is 64bit
set hkcuBaseKey=HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare
set hklmBaseKey=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Scooter Software\Beyond Compare
goto :findBC
:x86
:: OS is 32bit
set hkcuBaseKey=HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare
set hklmBaseKey=HKEY_LOCAL_MACHINE\SOFTWARE\Scooter Software\Beyond Compare
goto :findBC
:findBC
:: https://gist.github.com/rojepp/634908
:: http://stackoverflow.com/questions/5369528/windows-batch-reg-query-key-value-to-a-variable-but-do-not-display-error-if-key
set SupportedBeyondCompareVersions=3, 4
for %%v in (%SupportedBeyondCompareVersions%) do (
for /f "usebackq tokens=2* delims= " %%c in (`reg query "%hkcuBaseKey% %%v" /v ExePath 2^>NUL`) do (
call :do set bcExe="%%d"
)
)
if not [%bcExe%]==[] goto :foundBC
for /f "usebackq tokens=2* delims= " %%c in (`reg query "%hkcuBaseKey%" /v ExePath 2^>NUL`) do (
call :do set bcExe="%%d"
)
if not [%bcExe%]==[] goto :foundBC
for %%v in (%SupportedBeyondCompareVersions%) do (
for /f "usebackq tokens=2* delims= " %%c in (`reg query "%hklmBaseKey% %%v" /v ExePath 2^>NUL`) do (
call :do set bcExe="%%d"
)
)
if not [%bcExe%]==[] goto :foundBC
for /f "usebackq tokens=2* delims= " %%c in (`reg query "%hklmBaseKey%" /v ExePath 2^>NUL`) do (
call :do set bcExe="%%d"
)
:: note that FOR /R needs a wildcard!
if not [%bcExe%]==[] goto :foundBC
for /r . %%d in (bcompare*.exe) do (
call :do set bcExe="%%d"
)
:foundBC
:: https://stackoverflow.com/questions/2772456/string-replacement-in-batch-file
:: note the BCompExe assignment requires at least https://ss64.com/nt/setlocal.html to have EnableDelayedExpansion and likely EnableExtensions
:: see https://ss64.com/nt/delayedexpansion.html for ! expansion
if [%bcExe%]==[] ( echo no bc.exe found in registry or relative to batch file) else (
echo bcExe=%bcExe%
if exist %bcExe% (
call :do set bcCompExe=%bcExe:BCompare=BComp%
:: echo bcCompExe=!bcCompExe!
echo "Beyond Compare" %bcExe:\=/%
echo "BComp" !bcCompExe:\=/!
call :do git config --global diff.tool bc
call :do git config --global difftool.bc.path !bcCompExe:\=/!
call :do git config --global merge.tool bc
call :do git config --global mergetool.bc.path !bcCompExe:\=/!
)
if not exist %bcExe% echo not found: [%bcExe%]
)
:exit
endlocal
:end
goto :eof
:do
echo %*
call %*
goto :eof
–jeroen
Posted in Batch-Files, Development, Scripting, Software Development | Leave a Comment »