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,854 other subscribers

Archive for 2018

Google is sunsetting Google+ by August 2019; DelphiPraxis might start English forums and have RSS

Posted by jpluimers on 2018/10/26

From [WayBack1/WayBack2] Google is sunsetting Google+ by August 2019. “sunsetting” – clarification: “no fucks were given about current users” Edit: Sticky while the shock facto… – Lars Fosdal – Google+ I learned the very successful German forum site DelphiPraxis might start English forums.

Given the excellent track record of Embarcadero maintaining infrastructure up and running for the long therm, DelphiPraxis just might be the way to go:

  • like the Delphi G+ community, DelphiPraxis are independent of Embarcadero
  • unlike Embarcadero, DelphiPraxis have managed to keep forums running since 2002 without doing pruning of old messages

Some links:

Edit:

The English board has three public RSS streams as per [WayBack] RSS feeds for new posts ? – Community Management – Delphi-PRAXiS [en]:

  1. https://en.delphipraxis.net/discover/all.xml/
  2. https://en.delphipraxis.net/rssalltopics.xml/
  3. https://en.delphipraxis.net/rss/1-new-topics.xml

The first has all posts and all comments, so is really noisy.

The second seems to be the best for just new posts.

Via: [WayBack] Have you registered at https://en.delphipraxis.net yet? If you haven’t migrated your daily Delphi browsing to Delphi-PRAXiS yet, you should. The reason… – Lars Fosdal – Google+

–jeroen

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

GitHub – yandex/gixy: Nginx configuration static analyzer

Posted by jpluimers on 2018/10/26

[WayBack] GitHub – yandex/gixy: Nginx configuration static analyzer

Gixy is a tool to analyze Nginx configuration. The main goal of Gixy is to prevent security misconfiguration and automate flaw detection.

Right now Gixy can find:

You can find things that Gixy is learning to detect at Issues labeled with “new plugin”

This helps you prevent an nginx configuration issue that can server too many static content by using ../ in the web request which got a lot of attention last week, but was in fact already found during 2016 HCTF by Aklis, and presented by Orange Tsai (twitter/github/blog) various times in 2018, including [WayBack] hack.lu 2018.

.

Related:

–jeroen

Read the rest of this entry »

Posted in *nix, DevOps, nginx, Power User, Security | Leave a Comment »

G+ shutting down; where to go now?

Posted by jpluimers on 2018/10/26

Take out your data!

Before doing anything else: take out your data, especially the G+ data at takeout.google.com/settings/takeout, then download at takeout.google.com/settings/takeout/downloads:

TL;DR:

  1. export JSON, not HTML
  2. export often to get a feel for wat works fails
  3. download what works over time, then post-process it
  4. remember a download might be available only a week or so
  5. data is incomplete
  6. many platforms cannot (yet?) import G+ JSON

Think about a Google exit strategy

An excellent post on this is [WayBack] The Google Exit Strategy – alexreusch which I found via:

It looks like having a blog with a commenting system is not such a bad starting point at all…

Moving from G+

I have no really good idea where to go from G+. The sunset feels a lot like Google Reader, after which I switched to Feedly, which works pretty well, Wave and Inbox.

There is a [WayBack] Petition · Google, Inc: Don’t Shut Down Google Plus · Change.org, but if memory serves well, that did not help much for the other discontinued products.

So before in 9 months G+ ends up in Category:Discontinued Google services – Wikipedia, I am contemplating about alternatives.

Suddenly very relevant is the 2014 comic [WayBack] xkcd 1361: Google Announcement / [WayBack] 1361: Google Announcement – explain xkcd on the right (via [WayBack] XKCD 1361 – Kristian Köhntopp – Google+).

You can register your migration at the [WayBack] Google Plus Migration Directory Form form which will end up in [WayBack] Google Plus Migration Directory (Responses) – Google Sheets (via [WayBack] I made a form that will generate a spreadsheet with anyone’s information and destinations. Email field was added so you could edit your responses, but t… – John Lewis – Google+)

Your email will not end up in the migration directory, see [WayBack] Does Google collect survey participant’s email address? – Google Product Forums

Edit 20240819: the above Goo.Gl link died; it used to point to [Wayback/Archive] Google Plus Migration Directory.

What next?

Read the rest of this entry »

Posted in G+: GooglePlus, Power User, SocialMedia | Leave a Comment »

Some Delphi versions miss some of the Indy files

Posted by jpluimers on 2018/10/25

Depending on your Delphi versions, you will likely miss Indy files:

The gap between XE and XE8 is not covered, but these versions miss a lot of files too.

The cause is that Embarcadero uses their own version control system, which is merged down and up to the Indy Subversion repository at irregular and incomplete intervals likely lacking a process checking if the merge results are OK.

Related:

You can get the missing files from GitHub – graemeg/indy.

This is the delta from Delphi 2010 to XE:

...\Indy10\Core\de\IdDsnCoreResourceStrings.pas
...\Indy10\Core\de\IdResourceStringsCore.pas
...\Indy10\Core\fr\IdDsnCoreResourceStrings.pas
...\Indy10\Core\fr\IdResourceStringsCore.pas
...\Indy10\Core\ja\IdDsnCoreResourceStrings.pas
...\Indy10\Core\ja\IdResourceStringsCore.pas
...\Indy10\Core\dclindycore.res
...\Indy10\Core\IdAboutVCL.rc
...\Indy10\Core\indycore.res
...\Indy10\Protocols\de\IdDsnResourceStrings.pas
...\Indy10\Protocols\de\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\de\IdMessageBuilder.pas
...\Indy10\Protocols\de\IdResourceStringsProtocols.pas
...\Indy10\Protocols\de\IdZLibConst.pas
...\Indy10\Protocols\fr\IdDsnResourceStrings.pas
...\Indy10\Protocols\fr\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\fr\IdMessageBuilder.pas
...\Indy10\Protocols\fr\IdResourceStringsProtocols.pas
...\Indy10\Protocols\fr\IdZLibConst.pas
...\Indy10\Protocols\ja\IdDsnResourceStrings.pas
...\Indy10\Protocols\ja\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\ja\IdMessageBuilder.pas
...\Indy10\Protocols\ja\IdResourceStringsProtocols.pas
...\Indy10\Protocols\ja\IdZLibConst.pas
...\Indy10\Protocols\dclindyprotocols.res
...\Indy10\Protocols\IdAllAuthentications.pas
...\Indy10\Protocols\IdAllHeaderCoders.pas
...\Indy10\Protocols\IdAuthenticationSSPI.pas
...\Indy10\Protocols\IdBlockCipherIntercept.pas
...\Indy10\Protocols\IdCompressorZLib.pas
...\Indy10\Protocols\IdFIPS.pas
...\Indy10\Protocols\IdFTPListParseIEFTPGateway.pas
...\Indy10\Protocols\IdFTPListParsePCNFSD.pas
...\Indy10\Protocols\IdFTPListParsePCTCP.pas
...\Indy10\Protocols\IdFTPListParseSuperTCP.pas
...\Indy10\Protocols\IdFTPListParseTandemGuardian.pas
...\Indy10\Protocols\IdFTPListParseUnisysClearPath.pas
...\Indy10\Protocols\IdHashSHA.pas
...\Indy10\Protocols\IdHeaderCoder2022JP.pas
...\Indy10\Protocols\IdHeaderCoderBase.pas
...\Indy10\Protocols\IdHeaderCoderPlain.pas
...\Indy10\Protocols\IdHMAC.pas
...\Indy10\Protocols\IdHMACMD5.pas
...\Indy10\Protocols\IdHMACSHA1.pas
...\Indy10\Protocols\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\IdMessageBuilder.pas
...\Indy10\Protocols\IdSASL_CRAM_SHA1.pas
...\Indy10\Protocols\IdSASL_CRAMBase.pas
...\Indy10\Protocols\IdSASLDigest.pas
...\Indy10\Protocols\IdSSLOpenSSLUtils.pas
...\Indy10\Protocols\IdSSPI.pas
...\Indy10\Protocols\IdUriUtils.pas
...\Indy10\Protocols\IdWebDAV.pas
...\Indy10\Protocols\IdZLib.pas
...\Indy10\Protocols\IdZLibConst.pas
...\Indy10\Protocols\IdZLibHeaders.pas
...\Indy10\Protocols\indyprotocols.res
...\Indy10\System\de\IdResourceStrings.pas
...\Indy10\System\fr\IdResourceStrings.pas
...\Indy10\System\ja\IdResourceStrings.pas

This is the delta from XE to XE2 (i.e. missing as of Delphi XE2) the same sources added to XE have been gone on XE2:

...\Indy10\Core\de\IdDsnCoreResourceStrings.pas
...\Indy10\Core\de\IdResourceStringsCore.pas
...\Indy10\Core\fr\IdDsnCoreResourceStrings.pas
...\Indy10\Core\fr\IdResourceStringsCore.pas
...\Indy10\Core\ja\IdDsnCoreResourceStrings.pas
...\Indy10\Core\ja\IdResourceStringsCore.pas
...\Indy10\Core\dclIndyCore.dpk
...\Indy10\Core\dclindycore.res
...\Indy10\Core\IdAboutVCL.pas
...\Indy10\Core\IdAboutVCL.rc
...\Indy10\Core\IdAntiFreeze.pas
...\Indy10\Core\IdCoreDsnRegister.pas
...\Indy10\Core\IdCoreRegisterCool.dcr
...\Indy10\Core\IdCoreSelectionEditors.pas
...\Indy10\Core\IdDsnCoreResourceStrings.pas
...\Indy10\Core\IdDsnPropEdBindingVCL.pas
...\Indy10\Core\IdRegisterCore.pas
...\Indy10\Protocols\de\IdDsnResourceStrings.pas
...\Indy10\Protocols\de\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\de\IdMessageBuilder.pas
...\Indy10\Protocols\de\IdResourceStringsProtocols.pas
...\Indy10\Protocols\de\IdZLibConst.pas
...\Indy10\Protocols\fr\IdDsnResourceStrings.pas
...\Indy10\Protocols\fr\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\fr\IdMessageBuilder.pas
...\Indy10\Protocols\fr\IdResourceStringsProtocols.pas
...\Indy10\Protocols\fr\IdZLibConst.pas
...\Indy10\Protocols\ja\IdDsnResourceStrings.pas
...\Indy10\Protocols\ja\IdHTTPWebBrokerBridge.pas
...\Indy10\Protocols\ja\IdMessageBuilder.pas
...\Indy10\Protocols\ja\IdResourceStringsProtocols.pas
...\Indy10\Protocols\ja\IdZLibConst.pas
...\Indy10\Protocols\dclIndyProtocols.dpk
...\Indy10\Protocols\dclindyprotocols.res
...\Indy10\Protocols\IdDsnRegister.pas
...\Indy10\Protocols\IdDsnResourceStrings.pas
...\Indy10\Protocols\IdDsnSASLListEditorFormVCL.pas
...\Indy10\Protocols\IdRegister.pas
...\Indy10\Protocols\IdRegisterCool.dcr
...\Indy10\System\de\IdResourceStrings.pas
...\Indy10\System\fr\IdResourceStrings.pas
...\Indy10\System\ja\IdResourceStrings.pas

In fact more are missing, the Delphi 2007 to 2009 delta was this:

...\Indy10\Core
...\Indy10\Core\dclIndyCore.dpk
...\Indy10\Core\dclindycore.dpkw
...\Indy10\Core\dclIndyCore.drc
...\Indy10\Core\dclindycore.res
...\Indy10\Core\IdAbout.pas
...\Indy10\Core\IdAboutDotNET.pas
...\Indy10\Core\IdAboutVCL.pas
...\Indy10\Core\IdAntiFreeze.pas
...\Indy10\Core\IdCoreDsnRegister.pas
...\Indy10\Core\IdCoreRegister.dcr
...\Indy10\Core\IdDsnBaseCmpEdt.pas
...\Indy10\Core\IdDsnCoreResourceStrings.pas
...\Indy10\Core\IdDsnPropEdBinding.pas
...\Indy10\Core\IdDsnPropEdBindingNET.pas
...\Indy10\Core\IdDsnPropEdBindingVCL.pas
...\Indy10\Core\IdRegisterCore.pas
...\Indy10\Core\indycore.dpkw
...\Indy10\Core\IndyCore.drc
...\Indy10\Protocols
...\Indy10\Protocols\dclIndyProtocols.dpk
...\Indy10\Protocols\dclindyprotocols.dpkw
...\Indy10\Protocols\dclIndyProtocols.drc
...\Indy10\Protocols\dclindyprotocols.res
...\Indy10\Protocols\IdCompressorZLibEx.pas
...\Indy10\Protocols\IdDsnRegister.pas
...\Indy10\Protocols\IdDsnResourceStrings.pas
...\Indy10\Protocols\IdDsnSASLListEditor.pas
...\Indy10\Protocols\IdDsnSASLListEditorForm.pas
...\Indy10\Protocols\IdDsnSASLListEditorFormVCL.pas
...\Indy10\Protocols\IdHashSHA1.pas
...\Indy10\Protocols\IdHL7.pas
...\Indy10\Protocols\IdMIMETypes.pas
...\Indy10\Protocols\IdRegister.dcr
...\Indy10\Protocols\IdRegister.pas
...\Indy10\Protocols\IdRegisterCool.dcr
...\Indy10\Protocols\IdSSLOpenSSLHeadersNET.pas
...\Indy10\Protocols\IdZLibEx.pas
...\Indy10\Protocols\indyprotocols.dpkw
...\Indy10\Protocols\IndyProtocols.drc
...\Indy10\System
...\Indy10\System\IdObjs.pas
...\Indy10\System\IdObjsBase.pas
...\Indy10\System\IdObjsVCL.pas
...\Indy10\System\IdStackLinux.pas
...\Indy10\System\IdSys.pas
...\Indy10\System\IdSysBase.pas
...\Indy10\System\IdSysNativeVCL.pas
...\Indy10\System\IdSysNet.pas
...\Indy10\System\IdSysVCL.pas
...\Indy10\System\IdSysVCLNet.pas
...\Indy10\System\IdSysWin32.pas
...\Indy10\System\IndySystem.drc

RS … mentiones the files missing as of Berlin, but in fact many other delphi versions miss files too.

File only in Indy SVN: 'Core\IdAbout.pas'
File only in Indy SVN: 'Core\IdAboutDotNET.pas'
File only in Indy SVN: 'Core\IdAboutVCL.pas'
File only in Indy SVN: 'Core\IdAntiFreeze.pas'
File only in Indy SVN: 'Core\IdCoreDsnRegister.pas'
File only in Indy SVN: 'Core\IdDsnBaseCmpEdt.pas'
File only in Indy SVN: 'Core\IdDsnCoreResourceStrings.pas'
File only in Indy SVN: 'Core\IdDsnPropEdBinding.pas'
File only in Indy SVN: 'Core\IdDsnPropEdBindingNET.pas'
File only in Indy SVN: 'Core\IdDsnPropEdBindingVCL.pas'
File only in Indy SVN: 'Core\IdRegisterCore.pas'
File only in Indy SVN: 'Core\indycorefpc.pas'
File only in Indy SVN: 'Design\IdDsnCoreResourceStrings.pas'
File only in Indy SVN: 'Design\IdDsnNETCompEditor.pas'
File only in Indy SVN: 'Design\IdDsnPropEdBindingNET.pas'
File only in Indy SVN: 'Protocols\IdASN1Coder.pas'
File only in Indy SVN: 'Protocols\IdCoderTNEF.pas'
File only in Indy SVN: 'Protocols\IdDsnRegister.pas'
File only in Indy SVN: 'Protocols\IdDsnResourceStrings.pas'
File only in Indy SVN: 'Protocols\IdDsnSASLListEditor.pas'
File only in Indy SVN: 'Protocols\IdDsnSASLListEditorForm.pas'
File only in Indy SVN: 'Protocols\IdDsnSASLListEditorFormNET.pas'
File only in Indy SVN: 'Protocols\IdDsnSASLListEditorFormVCL.pas'
File only in Indy SVN: 'Protocols\IdDummyUnit.pas'
File only in Indy SVN: 'Protocols\IdHashAdler32.pas'
File only in Indy SVN: 'Protocols\IdHashIntf.pas'
File only in Indy SVN: 'Protocols\IdHashSHA1.pas'
File only in Indy SVN: 'Protocols\IdHeaderCoderBig5.pas'
File only in Indy SVN: 'Protocols\IdHL7.pas'
File only in Indy SVN: 'Protocols\IdHostnameServer.pas'
File only in Indy SVN: 'Protocols\IdLDAPV3.pas'
File only in Indy SVN: 'Protocols\IdLDAPV3Coder.pas'
File only in Indy SVN: 'Protocols\IdMIMETypes.pas'
File only in Indy SVN: 'Protocols\IdNTLMv2.pas'
File only in Indy SVN: 'Protocols\IdPOP4Server.pas'
File only in Indy SVN: 'Protocols\IdRegister.pas'
File only in Indy SVN: 'Protocols\IdResourceStringsSSLDotNet.pas'
File only in Indy SVN: 'Protocols\IdSASL_NTLM.pas'
File only in Indy SVN: 'Protocols\IdServerIOHandlerSSLOpenSSL.pas'
File only in Indy SVN: 'Protocols\IdSSH.pas'
File only in Indy SVN: 'Protocols\IdSSLDotNET.pas'
File only in Indy SVN: 'Protocols\IdTunnelCommon.pas'
File only in Indy SVN: 'Protocols\IdTunnelMaster.pas'
File only in Indy SVN: 'Protocols\IdTunnelSlave.pas'
File only in Indy SVN: 'Protocols\IdUserAccountsOTP.pas'
File only in Indy SVN: 'Protocols\indyprotocolsfpc.pas'
File only in Indy SVN: 'Protocols\ZLib\ZLib.pas'
File only in Indy SVN: 'Protocols\ZLib\ZLibConst.pas'
File only in Indy SVN: 'System\IdAssemblyInfo.pas'
File only in Indy SVN: 'System\IdIconv.pas'
File only in Indy SVN: 'System\IdResourceStringsDotNet11.pas'
File only in Indy SVN: 'System\IdResourceStringsIconv.pas'
File only in Indy SVN: 'System\IdResourceStringsKylixCompat.pas'
File only in Indy SVN: 'System\IdResourceStringsTextEncoding.pas'
File only in Indy SVN: 'System\IdStackDotNet.pas'
File only in Indy SVN: 'System\IdStackLibc.pas'
File only in Indy SVN: 'System\IdStackLinux.pas'
File only in Indy SVN: 'System\IdStackUnix.pas'
File only in Indy SVN: 'System\IdStreamNET.pas'
File only in Indy SVN: 'System\IdTransactedFileStream.pas'
File only in Indy SVN: 'System\indysystemfpc.pas'aa

–jeroen

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

Ralph Johnson: 22 years of design patterns – YouTube video of lecture

Posted by jpluimers on 2018/10/25

via [WayBack] Ralph Johnson: 22 years of design patterns. I thought you might find this interestinghttps://youtu.be/jhPLFLcxslM – Agustin Ortu – Google+ the below video.

Ralph Johnson is one of the Gang of Four: the authors of the famous Design Patterns: Elements of Reusable Object-Oriented Software book published October 21, 1994 and copyrighted 1995.

Google translated lecture announcement, slightly edited:

Ralph Johnson is world renowned for his high impact contributions to Software Engineering, particularly Object Orientation. His book “Design Patterns” has been best-selling in the history of computing (more than 500,000 copies sold in English and in translations into 13 languages). From his research group also emerged the first works on frameworks, patterns and refactoring. His students also created the first refactoring tool, the Smalltalk Refactoring Browser, on whose architecture all the refactoring tools of today are based.

His talk, “Twenty Years of Design Patterns,” will talk about the evolution of software patterns since its inception in 1994. Some have become common, and others have not. Some patterns have changed. Ralph Johnson will talk about several of the patterns that are more widely known, with a renewed understanding of what the book “Design Patterns” should have said.

Ralph moved from the Department of Computer Science at the University of Illinois to COO of Metaficient and many of his history is only at the WayBack machine, so here are some links to it:

  • Ralph Johnson: The Refactory is dedicated to helping organizations succeed with objects and design patterns. Principals include Ralph Johnson, an original member of the Gang of Four patterns.
  • Former Ralph E. Johnson homepage at the University of Illinois
  • Metaficient Management Team
  • 2016: 25 years of OOP Konferenz 2016 – Ralph Johnson
  • Ralph Johnson on Parallel Programming Patterns: Ralph Johnson, one of the four GoF authors, talks about the upcoming book “The Patterns for Parallel Programming”. He highlights the difficulties in dealing with discovering and writing down parallel programming patterns, how to choose and use such a pattern, and similarities with the initial Design Patterns book.
  • A Pattern Language for Parallel Programming: Ralph Johnson presents a pattern language that he and his colleagues are working on in an attempt to solve the hard issues of parallel programming through a set of design patterns: Structural Patterns, Computational Patterns, Parallel Algorithm Strategy Patterns, Implementation Strategy Patterns, and Concurrent Execution Patterns.

–jeroen

Read the rest of this entry »

Posted in Design Patterns, Development, Software Development | Leave a Comment »

Why I wish QC had been archived in full…

Posted by jpluimers on 2018/10/25

A quick search later and it seems I’m bumping into [WayBack] http://qc.embarcadero.com/wc/qcmain.aspx?d=125403 (the version I’m bugfixing is built using XE6).

The workaround listed (in my case blanking indexfieldnames in OnBeforeClose) works.

Now… imagine if this had been filed to QualityPortal instead.

I would have had to remember to search it, and maybe wouldn’t have found it as Google does fuzzy searches very well.

And due to the lower visibility it likely would have fewer comments as well…

So yeah EMB/Idera, please revisit the choice of walling up QualityPortal.

Source: [WayBack] So I just hit a weird issue in our program. A quick search later and it seems I’m bumping into this http://qc.embarcadero.com/wc/qcmain.aspx?d=125403… imagine if it had been in QualityPortal… – Asbjørn Heid – Google+

–jeroen

 

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

Finding your program with an “Access Denied” (Error code 5) after lunch break…

Posted by jpluimers on 2018/10/24

Via: [WayBack] I just returned from lunch break and found my program faulted with an “Access Denied” (Error code 5) error in a call to Mouse.GetCoursorPos and was wond… – Thomas Mueller (dummzeuch) – Google+:

All of [WayBackGetCursorPos, [WayBackGetCursorInfo and [WayBack] GetKeyState can cause an “Access Denied” (Error code 5) when they do not have permission for the current desktop (for instance the logon desktop when a screen-saver has kicked in).

Solution: write a wrapper around it then [WayBack] patch calls going to the original into the patch [WayBack] delphi – Explain errors from GetKeyState / GetCursorPos – Stack Overflow

–jeroen

Posted in .NET, C#, C++, Delphi, Development, Software Development, Windows Development | Leave a Comment »

Delphi: uninstalling the ancient CollabNet 1.7.5 version

Posted by jpluimers on 2018/10/24

Somehow the integration team at Embarcadero still hasn’t discovered there are [WayBack] newer CollabNet SVN Client versions than 1.7.5 which has been shipped since Delphi XE3 until Delphi XE6. The newer version (currently 1.8.8 when writing this, now 1.10.2 in 2018) have plenty [WayBack1/WayBack2SVN security issues fixed.

The easiest way to uninstall the CollabNet SVN Client is running this small script:


call :start %ProgramFiles%
call :start %ProgramFiles(x86)%
goto :end
:start
startlocal
set CollabNet="%*\CollabNet\uninst.exe"
echo %CollabNet%
if exist %CollabNet% start "CollabNet uninstall" %CollabNet%
endlocal
goto :end
:end

Then install the [WayBackSlik SVN client. Like [WayBackЈοеу, I’ve switched to [WayBackSlik SVN a long ago. Here is [WayBackhis reasoning:

I have long since stopped using the CollabNet-branded version because it’s behind a registration wall. I found Slik SVN as a good alternative. It’s exactly the same command-line client you get from CollabNet, sans the hassle in downloading it.

I hope someone at Embarcadero enters this in QC^w QualityPortal as I’m awaiting Embarcadero response about a security issue there.

–jeroen

Posted in Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, QC, Software Development, Source Code Management, Subversion/SVN | 2 Comments »

Jonathan Nelson on Twitter: “toilet paper visualization of the difference between zero and null https://t.co/ku3BBRjjUY”

Posted by jpluimers on 2018/10/24

toilet paper visualization of the difference between zero and null

The thread has a few others as well:

  • NaN
  • Public versus private

Sources:

Via: [WayBack] Difference between 0 and null – CodeProject – Google+

–jeroen

Read the rest of this entry »

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

Delphi Rio “new overall direction of removing ARC”

Posted by jpluimers on 2018/10/23

Finally: “new overall direction of removing ARC” for Delphi 10.3 Rio and later.

Via [WayBack] Delphi Rio – New IDE Configuration with Search Box – New compiler dialog – Improve code completion – Inline variables – Rafael Dipold – Google+

Hopefully zero-based strings are the next to go…

Related: [WayBack] Directions for ARC Memory Management in Delphi

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, Software Development | 11 Comments »