profile
viewpoint
Inanna Malick inanna-malick Oakland www.recursion.wtf Rust, Haskell, various recursion schemes shenanigans. they/them. 🏳️‍⚧️ twitter.com/inanna_malick

inanna-malick/hgit 48

Toy version of Git/Mercurial built using recursion schemes. Implements lazy diffing and merging of merkle dir trees. Solves toy versions of some core problems in https://github.com/facebookexperimental/mononoke

inanna-malick/ClockworkSemaphore 14

single-page twitter clone

inanna-malick/merkle-schemes 6

apply merkle-type hash annotations to arbitrary recursive data structures as defined using recursion schemes

inanna-malick/niXmonad 4

nixos x xmonad

inanna-malick/constraint-reader 2

A modification to the ReaderT pattern in which capabilities are paramterized on their _constraints_ (as in `Data.Constraint`) and not the concrete monad stacks they run in

inanna-malick/imminent-axolotl 2

what will eventually become my personal site (experiment in CI/CD via CircleCI/AWS CodeDeploy)

inanna-malick/cursed-slack-build 1

extremely cursed, build requires slack API access to compile. please do not do this.

inanna-malick/dvorak 1

dvorak practice program in haskell

inanna-malick/fpinscala 1

Code, exercises, answers, and hints to go along with the book "Functional Programming in Scala"

issue commenthawkw/sharded-slab

make index type `NonZeroUsize`

I have a sketch of what it might look like here - it's not quite complete (I don't quite understand everything that's going on around key generation & what would be required to skip 0 there) but it shows the approximate scope of the changes https://github.com/inanna-malick/sharded-slab/tree/associated-key-type

GallagherCommaJack

comment created time in 23 days

push eventinanna-malick/sharded-slab

Inanna Malick

commit sha e0e661990a266599a62e16af88d32654cda11821

inline notes, refactoring around key gen. does not compile.

view details

push time in 23 days

create barnchinanna-malick/sharded-slab

branch : associated-key-type

created branch time in 23 days

issue commenthawkw/sharded-slab

make index type `NonZeroUsize`

Would it be reasonable to add an associated Key type to the Config trait, with the default being usize to allow for custom configs that use std::num::NonZeroUsize instead?

GallagherCommaJack

comment created time in a month

fork inanna-malick/sharded-slab

a lock-free concurrent slab (experimental)

fork in a month

push eventinanna-malick/cargo-guppy

Rain

commit sha cd7030e78efa430eafdbf523d9641a5108cc536b

[guppy-summaries] move diff code into the diff module Keeps documentation a bit neater.

view details

Rain

commit sha eca6aa0720398371823c3d45509b123dcf7cb5af

cargo update

view details

Rain

commit sha b225ef259b5b995766745adbba50be467b36c7cb

[guppy] drop some unnecessary &muts in MetadataCommand cargo_metadata used to require them, but starting version 0.10 it no longer does.

view details

Rain

commit sha c2ee79d0d72204dc79bd4439152a9d2235f6196a

[cargo-guppy] add a command to move crates within a workspace This allows for easy and convenient refactorings of crates within a workspace.

view details

Rain

commit sha 33f6144bbc05adc8d5aa26ad5fdec1e59f323074

[cargo-guppy] upgrade to toml_edit 0.2.0 Contains ways to mutate arrays.

view details

Rain

commit sha d814bf26603ba4e0a9c0177d8d04f409200b826e

[cargo-guppy] use MAIN_SEPARATOR rather than a forward slash Ah, Windows.

view details

Inanna Malick

commit sha ff1deca7e2110b71898392d238b02fc868162ef9

use proptest to run cargo diff with many generated config options, via cargo-compare --check

view details

Rain

commit sha f05bae72f78a179b1632a5c15ce3aff7d33e5918

update cargo-guppy README

view details

Rain

commit sha c765e0012d324fc7ca1683d30dfa8b06c9aeb96c

[meta] prepare for releases

view details

Rain

commit sha 6ada9fcf2364b429c3d8434531006aa3473242aa

[target-spec] update changelog

view details

Rain

commit sha 82fa9f77d1eb6951bef25829ad780ca2cbf29a8f

[guppy] update README

view details

Rain

commit sha 89a638294914ecbe876f0d03f322d229a1a67b0e

[cargo-guppy] update README

view details

Rain

commit sha e0c362982ebbb58c4e93b2c92a5447a949f59bbf

[meta] add CI check for readmes being up to date

view details

push time in a month

push eventinanna-malick/cursed-slack-build

Inanna Malick

commit sha 138c0ea261a1e9b2891e4a32e8deab4638be1caf

Create README.md

view details

push time in a month

create barnchinanna-malick/cursed-slack-build

branch : master

created branch time in a month

created repositoryinanna-malick/cursed-slack-build

extremely cursed, build requires slack API access to compile. please do not do this.

created time in a month

fork inanna-malick/filebot-nix

Nix derivation for Filebot

fork in 2 months

push eventinanna-malick/cargo-guppy

Inanna Malick

commit sha 8a631e21d611252046624d3c1e757e0e57f6dec2

use FeatureDiff to simplify diff checking

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Rain

commit sha a1d3429d08a2e8f310b48ae0485036cfaba1d2b9

[cargo-compare] better diff presentation Use something more sophisticated than a plain `Debug` impl.

view details

Rain

commit sha dfee3059a9666b9c7c9fcadc10eb0603ac3903f6

[cargo-compare] upgrade to latest cargo

view details

Rain

commit sha e96bea421b16e6d488167d6fa86f438db85d32c5

[cargo-compare] add a verbose method to print out unchanged info

view details

Rain

commit sha d5781f069ea57b2d0ec80fddb410978eb1b0f2d5

[guppy] fix cargo set computation for proc macros Proc macros are built on the host, not the target.

view details

Rain

commit sha 99a36d5d6ef99e4033b6967503647c1b791dfdcb

[guppy] cargo v2 resolver: fix initial detection for host targets Variable shadowing, whoops. This wasn't covered in CI because we weren't running our proptests properly. That's covered in #145.

view details

Rain

commit sha a3e37432a0177a4912efea8c1bd1f32ff198af81

[guppy] cargo: keep initial proc macros in target set This is how `cargo` behaves, so we should match this behavior.

view details

Rain

commit sha 619ebc3954b6dc5827c1c650815bc153ca7beb0b

[cargo-compare] fix proptests Whoops, we weren't checking if the test actually failed.

view details

Rain

commit sha 0ad3792058d3d4ccabd6bf838bf4578e3e027681

[meta] update packages Update everything, including cargo to pick up the fix for https://github.com/rust-lang/cargo/pull/8319.

view details

Rain

commit sha 513e24c66e581e6d25bdda2182cf51dabc4f230e

[guppy] do v2 resolution in two phases as well We need to handle some special cases around the v2 resolver overestimating the feature set. `cargo-compare` is now updated to use the intermediate set with the overestimate of features.

view details

Rain

commit sha 2a79d2fcc32a192a10b0d3293af2776ba45113c7

[guppy] disable building initial proc macros on target by default Most of the time, one only wants initial proc macros built on the host, not on the target. Add a flag for the cases where proc macros are desired on the target as well.

view details

Rain

commit sha 4c9d1d130091aa28f83be61bb7a261ff0e996be5

[guppy] fixes to make cargo clippy pass clippy 1.44 adds some new lints.

view details

Rain

commit sha 4623d9cdb94c6d42f2aa7a75f5a4094c25c6d925

[guppy] represent package source It's useful to figure out where packages come from.

view details

Rain

commit sha 63c2306b2527741eb63e199e64619ee24970c99d

[guppy] rename prop09 to prop010 The proptest version was bumped.

view details

Rain

commit sha 85d641058925d289049b5f1348fc28e4150cff09

[target-spec] upgrade to cfg-expr 0.4.1 This introduces support for custom platforms.

view details

Rain

commit sha b87ee423ef2324243380f180b0d34f7eda58a8d2

[target-spec] allow creating a custom platform from a TargetInfo Custom platforms often show up in embedded and similar environments. This does mean that cfg_expr becomes a public dependency. Expose the most relevant parts of it.

view details

Rain

commit sha 1e885e67411d922bc0e232f98a90e904f1849061

[target-spec] allow creating a custom, exact target spec

view details

Rain

commit sha 9ccd24e025eaa2a8a9d1214c57fd0bd954411d3a

[guppy-summaries] introduce a new crate for summaries This crate contains code that can generate and compute diffs for *build summaries*. Build summaries will be used by `guppy` to serialize information about a particular `CargoSet` instance.

view details

Rain

commit sha 5b00722c81530811c8aa527ca4b5082930c5079d

[guppy] split up cargo.rs into several files Going to make it easier to do upcoming work on summaries.

view details

Rain

commit sha 96d8e9d8919b52feafcab2665f44c449223f7123

[guppy] allow using an owned platform in CargoOptions I've found this to be useful in a few spots.

view details

Rain

commit sha 839f60f1bc6c0524650bff3a46cfc6d58feadde6

[circleci] build crates separately This ensures that feature unification doesn't happen.

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Rain

commit sha 1490d7c68ae3bad673276ed1b7a0355acf2f3bf9

[guppy] upgrade to petgraph 0.5.1 This allows us to simplify some callbacks.

view details

Rain

commit sha 09c2b09bc5d36309fe8d27d0ba3c3b4764c5ddc2

[guppy] simplify edge-handling code petgraph 0.5.1 now has into_unreversed() which allows for a lot of code to be simplified.

view details

Rain

commit sha 1ad008c2b8a98aeb27e87610df70da81d3a686a3

[guppy] remove uses of mem::replace `once_cell` 1.4.0 has a new `take` method, and the other uses were unnecessary.

view details

Rain

commit sha 9a2464e7d8d8027173e58ead340f1de585fc7081

cargo update

view details

Rain

commit sha 67f764f154c67ec7435c465e494391c262ccccd0

update README for some changes

view details

Rain

commit sha 177e38115ac4aab89e5e2ddec1d6a4bfa8e7f1ef

[cargo-guppy] add resolve-cargo --build-kind This allows for printing out host, target or all dependencies. The previous output format made it inconvenient to pass the list along to other CLI tools. Please enter the commit message for your changes. Lines starting

view details

Rain

commit sha 47c0a1fcdcb27e3d5449af3fbf94790cdbdbc58c

[cargo-guppy] add resolve-cargo --omit-edges-into This is useful to try excluding a set of packages and see how a build set changes.

view details

Rain

commit sha 592d4b5381526e66fc9d46f5b4e8adb5a465a0a8

[guppy] add support for postfilters Use it in `cargo-guppy` to implement filtering for third-party deps.

view details

Rain

commit sha 69428ba3d2a3b9c08aeda82c0a82d45c519c721e

[guppy] add a convenience wrapper for a postfilter fn This makes it easy to write postfilters inline.

view details

Rain

commit sha a0781250a1a32360c0e5ef3422077cc97ef20fa7

[guppy] add build dep edges to `CargoSet` proc-macro + build dep edges together form the set of edges that go from target packages to host ones.

view details

Rain

commit sha 258d88360963336c270901cc3fd0eb3dbb3aaa90

[cargo-guppy] add resolve-cargo --build-kind TargetAndProcMacro This provides a reasonable set of code that's directly included.

view details

Rain

commit sha 158a5a58e86dc14088dc384e0bc288dd99bafc10

[cargo-guppy] print errors to stderr

view details

Rain

commit sha 42d76a29c02a8bec863d896ef4ff88786b1a679b

[guppy] upgrade to cargo_metadata 0.10

view details

Rain

commit sha 027874ed9d13e6da4c56c10774bbceab24b73237

[proptest] upgrade to 0.10

view details

Rain

commit sha 3af81d07482eaff66e54bb1fd39757dc9f8d6634

[cargo-guppy] add resolve-cargo --resolver-version This allows for the v2 resolver to be activated as necessary.

view details

Rain

commit sha a1d3429d08a2e8f310b48ae0485036cfaba1d2b9

[cargo-compare] better diff presentation Use something more sophisticated than a plain `Debug` impl.

view details

Rain

commit sha dfee3059a9666b9c7c9fcadc10eb0603ac3903f6

[cargo-compare] upgrade to latest cargo

view details

Rain

commit sha e96bea421b16e6d488167d6fa86f438db85d32c5

[cargo-compare] add a verbose method to print out unchanged info

view details

Rain

commit sha d5781f069ea57b2d0ec80fddb410978eb1b0f2d5

[guppy] fix cargo set computation for proc macros Proc macros are built on the host, not the target.

view details

Rain

commit sha 99a36d5d6ef99e4033b6967503647c1b791dfdcb

[guppy] cargo v2 resolver: fix initial detection for host targets Variable shadowing, whoops. This wasn't covered in CI because we weren't running our proptests properly. That's covered in #145.

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Inanna Malick

commit sha cdfe77ec90622c0f0bae102919433edede094b91

code review - cleanup, structopt default

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Inanna Malick

commit sha e3b810b9772b1627f30283db01ca662b67519668

cleanup

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Inanna Malick

commit sha 71d5b322c254599d4130ea9ad153074d6e650fab

remove trailing newline

view details

push time in 2 months

push eventinanna-malick/cargo-guppy

Inanna Malick

commit sha 36d76fc703be27e97590485df616ec9ace1d1d3f

cargo fmt

view details

push time in 2 months

create barnchinanna-malick/cargo-guppy

branch : cargo-compate/check

created branch time in 2 months

push eventinanna-malick/tracing-honeycomb

ci-build

commit sha 9be6880e83770b66fcd740834adab088fbfe45a5

[skip ci] documentation update

view details

push time in 2 months

push eventinanna-malick/tracing-honeycomb

Inanna Malick

commit sha 27cda1eba452a534386ce22d72ac45533f47a049

readme for jaeger

view details

push time in 2 months

push eventinanna-malick/tracing-honeycomb

ci-build

commit sha bb660489eb5dea7c1aa0017cc8bfc858ae7c5daf

[skip ci] documentation update

view details

push time in 2 months

push eventinanna-malick/tracing-honeycomb

Inanna Malick

commit sha 25896d850c2cb1b1b715600c45e8bae091a383d5

use newly released jaeger integration

view details

push time in 2 months

push eventinanna-malick/tracing-honeycomb

Inanna Malick

commit sha b9b5928304cc371d6cd33c66f650eafc0a09681f

working, renamed to tracing-jaeger

view details

Inanna Malick

commit sha f8624303e7e1e6ff3890d31e2651b857ec36176a

cleanup, prepare to publish new version

view details

Inanna Malick

commit sha 592edb0099a603134006131e7e703c699b73f1f7

fmt

view details

Inanna Malick

commit sha e14ebb21210004133087ae152129727d01fd5dba

use newly released jaeger integration

view details

push time in 2 months

issue closedfacebook/watchman

Feature request: Declarative configuration of triggers via config file

I would like to be able to declaratively specify watchman triggers in the watchman config file, for triggers that I wish to be active for the lifetime of the watchman service (example: watching some directory and running a script for each torrent file added to it, to automate downloading linux distros). Currently, there is no way to do so, but since both the watchman config file and the watchman state file are stored as json, it should be fairly simple to include a config file field such as additional_triggers that uses the same trigger format as in the state file to allow for declarative configuration of triggers.

closed time in 2 months

inanna-malick

PR opened j0rsa/transmission-rpc

make rustls not pull in openssl

required per https://github.com/seanmonstar/reqwest/issues/495#issuecomment-483698828

Thanks for providing this library! I need this to enable building on nixos

+1 -1

0 comment

1 changed file

pr created time in 2 months

push eventinanna-malick/transmission-rpc

Inanna Malick

commit sha 22da5754652e8e2b54e131b5d5bf71bb2a763b2e

make rustls not pull in openssl, per https://github.com/seanmonstar/reqwest/issues/495\#issuecomment-483698828

view details

push time in 2 months

startedj0rsa/transmission-rpc

started time in 2 months

issue commentfacebook/watchman

Feature request: Declarative configuration of triggers via config file

What's the goal/background of making the user nologin?

Background: this user is used to run a headless bittorrent client, with its home dir containing various configuration files and state for that client. nologin isn't intended to enforce any security constraints, it just seemed like a reasonable setting for such a user.

Watchman is run as a user service on that system, so this wouldn't provide any priv escalation to root.

(I am absolutely overengineering this for the fun of it, btw - part of the goal is to have full declarative specification of my home server, with known sha hashes of build inputs & etc)

inanna-malick

comment created time in 2 months

issue commentfacebook/watchman

Feature request: Declarative configuration of triggers via config file

Thanks for the quick reply! How would you recommend setting up triggers for a user with shell set to nologin managed by nixos? I'm currently looking at setting up a state file via some systemd unit run before the watchman service.

inanna-malick

comment created time in 2 months

issue openedfacebook/watchman

Fetaure request: Declarative configuration of triggers via config file

I would like to be able to declaratively specify watchman triggers in the watchman config file, for triggers that I wish to be active for the lifetime of the watchman service (example: watching some directory and running a script for each torrent file added to it, to automate downloading linux distros). Currently, there is no way to do so, but since both the watchman config file and the watchman state file are stored as json, it should be fairly simple to include a config file field such as additional_triggers that uses the same trigger format as in the state file to allow for declarative configuration of triggers.

created time in 2 months

startedsunshowers/lifetime-variance-example

started time in 2 months

created taginanna-malick/dag-cache

tagv0.0.1-beta

created time in 3 months

release inanna-malick/dag-cache

v0.0.1-beta

released time in 3 months

create barnchinanna-malick/dag-cache

branch : theseus

created branch time in 3 months

push eventinanna-malick/tracing-honeycomb

Inanna Malick

commit sha 592edb0099a603134006131e7e703c699b73f1f7

fmt

view details

push time in 3 months

pull request commentopen-telemetry/opentelemetry-rust

export EvictedQueue::new

Thanks! Do you think there's any chance you'd be able to get this out in a minor release?

inanna-malick

comment created time in 3 months

push eventinanna-malick/tracing-honeycomb

Inanna Malick

commit sha f8624303e7e1e6ff3890d31e2651b857ec36176a

cleanup, prepare to publish new version

view details

push time in 3 months

create barnchinanna-malick/tracing-honeycomb

branch : opentelemetry-impl

created branch time in 3 months

pull request commentopen-telemetry/opentelemetry-rust

export EvictedQueue::new

I've signed the individual contributor agreement.

inanna-malick

comment created time in 3 months

PR opened open-telemetry/opentelemetry-rust

export EvictedQueue::new

Allow for the construction of EvictedQueue, as with EvictedHashMap. This would allow users of your library to construct SpanData instances directly - every other field of that struct can be initialized using public constructors.

Thanks for making this open source, btw!

+1 -1

0 comment

1 changed file

pr created time in 3 months

push eventinanna-malick/opentelemetry-rust

Inanna Malick

commit sha 94a4e7f1e20358ec636c40a2912fbdb768f47d4f

export EvictedQueue::new

view details

push time in 3 months

more