Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Precision is not a number.
-
conda-forge is the destination.
-
Cleanup should never be the programmer’s problem, and the right interface hides exactly the right amount of detail.
-
Packages, containers, and upstream repos I maintain or co-maintain.
-
Org mode numbered lists can mislead when ordinary paragraphs sit between items.
-
Smooth barriers don’t certify path convergence.
-
A pointer is a promise about data you do not own.
-
When co-authoring a paper in orgmode while collaborators edit the LaTeX on Overleaf, the review loop gets awkward: comments live in the .tex, changes happen in the .org, and neither side sees the other’s annotations.
-
Half the work in computational science is moving data between programs that disagree about how memory works.
-
PyTorch has a surprising amount of non-determinism baked into operations that look like they should be exact. index_add_ in particular accumulates floating-point values across threads, and the summation order changes between runs depending on how the OS s…
-
When a SLURM job launches N tasks from the same container image, every rank runs the entrypoint in parallel.
-
For blog posts and slides I normally embed Graphviz DOT directly in orgmode and let the export handle rendering.
-
Sometimes, within the pixi enviroment, multiple torch includes can clog the build.
-
Environments with julia often seem to have trouble with Pkg.install() and other commands with 1ERROR: Unable to load dependent library /path/to/project/.pixi/envs/docs/bin/..
-
Notes on cross-platform portability for scientific codes with legacy components.
-
Lesson planning with org and the Carpentries workbench To export with fenced blocks consider: 1(defun export-as-workbench-md () 2 "Export the current Org buffer to Carpentries-style Markdown using Pandoc." 3 (interactive) 4 (let* ((source-file (buffer…
-
Seth Larson has a nice short post on handling co-authors on Github without public emails, basically using jq to generate the noreply email address.
-
Unifying C++ and Python documentation.
-
Migrations # For dependency resolution and CI workflow snippet generation, rather than hard-code dependencies, often we prefer “migration” files, as discussed in the knowledge base.
-
Cache helpers like sccache tend to break local act usage, necessitating: 1 - name: Setup sccache 2+ if: ${{ !
-
Shell # To ensure shell blocks recognize project-specific paths and variables, use a named session and initialize the environment once.
-
For CMake driven C/C++ projects, compile_commands.json generation can be slightly painful, especially for mixed language projects 1.
-
Sometimes aggressive auto-formatting (via apheleia or rustic) happens to be unwelcome for certain projects which prefer a more artisinal approach to semantics 1.
-
Or when eOn is not EON… Background # Open source in academia remains fraught by existing “structures of power”, as a case-study, let’s consider a code I worked on and maintain called EON (or eOn, now).
-
Apropos nothing.
-
Falling backwards into POSIX.
-
Watching a pdf render from org-mode generated tex files is an exercise in futility.
-
Formatting R code which is typically managed in per-project environments can be quite annoying 1.
-
Since the commit hashes are altered, checking old pull requests for commits to cherry pick will not work.
-
On newer versions of orgmode (i.e. anything 9.7 or newer) something upstream breaks the manner in which ox-hugo handles links for sub-tree exports1.
-
Thoughts on parameter passing through the RTDB within NWChem.
-
To initialize (with single to get a clean history in the current repository): 1➜ git remote add hzeon git@github.com:HaoZeke/eOn 2➜ git fetch hzeon doCIdimer 3 josh-filter ':prefix=subrepos/eOn' FETCH_HEAD --single 4 git merge --allow-unrelated FILTERED_H…
-
mold is an easy win, with the following native file: 1[binaries] 2c_ld = 'mold' 3cpp_ld = 'mold' 4fortran_ld = 'mold' 5[built-in options] 6# mold 1.11.0 or later needed due to https://github.com/rui314/mold/issues/1017 7# --no-as-needed temporarily…
-
Usage notes for data storage within university constraints.
-
pre-commit accepts exclude keys which take python regular expressions, typically designed with regex101.
-
When specifying main manually, this will suffice: 1test_deps = _deps + dependency('Catch2') Which will pick up the pkgconfig configuration typically.
-
Slack is unusable.
-
To open the first unmerged file in emacsclient 1emacsclient -n $(git diff --name-only --diff-filter=U | head -n 1) or in nushell 1git diff --name-only --diff-filter=U | lines | first | each { |it| emacsclient -n $it }
-
Recently some of my older publications were accepted and naturally were archived on the Materials Archive.
-
Didn’t look into why too much but. 1sudo DevToolsSecurity --enable 2spctl developer-mode enable-terminal 3sudo security authorizationdb write system.privilege.taskport.debug allow does the trick.
-
I was having trouble launching ovito from a desktop file.
-
As kanged from NumPy. 1set -xe 2# Kanged from NumPy: 3# https://github.com/numpy/numpy/blob/main/tools/wheels/cibw_before_build.sh 4 5# remove any cruft from a previous run 6rm -rf build 7 8# TODO: delete along with enabling build isolation by uns…
-
Using containers to SSH into intranet machines without routing all traffic through a VPN Background # Most academic or corporate networks gate access to internal resources (like clusters or services) via their local intranet, requiring a VPN connection (e…
-
Recently upgraded my system only to have sway crash with an egl error, which was odd, given that I’m on an Intel GPU.
-
A quick glance at the output of lsusb yields: 1Bus 003 Device 004: ID 04f2:b751 Chicony Electronics Co., Ltd Integrated Camera Which suggests the following rule: 1cat /etc/udev/rules.d/51-android.rules 2SUBSYSTEM=="usb", ATTR{idVendor}=="04f2", MODE="066…
-
For a laptop, assuming the primary screen is always the one it comes with, an easy approach to position screens relatively left and right of the monitor is: 1# Get display names, -p for plain text 2swaymsg -t get_outputs -p | grep Output 3Output eDP-1 'Ch…
-
Re-pairing bluetooth devices in Windows and Linux is annoying. 1 The ArchWiki article on bluetooth mouse management provides a link to a helpful gist.
-
cryptsetup has partial support for bitlocker encrypted drives, but dislocker works better with dual booted machines.
-
I am not particularly fond on web based programming workflows.
-
Background # Recently I found myself writing a bunch of search and replace one-liners. 1export FROM='Matrix3d'; export TO='Matrix3S'; ag -l $FROM | xargs -I {} sd $FROM $TO {} Which works, especially since both ag and sd are rather good, but it is still:…