### Recent Trend

Hazel
Hazel Engine
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
send
Simple, private file sharing from the makers of Firefox
windows
V2ray , Trojan, Trojan-go, NaiveProxy, shadowsocksR install tools for windows V2ray，Trojan，Trojan-go, NaiveProxy, shadowsocksR的一键安装工具windows下用（一键科学上网）
silero-models
Silero Models: pre-trained STT models and benchmarks made embarrassingly simple
vue-next
Repo for Vue 3.0 (currently in RC)
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. Issues are managed on our own bug tracker at https://www.freecadweb.org/tracker
kb
A minimalist knowledge base manager
Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow
mimikatz
A little tool to play with Windows security
vagas-junior-estagio
Empresas que constantemente oferecem vagas para junior e estagiários
material-shell
A modern desktop interface for Linux. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate window
dayjs
⏰ Day.js 2KB immutable date library alternative to Moment.js with the same modern API
ML_course
EPFL Machine Learning Course, Fall 2019
create-react-app
Set up a modern web app by running one command.
Background-Matting
Background Matting: The World is Your Green Screen
Kingfisher
istio
Connect, secure, control, and observe services.
linux-command
Linux命令大全搜索工具，内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux
generative_inpainting
DeepFill v1/v2 with Contextual Attention and Gated Convolution, CVPR 2018, and ICCV 2019 Oral
yearn-protocol
Yearn solidity smart contracts
pebble
RocksDB/LevelDB inspired key-value database in Go
jazzit
moment
Parse, validate, manipulate, and display dates in javascript.
n8n
Free and open fair-code licensed node based Workflow Automation Tool. Easily automate tasks across different services.
Hero
Elegant transition library for iOS & tvOS
DAIN
Depth-Aware Video Frame Interpolation (CVPR 2019)
eat_tensorflow2_in_30_days
Tensorflow2.0 ?? is delicious, just eat it! ??
tmpmail
✉️ A temporary email right from your terminal
team-comtress-2
Team Fortress 2, but with a lot of fixes, QoL improvements and performance optimizations!
CVE-2020-1472
PoC for Zerologon - all research credits go to Tom Tervoort of Secura
DefinitelyTyped
The repository for high quality TypeScript type definitions.
rails
Ruby on Rails
stats-illustrations
R & stats illustrations by @allison_horst
pytorch-gans
My implementation of various GAN (generative adversarial networks) architectures like vanilla GAN, cGAN, DCGAN, etc.
data-science-interviews
Data science interview questions and answers
sds1

jupyter-text2code
A proof-of-concept jupyter extension which converts english queries into relevant python code
Notebooks
jellyfin
The Free Software Media System
BIGTREETECH-SKR-mini-E3
BIGTREETECH SKR-mini-E3 motherboard is a ultra-quiet, low-power, high-quality 3D printing machine control board. It is launched by the 3D printing team of Shenzhen BIGTREE technology co., LTD. This bo
A simple tool for managing Xiaomi devices on desktop using ADB and Fastboot
fastmac
Get a MacOS or Linux shell, for free, in around 2 minutes
pipedream
Serverless integration and compute platform. Free for developers.
DeepVision

dive
A tool for exploring each layer in a docker image
libra
Libra’s mission is to enable a simple global payment system and financial infrastructure that empowers billions of people.
Kalman-and-Bayesian-Filters-in-Python
Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters,
kinto

CVE-2020-1472
Test tool for CVE-2020-1472
leetcode_company_wise_questions
This is a repository containing the list of company wise questions available on leetcode premium
makani
Makani was a project to develop a commercial-scale airborne wind turbine, culminating in a flight test of the Makani M600 off the coast of Norway. All Makani software has now been open-sourced. This r
Fantasy-Premier-League
Creates a .csv file of all players in the English Player League with their respective team and total fantasy points
996.ICU
Repo for counting stars and contributing. Press F to pay respect to glorious developers.
graal
GraalVM: Run Programs Faster Anywhere ?
understand-nodejs

tensorboard
TensorFlow's Visualization Toolkit
DeepSpeed
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.
Relativty
An open source VR headset with SteamVR supports for $200 guide-rpc-framework A custom RPC framework implemented by Netty+Kyro+Zookeeper.（一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程。） UTM Virtual machines for iOS v2ray-heroku 用于在 Heroku 上部署 V2Ray Websocket，本项目不宜做为长期使用之对策。 learning Becoming 1% better at data science everyday wirehole minecraft-react mem-doc This is a document to help with .NET memory analysis and diagnostics. HarmonyOS A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。 radar-covid-backend-dp3t-server DP^3T Radar COVID fork eiten Statistical and Algorithmic Investing Strategies for Everyone radar-covid-backend-verification-server Radar COVID Verification Service radar-covid-ios Native iOS app using DP^3T iOS sdk to handle Exposure Notification framework from Apple radar-covid-android Native Android app using DP^3T Android sdk to handle Exposure Notifications API from Google react-challenge-amazon-clone solana Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. cockroach CockroachDB - the open source, cloud-native distributed SQL database. machine-learning-for-trading Code and resources for Machine Learning for Algorithmic Trading, 2nd edition. hwp.js Open source hwp viewer and parser library powered by web technology awesome-react A collection of awesome things regarding React ecosystem connectedhomeip Project Connected Home over IP is a new Working Group within the Zigbee Alliance. This Working Group plans to develop and promote the adoption of a new connectivity standard to increase compatibility Yolo-Fastest ⚡ Yolo universal target detection model combined with EfficientNet-lite, the calculation amount is only 230Mflops(0.23Bflops), and the model size is 1.3MB laravel A PHP framework for web artisans onnxruntime ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator cim ?cim(cross IM) 适用于开发者的分布式即时通讯系统 ESP32-WiFi-Hash-Monster WiFi Hash Purple Monster, store EAPOL & PMKID packets in an SD CARD using a M5STACK / ESP32 device react-portfolio Algorithms A collection of algorithms and data structures frp A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. funNLP 中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音、汪峰歌词生成器、职业名称词库、同义词库、反义词库、否定词库、汽车品牌词库、汽车零件词库、连续英文切割、各种中文词向量、公司名字大全、古诗词库、IT词库、财经词库、成语词库、地名词库、历史名 GRAT2 We developed GRAT2 Command & Control (C2) project for learning purpose. DescomplicandoKubernetes aes-finder Utility to find AES keys in running processes mml-book.github.io Companion webpage to the book "Mathematics For Machine Learning" ultimate-python Ultimate Python study guide for newcomers and professionals alike. ? ? ? sushiswap-frontend pytorch-lightning The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. awesome-flutter An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more. Interview_Question_for_Beginner ? ? Technical-Interview guidelines written for those who started studying programming. I wish you all the best. ? free talk A group video call for the web. No signups. No downloads. bitcoin Bitcoin Core integration/staging tree eleventy-high-performance-blog A high performance blog template for the 11ty static site generator. awesome-project-ideas Curated list of Machine Learning, NLP, Vision, Recommender Systems Project Ideas ghcide A library for building Haskell IDE tooling moon ? The minimal & fast library for functional user interfaces jdk JDK main-line development Tasmota Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full docum Server PanDownload的个人维护版本 a32nx The A32NX Project is a community driven open source project to create a free Airbus A320neo in Microsoft Flight Simulator that is as close to reality as possible. It aims to enhance the default A320ne keras Deep Learning for humans Red-Teaming-Toolkit A collection of open source and commercial tools that aid in red team operations. data-engineer-roadmap Roadmap to becoming a data engineer in 2020 hivemind Decentralized deep learning framework in pytorch. Built to train models on thousands of volunteers across the world. scipio Scipio is a thread-per-core framework that aims to make the task of writing highly parallel asynchronous application in a thread-per-core architecture easier for rustaceans hoppscotch ? A free, fast and beautiful API request builder used by 75k+ developers. https://hoppscotch.io Wav2Lip This repository contains the codes of "A Lip Sync Expert Is All You Need for Speech to Lip Generation In the Wild", published at ACM Multimedia 2020. KingOfBugBountyTips autoscraper A Smart, Automatic, Fast and Lightweight Web Scraper for Python 100-nlp-papers 100 Must-Read NLP Papers croc Easily and securely send things from one computer to another ? ? spark-nlp State of the Art Natural Language Processing display-switch Turn a$30 USB switch into a full-featured multi-monitor KVM switch
surpriver
Find big moving stocks before they move using machine learning and anomaly detection
deeplearning-models
A collection of various deep learning architectures, models, and tips
fes.js
Fes.js 是一个管理台应用解决方案，提供初始项目、开发调试、编译打包的命令行工具，内置布局、权限、数据字典、状态管理、Api等多个模块，文件目录结构即路由，用户只需要编写页面内容。基于Vue.js，内置管理台常用能力，让用户写的更少，更简单。经过多个项目中打磨，趋于稳定。
stitches
The modern styling library. Near-zero runtime, server-side rendering, multi-variant support, and best-in-class developer experience.
18S191
Course 18.S191 at MIT, fall 2020 - Introduction to computational thinking with Julia
grafana
The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
fortify

jetstream

scikit-learn-tips
?⚡ Daily scikit-learn tips
12306
12306智能刷票，订票
desafio-6-2020

30-seconds-of-code
Short JavaScript code snippets for all your development needs
gdal
GDAL is an open source X/MIT licensed translator library for raster and vector geospatial data formats.
toBeTopJavaer
To Be Top Javaer - Java工程师成神之路
A list of companies that sponsor employees from other countries.
howtheytest
A collection of public resources about how software companies test their software
bicep

htop
htop - an interactive process viewer
portainer
Making Docker management easy.
gorm
The fantastic ORM library for Golang, aims to be developer friendly
SuperPower
Here you should find the best power supplies for your low-power projects
CompEcon2020
Computational Economics Course 2020 by Kenneth Judd
vimac
Vimium for macOS.
Windows10Debloater
Script to remove Windows 10 bloatware.
HowToHunt
Some Tutorials and Things to Do while Hunting That Vulnerability.
Hack-Tools
The all-in-one Red Team extension for Web Pentester ?
KingOfBugBountyTips

Showkase
? Showkase is an annotation-processor based Android library that helps you organize, discover, search and visualize Jetpack Compose UI elements
webrtc-for-the-curious
WebRTC for the Curious: Go beyond the APIs
matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization ??
Flutter-Course-Resources
Learn to Code While Building Apps - The Complete Flutter Development Bootcamp
Flutter App Developer Roadmap - A complete roadmap to learn Flutter App Development. I tried to learn flutter using this roadmap. If you want to add something please contribute to the project. Happy L
objax

sushiswap
? SushiSwap smart contracts
Cloudreve
?支持多家云存储的云盘系统 (A project helps you build your own cloud in minutes)
learn-python
? Playground and cheatsheet for learning Python. Collection of Python scripts that are split by topics and contain code examples with explanations.
Python-programming-exercises
100+ Python challenging programming exercises
learn-python3
Jupyter notebooks for teaching/learning Python 3
vscode-debug-visualizer
An extension for VS Code that visualizes data during debugging.
rapier
2D and 3D physics engines focused on performances.
project-guidelines
A set of best practices for JavaScript projects
d3
Bring data to life with SVG, Canvas and HTML. ???
OpenBot

More examples:

### Appearance

As a convenience, the colors.h header contains many functions to generate colors from strings and vice-versa.

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

#### Multiplot

More examples:

More examples:

More examples:

##### Subplots

Unlike other libraries, subplots uses 0-based indices.

More examples:

##### Tiled Layout

Our tiling functions are convenience shortcuts for the subplot functions. If there is no room for the next tile, we automatically rearrange the axes and increase the number of subplot rows or columns to fit the next tile. Use subplots for more control over the subplots.

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

More examples:

### Exporting

#### Saving (Manually)

The interactive plot window has a widget to save the current figure. Because this widget uses the same backend as the one used to produce the interactive image, the final image matches closely what the user sees in the window.

#### Saving (Programatically)

You can programatically save the figure in a number of formats with the save function:

save(filename);


or

save(filename, fileformat);


More examples:

The first option (save(filename)) infers the appropriate file format from the filename extension. In both cases (save(filename) and save(filename,fileformat)), this function temporarily changes the backend to a non-interactive backend appropriate to draw the figure. A different backend is used for each format and, depending on the format, the final image does not necessarily match what is on the interactive plot window. The reason is that some file formats purposefully do not include the same features.

For instance, consider the bar chart generated by

 vector<double> x = {29, 17, 14, 13, 12, 4, 11};
bar(x);


If we export the image with

 save("barchart.svg");


we get the vector graphics

Exporting the image with

 save("barchart.txt");


generates a representation of the image appropriate for text or markdown files, such as


30 +-----------------------------------------------------------+
|    *******   +       +      +       +      +       +      |
|    *     *                                                |
25 |-+  *     *                                              +-|
|    *     *                                                |
|    *     *                                                |
20 |-+  *     *                                              +-|
|    *     *                                                |
|    *     ********                                         |
15 |-+  *     **     *                                       +-|
|    *     **     * *******                                 |
|    *     **     * *     ******** *******                  |
|    *     **     * *     **     * *     *        *******   |
10 |-+  *     **     * *     **     * *     *        *     * +-|
|    *     **     * *     **     * *     *        *     *   |
|    *     **     * *     **     * *     *        *     *   |
5 |-+  *     **     * *     **     * *     ******** *     * +-|
|    *     **     * *     **     * *     **     * *     *   |
|    *  +  **  +  * *  +  **  +  * *  +  **  +  * *  +  *   |
0 +-----------------------------------------------------------+
1      2       3      4       5      6       7



As the last example, saving an image with

 save("barchart.tex");


would save the image in a format appropriate to embed in latex documents, such as

This exports the image in a format in which the labels are replaced by latex text so that the plot fits the rest of the document.

## Coding styles

### Member vs. Free-standing Functions

Like in Matplotlib, we support two coding styles: Free-standing functions and an Object-oriented interface.

• Freestanding functions:

• We call functions to create plots on the current axes
• The global current axes object is the current axes object in the current figure in the global figure registry
• For instance, one can use plot(y); to create a line plot on the current axes (or create a new axes object if needed).
• Also, one can use plot(ax,y); to create a line plot on the axes object ax.
• This is less verbose for small projects and quick tests.
• The library looks for existing axes to create the plot.
• Object-oriented interface:

• We explicitly create figures and call methods on them
• For instance, one can use ax->plot(y); to plot on the axes object ax
• We can create the same line plot on the current axes by auto ax = gca(); ax->plot(y);
• This is less verbose and provides better control in large projects where we need to pass these objects around
• The user manages axes handles containing plots.

Assuming the user is explicitly managing the axes to create plots in another function, a more complete example of these styles could be

// Free-standing functions
auto ax = gca();
plot(ax, x, y)->color("red").line_width(2);
my_function(ax);


and

// Object-oriented interface
auto ax = gca();
ax->plot(x, y)->color("red").line_width(2);
my_function(ax);


Both examples would generate the same plot. All free-standing functions are templated functions that use meta-programming to call the main function on the current axes object. If the first parameter is not an axes_handle, it will get an axes_handle from the figure registry with gca (Section Figures and Axes) and forward all parameters to the function in this axes object. If the first parameter is an axes_handle, the template function will forward all parameters, but the first one, to this axes object. This use of templates for the free-standing functions keeps both coding styles maintainable by the developers.

Note that, because the example needs the axes object for the function my_function, we also need to get a reference to the axes object with the free-standing functions. In that case, the free-standing functions are not less verbose than the object-oriented interface.

To adhere to free-standing functions, we could create two versions of my_function: one that receives an axes_handle, and a second version that would get an axes_handle from the figure registry and call the first version. If my_function is going to be exposed to other users as a library, this could be a convenience to these users. However, notice that this is only moving the verbosity from the main function to my_function. In fact, this is how the free-standing functions in Matplot++ work.

### Reactive figures

There are also two modes for figures: reactive (or interactive) mode and quiet mode. Figures in reactive mode are updated whenever any of their child objects change. This happens through the touch function, that gets called on any child object when it changes its appearance. This creates an interactive mode in which figures are updated as soon as we adjust their properties. If we combine interactive figures with free-standing functions, we have a "Matlab-like style" for plots. This is a coding pattern where the figure registry works as a stream for plots. The problem with this coding style is that the user might unnecessarily create useless intermediary plots.

Figures in quiet mode are updated by calling the functions draw() or show() (Section Figures and Axes). Unless these functions are called, nothing changes in the figure. The combination of the object-oriented coding style and quiet mode is the "OO-Matplotlib-like style" for plots. This is a coding style in which the user explicitly decides when the plot is shown or updated. This is beneficial to applications that cannot waste computational resources on intermediary figures that might not be valuable to the application.

We generally use free-standing functions with reactive mode and the object-oriented interface with quiet mode. By default, new figures are in reactive mode, unless it is using an non-interactive backend. One can turn this reactive mode on and off with:

• ion() or ioff() free-standing functions
• reactive(bool) or quiet(bool) function on the figure object
• figure(true) or figure(false) when explicitly creating a new figure

A more complete example of the reactive mode would be:

// Reactive mode
auto f = gcf(false);
auto ax = f->gca();
auto p = ax->plot(ax, x, y);   // draws once
p->color("red").line_width(2); // draws twice more
wait();                        // pause console


For convenience, the examples in Section Plot Categories use the reactive mode. The wait function pauses the console until the user interacts with the plot window. If the backend is based on process pipes, because these are unidirectional, closing the window is not enough to resume. The user needs to use the console to unblock execution. A similar example is quiet mode would be

// Quiet mode
auto f = gcf(true);
auto ax = f->gca();
auto p = ax->plot(x,y);        // does not draw
p->color("red").line_width(2); // does not draw
f->show();                     // draw only once and pause console


In this example, the figure is only updated once. The user could replace the show function with the draw function, but the window would close as soon as execution completes. It is important to use wait() and show() with caution. These functions are meant for some particular executables so that an interactive plot does not close before the user can see it. It is probably unreasonable to call these functions inside a library because the user would have to manually interfere with the execution to continue.

### Method Chaining

To support a more compact syntax, the library allows method chaining on plot objects. For instance, we can create a simple line plot and modify its appearance by

// Using the line handle
auto p = plot(x,y,"--gs");
p->line_width(2);
p->marker_size(10);
p->marker_color("b");
p->marker_face_color({.5,.5,.5});


or

// Method chaining
plot(x,y,"--gs")->line_width(2).marker_size(10).marker_color("b").marker_face_color({.5,.5,.5});


The first code snippet works because plot returns a line_handle to the object in the axes. We can use this line handle to modify the line plot. Whenever we modify a property, the setter function calls touch, which will draw the figure again if it is in reactive mode. The second option works because setters return a reference to *this rather than void.

### Ranges

The plotting functions work on any range of elements convertible to double. For instance, we can create a line plot from a set of elements by

set<int> y = {6,3,8,2,5};
plot(y);


Any object that has the functions begin and end are considered iterable ranges. Most axes object subclasses use vector<double> or vector<vector<double>> to store their data. For convenience, the common.h header file includes the aliases vector_1d and vector_2d to these data types.

These conversions also work on ranges of ranges:

vector<set<int>> Y = {{6,3,8,2,5},{6,3,5,8,2}};
plot(Y);


Unfortunately, because of how templated functions work, one exception is initializer lists. Initializer lists only work for functions that are explicitly defined for them.

### Common Utilities

The headers common.h and colors.h include a number of utilities we use in our examples. These include naive functions to generate and manipulate vectors and strings; handle RGBA color arrays; convert points to and from polar coordinates; read files to strings; write strings to files; calculate gradients; read, write, and manipulate images; and generate vectors with random numbers. Although some of these functions might be helpful, most functions only operate on vector<double> and they are not intended to be a library of utilities. The sole purpose of these algorithms is to simplify the examples.

## Motivation and Details

If you are interested in understanding how the library works, you can read the details in the complete article. It describes the relationship between its main objects, the backend interface, how to create new plot categories, limitations, and compares this library with similar alternatives.

## Integration

Check if you have Cmake 3.14+ installed:

cmake -version


add_subdirectory(matplotplusplus)


When creating your executable, link the library to the targets you want:

add_executable(my_target main.cpp)
target_link_libraries(my_target PUBLIC matplot)


#include <matplot/matplot.h>


Check if you have Cmake 3.14+ installed:

cmake -version


Install CPM.cmake and then:

CPMAddPackage(
NAME matplotplusplus
GITHUB_REPOSITORY alandefreitas/matplotplusplus
)
# ...
target_link_libraries(my_target PUBLIC matplot)


#include <matplot/matplot.h>


### Other build systems

Right now, it really doesn't have support for anything other than CMake. If you really want to use it in another build system you pretty much have to rewrite the entire build script.

If you're not using Cmake, your project needs to include the headers and compile all source files in the source directory. You also need to link with the dependencies described in source/3rd_party/CMakeLists.txt.

#include <matplot/matplot.h>


### Dependencies

This project requires C++17. You can see other dependencies in source/3rd_party/CMakeLists.txt. CMake will try to solve everything for you.

• Required
• olvb/nodesoup (bundled; but you can define WITH_SYSTEM_NODESOUP=ON in the cmake command line to use a system-provided version of nodesoup)
• dtschump/CImg (bundled; but you can define WITH_SYSTEM_CIMG=ON in the cmake command line to use a system-provided version of CImg)
• Gnuplot (for the Gnuplot backend only)
• Optional (for images)
• JPEG
• TIFF
• ZLIB
• PNG
• LAPACK
• BLAS
• FFTW
• OpenCV
• OPENEXR
• MAGICK

There's an extra target matplot_opengl that exemplifies how an OpenGL backend could be implemented. It's not a complete backend. If you want to test it, only then there are some extra dependencies.

• Dependencies for the OpenGL backend
• OpenGL
• GLFW3

### Backends

Coming up with new backends is a continuous process. See the complete article for a description of the backend interface, a description of the current default backend (Gnuplot pipe), and what's involved in possible new backends. See the directory source/matplot/backend for some examples. Also, have a look at this example test/backends/main.cpp.

If you're in a hurry, here is a summary of the backends we have and the backends we have been considering or working on:

• Gnuplot
• Pros: It seems to be working for everyone. In practice, this is current default backend you'll get right now.
• Cons: Pipes are comparatively slow and unidirectional
• OpenGL
• Pros: Efficient for many FPS
• Cons: Unacceptably blocks the main thread on some operating systems
• AGG
• Pros: Great for vector graphics
• Cons: Unmaintained, 2D only, and non-interactive by itself
• Qt / QPainter
• Cons: Unacceptably blocks the main thread on some operating systems
• OpenCV
• Elements

### Contributing

There are many ways in which you can contribute to this library:

• Testing the library in new environments
• Contributing with interesting examples
• Designing new backends see 1, 2, 3
• Finding problems in this documentation
• Writing algorithms for new plot categories
• Finding bugs in general
• Whatever idea seems interesting to you

## References

• Abadi M, Barham P, Chen J, Chen Z, Davis A, Dean J, Devin M, Ghemawat S, Irving G,Isard M,et al.(2016). "Tensorflow: A system for large-scale machine learning." In 12th USENIX symposium on operating systems design and implementation (OSDI 16), pp.265-283.

• Angerson E, Bai Z, Dongarra J, Greenbaum A, McKenney A, Du Croz J, Hammarling S,Demmel J, Bischof C, Sorensen D (1990). "LAPACK: A portable linear algebra library for high-performance computers." In Supercomputing'90: Proceedings of the 1990 ACM/IEEE Conference on Supercomputing, pp. 2-11. IEEE.

• Antcheva I, Ballintijn M, Bellenot B, Biskup M, Brun R, Buncic N, Canal P, Casadei D, CouetO, Fine V, et al.(2011). "ROOT-A C++ framework for petabyte data storage, statistical analysis and visualization."Computer Physics Communications,182(6), 1384-1385.

• Baratov R (2019). Hunter. URL: https://hunter.readthedocs.io.

• Barrett P, Hunter J, Miller JT, Hsu JC, Greenfield P (2005). "matplotlib-A Portable Python Plotting Package." In Astronomical data analysis software and systems XIV, volume 347,p. 91.

• Bezanson J, Edelman A, Karpinski S, Shah VB (2017). "Julia: A fresh approach to numerical computing. "SIAM review,59(1), 65-98.

• CEGUI Team (2020). CEGUI. URL: http://cegui.org.uk.

• Cornut O (2020). Dear ImGui: Bloat-free Immediate Mode Graphical User Interface for C++ with minimal dependencies. URL: https://github.com/ocornut/imgui.

• de Guzman J (2020). Elements. URL: http://cycfi.github.io/elements/.

• Eichhammer E (2020). QCustomPlot. URL: https://www.qcustomplot.com.

• Evers B (2019). Matplotlib-cpp. URL: https://github.com/lava/matplotlib-cpp.

• Freitas A (2020). Pareto Front Library. URL: https://github.com/alandefreitas/pareto-front.

• Frigo M, Johnson SG (1998). "FFTW: An adaptive software architecture for the FFT." In Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP'98 (Cat. No. 98CH36181), volume 3, pp. 1381-1384. IEEE.

• Fruchterman TM, Reingold EM (1991). "Graph drawing by force-directed placement. "Software: Practice and experience, 21(11), 1129-1164.

• GNU Project (2020). GNU Octave: Introduction to Plotting. URL: https://octave.org/doc/v4.2.2/Introduction-to-Plotting.html.

• Guy Eric Schalnat Andreas Dilger GRP (2020). Libpng. URL: https://sourceforge.net/p/libpng/.

• Hao J (2020). Nana. URL: http://nanapro.org/.

• Hunter JD (2007). "Matplotlib: A 2D graphics environment. "Computing in Science & Engineering, 9(3), 90-95. doi:10.1109/MCSE.2007.55.

• Idea4good (2020). GuiLite. URL: https://github.com/idea4good/GuiLite.

• ImageMagick Studio LLC (2020). Magick++. URL: https://imagemagick.org/Magick++/.

• Independent JPEG Group (2020). Libjpeg. URL: http://libjpeg.sourceforge.net.

• Intel Corporation, Willow Garage I (2020). Open Source Computer Vision Library (OpenCV). URL: https://opencv.org/.

• Jakob W (2017). PyBind11. URL: https://pybind11.readthedocs.io/en/stable/.

• Kagstrom B LP, C VL (2020). Basic Linear Algebra Subprograms (BLAS). URL: http://www.netlib.org/blas/.

• Kainz F, Bogart R, Hess D (2003). "The OpenEXR image file format."SIGGRAPH TechnicalSketches.

• Kamada T, Kawai S,et al.(1989). "An algorithm for drawing general undirected graphs."Information processing letters,31(1), 7-15.

• Martin K, Hoffman B (2010). Mastering CMake: a cross-platform build system. Kitware.

• McKinney W,et al.(2011). "Pandas: a foundational Python library for data analysis and statistics. "Python for High Performance and Scientific Computing, 14(9).

• Conan.io (2020). Conan. URL: https://conan.io.

• Melchior L (2020). CPM.cmake. URL: https://github.com/TheLartians/CPM.cmake.

• Murray Cumming DE (2020). Gtkmm. URL: https://www.gtkmm.org/.

• Natural Earth (2018). "Natural earth. Free vector and raster map data." URL: http://www.naturalearthdata.com/downloads/.

• NetworkX developers (2020). NetworkX. URL: https://networkx.github.io.

• OLVB (2020). Node Soup. URL: https://github.com/olvb/nodesoup.

• Pezent E (2020). ImPlot. URL: https://github.com/epezent/implot.

• Sam Leffler SG (2020). Libtiff. URL: https://gitlab.com/libtiff/libtiff.

• Schaling B (2011). The boost C++ libraries. Boris Schaling.

• Spitzak B, et al.(2004). "Fast Light Toolkit (FLTK)." FTLK: Fast light toolkit. Available: http://www.fltk.org/

• Stahlke D (2020). Gnuplot-Iostream. URL: http://stahlke.org/dan/gnuplot-iostream/.

• Storer J (2020). JUCE. URL: https://juce.com.

• Terra Informatica Software, Inc (2020). Sciter. URL: https://sciter.com.

• The FLTK Team (2020). FLTK. URL: https://www.fltk.org.

• The MathWorks, Inc (2020). MatlabGraphics. URL: https://www.mathworks.com/help/matlab/graphics.html.

• The Qt Company (2020). Qt. URL: https://www.qt.io.

• Tschumperle D (2020). CImg. URL: http://cimg.eu.

• van der Zijp J (2020). Fox toolkit. URL: http://fox-toolkit.org.

• Vasilev V, Canal P, Naumann A, Russo P (2012). "Cling-the new interactive interpreter for root 6." In Journal of Physics: Conference Series, volume 396, p. 052071.

• Walt Svd, Colbert SC, Varoquaux G (2011). "The NumPy array: a structure for efficient numerical computation." Computing in science & engineering,13(2), 22-30.

• Wei V (2020). MiniGUI. URL: http://www.minigui.com.

• Williams T, Kelley C, Bersch C, Broker HB, Campbell J, Cunningham R, Denholm D, Elber G, Fearick R, Grammes C,et al.(2017). "gnuplot 5.2."

• wxWidgets (2020). WxWidgets. URL: https://wxwidgets.org.

• XOrg Foundation (2020). X11. URL: https://www.x.org/.

• Zaitsev S (2020). Webview. URL: https://github.com/zserge/webview.

• Zakai A (2011). "Emscripten: an LLVM-to-JavaScript compiler." In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, pp. 301-312.