react bash golang perl docker nodejs

My first experiment with NodeJS was on August 2012: I wrote a prototype of a multiplayer game with Socket.io and I was amazed by its power and simplicity. Also, npm was a step forward at that time in the world of package management. Nowadays I still appreciate this concept: using one language for backend and frontend. Few years later there was a quantum leap in the JavaScript ecosystem, the language evolved and the transition was handled in the best way (IMO). In general, I consider JavaScript the lingua franca of IT: if I write an algorithm in JavaScript almost any developer can read it and translate it in any other language.

algebra
means completeness and balancing, from the Arabic word الجبر
dflow
is a minimal Dataflow programming engine
flow-view
is a visual editor for Dataflow programming
games-of-life
is a Mathematical solution of any Game of Life variation
iper
Hypergraphs for breakfast

I started using React in early 2016, when I discovered Redux and I thought: this is the right way to do it.

react-clipboard-icon
is an svg icon from clipboard.js site assets, packaged as a React stateless component
react-intl-inject
react-intl helper, can translate props easily
trunx
Super Saiyan React components, son of awesome Bulma
zeroconf-redux
is a minimal React/Redux dev stack, on top of browserify + budo
SVGx
is a universal SVG renderer

I wrote some NodeJS micro packages.

algebra-group
defines an algebra group structure
algebra-cyclic
creates a space isomorphic to Zp: the cyclic ring of order p, where p is prime
algebra-ring
defines an algebra ring structure
aws-lambda-res
is a tiny helper to create a response object for AWS Lambda with Proxy integration
bitstamp-kiss
is a Bitstamp API v2 wrapper with the joy of kiss literate programming
cayley-dickson
implements Cayley-Dickson construction to produce a sequence of algebras over a field
country-isocode2
bare list of country codes
dextop
provides a minimal window manager in your browser
dot-editorconfig
creates a .editorconfig file in your package dir
fa-svg-icon
free Font-Awesome SVG icons
geohash-neighbours
finds the cells near a given geohash
https-scheme
redirects window location to HTTPS scheme
i-am-not-a-robot
cause I can play games
indices-permutations
is a recursive reducer to all permutations with repetitions of multi dimensional array indices
inlined
throws if some module body length exceeds *max_inlined_source_size* number of chars
laplace-determinant
recursive determinant computation using Laplace expansion
load-html
include HTML code inside HTML pages using a custom tag load-html to load content dynamically
mdconf-from
parses a markdown file and returns a configuration object
mobius-transformation
implements beautiful geometric transformations that preserve angles and circles
matrix-multiplication
implements row by column multiplication
markdown2code
extracts code blocks (surrounded by triple backticks) from markdown
multidim-array-index
Computes index of multi dimensional array
numerology
converts a string to a number
not-defined
checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN
npm-start-command
creates a file you can double click to launch npm start
OLAP-cube
is an hypercube of data
os-icons8
is a small set of operating system icons, distributed by icons8
pdsp
saves bytes in your build with a shortcut to event preventDefault and stopPropagation
prime-number
is a recursive function to check if a number is prime (and a benchmark to test how slow it is :)
read-file-utf8
reads content from file using utf-8 encoding
regex-weburl
Regular Expression for URL validation, packaged from https://gist.github.com/dperini/729294
standa
JavaScript Standa•Rd Style minus R{eact} d{evelopment} stuff
static-props
defines static object attributes using `Object.defineProperties`
strict-mode
enables strict mode in your package
SQL-tokenizer
analyzes SQL and converts it into a list of tokens
SQL92-JSON
can stringify a JSON into an SQL and viceversa parse an SQL and serialize it into a JSON
SQL92-keywords
is the list of reserved words in SQL92 specification
SQL92-operators
is the list of operators in SQL92 specification
tensor-contraction
implements tensor contraction on a single mixed tensor
tensor-product
computes the product of tensors
three-orbitcontrols
is the three.js OrbitControls from official repo examples
trend-steps
reduces math series to a square curve of its trend steps
tris3d
is a 3d tic tac toe algorithm powered by Z3 space
tris3d-ai
tris3d surrogate player
tris3d-canvas
is a placeholder to play tic tac toe in 3d
volatility
is the degree of variation of a trading price series over time
write-file-utf8
writes content to file using utf-8 encoding, nested folders will be created if they do not exist yet
x3dom-livereload
x3dom boilerplate with livereload server
y-combinator
is one of the fixed-point combinators in untyped lambda calculus

The following packages are not in the npm registry.

npm-config
my npm init defaults

I like the concept of reproducibility: I did few experiments with Docker. It is a great tool, but sincerely I still use more Amazon AMIs.

fake-aws-redshift
is a docker image with a PostgreSQL 8.0.2, i.e. compatible with AWS Redshift

I am addicted to CLIs and the shell. I wrote few tools and my opinion is that a bash script is still the cheapest and fastest way to automate a task.

dir
create a folder and enter into it
gh-clone
GitHub clone repo util
home
All my *nix home versioned, not only dotfiles
yyyymmdd
uses cal Unix program to print out the days in a month
KLP
is a minimal literate programming boilerplate

Probably Golang is not the definitive language, but, for me is perfect. First of all, a compiled language was missing in my reportoire. Deploying or distribute a single executable is a big win. I also like the simplicity of the language: yes, only 25 keywords actually attract me. I really like the fact that it handles concurrency and it is multicore out of the box: it relaxes me, I can focus only on the algorithm... but I confess that, as a mathematician, I felt in love with Golang cause it has builtin complex number data type. Wow!

m2c
go for 2x2 complex matrices
primes
s2
go for the Reimann sphere

When I started working in IT in 2005 my boss said: you need to learn Perl. Big respect for the camel, I learned a lot from this language and its community. It is still my preferred language for string manipulation and parsing.

App-cloc-pm
CPAN packaging of the famous CLOC utility
Task-BeLike-FIBO-pm
Leonardo Pisano a.k.a. Fibonacci (Bonacci's son)
Sweet-Home-pm
HomeDir, File, Path and other sweet classes
netvision
IPv4 space data scanner