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

Archive for May, 2019

Scheduled jobs and jitter…

Posted by jpluimers on 2019/05/23

Too bad G+ doesn’t allow the WayBack machine or Archive.is to archive the whole thread at [WayBack] [Archive.isDas es inzwischen fast überall Standard ist die Uhren mit einem guten Zeitsignal zu synchronisiseren (NTP, DCF-77, GPS etc) ist eigentlich eine gute Sache… – Kristian Köhntopp – Google+ so here are a few quotes below.

The generatel conclusions seem to be that:

This was the start:
Nils Ketelsen originally shared:

Guckt man live sieht es schon anders aus: Während die RunQueue meist so bei 4-5 liegt (bei 21vCPUs kein Problem) springt sie jede volle Minute einige Sekunden lang auf 20. Bei durch 2 Teilbaren Minuten auf ca. 40. Bei durch 10 Teilbaren Minuten auf 70, bei durch 15 teilbaren Minuten auf 150…. Ich habe eben durch einen schlecht getimten Toilettenbesuch die volle Stunde verpasst, das muss ich gleich mal anders hinbekommen, aber ich gehe davon aus, daß es da noch schlimmer ist.

And these some of the comments:

Read the rest of this entry »

Posted in *nix, *nix-tools, Algorithms, cron, Development, Power User, Software Development | Leave a Comment »

Useful settings for FastMM4 to tracking bottlenecks in multi-threaded memory allocation

Posted by jpluimers on 2019/05/23

Interesting thread that reminded me of the relatively new FastMM feature to track down lock contention and cope with it using release stacks:

[WayBack] I try use FastMM4 to tracking bottleneck in allocating memory. I was inspired by this Primož movie: https://www.youtube.com/watch?v=p-5mJyXvmrc When I… – Jacek Laskowski – Google+

The changes by Primož have added these two new conditional defines to the FastMM4 codebase:

These options are mutually exclusive.

This was the original post it got introduced in [WayBack] The Delphi Geek: Finding Memory Allocation Bottlenecks with FastMM4 and merged into the main repository.

FastMM introduction: [WayBack] The New Memory Manager In BDS 2006 – by Pierre le Riche.

It also taught me about [WayBack] RAMDisk – Software that Accelerates, Protects, Optimizes – Server Memory Products & Services – Dataram.

Primož stores his DCU files there: much faster than SSD, and far less wear on your SSD; see https://youtu.be/p-5mJyXvmrc?t=2675

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, FastMM, Software Development | Leave a Comment »

sql – How to Select Every Row Where Column Value is NOT Distinct – Stack Overflow

Posted by jpluimers on 2019/05/22

Since I always forget that IN and EXISTS have very different performance characteristics: [WayBack] sql – How to Select Every Row Where Column Value is NOT Distinct – Stack Overflow

Less slow

select emailaddress,customername from customers where emailaddress in
(select emailaddress from customers group by emailaddress having count(*) > 1)

Slow

select emailaddress,customername from Customers a where exists
(select emailaddress from customers c where a.customerName != c.customerName and a.EmailAddress = c.EmailAddress)

–jeroen

Posted in Database Development, Development, Software Development, SQL | Leave a Comment »

Insentricity :: Kermit on the JAIR 8080 ::

Posted by jpluimers on 2019/05/22

Cool: [WayBackInsentricity :: Kermit on the JAIR 8080 ::

Repository: [WayBackFozzTexx/Kermit-CPM: Columbia University’s Kermit for CP/M

–jeroen

Posted in Assembly Language, Development, History, Software Development | Leave a Comment »

web services – Accessing the original TWebRequest object in a Delphi SOAP Server – Stack Overflow

Posted by jpluimers on 2019/05/22

Thanks Ondrej Kelle for answering this:

uses
  System.SysUtils,
  Web.HTTPApp,
  Soap.WebBrokerSOAP;

function TTest.CallMe: string;
var
  WebDispatcher: IWebDispatcherAccess;
begin
  Result := '';
  if Supports(GetSOAPWebModule, IWebDispatcherAccess, WebDispatcher) then
    Result := Format('You are calling me from: %s', [WebDispatcher.Request.RemoteIP]);
end;

Source: [WayBack] web services – Accessing the original TWebRequest object in a Delphi SOAP Server – Stack Overflow

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

It was all Greek to me: Iota · golang/go

Posted by jpluimers on 2019/05/21

Context is king!

Being Dutch, my association with iota was the phrase “Ik snap er geen iota van” (English: “It’s all Greek to me”), basically indicating iota is extremely small, similar to [WayBack] Iota | Definition of Iota by Merriam-Webster:

1an infinitesimal amount jot  (did not show an iota of interest)
2the 9th letter of the Greek alphabet — see alphabet table

But the first time, I saw iota used in golang, I actually confused it with [WayBack] itoa – C++ Reference, because I am more than slightly wordblind.

So code like this was all Greek to me at first, not understanding the conversion from integer to ASCII**, and slightly later, not understanding iota to be extremely small either. Heck, its usage indicates it is small from infinitesimal:

const (
    _           = iota // ignore first value by assigning to blank identifier
    KB ByteSize = 1 << (10 * iota)
    MB
    GB
    TB
    PB
    EB
    ZB
    YB
)

So it took me a bit of thought to realise that it actually had to mean something completely different, so I found

It makes me wonder why they named it like this.

Slightly related:

–jeroen

Read the rest of this entry »

Posted in C++, Development, Go (golang), Software Development | Leave a Comment »

draft-ietf-appsawg-http-forwarded-10 – Forwarded HTTP Extension (X-Forwarded-For, X-Forwarded-By, and X-Forwarded-Proto)

Posted by jpluimers on 2019/05/21

Since many HTTP stacks do not have fields for this so it’s hard to get the originating IP address:

It is about these HTTP header fields with and without X- prefix:

  • Forwarded
  • X-Forwarded-For
  • X-Forwarded-By
  • X-Forwarded-Proto

Note that widely used tools like HAProxy do not always fully adhere to the “standard”…

Via:

–jeroen

Posted in Communications Development, Development, HTTP, Internet protocol suite, Software Development, TCP | Leave a Comment »

Delphi XE8 introduced the dependency directive, but it’s not for Windows

Posted by jpluimers on 2019/05/21

Interesting thread that shows Delphi XE8 introduced a dependency directive: [WayBack] Just curious, in which version was the dependency directive introduced? As in procedure X; external ‘somelib’ dependecy ‘otherlib’; S… – Johan Bontes – Google+

It’s documented as of XE8: [WayBack] Procedures and Functions (Delphi) – RAD Studio: Specifying Dependencies of the Library

The earliest use I could find is in XE4 source C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\source\IBX\IBIntf.pas

–jeroen

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

Amazon.com: Kaimebien I Before E Weird Grammar Teacher 11 Ounces Coffee Mug: Kitchen & Dining

Posted by jpluimers on 2019/05/20

Want: mug of [WayBackWeird Meme on me.me:
I Before E
Except When Your Feisty Foreign Neighbor Keith Leisurely Receives Eight Counterfeit Beige Sleighs From Caffeinated Atheist Weightlifters
Weird

Via:

See also I before E except after C – Wikipedia

Mug: [WayBackAmazon.com: Kaimebien I Before E Weird Grammar Teacher 11 Ounces Coffee Mug: Kitchen & Dining

–jeroen

Read the rest of this entry »

Posted in Fun, Quotes | Leave a Comment »

Relay based computers…

Posted by jpluimers on 2019/05/20

Cool hardware: [WayBack] click-click-click-click-click-CHUNK… – Joe C. Hecht – Google+

Sources:

–jeroen

Read the rest of this entry »

Posted in Development, Hardware Development, History | Leave a Comment »