Archive for the ‘Scripting’ Category
Posted by jpluimers on 2023/10/11
I had speedtest-cli running on MacOS and various Linux machines, but not yet on Windows (see for instance my post Ubuntu: Fixing the myserious “Failed to stop apt-daily.timer: Connection timed out”).
[Wayback/Archive] Install and Test Internet Speed with Speedtest CLI Command Line – NEXTOFWINDOWS.COM reminded me there is a Speedtest CLI for Windows download at at [Wayback/Archive] Speedtest CLI: Internet speed test for the command line, but I am a an automation/scripting/devops person, so luckily there are also [Wayback/Archive] Chocolatey Software | Speedtest by Ookla (don’t get [Wayback/Archive] Ookla.Speedtest download, as that is the GUI version).
Both the Chocolatey and winget packages are named the same, so that is quite confusing. This is how I have set them apart:
Read the rest of this entry »
Posted in *nix, *nix-tools, Batch-Files, Chocolatey, DevOps, GDPR/DS-GVO/AVG, Internet, ISP, KPN, Notepad++, Power User, Privacy, Scripting, SpeedTest, Windows, xs4all | 2 Comments »
Posted by jpluimers on 2023/10/10
For tomorrow’s post Ookla speedtest CLI for Windows has some undocumented arguments to accept license and GDPR I neede the full path to the speedtest.exe which I had installed using Chocolatey.
I know chocolatey uses a shim that redirects to the actual executable, so a simple where speedtest.exe would not cut it.
My guess would be that the generated shim allowed to either get the target pathname out, or have the target pathname encoded in it.
Luckily the first applies: a few of the shim command-line parameters are in [Wayback/Archive] Chocolatey Software Docs | Executable shimming (like symlinks but better):
You pass these arguments to an executable that is a shim (e.g. executables in the bin directory of your Chocolatey install, not choco.exe):
--shimgen-help – shows this help menu and exits without running the target
--shimgen-log – logging is shown on command line
--shimgen-waitforexit – explicitly tell the shim to wait for target to exit – useful when something is calling a gui and wanting to block – command line programs explicitly have waitforexit already set.
--shimgen-exit – explicitly tell the shim to exit immediately.
--shimgen-gui – explicitly behave as if the target is a GUI application. This is helpful in situations where the package did not have a proper .gui file.
--shimgen-usetargetworkingdirectory – set the working directory to the target path. Useful when programs need to be running from where they are located (usually indicates programs that have issues being run globally).
--shimgen-noop – Do not actually call the target. Useful to see what would happen if you ran the command.
But the below dumps show more more (using [Wayback/Archive] Strings – Windows Sysinternals | Microsoft Docs, [Wayback/Archive] clip | Microsoft Docs and post-processing in [Wayback/Archive] Notepad++).
Back to the second solution,
strings C:\ProgramData\chocolatey\bin\speedtest.exe | findstr speedtest.exe
showed
speedtest.exe
..\\lib\speedtest\tools\speedtest.exe
Cannot find file at '..\\lib\speedtest\tools\speedtest.exe' (
speedtest.exe
speedtest.exe
And towards the first,
strings C:\ProgramData\chocolatey\bin\speedtest.exe | clip
resulted in this fragment:
Read the rest of this entry »
Posted in Batch-Files, Chocolatey, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Leave a Comment »
Posted by jpluimers on 2023/10/05
I like JSFiddle, but rather keep source code under my own version control.
I was curious, so queried [Wayback/Archive] gist as jssfiddle – Google Search and found [Wayback/Archive] Publishing a Github Gist to JSFiddle | Toolbox Tech
It has better steps than the official documentation at these links:
- [Wayback/Archive] Pass response directly from a Github repo – JSFiddle Docs
- [Wayback/Archive] Display fiddle from a Github repository – JSFiddle Docs
Demo Directory/
demo.js
demo.html
demo.css
demo.details
demo.[ js | html | css ] contains fiddle code for the specific panel
demo.details is a description of the demo written in YAML
---
name: Name of the Demo
description: Some description, please keep it in one line
authors:
- John Doe
- Jan Wisniewski
resources:
- http://some.url.com/some/file.js
- http://other.url.com/other_filename.css
normalize_css: no
load_type: d
...
- [Wayback/Archive] Display fiddle from Gist – JSFiddle Docs
Read a demo from Github Gist and present it as a fiddle.
Gist files structure
fiddle.js
fiddle.html
fiddle.css
fiddle.manifest
|
|
|
|
|
Contains fiddle code for the specific panel
|
|
|
YAML description of the Gist for JSFiddle to parse
|
Manifest file example
name: The Name of the Fiddle
description: Some description, please keep it in one line
authors:
- John Doe
- Jan Wisniewski
resources:
- http://some.url.com/some/file.js
- http://other.url.com/other_filename.css
normalize_css: no
wrap: bpanel_js: 1
panel_css: 1
Manifest fields
-
panel_html – Language for HTML panel. Accepts:
-
panel_css – Language for CSS panel. Accepts:
-
panel_js – Language for the JS panel. Accepts:
-
resources – List of external resources.
-
-
description – Fiddle description
-
normalize_css – Normalize CSS by loading normalize.css before any CSS declarations.
-
wrap – Set the JS code wrap. Options:
–jeroen
Posted in Development, DVCS - Distributed Version Control, gist, GitHub, JavaScript/ECMAScript, JSFiddle, Scripting, Software Development, Source Code Management | 1 Comment »
Posted by jpluimers on 2023/10/04
A while ago, while writing last weeks post XPath based bookmarklets for Archive.is: more JavaScript fiddling!, I needed the most recent WayBack Machine archival of
https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript
I vaguely remembered replacing the normal timestamp with a 3 and 13 zeros, so I tried this
https://web.archive.org/web/30000000000000/https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript
And indeed, it did a HTTP 302 redirect to
https://web.archive.org/web/20220312161117/https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript
So I quickly made this bookmarklet:
javascript:location.href='https://web.archive.org/web/30000000000000/'+document.location.href;
Then I created another one for getting the screenshot:
javascript:location=location.href.replace(/^https:\/\/web\.archive\.org\/save\/http/,'https://web.archive.org/web/30000000000000/http://web.archive.org/screenshot/http')
That works for screenshots archived with a Wayback Machine account, as these are related because of the inserted http://web.archive.org/screenshot/ fragment:
Since the Wayback Machine always looks for the closest savet timestamp, it does not matter the timestamps in these archived pages have a slight mismatch.
Memory lane
20231006: I edited this section referring two prior blog posts instead of one because of [Wayback/Archive] pbeccard: “@wiert @oliof You can also use…” – Mastodon (clearly showing that Mastodon like any social media platform does mangle backtick quoted code):
@wiert @oliof You can also use `javascript:location.href=’https://web.archive.org/web/*/’+document.location.href;` to get the overview. I find this quite useful since I often want an older version of a page.
And later in the reply chain:
[Wayback/Archive] pbeccard: “@wiert @oliof Ah, I thought b…” – Mastodon
@wiert @oliof Ah, I thought by now that maybe Markdown is supported. I pulled the bookmarklet out of my bookmarklet bookmark folder. Here is a copy: https://gist.github.com/corppneq/d61e3…
[Wayback/Archive] Gist: Bookmarklets
I also found back two blog posts:
- Need to write a proper bookmarklet for the wayback archive (: mentioning many useful Wayback Machine JavaScript Bookmarklets from my gist [Wayback/Archive] Ideas/inspiration for writing a proper WayBack archive.org bookmarklet including this one:
[Wayback/Archive] http://www.gyford.com/misc/wayback.html
I also archived this referred page: [Wayback/Archive] Bookmarklets.com – What’s New.
- JavaScript bookmarklet to replace part of the WayBack machine URL with a bookmarklet replacing
JavaScript bookmarklet to replace part of the WayBack machine URL:
A bookmarklet that goes to the latest rendered saved version (sometimes saved versions have not been rendered yet, so you get the latest available render):
javascript:location=location.href.replace(/^https:\/\/web\.archive\.org\/save\/http/,'https://web.archive.org/web/30000000000000/http')
The WayBack Machine uses a 14-position ID and tries to find the render that is the most close by. This is the format of the ID:
yyyymmddhhmmss
This is granular enough, as the WayBack machine only allows new saves that are usually 30+ minutes apart.
(Note that period by now seems to be increased from 30+ minutes to 45+ minutes)
It also found back this post having the same huge number: 0.30000000000000004.com. How cool is WordPress search (:
–jeroen
Posted in Bookmarklet, Development, Internet, InternetArchive, JavaScript/ECMAScript, Power User, Scripting, Software Development, WayBack machine, Web Browsers | Leave a Comment »
Posted by jpluimers on 2023/09/28
Winter 2022, the Embarcadero docwiki (their most active site which contains all documentation for all their products) was down. Twice. First for a week, then parts of it for almost a week, then only parts of the Alexandria got up in a stable way.
Back then I published The Delphi documentation site docwiki.embarcadero.com has been down/up oscillating for 4 days is now down for almost a day.. The product and library documentation for the most recent version got back up in a week, but the Code Examples and older product versions took much longers.
Usually once learns way more about a system when it is failing then when it is working. That was the case this system as well.
Documenting the failing system took considerable time, but would have taken way more if not for these two JavaScript browser bookmarklets:
Read the rest of this entry »
Posted in Bookmarklet, Conference Topics, Conferences, Development, Event, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »
Posted by jpluimers on 2023/09/27
For my link archive is the below answer that should help me a lot with unfinished bits from Some JavaScript bookmarklets for WordPress published pages centered around navigation and IDs.
Goal of that post was to have some grounding and eventually find a means to build an HTML page in a new tab using a bookmarklet that I then later could post to my blog.
Assembling to HTML and putting it on the clipboard might be a lot easier and better fitting in my workflow.
So, via [Wayback/Archive] javascript copy html to clipboard – Google Search, for my link archive: [Wayback/Archive] Javascript – Copy string to clipboard as text/html – Stack Overflow (thanks [Wayback/Archive] Loilo for answering and [Wayback/Archive] kofifus for asking):
Below is a function that will do exactly that. I tested it with your required browsers, it works in all of them. However, IE 11 will ask for confirmation on that action.
Explanation how this works can be found below, you may interactively test the function out in this jsFiddle.
Read the rest of this entry »
Posted in Chrome, Development, Firefox, HTML, HTML5, Internet Explorer, JavaScript/ECMAScript, JSFiddle, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »
Posted by jpluimers on 2023/09/23
Posted in AI and ML; Artificial Intelligence & Machine Learning, Bookmarklet, ChatGPT, Development, GPT-3, GPT-4, JavaScript/ECMAScript, Office, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »
Posted by jpluimers on 2023/09/20
As I promised a few months back in Bookmarklets for Archive.is and the WayBack Machine to go to the original page, moar JavaScript fiddling, this time with XPath based bookmarklets to navigate from Archive.is pages to Saved From, Redirected from, Via and Original pages.
An alternative would be using XPath as the additional fields are always structured in a table like the html below (taking complex pages like https://archive.ph/5iVVH and https://archive.ph/2015.11.14-044109/http://www.example.org/ as an example).
I got triggered to using XPath from this answer from [Wayback/Archive] gdyrrahitis at [Wayback/Archive] Javascript .querySelector find by innerTEXT – Stack Overflow (thanks [Wayback/Archive] passwd for asking):
Read the rest of this entry »
Posted in Agile, Bookmarklet, Code Quality, Code Review, Development, HTML, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development, XML/XSD, XPath | Leave a Comment »
Posted by jpluimers on 2023/09/15
As promised yesterday, I updated the scripts for Some JavaScript bookmarklets for WordPress published pages centered around navigation and IDs
Code (which broke at 20230914 because of WordPress.com changes: the undocumented HighlanderComments structure got removed; I will update the gist later on and post an updated blog post)
Instead of the undocumented HighlanderComments structure, I now use two (also undocumented) link rel elements.
In addition, I found this element that will be interesting in the future: <link rel='shortlink' href='https://wp.me/pvelJ-m8g' />.
You can view the change with the below archivals of the Wayback Machine and Archive.is.
And of course I learned a few things from these MDN entries:
The 20230530 archivals (Wayback/Archive) of wiert.me/2022/02/14/philosophy-of-management have this HighlanderComments structure:
Read the rest of this entry »
Posted in Bookmarklet, Conference Topics, Conferences, Development, Event, HTML, JavaScript/ECMAScript, Power User, Scripting, SocialMedia, Software Development, Web Browsers, Web Development, WordPress | Leave a Comment »
Posted by jpluimers on 2023/09/14
For my link archive so I can better automate archiving Tweet threads using bookmarklets written in JavaScript:
The base will likely be this:
javascript:void(open(`https://archive.is/?run=1&url=${encodeURIComponent(document.location)}`))
which for now I have modified into this:
javascript:void(open(`https://threadreaderapp.com/search?q=${document.location}`))
It works perfectly fine without URL encoding and demonstrates the JavaScript backtick feature for template literals for which you can find documentation at [WayBack/Archive] Template literals – JavaScript | MDN.
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, bash, Bookmarklet, Communications Development, cURL, Development, HTTP, https, Internet protocol suite, Power User, Scripting, Security, Software Development, TCP, Web Browsers | Leave a Comment »