cv
CoinBLAS
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.
cv
- Ask HN: What projects exist to consolidate our professional identity online?
-
Ask HN: What Are You Working On?
I'm working on a new version of my CV (v1: https://cv.git-pull.com)
This time I'm writing it in React, Angular, and Vue (TypeScript across the board). It's in the very early stages, but keep it at https://github.com/tony/cv
While doing it, I've tried to find various ways to share the chart and data code across all 3 versions. The library I found to make it happen with data akita: https://datorama.github.io/akita/
For UX it's not so easy. The truth is, some of the best UI libraries are framework specific. This creates a lot of fragmentation in the frontend community IMO. For instance react has nivo, vicious, and react-vis, but at the end of the day it's svg and canvas underneath the hood. Still though, the efforts are amazing. It makes you wonder what it'd be like if there would be just one agreed upon way to write a widget. (There's web components, custom elements... but those won't even work with typescript out of the box)
In the past few years, that stuff that's been going on with webpack v5's persistent caching, TypeScript (and its tooling), and all 3 of these frameworks getting better is amazing.
Examples of charting software I've tried: https://cv-react-v2.git-pull.com/dev/branch/v2-billboard.js/, https://cv-react-v2.git-pull.com/dev/branch/v2-plotly/, https://cv-react-v2.git-pull.com/dev/branch/v2-carboncharts/
For the first time I've found a UI suite called Carbon: https://www.carbondesignsystem.com/, an IBM thing. I'm most impressed by their chart offering. Even though it's relatively new, they maintain bindings for react, vue and angular.
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?
LIPS - Scheme based powerful lisp interpreter in JavaScript
Tasker - A commitment tracker desktop app that tracks the progress of your tasks with mouse, keyboard and audio hooks.
cuvimaker - cuvimaker is an online editor of cv maker, SEO-friendly made in Astro using vue components and tailwind. This project is coded in typescript
covid_status
ngx-moment - moment.js pipes for Angular
roost - Proof of Concept for Eventsourced backend
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
suncalc - A tiny JavaScript library for calculating sun/moon positions and phases.
Oat++ - 🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.
osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
Papercups - Open-source live customer chat
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.