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.
notes
-
A Study of Malicious Code in PyPI Ecosystem
It's (partially) a fundamental problem with Python and most other programming languages. The majority of libraries don't need more authority than doing (some) computation, yet any Python script can access anything and everything by default.
https://en.wikipedia.org/wiki/Capability-based_security is the solution for this, yet Python will probably never be capable of this kind of internal encapsulation, it's too much of a fundamental change - and even if some sort of sandboxing ability is accomplished, creating separate/recursive sandboxes (needed when importing more, separate libraries) will probably require another interpreter instance (as with WebAssembly).
I hope current and future language designers will take this into account, and construct their compilers, virtual machines and interpreters accordingly. Python was created before the internet as we know it now existed, so perhaps its lack of security mechanisms shouldn't be surprising. But it and any new developments that fail to consider this aspect of computation will be fundamentally flawed from the beginning.
https://github.com/void4/notes/issues/41
-
The Insecurity Industry
Not if done correctly. Have a look at this link: https://github.com/void4/notes/issues/41
There is no issue with just limiting resources (unless there is unpredictable overhead). It doesn't have to be hardware resources either, it could be abstract/higher level resources like interpreter steps or managed memory slices.
I'm creating a series of VMs to show that this is possible, like rarVM, the recursively sandboxable virtual machine: https://esolangs.org/wiki/RarVM
Showcase: https://www.youtube.com/watch?v=MBymOp6bTII
When calling a function you can specify how many interpreter steps it can run until it aborts (and optionally gives you a continuation so you can "refill" and resume it later).
Stackless Python can do this too, but unfortunately due to the reasons discussed above will never be a safe language, this specific mechanism works only in trusted environments since the called function has the ambient authority to increase its own resource limits: https://stackless.readthedocs.io/en/2.7-slp/library/stackles...
-
SSL: Stupid Stack Language
Another approach would be to have a counter (or several) that limit the number of instruction steps, like the Stackless Python programming language (https://stackless.readthedocs.io/en/latest/library/stackless...) or the KeyKOS operating system (https://github.com/void4/notes/issues/41) did
- he hacked the database 😱
-
An engineer wiring an early IBM computer, 1958. Photo by Berenice Abbott
Ann Hardy programmed one of the first mainframe operating systems, and certainly the most secure one: KeyKOS
-
I am planning on creating a programming language for my Informatics Bachelor Thesis. What are your ideas for such a project?
There are syntactic and semantic aspects. Personally, I think algebraic effect systems and capability security seem to be very worthwhile areas of research because they provide abilities and guarantees that just aren't possible with currently popular languages due to their architecture.
-
Incompatible Timesharing System
This might be of interest to you: "Why KeyKOS is fascinating" - https://github.com/void4/notes/issues/41
- Resource limited chess engine competition
- Resource limited chess engine competition using WebAssembly
sdf
- Sdf – Generate 3D meshes based on SDFs
-
FreeCAD User Book (2019)
I used to like OpenSCAD for its simple approach but then I discovered SDF-based modelling with Python made possible with this neat library: [1]. This is perfect if you are a programmer that doesn't know anything about CAD-Software.
1.: https://github.com/fogleman/sdf
-
CAD Sketcher, free and open-source project bringing CAD like tools to Blender3d
>these the the central core that understands BREP and implements the geometric operations.
I've seen people quote a good modern CAD kernal as a 100 man year project. It's probably not going to happen, maybe there's some avenue for government funding?
Alternatively Signed-Distance-Functions are pretty nice. They're not BREP, but they're a lot easier to implement, and it might be possible to shove them into a BREP-shaped hole.
Here's a signed-distance-function based CAD kernal written in a few thousand lines of python+numpy, that seems to be about as fast as openscad. Maybe faster. https://github.com/fogleman/sdf
-
Signed distance functions in 46 lines of Python
Excellent. You might be interested in a Python library that I wrote for generating 3D meshes (STL files) from SDFs : https://github.com/fogleman/sdf
It just uses marching cubes for triangulation but the SDFs are all numpy'd and the SDF is evaluated in batches on multiple threads so it's relatively fast.
-
Plot of triangle mesh with py5
I used the SDF repo by Michael Fogleman. Check out his website, there's a ton of useful stuff on there. He contributes a lot to the open source community and has been mentioned in r/PlotterArt before.
-
10 ways to get the best out of OpenSCAD
Try out fogleman/sdf[1]. It is like OpenSCAD in many ways but the distance field model gives you offsets and fillets more easily.
[1] https://github.com/fogleman/sdf
-
Is it possible to 3d print signed distance functions?
https://github.com/fogleman/sdf this python project can create mesh from sdf
- Curated Code CAD
-
Guerrilla guide to CNC machining, mold making, and resin casting (2015)
> https://github.com/fogleman/sdf
Holy crap, why have I not seen this before?!?!!? I was even planning to start coding something like this myself. This is awesome!
- I am planning on creating a programming language for my Informatics Bachelor Thesis. What are your ideas for such a project?
What are some alternatives?
its - Incompatible Timesharing System
meshlab - The open source mesh processing system
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
trimesh - Python library for loading and using triangular meshes.
cli - Command line interface for the Phylum API
sdfx - A simple CAD package using signed distance functions
meshio - :spider_web: input/output for many mesh formats
vedo - A python module for scientific analysis of 3D data based on VTK and Numpy
opencascade-emscripten-port - Open CASCADE - Emscripten / Webassembly port
libfive - Infrastructure for solid modeling
cadquery - A python parametric CAD scripting framework based on OCCT
q-pack - Open source version of the proton pack from the Ghostbusters movies