Things and Stuff Wiki - An organically evolving personal wiki knowledge base with a totally on-the-fly taxonomy containing topic outlines, descriptions and breadcrumbs, with links to sites, systems, software, manuals, organisations, people, articles, guides, slides, papers, books, comments, screencasts, webcasts, scratchpads and more. Use the Table of Contents to navigate on longer pages, use the Small-ToC and Tiny-ToC above on longer pages. probably not that mobile friendly atm. I am milk (or milkii) on Freenode IRC, give me a pm for feedback, or see About for login and further information. / et / em
- 1 Formats
- 2 Software
- 2.1 Viewing
- 2.2 Manipulation
- 2.3 Generation
- 2.4 Photography
- 2.5 Editing
- 2.6 Animation
- 2.7 Colour management
- 2.8 Colour picker
- 2.9 DTP
- 2.10 OCR
- 2.11 Cross-stitch and knitting
- 2.12 Charts
- 2.13 Screenshot
- 2.14 Scanning
- 2.15 Drawing
- 2.16 Inking
- 2.17 Other
- 2.18 Machine learning
- 3 Etc
- 4 Misc
- 5 Gallery
- 6 Services
- 7 Resources
- 8 Graphic designers
- 9 Graffiti
- 10 Testing
- 11 Pixel art
- How media queries allow you to optimize SVG icons for several sizes - Opera, Oct 12, 2009
- About those vector icons - November 4th, 2011
- SVG, Use it Already - Apr 3rd, 2012
- How to work with Scalable Vector Graphics (SVG) in HTML 5
- Creating SVG vector graphics for maximum browser compatibility - Oct 19, 2012
- SVG and Browser Support (Part 2) - using object to display png fallback for ie8
- Ways to embed a Clickable SVG-Logo into Your Website - Sep 10 2012
- canvas-svg - This is a set of related components that make canvas and SVG play together more. Notably, it allows you to save a canvas 2D context as SVG, and to have an SVG mirror of a canvas context.
var c = document.getElementById('canvas'); var ctx = c.getContext('2d'); ctx.drawSvg(SVG_XML_OR_PATH_TO_SVG, dx, dy, dw, dh);
- MagicMarkup - Easily create interactive mockups in Inkscape, without adding inline JS!
- Vector Magic - Automatically convert bitmap images like JPEGs, GIFs and PNGs to the crisp, clean, scalable vector art of EPS, SVG, and PDF with the world's best auto-tracing software.
- 1x1px - Ever needed a 1x1 transparent PNG pixel?
Like Sass for SVG.
- Open Clip Art Library 2.0 (at 417M)
- Vecto2000 is a collection of high quality free Vector Art, Vector Icons, Vector Patterns and Photoshop Brushes
- JPEGclub.org develops new JPEG features and maintains the Independent JPEG Group's (IJG) software.
- jpegoptim is a utility for optimizing JPEG files. It provides lossless optimization (based on optimizing the Huffman tables) and "lossy" optimization based on setting a maximum quality factor.
- Google advises; run with the --strip-all option
- Optimizing images for web with Google Page Speed and jpegoptim - 27 June, 2009
"when your JPEG image is under 10K, it’s better to be saved as baseline JPEG (estimated 75% chance it will be smaller) for files over 10K the progressive JPEG will give you a better compression (in 94% of the cases)"
- pngquant is a command-line utility and a library for converting 24/32-bit PNG images to paletted (8-bit) PNGs. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency. 
- https://blogs.dropbox.com/tech/2016/07/lepton-image-compression-saving-22-losslessly-from-images-at-15mbs/ 
- http://mathgifs.blogspot.co.uk/ 
- http://i-am-fat.org/PNGRotateTrick/ - better compression of vertical gradients
- http://alphapun.ch/ - make transparent
- https://en.wikipedia.org/wiki/PostScript - a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language and was created at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton from 1982 to 1984.
- PostScript as a Programming Language - PostScript has all the programming functionality you would expect from an HP-caclulator, plus some interesting features hard to find in other languages. There are variables, loops, subroutines (of a sort), and an advanced idea for the scope of variables.
- https://en.wikipedia.org/wiki/Remote_Imaging_Protocol - associated Remote Imaging Protocol Scripting Language, RIPscrip, is a scripting language that provides a system for sending vector graphics over low-bandwidth links, notably modems. It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in Huntington Beach, California to enhance bulletin board systems and other applications.
Web 1.0 stylee
- sxiv - Simple (or small or suckless) X Image Viewer
sxiv * Open all (hack) sxiv -t
q quit f toggle fullscreen Enter toggle between single and thumbnail Space next image Backspace previous image
qiv / pqiv
magick image.jpg image.png
import -crop 1280x1024+1280+0 -window root $HOME/screenshot_silver_$(date +%F_%H%M%S_%N).png # import a screenshot of the root window to a file cropped for the second desktop
convert -quality 97 image.png image.jpg convert sample.png sample.pdf
- Gist: Whiteboard Picture Cleaner - Shell one-liner/script to clean up and beautify photos of whiteboards!
- G'MIC - a full-featured open-source framework for image processing. It provides several different user interfaces to convert/manipulate/filter/visualize generic image datasets, ranging from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images, thus including 2d color images.
- libvips - A fast image processing library with low memory needs.
- https://github.com/jcupitt/nip2 - A spreadsheet-like GUI for libvips.
- https://github.com/hit9/img2txt - Image to Ascii Text with color support, can output to html or ansi terminal.
- https://github.com/hit9/gif2txt - Gif image to to Ascii Text. (Just a toy)
- Netpbm - a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats. There are over 300 separate tools in the package including converters for about 100 graphics formats. Examples of the sort of image manipulation we're talking about are: Shrinking an image by 10%; Cutting the top half off of an image; Making a mirror image; Creating a sequence of images that fade from one image to another.
- Freestyle - software for Non-Photorealistic Line Drawing rendering from 3D scenes. It is designed as a programmable interface to allow maximum control over the style of the final drawing: the user "programs" how the silhouettes and other feature lines from the 3D model should be turned into stylized strokes using a set of programmable operators dedicated to style description. This programmable approach, inspired by the shading languages available in photorealistic renderers such as Pixar's RenderMan, overcomes the limitations of integrated software with access to a limited number of parameters and permits the design of an infinite variety of rich and complex styles. The system currently focuses on pure line drawing as a first step. The style description language is Python augmented with our set of operators.
- https://primitive.lol - Reproducing images with geometric primitives.
- https://github.com/fogleman/primitive  
- https://github.com/mnhrdt/imscript - a collection of small and standalone utilities for image processing, written in pure C
- https://github.com/ajbrock/Neural-Photo-Editor - A simple interface for editing natural photos with generative neural networks. 
- https://github.com/junyanz/iGAN - Interactive Image Generation via Generative Adversarial Networks 
- Deep Image Prior - deep convolutional networks have become a popular tool for image generation and restoration. Generally, their excellent performance is imputed to their ability to learn realistic image priors from a large number of example images. In this paper, we show that, on the contrary, the structure of a generator network is sufficient to capture a great deal of low-level image statistics prior to any learning. In order to do so, we show that a randomly-initialized neural network can be used as a handcrafted prior with excellent results in standard inverse problems such as denoising, superresolution, and inpainting. Furthermore, the same prior can be used to invert deep neural representations to diagnose them, and to restore images based on flash-no flash input pairs. 
- https://github.com/aleju/imgaug - Image augmentation for machine learning experiments.
- https://github.com/robertfoss/audio_shop - Your friendly neighbourhood script for mangling images or video using audio editing tools 
- PixiVisor - a tool for experimenting with the transmission of video over audio. It consists of two parts: Transmitter and Receiver. Transmitter converts the low-resolution video (stream from camera, static image or GIF animation) to sound in real time, pixel by pixel (progressive scan). So any image or animation can be transferred to the other devices through the sound. Receiver converts the sound (from microphone or Line-in input) back to video. You can set the color palette for this video, and record it to animated GIF file.
- GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve website development.
- Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.
- Eschersketch - an experiment with pattern design in the classical wallpaper groups. It allows one to prototype tiling designs in HTML5 Canvas.
- polyHédronisme - a toy for building complex 3D polyhedral shapes from simple ones by "recipes".
- Mondrian is a smart and easy-to-learn vector graphics web app.
- Fakeimg.pl is a little tool that generates images with an URL. Choose the size, the colors, even the text. Oh… and it’s free.
- Evolvotron is an interactive "generative art" application for Linux to evolve images/textures/patterns/animations through an iterative process of random mutation and user-selection driven evolution. (This process is also often referred to as "evolutionary art" or "genetic art".) If you like lava lamps, and still think the Mandelbrot set is cool, this could be the software for you.
- binglide is a visual reverse engineering tool. It is designed to offer a quick overview of the different data types that are present in a file.
- https://github.com/mxgmn/WaveFunctionCollapse - This program generates bitmaps that are locally similar to the input bitmap.
- https://github.com/drummyfish/ptdesigner - C library and GUI tool for designing and generation of procedural textures, made as a part of my Bachelor thesis.
Tab toggle toolbars
- Making The GIMP Work For Me - Oct 13, 2009
- YouTube: Gimp Tutorial Clone/heal tool - Dom Bower
- YouTube: Shave someone in GIMP- Clone & Healing tool (+spot removal)
- YouTube: Engraved Type
- GPS is a collection of brushes and accompanying tool presets. Tool presets are a simply saved tool options, highly useful feature of the GIMP. The goal of GPS is to provide an adequate working environment for graphic designers and artists to begin to paint and feel comfortable with GIMP from their first use. Later the user will change these settings based on his own workflow preferences and understanding of GIMP.
Scripts and plugins
- GAP - for animation
- Palette Generator
- Ultimate Collection Of Useful Photoshop Plug-Ins
- thepluginsite.com Free Photoshop-compatible Plugins
- Inkscape: Guide to a Vector Drawing Program
- Un-official manual by Kevin Wixson
- Inkscape keyboard and mouse reference
- sK1 - professional quality illustration program for Windows, GNU/Linux and macOS platforms. sK1 2.0 is a powerful and mature application that makes users more productive and provides them professional and free solution even for exotic *nix OSes. Whether you are a newbie user or an experienced designer, sK1 2.0 makes it easy to get started. With its professional color-management engine and wide-range file format compatibility, sK1 2.0 provides color accuracy and drawing flexibility you need for all types of projects.
- MyPaint is a fast and easy open-source graphics application for digital painters. It lets you focus on the art instead of the program. You work on your canvas with minimum distractions, bringing up the interface only when you need it.
- http://www.getpaint.net/ - paint.net
- https://en.wikipedia.org/wiki/Xfig - a free and open-source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms.
- VPaint is an experimental vector graphics editor based on the Vector Animation Complex (VAC), a technology developed by a collaboration of researchers at Inria and the University of British Columbia, featured at SIGGRAPH 2015. It allows you to create resolution-independent illustrations and animations using innovative techniques. 
- https://github.com/lettier/gifcurry - Create animated GIFs, optionally overlaid with text, from video files.
- https://github.com/leafo/gifine - Quickly record and edit gifs and videos of your desktop
- ArgyllCMS is an ICC compatible color management system, available as Open Source under the AGPL. It supports accurate ICC profile creation for scanners, cameras and film recorders, and calibration and profiling of displays and RGB & CMYK printers.
- dispcalGUI - Open Source Display Calibration and Characterization powered by Argyll CMS
- Little CMS intends to be an open source small-footprint color management engine, with special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard when regarding to color management.
- xgrabcolor - a basic color picker, that allows to grab a color from any pixel on screen, display the corresponding colorname, to be used, for instance, in HTML pages, the color RGB and HSV values, as well as the color alpha channels. Each of these values can also be modified directly by the user in a synchronized way to generate new colors. Colors can be stored in a list, for later use.
Cross-stitch and knitting
- HCi: Flowcharting
- https://en.wikipedia.org/wiki/DOT_(graph_description_language) - graph description language. DOT graphs are typically files with the file extension gv or dot. The extension gv is preferred to avoid confusion with the extension dot used by early (pre-2007) versions of Microsoft Word.
- ditaa - a small command-line utility written in Java, that can convert diagrams drawn using ascii art ('drawings' that contain characters that resemble lines like | / - ), into proper bitmap graphics. This is best illustrated by the following example -- which also illustrates the benefits of using ditaa in comparison to other methods :)
- blockdiag - and its family generate diagram images from simple text files
- nwdiag - generates network-diagram images from .diag files (similar to graphviz’s DOT files).
- Webgraphviz - Graphviz in the Browser
- https://github.com/knsv/mermaid - Generation of diagram and flowchart from text in a similar manner as markdown 
- https://github.com/shd101wyy/markdown-preview-enhanced - One of the 'BEST' markdown preview extensions for Atom editor!
- Shutter is a feature-rich screenshot program. You can take a screenshot of a specific area, window, your whole screen, or even of a website – apply different effects to it, draw on it to highlight points, and then upload to an image hosting site, all within one window.
- ScreenCloud - Take a screenshot using one of the 3 hotkeys or simply click the ScreenCloud tray icon.
- Xournal - an application for notetaking, sketching, keeping a journal using a stylus. It is free software (GNU GPL) and runs on Linux (recent distributions) and other GTK+/Gnome platforms. It is similar to Microsoft Windows Journal or to other alternatives such as Jarnal, Gournal, and NoteLab.
- Jarnal - an open-source application for notetaking, sketching, keeping a journal, making a presentation, annotating a document - including pdf - or collaborating using a stylus, mouse or keyboard. It is similar to Microsoft Windows Journal and to the earlier Mimeo whiteboarding and Palm notepad applications. There is also a commercial knockoff of Jarnal called PDF Annotator - for $50 you can enjoy a subset of the capabilities that Jarnal provides for free.
- Gournal - note-taking application written for usage on Tablet-PCs (such as the Toshiba M200). It’s designed for usage with a stylus, not a mouse or keyboard. It does not have handwriting recognition but can be used in co-ordination with xstroke to accept text. Gournal is written in perl using gtk2-perl so you will need gtk2-perl along with the gladexml and gnomecanvas modules of gtk2-perl. The pages are saved as gzipped SVG files (not totally standard yet but working on it)
- NoteLab - brings the power of digital note taking to Linux, Windows, Mac OS X, and Solaris. Using NoteLab is just like writing with a pen on real paper. However with NoteLab, the pen and paper are electronic, you never run out of ink, and you have all the paper you'll ever need. NoteLab is free software licensed under the GNU GPL. Like Linux and Firefox, NoteLab and its full source code are available at no cost for anyone to view, analyze, scrutinze, and improve. NoteLab saves your notes in the industry standard SVG (Scalable Vector Graphic) format. Thus any program that can understand this open, next-generation graphic format can be used to view NoteLab files. NoteLab can also print your notes or export them to a number of image types including PNG and JPEG. NoteLab allows the user to select en tire words, stretch them, move them, change their color, change their line width, delete them, and bring them back. Simply speaking, NoteLab understands a stroke as a complex shape. It doesn't just look at the page as a collection of ink on a page, but instead as a collection of words in a dynamic environment.
- Sketchpad - online annotation, editing & design tool
- https://github.com/baskerville/color_sieve - generate pallet
- https://news.ycombinator.com/item?id=8154797 - perceptual hashing
- https://github.com/google/butteraugli - a project that estimates the psychovisual similarity of two images. It gives a score for the images that is reliable in the domain of barely noticeable differences. Butteraugli not only gives a scalar score, but also a spatial map of the level of differences. 
- smlr - Re-encode jpeg images with no perceivable quality loss. Uses the butteraugli psychovisual comparison and k-ary search to determine the best jpeg quality setting that will not "appear" degraded.https://news.ycombinator.com/item?id=11670703
- https://github.com/luanfujun/deep-painterly-harmonization#user-content-examples - Code and data for paper "Deep Painterly Harmonization"] 
- OpenPhoto is an Open Source photo sharing platform which gives users complete ownership and portability of their photos. Users’ photos, tags and comments are seamlessly stored into personally owned cloud services owned by themselves. Whatever they want to do or wherever they want to go their photos are free to go with them.
- Colorbox - A lightweight customizable lightbox plugin for jQuery
- http://www.flickr.com/services/api/misc.urls.html - You can construct the source URL to a photo once you know its ID, server ID, farm ID and secret, as returned by many API methods. including size
- Fontello - icon fonts generator
- Gnome Icons
- Tango Desktop Project exists to help create a consistent graphical user interface experience for free and Open Source software.
- Open Icon Library - Free for anyone to use on you computer, website or any other project.
- Famfamfam icons
- Chalkwork is a visually unified set of carefully designed icons.
- Modern UI Icons - Handcrafted pixel perfect vector icons.
- Glyphicons is a library of precisely prepared monochromatic icons and symbols, created with an emphasis on simplicity and easy orientation.
- The Noun Project
- GoSquared Resources
- flat.icns 
- Maki is a clean point of interest icon set made for web cartography.
- SJJB SVG Map Icons - an attempt to create a simple consistent set of vector icons suitable for cartographic use.
- Game-icons.net - free SVG and PNG icons for your games
- Climacons - climatically categorised pictographs for web and user interface designers.
- LivIcons - Truly animated icon pack with power of scalable vector graphic for clean and perfect look at any devices.
- Iconfinder - Browse free icon sets
- Icons Guide helps you to find the best stock icons shop you are looking for.
- Icon Pot lists free icons and stock web icons which are all great to use for your web design projects
- Find Icons - icon search engine
- Icon Fever - helping you find the best icons
- Icon Archive - icon search
- Icon Deposit - post your icons, designs, code, and screenshots to promote your work
- iconmelon - svg icons library for web
- Evil Icons - Lightweight SVG icons for your web project
- https://github.com/sixsixfive/Monotone - A Monotone icon theme that contains over 1300 scalable icons to cover more than 5500 icons from the last linux decade. Its mainly made for dark desktops or HTPC's however it can also be used as a pure action/toolbar icon theme, fallback icon theme or even on bright desktops after a color change.
Open and free
- IconDrop - A desktop app for searching and using free SVG icons
- #000000book - An open database for Graffiti Markup Language (GML) files