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

How to create android and ios keyboard shortcuts | PCWorld

Posted by jpluimers on 2023/01/06

[Wayback/Archive] How to create android and ios keyboard shortcuts | PCWorld android bits, numbering mine:

(Note: These steps work only with the stock Android keyboard. Tap Settings, Language & input, and make sure Google Keyboard is selected under the Keyboard & Input Methods heading.)
  1. Tap SettingsLanguage & input, then Personal dictionary. Next, tap the language option of your choice.
  2. Tap the + button in the top-right corner of the screen, then type the word or text string that’ll trigger the shortcut. You’re best off picking something other than a common word; for example, “addr” rather than “address.”
  3. In the next line, type in the actual phrase you want to appear when you type the shortcut, such as “1234 Main Street, Anytown USA.” Unfortunately, the phrase is limited to about 50 characters.
  4. Tap the Back button, and you should see your shortcut appear as an entry on the Personal dictionary screen. Tap + to add another shortcut.

I tried it with SwiftKey, but that does not allow dictionaries.

Thanks [Archive] Murdock (@Generic42) | Twitter for pointing me to this, and showing me this PokeMon Go shortcut: !4*&!3*&!shiny&!legendary&!mythical&!traded&!costume.

–jeroen

Posted in Android Devices, LifeHacker, Power User | Leave a Comment »

OV-chipkaart – OV-reishistorie anonieme kaart

Posted by jpluimers on 2023/01/05

Interesting: this did not work about 5 years ago, but does since at least 2019: [WayBack] OV-chipkaart – OV-reishistorie anonieme kaart.

It allows you to see which trips you made on your anonymous Dutch public-traffic card (OV-chipkaart).

You can also see the stations, but then you need to have an account which makes you give up at least part of anonymity.

Via:

–jeroen

Read the rest of this entry »

Posted in LifeHacker, Power User | Leave a Comment »

2021 Hackaday Remoticon – links to conference, playbacks and some slide decks

Posted by jpluimers on 2023/01/04

Another remote conference I missed while recovering from rectum cancer treatment, but luckily the playbacks are on YouTube and some slide decks are at Google Drive.

Via: [Archive] Uri Shaked on Twitter: “My talk on @hackaday Remoticon starting now Reverse Engineering the ESP32 WiFi Live stream: … “ / [Archive] Jeroen Wiert Pluimers on Twitter: “Dang. I copied that one out of the description. All the timestamps there are corrupted as YouTube measures them in minutes:seconds but @hackaday posted them as hours:minutes (which are off by minutes anyway) starting at 01:56:30. This is the correct one: … “

Links:

  • Web site at [Wayback/Archive] 2021 Hackaday Remoticon
  • Videos at [Wayback/Archive] HACKADAY – YouTube:
    • Day 1: [Wayback/Archive] 2021 Hackaday Remoticon: Friday – YouTube

      Approximate hour:minute time stamps as published for Friday

      They are usually at least minutes off; substract 11:00 to get the rough hour:minute index into the video, then scroll from there.

      • 11:00 Opening Remarks
      • 11:10 Keynote – Elecia White: Map Files and Other Buried Treasures
      • 12:10 Maurits Fennis: Hack for the Planet: Reverse Engineering Embedded Systems to Reduce E-Waste
      • 13:00 Matt Venn: Open Source ASICs – A Year in Perspective
      • 13:35 Hal Rodriguez and Sahrye Cohen: Conductive Melody: a Tech Couture Instrument
      • 14:10 Jay Bowles: A Dip Into The Plasmaverse
      • 15:00 Voja Antonic: Become a Hardware Expert in 40 Minutes
      • 15:50 Sergiy Nesterenko: Don’t Flip My Bits: Electronics in Spaaaace
      • 16:25 Jeroen Domburg: Rickrolling Buddha: A Deep Dive in Reverse Engineering and Thoroughly Pwning an Unknown Chip
      • 17:15 Lewin Day: Hacker Trivia (Stream will automatically redirect to this one: [Wayback/Archive] youtu.be/uRpUdQi31tg )
      • 18:00 Bring-a-Hack on Gather Town platform (details on joining sent to ticket holders and on the Discord server)
    • Day 2: [Wayback/Archive] 2021 Hackaday Remoticon: Saturday – YouTube

      Approximate hour:minute time stamps as published for Saturday

      They are usually at least minutes off; substract 10:00 to get the rough hour:minute index into the video, then scroll from there.

      • 10:00 Opening Remarks
      • 10:10 Keynote – Keith Thorne: LIGO: The Most Sensitive Instrument Humans Ever Created Will Unfold the Mysteries of Gravitational Waves
      • 11:10 Arsenijs Picugins: Laptop-Be-Done
      • 12:00 Uri Shaked: Reverse Engineering the ESP32 WiFi
      • 12:35 Hash Salehi: Smart Meter Hacking
      • 13:10 Jay Doscher: Getting Started With and Outgrowing Tinkercad
      • 14:00 Joey Castillo: Teaching An Old LCD New Tricks
      • 14:35 Colin O’Flynn: Upskilling your Hardware Security Work
      • 15:10 Rob Weinstein: Patently Obvious – Reverse Engineering a 45 Year Old Patent into a Fully-Functional HP-35 Replica
      • 16:00 Debra Ansell: Form is Function: Modular PCB Building Blocks
      • 16:35 Vaibhav Chhabra: M19 Initiative – A Case of Open Innovation & Distributed Manufacturing at Scale
      • 17:25 Keynote – Jeremy Fielding: Building Hardware that Moves: the Fundamentals that Everyone Should Know
      • 18:25 Hackaday Prize Ceremony
      • 19:25 Closing Remarks
      • 19:35 DJ Jackalope: Live Set (listen/watch on Twitch, chat with everyone on discord)

–jeroen

Posted in Conferences, Development, ESP32, Event, Hardware Development, Remoticon, Software Development | Leave a Comment »

Some QR code generators on github.io

Posted by jpluimers on 2023/01/03

QR codes often are the quickest way to copy/paste some data to a smartphone.

So, via [Wayback/Archive] generate qr code site:github.io – Google Search, I found these two (the first is based on the JavaScript source in second, but has QR codes with larger blocks and is therefore easier to scan):

  1. [Wayback/Archive] QR Code Generator
  2. [Wayback/Archive] QR Code Generator

–jeroen

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

Salvaging maxtor/seagate SATA drives from their USB external counterparts

Posted by jpluimers on 2023/01/02

Interesting idea from [WayBack] Western Digital toont prototype van compacte externe 8TB-ssd – Computer – Nieuws – Tweakers:

Voor harde schijven moet je altijd bij de externe drives kijken, die zijn goedkoper (even open schroeven).

– 5 TB 2.5″ HDD: 0.018 EUR/GB
– 6 TB 3.5″ HDD: 0.017 EUR/GB
– 2 TB M.2 SSD 0.103 EUR/GB
– 1 TB 2.5″ SSD 0.096 EUR/GB

Grofweg zit er een factor 5x tussen. Probleem met SSD’s is vooral de schaling, de sweet spot qua prijs zit daar bij 1-2 TB, wat je niet veel helpt als je bijvoorbeeld 10 TB nodig hebt.

[Reactie gewijzigd door Dreamvoid op 7 januari 2020 19:22]

Dat is voor het eerst dat ik zie dat externe schijven goedkoper zijn… Hoe kan dat in hemelsnaam?

Losse harde schijven (vooral 2.5″, die dingen gaan in rack servers) gaan allemaal naar de enterprise markt, waar de klanten merkentrouw zijn en niet op een cent kijken. De concurrentie voor consumenten (externe) drives is daarentegen moordend.

Het is ook een soort ‘overschot markt’ voor de fabrikanten, loopt de HDD productie goed en is de enterprise markt niet heel hot, dan duwen ze wat extra goedkope externe drives de consumentenmarkt in en wordt het prijsverschil groter. Neemt de enterprise sector wel veel af of zijn er productieproblemen, dan verdwijnt het prijsverschil weer grotendeels.

Let wel: Western Digital soldeert de USB interface vast bij hun externe 2.5″ drives, Seagate/Maxtor doet dat (nog) niet.

–jeroen

Posted in Hardware, HDD, Power User, SSD | Leave a Comment »

VMware ESXI: creating an eagerly zeroed thick disk

Posted by jpluimers on 2022/12/30

For my memory to create a 40 GiB (gibibytes, i.e. sizes in powers of 2 bytes):

# vmkfstools --createvirtualdisk 40G --diskformat eagerzeroedthick ./X9SRI-3F-W10P-EN-MEDIA-DATA.vmdk
Creating disk './X9SRI-3F-W10P-EN-MEDIA-DATA.vmdk' and zeroing it out...
Create: 100% done.

People tend to abbreviate it into what for me reads gibberish:

# vmkfstools -c 40G -d eagerzeroedthick ./X9SRI-3F-W10P-EN-MEDIA-DATA.vmdk
Creating disk './X9SRI-3F-W10P-EN-MEDIA-DATA.vmdk' and zeroing it out...
Create: 100% done.

It will create a descriptor file and flat data file, of which the last is exactly 40 gibibytes size (as 42949672960 / (1024 * 1024 * 1024) == 40):

# ls -l X9SRI-3F-W10P-EN-MEDIA-DATA*.vmdk
-rw-------    1 root     root     42949672960 Nov 16 16:54 X9SRI-3F-W10P-EN-MEDIA-DATA-flat.vmdk
-rw-------    1 root     root           471 Nov 16 16:54 X9SRI-3F-W10P-EN-MEDIA-DATA.vmdk

–jeroen

Posted in ESXi6, ESXi6.5, ESXi6.7, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

“retrieving data with adventure sync” – Google Search

Posted by jpluimers on 2022/12/29

[Wayback/Archive] “retrieving data with adventure sync” – Google Search

Reboot only solved one widget, not the other. Turning off/on Adventure Sync didn’t fix either.

–jeroen

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

Terugkijken | NPO Radio 2

Posted by jpluimers on 2022/12/29

Reminder to self: even opnieuw in het archief stoppen begin januari.

[Wayback/Archive] Terugkijken | NPO Radio 2

–jeroen

Posted in Uncategorized | Leave a Comment »

Chris Bensen on Raspberry Pi and clusters

Posted by jpluimers on 2022/12/29

Oracle’s Pi Supercomputer

Oracle’s Pi Supercomputer ; click on the image for a larger version.

In 2019 ans 2020, [Archive] Chris Bensen and his [Archive] Oracle Groundbreakers team built a really large Raspberry Pi cluster of more than 1k pies, all network booting to become a cluster. It was for instance covered in the [Wayback/Archive] Building the World’s Largest Raspberry Pi Cluster – DZone IoT.

On his [Wayback/Archive] personal blog, he wrote a few posts like [Wayback/Archive] Chris Bensen: Raspberry Pi Overlay Root Filesystem and [Wayback/Archive] Chris Bensen: Get MAC Address for a Pi Cluster.

It made me also bump into [Wayback/Archive] Building the world’s largest Raspberry Pi cluster early 2020,

Since that wast right after the start of my rectum cancer treatment which lasted longer and, because of I got metastases a few months after radiation treatment, required more treatments than anticipated, I put a note in my bog drafts and kind of lost track.

So I was glad that in fall 2021, I bumped into the draft and found an almost year old post [Wayback/Archive] Chris Bensen: All Raspberry Pi Super Computer Posts in One Spot which is an index in all the blog posts and videos that Chris and his team produced on this project.

I then also learned the cluster had been shown on [Wayback/Archive] Oracle OpenWorld 2019, Breakthrough Starts Here and was covered in the [Archive] Top 10 Raspberry Pi Projects of 2019 | Tom’s Hardware (where I got the [Wayback/Archive] Oracle World 2019 having the 1k+ node Raspberry Pi cluster on display picture shown on the right from).

Read the rest of this entry »

Posted in *nix, Development, Hardware Development, Linux, OracleLinux, Power User, Raspberry Pi | Leave a Comment »

Getting your public IP address from the command-line when http and https are blocked: use DNS

Posted by jpluimers on 2022/12/28

Years ago, I wrote Getting your public IP address from the command-line. All methods were http based, so were very easy to execute using cURL.

But then in autumn 2021, Chris Bensen wrote this cool little blog-post [Wayback/Archive] Chris Bensen: How do I find my router’s public IP Address from the command line?:

dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com

At first sight, I thought it was uncool, as the command was quite long and there was no explanation of the dig command trick.

But then, knowing that dig is a DNS client, it occurred to me: this perfectly works when http and https are disabled by your firewall, but the DNS protocol works and gives the correct result:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
"80.100.143.119"

This added the below commands and aliases to my tool chest for *nix based environments like Linux and MacOS (not sure yet about Windows yet :), but that still doesn’t explain why it worked. So I did some digging…

IPv4

  • command:
    dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
  • command removing outer double quotes:
    dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
  • alias:
    alias "whatismyipv4_dns=dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs"

IPv6

  • command:
    dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com
  • command removing outer double quotes:
    dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
  • alias:
    alias "whatismyipv6_dns=dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs"

How it works

Let’s stick to dig and IPv4 as that not having IPv6 (regrettably still) is the most common situation today:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
"80.100.143.119"

What it does is request the DNS TXT record of o-o.myaddr.l.google.com from the Google DNS server ns1.google.com and returns the WAN IPv4 address used in the DNS request, which is for instance explained in [Wayback/Archive] What is the mechanics behind “dig TXT o-o.myaddr.l.google.com @ns1.google.com” : linuxadmin.

Since these are TXT records, dig will automatically double quote them, which xargs can remove (see below how and why):

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
80.100.143.119

The DNS query will fail when requesting the Google Public DNS servers 8.8.8.8 or 8.8.4.4:

# dig -4 TXT +short o-o.myaddr.l.google.com @8.8.8.8
"2a00:1450:4013:c1a::103"
"edns0-client-subnet 80.101.239.0/24"

Or, with quotes removed (the -L 1 ensures that xargs performs the quote-pair removal action on each line):

# dig -4 TXT +short o-o.myaddr.l.google.com @8.8.8.8 | xargs -L 1
2a00:1450:4013:c1a::103
edns0-client-subnet 80.101.239.0/24

This request is both slower than requesting the ns1.google.com server and wrong.

The reason is that only ns1.google.com understands the special o-o.myaddr.l.google.com hostname which instructs it to return the IP address of the requesting dig DNS client.

That 8.8.8.8 returns a different IP address and an additional edns0-client-subnet with less accurate information is explained in an answer to [Wayback/Archive] linux – Getting the WAN IP: difference between HTTP and DNS – Stack Overflow by [Wayback/Archive] argaz referring to this cool post: [Wayback/Archive] Which CDNs support edns-client-subnet? – CDN Planet.

Not just ns1.google.com: any DNS server serving the google.com domain

Since o-o.myaddr.l.google.com is part of the google.com domain, the above works for any DNS server serving the google.com domain (more on that domain: [Wayback/Archive] General DNS overview  |  Google Cloud).

Getting the list of DNS servers is similar to getting the list of MX servers which I explained in Getting the IP addresses of gmail MX servers, replacing MX record type (main exchange) with the NS record type (name server) and the gmail.com domain with the google.com domain:

# dig @8.8.8.8 +short NS google.com
ns3.google.com.
ns1.google.com.
ns2.google.com.
ns4.google.com.

The ns1.google.com DNS server is a special one of the NS servers: it is the start of authority server, which you can query using the SOA record type that also gives slightly more details for this server:

# dig @8.8.8.8 +short SOA google.com
ns1.google.com. dns-admin.google.com. 410477869 900 900 1800 60

The difference between using NS and SOA records with dig are explained in the [Wayback] dns – How do I find the authoritative name-server for a domain name? – Stack Overflow answer by [Wayback/Archive] bortzmeyer who also explains how to help figuring out SOA and NS discrepancies (note to self: check out the check_soa tool originally by Michael Fuhr (I could not find recent content of him, so he might have passed away) of which source code is now at [Wayback/Archive] Net-DNS/check_soa at master · NLnetLabs/Net-DNS).

So this works splendid as well using ns4.google.com on my test system:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns4.google.com | xargs
80.100.143.119

The xargs removes outer quotes removal trick

[Wayback/Archive] string – Shell script – remove first and last quote (“) from a variable – Stack Overflow (thanks quite anonymous [Wayback/Archive] user1587520):

> echo '"quoted"' | xargs
quoted

xargs uses echo as the default command if no command is provided and strips quotes from the input.

More on https versus DNS requests

Some notes are in [Wayback/Archive] How to get public IP address from Linux shell, but note the telnet trick now fails as myip.gelma.net is gone (latest live version was archived in the Wayback Machine in august 2019).

Via

–jeroen

Posted in *nix, *nix-tools, Apple, bash, bash, Batch-Files, Communications Development, Development, DNS, Internet protocol suite, Linux, Mac, Mac OS X / OS X / MacOS, Power User, Scripting, Software Development, TCP | Leave a Comment »