giflib is a library for rendering and generating GIF image files. This is the GIF service code in C used for over two decades by graphics applications, Web browsers, game consoles, ATMs, and pretty much anything else that throws pixels on a display. It is simple, stable, and bulletproof.
Slideshow.js is an object that creates slide shows from HTML list elements using animations. The user can play and pause the animation, and go to the next or previous slide using buttons. It provides options to define if the slideshow will automatically play, control the animation speed, show play buttons, etc.
python-pptx is a pure Python library for manipulating Open XML PowerPoint files. It's useful for server-side generation of .pptx files on non-Windows server platforms, and also useful for utility purposes. It can round-trip any Open XML presentation (.pptx file) including all its elements, add slides, populate text placeholders (for example, to create a bullet slide), add an image to a slide with arbitrary position and size, add a textbox to a slide, and manipulate text font size and boldness.
Qtnp is program for math\physics teachers and students. There 4 tools: Pen, Line, Jogged line, and Circle. The software can draw grids, coordinate planes, and graphics. It has flexible settings, presentation mode, support for all base formats, a GUI for blackboards/tablets, and a built-in powerful calculator.
safe numerics provides safe integer operations for C++ integers. Arithmetic operations in C++ are not guaranteed to yield the correct mathematical result. The feature is inherited from the early days of C, when the behavior of int, unsigned int, and others were designed to map closely to the underlying hardware. These types can silently overflow or change sign. This library contains drop-in replacements for the standard C types which throw exceptions whenever invalid operations occur.
protective protects active records from being destroyed in a declarative way: < protect_if :attachments, "Record has attachments and cannot be destroyed" > . Of course, you may pass the name of any defined method. If its result evaluates to present?, the record is not going to be destroyed. No exception is thrown, but a message is added to the errors object of your model. This may then be used further on.