Still a cool video. Many shortcuts for various operating systems and machines, including BBC B, Linux, Windows, and MacOS.
–jeroen
Posted by jpluimers on 2021/08/20
Still a cool video. Many shortcuts for various operating systems and machines, including BBC B, Linux, Windows, and MacOS.
–jeroen
Posted in *nix, 6502, Apple, BBC Micro B, History, Linux, Mac OS X / OS X / MacOS, Power User, Windows | Leave a Comment »
Posted by jpluimers on 2021/08/19
Wireshark is indispensable when doing network communications development or DevOps.
This is my choco-install-network-tools.bat batch file to install Wireshark and the pcap dependency which nmap provides:
choco install --yes nmap :: wireshark requires a pcap for capturing; nmap comes with npcap which fulfills this dependency :: see: :: - https://chocolatey.org/packages/wireshark :: - https://chocolatey.org/packages/win10pcap :: - https://chocolatey.org/packages/WinPcap :: - https://chocolatey.org/packages/nmap choco install --yes wireshark
Yes, I know: Windows Subsystem for Linux could have an easier installation, but the above:
See:
–jeroen
Posted in *nix, *nix-tools, Communications Development, Development, Internet protocol suite, nmap, Power User, Software Development, Windows, Windows 10, Windows 8.1, WSL Windows Subsystem for Linux | Leave a Comment »
Posted by jpluimers on 2021/08/19
Quite some interesting bits in [WayBack] Thread by @Foone: “So if you want to use a USB floppy drive, you use a USB protocol called the UFI: Uniform Floppy Interface. What’s UFI? A way to embed ATAPI […]”
Via [WayBack] Kristian Köhntopp on Twitter: “PC Hard drive and floppy disk interfaces, and the people and companies that made them.”
https://twitter.com/isotopp/status/1174609922316783616
–jeroen
Posted in Development, Hardware Development, History, Power User | Leave a Comment »
Posted by jpluimers on 2021/08/19
I used [WayBack] html – How can I scale the content of an iframe? – Stack Overflow as starting point to scale some iframes.
In my case, I had to scale up (by a 25% so a factor 1.25) instead of scale down.
What I observed so far in recent Chrome versions is:
div is still needed, otherwise the outer size and inner size of the frame mismatchesdiv and the wrapped iframe need to have the same dimensions (so unlike the Stack Overflow answers, no need to scale the width/height of the div; keep the same values as the iframe)The div uses class calendar_wrap.
The iframe uses class calendar_iframe.
This is part of my CSS:
body { margin: 0; /* override browser setting for body `margin: 8px;` */ overflow: hidden; /* remove scroll bars; does not work for iframes */ } /* ... */ iframe { border-width: 0; /* override browser setting for iframe `border-width: 2px; */ height: 100vh; width: 50vw; overflow: hidden; /* remove scroll bars; does not work for iframes */ } /* wrap and iframe zoom as per https://stackoverflow.com/questions/166160/how-can-i-scale-the-content-of-an-iframe */ .calendar_wrap { float: left; height: 70vh; width: 35vw; /* calc(35vw / 1.25); */ padding: 0; background-color: blue; } .calendar_iframe { float: left; width: 35vw; -ms-transform: scale(1.25); -moz-transform: scale(1.25); -o-transform: scale(1.25); -webkit-transform: scale(1.25); transform: scale(1.25); -ms-transform-origin: 0 0; -moz-transform-origin: 0 0; -o-transform-origin: 0 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; } /* ... */
–jeroen
Posted in Chrome, CSS, Development, HTML, Power User, Software Development, Web Browsers, Web Development | Leave a Comment »
Posted by jpluimers on 2021/08/18
[WayBack] bash – Search for a previous command with the prefix I just typed – Unix & Linux Stack Exchange answered by [WayBack] John1024:
What you are looking for is
Ctrl-R.Type
Ctrl-Rand then type part of the command you want. Bash will display the first matching command. Keep typingCtrlRand bash will cycle through previous matching commands.To search backwards in the history, type
Ctrl-Sinstead. (IfCtrl-Sdoesn’t work that way for you, that likely means that you need to disable XON/XOFF flow control: to do that, runstty -ixon.)This is documented under “Searching” in
man bash.
Comment by [WayBack] HongboZhu:
Ctrl-Qto quit the frozen state, if you already hitCtrl-Swithout turning off flow control first and got your terminal frozen.
A far more elaborate answer with many other tips is from [WayBack] Peter Cordes:
Posted in *nix, *nix-tools, bash, bash, Development, Power User, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2021/08/18
LOL: [WayBack] atx psu 24pin 24p power supply jumper jack adapter connector for btc – Google Search
Via [WayBack] Brad Smith a Twitter: “LOL I just wanted to buy the cheapest ATX socket on ebay to to make a little power jumper connector, and the cheapest one already has the wire stuck onto it. “…for BTC” 🤣… “
–jeroen
Posted in Development, Fun, Hardware, Hardware Development, Power User | Leave a Comment »
Posted by jpluimers on 2021/08/18
Yesterday I published about Yet again, GitHub violates the Web Content Accessibility Guidelines by stealing a key: not it is the dot (.), and this week some feelers were put out for a kind of GitHub Inbox / Direct Message feature:
[Archive.is] GitHub Projects on Twitter: “What if there was 📨 DM/inbox feature on GitHub?”
There already is gitter.im (which is public instant messaging around GitHub repositories), and people have enough trouble managing all their incoming private message streams (be it paper/email inbox, social media and others), in large part because of SPAM and harassment messages.
It wasn’t by accident that the Private Messaging at GitHub feature was ditched almost a decade ago during [Wayback/Archive.is] 2012 Spring Cleaning | The GitHub Blog:
Private Messaging, however, was a step backwards: nobody wants another inbox. And a sub-par one, at that. Email is still the best way to contact someone.
Today we’re removing Private Messaging from GitHub. If you want people to contact you, please provide a public email address for your profile.
So I’m with all these:
Yes, I know [Archive.is] Tierney Cyren on Twitter: “A reminder that this account doesn’t actually represent GitHub nor any feature planning GitHub is doing… “, but I want to make absolutely clear to GitHub that another private message feature is a very bad idea.
–jeroen
Posted in Development, DVCS - Distributed Version Control, GitHub, Source Code Management | Leave a Comment »
Posted by jpluimers on 2021/08/17
Not sure why, but Winbox 3.17 could not connect to out of the box blank MikroTik equipment at all.
Winbox 3.19 complains every now and than, but usually connects fine.
This was while configuring a bunch of [WayBack] MikroTik Routers and Wireless – Products: CRS305-1G-4S+IN.
Posted in Development, Hardware, Internet, MikroTik, Network-and-equipment, Power User, RouterOS, routers, Scripting, Software Development, WinBox | Leave a Comment »
Posted by jpluimers on 2021/08/17
I hardly use the [WayBack] TClientDataSet Class any more, so every once in a while I bump into a legacy project that does.
Often that forgets provide a deployment list, so usually with deployment of the underlying DLL is forgotten.
Those moments, it slips my mind that the original name for the underlying DataSnap technology is called MIDAS, and the DLL is MIDAS.DLL. Sometimes even a wrong version of that DLL is distributed (unicode versus non-unicode still can still be a thing).
You can avoid loading it (often at a premium of reduced speed) my adding MidasLib to the uses list of any unit in your project:
you add
MidasLibto your project’s USES clause. This embeds the basic functionality into your program without having to rely on a separate DLL for it.
When you use BPLs instead of full units, then missing this can lead to a nasty access violation like this one where the ClientDataSet cannot be created because the wrong Midas.dll (non-unicode) was loaded, see the screenshot and stack overflow below.
Lessons re-learned:
OS EAccessViolation at adress 5110E007: Access violation at address 5110E007 in module 'dsnap250.bpl'. Read of address 00000000 {occured in main thread} Stack: [50060B13]{rtl250.bpl } System.@HandleAnyException [00404815]{GVS.exe } FastMM4.CalculateHeaderCheckSum$qqrp29Fastmm4.TFullDebugBlockHeader (Line 9098, "FastMM4.pas" + 1) [50060039]{rtl250.bpl } System.@AfterConstruction [00404815]{GVS.exe } FastMM4.CalculateHeaderCheckSum$qqrp29Fastmm4.TFullDebugBlockHeader (Line 9098, "FastMM4.pas" + 1) [00404824]{GVS.exe } FastMM4.UpdateHeaderAndFooterCheckSums$qqrp29Fastmm4.TFullDebugBlockHeader (Line 9108, "FastMM4.pas" + 1) [004057C6]{GVS.exe } FastMM4.DebugGetMem$qqri (Line 9649, "FastMM4.pas" + 42) [00405817]{GVS.exe } FastMM4.DebugGetMem$qqri (Line 9686, "FastMM4.pas" + 79) [5005A247]{rtl250.bpl } System.@ReallocMem [50065674]{rtl250.bpl } System.DynArraySetLength [50065715]{rtl250.bpl } System.@DynArraySetLength [5110D001]{dsnap250.bpl} Datasnap.Dbclient.TCustomClientDataSet.CreateDSBase [51111571]{dsnap250.bpl} Datasnap.Dbclient.TCustomClientDataSet.CreateDataSet [500E920D]{rtl250.bpl } System.Rtti.TValue._op_Implicit [00559D29]{CDSDemo.exe } MainDataModuleUnit.TMainDataModule.DataModuleCreate (Line 50, "MainDataModuleUnit.pas" + 1) [5016E7EF]{rtl250.bpl } System.Classes.TDataModule.DoCreate [5016E69C]{rtl250.bpl } System.Classes.TDataModule.AfterConstruction [50060039]{rtl250.bpl } System.@AfterConstruction [5016E67A]{rtl250.bpl } System.Classes.TDataModule [00544941]{CDSDemo.exe } MainFormUnit.TMainForm.PageControlChange (Line 30, "MainFormUnit.pas" + 19) [0054598B]{CDSDemo.exe } MainFormUnit.TMainForm.FormShow (Line 40, "MainFormUnit.pas" + 47) [50C075DD]{vcl250.bpl } Vcl.Forms.TCustomForm.DoShow [50C0BF7D]{vcl250.bpl } Vcl.Forms.TCustomForm.CMShowingChanged [5005FD9F]{rtl250.bpl } System.TObject.Dispatch [50AC4C16]{vcl250.bpl } Vcl.Controls.TControl.WndProc [50AC97FB]{vcl250.bpl } Vcl.Controls.TWinControl.WndProc [50C080B5]{vcl250.bpl } Vcl.Forms.TCustomForm.WndProc [50AC4850]{vcl250.bpl } Vcl.Controls.TControl.Perform [50AC8B71]{vcl250.bpl } Vcl.Controls.TWinControl.UpdateShowing [50AC8C80]{vcl250.bpl } Vcl.Controls.TWinControl.UpdateControlState [50ACB9D6]{vcl250.bpl } Vcl.Controls.TWinControl.CMVisibleChanged [50AC4C16]{vcl250.bpl } Vcl.Controls.TControl.WndProc [50AC97FB]{vcl250.bpl } Vcl.Controls.TWinControl.WndProc [50C080B5]{vcl250.bpl } Vcl.Forms.TCustomForm.WndProc [50C0E597]{vcl250.bpl } Vcl.Forms.TScreen.GetMonitor [50C094C5]{vcl250.bpl } Vcl.Forms.TCustomForm.SetWindowToMonitor [50AC4850]{vcl250.bpl } Vcl.Controls.TControl.Perform [50AC31E6]{vcl250.bpl } Vcl.Controls.TControl.SetVisible [50C078C1]{vcl250.bpl } Vcl.Forms.TCustomForm.SetVisible [50C11DCF]{vcl250.bpl } Vcl.Forms.TApplication.Run [004B3B28]{CDSDemo.exe } VclApplication.TApplication.Run (Line 113, "VclApplication.pas" + 1) (00161097){CDSDemo.exe } [00562097]
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »