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 the ‘JavaScript/ECMAScript’ Category

Robust Links – Make Your Link Robust: automagically amend them with archived versions

Posted by jpluimers on 2025/06/26

Need to look into this further: [Wayback/Archive] Robust Links – Make Your Link Robust.

Likely running it on my blog requires JavaScript to be enabled which means going from the premium to the small business plan (at te time of writing from USD 8 to USD 25 per month: a 200+% increase).

Let’s first start with an example:

Read the rest of this entry »

Posted in archive.is / archive.today, CSS, Development, Internet, InternetArchive, JavaScript/ECMAScript, link rot, Power User, Scripting, Software Development, WayBack machine | Leave a Comment »

GitHub: finding the oldest commit on large repositories

Posted by jpluimers on 2025/06/25

The manual process of getting back to the earliest commit of a GitHub repository is easy for small repositories, but for a large one it is very tedious.

TL;DR: there are various ways, but the easiest was the INIT Bookmarklet below.

Note: 2 weeks before the scheduled post made it to the front of the queue, I got a report¹ that it started to fail. Here it still works.

It’s hard to debug because of the functional programming approach taken.

Read the rest of this entry »

Posted in Bookmarklet, C, Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, Go (golang), JavaScript/ECMAScript, Power User, Scripting, Software Development, Source Code Management, Web Browsers | Tagged: , , | Leave a Comment »

zxcvbn: Low-Budget Password Strength Estimation | USENIX

Posted by jpluimers on 2025/06/19

Many web-sites and password managers have a strength indicator built-in.

This is a really good example (with open source JavaScript code!) of one: [Wayback/Archive] zxcvbn: Low-Budget Password Strength Estimation | USENIX

Be aware though that it stores a plain text file named passwords.txt on your system (this seems to confuse some users, especially when their password is in it).

Homans password behaviour does not change much over time, so this half hour 2016 presentation on it is still current: [Wayback/Archive] USENIX Security ’16 – zxcvbn: Low-Budget Password Strength Estimation – YouTube for which you can download:

Read the rest of this entry »

Posted in Chrome, Development, Edge, Firefox, JavaScript/ECMAScript, Power User, Safari, Scripting, Software Development, Web Browsers, Windows, Windows 10, Windows 11 | 2 Comments »

A PDF can run JavaScript, which means it can hosts a VM for Linux or Doom

Posted by jpluimers on 2025/06/12

A few years back, this question popped up: [Wayback/Archive] Embedding JS into PDF : cybersecurity

The answer is yes, and you can take this far. Virtualisation far. Which is what these repositories – both by [Wayback/Archive] ading2210 · GitHub – did:

Via [Wayback/Archive] Angry Nerds Podcast – YouTube -> [Wayback/Archive] Angrynerds 235 – Automasturbator – YouTube -> 1540 seconds at [Wayback/Archive] Angrynerds 235 – Automasturbator – YouTube – t=5040s

1:24:00 Hadden we Doom in PDF-vorm al eens genoemd? https://github.com/ading2210/doompdf Er is een vervolg, nu gewoon linux draaien in een PDF https://github.com/ading2210/linuxpdf Dus in feite gewoon een PDF-VMetje

Related:

Read the rest of this entry »

Posted in *nix, Development, JavaScript/ECMAScript, Linux, Power User, Software Development, Virtualization | Leave a Comment »

Yes, you can globally block JavaScript and enablpe per-site, but you block Bookmarklets too

Posted by jpluimers on 2025/05/16

Trying to trim down excessive CPU usage of my web browsers, and lessen the risk of intrusion, I experimented with globally disabling JavaScript and only enabling it on sites where it adds value to me.

That is possible (see below), but immediately showed a big side effect: Bookmarklets will not work on sites that have JavaScript disabled.

Disabling JavaScript globally only allows Bookmarklets on sites where you have enabled JavaScript. Not the situation I hoped for (:

I’ll try it for a while though.

Read the rest of this entry »

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

Coo responses to b0rk no Twitter: “is there an easy way (in the browser, at runtime) to generate a call graph of which functions called which other functions in a javascript program?”

Posted by jpluimers on 2025/05/13

For my reading list, the various responses to [Wayback/Archive] Julia Evans on Twitter: “is there an easy way (in the browser, at runtime) to generate a call graph of which functions called which other functions in a javascript program?”

--jeroen


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

Exporting Chrome History (with the “new” configuration and state file structure), and Epoch dates on various systems

Posted by jpluimers on 2025/05/02

Quite a while ago, Chrome moved from a structure based on “Current Session“, “Current Tabs“, “Last Session” and “Last Tabs” into “Session_#################” and “Tabs_#################” stored in a “Sessions” folder (and similar migrations for other state and configuration files).

The numbers in the “Session_*” and “Tabs_*” files are time stamps of those sessions, for instance one needs to figure out what the “13310808970819630” in “Session_13310808970819630” and “Session_13310808970819630” means.

Lot’s of web-pages with tips and tricks around the old structures are still around, often surfacing high in Google Search results.

I was interested in a particular trick to export Google Chrome browsing history and had a hard time figuring out the easiest solution.

Read the rest of this entry »

Posted in Apple, Batch-Files, Chrome, Chrome, Database Development, Development, Google, JavaScript/ECMAScript, Mac OS X / OS X / MacOS, NirSoft, Polyglot, Power User, Scripting, SQLite, Web Browsers, Windows, Windows 10, Windows 11 | Tagged: | Leave a Comment »

A signal of the future WebAssembly/emscripten is giving us: a database served on a static web page

Posted by jpluimers on 2025/04/17

From a quite a while back; apparently it ended up in the drafts in stead of the blog queue:

[Wayback/Archive] Ian Miell on Twitter: “A signal of the future WebAssembly/emscripten is giving us: a database served on a static web page: … The possibilities are dizzying. Also, I’ve thought for a while that if I had to put money on it, SQLite will outlast every other database out there.”

The combination of Emscripten and WebAssembly is cool as it allows you to run C/C++ based code in most Web Browsers at near-native speed (though the standard is open and can just as easily outside that realm).

[Wayback/Archive] Hosting SQLite databases on Github Pages – (or any static file hoster) – phiresky’s blog:

Read the rest of this entry »

Posted in Assembly Language, Database Development, Development, JavaScript/ECMAScript, Scripting, Software Development, SQLite, Web Development, WebAssembly | Leave a Comment »

From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Posted by jpluimers on 2025/04/09

Nice historic perspective: [Wayback/Archive] From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Via [Wayback/Archive] Zack Urlocker on Twitter: “Great interview with @ahejlsberg on the evolution of programming languages, the rise of TypeScript and more. Anders is one of the best programmers I ever worked with. …”

--jeroen

Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »

Workaround for “embedding” external scripts in JavaScript bookmarklets (thanks @ben_alman).

Posted by jpluimers on 2025/03/25

Bookmarklets are basically URLs that execute a JavaScript function.

Sometimes you want to rely on external JavaScript files (for instance jQuery), but Bookmarklets themselves cannot do that.

Bookmarklets can modify the current page though, and use those to load a script, wait until it is loaded, then continue executing.

Often that is OK as you want to operate the Bookmarklet on that page anyway, but be careful though that you do not mess up the page by loading an incompatible script: test, test, test!

Read the rest of this entry »

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