Skip to content

Instantly share code, notes, and snippets.

View scivision's full-sized avatar
💭
I will be slow to respond.

scivision

💭
I will be slow to respond.
View GitHub Profile
@scivision
scivision / blockquote.css
Created June 30, 2025 00:03
Hugo alert boxes
/* place under assets/css/blockquote.css */
/* General alert styling */
.alert {
padding: 1rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: .25rem;
}
@scivision
scivision / Readme.md
Created June 26, 2025 16:17
Matlab set own BLAS or LAPACK

Setting environment variables BLAS_VERSION or LAPACK_VERSION to the path to the desired BLAS or LAPACK library path overrides Matlab's own BLAS or LAPACK. Matlab may fail to work, but this is claimed to work even with AOCL libraries or MKL for example.

Reference

@scivision
scivision / Readme.md
Last active June 11, 2025 16:45
Quickly upload WSJT-X default log to LoTW

Upload recent WSJT-X contacts to LoTW using ARRL TSQL command line interface without needing a separate logging program.

WSJT-X can connect to a logging program daemon, but for those to wish to simply upload new QSOs to LoTW, this Python script does it all by itself.

Requirements

  • Python >= 3.10
@scivision
scivision / wspr_wsjtx_raw_archive.py
Last active June 9, 2025 17:31
Create tar archive of WSPR / WSJT-X raw audio save files
#!/usr/bin/env python3
import os
import tarfile
import platform
from pathlib import Path
import argparse
from datetime import datetime
a = argparse.ArgumentParser(
description="Compress and upload raw WSPR data to science archive."
@scivision
scivision / email_extract_attachment.py
Last active June 6, 2025 21:43
Extract attachements from .eml email downloaded file from GMail, email client, etc.
#!/usr/bin/env python3
"""
Use Python stdlib "email" to extract attachments from an .eml file
as obtained from an email client or Download from Gmail etc.
based on https://gist.github.com/urschrei/5258588
"""
from pathlib import Path
@scivision
scivision / Readme.md
Last active June 1, 2025 19:26
GCC Gfortran 15.1.0 new bug with -Wall flag

GCC Gfortran 15.1.0 has a new bug that is fixed in Gfortran 15.2.0 release on any operating system (Windows, macOS, ...) that is triggered by -Wall

gfortran -Wall wall.f90 && ./a.out

wall.f90:38:12: >

@scivision
scivision / Readme.md
Created May 25, 2025 06:31
PyPI upload from GitHub Actions without API token

For each package, go into PyPI projects and add a publisher.

This uses separate jobs for build and publish as recommended to avoid a poisoned package from hijacking the publish to put hostile code in a package.

@scivision
scivision / CMakeLists.txt
Created May 25, 2025 05:50
Maidenhead locator in Fortran. See https://github.com/space-physics/maidenhead/ for Python
cmake_minimum_required(VERSION 3.14...4.0)
project(Maidenhead LANGUAGES Fortran)
enable_testing()
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
add_compile_options(-fno-backtrace -fimplicit-none)
endif()
add_library(maidenhead OBJECT maidenhead.f90)
@scivision
scivision / CMakeLists.txt
Last active March 31, 2025 21:50
CMake file permissions for find_library, find_file, find_path
cmake_minimum_required(VERSION 3.29)
project(find_perm LANGUAGES NONE)
set(noread_shared ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}noread_shared${CMAKE_SHARED_LIBRARY_SUFFIX})
set(noread_static ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}noread_static${CMAKE_STATIC_LIBRARY_SUFFIX})
# EXISTS requires read permissions
# https://cmake.org/cmake/help/latest/command/if.html#exists
# no read permissions means can't touch the file
@scivision
scivision / CMakeLists.txt
Last active May 25, 2025 03:58
time_t Year 2038 test with CMake, including _TIME_BITS=64
cmake_minimum_required(VERSION 3.20)
project(lang LANGUAGES C)
include(CheckSourceRuns)
include(CheckTypeSize)
check_type_size("time_t" TIME_T_SIZE)
if(NOT TIME_T_SIZE GREATER_EQUAL 8)