Add the directory where Ruby got installed to the user PATH (using "%windir%\System32\rundll32.exe" sysdm.cpl,EditEnvironmentVariables) in my case C:\Ruby23\bin as I installed Ruby 2.3.1
Note this used to be at http://curl.haxx.se/ca/cacert.pem but serving that over http instead of https does not much sense when you want to secure your connections.
Add the environment variable SSL_CERT_FILE with value C:\Ruby23\cacert.pem (again using "%windir%\System32\rundll32.exe" sysdm.cpl,EditEnvironmentVariables).
If you forget step 3, then you get errors like this:
C:\Users\jeroenp>gem install gist
ERROR: Could not find a valid gem 'gist' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
C:\Users\jeroenp>gem update --system
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
A network graph with more than a thousand programming languages connected by influence relations. Highly influential languages like Lisp, Smalltalk, C, Java, Pascal, C++, Haskel or Python are shown as larger circles as compared to languages with little influence on others like PHP or Argh!. / The influence relation data was retrieved from Freebase in 2013. This design available on posters and other products. An awesome gift for programmers who are into digital art. • Also buy this artwork on wall prints, apparel, kids clothes, and more.
Video via +Kristian Köhntopp “Die 90er haben angerufen und wollen ihre Amiga Videos und ihre Corba Specs zurück haben.” (the 90s called wanting their Amiga Videos and Corba Specs back)
Because of collision: though hardly documented in the early Delphi days the standard function TypeInfo has been there forever so System.TypeInfo already takes TypeInfo in the global namespace as the System unit is used by default and doesn’t have a namespace prefix.
One more reason to suffix unit names with a word like Unit.
And one more reason to always get a Delphi version with source code for RTL/VCL/…: it’s an invaluable source for not so well documented things.
DUPLICATEENABLE is old, but since it is something for IDE packages to avoid intersections with user/3rd party packages there is no need for a documentation. I do use it in an IDE package that did use the JCL/JVCL units as well and does another unit with a common name. IIRC I did mention it related to MonkeyMixer.
I think he argues that documentation is both not needed, but the usage of the directive sometimes is. Which somehow feels like a contradiction to me.
PS2: via Stefan Glienke, an error message that is related to this:
---------------------------
Error
---------------------------
Cannot load package 'Package2.' It contains unit 'Whatever', which is also contained in package 'Package1'.
---------------------------
OK
---------------------------