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

OpenSUSE: Getting to work the ruby script to login into dyndns.com automatically every week.

Posted by jpluimers on 2015/01/06

So I remember for the next time:

zypper install ruby
zypper install ruby-devel
zypper install gcc
zypper install gcc-c++

If you don’t install all these, them the gem will fail with errors like this: Read the rest of this entry »

Posted in *nix, Linux, openSuSE, Power User, SuSE Linux | 1 Comment »

[DE] Kristian Köhntopp: Und wieder fällt ein MITM Angriff auf SSL durch Google Certificate Pinning auf…

Posted by jpluimers on 2015/01/05

Interesting:

Kristian Köhntopp: Und wieder fällt ein MITM Angriff auf SSL durch Google Certificate Pinning auf…

Gogo Inflight Internet is intentionally issuing fake SSL certificates – Neowin

SSL certificates exist to increase security and prevent snooping on your browsing sessions. Gogo believes you shouldn’t have that and appears to be intentionally performing MITM attacks on its users.

[…]

Kristian Köhntopp +Steffen Storbeck Du kannst Preloading machen, http://blog.stalkr.net/2011/08/hsts-preloading-public-key-pinning-and.html erklärt ein wenig wie das geht.

[…]

Dominik Mähl In diesem Kontext vielleicht interessant: Chrome ignoriert Certificate Pinning, wenn das Serverzertifikat von einer CA unterzeichnet ist, die im lokalen Trust-Store des PCs installiert wurde. So versteht man dann auch, wieso trotz Certificate Pinning Unternehmens-MITM-Appliances noch funktionieren können.

–jeroen

via: Und wieder fällt ein MITM Angriff auf SSL durch Google Certificate Pinning auf….

Posted in Chrome, Google, Power User | Leave a Comment »

Nick Hodges: Man, the chapter on Multi-threading is going to be seriously hard to write.…

Posted by jpluimers on 2015/01/05

A very nice thread around multi-threading in Delphi is evolving at Google Plus: Nick Hodges: Man, the chapter on Multi-threading is going to be seriously hard to write.….

Note: you need to be member of that G+ group to read it, but Nick Hodges allows most people in…

–jeroen

(I also tagged it XE8, as by the time such a book arrives, that Delphi version has most likely come out given the past release frequency <g>)

Posted in Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 7 Comments »

I love plain text: for markup/markdown, diagrams and more.

Posted by jpluimers on 2015/01/05

I love plain text.

Posted in Power User | Leave a Comment »

Blast from the Past: `TThread` got introduced in Delphi 2

Posted by jpluimers on 2015/01/03

Thanks Nick Hodges for asking, and Uwe Raabe for answering:

Yep! Delphi 2 had TThread while Delphi 1 did not.

It resulted in an interesting thread including topics like cooperative multi-tasking and named pipes under DOS by using Turbo Pascal.

Boy, I remember the \pipe\ days and releasing a time slice by calling INT $28, $15 and $2F combinations like this:


asm
int $28
mov ax, $1000
int $15 { DESQview/TopView give up time slice }
mov ax, $1680
int $2F
end;

Note: you can even use INT $2F with AX=$1680 to check if you are running in a DOS x86 VM and other OS checks.

–jeroen

via: Anyone remember which version of Delphi introduced TThread?.

Posted in Borland Pascal, Delphi, Delphi 1, Delphi 2, Development, Pascal, Software Development, Turbo Pascal | 4 Comments »

The Underground Map of the Elements | Mark Lorch | Science | theguardian.com

Posted by jpluimers on 2015/01/02

Click on the map to view a larger version. Thanks Guardian!

Click on the map to view a larger version. Thanks Guardian!

Fun way to display some other relations between various series of atoms:

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

Delphi XE7: The new Tasks / Parallel Computing Library. Like any library, it is not a magic bullet!

Posted by jpluimers on 2015/01/01

In Delphi XE7, Embarcadero introduced a new Parallel Computing Library.

Programmers – human as they are – see this as a silver bullet, thinking using such a library will take away all your performance issues without having to know about solving race conditions.

Boy are they wrong. The library helps you, and makes it easier. Easier in the sens of “less hard”.

So here is my friendly warning:

Parallel programming is hard. Live with it.

This apart from another important warning:

Delphi XE7 is the first version where this library is introduced. So expect bugs and more bugs.

This isn’t to say you should not use a library for parallel computing (the OmniThreadLibrary has been around for a reason), just that it is hard to get these right, even for library writers. They often get it right better and faster than rolling your own.

Read the rest of this entry »

Posted in Delphi, Delphi XE7, Development, Software Development | 5 Comments »

XSD regular expressions are a tad different: creating GroupProj.xsd

Posted by jpluimers on 2014/12/31

While creating jeroenp / BeSharp.net / source / Native / Delphi / Scripts / GroupProj.xsd — Bitbucket, I bumped into the fact that regular expressions in XSD *or better XML Schema Regular Expressions) regular expressions are a tad different than the RegEx.

Actually, there are quite a few regular expression flavours, and all of them are a tad different. The page Compare Regular Expression Flavors at Regular-Expressions.info.

That is a great site with Regex Tutorial, Examples and Reference – Regexp Patterns by RegEx guru Jan Goyvaerts (yes, that looks Dutch, but he was born in Belgium and now lives in Phuket) famous for tools like PowerGREP and RegExBuddy. All based on the great Delphi RegEx PCRE library written by Jan and included in Delphi XE and up.

The thing that baffled me most is that even though XML Schema Regular Expressions do not support anchors ^ and $, you still have to escape them.

–jeroen

via: XML Schema Regular Expressions.

Posted in Development, RegEx, Software Development, XML/XSD, XSD | 2 Comments »

Delphi memory managers – via Tommi Prami G+

Posted by jpluimers on 2014/12/30

There is a nice Delphi memory thread at G+ initiated by Tommi Prami for which I added some links to the memory managers:

  • FastMM (No signs of the Version 5)
  • ScaleMM – Interesting (two versions)
  • SynScaleMM – Fork of the previous
  • SapMM – Just found out about this, but tries to tackle multithreading issue.

More interesting comments (most people seem to favour FastMM, as they can get very good performance out of it even in multi-threaded environments) at There have not been much of the Talk of MemoryManagers lately….

Note there is also TBBMM based on TBB, but it seems unmaintained.

Barry Kelly’s memory manager is based on Boehm-Demers-Weiser GC.

–jeroen

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

Tools to generate sample data from regeX expressions (via: Stack Overflow)

Posted by jpluimers on 2014/12/30

Thanks DD59 for posting these interesting links:

I like the name `Xeger`.

–jeroen

via: xml – Generate a valid example value for a xs:pattern – Stack Overflow.

Posted in .NET, Development, Java, RegEx, Software Development, Visual Studio and tools | Leave a Comment »