Giter Club home page Giter Club logo

gorilla's Introduction

Hi, I’m Christopher! πŸ‘‹

Originally from France πŸ‡«πŸ‡·, I was a technical artist for over 8 years on VFX and animation movies, but I've since then transitioned to being a full-time software engineer who strives in designing and building tools, workflows, and APIs, with a focus not only on user experience and simplicity, but also on maintainability.

As the time goes by, I'm increasingly being drawn towards lower level territory and have a strong interest in real-time, graphics, simulation, compiler, and also performance programming, for all of which I'm yearning to grow my skills in.

Most of the projects listed in this page were developed as the result of wanting to explore and learn specific topics.

I don't bite so come say hi! 😊

Projects in C/C++ πŸš€

rexo
Single-file cross-platform unit testing framework with automatic test registration and an emphasis on providing a clean API.
uuki
Toy project to learn about writing compilersβ€”I haven't really started working on it other than writing a base library with no dynamic allocations, some debugging utilities, a colorful logger, a virtual memory API, a custom linear allocator, and a growable array.
zero
Experiment in writing single-file libraries with no #include statements in the header sections, as described in the article Physical Design of The Machinery.
dekoi
Playground to learn about the Vulkan API by following the Vulkan Tutorial and adapting it to C.
m3ta
Header-only library to experiment with how much code can be evaluated at compile-time using C++'s templates. The answer is: a lot! C++ templates are in fact turing complete! πŸ˜„

Projects in Python 🐍

hienoi
Framework to simulate 2D particles. It was a good exercise to learn about OpenGL, NumPy, IPC (Inter-Process Communication), and to figure out how to abstract all this through an easy-to-use API.
wadu
Implementation of recurrence rules for calendar events as defined in the RFC 5545 specification. I expected it to be challenging and it really didn't disappoint! πŸ˜…
gorilla
Framework that provides a convenient approach to monkey patching. Mostly done to build experience in designing APIs and delivering a fully finished project, with unit tests and documentation.
bana
Tiny set of extention for the Maya Python API built on top of Gorilla, as a way to validate the design of Gorilla.
revl
Library to generate pseudo-random (deterministic) Maya scenes based on a set of rules, in order to provide something akin to fuzzy testing and also to help profiling performance.

Projects in JavaScript 🌐

eddi
Static site generator that is powering my current website. This was an interesting challenge to learn about Node.js and writing asynchronous code.

gorilla's People

Contributors

christophercrouzet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

anjitt jonike

gorilla's Issues

Projects using gorilla

Hi,

your gorilla project is now used by mlflow. Just thought you may want to mention it in your "Out there" part. (autolog functionality)

Cannot change behavior of imported function.

If the function has already been loaded in another module at the beginning, then after we do the monkey patch in the original module, that already loaded function's behavior in another module is still not changed.

Eg. mod1.py has func_a, func_a is imported in mod2.py. We monkey patch func_a in mod1.py, but before we do the modification, func_a is already imported into mod2.py for some reason. In this case, the func_a in mod2.py is not updated.

Ability to unregister and reload patches

Hi
Would it be possible to add an unregister_extensions() function? Or have the register_extensions function do a reload() of the packages passed into it? I think it would speed up developing with gorilla and help with troubleshooting
Thanks for the awesome module
Luke

Patching a global variable

This is great and works really well for functions and classes, but what would be your recommended way to patch a global variable in a module please?

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.