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

Developer Assistant for Visual Studio with access to millions of code samples- via: Google+

Posted by jpluimers on 2015/04/02

I’m going to experiment with this. Most likely the quality of the code samples will be the biggest factor in like/dislike result.

Visual Studio – Google+.

–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, Visual Studio 2010, Visual Studio 2013, Visual Studio 2014, Visual Studio and tools | 1 Comment »

When Delphi documentation hurts: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation

Posted by jpluimers on 2015/04/01

A lot of the stuff on the Embarcadero docwiki hurts. For instance most of the REST stuff (I’m not calling it documentation) is just generated scaffolding. Like REST.Json.TJson.

But the TRESTResponseDataSetAdapter has some amazing documenation. About TComponent that is:

TComponent is the common ancestor of all component classes.

TComponent is the base class for all components. Components are persistent objects that have the following capabilities:

IDE integration. The ability to appear on an IDE palette and be manipulated in a Form Designer.

Ownership. The ability to manage other components. If component A owns component B, then A is responsible for destroying B when A is destroyed.

Streaming and filing. Enhancements of the persistence features inherited from TPersistent.

To assist the doc team: this is a query for all pages containing “TComponent is the common ancestor of all component classes.”. Feel free to [WayBack] QC or QP it.

–jeroen

via: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation.

Posted in Delphi, Development, Fun, QC, Software Development | 2 Comments »

BitSavers.org just added 7 missing scans of PascalNews newsletters (1975…1983)

Posted by jpluimers on 2015/03/30

For anyone keeping up with Pascal history, these uploads are new:

–jeroen

via: Index of /pdf/pascalNews.

Posted in Apple Pascal, BitSavers.org, DEC Pascal, Delphi, Development, History, IBM Pascal, Pascal, Software Development, Standard Pascal, Turbo Pascal, UCSD Pascal | Leave a Comment »

DanielRapp/doppler

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 »

Delphi Pipe – Delphi related RSS feed running on Yahoo Pipes – via twm’s blog

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 (;

Bug him on G+ to get added.

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 »

.NET threading: native and managed thread IDs do not per se correlate

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 »

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 »