The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,835 other subscribers

Archive for the ‘Software Development’ Category

Geek And Poke: The New Developer

Posted by jpluimers on 2019/07/03

Old, but still so funny because it is so true: [WayBackGeek And Poke: The New Developer

–jeroen

via:

Read the rest of this entry »

Posted in Comics, Development, Documentation Development, Fun, Quotes, Software Development | Leave a Comment »

JS developers discover the char code for space is the same ASCII code for all browsers.

Posted by jpluimers on 2019/07/03

Somewhere in 2013, JavaScript developers found out the char code for space is the same ASCII code for all browsers at [WayBackJavascript Char Codes (Key Codes) – Cambia Research

An interactive javascript key code reference for javascript developers. Includes an interative text box where you can type a key and see it’s code along with a complete lookup table.

This contrary to EBCDIC, where space can be character code 40 and 41, but not at the same time (by [WayBack] Armin Kunaschik at[WayBack] Oh mein Gott – Kristian Köhntopp – Google+).

Via

–jeroen

Read the rest of this entry »

Posted in Development, Fun, JavaScript/ECMAScript, Scripting, Software Development | Leave a Comment »

[RSP-19007] Form ScaleConstraints Fail – Embarcadero Technologies

Posted by jpluimers on 2019/07/02

[WayBack] [RSP-19007] Form ScaleConstraints Fail – Embarcadero Technologies

Via [WayBack] +Uwe Raabe Did Embarcadero fix TControl.ScaleConstraints() in the latest version? Do you have a patch for that? Simply changing the properties Min* agai… – Attila Kovacs – Google+

Fix: [WayBackpisil.de/Patch.ScaleConstraints.pas 

// Workaround for TControl.ScaleConstraints bug
// Usage:
// Put "PatchScaleConstraints;" into the dpr right after "Application.Initialize;"

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Interesting thread on how to approach Hi-DPI and DPI changes with FMX in Delphi

Posted by jpluimers on 2019/07/02

Interesting read: [WayBack] Is there an “How-To Guide: Upgrading Your Delphi FMX Applications To Support 4K Displays” out there ? I’ve only found VCL examples… – Stéphane Wierzbicki – Google+

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

As true today as it was when the book was written. “The psychology of computer programming” by @JerryWeinberg, 1971.

Posted by jpluimers on 2019/07/02

@ingorammer on Twitter [WayBack] a while back:

As true today as it was when the book was written. “The psychology of computer programming” by @JerryWeinberg, 1971:

Specifications evolve together with programs and programmers. Writing a programis a process of learning – both for the programmer and the person who commissions the program. Morover, this learning takes place in the context of a particular machine, a particular programming language, a particular programmer or programming team in a particular working environment, and a particular set of historical events that determine not just the form of the code but also what the code does!

Links:

–jeroen

Read the rest of this entry »

Posted in Development, Fun, History, Quotes, Software Development | Leave a Comment »

Windows: running a batch file during logon of a single or all users

Posted by jpluimers on 2019/07/01

You can automatically start processes during logon in a lot of ways (Trojans/Viruses find new ways all of the time).

The easiest way is to create a shortcut in one of the Startup folders. There are two of them: one for all the users, and one for the current user. Depending on your locale, Explorer can show a translated name, but the actual folder is named either of these:

  • "%AllUsersProfile%/Start Menu\Programs\Startup"
  • "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"

The folders do not exist at first, but are created when software starts putting shortcuts in them.

For a manual process, I created the two batch files below that create, then go to them (in both the console and explorer).

From there you can add shortcuts to things you want to run during logon.

They are based on:

I have successfully tested them in various Windows versions up until 10.

–jeroen

Batch files:


:: https://stackoverflow.com/questions/16087694/auto-run-a-bat-script-in-windows-7-at-login
call :do "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"
goto :eof
:do
mkdir %*
pushd %*
explorer /e,.

 

Posted in Batch-Files, Development, Power User, Scripting, Software Development, Windows | Leave a Comment »

SequoiaView Homepage

Posted by jpluimers on 2019/07/01

I thought I had scheduled a blog post about the great tool on [WayBackSequoiaView Homepage, but didn’t. In the mean time, Paolo Buffa posted an overview with a really nice historic perspective:

Is amazing from how many years I’m using this program, and how many operating systems it managed to go thru almost unscathed, without modification.

Paolo Buffa

Source: [Archive.is] SequoiaView: a piece of history. – Data Center IT – Spiceworks

I still use it, despite it being quite old: 2002 era, written in Delphi 5. It’s beautiful in part because of its anciency, but also because it is so simple and intuitive that I still use it regularly.

The age also shows in the web page (which when writing it was still on-line): The SequiaView home page link above is actually a classic frame inside [WayBackThe SequoiaView Homepage. Back then, it was already starting to be considered obsolete to write HTML using frameset [WayBackFraming (World Wide Web) – Wikipedia.

The SequoiaView [WayBack] Download Page even points to non-existing ftp-download URLs via counter CGI scripts:

None of them have been archived by the WayBack machine: https://web.archive.org/web//ftp://ftp.win.tue.nl/pub/home/sequoia//

To verify alternative downloads, just check these hashes:

hash command filename hash output
$ md5 Sequoia1.3Install.zip MD5 (Sequoia1.3Install.zip) = 28d356f2bafe258805794257c284a075
$ md5 Sequoia1_3XPInstall.exe MD5 (Sequoia1_3XPInstall.exe) = 142586a5cc7a0139bde8c13e5cc4d301
$ shasum Sequoia1.3Install.zip 762ab30177a7f6a0d4f173fd2442ba7b61df4c2e Sequoia1.3Install.zip
$ shasum Sequoia1_3XPInstall.exe c1db10a0f7d36adbc14b5a7a3f08fc35db1bee8b Sequoia1_3XPInstall.exe

I’ve a copy in my archive that I just use in a portable way: just copy over SequoiaView directory with these files in it:

  • Archives.col
  • DEFAULT.COL
  • Images.col
  • License.txt
  • Movies.col
  • ReleaseNotes.txt
  • Sequoia.cnt
  • Sequoia.exe
  • SEQUOIA.HLP
  • Sound.col

You can download this from gist.github.com/jpluimers/b0df9c2dba49010454ca6df406bc5f3d (ef94f1875377f4054e3a434f8942e1749f0af74a.zip).

A few things that could be fixed (if ever hopefully MagnaView open sources it: [WayBack] @jpluimers More @magnaview did you ever consider to open source the Delphi code for http://www.win.tue.nl/sequoiaview/ or give someone NDA access to fix some bugs?):

  • Access violation when re-scanning a drive
  • Option to show multiple links to the same physical file
  • Indication of more rights  needed to index a file or directory
  • Better explorer integration (via context menu)

Read the rest of this entry »

Posted in Delphi, Delphi 5, Development, Power User, Software Development, Windows | Leave a Comment »

MMX Needs New Icons – Are You Willing To Help? – MMX

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 »

The Delphi compiler has a hard time coping with circular unit references

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 »

Calculating CRC with a tiny (32 entry) lookup-table | Lentz family blog

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.isCalculating 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 »