JSON Schema is a vocabulary that allows you to annotate and validate JSON documents.
Benefits
- Describes your existing data format(s).
- Provides clear human- and machine- readable documentation.
- Validates data which is useful for:
- Automated testing.
- Ensuring quality of client submitted data.
Zuul is a Project Gating System. That’s like a CI or CD system, but the focus is on testing the future state of code repositories.
A gating system doesn’t just test a proposed change; it tests the proposed future state of multiple branches and repositories with any number of in-flight changes and their dependencies. And the same playbooks used to test software can also be used to deploy it.
Zuul itself is a service which listens to events from various code review systems, executes jobs based on those events, and reports the results back to the code review system. The primary interface for Zuul is the code review system (or systems) so that it fits seamlessly into developer workflows, and a web interface is available for inspecting the current status and browsing build results.
The best way to run Zuul is with a single installation serving as many projects or groups as possible. It is a multi-tenant application that is able to provide as much or as little separation between projects as desired.
Adminstammtisch Berlin
Pytype checks and infers types for your Python code - without requiring type annotations. Pytype can:
- Lint plain Python code, flagging common mistakes such as misspelled attribute names, incorrect function calls, and much more, even across file boundaries.
- Enforce user-provided type annotations. While annotations are optional for pytype, it will check and apply them where present.
- Generate type annotations in standalone files ("pyi files"), which can be merged back into the Python source with a provided merge-pyi tool.
Pytype is a static analyzer; it does not execute the code it runs on.
Thousands of projects at Google rely on pytype to keep their Python code well-typed and error-free.
For more information, check out the user guide, FAQ, or supported features.
Sparselizard (GNU GPLv2+, Copyright (C) 2020-2021 A. Halbach, Copyright (C) 2018-2019 A. Halbach, IMEC, Copyright (C) 2017 A. Halbach and C. Geuzaine, University of Liege) is a high-performance, multiphysics, hp-adaptive, open source C++ finite element library running on Linux, Mac and Windows. It is carefully validated against analytical solutions, third party software and lab measurements. General high-performance domain decomposition methods are available for large-scale simulations on computing clusters (contact Quanscient for commercial applications). Efficient conformal adaptive mesh refinement (AMR) is provided for 3D, 2D and 1D problems. A fast algorithm for mesh-to-mesh interpolation and a general implementation of the mortar finite element method allow to easily work with non-matching meshes and provide general periodic conditions. FEM simulations can be weakly or strongly coupled to lumped electric circuits. Sparselizard can handle a general set of problems in 3D, 2D axisymmetric, 2D and 1D such as mechanical (anisotropic elasticity, geometric nonlinearity, buckling, contact, crystal orientation), fluid flow (laminar, creeping, incompressible, compressible), stabilized advection-diffusion, nonlinear acoustic, thermal, thermoacoustic, fluid-structure interaction, electric, magnetic, electromagnetic, piezoelectric, superconductor,... problems with a transient, (multi)harmonic or damped/undamped eigenmode analysis. A massive amount of data can be stored for delayed, remote post-processing thanks to the ultra compact .slz data format. Problems with several millions of unknowns in 3D and several tens of millions of unknowns in 2D have been solved within minutes on up to 32 cores/64 threads (see report). Some built-in geometry definition and meshing tools are also provided.
Mypy is a static type checker for Python 3 and Python 2.7. If you sprinkle your code with type annotations, mypy can type check your code and find common bugs. As mypy is a static analyzer, or a lint-like tool, the type annotations are just hints for mypy and don’t interfere when running your program. You run your program with a standard Python interpreter, and the annotations are treated effectively as comments.
Using the Python 3 annotation syntax (using PEP 484 and PEP 526 notation) or a comment-based annotation syntax for Python 2 code, you will be able to efficiently annotate your code and use mypy to check the code for common errors. Mypy has a powerful and easy-to-use type system with modern features such as type inference, generics, callable types, tuple types, union types, and structural subtyping.
As a developer, you decide how to use mypy in your workflow. You can always escape to dynamic typing as mypy’s approach to static typing doesn’t restrict what you can do in your programs. Using mypy will make your programs easier to understand, debug, and maintain.
This documentation provides a short introduction to mypy. It will help you get started writing statically typed code. Knowledge of Python and a statically typed object-oriented language, such as Java, are assumed.
Mypy is a static type checker for Python.
Type checkers help ensure that you're using variables and functions in your code correctly. With mypy, add type hints (PEP 484) to your Python programs, and mypy will warn you when you use those types incorrectly.
Python is a dynamic language, so usually you'll only see errors in your code when you attempt to run it. Mypy is a static checker, so it finds bugs in your programs without even running them!
Mypy is designed with gradual typing in mind. This means you can add type hints to your code base slowly and that you can always fall back to dynamic typing when static typing is not convenient.
A fast static site generator in a single binary with everything built-in.
Documentation is available on its site or in the docs/content folder of the repository and the community can use its forum.
This tool and the template engine it is using were born from an intense dislike of the (insane) Golang template engine and therefore of Hugo that I was using before for 6+ sites.
A strongly defined, highly compatible specification of Markdown
An Ansible AWX operator for Kubernetes built with Operator SDK and Ansible.

Learn Vimscript the Hard Way is a book for users of the Vim editor who want to learn how to customize Vim.
It is not a guide to using Vim. Before reading this book you should be comfortable editing text in Vim and know what terms like "buffer", "window" and "insert mode" mean.
The book is divided roughly into three sections:
- The first covers basic Vim commands that you can use in your ~/.vimrc file to customize Vim quickly and easily.
- The second looks more deeply at Vimscript as a programming language, covering things like variables, comparisons, and functions.
- The third walks through the creation of a sample plugin intended for distribution to other Vim users.
The book is copyright 2013 by Steve Losh, all rights reserved. You can redistribute this HTML version as long as you don't make any changes and don't charge for it.
The book will always be free to read online.
~23km
~ 5h
It is very important to install Flake8 on the correct version of Python for your needs. If you want Flake8 to properly parse new language features in Python 3.5 (for example), you need it to be installed on 3.5 for Flake8 to understand those features. In many ways, Flake8 is tied to the version of Python on which it runs.
python -m pip install flake8vim-flake8 is a Vim plugin that runs the currently open file through Flake8, a static syntax and style checker for Python source code. It supersedes both vim-pyflakes and vim-pep8.
Flake8 is a wrapper around PyFlakes (static syntax checker), PEP8 (style checker) and Ned's MacCabe script (complexity checker).
Morgen, Kinder, wird’s nichts geben!
Nur wer hat, kriegt noch geschenkt.
Mutter schenkte euch das Leben.
Das genügt, wenn man’s bedenkt.
Einmal kommt auch Eure Zeit.
Morgen ist’s noch nicht so weit.
Doch ihr dürft nicht traurig werden,
Reiche haben Armut gern.
Gänsebraten macht Beschwerden,
Puppen sind nicht mehr modern.
Morgen kommt der Weihnachtsmann.
Allerdings nur nebenan.
Lauft ein bisschen durch die Straßen!
Dort gibt’s Weihnachtsfest genug.
Christentum, vom Turm geblasen,
macht die kleinsten Kinder klug.
Kopf gut schütteln vor Gebrauch!
Ohne Christbaum geht es auch.
Tannengrün mit Osrambirnen –
lernt drauf pfeifen! Werdet stolz!
Reißt die Bretter von den Stirnen,
denn im Ofen fehlt’s an Holz!
Stille Nacht und heilge Nacht –
Weint, wenn’s geht, nicht! Sondern lacht!
Morgen, Kinder, wird’s nichts geben!
Wer nichts kriegt, der kriegt Geduld!
Morgen, Kinder, lernt fürs Leben!
Gott ist nicht allein dran schuld.
Gottes Güte reicht so weit . . .
Ach, du liebe Weihnachtszeit!
(Erich Kästner)
UTF8 in MySQL encodes the Unicode BMP . The Unicode Basic Multilingual Plane, or BMP, is the original 65536 character plane of Unicode 1.0. It was thought to be enough for all scripts in the world. It wasn’t. Unicode was extended, as early as with the 2.0 release, to have more characters than that, in more code planes. There can now be up to 17 Unicode planes.
There are various ways to encode codepoints of Unicode.
Some of them are fixed with. For example, Windows uses internally a 16 bit character encoding, also from the time when people thought that Unicode 1.0 would solve the worlds writing problems. This is not only limited, but also wasteful: When writing western text, every other byte in Windows Unicode text is a null byte.
TLDR
We learned:
- Your programming languages utf8 is called utf8mb4 in MySQL.
- utf8 and utf8mb4 sort differently due to changes in the Unicode Collation Algorithm (UCA).
- Indexes are physically materialized sort orders of column sets. They can become pretty large.
- MySQL never changes sort orders of character sets (collations), even if they are buggy. Instead a new collation with a new name is created.
- That is, because changing a sort order may require dropping and recreating an index, which is expensive if the index is large.
- Sorting things can be done in many different ways, depending on data set size, column size and other considerations.
- Implementation details can make sorting even more complicated.
- MySQL 8 is a worthwhile upgrade.
- Databases manage state so you don’t have to. If you think databases are complicated, consider what you would have to do if the database and your DBA would not be there for you.
I2M have its birth thanks to its founders research experience in sensors matters and from their passion towards two wheels world. Our mission has been, from birth, to bring our competence and high technology in each of our product. R&D is dominant in our activities and our products are meant to be always ground-breaking and innovative. These are our guidelines.