Archive for the ‘Software Development’ Category
Posted by jpluimers on 2016/10/05
Fails in Delphi XE8 with a nice [dcc32 Fatal Error] dcc32_F2084_C2359.dpr(27): F2084 Internal Error: C2359
It is fixed in Delphi 10.0 Berlin, but of course a C2359 search does not reveal that as Quality Portal is behind a wall. So for future reference the bug: [RSP-13471] Int64 for loops can generate Internal Compiler Error – Embarcadero Technologies. Thanks +Stefan Glienke for mentioning the issue.
program dcc32_F2084_C2359;
type
TNumber = Int64; // UInt64; // fails too; other numeric types do not fail. Fails in a unit as well.
TNumbers = TArray;
TNumberRange = record
strict private
function GetLowerBound: TNumber;
public
function Numbers: TNumbers;
property LowerBound: TNumber read GetLowerBound;
end;
{ TNumberRange }
function TNumberRange.GetLowerBound: TNumber;
begin
Result := Default(TNumber);
end;
function TNumberRange.Numbers: TNumbers;
var
lValue: TNumber;
begin
for lValue := LowerBound to LowerBound do
;
end;
begin
end.
–jeroen
Read the rest of this entry »
Posted in Delphi, Delphi XE8, Development, F2084, Software Development | 1 Comment »
Posted by jpluimers on 2016/10/04
Slay dragons, learn concurrency! Play the cunning Scheduler, exploit flawed programs and defeat the armies of the Parallel Wizard.
Source: The Deadlock Empire
Via: Face the dragon. Learn the ropes of concurrent programming. – Lars Fosdal – Google+
Source code is available and focuses on C#; maybe one day I’ll make a Delphi version: deadlockempire/deadlockempire.github.io: The Deadlock Empire: Slay dragons, learn concurrency!
BTW: a great book (with nice illustrations at both github and kernel.org) is Source: Is Parallel Programming Hard, And, If So, What Can You Do About It? [WayBack]
–jeroen
Posted in .NET, C#, Delphi, Development, Multi-Threading / Concurrency, Software Development | Leave a Comment »
Posted by jpluimers on 2016/10/04
A while ago (in fact more than a year), I posted Encoding is hard… go G+ with the below picture.
[Wayback] ftfy (“fixes text for you”, a parody on “fixed that for you”) [Wayback] fixes it, but:
How did the single quote become “’“?
Actually, because of a a common “beautification” of many Office suites (Microsoft and Open alike), the single quote was a special one: a Unicode Character ‘RIGHT SINGLE QUOTATION MARK’ (U+2019) which in UTF-8 is encoded as 0xE2 0x80 0x99.
Read the rest of this entry »
Posted in Development, Encoding, ftfy, ISO-8859, ISO8859, Mojibake, Software Development, Unicode, UTF-8, UTF8, Windows-1252 | Leave a Comment »
Posted by jpluimers on 2016/09/29
Version 1.8.1 History | Continua CI:
v1.8.1.112
September 29th, 2016
Changes
- Fix: Regression bug: repository branch auto-mapping changes were missing a null check causing triggering builds to be stuck in initialising state.
- Fix: Branch auto-mapping was not working with all scenarios.
- Update: Property collector added for .Net Framework 4.6.2.
Posted in Continua CI, Continuous Integration, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2016/09/29
On my TODO list.
References:
This in order to get rid of MSXML dependencies in cross platform Delphi development.
–jeroen
Posted in Continua CI, Continuous Integration, Delphi, Development, DUnit, Software Development | 2 Comments »
Posted by jpluimers on 2016/09/29
I needed to script a few things on my Fritz!Box. Here are the cURL links that I used to research some Fritz!Box scripting.
My first try was wget, but that didn’t do everything I need, so cURL came to the rescue.
In the end, I didn’t need cookies (a post request with an MD5 based handshake sufficed to get a session SID which is not stored in a Cookie), but that surely will come in useful another time.
Curl man page entries:
The script is and docs are here: jpluimers/bash-fritzclient.
–jeroen
Posted in *nix, bash, cURL, Development, Fritz!, Fritz!Box, Network-and-equipment, Power User, Scripting, Software Development, wget | Leave a Comment »
Posted by jpluimers on 2016/09/29
via Version 1.8.1 History | Continua CI [WayBack]: new version v1.8.1.108
September 28th, 2016
Note : You will need to update your agents after installing this build
Read the rest of this entry »
Posted in Continua CI, Continuous Integration, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2016/09/29
As it got live last week, this is required reading if you do web development:
–jeroen
Posted in Development, JavaScript/ECMAScript, Scripting, Software Development, TypeScript | Leave a Comment »
Posted by jpluimers on 2016/09/28
Got a very quick response Range combo – Paste.ie – Irish For Pastebin on:
I’m looking for an algorithm that converts a list of integers (for instance of pages to be printed) from this form:1,2,3,4,6,7,8,13,14into1-4,6-8,13-14… – Jeroen Wiert Pluimers – Google+
I’ll write some unit tests soon and make it into a unit for testing.
For now it looks exactly what I need. In addition, I learned how this algorithm is called Range extraction – Rosetta Code and the opposite Range expansion – Rosetta Code.
Basically these lists are the format where a user can enter the range of pages to be printed.
The code by Asbjørn Heid uses a Functional record definition allowing for function binding just like in C++ Boost.Bind [WayBack].
Based on that, I made this changeset: https://bitbucket.org/jeroenp/besharp.net/commits/7205b070a4e6457675a083b78d26659da506fc08
–jeroen
via: I’m looking for an algorithm that converts a list of integers (for instance of…
Posted in Delphi, Development, Software Development | 4 Comments »