← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 173
  1. Precision is not a number.

  2. conda-forge is the destination.

  3. Cleanup should never be the programmer’s problem, and the right interface hides exactly the right amount of detail.

  4. Packages

    Packages, containers, and upstream repos I maintain or co-maintain.

  5. Org mode numbered lists can mislead when ordinary paragraphs sit between items.

  6. Smooth barriers don’t certify path convergence.

  7. A pointer is a promise about data you do not own.

  8. 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.

  9. Half the work in computational science is moving data between programs that disagree about how memory works.

  10. 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…

  11. When a SLURM job launches N tasks from the same container image, every rank runs the entrypoint in parallel.

  12. For blog posts and slides I normally embed Graphviz DOT directly in orgmode and let the export handle rendering.

  13. Sometimes, within the pixi enviroment, multiple torch includes can clog the build.

  14. 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/..

  15. Notes on cross-platform portability for scientific codes with legacy components.

  16. 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…

  17. 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.

  18. Unifying C++ and Python documentation.

  19. 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.

  20. act locally for sccache

    Cache helpers like sccache tend to break local act usage, necessitating: 1 - name: Setup sccache 2+ if: ${{ !

  21. Shell # To ensure shell blocks recognize project-specific paths and variables, use a named session and initialize the environment once.

  22. For CMake driven C/C++ projects, compile_commands.json generation can be slightly painful, especially for mixed language projects 1.

  23. Sometimes aggressive auto-formatting (via apheleia or rustic) happens to be unwelcome for certain projects which prefer a more artisinal approach to semantics 1.

  24. 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).

  25. Apropos nothing.

  26. Back to bash

    Falling backwards into POSIX.

  27. Notify on pdf compilation

    Watching a pdf render from org-mode generated tex files is an exercise in futility.

  28. Formatting R code which is typically managed in per-project environments can be quite annoying 1.

  29. Since the commit hashes are altered, checking old pull requests for commits to cherry pick will not work.

  30. 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.

  31. Thoughts on parameter passing through the RTDB within NWChem.

  32. 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…

  33. 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…

  34. Usage notes for data storage within university constraints.

  35. precommit selections

    pre-commit accepts exclude keys which take python regular expressions, typically designed with regex101.

  36. Catch2 and meson

    When specifying main manually, this will suffice: 1test_deps = _deps + dependency('Catch2') Which will pick up the pkgconfig configuration typically.

  37. Terminal Slack with Pidgin

    Slack is unusable.

  38. 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 }

  39. Cold storage compression

    Recently some of my older publications were accepted and naturally were archived on the Materials Archive.

  40. Remote lldb on MacOS

    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.

  41. I was having trouble launching ovito from a desktop file.

  42. 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…

  43. 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…

  44. Mesa Bugs with Sway

    Recently upgraded my system only to have sway crash with an egl error, which was odd, given that I’m on an Intel GPU.

  45. 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…

  46. Extending sway monitors

    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…

  47. Sharing Bluetooth Keys

    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.

  48. Dual-boot Bitlocker Drives

    cryptsetup has partial support for bitlocker encrypted drives, but dislocker works better with dual booted machines.

  49. Mamba and Colab

    I am not particularly fond on web based programming workflows.

  50. xonsh Excursions

    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:…