Console #20

Urkel, Swift, and Blacklights

Urkel

Urkel is an optimized and cryptographically provable key-value store written in C.

last commit: 5 hours ago, first commit: Aug 20, 2020

https://twitter.com/_chjj

Swift System

This one is the biggest news of the week. Apple open sourced the Swift System.

last commit: 8 hours ago, first commit: Sep 25, 2020

Do I really need to add their Twitter URL?

Blacklight

Blacklight is a real-time website privacy inspector and wins my award for most interesting project of the week. Although, I might be a bit biased since I work in data privacy at Alexa.

last commit: 3 days ago, first commit: Dec 7, 2019

https://twitter.com/themarkup

Memex

Memex is an open source alternative to Obsidian or Roam.

last commit: 5 hours ago, first commit: Aug 31, 2020

SMAT

SMAT stands for “Social Media Analysis Toolkit” . It provides a free, intuitive, and open-source tool for scrutinizing online conversations.

last commit: 2 days ago, first commit: Aug 26, 2020

https://twitter.com/emmibevensee

https://twitter.com/maxzzze

https://twitter.com/jasonbaumgartne

https://twitter.com/whimful

https://twitter.com/jhblackb

https://twitter.com/The_lolness

https://twitter.com/mozilla

docable-notebooks

Docable will create an interactive notebook from a Markdown file. Docable works by translating markdown files into interactive cells, which can be run, edited, and shared.

last commit: 35 minutes ago, first commit: Jun 23, 2020

https://twitter.com/smirhosseini & https://twitter.com/chrisparnin

Headless Recorder

Headless recorder is a Chrome extension that records your browser interactions and generates a Puppeteer or Playwright script. It is re-branded from Puppeteer Recorder.

last commit: 6 hours ago, first commit: Aug 13, 2018

https://twitter.com/checklyHQ

Amnesia: The Dark Descent

This repo has everything you need to build Amnesia: The Dark Descent. Included are project files for Visual Studio 2010 and CMake for Linux & macOS.

last commit: 2 days ago, first commit: Sep 15, 2020

https://twitter.com/frictionalgames

Webots

Webots is an open-source robot simulator released under the terms of the Apache 2.0 license. It provides a complete development environment to model, program and simulate robots, vehicles and bio-mechanical systems.

last commit: 4 days ago, first commit: Nov 5, 2018

https://twitter.com/webots

doslinux

I’m not sure who would ever want this, but, here it is if you’re in that demographic, ha ha. Pretty interesting software engineering nonetheless!

last commit: 10 hours ago, first commit: Sep 20, 2020

https://twitter.com/charliesome

Hask

Hask is a pure-Python, zero-dependencies library that mimics most of the core language tools from Haskell.

last commit: Aug 30, 2015, first commit: Jul 28, 2015

wave-share

Wave-shared is serverless, peer-to-peer, local file sharing through sound using WebRTC. This one is a little old, but I thought it was interesting enough to warrant addition to this week’s email.

last commit: Dec 11, 2019, first commit: Apr 29, 2018

https://twitter.com/ggerganov/

Pijul

Pijul is an intuitive VCS, which, unlike Git is based on the theory of patches.

https://twitter.com/pijul_org


Interview With Olivier Michel the CEO of Cyberbotics Ltd

What is your background?

I have a master in Computer Science obtained in 1992 in Compiègne (France), obtained a PhD in Robotics in 1996 at Nice Sophia Antipolis university (France) and a postdoc at EPFL (Switzerland) until 1998. I started to learn to program when I was 14 at “club informatique, maison des jeunes et de la culture de Mâcon (France)”. My favorite programming language is C, but I use Python a lot, and Javascript and C++ as well.

Why was the project started?

In 1996, I started to develop the Webots software at EPFL during my postdoc. On April 1st, 1998, I founded Cyberbotics Ltd. to continue the development and start the sales of the software. In December 2018, Webots became fully open source software (Apache 2.0 license) after more than 20 years of proprietary license.

Are there any overarching goals of the project that drive design or implementation?

Yes: whatever you do in simulation should be easily transferable to a real robot.

What tradeoffs have been made in the project as a consequence of these goals?

We had, for example, to implement a Supervisor scripting feature which allows the developers to do things that a real robot could not do, like recording the trajectory of any object in the simulation or instantly teleporting an object from location A to location B. The Supervisor could be seen as a human operator supervising the simulation. However, I prefer to see it as god, able to magically change anything in the simulated world while it is running.

What is the most challenging problem that’s been solved in the project so far?

Many... But I would say the quality of simulated camera images was probably the most challenging one. We had to implement our own specialized 3D rendering engine, called WREN (for Webots Rendering ENgine) that produce highly realistic camera images corresponding to what a real digital camera device would produce, including optical aberrations, different types of noise, motion blur, focal fuzziness, Physically-Based Rendering (PBR) materials, realistic shadows, etc. And all this runs faster than real time on a standard PC.

What is the main source of revenue for the project?

We provide consulting where we produce customized simulations for the industry. We have been working for the automotive industry (Renault, PSA - France), autonomous vehicles (Perrone Robotics - USA), surface mining (BHP Billiton - Australia), nuclear security (INTRA - France, KHG - Germany), toy industry (Sony - Japan, Anki - USA), space (MIT Space Exploration Lab - USA), service robotics (F&P robotics - Switzerland), and several other small projects conducted by SMEs and universities.

We also participate in a number of research projects (EU projects and Swiss national research projects), like OpenDR, the Human Brain Project and Simgait where we get paid to develop specific simulation models for research purposes.

What is the best way for a new developer to contribute to the project?

Head to GitHub right away: https://github.com/cyberbotics/webots/blob/master/CONTRIBUTING.md

Where do you see the project heading next?

To the web: we are now developing more and more cloud-based simulations, like in https://robotbenchmark.net and we are going to build on the top of that to make cloud simulations very easy to set up and to use.

Where do you see software development in general heading next?

To the web as well. See GitHub codespaces, google web services, etc. And therefore to a wider audience.

Where do you see open source heading next?

To the wide public, as ordinary people start to understand the benefits of open source software (even though they don’t fully understand what it is).

You only recently moved to open source after a long period of proprietary development, why did you do this?  Why not stay proprietary?  

We moved to an open source license mainly because we had the feeling it would allow us to increase our consulting business. On one hand, several industrial customers told us that for their R&D, they were trying to avoid relying on proprietary technology owned by a small SME because of several risks (company going bankrupt or buyout, legal aspects of derivative products including license price changes, etc.). On the other hand, proposing to use and further develop an open source software for academic research is very well regarded by public research funding agencies (at least in Europe) and increases our chances to get public research money. So we decided to go open source. 

What was the driving force behind the switch and how did you weigh the pros and cons? Was the transition difficult?  Do you regret making the change to open source?

The main con was that we lost several $100k due to missing license sales, obviously. Therefore, the transition was a little bit difficult and we had to fire one employee at this point. However, soon, we had to hire again because, as expected we received more consulting business on both the industrial and academic research sides. So, today I have no regret making this irreversible change.


Like what you saw here? Why not share it?

Share

Or, better yet, share Console!

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.