ExFAT is faster than NTFS by up to several percent
hard drive write speed.
ExFAT allows a hard drive to easily be
read across operating systems.
Windows Subsystem for Linux can
read ExFAT
drives.
Formatting a disk deletes all data on the drive.
The system hard drive %SYSTEMDRIVE% for Windows OS MUST be NTFS.
NOTE: If the hard drive is unformatted, it will not have a drive letter.
Once sure the drive is empty or want to erase the contents to make it ExFAT, do this through Disk Management.
Format a drive to ExFAT from Windows Explorer by right-clicking on the drive to format and selecting “Format” → File System: “ExFAT”
Format ExFAT
Alternatively, format a drive to ExFAT from Command Prompt or PowerShell by:
format driveletter /FS:exFAT /Q
Format a drive to ExFAT from Disk Management by running diskmgmt.msc and right click the new drive → Format.
If NTFS is the only option, use Windows Explorer to format to ExFAT after first formatting to NTFS here.
Switching to CMake from autotools or plain Makefiles gives generally better support of many operating systems, in particular Windows.
Another benefit is generally faster speed of configuration and build.
In 2020, MonetDB
switched from autotools to CMake.
They observed MonetDB with CMake builds in 40% of the original time.
Note also the improvement due to Ninja instead of GNU Make.
We have converted a number of projects from autotools to CMake.
Consider automated
autotools to CMake script
and then manually compare or redo by
inspection
of the autotools scripts.
In general, livestream data bandwidth depends on the video content (lots of motion vs. talking head) and wireless conditions.
YouTube Live has a wide range of
livestreaming modes.
Consider 480p to start to keep the connection from dropping out, with data bandwidth of 500 - 2,000 kbps ~ 16 Mbyte/minute.
Use variable bitrate to dramatically reduce upload bandwith needed for typical livestreaming scenes.
OBS Studio
is among streaming software supporting
HLS
for ease and robustness or low latency RTMPS.
Hugo
shortcodes
are a powerful, easy way to template code used in blogs and websites.
Ana Ulin describes a
one-line Hugo shortcode
to inline HTML in Hugo:
Under the top-level Hugo website Git directory, add file “layouts/shortcodes/rawhtml.html” containing:
{{.Inner}}
Then in the Markdown file for the particular blog post, do like (removing the space between the left brace and the left caret):
Compare files between Git branches with a GUI like
VS Code
or
Meld,
showing all files different between the current Git branch to another Git branch “develop”:
git difftool develop
Compare a single file to another Git branch “develop”:
For projects consisting of more than a few files, or of files in different code languages, it can sometimes be beneficial to only run certain workflows depending on which files changed.
For example, consider a Fortran-based simulation where the CI takes minutes or hours to run, with associated Python plotting code.
If only the plotting code is changed, it might not be necessary to CI the entire simulation, but instead test just the Python code.
This can be arranged via separate .yml files under the repo’s .github/workflows/ directory.
Example: only run Python analysis script tests (say, under “scripts/”) when analysis scripts are changed.
If Fortran code or Python interface scripts are changed, run other CI.
Matlab
mustBeA
is used in
function argument validation
to check that a variable is in one of multiple classes, instead of the single class coercion used by Matlab arguments block by default.
Simply create a file in the project directory “mustBeA.m”, or under private/mustBeA.m
functionmustBeA(x, classes)% for Matlab < R2020barguments
x
classes (1,:) string
endmustBeMember(class(x), classes)
end
Matlab
mustBeFile
and
mustBeFolder
can fail to validate when the filename starts with a tilde “~”.
Tilde is used by most terminal shells to indicate the user home directory.
However, Matlab does not currently recognize tilde.
Workaround this issue with
expanduser.m
in the mustBe* call.
Example: myfun.m:
functionmyfun(A, B)arguments
A {mustBeA(A, ["string", "char"])}
B (1,1) {mustBeNumeric}
end...end
A summary of public Windows Subsystem for Linux
changes
for the latest Windows Fast Ring build and recent builds is provided.
A
master listing
of current build vs. Ring is also available.
Common web page / blog post applications where concealing text until the viewer clicks include:
table of contents
spoilers
long details not all readers are interested in at that point in the article
This is implemented via the HTML5
details
tag.
This technique works for many Markdown-based sites such as GitHub (GitHub Issues click-to-reveal long debug text) and GitLab.
<details>
<summary>click for spoilers</summary>
<ul>
<li>The season finale for Season 1 showed ...</li>
<li>And season 2 opener revealed ...</li>
</ul>
</details>
IANA
RFC8615
defines a “.well-known/” folder for web servers to put metadata fundamental to a web server’s organization, policies or contact information.
Several popular files are seen under public website https://example.invalid/.well-known/ directory.