luna
CoinBLAS
luna | CoinBLAS | |
---|---|---|
2 | 3 | |
897 | 21 | |
0.9% | - | |
7.9 | 1.8 | |
3 days ago | almost 3 years ago | |
Python | Jupyter Notebook | |
BSD 3-clause "New" or "Revised" License | - |
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.
luna
-
QuickLogic Opens Up FPGA Design
Check out https://github.com/greatscottgadgets/luna and https://github.com/tinyfpga/TinyFPGA-Bootloader
-
Ask HN: What Are You Working On?
What the hell, here are a bunch of half-baked ideas that I haven't made time for because I'm lazy and stressed out and exhausted:
1. Designing a protocol and air interface for an amateur radio cellular network. This started out with some spread spectrum experiments and an interest in low-probability-of-intercept (below the noise floor) communication. The idea I have now is sort of a cross between APRS and DMR using modern modulation techniques. The network would consist of amateur rooftop "cells" with internet connections, and mobile transponders that communicate with those cells. There'd be some sort of callsign or key based addressing scheme and IP-like network topology discovery. Everything will be authenticated. I'd love to have an encrypted mode, but unless the laws change, it probably isn't going to happen.
2. Open-source firmware or gateware implementation of a USB PD controller that supports entering/exiting alternate modes properly. Inspired by Kate Temkin's Luna project [1]. I got the impression that PD was out of scope for LUNA, at least for the time being, but it would be really nice to have both a USB and PD stack that could be integrated onto a small, inexpensive chip without the proprietary mess.
[1] https://github.com/greatscottgadgets/luna
CoinBLAS
-
The "missing" graph datatype already exists. It was invented in the '70s
When you consider that a graph and a matrix are isomorphic, doing vector matrix multiplication takes a vector with a set value, say row 4, and multiplies it by a matrix where row 4 has values present that represent edges to the nodes that are adjacent to it (ie "adjacency" matrix). The result is a vector with the next "step" in a BFS across the graph, do that in a loop and you step across the whole graph.
A cool result of this is, for example, taking an adjacency matrix and squaring it is the "Friend of a Friend" graph. It takes every node/row and multiplies it by itself, returning a matrix that are adjacent to the adjacencies of each node, ie, the friends (adjacencies of the adjacencies) of friends (adjacencies) of the nodes.
Deeper traversal are just higher nodes, a matrix cubed are the friends of the friends of the friends.
A picture is worth a thousand words, see figure 7 of this paper:
https://arxiv.org/pdf/1606.05790.pdf
Also check out figure 8, this shows how incidence matrices can work to represent hyper and multi graphs. An pair of incidence matrices reprsent two graphs, one from nodes to edges and the other from edges to nodes, these are n by m and m by n. When you multiply them, you get a square adjacency matrix that "projects" the incidence into an adjacency. This can be used to collapse hypergraphs into simple graphs that use different semirings to combine the multiple edges.
For some pretty pictures of this kind of stuff, check out CoinBLAS (note I am not a crypto-bro, it was just a very handy extremely large multi-graph that I could easily download in chunks to play with):
https://github.com/Graphegon/CoinBLAS/
-
Ask HN: What Are You Working On?
Python wrapper around The GraphBLAS API:
https://github.com/michelp/pygraphblas
For an upcoming paper we've open sourced using pygraphblas to analyse the bitcoin graph using the GAP benchmarks on a server with 1TB of RAM:
https://github.com/Graphegon/CoinBLAS
- Show HN: CoinBLAS – Bitcoin Analysis with the GraphBLAS
What are some alternatives?
PyHardwareLibrary - A simple application-oriented and device-oriented library with a variety of communication ports for controlling devices (POSIX serial, USB, etc...)
Tasker - A commitment tracker desktop app that tracks the progress of your tasks with mouse, keyboard and audio hooks.
LIPS - Scheme based powerful lisp interpreter in JavaScript
covid_status
Oat++ - 🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.
roost - Proof of Concept for Eventsourced backend
cratetorrent - A BitTorrent V1 engine library for Rust (and currently Linux)
suncalc - A tiny JavaScript library for calculating sun/moon positions and phases.
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
slam-crappy - Navigation project for an indoor robot using a Raspberry Pi, Arduino by combining a camera/OpenCV and physical measurements from ultrasonic and single point lidar sensor.