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

Archive for the ‘Web Development’ Category

Insomnia REST Client

Posted by jpluimers on 2020/05/12

[WayBack] Insomnia REST Client  A powerful REST API Client with cookie management, environment variables, code generation, and authentication for Mac, Window, and Linux.

Source code at [WayBack] GitHub – getinsomnia/insomnia: The most intuitive cross-platform REST API Client 😴.

Via: [WayBack] Paw is nice – The Isoblog.

–jeroen

 

 

Posted in Communications Development, Development, HTTP, Internet protocol suite, JavaScript/ECMAScript, JSON, REST, Scripting, Software Development, TCP, Web Development | Leave a Comment »

Web accessibility is hard, so please let your sites not become worse over time

Posted by jpluimers on 2020/05/11

Despite clear guidelines (European level since 2016, W3C level since 2018), web accessibility is still hard, both for web site developers and their users.

Two years ago, bumped into a Dutch government web site that had become worse over time: they disabled keyboard paste for numeric fields, only would paste 1 digit at a time, and managed to have the delete button delete the current digit (like what the backspace does and should do) instead of the next.

Please do not do that!

Here are the guidelines: [WayBack] Web Content Accessibility Guidelines (WCAG) 2.1

This is the (Dutch) story:

 [WayBack] Thread by @jpluimers: “Beste @Waternet, waarom kan ik niet meer het hele opnamenummer in 1 keer plakken? Cijfertje voor cijfertje uit de gescippen plakken is nogal veel werk. Vroeger ging dit wel goed. plakken werkt niet met het toetsenbord: alleen m […]”

[WayBack] Jeroen Pluimers on Twitter: “Beste @Waternet, waarom kan ik niet meer het hele opnamenummer in 1 keer plakken? Cijfertje voor cijfertje uit de gescande brief knippen plakken is nogal veel werk. Vroeger ging dit wel goed.… “

[WayBack] Jeroen Pluimers on Twitter: “plakken werkt niet met het toetsenbord: alleen maar met de muis, dus onhandig voor mensen met een beperking. Als je in het veld staat werken alleen de numerieke toetsen en pijltjes van je toetsenbord, en de delete knop haalt het verkeerde karakter weg. Wie verzint die ongein?”

[WayBack] Jeroen Pluimers Twitterissä: “Bij postcode werkt plakken weer wel (en de rest van het toetsenbord ook helemaal), maar bij meterstand weer niet. Hoe maak je je site onhandig voor mensen met een beperking les 1: het is helemaal gelukt. Jammer! Lees eens … en … “

[WayBackJeroen Pluimers Twitterissä: “Bij email adres werkt plakken weer wel (gelukkig, het zijn maar 40 karakters), maar er mist een cruciale stap: meternummer. Die controle is voor adressen met meerdere meters ontzettend belangrijk. Vroeger werd dat wel gecontroleerd. Het invoerproces is dus een achteruitgang.”

[WayBackJeroen Pluimers on Twitter: “Laatste probleem is een waarschuwing *achteraf* dat jullie geen email bevestiging kunnen sturen. Super onhandig, omdat je op dat moment de stand ook niet meer kunt afdrukken. Er is veel werk voor jullie aan de winkel. Hou me gaarne op de hoogte van de vorderingen. CC @matijn”

[WayBackJeroen Pluimers on Twitter: “Bij dit soort problemen denk ik altijd aan @matijn en anderen waar toegankelijkheid van onschatbaar belang is. Zo zonde dat organisaties het voor elkaar krijgen om dit te verslechteren in plaats van de verbeteren, ondanks de Europese richtlijnen uit 2016 “

–jeroen

Read the rest of this entry »

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

The last thing you need to do when you cause link rot is to list the page as “online banking is down”

Posted by jpluimers on 2020/03/10

Nice example on how not to copy with link rot: as a bank is to indicate “internet banking is unavailable” scares your customers away.

[WayBack] Jeroen Pluimers on Twitter: “dit heet overigens link rot, en gebruiksvriendelijke sites proberen dat te voorkomen; is zeker niet gecompliceerd en eigenlijk ook niet complex: het is een kleine moeite om dat in je ontwerp en onderhoud-proces mee te nemen. 1/2 …

[WayBackJeroen Pluimers on Twitter: “de huidige down-melding zet sowieso je klanten volledig op het verkeerde been, dus daar moet zeker iets aan gebeuren. 2/2 “I.v.m. een storing kunt u geen gebruik maken van Internet Bankieren. Internet Banking is unavailable”…”

–jeroen

ABNAMRO

Posted in Conference Topics, Conferences, Development, Event, LifeHacker, Power User, Software Development, Usability, User Experience (ux), Web Development | Leave a Comment »

Do I really need to write a WordPress API wrapper to check the status of “missed schedule” posts?

Posted by jpluimers on 2020/01/29

After years with “missed schedule” posts on (paid!) wordpress.com based sites, WordPress has documented that the scheduler officially does not support more than 100 posts:

[WayBackWarning: Please do not schedule more than 100 posts. Any posts scheduled beyond that amount will not be published.

In practice this is not fully true, so lets explain that a little.

Background

Imagine the list of scheduled posts as a list of posts to be posted anywhere from the near future (lets call that tail) until far in the future (for now head).

As long as you schedule posts in head to tail order, then there is no problem. You can schedule 100s of posts (usually I’ve between 700 and 1200 posts scheduled that way).

The problems appear when:

Read the rest of this entry »

Posted in *nix, Development, Missed Schedule, Monitoring, Power User, SocialMedia, Software Development, Uptimerobot, Web Development, WordPress, WordPress | Leave a Comment »

CSS Animation How To Tutorial – Dev Tuts

Posted by jpluimers on 2020/01/22

So as the author of CSS3 Animate It I have a good background in CSS animation. Before CSS3 was released you would have to resort to using JS for animation…

Even after CSS3 got introduced, I’m still not sure I’d use animation: [WayBack] CSS Animation How To Tutorial – Dev Tuts

Via:

–jeroen

Posted in CSS, Development, Software Development, Web Development | Leave a Comment »

I’m harvesting credit card numbers and passwords from your site. Here’s how.

Posted by jpluimers on 2020/01/14

Below is one of the reasons I try to stay on the back-end side of things. Those are complex enough to focus on for me.

[WayBackI’m harvesting credit card numbers and passwords from your site. Here’s how.

It basically comes down to:

  • anything in the same page has access to anything happening on that page.
  • be careful when using npm and ad networks.
  • perform security operations in a light-weight iframe that is scrutinized.

The source of any npm package might be different from the source you find in a the underlying repository. This recursively holds for all the other npmit pulls in.

–jeroen

via: [WayBackJeroen Wiert Pluimers – Google+

Posted in Development, Power User, Security, Software Development, Web Development | Leave a Comment »

When LinkedIn throws HTTP result code 999 at you it means it does not like you

Posted by jpluimers on 2019/10/23

LinkedIn is very private about itself which means you have a hard time linking to their content.

Too bad, as they make themselves an island.

I sorted this out a while ago to see why the Press-This and other bookmarking functionalities in web-browsers would fail for LinkedIn:

[WayBackWordPress/press-this: Linked-In URLs do not parse correctly

@kraftbj I found the below ones on StackOverflow and a general sentiment from https://www.google.com/search?q=linkedin%20999%20response is “Using the invalid HTTP response 999, LinkedIn blocks vary over time depending on both UserAgent and IP address blocks including many hosting and cloud service providers”.

–jeroen

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

Research list: haproxy and Connection: close

Posted by jpluimers on 2019/09/24

At a site, haproxy was configured like this for a particular back-end:

backend http_FUNCTIONALITY_cluster
    log global
    mode http
# default httpchk checks / which for our functionality intentionally returns 500 causing haproxy to think it's down
#   option httpchk
# FUNCTIONALITY has a /FUNCTIONALITY which returns a 200 OK
    option httpchk get /FUNCTIONALITY
    http-check expect ! rstatus ^5
    option http-keep-alive
    option forwardfor
    server w7connexxion 192.168.178.42:8181 cookie FUNCTIONALITYA check

The /FUNCTIONALITY would return a multi-kilobyte result.

The HAproxy would send the request with this body:

Connection: close

In the midst of the server returning an http request of more than one TCP frame:

Connection: close
Content-Type: text/html; charset=utf-8
Content-Length: 4068
Date: Mon, 20 Nov 2017 08:17:02 GMT

<html><head><META ...

, the HAproxy would kill the connection, resulting in a 10054 error on Windows, which [WayBack] Windows Sockets Error Codes indicates it is this:

WSAECONNRESET
10054
Connection reset by peer.

An existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, the host or remote network interface is disabled, or the remote host uses a hard close (see setsockopt for more information on the SO_LINGER option on the remote socket). This error may also result if a connection was broken due to keep-alive activity detecting a failure while one or more operations are in progress. Operations that were in progress fail with WSAENETRESET. Subsequent operations fail with WSAECONNRESET.

So both sides are right in that they will close the connection (despite the HTTP keep alive): [WayBack] What does “Connection: close” means when used in the response message?

Howver, I think HAproxy is way too soon closing the connection, especially as it does not use the configured keep alive ([WayBack] How to make HA Proxy keepalive and [WayBack] Hypertext Transfer Protocol — HTTP/1.1 RFC 2616 = 14 Header Field Definitions – 14.10 Connection).

The 10054 would end up in the Windows Event Log for Applications like this:

The description for Event ID 0 from source MyFunctionality.exe cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event: 

Socket Error # 10054
Connection reset by peer.

In the mean time, we shortened the result, so it does not fail any more.

Later I hope to find some time to do more research on this, for which I hope [WayBack] Health checking – HAProxy Technologies is a base.

–jeroen

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

CSS flex-box layout – Wikipedia

Posted by jpluimers on 2019/09/02

Being a back-end and library person by heart, I am always late in the web-UI game, so this is on my list of things to try: CSS flex-box layout – Wikipedia.

I saw it being used by [WayBack] markdownlint demo: Demo for markdownlint, a Node.js style checker and lint tool for Markdown/CommonMark files.

Some links that should me help further:

–jeroen

Read the rest of this entry »

Posted in CSS, Development, HTML, HTML5, Software Development, Web Development | Leave a Comment »

Links for another crazy idea: superimpose lane availability indicators on Google Maps

Posted by jpluimers on 2019/08/29

ANWB can superimpose the lane availability indicators on their internap maps software.

Some links so I won’t forget:

–jeroen

Read the rest of this entry »

Posted in Development, Google, GoogleMaps, Power User, Software Development, Web Development | Leave a Comment »