I hereby claim:
- I am xevix on github.
- I am xevix (https://keybase.io/xevix) on keybase.
- I have a public key ASDKzeeW4q_b8UXMKqF-posWghvBE63A41Msr3QCiHTrxwo
To claim this, I am signing this object:
| WITH hive_cols AS ( | |
| PIVOT ( | |
| SELECT | |
| file.split('/').list_filter(lambda x: x.contains('=')).list_transform(lambda x: x.split('=')).unnest() AS kv, | |
| file | |
| FROM glob('/path/to/hive/**/*.parquet') | |
| ) | |
| ON kv[1] | |
| USING first(kv[2]) | |
| ) |
| $ GEN=ninja make unittest_release | |
| mkdir -p ./build/release && \ | |
| cd build/release && \ | |
| cmake -G "Ninja" -DFORCE_COLORED_OUTPUT=1 -DLOCAL_EXTENSION_REPO="" -DOVERRIDE_GIT_DESCRIBE="" -DDUCKDB_EXPLICIT_VERSION="" -DCMAKE_BUILD_TYPE=Release ../.. && \ | |
| cmake --build . --config Release | |
| -- Found Python3: /usr/bin/python3 (found version "3.13.3") found components: Interpreter | |
| -- The C compiler identification is GNU 14.2.0 | |
| -- The CXX compiler identification is GNU 14.2.0 | |
| -- Detecting C compiler ABI info | |
| -- Detecting C compiler ABI info - done |
| [~/external]$ git clone git@github.com:duckdb/duckdb.git duckdb_tests | |
| Cloning into 'duckdb_tests'... | |
| remote: Enumerating objects: 707000, done. | |
| remote: Counting objects: 100% (166/166), done. | |
| remote: Compressing objects: 100% (95/95), done. | |
| remote: Total 707000 (delta 112), reused 71 (delta 71), pack-reused 706834 (from 2) | |
| Receiving objects: 100% (707000/707000), 347.96 MiB | 17.11 MiB/s, done. | |
| Resolving deltas: 100% (590703/590703), done. | |
| Updating files: 100% (14122/14122), done. | |
| [~/external]$ cd duckdb_tests |
| #!/bin/bash | |
| ## WARNING: no warranty express or implied. Messing with Steam Deck internals without being familiar with a Linux terminal could lead to a broken system. Proceed with caution. | |
| # Set password for `deck` user in order to have password for sudo commands (remember this password) | |
| passwd | |
| # Disable read-only | |
| sudo steamos-readonly disable | |
| # Set up Pacman |
| import pandas as pd | |
| import duckdb | |
| import pygrib | |
| import sys | |
| # Testing data from: https://data.ecmwf.int/forecasts/20250211/00z/aifs/0p25/oper/ | |
| # ECMWF is the European Centre for Medium-Range Weather Forecasts. | |
| def grib_to_df(grb): | |
| attrs = str(grb).split(":") |
| -- Tested on 2024 MBP M4 Max 128G RAM 16 cores (12P, 4E), DuckDB 1.1.3, Sequoia 15.1 | |
| -- Taxi data set: https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page | |
| -- Inspired by: https://duckdb.org/2024/10/16/driving-csv-performance-benchmarking-duckdb-with-the-nyc-taxi-dataset.html | |
| -- taxi_data_2019: ~84M rows | |
| -- UNPIVOT (naive) | |
| -- ~5500ms (1.1.3) | |
| -- ~4500ms (1.2) | |
| -- ~330ms (2025/02/13 git HEAD) https://github.com/duckdb/duckdb/pull/16221 | |
| WITH locations AS ( |
| fname = 'pwned-passwords-2.0.txt' | |
| # Change me | |
| # echo -n password | shasum -a 1 | awk '{print toupper($1)}' | |
| password = '7C4A8D09CA3762AF61E59520943DC26494F8941B' | |
| search = password | |
| with open(fname) as f: | |
| for line in f: | |
| sha = line[:40] | |
| if search == sha: |
I hereby claim:
To claim this, I am signing this object:
| trait Folder { | |
| type Item; | |
| fn foldl1<F>(self, f: F) -> Option<Self::Item> | |
| where | |
| F: FnMut(Self::Item, &Self::Item) -> Self::Item; | |
| } | |
| impl<T: Clone> Folder for Vec<T> { | |
| type Item = T; | |
| fn foldl1<F>(self, mut f: F) -> Option<Self::Item> |
| pub fn combine_all_option<T>(xs: &Vec<T>) -> Option<T> | |
| where | |
| T: Semigroup + Clone, | |
| { | |
| match xs.first() { | |
| Some(head) => { | |
| // Dear lord this reads horribly | |
| xs[1..].iter().fold(Some((*head).clone()), |acc, x| acc.combine(&Some((*x).clone()))) | |
| } | |
| _ => None |