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 ‘Delphi’ Category

Hacking is Important — Medium

Posted by jpluimers on 2016/04/22

“We’re barbarians, not bureaucrats!”

Source: Hacking is Important — Medium

On hacking vs processes, being disruptive and how people think. Short stories about Borland, Apple, FaceBook and others.

–jeroen

via: Hacking is Important — Medium – David Berneda – Google+

Posted in Apple, Delphi, Development, Facebook, LifeHacker, Power User, SocialMedia, Software Development | Leave a Comment »

Internal version numbers for conditional defines etc

Posted by jpluimers on 2016/04/21

Thanks Daniel Jackson for posting (the DocWiki hasn’t been update yet):

Version Conditional: VER310
Product Version: 24
Package Version: 240
IDE Version: 18.0
Compiler Version: 31

Source: I had expected Embarcadero would have updated the documentation to reflect the…

–jeroen

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | 2 Comments »

RubyMania has reached Delphi – Times helper method implementation for integers – from Asbjørn Heid

Posted by jpluimers on 2016/04/21

The below fragment is one of the favourite kinds of examples in the Ruby world:

5.times { |i| print i, " " }

It uses the times method on Integer and prints:

0 1 2 3 4

There are many implementations of this in other languages, for instance Ruby’s ‘times()’ function in C# | Of Code and Me (which the WordPress.com editor fucked up as it replaced Action<int> with Action which is a totally different thing, so the gist with code is below.

public static class IntExtensions
{
    public static void Times(this int i, Action func)
    {
        for(int j = 0; j < i; j++)
        {
            func(j);
        }
    }
}

Which you use as

5.Times(i => Console.Write(i));

It’s slightly off as it prints:

01234

I know; nitpicking, but this code works (did I ever tell I love .NET fiddle?):

5.Times(i => Console.Write("{0} ", i));

Well, Mason Wheeler encouraged Asbjørn Heid for the below Ruby Mania in Delphi; just read the comments at In C# nearly everything is an object, so when writing a unit test for a string…

Since the WordPress.com editor fucks up TProc<Integer> into TProc and TProc behaves differently from TProc<Integer>, I’ve included a gist link with the actual code below.

program RubyManiaConsoleProject;

uses
  System.SysUtils;

type
  TRubyMania = record helper for ShortInt
    procedure times(const IterBody: TProc);
  end;

procedure TRubyMania.times(const IterBody: TProc);
var
  i: Integer;
begin
  for i := 0 to Self-1 do
    IterBody(i);
end;

begin
  5.times(
    procedure(i: Integer)
    begin
      Write(i, ' ');
    end
  );
end.

It also shows why I hardly use anonymous methods in Delphi: they’re way too verbose.

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Event, Software Development | 1 Comment »

Positive: Delphi 10.1 Berlin is out; negative all Embarcadero HTTPS sites still vulnerable to DROWN attack

Posted by jpluimers on 2016/04/19

The good news: Delphi 10.1 Berlin is out and released in Berlin (note: you might want to rename Delphi 10 Seattle into Delphi 10.0 Seattle).

Some links:

The not so good thing: I won’t be using it for a while as now for like 6 weeks or so, all the embarcadero HTTPS sites have been vulnerable to the DROWN man-in-the-middle attack that has been discovered 20160301.

Which means that even without going around the non-HTTPS partner site, I won’t be able to make a secure connection and install it.

Which gives me more time to play with the Xamarin Visual Studio 2015 integration, the cool stuff that MvvmCross offers and some of the other .NET Goodness at BUILD 2016 – .NET ALL THE THINGS! | Beth Massi

Read the rest of this entry »

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Development, QC, Software Development, Visual Studio 2015, Visual Studio and tools | 6 Comments »

Visual Studio 2015 Frequently Asked Questions – install size

Posted by jpluimers on 2016/04/14

Visual Studio is a pretty big product and will take over 30GB of disk space after installation

Source: Visual Studio Frequently Asked Questions

LOL. It’s about half the size of recent Delphi versions.

–jeroen

Posted in .NET, .NET 4.0, .NET 4.5, C#, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 10 Seattle, Delphi XE8, Development, Software Development, VB.NET, Visual Studio 2015, Visual Studio and tools, Xamarin Studio | 4 Comments »

Anders Live | Build 2016 | Channel 9 – on Turbo Pascal, Delphi, C# and TypeScript

Posted by jpluimers on 2016/04/06

Anders Live - Build 2016 - Channel 9 Stage C907 - Speakers: Anders Hejlsberg, Seth Juarez

Anders Live – Build 2016 – Channel 9 Stage C907 – Speakers: Anders Hejlsberg, Seth Juarez

Anders explaining about being a pragmatist ever since he started working on the Turbo Pascal predecessor in 1981. It’s been a long way to TypeScript and beyond (:

Lot’s of interesting tidbits about the future of TypeScript and how it relates to other languages.

Source: Anders Live | Build 2016 | Channel 9

Direct URLs:

–jeroen

PS:

The Turbo Pascal predecessors were called Blue Link Software PascalCompas Pascal and Poly Pascal as I learned last year while teaching a workshop for DAPUG in Denmark when I bumped into some people working with Anders while he still lived there a long time ago. Later I researched the above links.

 

Posted in .NET, C#, Delphi, Development, History, Pascal, Software Development, Turbo Pascal | 1 Comment »

A future Delphi won’t download start page content from the Embarcadero site

Posted by jpluimers on 2016/04/05

The “Official statement” of Embarcadero about their recent hacks are in the form of comments on public messages mentioning the hacks, some asking to take discussions offline.

They forgot to comment on Delphi: disable or change your welcome page to not use the Embarcadero site (as that site has been hacked twice this weekend) « The Wiert Corner – irregular stream of stuff, so here is their comment from the G+ thread I posted:

FYI: Future versions will no longer have the banner pulled from the website on the start page.

Source: This weekend, the Embarcadero web site was hacked by AnonCoders. once…

I hope it will be the upcoming Delphi 10.1 Berlin version, but given their speed at responding to security threats, I won’t hold my breath.

–jeroen

PS: what a coincidence that I wrote this yesterday on G+:

I know of a few companies that could benefit from more openness.

Ilya Grigorik originally shared: Edge team announced new (EdgeHTML) open issue tracker: http://bit.ly/1S3uhp5 – yay! The times, they are changing.File away!

Posted in Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »

New experimental FastMM version was committed to https://github.com/gabr42/…

Posted by jpluimers on 2016/03/22

The comments show some nice links to comparison overviews of hashing algorithms.

New experimental FastMM version was committed to https://github.com/gabr42/FastMM4/tree/Locking_Improvements.New in this version:- Slightly simplifie… – Primož Gabrijelčič – Google+

Source: New experimental FastMM version was committed to https://github.com/gabr42/Fa…

–jeroen

Posted in Delphi, Development, FastMM, Software Development | Leave a Comment »

RAD Studio 10 next stop: Berlin (via: The inheritance tree of all Fire Monkey objects) but would you really trust it?

Posted by jpluimers on 2016/03/22

Apart from the very interesting poster: the next stop is RAD Studio 10.1 Berlin Version 24.0.22718.6766.

Apparently, I missed the previous RAD Studio 101. Berlin rumour and Tim Anderson mentioning Berlin in New Delphi and C++ Builder Roadmap promises Linux server support « Tim Anderson’s ITWriting as in the Delphi roadmap for 2016 it’s still called BigBen.

The docwiki start page is there, just not open for the public yet: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Main_Page. Like right before Delphi 10 Seattle, it’s only available for writer, l10n, RADBeta, ConnectBeta, Employee.

Similarly, https://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Berlin/ is not there: it was added 20160311.

Still the TLS issues have not been solved, so the very bad SSLLabs rating of F stays stays the same as at before the start the 10 Seattle era.

Also apart from some comments, there still is no central official statement of the recent web-site breaches.

I’m not sure what an eminent new Delphi version can be of use when you can’t be sure your account data is secure and the product download is valid (i.e. not tampered with).

In other words: would you really trust a new Delphi version? I won’t yet, at least not for now.

–jeroen

Source: The inheritance tree of all Fire Monkey objects.

RAD Studio 10 Berlin FMX hierarchy

RAD Studio 10 Berlin FMX hierarchy

Posted in Delphi, Delphi 10 Seattle, Development, Software Development | 1 Comment »

The Default magic function in Delphi

Posted by jpluimers on 2016/03/17

Stefan Glienke worded it perfectly: Default(typeIdentifier) is a “magic” function that is implemented into the compiler and causes it to generate the correct code – like for records with managed fields it generates a call to FinalizeRecord and some instructions to zero the remaining fields.

Source: I know I can write MyRecordVar := Default(TMyRecordType) because I asked a qu…

–jeroen

Posted in Delphi, Delphi 10 Seattle, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »