pb-jelly
pb-jelly is probably the biggest news in this week’s email. pb-jelly is a protobuf code generation framework for the Rust language, open sourced by Dropbox.
last commit: 3 hours ago, first commit: Jul 10, 2020
croc
croc is a tool that allows any two computers to simply and securely transfer files and folders. AFAIK, croc is the only CLI file-transfer tool does all of the following:
allows any two computers to transfer data (using a relay)
provides end-to-end encryption (using PAKE)
enables easy cross-platform transfers (Windows, Linux, Mac)
allows multiple file transfers
allows resuming transfers that are interrupted
local server or port-forwarding not needed
ipv6-first with ipv4 fallback
last commit: 1 hour ago, first commit: Oct 17, 2017
kb
kb is a minimalist hacker-oriented knowledge base manager.
last commit: 8 hours ago, first commit: Sep 12, 2020
Pebble
This one is probably my favorite for the week. Pebble is a RocksDB inspired key-value store written in Go. The CockroachDB team continues to kill it.
last commit: 4 days ago, first commit: Aug 23, 2011*
https://twitter.com/CockroachDB
*a fork of levelDB happened somewhere between the first and last commit, so this includes levelDB commits.
Trefle API
Trefle is a botanical JSON REST API for plant species.
last commit: yesterday, first commit: Jul 15, 2020
https://twitter.com/trefle_api
Endlessh
Endlessh is an SSH tarpit that very slowly sends an endless, random SSH banner. The purpose is to put your real SSH server on another port and then let the script kiddies get stuck in this tarpit instead of bothering a real server.
last commit: February 16, 2020, first commit: Feb 2, 2019
AresDB
AresDB is a GPU-powered real-time analytics storage and query engine open sourced by Uber.
last commit: April 23, 2020, first commit: Oct 24, 2018
Yarr
Yarr is “Yet Another RSS Reader”.
last commit: 18 minutes ago, first commit: Jun 12, 2020
PEP
PEP is a free and open source PDF editor for Mac.
last commit: 1 hour ago, first commit: Aug 20, 2020
query-json
A faster re-implementation of jq written in Reason Native (an OCaml framework).
last commit: 29 minutes ago, first commit: Sep 9, 2020
Tribuo
Tribuo is a machine learning library for Java that provides implementations of popular ML algorithms and also wraps other libraries to provide a unified interface.
last commit: 5 days ago, first commit: Jun 22, 2020
Interview With David Sancho the Creator of query-json
What is your background?
I currently live where I was born, in Barcelona, Spain and have been on the internet quite a while and I’m still very fascinated about it.
I currently work as a software engineer remotely for Draftbit breaking the barrier between an idea and a functional mobile app. Before that, I worked at Typeform for 5 years on the renderer team (also known as form experience).
Aside from my job, I worked on many side projects and tried to learn new ways to solve problems that I couldn't before. Also before joining Draftbit I fell into the Reason community, which most of my current projects are based on.
A notorious mention is styled-ppx which is a preprocessor extension that enables CSS-in-Reason and OCaml in a similar way that styled-components does in JavaScript, but type safe.
Why did you start the project?
I was looking at a way to learn how to create a parser and a compiler with good error messages and with the OCaml stack (menhir, sedlex, etc), since styled-ppx contains a CSS parser, and currently I lack a lot of experience to continue improving it.
I have been fascinated by jq for a long, long time, so I wanted to re-implement it.
I asked a friend Eduardo to teach me the basics, since he’s helping me with styled-ppx.
Do you intend to monetize the project if it isn’t monetized already, if so, how?
It’s not a money-related project, I did it for non-profit.
What is the best way for a new developer to contribute to the project?
One of the richest ways to contribute is opening issues/giving feedback about any experience with JSON manipulation. The other way is to just clone the repo and try to fix some issues that I open in the repo: https://github.com/davesnx/query-json/issues.
Where do you see the project heading next?
The two things that I would love query-json to be is to have an interactive mode, where the user input gets compiled on each key press and sees the value in real-time.
The other is to compile to the web and be able to run it in the browser.
Where do you see software development in general heading next?
I truly believe in the idea where most people around the world can create software without deep knowledge about “the platform”. I imagine people who need to automate stuff or create a better interface for their services, or want to create an application for a niche, all of these people would come to a no-code or low-code solution.
This isn’t a new idea, WordPress started with their Plugin system being able to give those tools to millions of people. I don’t think we will call it “no-code”, but it often happens that the iteration of those solutions don’t stick the same way and I see more effort in that direction.
On the other side, I’m worried that most modern JavaScript projects rely on millions of dependencies that run a post-install script in your machine without any supervision.
Where do you see open source heading next?
I expect a radical change in a few years. Funding in open source is broken and most software teams around the world rely on tools and infra and they aren’t aware of who is maintaining it. A few companies support them, which tend to become a huge visibility for those companies and they gain visibility.
How did you hear about Reason?
While I was working for Typeform and a huge JavaScript codebase I always felt that it was inevitably really hard to make substantial changes and the amount of integrations and unit tests needed to grow disproportionate to the amount of production code, slowing down the eng team and creating tech debts that were a big effort to break.
I looked into Elm and learned a bit and suffered the pain of adopting it to a JavaScript codebase and the pain of annotating everything. Later on I discovered Reason, and felt a 1-to-1 match with the knowledge about React and the huge benefit of an inferred type language.
What is your favorite thing about Reason that other languages do not have?
The type system never lies, people call it type-soundness (this isn’t true for TypeScript, for example). The capacity to infer the types, makes prototyping or exploring an idea fast.
But the biggest selling point are the refactors. I can easily do a change and realize that the compiler would walk me through all the cases where it can break.
All of those are benefits from the OCaml compiler. Reason has first-class support for React, a great go-to JS (It’s called BuckleScript and it’s becoming a language itself).
Like what you saw here? Why not share it?
Or, better yet, share Console!
Also, don’t forget to subscribe to get a list of new open source projects curated by an Amazon software engineer directly in your email every week.