Skip to content

Instantly share code, notes, and snippets.

@skoranda
skoranda / healpix_vs_visit_crossmatch.md
Created March 10, 2026 13:59
healpix_vs_visit_crossmatch

Why HEALPix Alert Clustering Is Better Than Using Rubin Visit Pointings for Gaia Cross-Matching

When cross-matching large batches of Rubin Observatory (LSST) alerts against a large catalog such as Gaia stored in HATS format, a common question is whether telescope visit pointing information can be used to restrict the search region. While this seems intuitive, in practice grouping alerts by HEALPix cell is usually more efficient and scalable.

This document explains why.


1. Alerts Already Provide Precise Sky Positions

@skoranda
skoranda / test_sync_in_login[google]_2
Created April 8, 2021 15:13
pytest -vv tests/dbgap_sync/test_user_sync.py::test_sync_in_login[google]
$ pytest -vv tests/dbgap_sync/test_user_sync.py::test_sync_in_login[google]
=============================================================== test session starts ================================================================
platform linux -- Python 3.8.6, pytest-3.10.1, py-1.10.0, pluggy-0.13.1 -- /home/skoranda/CILogon2/BioCommons/GEN3/fence/venv/bin/python3
cachedir: .pytest_cache
rootdir: /home/skoranda/CILogon2/BioCommons/GEN3/fence, inifile:
plugins: flask-0.11.0, cov-2.9.0
collected 1 item
tests/dbgap_sync/test_user_sync.py::test_sync_in_login[google] FAILED [100%]
@skoranda
skoranda / test_sync_in_login[google]
Last active April 8, 2021 14:49
test_sync_in_login[google]
========================================== FAILURES ==========================================
_________________________________ test_sync_in_login[google] _________________________________
syncer = <fence.sync.sync_users.UserSyncer object at 0x7f01554c3790>
db_session = <sqlalchemy.orm.session.Session object at 0x7f01551d5220>
storage_client = <MagicMock id='139643754483616'>
rsa_private_key = '-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAziwKb8/ZvGYUeYKeaE4N1KpHVikYwllulx+ZuIxH2aGm7aqq\nNy5fv1KYjBDOUsysdG...SS+rNG1fY8iQX5GDkscw2kWDyxB\nhhquMDIfed+ZbnrO1qRiB5zkLu7ydbLxxSDPRvxi8QqkAcv6bwhOx5o=\n-----END RSA PRIVATE KEY-----\n'
kid = 'test-keypair', monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f01552418b0>
@pytest.mark.parametrize("syncer", ["google"], indirect=True)
### Keybase proof
I hereby claim:
* I am skoranda on github.
* I am skoranda (https://keybase.io/skoranda) on keybase.
* I have a public key ASDOPXHSD98bVLgRhZWvAMa-bVyEj_A98X_8-HoXHTcfLQo
To claim this, I am signing this object:
# Known incompatible clients. See https://www.chromium.org/updates/same-site/incompatible-clients
#
# All browsers on iOS 12
BrowserMatch "\(iP.+; CPU .*OS 12[_\d]*.*\) AppleWebKit\/" DO_NOT_EDIT_COOKIE=1
# Safari on MacOS 10.14
BrowserMatch "\(Macintosh;.*Mac OS X 10_14[_\d]*.*\) AppleWebKit\/.*Version\/.* Safari\/" DO_NOT_EDIT_COOKIE=1
# Embedded browsers on MacOS 10.14
BrowserMatch "^Mozilla\/[\.\d]+ \(Macintosh;.*Mac OS X 10_14[_\d]*.*\) .*AppleWebKit\/[\.\d]+ \(KHTML, like Gecko\)$" DO_NOT_EDIT_COOKIE=1
@skoranda
skoranda / mcw-proxy-idp-metadata.xml
Created April 3, 2019 14:30
MCW SAML proxy IdP side metadata
<?xml version="1.0" encoding="UTF-8"?>
<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
xmlns:remd="http://refeds.org/metadata"
entityID="https://federation-proxy.mcw.edu/idp">
-----BEGIN CERTIFICATE-----
MIIENDCCApygAwIBAgIJAMtWEaZ+tDh0MA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
BAMTGGZlZGVyYXRpb24tcHJveHkubWN3LmVkdTAeFw0xOTAyMDExNzE5NDJaFw0y
OTAxMjkxNzE5NDJaMCMxITAfBgNVBAMTGGZlZGVyYXRpb24tcHJveHkubWN3LmVk
dTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAMvyBcM7OXOvb1ezPKHe
JKpgPME1SY/Rmrj/u4qp0bP6tMqo7QnzJY/DlOgfQDaldEInDRuM9+KHzdklkD6B
FG4vuNlu/nVoYiNIDFB5UrRJadbHTyMUoXBWJgaXwzhnmb/tcRw8SKYZ9ISigqII
lxFU7mKl+lC6wr+uZ7PWUNmFqd1/5tvGwXxRGcOp5D17R1hAdHCXg3ikn0QC6X3M
Bnvb/XC3Stmbibd+MRZ3/F7BvqYbDNjc1Jn3suMsZEfM/c2A7ytb2z77n79gvY0p
FvYk/m2E2zoOl7ofuDu2DoH4gVI1Eea5bOlAPosvOnEvDcN+kG7s0GKVxb5BQWX/
@skoranda
skoranda / sha1.js
Created November 4, 2018 14:54
SHA1 used in some IdP discovery services
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
* in FIPS 180-1
* Version 2.2 Copyright Paul Johnston 2000 - 2009.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for details.
*/
var hexcase = 0;
var b64pad = "";