Posted by jpluimers on 2015/03/26
Next time I run into .NET and native threading issues:
Main UI threads often have a correlation between managed and native thread IDs.
But for other threads, you cannot be really sure.
Some background articles on this:
Posted in .NET, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »
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.
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 »
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:
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.
+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:
There is this: https://github.com/AquaSoftGmbH/RefCountTracer
It helps you find memoryleaks, but also could show you if a refcount goes below 0.
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 »
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.
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 »
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.
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 »