Look ma: no mouse! DanielRapp/doppler. Detecting motion with your built-in computer speakers and microphone using the Doppler effect.
Cool!
–jeroen
Posted by jpluimers on 2015/03/28
Look ma: no mouse! DanielRapp/doppler. Detecting motion with your built-in computer speakers and microphone using the Doppler effect.
Cool!
–jeroen
Posted in Algorithms, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/03/28
New Delphi related RSS feed: Delphi Pipe “A collection of Delphi related RSS streams” which works perfectly fine in Feedly.
You can get the source through http://pipes.yahoo.com/delphipipe/thepipe
The source is sooo simple, that I now definitely need to make some time to really do some Yahoo Pipes research:
Since Delphi Feeds doesn’t list my blog any more and generally isn’t very fast in responding to requests for adding or removing feeds, I have created my own aggregated feed: Delphi Pipe. It’s done with Yahoo Pipes and currently contains the following feeds (most important first ;-) ):
Oh and thanks Thomas Mueller for listing my feed second (;
Later he showed how easy it is to convert your G+ stream to an RSS feed: Using Google+ as input for Yahoo Pipes.
Then how to read a CSV file (which is hosted on his site) as input to the RSS generation.
–jeroen
via: Delphi Pipe » twm’s blog.
Posted in Delphi, Development, Software Development | 8 Comments »
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:
–jeroen
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.
–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 »
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:
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:
nuget install ilmergeInstall-Package ilmergeThere 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 »
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
Posted in Development, DVCS - Distributed Version Control, GitHub, Google, GoogleCode, Power User, Software Development, Source Code Management | Leave a Comment »
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 »
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 »
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 »