Coder Social home page Coder Social logo

Hi-hello 👋

I enjoy working on really challenging scientific questions that will make a long-term difference.

My current focus is ML + Bio (more specifically, protein design), but previously I developed a bunch of ML methods for CERN.

You can find my development/ML projects here on github: first of all, check einops (unless you already use it 😏).

Projects I'm interested in

Are you looking for a programming project? I have some ideas for you:

einops support in ruff

Einops is very readable per se, and mistakes are generally easy to detect, but how about making it even simpler with static analysis?

Some examples where it could be useful

rearrange(x, 'b h w c -> b (h w)') # complain on missing c
rearrange(x, 'b h w 3 -> b (h w) 3') # anonymous axes like 3 are not available in rearrange
rearrange(x, 'b (h w) c -> b h w c') # complain that either h or w should be provided
einops coloring in vs code

Wouldn't it be great if reduced or added dimension was immediately colored? Something like:

Screenshot 2024-06-28 at 13 59 28
'better' typer

Tiangolo's typer originally made a number of things right - hierarchy of typers, strict type checking, and auto-completion for a number of shells out-of-the-box.

That said, typer lacks attention from tiangolo, and lost some critical parts of experience:

  • it is slow (500ms for auto suggestion is harsh)
  • way many dependencies
  • does not handle async functions (fixable)
  • it is quite shell-y and not pythonic. I'd like to just call function from shell after all
    • strange rules for lists and *args (e.g. can't pass an empty list)
    • func(*, kw_only_param, kw_param=False) is not recognized
    • func(param1, param2=None) forces to use --param2=val instead of call param1_val param2_val
    • type | None not supported
    • dataclasses / pydantic as inputs are not supported
  • 'just give me raw input, I'll put it to other bash command' is not supported

That's my complains, but walk over bugtracker of typer to see what's in demand.

unix sockets in SSH-over-HTTP

Do you use SSH? I guess you do, since you're on github.

I've been using unix sockets (UDS) as endpoints for containers for a while now, and it (mostly) rocks.

Several similar containers can live on the same instance, and each mounts a folder with UDS (multiple services usually). Domain sockets can provide access to various web-servers, and almost anything can serve from UDS.

(If you use TCP port forwarding for containers, try using UDS, you may like it much better, specially if you manage many endpoints or containers! No security issues, and you can easily add/remove sockets on the fly and without port clashes! Spice with using symlinks for synonyms, and network management stops being ugly.)

Back to the point: openssh-server does not support serving on unix socket, so I use ugly hack with socat redirecting request to TCP port. Openssh-client does not support connecting to domain socket (easy to fix this in config though).

While (unmerged) patches are available to support UDS in openssh, I'm on the market for something next-gen, e.g. something like SSH3 + serving/connecting to unix sockets.

Remarks related to all project above

What exactly I am ready to help with (details)

If you think taking one of these projects, I am happy to test your solution, provide detailed user feedback, maybe test in prodiction, and if it works, cover it here or in my blog. (or einops docs if it is relevant to einops).

Note that doesn't include development, but programming is something enjoyable,
while finding someone interested in using your work is usually non-trivial 🙂.

Alex Rogozhnikov's Projects

3d_nn icon 3d_nn

Raymarching neural network in browsers with WebGL shaders

agentnet icon agentnet

A lightweight library to build and train Deep Reinforcement Learning agents using Theano+Lasagne

cats icon cats

Test of algorithms on highly-categorical data

cellxgene-gateway icon cellxgene-gateway

Cellxgene Gateway allows you to use the Cellxgene Server provided by the Chan Zuckerberg Institute (https://github.com/chanzuckerberg/cellxgene) with multiple datasets.

deepmmd-gan icon deepmmd-gan

Yet another (very simple) approach for adversarial training.

demuxalot icon demuxalot

Reliable, scalable, efficient demultiplexing for single-cell RNA sequencing

demuxlet icon demuxlet

Genetic multiplexing of barcoded single cell RNA-seq

eindex icon eindex

Multidimensional indexing for tensors

einops icon einops

Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)

gw150914 icon gw150914

:wavy_dash::earth_africa::wavy_dash: Analyse GW150914 (gravitational waves)

hep_ml icon hep_ml

Machine Learning for High Energy Physics.

incubator-mxnet icon incubator-mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

infiniteboost icon infiniteboost

InfiniteBoost: building infinite ensembles with gradient descent

iview5d icon iview5d

Extremely simplistic viewer of small ndimensional patches for jupyter notebook. Powered by einops

micro-openfold icon micro-openfold

update openfold code to make it pip-installable in 2024. Skips compiling binaries

microdockq icon microdockq

minified, pip-installable version of DockQ metric

mint icon mint

Multi-modal Content Creation Model Training Infrastructure including the FACT model (AI Choreographer) implementation.

mlatimperial2016 icon mlatimperial2016

Materials for the course of machine learning at Imperial College organized by YSDA

mlatimperial2017 icon mlatimperial2017

Materials for the course of machine learning at Imperial College organized by YSDA

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.