While both
GitHub Pages
and
GitLab Pages
are adequate for most personal, group and project pages, when website size and / or traffic have grown beyond what is feasible for these solutions, a more comprehensive hosting provider like Netlify may be considered.
Netlify provides its own CDN, so those that had been using Cloudflare for DNS and CDN can configure Cloudflare to provide only DNS, if they so choose.
Netlify is free
for single users, allowing a private GitLab, GitHub or Bitbucket repo (or other suitable source) to deploy to a public custom domain HTTPS website.
SSL certificates can be user-provided or can be created through Netlify for your custom domain.
Netlify provides a
comparison
of GitHub Pages and Netlify.
GitLab Pages allows user choice of static site generator (Hugo, Jekyll, etc.).
GitHub Pages can using
GitHub Actions for Hugo.
GitLab Pages private repos have a monthly runtime quota.
Netlify has a
monthly traffic quota
on the free tier, and
monthly build quota.
For sites that are becoming very popular, GitHub Pages will simply want you to move elsewhere, while Netlify will have a paid plan to offer.
This process may be too burdensome for those with limited IT or bandwidth resources, or simply the lack to time to learn how to do this.
Netlify uses webhooks to detect a git push to the website GitLab repo, and then builds the site.
Netlify has a CDN and DDoS protection built-in.
Even if the other features aren’t needed, a key feature is the ability to have the website code in a private repo with unlimited public website deployments and traffic.
Build minute limits (such as on GitLab and Netlify) can legimately be worked around by building the site locally on your laptop and pushing the publish-ready HTML.
Note: This process may take down your site for a day or two if things go wrong.
Even under normal conditions, all site visitors may need to allow an HTTPS exception due to SSL certificate error since Netlify requires all DNS servers to update before generating the domain certificate.
if not already on GitLab, copy your website repo to GitLab (any name repo is fine).
disable Auto DevOps and ensure no file named .gitlab-ci.yml exists.
Login to Netlify using Gitlab, which will ask for your website repo.
pick a custom Netlify subdomain like mycompany.netlify.app. Ensure this site is totally working before proceeding.
Set Cloudflare or whatever your DNS provider is to point CNAME or A to mycompany.netlify.app (THIS IS THE PART THAT CAN TAKE YOUR MAIN WEBSITE DOWN!)
Under Netlify Domain Management → HTTPS → Verify DNS config, ensure the verification completes. Until the DNS change propagates worldwide, your main HTTPS domain visitors are getting SSL verification errors. They can use https://mycompany.invalid instead of https://mycompany.invalid temporarily. Do this at a low traffic time range!
If using Cloudflare CDN, the old records may point to DigitalOcean while the new records point to *.netlify.app
If the Git commits have already been pushed to remote, this process will require other users of the repo to reset, rebase or reclone, as for any Git operation that edits history.
If the Git commits have not already been pushed, then this process will not require extra steps from other repo users.
If one has installed
CMake for native Windows
AND has not installed CMake in Cygwin, Cygwin will try to use the Windows CMake, which will not work properly.
A solution is to install CMake in Cygwin to properly use CMake from Cygwin.
Assuming a Python package named “myprogram”, have a directory structure like
pyproject.toml
myprogram/
__init__.py
A minimal
pyproject.toml
is all that’s required for a PyPI Python package.
The package “version” number must be distinct for each release, or PyPI will prevent upload.
Intel oneAPI on Windows provides an easy way to use Intel Fortran with HDF5 on Windows.
The Intel oneAPI compile and link commands on Windows are distinct from those on Linux, perhaps reflecting the internal use of Visual Studio on Windows.
The HDF5 1.10.6 release changed the naming convention for the HDF5 Fortran library files on all operating systems.
old: hdf5hl_fortran.
new: hdf5_hl_fortran.
If experiencing trouble finding HDF5 with CMake, first try current CMake plus a current HDF5 build.
If that still fails, try an alternate
FindHDF5.cmake
as a fallback. It works well with Intel compilers and HDF5 across operating systems including Windows.
Carriers in numerous countries worldwide have shutdown 2G networks to free spectrum for 4G and 5G services.
Embedded modems such as automotive (OnStar) and alarm systems may again be impacted by these shutdowns.
In developing regions 2G networks may linger for several more years, due to cost-effective legacy devices.
Those designing IoT and other embedded devices with cellular modems should consider LPWA 4G LTE, particularly Cat M1 and NB1 to help ensure global functionality.
Each geopolitical region has unique LTE bands, but often OEM modules with the same pinout have region-specific models.
OEM LTE modules will incorporate at least some bands for each region, so that global LTE roaming for even inexpensive LTE modems will become increasingly common.
A local Git repo can become corrupted in rare circumstances, perhaps doing a git commit just as a computer crashes or loses power.
A common symptom of a corrupted local Git repo is any Git command except for perhaps git diff giving error:
fatal: your current branch appears to be broken
The changes are likely still present, as seen via git diff.
Previous commits that were not pushed to remote are likely present as well in the form of the modified files,
but the historical local Git commit deltas may not be recoverable.
This recovery will in effect “squash” the local commits that weren’t previously pushed to remote.
NOTE: work done on other branches that weren’t pushed to remote may not be retrievable.
Copy the directory tree of the affected local Git repo, preferably on another hard drive or in the cloud.
git clone a fresh copy of the remote Git repo to a new directory
Compare folders to incrementally copy into the new directory the changes from the old corrupted directory.
If there are a large number of changes, consider making the changes via multiple Git commits.
Missing LaTeX fonts can be added via TeXLive or MikTeX.
Using the symbolic fonts is as easy as:
\documentclass[a4paper,12pt]{article}\usepackage{fontawesome5}\begin{document}\faGithub This is a GitHub logo.
\end{document}
This may need to use XeLaTeX.
We use fontawesome5 instead of obsolete fontawesome, which is version 4.
FontAwesome5 is in TeXLive 2018.
TeXLive is popular across operating systems.
Linux users can use system package managers to install groups of TeXLive packages.
Advanced Linux TeXLive users can
independently setup TeXLive
to get the latest packages individually, to save hundreds of megabytes of install space.