Herkenbaar. Hoe geweldig het eten en bediening ook: herrie in de horeca sluit mensen met een beperking uit.
[Archive] De akoestiek is in veel Amsterdamse horeca beroerd – en dat kost klanten: ‘Als ik moet schreeuwen, haak ik af’
–jeroen
Posted by jpluimers on 2023/03/20
Herkenbaar. Hoe geweldig het eten en bediening ook: herrie in de horeca sluit mensen met een beperking uit.
[Archive] De akoestiek is in veel Amsterdamse horeca beroerd – en dat kost klanten: ‘Als ik moet schreeuwen, haak ik af’
–jeroen
Posted in About, Personal | Leave a Comment »
Posted by jpluimers on 2023/03/20
A while ago when applying KB5008212* through Windows Update, I got errors. It was odd, as until now, all other upgrades had worked fine.
Often Windows update errors are because of lack of disk space (I try maintain 10 gigabytes or more free space on virtual machines, but that sometimes fails because some software – despite user files being on a different drive – sometimes insists on filling the system drive).
This time, Windows Update would show 0x80073701, of course right after reaching 100%, but actually it was a 0x800f081f in disguise.
My usual modus operandi didn’t solve it (with a retry after every step):
CleanMgr.exe (Disk cleanup)SFC /ScanNow (System File Checker)DISM /Online /Cleanup-image /Restorehealth (Deployment Image Servicing and Management)All failed, but in the last step, DISM would consistently show error 0x800f081f.
Even a local DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\Windows\WinSxS /LimitAccess would fail.
Each DISM run will actually log in two log files, and this is the trick to figure out what the next step would be.
Examples from my case:
Posted in Power User, Windows, Windows 10 | Leave a Comment »
Posted by jpluimers on 2023/03/17
[Wayback/Archive] mess with dns: a cool site at messwithdns.net that allows you directly mess around with subdomains of messwithdns.com (yup: these are on different top level domains by intent, see [Wayback/Archive] mess with dns: about/FAQ).
Her blog post [Wayback/Archive] New tool: Mess with DNS! has a cool insightful explanation with lots of gifs showing what is going on. The below gif is just one of them:
In addition, it has a cool [Wayback/Archive] mess with dns: DNS dictionary explaining common DNS related terms.
The backend is written in Go, and has a snapshot of the initial source code on github at [Wayback/Archive] jvns/mess-with-dns-backend (mainly so you can file issues or submit ideas).
Oh, and this is a cool video that shows you how DNS works assuming the protocol is phone based: [Archive] Max Meier👨🏻💻🛡⚔️ on Twitter: “DNS Server …” / Twitter.
Posted in DNS, Internet, Power User | Leave a Comment »
Posted by jpluimers on 2023/03/16
PolyShell is a script that’s simultaneously valid in Bash, Windows Batch, and PowerShell (i.e. a polyglot).
[Wayback/Archive] llamasoft/polyshell: A Bash/Batch/PowerShell polyglot!
Need to check this out, as often I have scripts that have to go from one language to the other or vice versa.
Maybe it enables one language to bootstrap functionality in the other?
The above polyglot started with a quest to see if I can could include some PowerShell statements in a batch file with two goals:
cmd.exe command prompt, then have it start PowerShell with the same command-line argumentsThe reasoning is simple:
cmd.exe or PowerShell are runningLots of users still live in the cmd.exe world, but PowerShell scripts are way more powerful, and since PowerShell is integrated in Windows since version 7, so having a batch file bootstrap PowerShell still makes sense.
Since my guess was about quoting parameters the right way, my initial search for the link below was [Wayback/Archive] powershell execute statement from batch file quoting – Google Search.
I have dug not yet into this, so there are still…
These should give me a good idea how to implement a polyglot batch file/PowerShell script.
dosps2.cmd:@findstr/v "^@f.*&" "%~f0"|powershell -&goto:eof
Write-Output "Hello World"
Write-Output "Hello some@com & again"
@f and including an & and passes everything else to PowerShell.C:\tmp>dosps2
Hello World
Hello some@com & again
but the second answer got me in the below polyglot search query
@@:: This prolog allows a PowerShell script to be embedded in a .CMD file.
@@:: Any non-PowerShell content must be preceeded by "@@"
@@setlocal
@@set POWERSHELL_BAT_ARGS=%*
@@if defined POWERSHELL_BAT_ARGS set POWERSHELL_BAT_ARGS=%POWERSHELL_BAT_ARGS:"=\"%
@@PowerShell -Command Invoke-Expression $('$args=@(^&{$args} %POWERSHELL_BAT_ARGS%);'+[String]::Join([char]10,$((Get-Content '%~f0') -notmatch '^^@@'))) & goto :EOF
@PowerShell -Command Invoke-Expression $('$args=@(^&{$args} %*);'+[String]::Join([char]10,(Get-Content '%~f0') -notmatch '^^@PowerShell.*EOF$')) & goto :EOF
…
There are quite a few quirks that were leveraged or had to be worked around:
- All three languages have different escape characters:
- Bash: backslash (
\)- Batch: caret (
^)- PowerShell: backtick (
`)- Escape characters work inside Bash and PowerShell strings, but not batch strings.
- Redirects (i.e.
<and>) have special meaning in all three languages unless quoted.- Redirects don’t have to be at the end of a command.
- This is valid Bash/Batch/PowerShell:
echo >output.txt "Hello World"- Batch is the only language without multi-line strings or comments.
- Batch treats
>as a redirect even when it directly touches a string, but PowerShell doesn’t.- Batch script
GOTOstatements only work when run as a script, not when run interactively.- PowerShell’s multi-line comment (
<#) must be immediately preceded by whitespace.- Bash’s here documents may begin anywhere so long as it’s unquoted and not a comment.
…
It also pointed me to the above repository on GitHub, so lets include it here as well:
cmd.exe prompt, and it hides that prompt after finishing. Need to figure out why, and if it can be prevented or undone.hideWindow $script:cmdPid # Prevent user from closing command prompt
Powerglot encodes several kind of scripts using polyglots, for example, offensive powershell scripts. It is not needed a loader to run the payload.
It basically is a Python script that allows you to generate a polyglot from multiple separate scripts.
iex, aka [Wayback/Archive] Invoke-Expression (Microsoft.PowerShell.Utility) – PowerShell | Microsoft Docs)
–jeroen
Posted in *nix, *nix-tools, bash, bash, Batch-Files, Development, JavaScript/ECMAScript, Perl, Polyglot, Power User, PowerShell, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2023/03/15
Yup, web browser bookmarklets, though hardly published about any more, I still like them (and wrote about them before). With a little bit, usually unreadable, JavaScript, they can add magical functionality to your browser.
So here are some links on Twitter related bookmarklets:
javascript:location.href='http://twitter.com/share?url='+encodeURIComponent(window.location.href)+'&text='+encodeURIComponent(document.title)
which I reworked into:
javascript:window.open('http://twitter.com/share?url='+encodeURIComponent(window.location.href)+'&text='+encodeURIComponent(document.title))
This is the right one:
javascript:(function(){n=getSelection().anchorNode;if(!n){t=document.title;}else{t=n.nodeType===3?n.data:n.innerText;}t='“'+t.trim()+'”\n\n';window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(t)}${document.location.href}`)})();
which I reworked using «» quotes into:
javascript:(function(){n=getSelection().anchorNode;if(!n){t=document.title;}else{t=n.nodeType===3?n.data:n.innerText;}t='«'+t.trim()+'»\n\n';window.open(`https://twitter.com/intent/tweet?url=${document.location.href}&text=${encodeURIComponent(t)}`)})();
javascript:q = "" + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt("Please enter a Twitter handle", ""); if (q!=null) location="http://www.google.com/search?q=cache:https://twitter.com/" + escape(q).replace(/ /g, "+"); void 0
javascript:q = "" + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt("Please enter a Twitter handle", ""); if (q!=null) location="https://web.archive.org/web/*/https://twitter.com/" + escape(q).replace(/ /g, "+"); void 0
javascript:q = "" + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt("Please enter a Twitter handle", ""); if (q!=null) location="https://archive.md/https://twitter.com/" + escape(q).replace(/ /g, "+"); void 0
javascript:var u = window.location.protocol + '//' + window.location.host + window.location.pathname; var l = document.getElementsByTagName("link"); for (var i = 0; i < l.length; i ++) { if (l[i].getAttribute('rel') === 'canonical') {u = l[i].getAttribute('href')}}; window.open('https://twitter.com/search?q=' + encodeURIComponent(u) + '&src=paulmwatson');
All via [Wayback/Archive] twitter bookmarklet – Google Search.
–jeroen
Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »
Posted by jpluimers on 2023/03/14
I need to try [Wayback/Archive] Live Share – Visual Studio Marketplace and get a feel for how it is to live share code: is it a way of working that fits me well?
This installs Live Share for Visual Studio Code:
code --install-extension MS-vsliveshare.vsliveshare code --install-extension MS-vsliveshare.vsliveshare-pack
The second extension is for [Wayback/Archive] Live Share Extension Pack – Visual Studio Marketplace, which got released about a year after the first one.
Live Share was introduced in 2017, a period when most of my work was outside the Visual Studio realm, Visual Studio Code was just starting to gain momentum over Atom (which was mul multi-platform editor of choice back then; I wrote about it in a few blog posts), and my then main development environment did not allow live sharing at all. so I missed all this (:
For my reading list:
Uses search queries:
The first query was my initial goal to accomplish, but I rather have the markdown files available off-line, so these did not help:
–jeroen
Posted in atom editor, Development, Power User, Software Development, Text Editors, vscode Visual Studio Code | Leave a Comment »
Posted by jpluimers on 2023/03/13
The links found via [Wayback/Archive] macos kernel_task high cpu dual screen – Google Search were daunting.
In the end, the issue ways way easier to fix than I thought: open up your Intel MacBook (you need pentalobe screwdrivers for that), then with some compressed air, clean the dust (especially from the fans).
This post saved my day [Wayback/Archive] kernel_task takes up 500% of my CPU when plugging in external monitor – MacBook Pro 15″ Retina Display Mid 2015 – iFixit
Things I haven’t tried yet:
- Cleaning out more free space from HDD
- Using plain HDMI cable into the HDMI cable port
- Taking MBP apart and cleaning any potential dust
…
I faced the very same issue that you guys are facing and based on input from another forum decided to get my 2016 MPB fans cleaned out.
This made an immediate impact where when I connected my external display to the MBP.pre-cleaning, it would overheat causing the fans to spin at 6000 rpm or thereabout and the kernel_task would eat up 500%-900% of the CPU rending the system unusable.
This simple cleanup of the fans has allowed me to connect the monitor with no kernel panic anymore and even though the fans run around 5000 rpm now the CPU and GPU are running around 10 degrees cooler now.
The same picture is in [Wayback/Archive] macos – MacBook Pro high CPU with external monitors – Ask Different.
An even dirtier MacBook was at [Wayback/Archive] External Display – High CPU Usage – MacBo… – Apple Community.
Links that were interesting but unhelpful:
–jeroen
Posted in Apple, Mac, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, Power User | Leave a Comment »
Posted by jpluimers on 2023/03/10
The jvc compulik cables are mono 1/8 inch miniplugs. You can get them at radio shack. Hope this helps.
I’ve got an ancient JVC CD player hooked up to an old JVC receiver. The cable, which came original with the CD player, looks like mono mini-jack to me. The CD player advertises itself as Compu Link-1 and the receiver advertises itself as Compu Link-3, and the both function as expected.
I can’t help you with the configuration, but you should have the right cables and Compu Link is at least partly backwards compatable.
–jeroen
Posted in Hardware, Home Audio/Video, Power User | Leave a Comment »
Posted by jpluimers on 2023/03/10
Welcome, #a11y squad! Axe-con is committed to providing an accessible conference experience, and having free registration is key to this commitment.
Please fill in the following information on the form below to reserve your spot at axe-con 2023. Registration will provide you with access to the live sessions and on-demand recordings of 60 sessions.
[Wayback/Archive] Register for axe-con | Digital Accessibility Conference
Via [Wayback/Archive] CircuitSwan on Twitter: “Deque Systems axe-con 2023 Free Registration Building accessible experiences #a11y Virtual Conference: March 15-16th, 2023 Registration will provide you with access to the live sessions and on-demand recordings of 60 sessions.”
Related: Read the rest of this entry »
Posted in accessibility (a11y), Development, Software Development | Leave a Comment »
Posted by jpluimers on 2023/03/09
From an interesting thread where Iris Classon had laptop overheating problems (just like I had with a 2015 Retin MacBook Pro in Cleaning the cooling fans of a 15-inch Retina MacBook Pro 2015 model):
My tray is from the lid of a broken container.
I love repurposing the remains of old household items..
The actual problem: dust, just like my MacBook had.
Posted in Development, DIY, Hardware Development, LifeHacker, Power User | Leave a Comment »