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

Archive for 2014

Google Voice calling on Android via Google Hangouts 2.3+ APK and Hangouts Dialer

Posted by jpluimers on 2014/09/10

Google Hangouts on iOS could make Google Voice calls for a while, and it is now finally available for Android too: Official Google Blog: Call me maybe? Introducing free voice calls from Hangouts.

You need two pieces of software for this:

Roderick Gadellaa published a G+ post with the link to Hangouts Dialer and the Google Hangouts 2.3 APK at Android Police.

At the thread Free voice calling finally comes to Hangouts! both Allen Edmonds and Brandon D’Souza posted the link to the Google Hangouts 2.3 APK at http://goo.gl/TbRMVE.

You can even configure Hangouts to receive incoming Google Voice calls. Quoting from the same thread:

Spencer Petersen …

  1. Go to Hangouts settings,
  2. select your account, and
  3. under Google Voice
  4. there’s an option to receive incoming calls.

Calling to USA and Canada is free. Other regions do cost money, but the prices are very competitive: http://www.google.com/hangouts/rates

–jeroen

via:

Posted in Google, GoogleHangouts, GoogleVoice, Power User | Tagged: , , | Leave a Comment »

A url or site like example.org which always produces a 404 error (and two for 200 and 204)

Posted by jpluimers on 2014/09/10

Yesterday I posted this question on StackOverflow and G+: Is there a url or site like example.org which always produces a 404 error?

Soon after that, I found out three links that produce predictable HTTP status codes:

They also work for https:

Edit 20241223: these also return a 404: http://www.google.com/undefined and https://www.google.com/undefined

On StackOverflow very few people even noticed the question, probably wondering “why?”.

I’m using these links for positive and negative testing of some http / https handling code that needs to be good at coping with positive and negative responses.

In my testing life, I’ve learned the hard way that both negative and positive tests are core part of your suite, hence the question.

–jeroen

via: Is there a url or site like example.org which always produces a 404 error?.     Read the rest of this entry »

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Chrome, Communications Development, Development, HTTP, Internet protocol suite, Power User, REST, Software Development, TCP, Web Browsers, Web Development | Leave a Comment »

Continua CI Version 1.5 has been released (build 1.5.0.268); smaller, faster, loads of new features; Spring4D XE7 builds automated

Posted by jpluimers on 2014/09/10

I’m really happy that Continua CI Version 1.5 got released a few hours ago as per the Continua 1.5 released announcement.

It means that my Build Automation Session during the Dutch Delphi 2014 conference tomorrow can range from:

  • build using MSbuild from the command-line
  • build batch files
  • build using a custom front-end
  • build using Continuous Integration front-end

The session will explain lots of details about what various Delphi versions do, how to cope with dependencies, etc.

In the mean time, the preliminary Spring4D work on build automation is visible to guest users. Those include building for Delphi XE7 for the Win32, Win64 and OSX32 targets (in Debug and Release mode).

There is a huge list of Version 1.5 History @ Continua CI changes, which is partially quoted below.

For me these are the most important:

  • in-place upgrade without having to do any changes on my part
  • truckload of new features (including Delphi XE7, NuGet and Fake F# support)
  • smaller
  • faster

(as a side note: also FinalBuilder 7 was recently updated to support Delphi XE7)

In general, I like Continua CI a lot, most importantly because:

  • it is very stable
  • it has native support for a wide range of software development tools (including Delphi, Visual Studio and much more)
  • supports DVCS (like Git/Mercurial) just as you expect it to
  • if something breaks, you get a response and fix very very soon

You can download the new version through the Downloads @ Continua CI. These are the direct links:

For a breaking issue, there has been an important bug fix, so the new downloads are:

I created an RSS feed through Page2RSS to watch any new releases of Continua CI.

Parts of the changes in 1.5.0.268 1.5.0.278

The full list of changes are at Version 1.5 History @ Continua CI.

Be sure to also look at the official Continua 1.5 released announcement.

Read the rest of this entry »

Posted in .NET, Continua CI, Continuous Integration, Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development, Spring4D | 5 Comments »

Some notes on the Samsung UE40C6800 TV, PVR, decoding the PVR recordings and SamyGO extensions

Posted by jpluimers on 2014/09/10

After having recorded quite a few broadcastings to USB from my Samsung UE40C6800 TV with the T.VALDEUC 3011.0 firmware, I wanted to copy them over to either a Windows or Linux based machine for post editing.

Then I found out the USB device had been reformatted into XFS, probably because of its Guaranteed-rate I/O.

The first post I came across (SettoreZero: XFS filesystem and Samsung LEDTVs) indicated XFS is supported under Linux, but not under Windows (it appears the latter might be true).

So I went collecting useful links on which I will start doing deeper research in a few categories.

As it looks now, most of it will probably lead to various Linux shell scripts based on SamyGO.

General info:

XFS documentation:

Limux support:

Windows support:

SamyGO (selected with this particular TV in mind):

SamyGO forum:

–jeroen

via XFS – Wikipedia, the free encyclopedia.

Posted in *nix, Development, Linux, openSuSE, Power User, Software Development, SuSE Linux | 2 Comments »

c# – What should I do when I am forced to write unreachable code? – Stack Overflow

Posted by jpluimers on 2014/09/09

Bosak posted an interesting piece of code on StackOverflow last year. His particular code was in C#, but it does not matter what kind of compiler you use:

Sometimes a compiler will complain about unreachable code, for instance when it thinks a function never returns a value.

But you know the program logic does.

Simple solution: When you have code that never should be reached: throw an appropriate exception.

public static int GetInt(int number)
{
    int[] ints = new int[]{ 3, 7, 9, int.MaxValue };
    foreach (int i in ints)
        if (number <= i)
            return i;

    return int.MaxValue; //this should be unreachable code since the last int is int.MaxValue and number <= int.MaxValue is allways true so the above code will allways return
}

The last return could be replaced like this, as proposed by Matt Houser: Read the rest of this entry »

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »

Revisited from the .NET side: Why doesn’t WINWORD.EXE quit after Closing the document from Delphi? (via: Stack Overflow)

Posted by jpluimers on 2014/09/08

I long time ago, I asked about  [WayBack] Why doesn’t WINWORD.EXE quit after Closing the document from Delphi?.

It turns out that question is a lot harder in .NET than it is in Delphi. I already had a gut feeling of this when at clients I saw many more .NET applications leaking WINWORD.EXE stray processes than Delphi applications, even though both kinds were calling Quit on the Word application object.

Delphi has a deterministic way of coping with interfaces (hence you can do a One-liner RAII in Delphi, or make a memento): Interface references are released at the end of their scope.

.NET has non-deterministic finalization of the Common Language Runtime (CLR) and has Runtime Callable Wrappers (RCWs) around your COM references which are sometimes created “on the fly”.

The combination of non-deterministic finalization and RCWs can be very confusing, so lets start with the parts first. Read the rest of this entry »

Posted in .NET, Delphi, Development, Software Development | 2 Comments »

Posted by jpluimers on 2014/09/07

Nostalgia:

dec :: vax :: vaxeln :: 2.0 :: AA-EU39A-TE VAXELN Pascal Language Reference Manual Mar85 http://bitsavers.trailing-edge.com/pdf/dec/vax/vaxeln/2.0/AA-EU39A-TE_VAXELN_Pascal_Language_Reference_Manual_Mar85.pdf

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

StackOverflow/StackExchange: two queries to help me improve my questions and answers

Posted by jpluimers on 2014/09/05

On the StackExchange network, I try to keep track of the questions I asked, and answers I gave in order to see if they need follow up.

For instance, questions with answers that have no accepted answer usually indicate there is room for improvement.

On my own questions, it means I could accept an answer, or give out more information on how to better answer that question.

On mu answers to questions from others, it might mean I need to improve my answer, or comment on his question to explain it better.

The first category can be queried easily by the built in search capabilities:
http://stackoverflow.com/search?q=user%3ame%20is%3aanswer%20hasaccepted%3ano

The second category requires the Stack Exchange Data Explorer (SEDE) to execute some SQL:
My answers to questions that have no accepted answer – Stack Exchange Data Explorer.

  • Replace the ‘me’ with your StackOverwlow user ID
    (for StackOverflow.com, you can get that from http://stackoverflow.com/search?q=user%3ame as it will be listed in the search box there)
  • replace stackoverflow with a mnemonic obtained from the main SEDE page (click on the icon you are interested in, then copy that part into the query)

Note some questions (like Wiki: Current state of the art of Delphi 3rd party TCP/IP components libraries – Stack Overflow) are not suited to have one ‘best’ answer.

Note the SEDE can be addictive. If it is starting to become that way, perform a Jon Skeet comparison.

Note the SEDE data is usually at least a few days older than the live data.

--jeroen

Posted in Development, Jon Skeet, Pingback, Power User, SocialMedia, Software Development, Stackoverflow | Leave a Comment »

Delphi XE7 is out with version 21.0.17017.3725; Spring4D is almost ready.

Posted by jpluimers on 2014/09/04

Remarkably few people note the actual version number of the Delphi releases, though that is the version mentioned in any QC reports.

Now that Delphi Insider: Download links for Delphi XE7, C++Builder XE7 and RAD Studio XE7 are there, the ftpd and altd have been seeded a few days ago with the version time stamped at the end of last month, here is the version number:

QC version number for Delphi XE7: 21.0.17017.3725 (Update 1 has version 21.0.17707.5020).

I got that number from the first XE7 report in QC posted almost 2 months ago (and verified it against other reports), so it seems XE7 has undergone some serious testing.

Before installing, note that in addition to the below documentation links:

Be sure to have at least 60 gigabytes of free disk space before you attempt to install.

This in addition to the 5 gigabyte ISO file (:

XE7 doc links

Spring4D

On the Spring4D side (yes, it has a new logo!), Stefan has added XE7 support, so a new release of that is near.

–jeroen

Posted in Delphi, Delphi XE7, Development, QC, Software Development | Tagged: , | 1 Comment »

VSCommands: one of the greatest free Visual Studio addons

Posted by jpluimers on 2014/09/04

My programming life would be much harder without this in my toolchest: VSCommands for Visual Studio extension.

–jeroen

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