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 September, 2018

Schema Central: XML vocabularies with all their XSD schema’s in a nice browsable overview including references, explanations and examples

Posted by jpluimers on 2018/09/11

Schema Central, by [WayBackDatypic, Inc. (Priscilla Walmsley) is to golden that I quote the whole index page below.

The index refers to XML vocabularies. Each vocabulary page links the corresponding XSD pages. Each XSD page lists documentation, elements, etc. Each element page then documents the element, shows where it is referenced from.

Welcome to Schema Central, an interactive tool to traverse and search XML schemas. Please choose your XML vocabulary of interest to get started. Don’t see the XML vocabulary you use? Ask us to add it.

Core XML Technologies

Presentation-Oriented Standards

Office/Narrative Document Standards

Web Services Technologies

Security-Related Technologies

Site developed and hosted by Datypic, Inc.

Please report errors or comments about this site to contrib@functx.com

[WayBack]

If I ever need a long term XML/XSD/XSLT/XQuery hire, this is the “about” information I need:

Datypic provides consulting services and training, specializing in XML, content management and SOA/Web Services architecture and development. We are experts in XML-related technologies such as XML Schema, XSLT and XQuery, and have extensive experience with software development and implementation.

We participate in consulting projects ranging from one day to many months, anywhere in the world. We can arrange to work remotely or at your site, whichever you prefer.

For more information, please read about our services or our company, or contact us as pwalmsley@datypic.com.

Recent news from Priscilla Walmsley

  • I recently updated my book XQuery to match the final XQuery 3.1 recommendation. You can read more about it or order it from O’Reilly or Amazon.
  • I recently taught a course at the XML Summer School on Refactoring XSLT. Slides are available as a PDF.
  • More information about my recent books and articles is available on this site.

–jeroen

Posted in Development, Software Development, XML, XML/XSD, XPath, XSD, XSLT | Leave a Comment »

Delphi 10 Seattle and up try “recover” unchanged files in the `$(BDS)` tree

Posted by jpluimers on 2018/09/11

Every now – after some period of inactivity – I get an error like this when not having changed the file at all:

---------------------------
Error
---------------------------
Cannot create file "C:\Program Files (x86)\Embarcadero\Studio\18.0\Source\DUnit\src\__recovery\GUITestRunner.pas". Het systeem kan het opgegeven pad niet vinden.
---------------------------
OK Details >> 
---------------------------

This has been present since ever since Delphi 10 Seattle introduced the “recovery” feature on unchanged files in a read-only directory tree like for instance $(BDS).

It assumes the __recovery subdirectory has been created (which it cannot, but never raised an error about), then barfs when it cannot find the directory.

This is a classic example of “nice idea, bad execution, not caught by thinking through all the test cases”.

I think one of the roles played, is that cursor movements are part of the undo/redo stack. My suspicion is that this raises a “changed” flag, where in fact the file is unmodified.

Het systeem kan het opgegeven pad niet vinden. is the Dutch version of ERROR_PATH_NOT_FOUND error code 0x03 English The system cannot find the path specified.

Related:

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, Software Development | 2 Comments »

A refefernce to 6502 by “Remember that in a stack trace, the addresses are return addresses, not call addresses – The Old New Thing”

Posted by jpluimers on 2018/09/11

On x86/x64/ARM/…:

It’s where the function is going to return to, not where it came from.

And:

Bonus chatter: This reminds me of a quirk of the 6502 processor: When it pushed the return address onto the stack, it actually pushed the return address minus one. This is an artifact of the way the 6502 is implemented, but it results in the nice feature that the stack trace gives you the line number of the call instruction.

Of course, this is all hypothetical, because 6502 debuggers didn’t have fancy features like stack traces or line numbers.

Source: [WayBackRemember that in a stack trace, the addresses are return addresses, not call addresses – The Old New Thing

Which resulted in these comments at [WayBack] CC +mos6502 – Jeroen Wiert Pluimers – Google+:

  • mos6502: And don’t forget the crucial difference in PC on 6502 between RTS and RTI!
  • Jeroen Wiert Pluimers: +mos6502 I totally forgot about that one. Thanks for reminding me
    <<Note that unlike RTS, the return address on the stack is the actual address rather than the address-1.>>

References:

[WayBack6502.org: Tutorials and Aids – RTI

RTI retrieves the Processor Status Word (flags) and the Program Counter from the stack in that order (interrupts push the PC first and then the PSW).

Note that unlike RTS, the return address on the stack is the actual address rather than the address-1.

[WayBack6502.org: Tutorials and Aids – RTS

RTS pulls the top two bytes off the stack (low byte first) and transfers program control to that address+1. It is used, as expected, to exit a subroutine invoked via JSR which pushed the address-1.

RTS is frequently used to implement a jump table where addresses-1 are pushed onto the stack and accessed via RTS eg. to access the second of four routines.

–jeroen

Posted in 6502, 6502 Assembly, Assembly Language, Development, History, Software Development, The Old New Thing, Windows Development, x64, x86 | Leave a Comment »

Spelling with element symbols from the Periodic table

Posted by jpluimers on 2018/09/11

The [WayBackPeriodic table – Wikipedia contains many symbols.

Combing them allows you to spell word. Not all words, but many of them can be spelled.

So I was glad finding the below article that started with the same fascination I had in chemistry class.

[WayBackSpelling with Elemental Symbols

It has a great explanation of the algorithm, references to computer science literature and a nice Python implementation.

via: [WayBack] One of the best programming articles I’ve read in a while – This is why I Code – Google+

–jeroen

Read the rest of this entry »

Posted in Algorithms, Development, Fun, LifeHacker, Power User, Python, science, Scripting, Software Development | Leave a Comment »

DFRobot 7″ HDMI Display with Touchscreen Sells for $69 – for use with Raspberry Pi or Adruino

Posted by jpluimers on 2018/09/10

There are plenty of HDMI displays, but if you want a smaller size it become more complicated although some 7″ HDMI displays are available. However, if you

Source: [Archive.isDFRobot 7″ HDMI Display with Touchscreen Sells for $69

Via: [Archive.is] 7″ HDMI touchscreen display with mounting holes for +Raspberry Pi board. – Jean-Luc Aufranc – Google+

–jeroen

Posted in Development, Hardware Development, Power User, Raspberry Pi | Leave a Comment »

Notifications – Google+

Posted by jpluimers on 2018/09/10

For mu own memory: Notifications – Google+ are at https://plus.google.com/notifications/all

–jeroen

 

Posted in G+: GooglePlus, LifeHacker, Power User, SocialMedia | Leave a Comment »

Nooit toestemming gegeven, toch in het EPD? Check het zelf! | Platform Bescherming Burgerrechten

Posted by jpluimers on 2018/09/10

[WayBackNooit toestemming gegeven, toch in het EPD? Check het zelf! | Platform Bescherming Burgerrechten:

Burgers ontdekken dat hun medische gegevens in het systeem staan en door verschillende partijen zijn geraadpleegd, zonder dat ze daar ooit toestemming voor gaven. De enige manier om zeker te weten dat je dossier niet via het systeem beschikbaar wordt gesteld, is door dit zelf na te vragen.

–jeroen

Posted in LifeHacker, Power User, Privacy | Leave a Comment »

MUSTOOL MT8206 Multimeter & Oscilloscope Goes for $42 (Promo)

Posted by jpluimers on 2018/09/09

The coupon for the Promo worked yesterday, so you might want to try it if you like a scope in a multimeter form factor: [WayBack] MUSTOOL MT8206 Multimeter & Oscilloscope Goes for $42 (Promo).

MUSTOOL MT8206 looks like a standard digital multimeter, but the device is actually a 2-in-1 device that also serves as a oscilloscope. Banggood have the…

Via [WayBack] New 2-in-1 digital multimeter + oscilloscope selling for ~$42 shipped for a limited time – Jean-Luc Aufranc – Google+

–jeroen

Posted in Development, Hardware Development, Power User | Leave a Comment »

Happy testers day.

Posted by jpluimers on 2018/09/09

Fitting for a day like this.

[WayBackTesting: Hammering Nails via [WayBack] Testing: Hammering Nails – This is why I Code – Google+

Posted in Fun, Testing | Leave a Comment »

https://altd.embarcadero.com/ TLS certificate does not match domain name

Posted by jpluimers on 2018/09/07

One of the domains not yet monitored at embarcaderomonitoring.wiert.me, was the altd download server for ISOs and installers on http and https level. Ultimately you want https, as most of these are about installers, so you do not want any man-in-the-middle to fiddle with them.

TLS on altd fails

Upitmerobot is not yet smart enough to check validity of TLS certificates on https connections.

Chrome, Firefox, Safari, Internet Explorer, wget, curl and ssllabs however are.

altd hides as much from itself as possible

Uptimerobot did not like monitoring the plain http://altd.embarcadero.com/ and https://altd.embarcadero.com/ URLs, because the altd is not browsable, so it tries to hide most of its structure from access. This means they both return an odd response:

Those responses are actually 404 errors (note the - minus sign after curl --trace-ascii: it sends the trace to stdout):

$ wget http://altd.embarcadero.com/
--2018-09-05 10:44:23-- http://altd.embarcadero.com/
Resolving altd.embarcadero.com (altd.embarcadero.com)... 88.221.144.40, 88.221.144.10
Connecting to altd.embarcadero.com (altd.embarcadero.com)|88.221.144.40|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-09-05 10:44:23 ERROR 404: Not Found.

$ curl --verbose http://altd.embarcadero.com/
*   Trying 88.221.144.40...
* TCP_NODELAY set
* Connected to altd.embarcadero.com (88.221.144.40) port 80 (#0)
> GET / HTTP/1.1
> Host: altd.embarcadero.com
> User-Agent: curl/7.54.0
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Server: Apache
< Content-Type: text/html; charset=iso-8859-1
< Content-Length: 16
< Date: Wed, 05 Sep 2018 08:45:57 GMT
< Connection: keep-alive
< 
* Connection #0 to host altd.embarcadero.com left intact
File not found."

$ curl --trace-ascii - http://altd.embarcadero.com/
== Info:   Trying 88.221.144.40...
== Info: TCP_NODELAY set
== Info: Connected to altd.embarcadero.com (88.221.144.40) port 80 (#0)
=> Send header, 84 bytes (0x54)
0000: GET / HTTP/1.1
0010: Host: altd.embarcadero.com
002c: User-Agent: curl/7.54.0
0045: Accept: */*
0052: 
<= Recv header, 24 bytes (0x18)
0000: HTTP/1.1 404 Not Found
<= Recv header, 16 bytes (0x10)
0000: Server: Apache
<= Recv header, 45 bytes (0x2d)
0000: Content-Type: text/html; charset=iso-8859-1
<= Recv header, 20 bytes (0x14)
0000: Content-Length: 16
<= Recv header, 37 bytes (0x25)
0000: Date: Wed, 05 Sep 2018 08:47:19 GMT
<= Recv header, 24 bytes (0x18)
0000: Connection: keep-alive
<= Recv header, 2 bytes (0x2)
0000: 
<= Recv data, 16 bytes (0x10)
0000: File not found."
File not found."== Info: Connection #0 to host altd.embarcadero.com left intact

This is also the reason that WayBack does not want to archive that link, but it can be archived at [Archive.ishttps://altd.embarcadero.com/.

Luckily, a Google search for site:altd.embarcadero.com revealed there is a non-installer file short enough (~72 kibibytes) for Uptime robot to check, so it now verifies it can access these:

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, cURL, Encryption, HTTPS/TLS security, Monitoring, Power User, Security, Uptimerobot, wget | Leave a Comment »