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 July, 2022

Some notes on Input Director and alternatives: what about multiple platforms and mixing local plus remote access?

Posted by jpluimers on 2022/07/29

More than 10 years ago, I wrote about 7 screens; 3 computers; 1 keyboard/mouse to direct them all: Input Director and started with

At home, I have 7 screens on 3 computers on the same desk. That sounds like a clutter, but all these keyboards and mice hooked up to them add even more clutter. Until I found out about Input Direct…

In the mean time, I’ve mainly used a Mac with MacOS as a front-end to virtually logon to remote machines using both the internal display and one or two external monitors.

Especially when doing video (think Covid-19 and especially on-line meetings!) in addition to software development work, this is far from ideal.

So here are some things on my list of potential enhancements to this situation:

–jeroen

 

Posted in Apple, Hardware, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Mac OS X / OS X / MacOS, Power User, Uncategorized, Windows | Leave a Comment »

WhatsApp Desktop for Mac or PC cannot only chat but also voice and video call

Posted by jpluimers on 2022/07/28

Easiest way to video call from your PC via WhatsApp is to use [Wayback/Archive] WhatsApp: Download – Mac or Windows PC.

This should be an alternative for Hangouts Video Calling as Hangouts is yet another product killed by Google as mentioned in many places for instance:

Read the rest of this entry »

Posted in About, Conference Topics, Conferences, Event, Google, GoogleHangouts, LifeHacker, Personal, Power User, SocialMedia, WhatsApp | Leave a Comment »

Finger print as factor in authentication?

Posted by jpluimers on 2022/07/27

A finger print as authentication factor: be sure it is not the only factor, and devise a way to delete it just in case some party wants to force you to use it as an authentication factor.

Some links for my archive:

–jeroen

Posted in *nix, Apple, Mac OS X / OS X / MacOS, Power User | Leave a Comment »

eidam/cf-workers-status-page: Monitor your websites, showcase status including daily history, and get Slack/Telegram/Discord notification whenever your website status changes. Using Cloudflare Workers, CRON Triggers, and KV storage.

Posted by jpluimers on 2022/07/26

Cool: [Wayback/Archive.is] eidam/cf-workers-status-page:

Monitor your websites, showcase status including daily history, and get Slack/Telegram/Discord notification whenever your website status changes. Using Cloudflare Workers, CRON Triggers, and KV storage

Will try this out in a while, hopefully before this actually reaches the front of the blog article queue (:

Via: [Wayback/Archive.is] Status Page – Scott Helme (via [Archive.is] Scott Helme on Twitter: “And yes, I’m also nervously watching my own status page 😅 …”).

Related blog post: One of the Let’s Encrypt’s Root Certificates expired today (and their corresponding intermediate yesterday); how is your infrastructure doing?

–jeroen

Posted in CSS, Development, JavaScript/ECMAScript, Scripting, Software Development, Web Development | Leave a Comment »

Some Pi-KVM v3 notes

Posted by jpluimers on 2022/07/25

Last year, I wrote about Low cost remote IP KVM and control, is it possible?, mentioned [Wayback/Archive.is] Pi-KVM – Open and cheap DIY IP-KVM on Raspberry Pi and pledged for the [Wayback – OpenSSH 8.0 release notes/Archive.is] Pi-KVM v3 kickstarter project.

From their updates a few notes and a few of my own on PoE, HDMI/VGA, video passthrough, and a short of shopping list.

First the entries from the PiKVM Kickstarter updates::

Read the rest of this entry »

Posted in Hardware, KVM keyboard/video/mouse, PiKVM / Pi-KVM, Power User | Leave a Comment »

Perilex en mechanische ventilatie / balansventilatie / warmteterugwininstallatie aansluiting

Posted by jpluimers on 2022/07/22

Onze WTW moet geregeld van het net af voor onderhoud aan de filters.

Dat is niet heel goed voor het Perilex stopcontact in de muur, dus ik zocht een andere manier om het apparaat af te schakelen.

Ik ben er nog niet helemaal achter (behalve de hele groep waar diverse andere delen van de keuken en het trappenhuis aan hangen), maar hieronder het aansluitdiagram zodat ik het in ieder geval terug kan vinden.

Hier iets meer over Perilex aansluitingen en onderhoud aan WTW / balansventilatie / mechanische ventilatie:

–jeroen

Read the rest of this entry »

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

Missing a KB article? Try the Microsoft KB Archive – BetaArchive Wiki

Posted by jpluimers on 2022/07/21

Over the last years, Microsoft has been retiring a lot of KB articles that in some situations can be of great value, not just when using legacy systems: sometimes they are the only source of accurate information on current systems as well.

I was glad to find that many of the retired articles made it to the [Wayback/Archive.is] Microsoft KB Archive – BetaArchive Wiki.

From that page:

Read the rest of this entry »

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

How to Configure Stack Overflow The Key Macropad? | Drop

Posted by jpluimers on 2022/07/20

In the past I joked about a Copy/Paste keyboard for Stack Overflow, and even Stack Overflow had an April 1st joke about it early 2021 (see below). Boy  was I surprised by now it actually has existed for more than half a year!

Thanks [Archive.is] Matthijs ter Woord for pointing my attention to this.

Drop actually has some nice keyboards. Now I wish they made an UltraNav one. Their selection is at [Wayback/Archive.is] Mechanical Keyboards | Recommended Products | Drop.

The process where The Key became reality: [Wayback/Archive.is] Can I actually buy a copy-paste keyboard like the Stack Overflow April Fool’s “The Key”? – Meta Stack Overflow

The 20210401 joke: [Wayback/Archive.is] Introducing The Key – Stack Overflow Blog.

Read the rest of this entry »

Posted in Hardware, Keyboards and Keyboard Shortcuts, KVM keyboard/video/mouse, Power User | Leave a Comment »

Hopefully also soon in the Twitter web user-interface: “Sometimes you want to see yourself out. Take control of your mentions and leave a conversation with Unmentioning, now rolling out to everyone on all devices.”

Posted by jpluimers on 2022/07/20

I have seen this work on some mobile devices for some accounts but not yet in the web-userinterface at http://www.twitter.com or mobile.twitter.com

[Wayback/Archive] Twitter Safety on Twitter: “Sometimes you want to see yourself out. Take control of your mentions and leave a conversation with Unmentioning, now rolling out to everyone on all devices.”

–jeroen

Posted in SocialMedia, Twitter | Leave a Comment »

Converting inline svg xml to png

Posted by jpluimers on 2022/07/19

A while ago, I had a web page showing the logo as inline svg xml code.

Edit 20231209: [Wayback/Archive] Render SVG to PNG: Edit fiddle – JSFiddle – Code Playground (explained in [Wayback/Archive] html – Convert embedded SVG to PNG in-place – Stack Overflow by [Wayback/Archive] User anatoly techtonik – Stack Overflow) works way better than the InfoHeap link:

  1. Replace the svg element in it (but keep the id="inputSvg" attribute!),
  2. Run the fiddle,
  3. Save the rendered PNG file by right-clicking the “PNG (Save link as..)” link then saving the file.

Original content

It took a while to find a place to convert that on-line: [Wayback/Archive.is] inline svg xml to png – online html sandbox – InfoHeap (via [Wayback/Archive.is] Convert svg xml text to png image using canvas – InfoHeap):

The solution is a bit of JavaScript (quoted below) that you can run-online: modify the svg bit in it, then run it, scroll down in the result and verify if the canvas fits (when not: adapt the canvas side, then re-run).

The svg xml code needs to be all on one line, so remove any line breaks in it before running.

I have tested it in Chrome, but it should work in non-Chromium browsers like Firefox as well.

The inner workings of the JavaScript conversion code is explained in [Wayback/Archive.is] html – Convert embedded SVG to PNG in-place – Stack Overflow with more demo code at [Archive.is] Rasterizing In-Document SVG (thanks [Wayback] Phrogz!).

Related: [Archive.is] Jeroen Wiert Pluimers on Twitter: “Nieuwe logo, oude logo. Vrijwel alle werknemers werden een halve dag naar huis gestuurd om ruimte te maken voor de genodigden voor de zodat die de introductie van naam en logo konden bijwonen. Heel goed om verbinding te verliezen met je echte doelgroep. … “

Provalu logo

MareGroep logo

--jeroen



<div id="diagram_image">
<svg id="inputSvg" xmlns="http://www.w3.org/2000/svg&quot; xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape&quot; xmlns:xlink="http://www.w3.org/1999/xlink&quot; viewBox="0 0 640 120">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc/>
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="46" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="259" y="46" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="451" y="46" />
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="40" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="128" y="66">discovery</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="256" y="40" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="320" y="66">execution</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="448" y="40" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="512" y="66">reporting</text>
<path d="M 192 60 L 248 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="255,60 248,56 248,64 255,60" stroke="rgb(0,0,0)" />
<path d="M 384 60 L 440 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="447,60 440,56 440,64 447,60" stroke="rgb(0,0,0)" />
</svg>
</div>
<img id="outputPngImage" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4
//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="/>
<span id="outputPngLinkSpan">
<a href="">PNG (Save link as..)</a>
</span>

view raw

page-body.html

hosted with ❤ by GitHub


class SVGtoPNGDataURL {
constructor() {
this.canvas = document.createElement('canvas'); // Not shown on page
this.canvas2DContext = this.canvas.getContext('2d');
this.loaderImage = new Image; // Not shown on page
}
// Generate PNG data URL from SVG and send it to callback function when ready
go(svgElement, dataUrlCallback) {
var svgAsXML = (new XMLSerializer).serializeToString( svgElement );
this.loaderImage.width = this.canvas.width = svgElement.clientWidth;
this.loaderImage.height = this.canvas.height = svgElement.clientHeight;
var self = this;
this.loaderImage.onload = function() {
self.canvas2DContext.drawImage( self.loaderImage, 0, 0, self.loaderImage.width, self.loaderImage.height );
dataUrlCallback(self.canvas.toDataURL());
};
this.loaderImage.src = 'data:image/svg+xml,' + encodeURIComponent( svgAsXML );
}
};
var converter = new SVGtoPNGDataURL();
var inputSvgElement = document.querySelector('#inputSvg'), // Inline SVG element
outputPngImage = document.querySelector('#outputPngImage'), // Where to draw the result
outputPngLink = document.querySelector('#outputPngLinkSpan a');
converter.go(inputSvgElement, dataUrlCallback=function(dataURL) {
outputPngImage.src = dataURL;
outputPngLink.href = dataURL;
});

Posted in Chrome, Development, Firefox, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »