duckyPad
pygraphblas
duckyPad | pygraphblas | |
---|---|---|
21 | 7 | |
1,151 | 338 | |
- | 0.3% | |
7.8 | 0.0 | |
about 1 month ago | 4 months ago | |
C | Python | |
MIT License | 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.
duckyPad
- DuckyPad: Do-It-All Mechanical Macropad
-
Automatically run script on USB
Make the USB a keyboard device (aka Rubber Ducky) and use Ducky Script to type out the needed commands. https://github.com/dekuNukem/duckyPad/blob/master/duckyscript_info.md
-
I showed you my duck. Please respond.
No it’s a hot swap pcb with north facing leds! I bought the parts and soldered it all together with a heat gun, 3d printed the case and put it all together with gateron lubed whites. Here is the link, it’s all open source!
- Ducky script 1.0
-
The pain is real
I created an account to mention the duckypad.
-
Chevron 7 locked! - Stargate Network (discontinued)
Hey, sure :) it's a macro keypad called duckypad. In short, you can setup macros and program a series of keyboard inputs to be executed via a single key.
- How do i make it press a letter
-
Need help with Rubber Ducky using Raspberry Pi
Take a look at Duckyscript if you haven't done so yet. Not too difficult, also remember to use REM to make notes.
- APL deserves its Renaissance too
- BadUSB for Chromebook
pygraphblas
-
Large Photonic Processor Solves Graph Problems
This is interesting to me because it's advancing the work on the notion of quantum graph problem solving.
I'm sure we've all heard how quantum computers can be used in the future to decrypt information from today. There's a lot of research out there on how QC may be able to efficiently factor large semiprimes and bust our existing cryptographic algorithms, but to me this is the more mundane side of QC.
The exciting side to me is that many graph problems, particularly whole graph problems like connectivity and shortest paths have a potential quantum advantage. This is particularly advantageous for sparse and hypersparse graphs that have billions of nodes but relatively low node degree. Language Models, chemical assay databases, proteomics, causal inference, and fraud detection are just a few problems that involve huge sparse graphs that could get a huge boost from quantum.
And to show my own bias here [1], I think the future of graph algorithms, including quantum, is expressing them in Linear Algebraic form with the GraphBLAS API. Using the GraphBLAS, you can write your algorithm in a mathematical form using the multiplication of adjacency matrices that is then synthesized to some optimal form for a given architecture.
The same code you write can then be run on a variety of backends, currently CPUs and CUDA using SuiteSparse's new JIT, but soon FPGAs and yes, quantum computers. Parallelism will become so broad and conceptually divergent that you won't even be able to conceive of an efficient hand written single function for all possible platforms.
[1] https://github.com/Graphegon/pygraphblas
- pygraphblas/Introduction-to-GraphBLAS-with-Python.ipynb at main · Graphegon/pygraphblas
- GraphBLAS with Python
-
APL deserves its Renaissance too
Yes, multiplying graph adjacency matrices over a min-tropical semiring produces shortest paths. APL supports this syntactically, but how does it function in the real world? What if the matrices are extremely sparse, like almost all real world graphs are? Syntax is the easy the problem. The hard problem is having very sparse graphs with billions of nodes and many billions of edges. How is your square matrix going to deal with that? Sparse and hypersparse graph computing is hard, which is not syntactically relevant.
Python does not have this terse a syntax, but it gets very close with multiple bindings to the SuiteSparse GraphBLAS Hypersparse graph processing libraries, which intrinsically supports sparse graphs and a very large number of operators, including the tropical min/max ones. Suitesparse doesn't provide syntax (that's the easy part), it provides the hard part, sparse and hypersparse data structures and very complex dynamic, parallel graph processing optimizations including JIT compilation of GPU accelerated operations.
Here's a notebook that shows your shortest path example using Python and the GraphBLAS. While it's a trivial example, it can scale the the largest graphs possible to use today using SuiteSparse:
https://github.com/Graphegon/pygraphblas/blob/main/demo/Intr...
-
Math Ventures Club
Using Linear Algebra to solve Graph problems, in particular, algebra over Tropical Semirings. Here's a great, but not graph specific, introduction to the advanced math behind the subject by Madeline Brandt:
https://www.youtube.com/watch?v=S_bVv7Lau-s
There is an open source effort to bring this style of mathematical analysis to graph optimization problems (shortest path, resource scheduling, etc) called the GraphBLAS:
https://graphblas.github.io/
I am the author of the pygraphblas Python binding around the GraphBLAS library, you can find a lot of examples in the demo notebooks shown in the README:
https://github.com/Graphegon/pygraphblas
- Show HN: A new Triangle Graph Centrality algorithm
- Show HN: Sierpiński and Other Kronecker Graphs with the GraphBLAS
What are some alternatives?
SoapySDR - Vendor and platform neutral SDR support library.
NetworkX - Network Analysis in Python
Mopidy - Mopidy is an extensible music server written in Python
libmaths - A Python library created to assist programmers with complex mathematical functions
pheromone_keyboard
global-chem - A Knowledge Graph of Common Chemical Names to their Molecular Definition
zmk - ZMK Firmware Repository
traph - A terminal/cmd graph algorithm visualiser
yampad - Feature-packed open source macropad
array-language-comparisons - A comparison of array languages & libraries: APL, J, BQN, Uiua, Q, Julia, R, NumPy, Nial, Futhark, Dex, Ivy, SaC & ArrayFire.
lets-split-guide - This guide covers building a Let's Split v2
pico-ducky - Create a USB Rubber Ducky like device using a Raspberry PI Pico