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

Archive for the ‘Development’ Category

Workaround for “Visual Studio 2015 C++ Compiler Secretly Inserts Telemetry Code Into Binaries” – Slashdot

Posted by jpluimers on 2016/07/20

Reader edxwelch writes:

Reddit user sammiesdog discovered recently that Visual Studio 2015 C++ compiler was inserting calls to a Microsoft telemetry function into binaries. “I compiled a simple program with only main(). When looking at the compiled binary in IDA, I see a call fortelemetry_main_invoke_trigger and telemetry_main_return_trigger. I cannot find documentation for these calls, either on the web or in the options page,” he wrote. Only after the discovery did Steve Carroll, the dev manager for Visual C++ admit to the “feature” and posted a workaround to remove it.

A Microsoft spokesperson confirmed the existence of this behavior to InfoQ, adding that the company wil be removing it in a future preview build. For those who wish to get rid of it, the blog writes:

Users who have a copy of VS2015 Update 2 and wish to turn off the telemetry functionality currently being compiled into their code should add notelemetry.obj to their linker command line.

Quoted in full as I’m baffled.

Source: Visual Studio 2015 C++ Compiler Secretly Inserts Telemetry Code Into Binaries – Slashdot

via: Dear developers, I thought you should know. Yours, privacy. http://m.slashdot.org/story/312289Jan Wildeboer – Google+

–jeroen

Posted in C++, Development, Software Development, Visual Studio C++ | 1 Comment »

Diffie-Hellman Key Exchange – YouTube

Posted by jpluimers on 2016/07/20

Great explanation of Diffie-Hellman Key Exchange – YouTube.

It is based on mixing colors and some colors of the mix being private.

Brilliant!

–jeroen

Posted in Algorithms, Development, Encryption, Hashing, https, OpenSSL, Power User, Public Key Cryptography, Security, Software Development | Leave a Comment »

Delphi packages I have disabled by prefixing their description with an underscore (and why)

Posted by jpluimers on 2016/07/19

There is a little trick to disable “Known IDE Packages”: you can stop Delphi from loading one by either making “Value data” of the registry blank, or prepending it with an underscore:

packages that might have been disabled, by checking any string entries where the data has been pre-pended with an underscore OR is blank

[WayBackAccess violation at address 00000000 read of address 00000000, when starting the IDE or opening a project after installing the updates

I’ve pre-pended underscores to some packages in the registry key [HKEY_CURRENT_USER\Software\Borland|Codegear|Embarcadero\BDS|Delphi\#.0\Known IDE Packages] and intend to keep the list below updated over time.

Note that you have to prepend the description with an underscore: it is not sufficient to add these to [HKEY_CURRENT_USER\Software\Borland|Codegear|Embarcadero\BDS\#.0\Disabled Packages].

Empirically, the Disabled Packages seem to work only for packages starting with dcl in their filename.

Read the rest of this entry »

Posted in Castalia, Conference Topics, Conferences, Delphi, Delphi XE8, Development, Event, Keyboards and Keyboard Shortcuts, Power User, Software Development | 5 Comments »

A New Parser Generator for C# – CodeProject

Posted by jpluimers on 2016/07/19

A while ago I bumped into this interesting bit: LLLPG (Loyc LL(k) Parser Generator) is a new recursive-decent parser generator for C#, with a feature set better than ANTLR version 2.

–jeroen

via:

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

Apollo 11 guidance computer source code on github (it was available as a series of PDFs for a while)

Posted by jpluimers on 2016/07/14

Temporary, I hope hope hope

Temporary, I hope hope hope

via: Apollo 11 guidance computer source code now on github. Someone lost hope. : Reddit ProgrammerHumor

Somebody lost hope – see the image on the right – or these two lines at GitHub.

Those are the OCR-ed and hand corrected sources from the stack of paper below: chrislgarry/Apollo-11: Original Apollo 11 guidance computer (AGC) source code digitized by folks at Virtual AGC (http://www.ibiblio.org/apollo/).

Some great links from the above Reddit thread:

Some more on the original PDFs from various sources:

–jeroen

via: Apollo 11 guidance computer source code now on github. Someone lost hope.

Read the rest of this entry »

Posted in Assembly Language, Development, History, Software Development | Leave a Comment »

Git Cheat Sheet

Posted by jpluimers on 2016/07/14

I had seen the bitmap Git Cheat Sheet referenced numerous times, so I went searching for the source and found it under Creative Commons 3.0 license at http://byte.kde.org/~zrusin/git/ which has the Vector Image Source by Zack Rusin.

[ICO] Name Last modified Size Description

[DIR] Parent Directory
[IMG] git-cheat-sheet-large.png 29-Aug-2007 14:52 1.2M
[IMG] git-cheat-sheet-medium.png 29-Aug-2007 14:52 336K
[IMG] git-cheat-sheet.svg 29-Aug-2007 14:52 162K
[IMG] git-cheet-sheet-small.png 10-Sep-2007 09:05 87K
[TXT] license.html 29-Aug-2007 08:41 24K

And yes, they are all in the Wayback Machine: http://web.archive.org/web/*/http://byte.kde.org/~zrusin/git/

–jeroen

via: Zack Rusin: Git cheat sheet.

Git Cheat Sheet Git Cheat Sheet

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Revamped Android Screen Recording and Mirror: no root required. Android 5+: record to GIF and video Mirror…

Posted by jpluimers on 2016/07/13

This is so cool:

Revamped Screen Recording and Mirror app is live.No root required. Android 5.0+.Supports recording to GIF and video.Mirroring to Fire TV, Apple TV,… – Koushik Dutta (Koush) – Google+

Not just for software developers as it’s very useful for power users as well.

–jeroen

Posted in Android, Android Devices, Development, Mobile Development, Power User, Software Development | Leave a Comment »

Interesting trick posted by Lars Fosdal on keeping IDE user specific defines

Posted by jpluimers on 2016/07/13

Via Lars Fosdal:

In Tools|Options, Environment Options, Environment Variables – under User Overrides, add a new override

Variable name: DCC_Define

Variable value: billmeyer

This causes a define for billmeyer to exist for anything that you compile in your IDE, across all units, all projects.

Which means you can sprinkle your code with

{$ifdef billmeyer}{$hints on}{$endif}

or

{$ifndef billmeyer}{$hints off}{$endif}

or even isolate out the parts of the code that currently is in development so that it doesn’t get built in the build system.

I believe it was +Uwe Raabe who revealed this gem to me.

–jeroen

via: Is there a mechanism I have not yet found that would allow me to use a DEFINE….

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

Delphi include files and the search strategy are different for the compiler and IDE

Posted by jpluimers on 2016/07/12

Recently I bumped into a thing that I’d long forgotten: the Delphi compiler treats searching for include files (any files used with the {$I} or {$include} directive differently:

  • The compiler first searches the directory where the file that is including resides and then uses the project and IDE search paths.
  • The IDE only uses the project and IDE search paths.

This means that when you press Ctrl-Enter on the filename to be included you might edit a different file than the compiler will include.

So when a product has multiple include files with the same name in different sub-directories, then you must modify them all.

I’m not sure this is a bug or feature, so Embarcadero is free to put this in either their QA system or documentation system.

–jeroen

Posted in Delphi, Delphi 2005, Delphi 2006, 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 | 2 Comments »

Delphi keeping EXE locked; some links

Posted by jpluimers on 2016/07/12

For my own reference when coping with “[dcc32 Fatal Error] F2039 Could not create output file” which happens with a lot of Delphi versions:

As a temporary measure (in the end you have to restart the IDE), I often use Process Explorer to force close the open handles from bds.exe to the EXE.

It also happens intermittently using Visual Studio, where  devenv.exe keeps handles locked. Same Process Explorer trick applies there too.

You can do similar tricks with LockHunter or Handle.exe.

–jeroen

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