LaTeX
wrapfig.sty \wrapfigure
is a great way to save space, but has several quirks to workaround.
Overleaf also
notes the touchiness
of wrapfigure.
The typical failure mode is that the wrapped figure will not appear, and the document text is wrapped for a few pages with blank column.
The LaTeX log doesn’t give an error, just a warning about a missing figure reference.
Workarounds:
Don’t have wrapfigure next to a list (enumerated or itemized).
put a blank line before and after wrapfigure stanza in the document body
Example: for #2, in the .tex file have like
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut faucibus ex.
\begin{wrapfigure}{R}{0.5\textwidth}\includegraphics{...}...
\end{wrapfigure}Donec sed commodo eros. Sed vehicula elit ac tincidunt lacinia.
A bug I
fixed for Numpy 1.19.0
is Numpy internally did not correctly compare two-digit version numbers.
To use GCC ≥ 10 with Numpy upgrade Numpy to at least version 1.19.0.
The PDF version output by LaTeX is set by \pdfminorversion and this also sets the newest PDF version that LaTeX can use via \includegraphics.
If \pdfminorversion default or setting is too low, by default LaTeX only issues a warning like:
PDF inclusion: found PDF version <1.7>, but at most version <1.5> allowed
and the PDF-input graphic will be missing.
The too-old default PDF version of LaTeX is increasingly becoming an issue as PDF creation tools are rightfully increasing their default PDF output version from the ca. 2003 PDF v1.5 specification.
To mitigate these issues, we do two things near the top of each project’s main LaTeX file:
create an error if the current PDF version is too old
\pdfinclusionerrorlevel=1
set the default PDF version to ca. 2008 PDF v1.7
\pdfminorversion=7
It’s OK for these PDF configuration lines to come after
LaTeX directives.
When files need to be shared between two computers, whether at office, home or conference, major operating systems have peer-to-peer file sharing built in.
Windows Nearby sharing
uses Bluetooth only, which means file transfer speeds are a tiny fraction (far slower) than even 3G tethered internet.
Windows Nearby has the advantage like other operating systems of not requiring internet, but the real-world file transfer throughput is on the order of 1 Mbps, due to the limitations of Bluetooth itself and interference from other 2.4 GHz devices, even when the two laptops are less than 3 meters apart.
Windows Nearby file sharing is generally not practical for files over about 10 megabytes, due to the transfer rate of about 100..200 kilobytes / second in real-world use.
That is, a 10 megabyte file takes about 2 minutes to transfer using Windows Nearby.
Apple
AirDrop
is much faster than Windows Nearby since AirDrop uses Bluetooth to negotiate a peer-to-peer WiFi connection that doesn’t rely on WiFi AP (router).
Depending on the RF congestion and the nature of files transferred (few large files faster than many small files) the data throughput of AirDrop can be in the 100..500 Mbps range, 100 times faster than Windows Nearby sharing.
It would be very beneficial if Windows Nearby would use adhoc WiFi like AirDrop.
The deprecated Android Beam used NFC to negotiate a Bluetooth connection, which was very slow like Windows Nearby.
Android Nearby
is reported to a possible feature in Android 11, ChromeOS and Chrome browsers.
We will hope that Android Nearby will use WiFi like AirDrop for useful speed.
Linkchecker-markdown
is a very fast Python module that checks internal and external website links using the raw Markdown before rendering by the static site generator.
Avoid broken internal links by using a Git pre-commit hook to check all internal links upon each “git commit”.
In the top directory of the Markdown website repo, do:
git config core.hooksPath .git/hooks
add the file .git/hooks/pre-commit
(no .py extension)
GCC / Gfortran 10 brought new warnings for arrays too big for the current stack settings, that may cause unexpected behavior.
The warnings are triggered like:
real::big2(1000,1000)
Warning: Array ‘big2’ at (1) is larger than limit set by ‘-fmax-stack-var-size=’, moved from stack to static storage. This makes the procedure unsafe when called recursively, or concurrently from multiple threads. Consider using ‘-frecursive’, or increase the ‘-fmax-stack-var-size=’ limit, or change the code to use an ALLOCATABLE array. [-Wsurprising]
This is generally a true warning when one has assigned arrays as above too large for the stack.
Simply making the procedure recursive may lead to segfaults.
As with the Intel oneAPI heap-arrays command-line options, there could be a penalty in speed by having large arrays drive off the stack into heap memory.
Newer version of compilers generally have more useful and detailed warning messages.
As with any compiler, newer versions of Gfortran may require rebuilding other libraries linked with the Fortran compiler if the ABI presented by
libgfortran
changes.
On Linux, one can switch Gfortran versions with
update-alternatives.
If experiencing errors getting any version of gfortran installed in Ubuntu, try:
add-apt-repository universe
The latest GCC / Gfortran for Ubuntu is available from the
Ubuntu-test PPA.
Add Ubuntu-test PPA by:
Astrometry.net is easy to use on Linux, macOS, and Windows.
Windows uses Windows Subsytem for Linux for Astrometry.net.
To get star index files, use
downloadIndex.py.
Download/install the pre-compiled binary code:
Linux / Windows Subsystem for Linux: apt install astrometry.net
curl -O https://astrometry.net/downloads/astrometry.net-latest.tar.gz
tar xf astrometry.net-*.gz
cd astrometry.net-*
make
make py
make extra
make install INSTALL_DIR=~/astrometry.net
Add to ~/.profile
exportPATH="$PATH:$HOME/astrometry.net/bin"
do not use ~ to avoid error:
cannot find executable astrometry-engine
Uncomment inparallel in ~/astrometry.net/etc/astrometry.cfg (or /etc/astrometry.cfg)