programming-2022
nbdev
programming-2022 | nbdev | |
---|---|---|
3 | 45 | |
11 | 4,763 | |
- | 1.0% | |
0.0 | 6.5 | |
about 2 years ago | 6 days ago | |
HTML | Jupyter Notebook | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
programming-2022
-
Math notation library for CojureScript
The latest thing the system can do is run interactive 3d mathematical visualizations. Here are some physics examples: https://twitter.com/sritchie/status/1503220063264026629, with code living here: https://github.com/sritchie/programming-2022
-
Literate programming is much more than just commenting code
- multiple stories about the same piece of code, but all with the ability to IMPORT the story as a library
I've been writing sicmutils[0] as a "literate library"; see the automatic differentiation implementation as an example[1].
A talk I gave yesterday at ELS demos a much more powerful host that uses Nextjournal's Clerk to power physics animations, TeX rendering etc, but all derived from a piece of Clojure source that you can pull in as a library, ignoring all of these presentation effects.
Code should perform itself, and it would be great if when people thought "LP" they imagined the full range of media through which that performance could happen.
[0] sicmutils: https://github.com/sicmutils/sicmutils
[1] autodiff namespace: https://github.com/sicmutils/sicmutils/blob/main/src/sicmuti...
[2] Talk code: https://github.com/sritchie/programming-2022
[3] Clerk: https://github.com/nextjournal/clerk
-
Physics in Clojure: Elliptical Paths
Yes, for these examples SICMUtils is handling the state updates and gives new coordinates to Mathbox to render.
The library works in both JS and the JVM, so I was able to generate an unevaluated code form for the equations of motion (simplified, optimized!), which clerk sends over the wire for the JS build of sicmutils to run.
Here is the code for that demo: https://github.com/sritchie/programming-2022/blob/main/src/p...
The api is settling, of course this is all quite playful! I will add instructions on how to get this building when I’m back at the keyboard.
Another way this will all get more powerful is via the in-progress https://github.com/ChristopherChudzicki/mathbox-react project. When that’s settled we can send a data structure representing a full scene across the wire, and build stuff like www.math3d.org , but with the full power of Clojure augmenting the UI equation editor. Dreamy stuff!
nbdev
- The Jupyter+Git problem is now solved
-
What is literate programming used for?
One example I've seen is ML/DL folks using jupyter notebooks to develop DL libraries in jupyter notebooks, see https://github.com/fastai/nbdev
-
GitHub Accelerator: our first cohort and what's next
- https://github.com/fastai/nbdev: Increase developer productivity by 10x with a new exploratory programming workflow.
-
Startups are in first batch of GitHub OS Accelerator
9. Nbdev: Boost developer productivity with an exploratory programming workflow - https://nbdev.fast.ai/
-
Start learning python for a Statistician with SAS experience and little R experience
See if you like nbdev way of working with data through python and jupyter. nbdev is an optional part that will create python packages from jupyter notebooks. Also even the simple tutorials are opinionated and will guide you to unit test your code and write CICD pipelines.
- FastKafka - free open source python lib for building Kafka-based services
-
isn't this just too much for a take home assignment?
You probably don’t have time for this for the purposes of your task, but I will also throw in the recommendation of nbdev especially if you’re a Python person. I haven’t had a project to use it on yet, but I’ve gone through the docs and the walkthrough and it seems like a great framework for starting potential projects with all the infrastructure needed for if/when they eventually get big and need all the packaging and stuff
-
Any experience dealing with a non-technical manager?
nbdev: jupyter notebooks -> python package
-
Resources to bridge the gap between jupyter notebooks and regular python development
Take a look at https://github.com/fastai/nbdev - haven't used it but supposedly the whole if fast.ai library was written that way. It sounds like a natural direction in your scenario - allowing your to keep working in a familiar environment and still producing production ready code (will, at least in paper 😅)
- Rant: Jupyter notebooks are trash.