View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Interesting random article from the StackExchange network. How do you perform long distance communication before electricity? Lighthouses are one method, but when you mention this, sound was another great way of communication in ye olden days before cars, trains, factories, and whatnot noised up the air and made in impractical to use sound to communicate for more than a mile’s distance. Oh, how I long for a world where there was not so much noise pollution from industrial machinery and over-amplified sound.

20190926/https://worldbuilding.stackexchange.com/questions/156969/lighthouse-alternatives

Disk Copy 4.2… ah yes, the venerable Macintosh floppy disk copying software. What if you can’t run it since you are operating on a different operating system, but you want to get at the data contained? Or what if you are writing your own disk copy software and you also want to be able to write out data in that file format? No problem, I’ve found some pretty great references on the Disk Copy 4.2 file format right here.

20190926/https://en.wikipedia.org/wiki/Disk_Copy
20190926/https://wiki.68kmla.org/DiskCopy_4.2_format_specification

Also, good news, for I had not been fully aware of this, but Mini vMac also supports direct emulation on the Disk Copy 4.2 file format. The main benefit of this, beyond convenience, is that the Disk Copy 4.2 file format has provisions for storing file tags, so you get a more accurate emulation of Macintosh floppy disks in that respect.

Read on →

My team has been having some misconceptions about using Jenkins with Git. We are building out a particular kind of Jenkins pipeline that doesn’t just merely checkout source from Git and run tests, but we also push tags to Git, push branches to Git, merge branches, delete branches, and so on. To implement this, we started adding commands like sh("git fetch -p"), but that was when things broke apart. Sometimes we would get intermittent problems of “no such device or address” when Git would try to interactively read credentials.

So, let me succinctly explain how things are working and why they don’t work. When you run Git checkout steps in Jenkins, it writes out a small temporary shell script with the username and password credentials embedded within it and sets the GIT_ASKPASS environment variable to point to it. When Git commands are run, the proper credentials will then be passed seamlessly to Git, without needing any user prompting.

So, that works all nice and well. But, when you start writing commands like sh("git fetch -p"), where do the Git credentials come from? The temporary GIT_ASKPASS script has been blown away, so the only other place the credentials can come from is the credential cache. And what if the cache expired, or there is no cache because you are running on a different node? Well, then you’re out of luck and can easily succumb to the “no such device or address” error.

Read on →

Having trouble deleting a remote tag and branch because they both have the same name? No worries, there is a long form of delete you can use to unambiguously name each:

git push origin :refs/heads/BRANCHNAME
git push origin :refs/tags/TAGNAME

20190926/DuckDuckGo git dst refspec matches more than one
20190926/https://markhneedham.com/blog/2013/06/13/git-having-a-branchtag-with-the-same-name-error-dst-refspec-matches-more-than-one/

While I was reading the source code and commit history on the PCE emulator, I found there was some rather recent development in an interesting area. mac-gcr? Whoah, what’s this, the capability to handle disk images at the lowest level? Applesauce disk images, PRI disk images? Whoah, what’s that? It’s the specially built hardware to read those disk images? Yep, and wow, it’s with modern manufacturing. You know the long dead Catweasel and KryoFlux? Well, about KryoFlux… they’re still alive and well, but yeah, they have those weird licensing terms.

All of this in the midst of Linus Torvalds killing off the floppy disk driver from Linux. Well, yeah, I guess it is sadly fitting… all of these modern hardwares are using their own highly advanced drivers. Floppy disks are still alive and well, but the software world moves on.

Important! See my older blog articles on the same subject.

So, the next in line high tech flux disk imagers. The SuperCard Pro is a rather old one, it’s been around since 2013 with an emphasis on Amiga and Commodore systems. cmbstuff.com is the name of the website.

Read on →

How do you get credentials from a credential store into Groovy variables in a Jenkins pipeline? Here’s how.

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: '<CREDENTIAL_ID>',
                    usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
    println(env.USERNAME)
}

20190925/DuckDuckGo jenkinsfile get credentials
20190925/https://support.cloudbees.com/hc/en-us/articles/204897020-Fetch-a-userid-and-password-from-a-Credential-object-in-a-Pipeline-job-

The question of import in Jenkins? Just use the import statement directly, just like you would for a Java class. If your dependency may need to be installed, etc., then there is this Groovy Grapes system to help.

20190925/DuckDuckGo jenkins groovy import
20190925/https://stackoverflow.com/questions/54598393/import-groovy-class-in-a-pipeline-jenkinsfile
20190925/DuckDuckGo jenkins groovy import java library
20190925/https://stackoverflow.com/questions/46499783/how-can-i-use-java-libraries-in-a-jenkins-pipeline
20190925/http://docs.groovy-lang.org/latest/html/documentation/grape.html

Read on →

On CentOS, sosreport provides a wealth of system information for diagnosing and debugging system issues, all available by running only a single command. How do you get similar information on Windows? Well, unfortunately as it turns out, there is no one single true way to get the information on Windows. Why not? Although there were several historic attempts at Microsoft to create such tools, if you look closely into the details, you will see that none of them really caught on and continued to be maintained. A developer started working on one tool, it was used for a little while, but then it got abandoned, and a new developer wrote a new similar-but-different tool. So, given this pattern of failure, let’s walk through the tools in chronological order.

First, there Windows Event Logs, of the Windows NT Server era. This is the tried-and-true, still supported method of gathering information on Windows systems non-interactively, but, of course, it will take more than one command to do so. If it could be done with only one command, then it would fit the bill perfectly.

Try creating a PowerShell script like this:

$log_list = Get-EventLog -List
foreach ($log_item in $log_list) {
  Get-EventLog -log $log_item.log
}

Read on →

While reading about the documentation of the Ruby vcr gem, I found that one of their sponsors is Cheap Writing Services. What do they do? Do they write tech documentation? No, they write college term papers for hire. Wikipedia has an article on that. Ah, yes, essay mill.

20190925/https://github.com/vcr/vcr
20190925/https://cheapwritingservice.com/
20190925/https://en.wikipedia.org/wiki/Essay_mill

The debate about essay mills. Often times they are perfectly legal from a legal standpoint, and they are only unethical from an academic standpoint if the customer of the service submits the resulting work for a grade. The main exception of the legal/ethical divide is when academics is mandated as part of a body of law. Sometimes customers of the service will merely request an outline or request that their paper be proofread by the service, and all the writing in the submitted work is still done by the student themself.

Great reiteration of the purpose of copyright law in Bruce Peren’s article here, in this article evaluating the enforceablity of the claims in the Hippocratic License. Interesting to see another one of these kinds of licenses come about, and the criticisms about it. The license in nature is similar to Douglas Crockford’s JSMin and JSLint licenses that had the following term:

The Software shall be used for Good, not Evil

However, the Hippocratic License extends this with a longer description.

20190924/https://perens.com/2019/09/23/sorry-ms-ehmke-the-hippocratic-license-cant-work/
20190924/https://en.wikipedia.org/wiki/Douglas_Crockford