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

Quite weird. About 80% of the repos on github have no license…

Posted by jpluimers on 2015/03/25

Reminder to Self (this?) put a LICENSE .txt or LICENSE.md file in all my repos.

It isn’t difficult to choose one:

For new repositories, GitHub even has a license picker.

Thanks Jan Wildeboer for reminding me.

–jeroen

PS: most of the things I put on-line are using a BSD 3-clause “New” or “Revised” License. But I might go for a simpler one. It doesn’t hurt looking at your licenses every now and then.

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

Interfaces are great, but they can be a pain to debug. Forgetting one weak link can lead to Access Violation hell…

Posted by jpluimers on 2015/03/24

Paul Thornton posted a nice question on G+ two weeks ago:

Interfaces are great, but they can be a pain to debug. Forgetting one weak link can lead to Access Violation hell. I seem to remember a utility that would let you visualise the links between interfaced objects, but can’t remember what it was called. Anybody know?

Do you have any clever interface debugging tips or tricks?

Mixing object and interface references leads to complex situations, especially when some classes make refcounting go away (not limited to UI components) so refactoring is a good idea, it at all possible:

Lars Dybdahl:

Refactor them away :-)

When the mix of interface reference counting and TObject gets so complex, that the source code is no longer obvious, maintenance costs sometimes become too high and another solution might be better.

Nicholas Ring:

 

+Lars Dybdahl Totally agree and it is even worse when reference counting is disabled (like adding an interface reference to an UI component).

 

There is not much tooling, this thread only mentioned RefCountTracer and FastMM:

Steffen Binas:

There is this: https://github.com/AquaSoftGmbH/RefCountTracer

It helps you find memoryleaks, but also could show you if a refcount goes below 0.

Paul Thornton:

This link was very useful. It also points to a good FastMM tutorial.

Which reminded me I totally forgot to post that tutorial on my blog so here it is:

Read the rest of this entry »

Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | 2 Comments »

IlMerge is on NuGet.

Posted by jpluimers on 2015/03/19

IlMerge is a great way to merge multiple .NET assemblies into one, and I use it most often to combine assemblies with console applications so I end up with one executable..

However getting the latest version always was a hassle as the ilmerge download link was unclear about the version number.

Until I found out that IlMerge is on NuGet.

To get started with NuGet, either download the NuGet GUI or command-line version, then use either of these entry points to work with NuGet packages:

There is much more to the Package Manager Console and the Package Manager Dialog.

–jeroen

Posted in .NET, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio and tools | Leave a Comment »

How to move your Google Code project to GitHub

Posted by jpluimers on 2015/03/18

Thanks David Millington for pointing me to How to move your Google Code project to GitHub.

A small quote from it:

By the end of this article, you will have:

  • Moved the repository, including commit history, from the Google Code project to a new GitHub project
  • Updated the Google Code project to redirect to the new project location
  • Updated the Google Code repository so users updating will find out they need to use the new project location
  • Set up some basic project settings in your new GitHub project.

–jeroen

via: How to move your Google Code project to GitHub.

Posted in Development, DVCS - Distributed Version Control, GitHub, Google, GoogleCode, Power User, Software Development, Source Code Management | Leave a Comment »

WPF Tutorial | Dependency Properties

Posted by jpluimers on 2015/03/17

Thanks to the answers for .net – What is a dependency property? – Stack Overflow, I came across this really nice WPF Tutorial | Dependency Properties.

It has one of the best explanations on Dependency Properties I’ve ever seen, and it is available online for free (:

And yes, this post is also tagged Delphi, as DSharp provides http://delphisorcery.googlecode.com/svn/trunk/Source/Core/DSharp.Core.DependencyProperty.pas.

So Dependency Properties are not just .NET any more (:

–jeroen

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

OData: a few notes

Posted by jpluimers on 2015/03/12

You can’t keep track of the whole world, so every now and then I bump into something and think “boy I wish I had known about this years ago”.

The OData (Open Data Protocol) standard by Microsoft is such a thing. It allows to communicate data over the internet in a RESTful way using either JSON or AtomPub based XML, standardized by OASIS who has it’s roots in the SGML world (SGML is one of the predecessors of XML).

There is a rich Ecosystem of implementations in many platforms (including .NET, Delphi, Java, PHP, JavaScript, etc) with public reachable Example Services to test with (not surprising there is a NorthWind service).

Here are a few links of stuff I want to dig deeper into it to grasp it better: Read the rest of this entry »

Posted in Communications Development, Database Development, Development, HTTP, Internet protocol suite, OData, REST, Software Development, TCP | Leave a Comment »

Interesting presentation at EKON 16: MSBuild Inside the Microsoft Build Engine from Sebastian Gingter

Posted by jpluimers on 2015/03/11

I missed EKON 16 as both they and we moved outside the regular conference season.

So I missed this session: EKON 16: MSBuild // Speaker Deck that has these GitHub source examples: gingters/EKON16_MSBuild.

Thanks Sebastian Gingter for pointing me at this!

msbuild is used by both Visual Studio and Delphi for building projects, and this session gave me some good ideas to improve the Continuous Integration projects I already had into place.

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Continuous Integration, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, msbuild, Software Development | Leave a Comment »

Some notes on OpenSSL, S/MIME, email, various RFC standards and their relations.

Posted by jpluimers on 2015/03/10

Stuff I found out myself:

Some links I found useful: Read the rest of this entry »

Posted in Delphi, Development, OpenSSL, Power User, Security, Software Development | 3 Comments »

Some GIT notes

Posted by jpluimers on 2015/03/09

Some links I found useful:

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

Brutal way to prevent memory errors in Delphi XE7: rename DLLs, loose part of the functionality, but less memory issues – via G+

Posted by jpluimers on 2015/03/05

When the suggestions from Out-of-Memory in RAD XE7 and -noparser from Tried to patch BDS.exe fails to, then this suggestion by Brian Hamilton on G+ might work:

From a post in the EMB forum, a work around for XE7 is

I follow the hint of Thomas Grusche renaming the following files:

  • Borland.Studio.Delphi.dll
  • Borland.Studio.Refactoring.dll
  • refactoride210.bpl

This makes the XE7 IDE usable again.

Just the refactoring feature aren’t available anymore.

Read the rest of this entry »

Posted in Delphi, Delphi XE6, Delphi XE7, Development, QC, Software Development | 6 Comments »