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

Archive for 2019

Amsterdam Nieuw West: parkeren Osdorpplein en omgeving

Posted by jpluimers on 2019/02/11

[WayBack] Amsterdam Nieuw West

Vergelijking parkeertarieven:

AH XL     AH XL         Qpark        Op straat * 

(Klanten)

1 uur              € 2,50       gratis         gratis              € 2,40

1,5 uur           € 5,–         gratis         gratis             € 3,60

2 uur             € 5,–         € 2,50        € 2,–               € 4,80

2,5 uur          € 7,50       € 5,–          € 4,–               € 6,–

3 uur             € 7,50       € 5,–          € 6,–               € 7,20

4 uur            €  10,–       € 7,50        € 10,–              € 9,60

24 uur          € 25,–       € 25,–       € 25,–              € 36,–

* sommige dagen/dagdelen zijn gratis

De conclusie is dat parkeergarage Osdorpplein van Qpark het meest goedkoop is, met name als je voor < 1,5 uur vrij bent om waar dan ook boodschappen op het Osdorpplein te gaan doen. Deze parkeergarage is ook geschikt voor bezoekers van de Meervaart. Het is mogelijk om 24/7 uit te rijden. Let wel op de inrijtijden

Een ander belangrijk verschil is het afrekenen per minuut of per uur. Bij de parkeergarages betaal je bij de AH XL per uur, bij Qpark per half uur en op straat per minuut.

De parkeergarage AH XL is goedkooop voor klanten die in minder dan 1,5 uur boodschappen doen bij de AH XL en mogelijk ook nog even snel het Osdorpplein willen gaan bezoeken.

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

Di Cleverly – Google+: on 42 and geek stuff

Posted by jpluimers on 2019/02/11

Since it is the 42th day of this year: Via [WayBack] Di Cleverly – Google+

  • Adrian Colley
    For a slightly more serious answer, asterisk is most commonly used (in computing) to mean “repeat the previous pattern zero or more times”. In HHGttG, it’s suggested that if the Question and the Answer were known at the same time, the universe would vanish and be replaced by something even more bizarre and inexplicable. There is a theory that this has happened several times. Zero or more times, you might say.
  • pedant powers activated !

    in regex * is zero or more of the preceding character, but there is no preceding character

    as a file glob * is zero or more anything

    as an operator * is multiplication, but there are no operands

    in sports * next to a stat flags possible cheating

    there will be others if I go looking, but I think the point is that the question was ill defined with lack of context, therefore the answer is also ill defined with lack of context, at least that is how I interpreted the answer when I first saw the tv series (it was a radio show before that, but I never heard it)

    saying the answer is * is also ill defined and lacks context (i.e. is * a regex or a glob or an operator or …)

    also ASCII is not computer software, let alone the most basic computer software, ASCII is simply an agreed mapping from numbers to symbols eg 01000001 = 65 = 0x41 = A

    so if 42 was actually hexadecimal, then 42 = B and maybe the question was multi-choice (aka multi-guess), therefore my answer is 44 = D = all of the above

  • +Perry Winkle not ever regular expression. And as i said the books predates regex.
  • +Martin Krischik in sed, vi, awk, Perl, Python, Posix and many others it is, any exceptions would be painful regex engines to work with IMO

    also, I think you’ll find regex is actually older than HHGttG. HHGttG was first a radio play in 1978, regex was coined in the early 1950s for algebra and used in unix in the early 1970s

  • Jeroen Wiert Pluimers

    Sorry to spoil it: groups.google.com – Why 42 ? where in 1993, Douglas Adams writes:

    <<
    The answer to this is very simple. It was a joke. It had to be a number, an
    ordinary, smallish number, and I chose that one. Binary representations,
    base thirteen, Tibetan monks are all complete nonsense. I sat at my desk,
    stared into the garden and thought ’42 will do’ I typed it out. End of story.

    Best,

    Douglas Adams
    London, UK | d…@dadams.demon.co.uk (dormant)
    Currently in Santa Fe, NM | ada…@nic.cerf.net (current)
    >>

  • The first time someone handed me an iPhone with Siri, I asked the meaning of life, the universe, and everything. Siri simply gave me information on those specific search terms. (More recently I asked the question again, and Siri answered 42)

    Google responded with a reference to Bill & Ted’s Excellent Adventure, “Be excellent to each other”.

    I need someone to ask Alexa and report back.

    I’m using this to gauge where we are in the possibility of having AI overthrow humanity in the immediate future. 😁

  • Di Cleverly
    +Martin Krischik he played the guitar left handed! Wow! You really do learn something new everyday!
  • +Adrian Colley You’re mixing regex with “everything in computing”

    +Martin Krischik And Douglas Adams worked mainly with Apple and Unix. Apple ripped off the * wildcard from Unix, CPM ripped it off from Apple, and MS-Dos ripped it off from CPM. The fact that DOS used it isn’t relevant. And regex started in 1951. A quick Google search confirmed that. So yes, it was in existence in 1979. GREP was using regex long before 1979. And yes, DA’s programming experience would have exposed him to all this. You seem to be conflating degrees with actual ability.

  • Perry Winkle (Shy Geek)

    FYI (geek alert) Unix was popular as a document printing/typesetting system early on hence tools like latex and nroff/troff (especially for printing formulas in computer science papers etc)

    (trivia alert) grep comes from the ed (or sed) command g/re/p where re is short for regular expression, it translates kind of as “globally in the file/stream, if the re matches, then print the line”

–jeroen

Read the rest of this entry »

Posted in Fun, History | Leave a Comment »

No thank you, Mr. Pecker – Jeff Bezos – Medium

Posted by jpluimers on 2019/02/09

If this is the norm inside world wide politics and business, what is outside the norm?

[WayBack] No thank you, Mr. Pecker – Jeff Bezos – Medium

Via:

Related:

–jeroen

Read the rest of this entry »

Posted in Opinions | Leave a Comment »

Quantum Computing for Computer Scientists – YouTube

Posted by jpluimers on 2019/02/08

On my list of videos to watch:

Via: [WayBack] Quantum computing for computer scientists, explained by Microsoft. Despite the pop lecturing style the explanation is deep enough. I’ve wondered before… – Sergey Kasandrov – Google+

–jeroen

Posted in Development, Software Development | Leave a Comment »

Link archive: ASUS MN78 PRO URLs

Posted by jpluimers on 2019/02/08

Since my brother has this motherboard: M4N78 PRO GREEN.

It does WOL, but doesn’t always wake up when powered down.

–jeroen

ASUS Serial 93M0AI195747; Part 90-MIB7C0-G0EAY00Z; M4N78 PRO GREEN; UPC 61083916977; EAN 4719543169773

Posted in Ethernet, Hardware, Mainboards, Network-and-equipment, Power User, Wake-on-LAN (WoL) | Leave a Comment »

Some Postfix configuration guidelines

Posted by jpluimers on 2019/02/08

Not just for Postfix are the first two guidelines:

  • Change one thing at a time
  • Save known working configurations

For the latter, I’m using etckeeper pushing to an external git repository hoster.

For Postfix are the others from [WayBackPostfix Configuration Guidelines.

One tip that’s missing, but saved my life numerous of times:

In /etc/postfix/main.cfg do not use this line ever:

inet_interfaces = $myhostname

If the resolving (through DNS or hosts file) of $myhostname fails for any reason in the future, then Postfix will not start at all, but in stead emit a fatal error like this:

/usr/sbin/postconf: fatal: parameter inet_interfaces: no local interface found for 127.0.0.2

Specify exact interfaces in stead, like any of these:

inet_interfaces = all

inet_interfaces = localhost

inet_interfaces = 192.168.24.68

–jeroen

Posted in *nix, *nix-tools, etckeeper, Linux, postfix, Power User | Leave a Comment »

Navigation bar notifications for Google web products will go away on March 7, 2019. Via Manage your notifications – Google Account Help

Posted by jpluimers on 2019/02/08

After March 7, 2019, notifications for Google web products will no longer be accessible from the navigation bar.

[WayBackManage your notifications – Google Account Help has more details, but it does not look good.

More Google stuff is dying, almost every month now. For a list of dying products see: [WayBackdidgoogleshutdown.com

Given more is dying, and the increased lack of confidence many people have in Google, more people are abandoning Google. More on that in a future post.

For now: [WayBack] “Manage your Notifications”: After March 7, 2019, notifications for Google web products will no longer be accessible from the navigation bar. If you’d l… – Edward Morbius – Google+

“Manage your Notifications”: After March 7, 2019, notifications for Google web products will no longer be accessible from the navigation bar. If you’d like to receive similar notifications in the future, you can update the notification settings for your individual Google products.

As usual, it’s not clear whether or not this will affect the notifications widget on G+ itself. Google’s standards for clarity in exposition remain uncorrupted. Which is to say: entirely inadequate.

Otherwise, the article addresses Google Photos, Hangouts Chat, and Google+ (G Suite users).

Update: Further close reading suggests that Consumer Google+ will lose Notifications on March 7:

Note: Google+ notifications are available for G Suite users only.

https://support.google.com/accounts/answer/9231049

Via: [WayBack] “Manage your Notifications”: After March 7, 2019, … – Lars Fosdal – Google+

–jeroen

Posted in G+: GooglePlus, Google, Google Photos, GoogleHangouts, Power User, SocialMedia | Leave a Comment »

Why the New V8 is so Damn Fast – NodeSource

Posted by jpluimers on 2019/02/07

Wow, impressive work, and a very good explanation of some of the optimizations that take place and how you can check which ones work on your code: [WayBack] Why the New V8 is so Damn Fast – NodeSource:

The entire V8 compiler pipeline was overhauled and shipped with Node.js version 8. This post investigates what speed improvements we can expect as a result.

Via: [WayBack] Adrian Marius Popa – Google+

–jeroen

 

Posted in Development, JavaScript/ECMAScript, Node.js, Scripting, Software Development | Leave a Comment »

Why you should always do documentation before development | Opensource.com

Posted by jpluimers on 2019/02/07

Food for thought, especially on the UX side of software: [WayBack] Why you should always do documentation before development | Opensource.com.

Via:

–jeroen

Read the rest of this entry »

Posted in Development, Software Development, User Experience (ux) | Leave a Comment »

Delphi threadvar: TLS thread local storage

Posted by jpluimers on 2019/02/07

Managing TLS correctly with all kinds of dynamic storage seems to be a nightmare.

From what I think it’s safe to use a TStopWatch [WayBackSystem.Diagnostics.TStopwatch (introduced in Delphi XE2) as threadvar (which gets into TLS: Thread-local storage) because it’s a record type and as a bonus will be zero-initialised in something like this:

threadvar
 ThreadStopwatch: TStopwatch; // threadvars are zero-initialised, like TStopwatch.Reset was called. Ensure TStopwatch.InitStopwatchType called before using this.

... thread code:
var
  lThreadElapsedMilliseconds: string;
begin
...
  if not ThreadStopwatch.IsRunning then
    ThreadStopwatch.Start;
  try
    lThreadElapsedMilliseconds := ThreadStopwatch.ElapsedMilliseconds.ToString();
    // log duration of call-to-call somewhere
... logic
    lThreadElapsedMilliseconds := ThreadStopwatch.ElapsedMilliseconds.ToString();
    // log duration of logic somewhere
  finally
    ThreadStopwatch := TStopwatch.StartNew; // resets new count
  end;

As long as I perform this in the main thread somwehere to pre-initialise the class variable, then no thread should have the penalty for that:

TStopwatch.Create(); // ensures non-public TStopwatch.InitStopwatchType is called, enabling the threadvar ThreadStopwatch get the penalty for that

If I ever need to dig deeper into TLS with Delphi, then these are starters:

–jeroen

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