Software Engineering Code of Ethics • IEEE Computer Society
Jargon File Resources
How to be a Programmer (
Five-Minute-Task Time Estimate Worksheet
Twelve Tips for Realistic Scheduling | StickyMinds
Hacker's Wisdom
Joel on Software
Comics of programming zines by Julia Evans (@b0rk)
GitHub - ossu/computer-science: Path to a free self-taught education in Computer Science!
Open Source Society University. The OSSU curriculum is a complete education in computer science using online materials.
Learn to Code — For Free — Coding Courses for Busy People (
The most supportive community of programmers and people learning to code.
Computing | Khan Academy
Stack Overflow
A collaboratively edited question and answer site for professional and enthusiast programmers.
Stack Overflow Insights - Developer Hiring, Marketing, and User Research
ACM Digital Library
Association for Computing Machinery, The Digital Library, The Guide to Computing Literature.
The Open Group Base Specifications Issue 7
IIEEE Std 1003.1™-2017 (Revision of IEEE Std 1003.1-2008)
POSIX.1-2017 is simultaneously IEEE Std 1003.1™-2017 and The Open Group Technical Standard Base Specifications, Issue 7.
POSIX.1-2017 defines a standard operating system interface and environment, including a command interpreter (or “shell”), and common utility programs to support applications portability at the source code level. POSIX.1-2017 is intended to be used by both application developers and system implementors.
The UNIX System
The Single UNIX Specification, Version 3
Free Standards Group
The Free Standards Group is an independent, nonprofit organization dedicated to accelerating the use of free and open source software by developing and promoting standards.
Overview of the SCIT
WIPO Standing Committee on Information Technologies
CoRR - Computing Research Repository
CoRR allows researchers to search, browse and download papers through its online repository. CoRR is available to all members of of the community at no charge.
The Unified Modeling Language™ - UML - is OMG's [Object Management Group] most-used specification, and the way the world models not only application structure, behavior, and architecture, but also business process and data structure.
Holub Associates: UML Reference Card
Code Corner
By Steve Litt at Troubleshooters.Com. Tutorials and links about XML, Perl, PHP, sockets, Python, shell scripts, SQL, prime numbers, PostgreSQL.
GitHub - danistefanovic/build-your-own-x: 🤓 Build your own `insert technology here`. A curated collection of project-based programming tutorials.
Code search and an AI assistant with the context of the code graph.
Learn to code | Codecademy
Learn to Code and Help Nonprofits | Free Code Camp
Code practice and mentorship for everyone.
99 Bottles — Sandi Metz
99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code.
Get Started in Game Development -
Teach Yourself Programming in Ten Years
Free Programming Books –
Programming Notes for Professionals books.
Fachbegriffe der Informatik ;-)
Besser sehen und arbeiten am Computer (


Algorithm Implementation - Wikibooks, open books for an open world
Category:Algorithms - Wikipedia, the free encyclopedia
Category:Articles with example code - Wikipedia, the free encyclopedia
Category:Articles with example pseudocode - Wikipedia, the free encyclopedia
Category:Articles with example C code - Wikipedia, the free encyclopedia
Dictionary of Algorithms and Data Structures
The Stony Brook Algorithm Repository
Allgemeine und spezielle Sortieralgorithmen + Suchalgorithmen
Informationen und Visualisierungen (Applets) zu ALLEN Sortieralgorithmen (und einigen Suchalgorithmen). Natürlich mit vollständigen Codebeispielen, Laufzeitabschätzungen, Optimierungsvorschlägen, ...
The Institute of Computer Graphics and Algorithms, Vienna University of Technology
Intro to Algorithms: CHAPTER 31: MATRIX OPERATIONS (
Matrix Reference Manual
Levenshtein distance - Wikipedia
Levenshtein Distance
By Michael Gilleland, Merriam Park Software.
Algorithm Implementation/Strings/Levenshtein distance - Wikibooks, open books for an open world
Levenshtein distance - Rosetta Code
Levenshtein Distance ( and
The "Double-Checked Locking is Broken" Declaration
Understanding Dijkstra's Algorithm
Dijkstra’s algorithm is used to solve the single source shortest path.
See also Dijkstra's algorithm - Wikipedia
Bloom filter - Wikipedia
Cuckoo hashing - Wikipedia
Bloom Filter | Brilliant Math & Science Wiki
Cuckoo Filter | Brilliant Math & Science Wiki
Raft Consensus Algorithm Unraveled
Tree traversal - Wikipedia
Depth-first search - Wikipedia
Breadth-first search - Wikipedia
Iterative deepening depth-first search - Wikipedia
Depth-First Traversal of a Tree Data Structure
For strictly directed acyclic graphs (DAG), remembering only the next to be visited vertices.
Breadth-First Traversal of a Tree Data Structure
For strictly directed acyclic graphs (DAG), remembering only the next to be visited vertices.
Queueing – An interactive study of queueing strategies – Encore Blog

Art Patterns

Design Patterns | Object Oriented Design (
Category:Software design patterns - Wikipedia, the free encyclopedia
Phil’s Data Structure Zoo | Phil
The Art of Unix Programming - Your Patterns Library
Portland Pattern Repository
Patterns: Catalog of NonSoftware Examples - AGCS
Gamasutra - The Art & Science of Making Games
Essential Math for Games Programmers
The Memory Management Reference
Category:Anti-patterns - Wikipedia, the free encyclopedia

Secure Coding

Software Security for Developers | Red Hat Developer
Secure Development Guide | secure-development-guide
The purpose of this guide is to discuss-industry accepted secure development practices specially applied to the open source context. While there are many references and documents freely available on the internet, this guide specifically talks about secure application design and secure development processes and practices.
Defensive coding guide :: Fedora Docs
A Guide to Improving Software Security. This document provides guidelines for improving software security through secure coding. It covers common programming languages and libraries, and focuses on concrete recommendations.
CWE - CWE/SANS Top 25 Most Dangerous Programming Errors
CERT Secure Coding Standards - Secure Coding - CERT Secure Coding Standards
INT30-C. Ensure that unsigned integer operations do not wrap - SEI CERT C Coding Standard - Confluence
INT32-C. Ensure that operations on signed integers do not result in overflow - SEI CERT C Coding Standard - Confluence
FLP34-C. Ensure that floating-point conversions are within range of the new type - SEI CERT C Coding Standard - Confluence
Security Engineering - A Guide to Building Dependable Distributed Systems
Ross Anderson's Security Engineering book.
SAFECode Publications
A non-profit, public good software signing & transparency service. Software Supply Chain Security.

UI Design

... brings Open Source Developers and Usability Experts together.
interface hall of shame [mirror of] (Isys Information Architects Inc. (UI design shame and fame)) is dead, but some of these are just too bad to not be shown..
The Humane Interface - Wikipedia, the free encyclopedia
The Humane Interface: New Directions for Designing Interactive Systems (ISBN 0-201-37937-6) is a book about user interface design written by Jef Raskin and published in 2000. It covers ergonomics, quantification, evaluation, and navigation.
Nitpicker / The Humane Interface
A summary of design rules, Jef Raskin
[hemmerling] Rapid Software Application and GUI Prototyping
Penpot - Design Freedom for Teams
Penpot is the first Open Source design and prototyping platform meant for cross-domain teams.
Source GitHub - penpot/penpot: Penpot - The Open-Source design & prototyping platform
Pencil Project
GitHub - evolus/pencil: The Pencil Project's unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use.
fluidIA is an emerging agile design tool for prototyping rich user interfaces.
Appears to be dead, old source code at github
Web mockup tool, with export to Codepen.
CodePen: Online Code Editor and Front End Web Developer Community | Musings on the world of software prototyping and effective design (
Remix Icon - Open source icon library
Remix Icon is a set of open-source neutral-style system symbols elaborately crafted for designers and developers. All of the icons are free for both personal and commercial use.
Iconoir | Free Icons

Media - Free computer science and programming books
This site lists free online computer science books and lecture notes, all of which are freely and legally available over the Internet. ebooks
Free Computer Science Ebooks and Resources - A Link Collection -- O'Reilly Media, Inc. -- computer books, software conferences, online publishing -- O'Reilly Verlag
O'Reilly -- Safari Books Online
Openbooks vom dpunkt.verlag
CMP's Software Development Media Group
DDJ - Dr. Dobb's Journal / directory


Scrum Development Process
Extreme Rules
Extreme Programming: A Gentle Introduction.
PDF The Practice Of Programming eBook Download Full – eBook Makes
Practice of Programming - Collected Rules (
by B.W. Kernighan and R. Pike

Mathematical, Numerical and Statistical

Scientific Computing FAQ: Scientific Computing and Numerical Analysis FAQ (
Mathematica Information Center
Wolfram Resource Library, MathWorld, ScienceWorld, ... The technical computing portal for all your scientific and engineering needs. (
The Netlib
Netlib is a collection of mathematical software, papers, and databases.
John Burkardt's Home Page
Scientific Computing Sources in C, C++, Fortran, ...
Astronomy and numerical software source codes
Stephen L. Moshier's site, also home of the Cephes library
GSL - GNU Scientific Library - GNU Project - Free Software Foundation (FSF)
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.
The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.
GitHub - rdmpage/graph-template-library: GTL (Graph Template Library) is a STL based library, which provides necessary classes and algorithms for the work with graphs.
GTL, the Graph Template Library GTL can be seen as an extension of the Standard Template Library STL to graphs and fundamental graph algorithms.
A former project of the University Passau, now dead.
Numerical Recipes
Numerical Methods Lecture Notes
Free C/C++ Sources for Numerical Computation (
Free Numerical, Mathematical and Statistical Libraries and Source Code (
C++ Financial Algorithms (Financial Numerical Recipes) (
Introduction to Uncertainties (PDF)
StatLib---Applied Statistics algorithms
The R Project for Statistical Computing
Statistical Science Web: Statistical Computing
Statistical Reference Datasets (StRD)
The purpose of this project is to improve the accuracy of statistical software by providing reference datasets with certified computational results that enable the objective evaluation of statistical software.
Semantic Computing Research Group (SeCo) - Eero Hyvönen
Some papers of Eero Hyvönen on interval computations.
American Statistical Association Portal :: Statistical Accuracy of Spreadsheet Software - The American Statistician - Volume 65, Issue 4
This study compares the accuracy of six spreadsheet packages: Excel, Google Docs, Gnumeric, Numbers, OpenOffice Calc, and Quattro Pro.
Projects · ixion / ixion · GitLab
Ixion is a general purpose formula parser, interpreter, formula cell dependency tracker and spreadsheet document model backend all in one package.
Programmer's guide to polynomials and splines
Weighted arithmetic mean - Wikipedia
IMDb - Wikipedia
Here for the old IMDb Rankings, weighted rating, which was a weighted arithmetic mean, W=(R*v+C*m)/(v+m), with W=Weighted, R=average_Rating_of_item, v=votes, m=minimum_votes, C=mean_vote_across_the_whole.
Ranking Items With Star Ratings: An Approximate Bayesian Approach – Evan Miller
Bayesian average - Wikipedia
Bayesian Average Ratings – Evan Miller
How Not To Sort By Average Rating – Evan Miller
Deriving the Reddit Formula – Evan Miller

Max-Planck-Institut für Informatik
AT&T Labs Research
Scientific Computing with Free software on GNU/Linux HOWTO

Computer Arithmetic and IEEE 754

IEEE 754 Notation
A quick summary of IEEE 754 Notation, easy to understand.
The Floating-Point Guide - What Every Programmer Should Know About Floating-Point Arithmetic
Facts for the mere mortals.
Floating Point Demystified, Part 1
Josh Haberman
Floating Point Demystified, Part 2: Why Doesn't 0.1 + 0.2 == 0.3?
Josh Haberman
Demystifying Floating Point Precision « The blog at the bottom of the sea
language agnostic - Is floating point math broken? - Stack Overflow
Comparing Floating-Point Numbers Is Tricky
Floating-point arithmetic - Wikipedia
Of specific interest may be the Accuracy problems section..
Double-precision floating-point format - Wikipedia, the free encyclopedia
Numerical Computation Guide
2005, Sun Microsystems Studio 11, 819-3693-10, HTML.
Numerical Computation Guide
2005, Sun Microsystems Studio 11, 819-3693-10, PDF.
Better readibility of mathematical formulas.
What Every Computer Scientist Should Know About Floating-Point Arithmetic
Appendix D of the Numerical Computation Guide.
Floating Point Visually Explained
The IEEE Floating Point Format (ShortRef) (
Introduction to the dark arts of floating point numbers
rC3 now/here talk material (yet to be done, 2021-12-28)
Interesting fast trunc() function - Stack Overflow
IEEE floating point - Wikipedia, the free encyclopedia
Double-precision floating-point format - Wikipedia, the free encyclopedia
IEEE Standard 754 Floating-Point
IEEE 754 Floating Point Converter
Convert between the decimal representation of numbers (like "1.02") and the IEEE 754 floating point format. See which bits are used when and the lack of decimal precision. Note this is only 32-bit floats.
IEEE-754 Analysis
Interactive IEEE-754 floating-point analyzer. Input, storage and rounding of floating-point numbers. This page lets you examine the relationships among binary and decimal numbers and three number formats described by the IEEE-754-2008 floating-point standard.
IEEE-754 Calculators (old)
Decimal floating-point, 32-bit and 64-bit hexadecimal representations along with their binary equivalents.
IEEE-754 References (old)
Base Convert: IEEE 754 Floating Point
IEEE 754 Calculator
This is a little calculator intended to help you understand the IEEE 754 standard for floating-point computation.
And show how 0.1 + 0.2 ≠ 0.3
Decimal to Floating-Point Converter - Exploring Binary
Decimal/Binary Converter - Exploring Binary
CodeGuru Forums - C++ General: How is floating point representated?
FAQ about some IEEE 754 aspects.
double - and how to use it - C++ Forum
This article shows some properties of "double" atithmetic, and what you can and can't do with it.
Comparing Floating Point Numbers, 2012 Edition | Random ASCII
Bruce Dawson's reviewed edition of Comparing floating point numbers.
There may be more available in the Floating Point category. See also Float Precision Revisited: Nine Digit Float Portability | Random ASCII
Correct Decimal To Floating-Point Using Big Integers - Exploring Binary
How to round binary numbers - JavaScript inDepth
Floating Point Representation (.ps PostScript file)
by Michael L. Overton
15. Floating Point Arithmetic: Issues and Limitations — Python 3 documentation
GitHub - vpiotr/decimal_for_cpp: Decimal data type for C++
If you need something like a fixed point decimal currency type in C++.
Analyzing the loss of significance in floating-point computations - Benjamin Jurke
Detailed examples, how to keep track of the issue, some remedies and best practices.
Floating-Point Arithmetic Besieged by “Business Decisions” (PDF)
Page 7 ff., Values Excel 2000 Displays for Several Expressions, Parentheses in Microsoft’s Excel 2000 spreadsheet can have uncanny powers, by Prof. W. Kahan
Mindless (PDF)
How Futile are Mindless Assessments of Roundoff in Floating-Point Computation? by Prof. W. Kahan
Bug 131588 – SUM algorithm properties
Gnumeric's thoughts about and approach to the SUM accuracy problem
Kahan summation algorithm - Wikipedia
AKA compensation algorithm. Sum with better numerical stability.
Fast, accurate summation of floating-point numbers
Benchmarking Kahan and Neumaier summation with AVX, AVX-512.
And Code for fast, accurate float summation · GitHub.
PreciseSums: Accurate Floating Point Sums and Products - PreciseSums.pdf
R precise sums package.
GitHub - nlmixr2/PreciseSums
This brings a few algorithms for precise sums and products to R. They are ported from Python, NumPy and written based on the pseudo-code on the Internet.
Binary floating point summation accurate to full precision « Python recipes « ActiveState Code
Python implementation of algorithm from Shewchuk.
Algorithms for calculating variance - Wikipedia
Don't use the naïve algorithm..
Accurately computing sample variance online
Exploring Binary - Binary Numbers, Binary Code, and Binary Logic
With some floating point / decimals in-depths.
Decimal Precision of Binary Floating-Point Numbers - Exploring Binary
Binary floating point summation accurate to full precision « Python recipes « ActiveState Code
Allegedly "Completely eliminates rounding errors and loss of significance due to catastrophic cancellation during summation"
Community Tools
Floating-point Research Tools
Tutorial on Floating-Point Analysis Tools
Herbie: Automatically Improving Floating Point Accuracy
Find and fix floating-point problems. Herbie detects inaccurate expressions and finds more accurate replacements.
Publications - Florian Loitsch
Particulary interesting for
Printing Floating-Point Numbers Quickly and Accurately with Integers
The double-conversion implementation
The Grisu benchmark implementation
Broken links, check its page.
David M. Gay's floating-point conversions in C, locale independent strtod(), dtoa(), g_fmt()
How strtod() Works (and Sometimes Doesn't) - Exploring Binary
GitHub - ulfjack/ryu: Converts floating point numbers to decimal strings
GitHub - fmtlib/fmt: A modern formatting library
General Decimal Arithmetic
The problems of binary floating-point can be avoided by using base 10 (decimal) exponents and preserving those exponents where possible. This site describes a decimal arithmetic which achieves the necessary results and is suitable for both hardware and software implementation.
William Kahan
Professor Emeritus of Mathematics, and of E.E. & Computer Science

0.1 + 0.2 ≠ 0.3

Floating Point Demystified, Part 2: Why Doesn't 0.1 + 0.2 == 0.3?
Floating-point arithmetic - Accuracy problems - Wikipedia
As we all know, 0.1 + 0.2 != 0.3
IEEE 754 Calculator
This is a little calculator intended to help you understand the IEEE 754 standard for floating-point computation.
And show how 0.1 + 0.2 ≠ 0.3
Base Convert: IEEE 754 Floating Point
Decimal to Floating-Point Converter - Exploring Binary
Floating-point arithmetic may give inaccurate results in Excel
MS-KnowledgeBase link now redirecting to Floating-point arithmetic may give inaccurate result in Excel - Office | Microsoft Learn
Understanding Floating Point Precision, aka “Why does Excel Give Me Seemingly Wrong Answers?” - Office Blogs (
Numeric precision in Microsoft Excel - Wikipedia, the free encyclopedia
Frequently asked questions - Calc: Accuracy problem - The Document Foundation Wiki
Loss of significance - Wikipedia
xkcd: Garbage Math
xkcd: Precision vs Accuracy



Git - Fast Version Control System
Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git - Documentation
Reference, book, videos, external links.
Git - Book
The Pro Git book.
Git - Reference
The official and comprehensive man pages that are included in the Git package itself.
A tutorial introduction to Git.
Git User Manual
This manual is designed to be readable by someone with basic UNIX command-line skills, but no previous knowledge of Git.
Git Reference
Meant to be a quick reference for learning and remembering the most important and commonly used Git commands.
Git Immersion - Brought to you by Neo
Git Immersion is a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.
Home // Think Like (a) Git
Git shouldn't be so hard to learn.
Git for Computer Scientists
Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph.
Oh My Git!
An open source game about learning Git!
Dangit, Git!?!
Git For Ages 4 And Up : Free Download, Borrow, and Streaming : Internet Archive
Git Magic - Preface
proxy - Accessing a git repository via ssh behind a firewall - Stack Overflow
tbaggery - A Note About Git Commit Messages
Conventional Commits
A specification for adding human and machine readable meaning to commit messages.
Git commit practices your future self will thank you for
A history of clean commits can be evidence of a lot of things: attention to detail, good work ethic, and genuine investment in the project. What do your Git commits say about you?
Git Tags
Welcome to - The Git Experts | GitGuys - GitGuys
git simplified?!
Git from the inside out
This essay explains how Git works. The essay assumes you understand Git well enough to use it to version control your projects. It focuses on the graph structure that underpins Git and the way the properties of this graph dictate Git’s behavior.
Stacked Git
StGit is a Python application providing similar functionality to Quilt (i.e. pushing/popping patches to/from a stack) on top of Git. These operations are performed using Git commands and the patches are stored as Git commit objects, allowing easy merging of the StGit patches into other repositories using standard Git functionality.
StGit tutorial
Git - StGit Crash Course
3 ways to time travel in Git to undo destructive mistakes | Zak Laughton
git reflog and gitrevisions
Interfaces, frontends, and tools - Git SCM Wiki
Main Page - Git SCM Wiki
All about Git.
Pro Git - Pro Git Book
The website for the Pro Git book, written by Scott Chacon and published by Apress. Here you can find the full content of the book, a blog with tips and updates about Git and the book and open source projects related to Git or referenced in the book.
Git Merge vs. Rebase: What’s the Diff? – Hacker Noon
Merging vs. Rebasing | Atlassian Git Tutorial
Learn to change history with git rebase!
GitHub - tummychow/git-absorb: git commit --fixup, but automatic
Learn Git Branching
Interactive tutorial.
Git Tutorial: Branching and Merging | Wazi (
A successful Git branching model »
The git-flow Git flow.
A Rebase Workflow for Git |
nvie/gitflow · GitHub
A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.
the woes of “git gc –aggressive” (and how git deltas work) « Metalinguistic Abstraction
Introduction · Tig - Text-mode interface for Git
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.
git-delta - Rust Package Registry
Syntax-highlighting pager for git and diff. Word-level diff highlighting.
GIT - How to push code to multiple remotes simultaneously - Lintel Technologies Blog
Basically by using an all remote with several push urls.
AlBlue’s Blog: git
Git Tips of the Week.
AlBlue’s Blog: gerrit
Nice video in Gerrit Git Review with Jenkins CI Server
Gerrit Code Review
Gerrit provides web based code review and repository management for the Git version control system.
Gerrit Code Review for Git
Documentation and Tutorial
gertty : Python Package Index
Gertty is a console-based interface to the Gerrit Code Review system.
Welcome to Jenkins CI! | Jenkins CI
An extensible open source continuous integration server.
Google authentication for Gerrit and Jenkins - Stack Overflow
Google deprecated OpenID 2.0 and it will shut down the service in May 2015, replacing it with OAuth2.0 (OpenID connect). This is how Gerrit and Jenkins can be adapted via Apache reverse proxy and mod_auth_openidc.
How to Git PR From The Command Line – Hacker Noon
Learn to use email with git!
Git ships with built-in tools for collaborating over email. With this guide, you'll be contributing to email-driven projects like the Linux kernel, PostgreSQL, or even git itself in no time.
git-annex allows managing files with git, without checking the file contents into git.
Using git-annex for Data Archiving | The Changelog
Git vs Mercurial - WikiVS
Git - SVN Crash Course
Git for SVN users. - Software/ooo-build/SVNToGitCheatSheet
Command cheat sheet for SVN and Git
GitSvnCrashCourse - Git SCM Wiki
Git crash course for SVN users.
Migrate from SVN to Git easily with git-svn | Wazi (
git-svn-tutorial – Parrot
Develop with Git on a Google Code Project - Google Open Source Blog
Actually work with Git on a SVN project, such as AOOo
Export a Git Project to Google Code - Google Open Source Blog
Actually work with Git on a SVN project, such as AOOo
Minimal Readership: svn switch --relocate for a git-svn repo
If your SVN master was relocated, git-svn will have a hard time; this script could ease the pain.
HgGit - Mercurial
This extension adds the ability to work on a Git repository from Mercurial. It also allows using a Git server as a collaboration point for a team with developers using both Git and Mercurial. At the same time, it can also be used to interact with a hg repository using git.
version control - Git interoperability with a Mercurial Repository - Stack Overflow » Using hg-git to work in git and push to hg (
Git Behind the Curtain: What Happens When You Commit, Branch, and Merge - DZone DevOps
The Non-Profit Collaboration Project. Formerly TeaHub.
Codeberg Pages - static pages for your projects
GetItOnCodeberg Badge-Generator
RobWalt/codeberg-cli: CLI Tool for Codeberg similar to gh and glab -
How to build a Hugo static site automatically using Drone CI and
Forgejo – Beyond coding. We forge.
Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job. Brought to you by an inclusive community under the umbrella of Codeberg e.V., a democratic non-profit organization, Forgejo can be trusted to be exclusively Free Software. It is a "soft" fork of Gitea with a focus on scaling, federation and privacy.
forgejo/forgejo: Beyond coding. We forge. -
forgejo/forgejo: Read only mirror of (git repository, binaries, OCI images) - Forgejo: Beyond coding. We forge.
Radicle: sovereign code infrastructure
Radicle is a sovereign peer-to-peer network for code collaboration, built on top of Git.
A painless self-hosted Git service. Less resource hungry.
Gitea compared to other Git hosting options - Docs
gitea/tea: A command line tool to interact with Gitea servers - tea - Gitea: Git with a cup of tea
Code, test, and deploy together with GitLab open source git repo management software | GitLab
GitLab unifies issues, code review, CI and CD into a single UI. GitLab offers git repository management, code reviews, issue tracking, activity feeds and wiki’s.
Useful Git commands | GitLab
Push Options | GitLab
for example git push -o merge_request.create
GLab - A GitLab CLI Tool — GLab documentation
GLab is an open source Gitlab Cli tool written in Go (golang) to help work seamlessly with Gitlab from the command line. Work with issues, merge requests, watch running pipelines directly from your CLI among other features. Inspired by gh, the official GitHub CLI tool.
GitLab: glab official CLI tool for repository operations | Fabian Lee : Software Engineer
GitHub - zaquestion/lab: Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab
git + lab = gitlab ; including seamless workflows for creating merge requests, issues and snippets. Wraps hub if present.
Shivering-Isles / Mirror Bot · GitLab
Small script to realize pull mirrors in GitLab.
Radicle: sovereign code infrastructure
Radicle is a sovereign peer-to-peer network for code collaboration, built on top of Git.
GitHub · Build software better, together.
GitHub's SSH key fingerprints - GitHub Docs
We updated our RSA SSH host key | The GitHub Blog
GitHub Copilot and open source laundering
Give Up GitHub: The Time Has Come! - Conservancy Blog - Software Freedom Conservancy
Give Up GitHub - Software Freedom Conservancy
GitHub - github/hub: A command-line tool that makes git easier to use with GitHub.
git + hub = github ; hub is a command line tool that wraps git in order to extend it with extra features and commands that make working with GitHub easier.
See examples here: hub · an extension to command-line git
GitHub CLI | Take GitHub to the command line
What about Hub then? cli/ at trunk · cli/cli · GitHub
GitHub - muesli/gitty: Contextual information about your git projects, right on the command-line
gitty is a smart little CLI helper for git projects, that shows you all the relevant issues, pull requests and changes at a quick glance, right on the command-line. It currently supports the GitHub, GitLab, and Gitea APIs.
Which remote URL should I use? - GitHub Help
Caching your GitHub password in Git - GitHub Help
Creating a personal access token for the command line - GitHub Help
Recovering your account if you lose your 2FA credentials - GitHub Docs
Development Guides | GitHub Developer Guide
Keeping your GitHub Actions and workflows secure: Preventing pwn requests - GitHub Security Lab
Or.. why not to checkout and build PRs from untrusted sources on a local machine without carefully examining the code for the PR.
GitHub - ptrofimov/github-backup-sh: Simple shell script to backup all GitHub repos for specified user
Prose · A Content Editor for GitHub
Bintray is a social service for developers to publish, download, store, promote, and share open source software packages.
As the name suggests it is meant for binary releases.
Gitter — Where developers come to talk.
Gitter is a chat and networking platform that helps to manage, grow and connect communities through messaging, content and discovery.
Git Large File Storage | Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like or GitHub Enterprise.
OpenDev: Free Software Needs Free Tools
Git, Gerrit, Zuul, and Gitea. Free code hosting
A free-software code collaboration platform for freely licensed projects.
Gogs: A painless self-hosted Git service
sourcehut - the hacker's forge
The open source software suite for managing your software development projects that you've been waiting for.
The account, billing, and security management hub for sourcehut, the hacker's forge.
GNU Ethical Repository Criteria Evaluations - GNU Project - Free Software Foundation
GNU Savannah, GitLab, GitHub, SourceForge
Public Git Hosting - git-dm.git/summary
Git Data Miner. Commit statistics.
GitHub - ejwa/gitinspector: The statistical analysis tool for git repositories
GitHub - morucci/repoxplorer: RepoXplorer - Statistics explorer for Git repositories
Git quick statistics is a simple and efficient way to access various statistics in git repository.
GitHub - aserg-ufmg/Truck-Factor: A tool that estimates the Truck Factor of GitHub projects
This is a tool for estimating the Truck Factor of GitHub projects, using information from commit history. Truck Factor (also known as Bus Factor or Lottery Number) is the minimal number of developers that have to be hit by a truck (or leave) before a project is incapacitated.
Stop writing rambling commit messages
Git over an ssh tunnel (like through a firewall or VPN) |
Git through SSH port forwarding (SSH tunneling) | Rails, Web 2.0, Data Modeling
and on GitHub - spwhitton/git-remote-gcrypt: PGP-encrypted git remotes
fully encrypted git repositories with gcrypt
git-remote-gcrypt adds support for encrypted remotes to git. Combine this with git-annex encrypting the files it stores in a remote, and you can fully encrypt all the data stored on a remote.
git-crypt - transparent file encryption in git
and on GitHub - AGWA/git-crypt: Transparent file encryption in git
GitHub - StackExchange/blackbox: Safely store secrets in Git/Mercurial/Subversion
GitHub - elasticdog/transcrypt: transparently encrypt files within a git repository
permissions - How to configure an existing git repo to be shared by a UNIX group - Stack Overflow
permissions - How do I share a Git repository with multiple users on a machine? - Server Fault
Use Git over Tor
Git - GUI Clients (
Introduction · Tig - Text-mode interface for Git
GitHub - jesseduffield/lazygit: simple terminal UI for git commands
The Best Git GUI Clients For Every Platform (2023)
Someone's opinion..
Keep a Changelog
GitHub - github-changelog-generator/github-changelog-generator: Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
GitHub - orhun/git-cliff: A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
GitHub - git-chglog/git-chglog: CHANGELOG generator implemented in Go (Golang).
Stagit: a static git page generator - Codemadness
bash - How do I delete absolutely every remote branches from my git repos - Stack Overflow
GitHub - louim/in-case-of-fire: In case of fire, git commit, git push and leave the building
A poster in SVG, PDF and PNG.
Git man page generator
Take this with a grain of salt ;-)

Mercurial, hg

Mercurial - Mercurial
A fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects.
Mercurial: The Definitive Guide
This is the online home of the book Mercurial: The Definitive Guide.
GitConcepts - Mercurial
Command cheat sheet for Mercurial and Git

Subversion, SVN

Apache Subversion (SVN)
Version Control with Subversion
The online home of Version Control with Subversion, a free book about Subversion (SVN), published by O'Reilly.


Version Management with CVS - manual (
Version Management with CVS by Per Cederqvist et al is the "official" manual for CVS. Commonly known as "the Cederqvist," the manual covers repositories, branches, and file maintenance, and includes reference material for both CVS users and CVS repository administrators.
A CVS Book
Open Source Development with CVS, 3rd Edition. Available under the GNU General Public License.
The CVS-Optimized General-Purpose Network File Distribution System. CVSup is a software package for distributing and updating collections of files across a network.

Vi IMproved, VIM and related

The VIM (Vi IMproved) Home Page
Vim - the ubiquitous text editor.
Vimdoc : the online source for Vim documentation
Vim documentation - Vim Tips Wiki - Vim
Main Page - Vim Tips Wiki
.vimrc and current settings
:h startup
:verbose set viminfo
:h :verbose-cmd
VimConfig - Sane and simple Vim configuration
Interactive vimrc generation for starters.
Your problem with Vim is that you don't grok vi.
Answer to a vi - What is your most productive shortcut with Vim? question on Stack Overflow
Vim Commands Cheat Sheet
Vim Modes Transition Diagram in SVG
Note, most of the nodes in this graph have clickable hyperlinks to documentation.
Source of the Gist in case RawGit goes away. The renderable SVG is also WaybackMachine'd (downloadable URL) and'ed (not downloadable)
Graphical vi-vim Cheat Sheet and Tutorial
GitHub - runpaint/vim-recipes: A cookbook for the Vim text editor. (2010)
Why, oh WHY, do those #?@! nutheads use vi?
Home of the freenode #VIM channel, some pointers.
Cream: The easy-to-use free text editor for Windows and Linux
For Vim newbies. Cream is a free and easy-to-use configuration of the powerful and famous Vim text editor for both Microsoft Windows and GNU/Linux.
vim tips and tricks: home
A Byte of Vim (PDF)
"A Byte of Vim" is a book which aims to help you to learn how to use the Vim editor (version 7), even if all you know is how to use the computer keyboard.
Efficient Editing With vim - Jonathan McPherson
Vim Cookbook (
This is the Vim cookbook page. It contains short recipes for doing many simple and not so simple things in Vim. You should already know the basics of Vim, however each command is explained in detail.
Dr Chip's Vim Page
Charles E. Campbell's universe of vim and vimscripts.
Vim Regular Expressions 101
Best of VIM Tips, VIM's Key Features
Sven Guckes' vimrc.forall
Using undo branches - Vim Tips Wiki
Learn Vimscript the Hard Way
a book for users of the Vim editor who want to learn how to customize Vim.
OmniCppComplete - C++ completion omnifunc with a ctags database : vim online
For Vim >=7.0
YouCompleteMe by Valloric
A code-completion engine for Vim.
clang complete - Use of Clang for completing C, C++, Objective-C and Objective-C++ : vim online - extended % matching for HTML, LaTeX, and many other languages : vim online
Also in the Vim distribution package (macros/matchit.vim), but this one may be newer.
Align.vim - Provides commands and maps to help produce aligned text, eqns, declarations, etc : vim online
Requires the cecutil.vim plugin.
AutoAlign - Automatically align as you type (autoalign): bib c c++ html maple matlab tex vim : vim online
Requires the Align.vim plugin.
netrw.vim - Network oriented reading, writing, and browsing (keywords: netrw ftp scp) : vim online
taglist.vim - Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc) : vim online
tagexplorer.vim - Tag explorer for various programming language files : vim online
GitHub - ludovicchabant/vim-gutentags: A Vim plugin that manages your tag files
lid.vim - Plugin to integrate GNU id-utils tool with Vim : vim online
cecscope - command and menu driven cscope interface : vim online
fugitive.vim - A Git wrapper so awesome, it should be illegal : vim online
Most useful the :G grep and :G blame commands and :G diff, see also Fugitive.vim - resolving merge conflicts with vimdiff
Also on GitHub - tpope/vim-fugitive: fugitive.vim: A Git wrapper so awesome, it should be illegal
vimagit - A new way to use git with vim. : vim online
See the feature set on its GitHub page.
Install as a pathogen.vim bundle.
vcscommand.vim - CVS/SVN/SVK/git/hg/bzr integration plugin : vim online
CVSconflict - CVS conflict resolution using vimdiff : vim online
undo_tags - small utility that lets you tag undo branches : vim online
GitHub - simnalamburt/vim-mundo: :christmas_tree: Vim undo tree visualizer
DrawIt.tar.gz - Use arrow keys to draw lines, ctrl-v for boxes and ellipses : vim online
TVO: The Vim Outliner - Turn vim into a full-featured text outliner : vim online
snipMate - TextMate-style snippets for Vim : vim online
mru.vim - Plugin to manage Most Recently Used (MRU) files : vim online
speeddating.vim - Use CTRL-A/X to increment dates, times, and more : vim online - Buffer Explorer / Browser : vim online
LargeFile - Edit large files quickly (keywords: large huge speed) : vim online
RunView - Run scripts through filter and display output in separate window : vim online
characterize.vim - Unicode character metadata : vim online
Working with Unicode - Vim Tips Wiki
set_utf8.vim - Switching to Unicode in an orderly manner : vim online
gnupg.vim - Plugin for transparent editing of gpg encrypted files. : vim online
LogiPat - Boolean-Logic Patterns : vim online
GetLatestVimScripts.vim - Automates retrieval of latest scripts you use : vim online
Integrated in Vim 7.0 as plugin/getscript.vim
pathogen.vim - Poor man's package manager. Easy manipulation of 'runtimepath' et al : vim online
greputils - Interface with grep, find and id-utils (not just another grep wrapper) : vim online
This is mostly interesting for the IDGrep command, since as of version 7.0 Vim has an internal grep command. However, lid.vim does overrule this.
Requires the following plugins to be installed:
genutils.vim - General utility functions : vim online
multvals.vim - Array library that uses patterns as separators : vim online
grep.vim - Grep/Fgrep/Egrep/Agrep tools integration with Vim : vim online
A simple wrapper in case you don't want the sophisticated greputils solution above. Not needed with Vim >= 7.0
scriptease.vim - A Vim plugin for Vim plugins : vim online
visual_studio.vim - Vim and Microsoft Visual Studio .NET integration : vim online
GitHub - easymotion/vim-easymotion: Vim motions on speed!
Integrate gvim with Visual Studio - Vim Tips Wiki
How to search at vim 'scriptnames' command - Stack Overflow
Vim Scripts
Mirror of all scripts, using Git
Vim Awesome
Awesome Vim plugins from across the Universe.
GitHub - fatih/vim-go: Go development plugin for Vim
Generate all Unicode characters - Vim Tips Wiki
The perfect programming font - Vim Tips Wiki - a Wikia wiki
Identify the syntax highlighting group used at the cursor - Vim Tips Wiki
Integrate with Mozilla Thunderbird - Vim Tips Wiki
Encryption - Vim Tips Wiki
Welcome to Eclim - eclim (eclipse + vim)
How to sort using visual blocks - Vim Tips Wiki :: Work fast. Think well.
Exuberant Ctags
Par - paragraph reformatter
Vim as XML Editor
Welcome to Eclim — eclim (eclipse + vim)
The power of Eclipse in your favorite editor.
VIM Adventures
VimGolf - real Vim ninjas count every keystroke!
how-to-exit-vim/ at master · hakluke/how-to-exit-vim · GitHub
Vim easter eggs : vim
Se also Vim easter egg in command line completion - (gasp!) vim_use@googlegroups
The Vi IMproved Editor Web Ring
A-A-P project: install and develop software
Agide: A-A-P GUI IDE for vim and gdb
the Zimbu programming language


GNU Emacs - GNU Project - Free Software Foundation (FSF)
XEmacs: The next generation of Emacs
Emacs Basics
Jeremy's Emacs Stuff
Mastering Emacs

Tools misc

EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs.
VSCodium - Open Source Binaries of VSCode
Microsoft’s vscode source code is open source (MIT-licensed), but the product available for download (Visual Studio Code) is licensed under this not-FLOSS license and contains telemetry/tracking.
GitHub - VSCodium/vscodium: binary releases of VS Code without MS branding/telemetry/licensing
Lightning-fast and Powerful Code Editor. A modern open source code editor in Rust.
Debian Code Search
Search all 130 GiB of source code within Debian.
Programming Fonts
With Test Drive live selection.
FontForge Open Source Font Editor
Frequently Asked Questions — FontForge documentation FAQ
Font Tutorials
The home of easy to follow tutorials on font editing software. i.e. FontForge.
GitHub - psss/did: What did you do last week, month, year?
Comfortably gather status report data (e.g. list of committed changes) for given week, month, quarter, year or selected date range.
See also did documentation
pastebin - collaborative debugging tool
Paste sample code and/or compiler errors and use URL to refer to in IRC.
Pastebin Service (
another pastebin, can be fed by the fpaste utility from command line (on Fedora)
Debian Pastezone
and another pastebin
yet another pastebin, with ruby client - terminal pastebin
Pipe commands through netcat to pastebin.
Create a new Gist · GitHub
and yet another pastebin like
Snippets · Explore · GitLab
and yet yet another like pastebin - free image hosting / image upload
hotlinking images - Online Compiler and IDE >> C/C++, Java, PHP, Python, Perl and 40+ other compilers and interpreters
Ideone is an online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. - Android / Python / C# / Java decompiler online
Online compiler, C++ only and well done.
CINT : C++ interpreter Free Programmers' Resources, Free Webmasters' Resources, Free Security Resources
GCC Home Page - GNU Project - Free Software Foundation (FSF)
GCC, the GNU Compiler Collection, includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).
Option Summary - Using the GNU Compiler Collection (GCC)
GDB Documentation
GDB: The GNU Project Debugger
RMS's gdb Tutorial
Linux Tutorial - GNU GDB Debugger Command Cheat Sheet
GDB Cheat Sheet - GDB Cheat Sheet.pdf
13 Linux Debuggers for C++ Reviewed | Dr Dobb's
July 09, 2013
gdbgui - browser based debugger for C, C++, go, rust, Fortran. Modern gdb frontend.
GDBFrontend - Easy, flexible and extensionable GUI debugger
And GitHub - rohanrhu/gdb-frontend: ☕ GDBFrontend is an easy, flexible and extensionable gui debugger.
DDD - Data Display Debugger - GNU Project - Free Software Foundation (FSF)
GNU DDD is a graphical front-end for command-line debuggers such as GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash debugger, or the Python debugger. Besides ``usual'' front-end features such as viewing source texts, DDD has become famous through its interactive graphical data display, where data structures are displayed as graphs.
Insight is a graphical user interface to GDB, the GNU Debugger written in Tcl/Tk by people working at Red Hat, Inc. and Cygnus Solutions.
Dead project since 2009.
Review Board | Take the pain out of code review
web-based code review tool
gource - software version control visualization
Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project.
Veles - Binary Analysis Tool - CodiSec CodiSec
Binary data analysis and visualization.
Source-Navigator is a source code analysis tool. With it, you can edit your source code, display relationships between classes and functions and members, and display call trees.
Valgrind is an award-winning instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
KCachegrind - KDE Profiling Frontend
Profiling Visualization.
The profiling tool Callgrind (previously called Calltree) and the profile data visualization KCachegrind. Callgrind uses runtime instrumentation via the Valgrind framework for its cache simulation and call-graph generation. This way, even shared libraries and dynamically opened plugins can be profiled. The data files generated by Callgrind can be loaded into KCachegrind for browsing the performance results.
GitHub - google/orbit: C/C++ Performance Profiler
Orbit, the Open Runtime Binary Instrumentation Tool. The key differentiator with many existing tools is that no alteration to the target process is necessary.
Linux Performance
Brendan Gregg; perf, perf_events, FlameGraph, ...
'sysprof' is a sampling CPU profiler that uses a kernel module to profile the entire system (not just a single application). It handles shared libraries, and applications do not need to be recompiled. It profiles all running processes, has a GUI, shows the time spent in each branch of the call tree, and can load and save profiles.
BigAdmin: DTrace
Link collection at Oracle.
The Macros (Autoconf Archive)
Macro snippets for GNU autoconf.
My Little UML Page
Well, not mine but that's the title ;-) List of UML tools with short descriptions.
UML Tool for Fast UML Diagrams - UMLet
Generating UML from C++ code? - Stack Overflow
Doxygen is a documentation system for C++, C, Java, Objective-C, IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D.
VCG Overview - Visualization of Compiler Graphs
The VCG tool reads a textual and readable specification of a graph and visualizes the graph. If not all positions of nodes are fixed, the tool layouts the graph using several heuristics as reducing the number of crossings, minimizing the size of edges, centering of nodes.
caolanm/callcatcher - GitHub
Find unused code by collecting methods defined but not called or referenced.
See also Caolán's page
AT&T Labs Research - Software Tools
Graph Visualization Software
The Graphviz layout programs take descriptions of graphs in a simple text language, and make diagrams in several useful formats such as images and SVG for web pages, Postscript for inclusion in PDF or other documents; or display in an interactive graph browser. (Graphviz also supports GXL, an XML dialect.)
Graphviz-Tutorial -
Uebersichtliches GraphViz Tutorial in Deutsch.
Graphviz in your browser.
A directed graph editor for making to-do lists.
GitHub - magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3 - ZGRViewer
ZGRViewer is a 2.5D graph visualizer implemented in Java and based upon the Zoomable Visual Transformation Machine. It is specifically aimed at displaying graphs expressed using the DOT language from AT&T GraphViz and processed by programs dot or neato. ZGRViewer is designed to handle large graphs, and offers a zoomable user interface (ZUI), which enables smooth zooming and easy navigation in the visualized structure.
CodeViz (
A call graph generation utility for C/C++. This project provides the ability to generate call graphs to aid the task of understanding code. It uses a highly modular set of collection methods and can be adapted to support any language although only C and C++ are currently supported. Uses GraphViz.
Dia a drawing program
Dia is designed to be much like the commercial Windows program 'Visio'. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and simple circuits.
Dia2Code is a small utility used to generate code from a Dia UML class diagram.
GGobi data visualization system.
GGobi is an open source visualization program for exploring high-dimensional data. It provides highly dynamic and interactive graphics such as tours, as well as familiar graphics such as the scatterplot, barchart and parallel coordinates plots. Plots are interactive and linked with brushing and identification.
Gephi, an open source graph visualization and manipulation software
Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs.
ggcov Features
ggcov is a GTK+ GUI for exploring test coverage data produced by C and C++ programs compiled with gcc -fprofile-arcs -ftest-coverage. So it's basically a GUI replacement for the gcov program that comes with gcc.
TAU: Tuning and Analyis Utilities
Performance Inspector
Performance analysis tools (includes Java support)
Cscope Home Page
Cscope is a developer's tool for browsing source code.
Vim/Cscope tutorial
GNU GLOBAL source code tag system
GNU GLOBAL is a source code tag system that works the same way across diverse environments. You can locate a specified object in the source files and move there easily. It is useful for hacking a large project containing many subdirectories, many #ifdef and many main() functions. It is similar to ctags or etags but is different from them at the point of independence of any editor.
Related sites
GLOBAL related tools. Generally useful in development, also without GLOBAL.
Source-Navigator is a source code analysis tool. With it, you can edit your source code, display relationships between classes and functions and members, and display call trees. You can also build your projects, either with your own makefile, or by using Source-Navigator's build system to automatically generate a makefile. Source-Navigator works with the Insight GUI interface for GDB.
Source code navigation tools
This page is a log of an investigation Greg Lehey made of source code navigation and analysis packages in June and July 2005. It will necessarily remain incomplete, but he may update it. He started the investigation because he was in the position of needing to cut a large program into two halves and insert a clean API between them. To do this he needed to get a good understanding of how the control flow works, and he was looking for tools that might help him.
Survey of source code comprehension tools
Information about and links to some tools/software that make a code maintainer's job (and a developer's job too!) easier. All software mentioned support the C programming language and may support other languages too.
Taskjuggler - The Open Source Project Management Software
TaskJuggler provides an optimizing scheduler that computes your project time lines and resource assignments based on the project outline and the constrains that you have provided. The build-in resource balancer and consistency checker offload you from having to worry about irrelevant details and ring the alarm if the project gets out of hand.
ANTLR Parser Generator
ANTLR - ANother Tool for Language Recognition (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions.
Code::Blocks IDE - Open Source, Cross-platform Free C++ IDE - The sed $HOME
Using sed
Frequently-Asked Questions about sed, the stream editor (
Gimpel Software Bug of the Month Discovered by Lint
linting and fixing code for all languages
FuzzingTools - ThreatMind (
ucpp - A C preprocessor designed to be embeddable, quick, light and fully compliant to ISO Standard 9899:1999, aka ISO C99, or simply, C99. - Google Project Hosting
ucpp can be compiled as a stand-alone program, or linked to some other code; in the latter case, ucpp will output tokens, one at a time, on demand, as an integrated lexer.
The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes.
Weblate - web-based localization
For example used in LibreOffice localization
Online translation tool | Pootle
Outdated, unmaintained, previously used in LibreOffice translation.
Zanata | Open translation, for everyone.
FusionForge is a free software application descendant of the forge originally created for running the platform. FusionForge is licensed under the GNU General Public License, and is a fork/renaming of the code which was previously named GForge.
include-what-you-use - A tool for use with clang to analyze #includes in C and C++ source files
The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible.
The Meson Build system
Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
Bazel - a fast, scalable, multi-language and extensible build system" - Bazel
Google's build tool.
Ninja, a small build system with a focus on speed
Tup is a file-based build system for Linux, OSX, and Windows.
GitHub - ejholmes/walk: A fast, general purpose, graph based build and task execution utility.
Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy
Hex to file (binary) converter
Basically what tr -d -c '0-9A-Fa-f' | xxd -p -r does, plus a bunch of other converters.
Free Online IDE and Terminal
For various programming languages.
GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++
Taiga is a project management platform for agile developers & designers and project managers.
Kanban and stuff.
Kanban Project Management Software - Kanboard
Wekan — open-source kanban
Planka - Free, Open Source, Trello Alternative
Free open source kanban board for workgroups.
OpenProject - online project management software - free and open source
Minisign by Frank Denis
A dead simple tool to sign files and verify signatures. GitHub - jedisct1/minisign
GitHub - jedisct1/minisign: A dead simple tool to sign files and verify digital signatures.
GitHub - jedisct1/libsodium: A modern, portable, easy to use crypto library.
Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further.
GitHub - aperezdc/signify: OpenBSD tool to sign and verify signatures on files. Portable version.
Noise Protocol Framework
Crypto protocols that are simple, fast, and secure. Noise is a framework for building crypto protocols. Noise protocols support mutual and optional authentication, identity hiding, forward secrecy, zero round-trip encryption, and other advanced features.
GN Quick Start guide
The Google Chromium build tool.
GN Frequently Asked Questions
GN Reference
Flatpak—the future of application distribution
Welcome to Flatpak’s documentation! — Flatpak documentation
Sandbox Permissions — Flatpak documentation
Portal API Reference — Flatpak documentation
App Requirements · flathub/flathub Wiki · GitHub
GitHub - google/bloaty: Bloaty McBloatface: a size profiler for binaries
The AFL++ fuzzing framework | AFLplusplus
GitHub - gchq/CyberChef: The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
Fossies - The Fresh Open Source Software Archive: Special features
Fresh Open Source Software mainly for Internet, Engineering and Science.
Fossies - The Fresh Open Source Software Archive: Doxygen generated source code documentation
Open Build Service
Create and distribute software packages for all the major linux distributions with all the tools to work together. A generic system to build and distribute packages from sources in an automatic, consistent and reproducible way. Release your software for a wide range of operating systems and hardware architectures.
GitHub - sirupsen/napkin-math: Techniques and numbers for estimating system's performance from first-principles
dezip is a website for browsing source code archives.
Currently, the following protocols are supported: ftp://, gemini://, gopher://, http://, and https://; and the following archive formats, identified by file extension: .zip, .tgz, .tar.gz, .tb2, .tbz, .tbz2, .tar.bz2, .txz, and .tar.xz.
Test for Accessibility |
Section 508 Tools | Free Programmers' Resources, Free Webmasters' Resources, Free Security Resources
Resursseja - Resources (
Links to software engineering tools.

Programming People


Real Programmers Don't Use PASCAL


Real Programmers Don't Use Fortran, Either!


Linux Nasm (
Assembly programming on Linux with NASM (and C/C++)
x86 assembly language - Wikipedia
Guide to x86 Assembly
This guide describes the basics of 32-bit x86 assembly language programming, covering a small but useful subset of the available instructions and assembler directives.
x86 and amd64 instruction reference
Intel® 64 and IA-32 Architectures Software Developer Manuals | Intel® Software
Intel® Intrinsics Guide The 6502 Microprocessor Resource Tutorials and Aids - Opcodes
6502 Introduction
Assembly Tutorials: Learn Assembly Programming... With ChibiAkumas!
What if you knew how computers work?


historical section
The C Book
Reading C Declarations
A Guide for the Mystified
Reading C type declarations
ANSI C Summary
The ANSI Standard: A Summary for the C Programmer
The New C Standard: C99
Visual Studio vs Linux math.h
This page compares the list of functions in the C math.h header across four versions: ISO (ANSI) pre-1999, ISO post-1999, POSIX, and Microsoft Visual Studio.


C++ - Uncyclopedia, the content-free encyclopedia
C=C+1 is one of the most successful practical jokes ever played on nerds who take ideas like object-oriented programming seriously.
The C++ Annotations
This document is intended for knowledgeable users of C (or any other language using a C-like grammar, like Perl or Java) who would like to know more about, or make the transition to, C++. (Frank B. Brokken Computing Center, University of Groningen)
C++ reference -
Simply the best C++ reference site.
DevDocs — C++ documentation
Same content as in a different UI. - The C++ resources network
Reference, documentation, tutorials. The second best reference site.
C++ compiler support -
Compiler support for new C++ features.
C++ is Good for the Economy, It Creates Jobs!
Standard C++
The home of Standard C++ on the web — news, status and discussion about the C++ standard on all compilers and platforms.
C++ Super-FAQ : Standard C++
What’s “Super” about this FAQ? In part it’s because this is a merger of two great FAQs: Marshall Cline’s C++ FAQs, and Bjarne Stroustrup’s C++ FAQ. And in part it’s because this is a wiki being continuously updated for modern C++.
C++ Core Guidelines
This document is a set of guidelines for using C++ well. The aim of this document is to help people to use modern C++ effectively. By “modern C++” we mean effective use of the ISO C++ standard (currently C++20, but almost all of our recommendations also apply to C++17, C++14 and C++11). In other words, what would you like your code to look like in 5 years’ time, given that you can start now? In 10 years’ time?

The guidelines are focused on relatively high-level issues, such as interfaces, resource management, memory management, and concurrency. Such rules affect application architecture and library design. Following the rules will lead to code that is statically type safe, has no resource leaks, and catches many more programming logic errors than is common in code today. And it will run fast – you can afford to do things right.

Draft C++ Standard: Contents
Working Draft, Standard for Programming Language C++. This is not an ISO publication. Note: this is an early draft. It's known to be incomplet and incorrekt, and it has lots of bad formatting.
C++ Frequently Questioned Answers
This is C++ FQA Lite. C++ is a general-purpose programming language, not necessarily suitable for your special purpose. FQA stands for "frequently questioned answers". This FQA is called "lite" because it questions the answers found in C++ FAQ Lite. (Or what was known as the C++ FAQ Lite that was). Take it with a grain of salt. And take C++ with a grain of salt.
Stroustrup: C++
The C++ Programming Language, FAQ, C++ Style and Technique FAQ, C++0x - the next ISO C++ standard FAQ
Stroustrup: C++ Glossary
operator whitespace overloading
Stroustrup's serious (?) fun
cplusplus/draft · GitHub
Dick's Index to the December 1996 C++ draft standards (
Syntax of C++ as per Draft ANSI/ISO Standard December 1997 (
Why CS students *must* learn C++ as their main programming language
OOP A: C++-Grammatik (mit Links) (
ISO/IEC JTC1/SC22/WG21 - C++
ISO/IEC JTC1/SC22/WG21 is the international standardization working group for the programming language C++.
ISO/ANSI C++ Committee Public Issues Lists, provided as a community service by Comeau Computing
Incompatibilities Between ISO C and ISO C++
C++ Idioms (Presented at EuroPLoP 98)
James O. Coplien (PDF)
A useful template technique, by Nathan C. Myers
C++ Core Guidelines
By Bjarne Stroustrup and Herb Sutter.
C++ Operator Precedence -
C++ Operators, with Precedence and Associativity
The Anatomy of the Assignment Operator (
The Assignment Operator Revisited (
or why The Anatomy of the Assignment Operator wasn't all that correct.
An Idiot's Guide to C++ Templates - Part 1 - CodeProject
Covering the nitty-gritties of C++ templates.
An Idiot's Guide to C++ Templates - Part 2 - CodeProject
Let's dwell deeper into C++ templates!
LLVM Coding Standards — LLVM documentation
quite reasonable C++ style guide ...
Thinking in C++, 2nd Edition, Volume 1 : Bruce Eckel : Free Download, Borrow, and Streaming : Internet Archive
Thinking in C++, 2nd Edition, Volume 2 : Bruce Eckel and Chuck Allison : Free Download, Borrow, and Streaming : Internet Archive
Thinking in C++, 2nd Ed. Volume 1 Annotated Solutions Guide
c++ - What is the copy-and-swap idiom? - Stack Overflow
After Herb Sutter's GotW #59: Exception-Safe Class Design, Part 1: Copy Assignment
Rvalue References and Move Semantics in C++11 -
c++ faq - The Definitive C++ Book Guide and List - Stack Overflow
Free C/C++ Programming Books (
Learn C++
C++ Tutorial | C++ | Tutorials
Learn C and C++ Programming -
Excellent Free Tutorials to Learn C++ - LinuxLinks
C++ Forum :: Linkliste für Neulinge
Bücher, Referenzen, FAQs, ...
Guru of the Week (GotW) Archive - Main Index Page
Sutter’s Mill | Herb Sutter on software, hardware, and concurrency
Andrei Alexandrescu
abseil / C++ Tips of the Week (TotW)
C++ portability guide (Mozilla)
Simplify C++! - Write clean and maintainable C++ (Arne Mertz)
Test Drive Comeau C/C++ Online
Sites of interest to C++ users
The Association of C & C++ Users
Lambda expressions (since C++11) -
Lambdas - C++ Language - Stack Overflow
C++11 - Lambda Closures, the Definitive Guide -
Lambda Expressions in C++
Compiler Explorer
See what assembly code compilers actually generate for your C/C++ code.
C++ Insights
How compilers see your code.
Uniform Initialization in C++ - GeeksforGeeks
Have a {}
Clang-Format Style Options — Clang documentation
CppCon 2018: Timur Doumler “Can I has grammar?” - YouTube
Stephan T. Lavavej “Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss” - YouTube
CppCon 2019
Modernes C++ | heise Developer


SGI - Services & Support: Standard Template Library Programmer's Guide
The C++ Standard Template Library
STLport Home Page
Nicolai M. Josuttis: The C++ Standard Library
A modest STL tutorial
Links Regarding the C++ Standard Library


Upstream Tracker for C/C++ Libraries
Online tool to track API/ABI compatibility in changes of version upgrades.
Available C++ Libraries FAQ
Boost C++ Libraries
Boost Sandbox
mdds / mdds | GitLab
Kohei Yoshida's Multi-Dimensional Data Structure (mdds), segmented trees and indexing algorithm.
diet libc - a libc optimized for small size
The libdjb project
Cap'n Proto: Introduction
Cap’n Proto is an insanely fast data interchange format and capability-based RPC system.
GNU Common C++
Extending the iostream library (printf formatting) object serialization/persistence in C++
MATHPROG - A Collection of Codes for Solving Various Mathematical Programming Problems (
IMSSIRUS' Astronomieseite
wvWare, library for converting Word documents
libpng Home Page
libiconv - GNU Project - Free Software Foundation (FSF)
This library provides an iconv() implementation, for use on systems which don't have one, or whose implementation cannot convert from/to Unicode.
NTL: A Library for doing Number Theory
The GNU MP Bignum Library
The GNU Multiple Precision Arithmetic Library
GitHub - sphair/ClanLib: ClanLib is a cross platform C++ toolkit library.
With a primary focus on game creation.
MCrypt is a replacement for the old crypt() package and crypt(1) command, with extensions.
The CGAL home page
Crystal Space: A Free 3D Engine
Simple Sockets Library (
GGI - General Graphics Interface
RFID C library
See also RFID information
Telepathy Wiki - FrontPage
Telepathy is a flexible, modular communications framework that enables real-time communication via pluggable protocol backends. Telepathy is a communications service that can be accessed by many applications ("clients") simultaneously.
protobuf - Protocol Buffers - Google's data interchange format - Google Project Hosting
Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.
GitHub - google/sandboxed-api: Sandboxed API automatically generates sandboxes for C/C++ libraries
The Sandboxed API project (SAPI) aims to make sandboxing of C/C++ libraries less burdensome: after initial setup of security policies and generation of library interfaces, an almost-identical stub API is generated, transparently forwarding calls using a custom RPC layer to the real library running inside a sandboxed environment.
abseil /
Abseil is an open source collection of C++ libraries drawn from the most fundamental pieces of Google’s internal codebase. These libraries are the nuts-and-bolts that underpin almost everything Google runs.
The latest supported Visual C++ downloads
Microsoft Visual C++ Redistributables

Articles & Interviews

The C++ Style Sweet Spot
A Conversation with Bjarne Stroustrup Interviews
Multiple Inheritance and Interfaces
A Conversation with Scott Meyers Interviews
Designing Contracts and Interfaces
A Conversation with Scott Meyers Interviews
Meaningful Programming
A Conversation with Scott Meyers Interviews
Const, RTTI, and Efficiency
A Conversation with Scott Meyers Interviews
An Effective C++11/14 Sampler - Events | Microsoft Docs
Scott Meyers' talk on C++11/14
A Collection of Examples of 64-bit Errors in Real Programs - Intel® Software Network
Knowledge Base - Intel® Software Network


Rust Programming Language
A language empowering everyone to build reliable and efficient software.
The Rust Reference
This book is the primary reference for the Rust programming language. is an open source documentation host for crates of the Rust Programming Language. All libraries published to are documented.
Learn Rust - Rust Programming Language
The Rust Programming Language - The Rust Programming Language
Experiment Introduction - The Rust Programming Language
A different version of the Rust Book, featuring: quizzes, highlighting, visualizations, and more.
Rust Playground
How to learn Rust: A resources guide for developers | TechRepublic
Getting started with ... Rust - Stack Overflow Blog
Rust Tutorial
Understanding Rust as a C++ developer - DEV Community
GitHub - nrc/r4cppp: Rust for C++ programmers
GitHub - tweedegolf/101-rs: A Rust university course
Programming Rules to Develop Secure Applications With Rust | Agence nationale de la sécurité des systèmes d'information
Have you considered Rewriting It In Rust?


The Go Programming Language
A Tour of Go
GitHub - golang-standards/project-layout: Standard Go Project Layout
Effective Go - The Go Programming Language
GoDoc hosts documentation for Go packages on Bitbucket, GitHub, Google Project Hosting and Launchpad.
godoctricks - GoDoc
Package godoctricks is a tutorial that deals with tricks for making your godoc organized and neat.
Excellent Free Tutorials to Learn Go - LinuxLinks


Python Programming Language -- Official Website
The Python Tutorial — Python 3 documentation
Python Tutorial
Python Tutorials - Python Tutorial
Automate the Boring Stuff with Python
Practical Programming for Total Beginners. Online book under CC BY-NC-SA license.
PY4E - Python for Everybody
Python learning material and lessons.
GitHub - joaoventura/full-speed-python: At full speed with Python
This book aims to teach the basics of the python programming language using a practical approach.
A Quick, Painless Tutorial on the Python Language
Python Patrol Tutorial
Python-Kurs: Tutorial, Referenz und weiterführende Themen
Excellent Free Tutorials to Learn Python - LinuxLinks
Thonny, Python IDE for beginners
Porting to Python 3: An in-depth guide — Porting to Python 3 - The Book Site
Where is Python's sys.path initialized from? - Stack Overflow
In case you ever wondered..
Deciphering Glyph :: Never Run ‘python’ In Your Downloads Folder
freiesMagazin Python-Sonderausgabe 04/2011 | freiesMagazin
Sechs Artikel von Daniel Nögel, die in den freiesMagazin-Ausgaben Oktober 2010 bis März 2011 erschienen sind, zusammengefasst und nun als zusammenhängende Kompilation.
Super Fast Python – making you awesome at concurrency
Tutorials, Guides, Threading, Multiprocessing, AsyncIO
GitHub - cookiecutter/cookiecutter: A command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, VueJS projects.
GitHub - wdm0006/cookiecutter-pipproject: A(nother) cookiecutter template for pip-installable python projects
Scientific Computing Tools For Python — Numpy
arrays and stuff
GitHub - pydata/numexpr: Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more
PyNGL Home Page
Scientific visualization, file i/o, data analysis. PyNGL (pronounced "pingle") is a Python language module used to visualize scientific data, with an emphasis on high quality 2D visualizations. A working knowledge of Python is assumed. PyNIO is a Python module used for reading and writing files in several different data formats, including netCDF, GRIB1, HDF 4, HDFEOS 2, and CCM history files. In version 1.2.0, support was added for GRIB2 and for netCDF 4 classic files.
Numerical optimization framework for Python
How to recover lost Python source code if it's still resident in-memory · GitHub


The Julia Programming Language
High performance dynamically typed scientific computing language.


A language for humans and computers.


The V Programming Language
Simple, fast, safe, compiled. For developing maintainable software.


The Perl Directory -
CPAN (Comprehensive Perl Archive Network)
Online Documentation - The site for people learning Perl.
Steve Litt's PERLs of Wisdom
PERL Tutorial - Introduction (Tizag)
Picking Up Perl, a Freely Redistributable Perl Tutorial Book
perl ( is a collection of Frequently Asked Questions, "How To" documents, and tutorials about the very cool Perl programming language.
Beginning Perl Tutorials
focused on CGI scripts
PerlMonks - The Monastery Gates
PerlMonks is a community web site devoted to Perl and related issues. It is made up of several hundred contributors who over the years have created over half a million entries. In short it is a gold mine of knowledge on Perl and programming in general. The Source for Perl -- perl development, perl conferences -- Welcome to the O'Reilly Perl Center -- computer books, perl books, perl programming
Perl-XML Frequently Asked Questions
The Perltidy Home Page
Perltidy is a Perl script which indents and reformats Perl scripts to make them easier to read. If you write Perl scripts, or spend much time reading them, you will probably find it useful.


Kotlin Programming Language
Tutorials - Kotlin Programming Language


AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
JDK Builds from Oracle
Java | Oracle
The Java™ Tutorials
The Java Tutorials are practical guides for programmers who want to use the Java programming language to create applications. They include hundreds of complete, working examples, and dozens of lessons. Groups of related lessons are organized into "trails".
yet another insignificant Programming Notes
Tutorials on Java, Android, Web, and some C/C++
Java Technologies Tutorials
Java Tutorial - Tutorialspoint
Java8 Tutorial
Java 9 Tutorial
JavaFX Tutorial
The Java Version Almanac -
Class File Versions -
O'Reilly CodeZoo


A Dive Into JavaScriptCore
WebKit JSC
JSCompress - The JavaScript Compression Tool
Online JavaScript beautifier
Beautify, unpack or deobfuscate JavaScript and HTML, make JSON/JSONP readable, etc.


PHP: Documentation
arguments - Reference — What does this symbol mean in PHP? - Stack Overflow
Treating PHP Delusions
This site is dedicated to PHP programming language and its proper use, with the focus on disproving various delusions and superstitions.
The Hitchhiker's Guide to SQL Injection prevention - Treating PHP Delusions A guide to preventing SQL injection in {currlang}
Here where {currlang} == PHP
GitHub - symfony/polyfill: PHP polyfills
This project backports features found in the latest PHP versions and provides compatibility layers for some extensions and functions. It is intended to be used when portability across PHP versions and extensions is desired.
phplayground - PHP playground
Try out PHP from your browser.
Rasmus Lerdorf - Wikiquote
Creator of PHP.
"PHP 8 is significantly better because it contains a lot less of my code." ... and others.


Visual Basic Language Reference | Microsoft Docs

XML XML From the Inside Out -- XML development, XML resources, XML specifications
Cover Pages: Extensible Markup Language (XML)
Frequently-Asked Questions about the Extensible Markup Language; edited by Peter Flynn.
XML Files - Extensible Markup Language Tutorials for Developers
developerWorks : XML tutorials, code, and forums
RELAX NG is a schema language for XML.
Free XML tools and software
A frequently-updated and hopefully complete index of free XML tools, with much metadata about the tools to make them easier to locate.
XML pretty print tool - CoreFiling website
XML comparison tool - CoreFiling website
MSV - Multi Schema Validator — Project Kenai
The Multi-Schema XML Validator (MSV) is a Java technology tool to validate XML documents against several kinds of XML schemas. It supports RELAX NG, RELAX Namespace, RELAX Core, TREX, XML DTDs, and a subset of XML Schema Part 1. - XML Internationalization and Localization FAQ
You will find here answers to some of the frequently asked questions about XML internationalization and localization (including XSL, CSS, and other XML-related technologies). Character representation, encoding, language identification, presentation and rendering, localization.


BashGuide - Greg's Wiki
BashGuide/Practices - Greg's Wiki
BashFAQ/031 - Greg's Wiki
What is the difference between test, [ and [[ ?
ShellCheck – shell script analysis tool
And on GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts


JSON - Wikipedia
RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format
JSON Formatter and JSON Validator: Online JSON Formatter
jq is a lightweight and flexible command-line JSON processor.
jq play
Play with jq JSON query.
7 command-line tools for data science (
jq - sed for JSON ; json2csv - convert JSON to CSV ; csvkit - suite of utilities for converting to and working with CSV ; scrape - HTML extraction using XPath or CSS selectors ; xml2json - convert XML to JSON ; and others
GitHub - jehiah/json2csv: command line tool to convert json to csv
JSON Explorer
Tool for exploring JSON APIs interactively.

Online JSON/CSV Converters

JSON to CSV Converter | Online Tool
JSON To CSV Converter
CSV to JSON Converter | Online Tool
CSV To JSON Converter


GitHub - toml-lang/toml: Tom's Obvious, Minimal Language
TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.


The Official YAML Web Site
YAML Ain't Markup Language.
YAML - Wikipedia
The yaml document from hell

Regex, Regexp, Regular Expressions

Regular Expressions
The Open Group Base Specifications Issue 7, 2018 edition IEEE; Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008).
This chapter 9 is also known as POSIX regular expressions.
UTS #18: Unicode Regular Expressions
Tutorial - Pi-hole documentation
Concise RegEx introduction to POSIX Extended Regular Expressions (like grep -E).
Regex Tutorial—From Regex 101 to Advanced Regex
Regular Expressions - Wikibooks, open books for an open world - Regex Tutorial, Examples and Reference - Regexp Patterns
Regex Tutorial - Unicode Characters and Properties
Using Regular Expressions with PHP
PHP: PCRE Patterns - Manual
Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript (
RegExr: Learn, Build, & Test RegEx
Regulex:JavaScript Regular Expression Visualizer
Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
Another one that wants you to create an account..
Regular Expression Library
Over 1500 regular expressions to give you nightmares. A bit .NET centric though..
Regex Crossword
Crossword puzzles using regular expressions.
Regular Expressions - ICU Documentation Regular Expression Metacharacters
ICU Regular Expression Demonstration
Implementing Regular Expressions
6.9. Roman Numerals - Regular Expressions Cookbook [Book] (
regex - How do you match only valid roman numerals with a regular expression? - Stack Overflow
html - RegEx match open tags except XHTML self-contained tags - Stack Overflow
You can't parse [X]HTML with regex. Because HTML can't be parsed by regex.

globalization, internationalization, localization (g11n, i18n, l10n)

The I18n G.A.L.: Linking all the Internationalization Myths
List of 15 myths about internationalization that should be banned. A Series of short blog articles.
Falsehoods Programmers Believe About Names | Kalzumeus Software
Falsehoods Programmers Believe About Names - With Examples - Shine Solutions Group
Personal names around the world (W3C)
I18n in Software Design, Architecture and Implementation
Gone with the farts of *r*cl*, excerpts available at I18n in Software Design
Information Resources For Locales And Internationalization (i18nguy)

GIL Standards

The Open Group Base Specifications Issue 7; IEEE Std 1003.1-2008, POSIX.1-2008.
Environment Variables
The Open Group Base Specifications Issue 7; IEEE Std 1003.1-2008, POSIX.1-2008.
See 8.2 Internationalization Variables for LC_* and companions.
Language Tags
IETF language tag - Wikipedia, the free encyclopedia
W3C i18n article: Language tags in HTML and XML
Choosing a language tag - W3C
Information on BCP 47 » RFC Editor
Tags for Identifying Languages. A concatenation of relevant RFCs, namely RFC 5646 and RFC 4647
RFC 5646 - Tags for Identifying Languages
This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object.
Obsoletes RFC 4646, formerly known as RFC 3066bis, that obsoleted RFC 3066.
See also Language Tag Registry Update (ltru).
Language subtag lookup app (ishida)
BCP 47 Validator
Check a language tag whether it is well-formed and its subtags are valid (registered with IANA).
Language Tags: Tag wisely (
Language Tags: How to register a new subtag (
cldr/langtagTest.txt at main · unicode-org/cldr · GitHub
RFC 4646 language tags test data set.
IANA Language Subtag Registry
Valid subtags for language tags.
IANA Language Tag Extensions Registry
Language tags extensions registry.
Language Subtag Registry - Registration Templates
Registered subtags templates with details.
Unicode Utilities: Unicode Language Identifers and BCP47
Understanding the New Language Tags (W3C BCP 47)
W3C I18N FAQ: Two-letter or three-letter language codes
RFC 5645 - Update to the Language Subtag Registry
This memo defines the procedure used to update the IANA Language Subtag Registry, in conjunction with the publication of RFC 5646, for use in forming tags for identifying languages.
RFC 6067 - BCP 47 Extension U
This document specifies an Extension to BCP 47 that provides subtags that specify language and/or locale-based behavior or refinements to language tags, according to work done by the Unicode Consortium.
See also Unicode Extensions for BCP 47 - CLDR - Unicode Common Locale Data Repository
RFC 6497 - BCP 47 Extension T - Transformed Content
This document specifies an Extension to BCP 47 that provides subtags for specifying the source language or script of transformed content, including content that has been transliterated, transcribed, or translated, or in some other way influenced by the source.
RFC 4645 - Initial Language Subtag Registry
This memo defined the initial contents of the IANA Language Subtag Registry for use in forming tags for the identification of languages.
RFC 4647 - Matching of Language Tags
This document describes a syntax, called a "language-range", for specifying items in a user's list of language preferences. It also describes different mechanisms for comparing and matching these to language tags.
RFC 3066 - Tags for the Identification of Languages
Obsoleted by RFC 5646.
RFC 3066 Language code assignments
draft-langtags: Understanding the Reasons for Change (
Reasons for Enhancing RFC 3066 (RFC3066bis).
Pointer to draft-phillips-langtags-* by Addison Phillips and Mark Davis
Language Tag Registry Update (ltru) Charter
Tags for Identifying Languages draft-ietf-ltru-registry-*
Matching Tags for the Identification of Languages draft-ietf-ltru-matching-*
Initial Language Subtag Registry draft-ietf-ltru-initial-*
IANA Assigned Language Tags
OBSOLETE - per RFC-ietf-ltru-registry-14.txt
IANA Directory of language tag applications
OBSOLETE - per RFC-ietf-ltru-registry-14.txt
Codes for constructed languages - Wikipedia
ConLang Code Registry
Constructed languages code assignments. Do not fall for the "assign ISO-639-3 codes out of the "reserved for local use" area (qaa-qtz)" though, use art-x-... private-use codes instead.
liblangtag is an interface library to access/deal with tags for identifying languages, which is described in RFC 5646.
language-tags : Python Package Index
This project is a Python version of the language-tags Javascript project.
Index of /~caolanm/BCP47 (
a prototype bcp47 parsing lib
Getting Your Language In – LibreOffice goes BCP 47 – or – Language Tags and all that it entails (PDF)
2013-09-27 LibreOffice-Conference Milano presentation.
How to squeeze a language tag into a Locale (PDF)
2014-02-01 FOSDEM presentation.
LocaleMapping – Wiki
Mapping Unix Locale Identifiers to BCP-47, by Caolán McNamara
gtk/LINGUAS at master · GNOME/gtk · GitHub
Languages known by gtk+ translations in glibc notation (eg. ca@valencia)
It would be too easy if everything just understood BCP 47.
ISO 639 Language Codes
ISO 639-2: Registration Authority - Library of Congress
ISO 639-2 Language Code List - Codes for the representation of names of languages (Library of Congress)
Codes arranged alphabetically by Alpha-3 Code.
Alpha-3 codes arranged alphabetically by English name of Language - Codes for the representation of names of languages (Library of Congress)
ISO 639-3 Registration Authority - SIL International
Part 3 of the ISO 639 family of standards, Codes for the representation of names of languages. ISO 639-3 attempts to provide as complete an enumeration of languages as possible, including living, extinct, ancient, and constructed languages, whether major or minor, written or unwritten.
ISO 639 Code Tables | ISO 639-3
ISO 639-1, ISO 639-2, ISO 639-3 at SIL
ISO 639-3 - Wikipedia
Category:ISO 639 - Wikipedia, the free encyclopedia
Language-Territory Information (CLDR)
ISO 639 and ISO 639-2: The Code Lists (, outdated)
ISO 639 Languages and Dialects, and More (, outdated)
MediaGlyphs Project - Languages: original language names in their own scripts
Language names in their original form and script, English and French names, associated country codes and common text encodings used for that language.
ISO 15924 Script Codes
ISO 15924 Registration Authority
ISO 15924 - Code Lists
Script codes * ISO 15924 * Codes d'écriture
Languages and Scripts (CLDR)
Scripts and Languages (CLDR)
cldr/language_script.tsv at main · unicode-org/cldr · GitHub
Primary and secondary scripts of languages.
ISO 15924 - Wikipedia
ISO 3166 Country Codes
ISO 3166 Maintenance agency (ISO 3166/MA)
ISO's focal point for country codes
Country Codes Collection
ISO Online Browsing Platform (OBP)
ISO 3166 - Wikipedia
ISO 3166-1, ISO 3166-2, ISO 3166-3
Country code - Wikipedia
ISO 3166-1: The Code List
Country codes in ISO 3166
Existing codes and withdrawn codes.
Changes in ISO 3166-1
Change history.
United Nations Statistics Division- Standard Country and Area Codes Classifications (M49)
Territory Containment (UN M.49) (CLDR)
continents, regions, countries, timezones
Subdivision Codes list
UN/LOCODE Country Subdivisions ISO 3166-2 | UNECE
UNGEGN - United Nations Group of Experts on Geographical Names
Emoji country flags and their codes
U+1F1.. U+1F1..
geonames - Countries and Languages of the World
The countries of the world in their local languages and scripts, with official names, capitals, flags, administrative divisions, and translations of the country and capital names into many different languages.
DOSCO - Wissen / Sprach- und Ländercodes -----
German language and country names. Deutsche Sprachen- und Ländernamen. Not very.. erm.. reliable I think.
WIPO recommends the use of YU instead of CS until the ISO 3166/MA has taken a final decision (PDF) (
The ISO-3166/MA decision to reuse CS (formerly Czechoslovakia) for "Serbia and Montenegro" was rather short-sighted. This WIPO recommendation of 25 November 2003 says how to deal with such a bad idea.
Note: this is rather historical, as the situation won't change anymore and CS is more widely supported now.
ISO 4217 Currency Codes
Currency Code Service
ISO 4217 Maintenance Agency
ISO 4217 - Wikipedia
ISO 4217 - Wikipedia
German page, sometimes is more up-to-date than English page.
List of currencies - Wikipedia
The Euro (European Commission)
Conversion rates and rules - European Commission
Your country and the euro - European Commission - World Currency Symbols - ISO 4217 Type Currency Code List
ISO 8601 Date & Time Representation
xkcd: ISO 8601
ISO 8601 - Wikipedia, the free encyclopedia
ISO 8601: International Standard Date and Time Notation
A good overview by Markus Kuhn.
ISO 8601 Date Time (
A fairly detailed description of what the ISO 8601 standard specifies.
Info on ISO 8601, the date and time representation standard
Jukka "Yucca" Korpela
Date and Time Formats
The W3C TR NOTE on date and time formats, defines a profile of ISO 8601.
RFC 3339 - Date and Time on the Internet: Timestamps
This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
RFC 3339 vs ISO 8601
Unions, intersections, formats listing and notes.
Implementation of the ISO 8601 Standard Around The World.
Mathematics of the ISO calendar
Extended Date Time Format (EDTF) Specification (Library of Congress)
Level 0 specifies features of ISO 8601-1; Levels 1 and 2 specify features described by ISO 8601-2.
EDTF - The Extended Date/Time Format - defines features to be supported in a date/time string, features considered useful for a wide variety of applications.
WeekNumber Calculation Explanation (
Calculating the ISO week number. ISO 8601 page - Converting and Implementing
XML Schema Part 2: Datatypes Second Edition 3.2.7 dateTime
There is no year 0000 in XML Schema 1.0! It's -0001 (1 BCE) followed by 0001 (1 CE).
Unicode Home Page
Index of /Public files
UAX #9: The Bidirectional Algorithm
JTC1/SC2/WG2 is the international standardization working group for the coded character set UCS - the Universal Multiple-Octet Coded Character Set - ISO/IEC 10646.
Unicode - Wikipedia
The Unicode Standard(s) (czyborra)
What document(s) define(d) the Unicode standard?
Unicode's characters (czyborra)
UTF-8 and Unicode FAQ
Unicode fonts and tools for X11
Unicode/UTF-8-character table
UTF-8 Everywhere Manifesto
ConScript Unicode Registry - Wikipedia
The ConScript Unicode Registry is a volunteer project to coordinate the assignment of code points in the Unicode Private Use Areas (PUA) for the encoding of artificial scripts, such as those for constructed languages.
ConScript Unicode Registry
Under-ConScript Unicode Registry
Unicode and multilingual support in HTML, fonts, Web browsers and other applications
Alan Woods Unicode Resources
Programming with Unicode
Joel on Software - The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
What every JavaScript developer should know about Unicode
Quite a good introduction, not only for JavaScript devs, if you abstract from the code examples.
ongoing by Tim Bray · On the Goodness of Unicode
ongoing · Characters vs. Bytes
Eyes Above The Waves: String Theory
"UTF-16 is the devil's work." --Robert O'Callahan
Ben Lynn's Online Garbage: UTF-8 good, UTF-16 bad
The WTF-8 encoding
WTF-8 (Wobbly Transformation Format − 8-bit) is a superset of UTF-8 that encodes surrogate code points if they are not in a pair. It represents, in a way compatible with UTF-8, text from systems such as JavaScript and Windows that use UTF-16 internally but don’t enforce the well-formedness invariant that surrogates must be paired.
Dashes and hyphens (Yucca)
Soft hyphen (SHY) - a hard problem? (Yucca)
Character encoding
Text Encoding Table index - Programming | String-functions
If your text encoding went awry..
Character Model for the World Wide Web: String Matching (W3C)
The (Mostly) Complete Unicode Spiral – Terence Eden’s Blog
UTS #10: Unicode Collation Algorithm
Collation Charts (Unicode)
Collation - ICU Documentation
ICU Collation Demo
Collation Guidelines - CLDR - Unicode Common Locale Data Repository
Character data, Unicode and Collations | Mimer Developer
SQL Unicode Collation Charts | Mimer Developer
FAQ - Collation (
Collation Charts
The goal of this project was to provide information about how various pieces of software (e.g. operating systems, DBMS and others) sort textual data, in the form of easy-to-read charts.
Quite outdated though, ~2010 ...
Unicode Utilities: Description and Index
Code Charts - Scripts (, PDFs)
Name List Charts (
ICU Demonstration - Unicode Browser
Find all Unicode characters from Hieroglyphs to Dingbats – Codepoints
Unicode - Compart
IANA Character Sets, Planes, Blocks, Character Categories, Bidirectional Classes, Combining Classes, Decomposition, Mirrored Characters, Scripts, HTML Entities, References.
Graphemica - For people who ♥ letters, numbers, punctuation, &c
📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍
🏁 🎌 🚩 🏳️‍🌈 🏴‍☠️ Flag Symbols
Charbase: A visual unicode database
Shapecatcher: Draw the Unicode character you want!
Unicode (
Unicode characters, search, blocks, categories, support in fonts, UTF-8 browser test pages.
Category:Unicode blocks - Wikipedia
Unicode block - Wikipedia
Including a table of all Unicode blocks with scripts.
unum - Interconvert numbers, Unicode, and HTML/XHTML characters
Fourmilab's stand-alone utility program written in portable Perl which allows you to look up Unicode and HTML characters by name or number, and interconvert numbers in decimal, hexadecimal, and octal bases.
UniView (ishida)
An XHTML-based application to look up characters, character blocks, paste in and discover unknown characters, search for characters, do hex/dec/ncr conversions, highlight character types, etc. etc.
List characters tool (ishida)
Identifies Unicode characters in a string.
Character usage (ishida)
Lists characters used in a language.
Unicode code converter (ishida)
Unicode character pickers (ishida)
An Introduction to Writing Systems & Unicode (ishida)
r12a >> apps (ishida)
ishida >> utilities: normalizer
Converts text into Unicode normalisation forms NFD and NFC.
Not available anymore, some almost empty blog? And not on either.
Unicode Utilities: Character Properties (CLDR)
Character set, code pages, encodings, at the push of a button (i18nguy)
Ascii table for IBM PC charset (CP437) - Ascii-Codes
CP 437 and a bunch of other code pages.
Letter database: languages, character sets, names etc (EKI, Eesti Keele Instituut)
An independent online-platform for digital type culture. It has the objectives of creating a basis for fundamental typographic research and facilitating a textual approach to the characters of the world for all computer users.
PRI #294 Background: Emoji Glyph/Annotation Recommendations
ftfy - fix unicode that's broken in various ways
Meant is fix the broken decoding of the broken encoding.. by guessing what the string might have been.
Character Sets
ISO/IEC JTC1/SC2/WG3 - 7 and 8-bit coded character sets
WG3 is a standardization Working Group of the SC2 which is a SubCommittee of JTC1 - a Joint Techical Committee of ISO and IEC.
WG3 works on 7-bit and 8-bit codes and their extensions. Examples of coded character sets made by WG3 are the ISO/IEC 8859 parts and the ISO 6429 coded control character set.
A registry of coded character sets is maintained under WG3 supervision by IPSJ/ITSCJ in the ISO 2375 registry.
Character Sets (IANA)
These are the official names for character sets that may be used in the Internet and may be referred to in Internet documentation.
Character Set Registrations at IANA
List of Character Set Registrations not defined in RFCs
ISO 8859 Alphabet Soup (czyborra)
Charsets Index (Kosta Kostis)
Characters and encodings (Jukka "Yucca" Korpela)
Letter database: languages, character sets, names etc
Form with various queries regarding character sets / encodings and Unicode
Character Sets (FileFormat.Info)
[Ping] Japanese text encoding
ISO Latin 9 as compared with ISO Latin 1
The ISO Latin 9 (ISO 8859-15) character set differs from the well-known ISO Latin 1 (ISO 8859-1) character set in a few positions only. The euro sign and some national letters used e.g. in French and Finnish have been introduced and some rarely used special characters omitted.
Some codepage tables, Latin ISO 8859, DOS and Windows, generated from Unicode database
Character encoding programs and ISO 8859-x codepages for MS-DOS (Kosta Kostis)
Brief History of Character Codes in North America, Europe, and East Asia
Everson Typography: The Alphabets of Europe
Doug Ewell's Home Page
Unicode, Ewellic Alphabet, Coding standards, Language tagging (BCP 47)
ICU - International Components for Unicode - Character Set Mapping Tables
ICU Demonstration - Converter Explorer
Index of /Public/MAPPINGS (
Mapping tables of character sets to Unicode characters.
Unicode programming, with examples
Characters and ICU example programs.
WTF-8, a transformation format of code page 1252
Everson Typography: Codes for Internationalization
ISO ####, TC##
Units of Measurement
A4 Paper / International Standard Paper Sizes
Metric Typographic Units
Logistics World: Reference Libarary
airlines, airport codes, seaport codes, international dialing codes, ISO 3166 country codes, country profiles
List of country calling codes - Wikipedia
International Calling Codes - Pg1
International Calling Codes - Numerical Listing
NANPA: North American Numbering Plan Administration

GIL points

ISO/IEC JTC1/SC22/WG20 - Internationalization
W3C Internationalization and Localization
OpenI18N - The Free Standards Group Open Internationalization Initiative
CLDR Project (CLDR - Unicode Common Locale Data Repository)
Unicode Locale Data Markup Language (LDML)
Unicode Technical Standard #35, UTS TR35.
Unicode CLDR - CLDR Survey Tool
GitHub - unicode-cldr/cldr-json: JSON Data from the Unicode CLDR Project
ICU - International Components for Unicode
Locales and Resources - ICU Documentation
ICU Demonstration - List of ICU Demonstrations
A Python extension wrapping the ICU C++ libraries.
Everson Typography
Internationalization (I18n), Localization (L10n), Standards, and Amusements (i18nguy)
Database Internationalization Resources - Antikythera Publications
ScriptSource - Writing systems, computers and people
ScriptSource is a dynamic, collaborative reference to the writing systems of the world, with detailed information on scripts, characters, languages - and the remaining needs for supporting them in the computing realm.
Welcome to Computers and Writing Systems
Non-Roman and complex scripts in linguistic study, translation, literacy, and publishing.
This site is dedicated to the tools and technologies used in the localization of software, on-line help and documentation. Its aim is to provide you with useful information and tools that could help you streamline your localization processes.
CIA -- The World Factbook
Peoples Resources - Art & Life in Africa
Countries Resources - Art & Life in Africa
Date format by country - Wikipedia
YMD, DMY, MDY, yy or yyyy, ...
Date and time representation by country - Wikipedia
Date and time notation in Europe - Wikipedia
List of adoption dates of the Gregorian calendar per country - Wikipedia
Quotation mark - Wikipedia
Anführungszeichen – Wikipedia
Better tabular overview / bessere tabellarische Übersicht.
Locale Views
CLDR Charts - CLDR - Unicode Common Locale Data Repository
Unicode CLDR - CLDR Releases/Downloads
Verification Charts
These charts show various data from CLDR locales, as it would be composed in usage; Dates, Time Zones and Numbers.
CLDR Survey Tool: Locale List
ICU Demonstration - Locale Explorer
Was broken and might work again.
International Components for Unicode (ICU) Data
LocalePlanet's ICU data and ULocale lists.
Locale Helper
Ease creation and maintenance of glibc locale files.
Locale Helper: en_DK
English Denmark locale
GitHub - PanderMusubi/locale-en-nl: 🇳🇱 English language locale for the Netherlands (en_NL)
Ethnologue, Languages of the World (
Open Language Archives Community - OLAC
Linguist List - Find a Language or Family
This facility searches a database containing all current ISO 639-3 codes.
Linguist List - Language and Resources Index Page
Omniglot - a guide to written language (alphabets, hieroglyphs, Chinese characters, etc)
Lists of languages - Wikipedia, the free encyclopedia
The World Atlas of Language Structures Online
Languages (World Language Resources)
Countries (World Language Resources)
What are the most spoken languages on earth?
Links to resources for 350 languages.
Articles for translators - Languages
Language Reference Guides, grammar and spelling, punctuation, measurements and abbreviations, hyphenation, character set. - African Languages info
Master of Arts in Language Studies: Yamada Language Guide |
iLoveLanguages - Your Guide to Languages on the Web
A comprehensive catalog of language-related Internet resources. Comprehensive and Authoritative Language Portal
Nationalism and Language (by Bozidar Jaksic) (

GIL misc

my cross-cultural Calendar links
Merlyn - Date and Time Index and Links - J R Stockton (
Calendar date - Wikipedia, the free encyclopedia
Includes information about date formats used in different countries.
Time zone - Wikipedia, the free encyclopedia
List of tz database time zones - Wikipedia, the free encyclopedia
Sources for Time Zone and Daylight Saving Time Data (
The tz database and related.
IANA — Time Zone Database
Date and Time Gateway - Timezone Selector
Names as extensions to POSIX defined by the Olson tz database.
i18nFAQTimeZone - ESW Wiki
W3C Internationalization Core WG: Working with Times and Time Zones.
Timezone curiosities
Falsehoods programmers believe about time: @noahsussman: Infinite Undo
More falsehoods programmers believe about time;...: @noahsussman: Infinite Undo
The Best Of Dates, The Worst Of Dates (
The Hebrew Numbering System
Hebrew Numbers and Counting (i18nguy)
Arabeyes Project
Thai Information Technology Standards
Numeral system - Wikipedia, the free encyclopedia
This article is about different methods of expressing numbers with symbols.
CSS3 module: Lists
This CSS level 3 module describes how lists are styled. Covers different native numeral systems.
Unicode in the Unix Environment (
Universal Locales for Linux
EUROPA The official website of the European Union
Trail: Internationalization (The Java™ Tutorials)
Locale Enhancement Project Home (OpenJDK Locale Enhancement Project)
A complete guide to i18n in Python -
About Internationalization and Localization
Apple MacOSX Internationalization and Localization Guide.
Language and Locale IDs
Apple MacOSX Internationalization and Localization Guide.
How does Japanese Keyboard Input work?


Software internationalization documentation - Globalization | Microsoft Learn
[MS-LCID]: Windows Language Code Identifier (LCID) Reference
It seems this could be the canonical place for information after having it watched for a few years. PDF and DOCX.
When you thought something could be a complete reference.. there'll be something else you didn't find yet.
[MS-OE376]: Part 4 Section, LCID (Locale ID) | Microsoft Learn
Or wait, is this the place of truth?
Language Identifier Constants and Strings (Windows)
Well, this one might could had evolved into a real reference page.
Thank you, Microsoft, for moving around pages again and again and changing content to make sure one doesn't find the information at bookmarked places.
National Language Support Constants (Windows)
Hey, did I already mention that pages move around and bookmarks rotten?
Locales and Languages (Windows)
Yet another updated bookmark.
[MS-LCID]: Locale Names without LCIDs | Microsoft Docs
LOCALE_CUSTOM_USER_DEFAULT 0x0C00, Transient LCIDs and LOCALE_CUSTOM_UNSPECIFIED 0x1000. LCID 0x1000 "assigned" locales are not, i.e. no LCID at all but "do it yourself, we don't care".
See also Cuba's [es-CU based] LCID of 0x1000 basically means "do it yourself, with elevated permissions"
GetLocaleInfoEx function (winnls.h) - Win32 apps | Microsoft Docs
Locale Information Constants - Win32 apps | Microsoft Docs
LOCALE_... constants that NLS uses to specify particular pieces of locale information.
[MS-DOCX]: numFmt Extensions | Microsoft Docs


Category:Calc - The Document Foundation Wiki
LibreOffice Calc, the spreadsheet application
Apache OpenOffice Calc
Spreadsheet Project - Filter Test Documents Calc spreadsheet Excel import test documents.
GNOME Office - Gnumeric
operators and functions test cases, Excel documents, in Gnumeric
gnumeric samples
test case files
Software Garden Products: wikiCalc Program
Dan Bricklin's Wiki-Spreadsheet
Excel specifications and limits - Excel -
Workbook, worksheet, calculation, charting, PivotTable, PivotChart and shared workbook specifications and limits.
The Spreadsheet Page - By John Walkenbach
The Spreadsheet Page - Excel Oddities
Index of Help for Excel functions, graphs and testing
Excel Functions and Formulas (
Gnumeric Sheet Functions
Guidelines and examples of array formulas - Office Support
Function names, separators, CELL and INFO arguments in various languages.
500 Excel Formula Examples | Exceljet
Excel formula: Get value of last non-empty cell | Exceljet
Excel formula: Average the last 3 numeric values | Exceljet
Explain =LOOKUP(2,1/(A2:A10=D2),B2:B10) [SOLVED]
Or: Excel seems to ignore (at least #DIV/0!) error values in LOOKUP arrays; another non-specified undocumented behaviour.
See also excel - Logic behind last evaluation step of a LOOKUP formula to find last non empty value in a row. - Stack Overflow
Guidelines and examples of array formulas - Microsoft Support
Number format codes - Microsoft Support
Number Formatting in Excel - All You Need to Know
Number Format Codes
LibreOffice Help page.
Excel How To - Free Excel Tutorials Online (
Microsoft Excel - Tutorials -
Sharing Tips and Tutorials for Excel
Burns Statistics -- Spreadsheet Addiction
Pearson Software Consulting Services (Chip's Excel Web Source)
Design and Use of the Microsoft Excel Solver (PDF)
GitHub - WizardMac/TimeFormatStrings: Convert Excel, POSIX, Stata, and Unicode time format strings
Review guidelines for customizing a number format - Excel
See also ECMA-376-1:2016 OOXML specification, 18.8.30 numFmt (Number Format), 18.8.31 numFmts (Number Formats)
[MS-OE376]: Part 4 Section 3.8.30, numFmt (Number Format) | Microsoft Docs
(International incomplete) ABNF of number format codes.
Excel functions (alphabetical) - Office Support
Microsoft Excel 2013 function translations
xlam - Excel and more!
A page in German language about Excel with lot of information, but not very easy to the eye ...
Get a list of distinct / unique values in Excel & extract unique rows
Using formula expressions and not Standard Filter with unique output.
Searchable Drop Down List in Excel (Very Easy with Dynamic Arrays) - Xelplus - Leila Gharani
Google spreadsheets function list - Docs editors Help
GOOGLEFINANCE - Docs editors Help
The GOOGLEFINANCE spreadsheet function (and some related in the sidebar list)
How to Import Share Price Data into Excel - Market Index
Rather a documentation of the parameters
Creating Excel files with Python and XlsxWriter — XlsxWriter Documentation
Also Working with Python Pandas and XlsxWriter — XlsxWriter Documentation the data analysis library that can output in Excel format.
EtherCalc - Share the URL to your friends and edit together!
comp.apps.spreadsheets FAQ
Spreadsheet - Wikipedia, the free encyclopedia
Spreadsheet Project
Spreadsheet Engineering Research Project (SERP)
BMA New Issue Required Fields (PDF) (
Appendix B: Day-Count Bases
7 different ways to calculate the 30-days count in financial markets ...
Convert Excel column width between characters unit and pixels (points) - Stack Overflow
Excel Hell: It's not just blame for pandemic pandemonium being spread between the sheets • The Register
Tabula: Extract Tables from PDFs
GitHub - flywire/pdf_statement_reader: Python library and command line tool for parsing pdf bank statements
GitHub - handsontable/hyperformula: An advanced headless evaluator and parser of Excel formulas. Built with TypeScript.


Is It Practical To Use Excel For Stats? (
Reliability of Statistical Procedures in Excel (
SSfM: Testing the Intrinsic Functions of Excel (
Errors, Faults and Fixes for Excel Statistical Functions and Routines (
Fixing Statistical Errors in Spreadsheet Software: The Cases of Gnumeric and Excel (2003,, PDF)
One-way Analysis of Variance (ANOVA) | Real Statistics Using Excel
Factorial ANOVA | Real Statistics Using Excel
xkcd: Geothmetic Meandian
This is what spreadsheet users really want.

File Formats

Standards | OASIS
Open Document Format for Office Applications (OpenDocument) Version 1.2
OpenDocument v1.2 part 2: Recalculated Formula (OpenFormula) Format (.ODT)
OpenDocument v1.2 part 2: Recalculated Formula (OpenFormula) Format (.HTML)
OASIS Open Document Format for Office Applications (OpenDocument) TC
Developing an XML-based file format specification for office applications.
OpenDocument - Formula SC | OASIS
Historical: This was the [OASIS OpenDocument] subcommittee working on a specification for recalculated formulas (e.g., spreadsheet formulas) in office documents.
OASIS Open: OpenDocument - Formula Public Documents
Historical: This was the then ongoing OpenDocument Format Formula specification (ODFF aka OpenFormula).
OpenDocument 1.1 - Complete documentation and samples
At Schema Central, generated from the ODF schema. XML File Format XML File Format Definition, FAQ, and other information. OASIS OpenDocument File Format Standardization.
Projects · orcus / orcus · GitLab
Library for processing spreadsheet documents. Orcus is a library that provides a collection of standalone file processing filters.
Compound Document file format documentation (ODF .odt, ~52k)'s Documentation of the Microsoft Compound Document File Format.
Compound Document file format documentation (PDF, ~204k)
Excel file format documentation (in progress) (ODF .odt, ~280k)'s Documentation of the Microsoft Excel File Format. Simply the best documentation available for that file format.
Excel file format documentation (in progress) (PDF, ~990k)
libreoffice/contrib/mso-dumper - Python scripts for dumping the contents of Microsoft Office binary file formats into human readable content
TC45 - Office Open XML Formats
Ecma International's TC45 on Microsoft's XML file format.
ECMA-376 - Ecma International
Office Open XML File Formats, MS' OOXML
ISO/IEC 29500 versions available at Publicly Available Standards
[MS-OE376]: Office Implementation Information for ECMA-376 Standards Support | Microsoft Docs
officeotron - Validation for Office documents (ODF and OOXML) - Google Project Hosting
OOXML - Complete documentation and samples
At Schema Central, generated from the OOXML schema.
[MS-DEVCENTLP]: Open Specifications Dev Center | Microsoft Docs
[MS-XLSX]: Excel (.xlsx) Extensions to the Office Open XML SpreadsheetML File Format
[MS-XLSX]: Formulas
ABNF grammar used by formulas.
Using structured references with Excel tables - Office Support
DocumentFormat.OpenXml.Spreadsheet namespace ()
... of the Open XML SDK Class library reference. Might have some information in addition to to OOXML/ECMA.
[MS-OI29500]: Office Implementation Information for ISO/IEC 29500 Standards Support
Specifies information about how Microsoft Office implements ISO/IEC-29500 Office Open XML File Formats [ISO/IEC-29500:2008], including areas where additional detail may be of benefit to other implementers and areas where the product is known to vary from or extend the specification.
[MS-OODF3]: Office Implementation Information for ODF 1.2 Standards Support
Specifies information about how Office implements the OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 [ODF1.2].
Word, Excel, and PowerPoint Standards Support
documentation contains detailed technical documents for the Open Document Format (ODF) and Open XML (ECMA-376 and ISO/IEC-29500) file formats implemented in Word, Excel, and PowerPoint.
Complex singularity versus openness | Joinup (
Open source impeded by incompatibilities and inconsistencies in the Office Open XML document format.
Microsoft Office File Formats
Binary file formats.
[MS-CFB]: Compound File Binary File Format | Microsoft Docs
[MS-XLS]: Excel Binary File Format (.xls) Structure Specification
[MS-XLS]: Records
[MS-XLS]: By Number Record Enumeration
Office Drawing 97-2007 Binary Format Specification
Also known as Escher, .PDF from MS
Microsoft Office 97 Drawing File Format
Also known as Escher, Chicago project.
Microsoft Open Specifications Support Team Blog - Site Home - MSDN Blogs
A bucket of details on [MS-...] specs.
Why are the Microsoft Office file formats so complicated? (And some workarounds) – Joel on Software
Differences between the OpenDocument Spreadsheet (.ods) format and the Excel for Windows (.xlsx) format - Microsoft Support
What MS-Excel supports or does not support in .ods (ODF OpenDocument Spreadsheet) file format.
[MS-OODF]: Office Implementation Information for ODF 1.1 Standards Support | Microsoft Docs


RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files
CSV Spec 0.9.0-draft.2 | CSV Spec
CSV is not a file format, it is a loose set of guidelines of how to structure tabular data into a plain text string.
CSV Comma Separated Value File Format (How To) - Creativyst, Inc. Design, Software, Services (
RFC 7111 - URI Fragment Identifiers for the text/csv Media Type
CSV on the Web: A Primer
CSV on the Web Current Status - W3C
CSV on the Web Working Group Wiki
W3C working group. The mission of the CSV on the Web Working Group, part of the Data Activity, is to provide technologies whereby data dependent applications on the Web can provide higher interoperability when working with datasets using the CSV (Comma-Separated Values) or similar formats. Mail Archives
of the W3C CSV on the Web Working Group
CSV on the Web Community Group
CSV on the Web: Use Cases and Requirements
This document lists the use cases compiled by the Working Group that are considered representative of how tabular data is commonly used within data dependent applications. The use cases observe existing common practice undertaken when working with tabular data, often illustrating shortcomings or limitations of existing formats or technologies. This document also provides a set of requirements derived from these use cases that have been used to guide the specification design.
Model for Tabular Data and Metadata on the Web
Tabular data is routinely transferred on the web as "CSV", but the definition of "CSV" in practice is very loose. This document outlines a basic data model or infoset for tabular data and metadata about that tabular data. It also contains some non-normative information about a best practice syntax for tabular data, for mapping into that data model, to contribute to the standardisation of CSV syntax by IETF. Various methods of locating metadata are also provided.
CSV Lint | Check your CSV files with CSVLint
PEP 305 -- CSV File API (Python)
GitHub - vincentlaucsb/csv-parser: A modern C++ library for reading, writing, and analyzing CSV (and similar) files.
GitHub - wireservice/csvkit: A suite of utilities for converting to and working with CSV, the king of tabular file formats.
language agnostic - Scrape HTML tables from a given URL into CSV - Stack Overflow
Short description of the script
CSV to Markdown Table Generator — Donat Studios
Source at GitHub.
Loading CSV File at the Speed Limit of the NVMe Storage
CSV Injection Software Attack | OWASP Foundation
The Absurdly Underestimated Dangers of CSV Injection
GitHub - pmitros/tsvx: Prototype: Extended TSV format
Include a header in TSV (Tab Separated Values) files, column names, types, ...
Data science without the drudgery. CSV and Excel and other file formats of tabular data.
GitHub - andmarti1424/sc-im: sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
sc: the Venerable Spreadsheet Calculator | Linux Journal
GitHub - mridah/csv2vcf: A small command line tool to convert a CSV file to VCard (.vcf)

Risks & Vulnerabilities

The Absurdly Underestimated Dangers of CSV Injection
Comma Separated Vulnerabilities | Context Information Security
Data Exfiltration via Formula Injection #Part1
Formula Injection - Pentestmag
A Tale of Exploitation in Spreadsheet File Conversions | Brett Buerhaus
European Spreadsheet Risks Interest Group - spreadsheet risk management and solutions conference
European Spreadsheet Risks Interest Group - spreadsheet risk management and solutions conference (
Horror Stories
Differences between the 1900 and the 1904 date system - Office | Microsoft Docs
Microsoft Excel - Wikipedia #Quirks

OAuth & OAuth2

OAuth Community Site
An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.
Code -- OAuth
Libraries and other supporting examples.
Everything You Need to Know About OAuth (2.0)
OAuth 2.0 Simplified
Understanding OAuth2 and OpenID Connect (OIDC)
authentication - What's the difference between OpenID and OAuth? - Stack Overflow
OAuth Authorization vs Authentication - Stack Overflow
G Suite Updates Blog: Turning off less secure app access to G Suite accounts
G Suite Updates Blog: Less secure app turn-off suspended until further notice
Using OAuth 2.0 to Access Google APIs | Google Identity | Google Developers
GitHub - google/gmail-oauth2-tools: Tools and sample code for authenticating to Gmail with OAuth2
Specifically gmail-oauth2-tools/ at master · google/gmail-oauth2-tools · GitHub Python2
Works with Mutt OAuthBearer. But OAuth out-of-band (oob) flow will be deprecated on 2022-10-03.
OAuth2DotPyRunThrough · google/gmail-oauth2-tools Wiki · GitHub How to set OAuth2 up with Google.
Out-Of-Band (OOB) flow Migration Guide  |  Google Identity  |  Google Developers
How to authorize a curl script to google oauth after oauth out-of-band (oob) flow is deprecated? ( Curl, Oauth ) |
How to set up OAuth2 in the Mutt email client | Enable Sysadmin
Google OAuth out-of-band (oob) flow will be deprecated (#388) · Issues · GNOME / evolution-data-server · GitLab
GitHub - ksuzukiTVDn1/gmail-oauth2-tools: Tools and sample code for authenticating to Gmail with OAuth2
Updated gmail-oauth2-tools/ at master · ksuzukiTVDn1/gmail-oauth2-tools · GitHub to Python3 and googleapiv2
Authenticate an IMAP, POP or SMTP connection using OAuth | Microsoft Docs
Of course that is SASL XOAUTH2 and not OAuthBearer ...
Was ist OAuth/ OAuth2.0? - IONOS

Jugend hackt

Jugend hackt – Mit Code die Welt verbessern
CCC | Chaos macht Schule
Teckids e.V. - Willkommen beim Teckids e.V.
Raspberry Pi Tutorials (
Schrödinger programmiert Python | Rheinwerk Verlag

Kids & Robots

Programmieren leicht gemacht - adäquate Modelle für den Einsatz im Unterricht - Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
Learn computer science. Change the world. |
Computer Science Unplugged
CS Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.
Robot Karol - mebis
Robot Karol ist eine Programmierumgebung mit einer Programmiersprache, die für Schülerinnen und Schüler zum Erlernen des Programmierens und zur Einführung in die Algorithmik gedacht ist.
Learn and teach programming. PayWare with Demo. Also available in German and French.
LEGO MINDSTORMS NXT -- Lego Mindstorms NXT - in der Schule
Deutsche NXT-FAQ
NXT Programs - Fun Projects for your LEGO Mindstorms NXT
Lego Mindstorms Forum NXT bis RCX , Spybotics :: The Central Site for the LDraw Family of LEGO® CAD Software
DIDEL - Microrobots and educational kits for technical schools and hobby roboticians
Activities/ProgrammingForChildren - FSFE Wiki


How to become a developer: A cheat sheet - TechRepublic
1x Engineer
If there's such a thing as a 10x engineer, surely there must be a 1x engineer, too?
How to Deal with Difficult People on Software Projects
IANA -- Protocol Registries
IANA is responsible for maintaining many of the codes and numbers contained in a variety of Internet protocols. - Home is open source / open discussion software projects working on interoperability and shared technology for X Window System desktops. Technical Reference Site
GULP - Das Portal für IT Projekte
The Programming Language Lua
Debugging Firefox with GDB — Firefox Source Docs documentation
The Code Project - Homepage - Free Source code and Tutorials
Parallax Scrolling, Java Cryptography, YAML, Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Current Affairs 2018, Apache Commons Collections
Tutorials, tutorial, tutorials.
Lern Programmieren mit Java!
Welcome to The PC Guide!
ISBN Converter
European Article Number - Wikipedia
Prüfzifferberechnung für Kontonummern | Deutsche Bundesbank
Bankleitzahlen | Deutsche Bundesbank
The tcshrc Project Page
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
bietet im Bereich <openbook> ausgewählte Bücher als HTML-Version.
O'Reilly's CD bookshelf
Reference Library O'Reilly
c++ģʽ C++Éè¼Æģʽ C++²âÊÔ C++¿ª·¢-UML Èí¼þ¹¤³Ì×éÖ¯
The International System of Units (SI) - BIPM
Bureau International des Poids et Mesures
SI -- from Eric Weisstein's World of Physics
"SI" stands for "System International" and is the set of physical units agreed upon by international convention.
Recommendations concerning Units (SI Units) | IAU
SI units and astronomical units
Astrodynamic Parameters (NASA)
METAS - metasweb Masseinheiten / units of measurement
METAS - metasweb unit conversion
File:English Length Units Graph.svg - Wikimedia Commons
The next time someone asks about measurements point to this self-explanatory graphic.
Metric Conversion Tables to or from Imperial Measurements The SI System for Metric Conversion
Over 1000 factors on 12 pages for Metric Conversion. Plus 30 detail pages for Btu, water, paper, density, etc.
The NIST Reference on Constants, Units, and Uncertainty
NIST Guide to SI Units - Appendix B9. Conversion Factors
Factors for units listed by kind of quantity or field of science.
Conversion of Units
Units Markup Language home page
EasyRGB - Color math and programming code examples
Color Namer
Gwydion Dylan: Overview
Dylan is an advanced, object-oriented, dynamic language which supports the rapid development of programs. When needed, the programmer can later optimize [his or her] programs for more efficient execution by supplying type information to the compiler. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, and many other advanced features...
SPEC - Standard Performance Evaluation Corporation
A non-profit corporation formed to establish, maintain and endorse a standardized set of relevant benchmarks that can be applied to the newest generation of high-performance computers.
Predefined Macros | Microsoft Docs
Predefined preprocessor macros in the Microsoft Visual C++ (MSVC) compiler. (_WIN32, _WIN64, ...)
Dynamic Data Exchange (DDE)
Dynamic Data Exchange (DDE) and NetDDE FAQ
AppData Specification
Every software center that exists allows the user to look at screenshots and a long description of the application before it is installed. For most users it allows them to answer the question Do I want to install this...
OpenShift by Red Hat
Develop, Host, and Scale Your Apps in the Cloud. The Open Hybrid Cloud Application Platform by Red Hat.
DGL • Hauptseite
DelphiGL, deutschsprachige Community für OpenGL und 3D-Programmierung.
Code Kata
Semantic Versioning 2.0.0 - Semantic Versioning
NVD - CPE Dictionary
Official Common Platform Enumeration (CPE) Dictionary.
CPE is a structured naming scheme for information technology systems, software, and packages.
Epoch (reference date) - Wikipedia
Notable epoch dates in computing
Epoch Converter - Unix Timestamp Converter
Date format converter
Convert between Text Date, RFC 822, ISO 8601, UNIX Timestamp, Mac Timestamp, Microsoft Timestamp and FILETIME (1601-01-01). A guide to preventing SQL injection
Vanilla JS
Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications.
The Cryptopals Crypto Challenges
CSC 195.01 2013S : Class 05: Inter-Application Communication with D-Bus (1): The Basics
CSC 195.01 2013S : Class 06: Inter-Application Communication with D-Bus (2): Writing Servers
CSC 195.01 2013S : Class 08: Inter-Application Communication with D-Bus (3): Writing Clients
15 Types of Regression you should know
AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page.
Asciidoctor | A fast, open source text processor and publishing toolchain for converting AsciiDoc content to HTML5, DocBook, PDF, and other formats.
Resources | Google Summer of Code | Google Developers
Google Summer of Code Guides
For GSoC mentors and students.
First Steps in GSoC | Sayak Paul
Naman Gera's answer to How can I apply and prepare for Google Summer of Code? - Quora
Advent of Code
Solve coding puzzles.
We Work Remotely: Remote jobs in design, programming, marketing and more
Free & Open Source Jobs -
Find engineering teams that share your values | Key Values
GitHub - remoteintech/remote-jobs: A list of semi to fully remote-friendly companies in tech.
Programming Interview Questions + Help Getting Job Offers | Interview Cake
Technical Phone Interview - Coding Hire
online text editor - collabedit
A simple HTTP Request & Response Service.
Manual testing of security UI in web clients.
Natural language detection library for Rust.
Node.js npm registry; , , ...
A Lightning Talk.
All Remote | GitLab
GitLab is an all-remote company with team members located in more than 50 countries around the world. On this page and subpages, we'll share what "all remote" really means, how it works at GitLab, some tips and tricks for remote teams, and resources to learn more.
Ask HN: Good Remote Work Literature? | Hacker News
Text Rendering Hates You
Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
URL Standard
Addressing some shortcomings of RFC 3986.
Learn X in Y Minutes: Scenic Programming Language Tours
Guide to GDPR for App Developers
Introduction | WebRTC for the Curious
This book was created by WebRTC implementers to share their hard-earned knowledge with the world. WebRTC for the Curious is an Open Source book written for those that are always looking for more. This book doesn’t settle for abstraction.
Commit Message Generator (
WTF eG — VEBIT e. V. (
Werkkooperative der Technikfreundinnen e. G. i. G.
Cosmopolitan C Library
cosmopolitan libc build-once run-anywhere c without devops
DMOJ: Modern Online Judge
The DMOJ is a modern contest platform and archive of programming problems.
draft-knodel-terminology-02 - Terminology, Power, and Inclusive Language in Internet-Drafts and RFCs
Office Visual Basic for Applications (VBA) reference | Microsoft Docs
Workbook object (Excel) | Microsoft Docs
Worksheets object (Excel) | Microsoft Docs
Worksheet object (Excel) | Microsoft Docs
Range object (Excel) | Microsoft Docs
RHSB-2021-007 Trojan source attacks (CVE-2021-42574,CVE-2021-42694) - Red Hat Customer Portal
The Unicode BiDi thing in visual code review. With diagnostic script.
Trojan Source Attacks
Invisible source code vulnerabilities.
GitHub - nickboucher/trojan-source: Trojan Source: Invisible Vulnerabilities
Trojan Source: Invisible Vulnerabilities | Light Blue Touchpaper (
‘Trojan Source’ Bug Threatens the Security of All Code – Krebs on Security
GitHub Readme Streak Stats Demo
Streak stats you can add to your GitHub account (or anywhere else).
GitHub - anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes
More useless stats you can add to your GitHub account (or anywhere else).
Appwrite - Open-Source End-to-End Backend Server
Appwrite is a secure end-to-end backend server for Web, Mobile, and Flutter developers that is packaged as a set of Docker containers for easy deployment.
Packit | Packit
An open source project aiming to ease the integration of your project with Fedora Linux, CentOS Stream and other distributions. For upstream projects that want to build RPM packages out of pull requests, commits or releases, test their code changes and bring upstream releases to Fedora Linux.
Packit - how to create pull-request for Fedora from upstream | Miroslav Suchý
Container Toolbox is a tool for Linux, which allows the use of interactive command line environments for development and troubleshooting the host operating system, without having to install software on the host. It is built on top of Podman and other standard container technologies from OCI.
Quay Container Registry
Quay [builds, analyzes, distributes] your container images.
Shortcut Finder for developers ‒ defkey
All hotkeys - Welcome to All Hotkeys!
Standard Keyboard Shortcuts - GNOME Human Interface Guidelines documentation
GitHub - CrowdDotDev/ The community-led growth platform, built with developers in mind.
GitHub - ryanoasis/nerd-fonts: Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
About Thunderbird - Thunderbird Developer
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
RFC 8089: The "file" URI Scheme
E.4. Backslash as Separator <-- take that, Microsoft.
Skill Icons
The MapLibre Organization is an umbrella for open-source mapping libraries.
Reading QR codes without a computer!

File Formats

IANA | MIME Media Types
File Extension Seeker - Metasearch engine for file extensions
Metasearch engine for file extensions.
Document Liberation Project
The Document Liberation Project is a home for the growing community of developers united to free users from vendor lock-in of content. The project's libraries provide read support for file formats including MS Visio, CorelDraw, MS Publisher, Apple Keynote, and a handful of different old Macintosh formats.
mso-dumper - Gitiles
Dump records of binary MS Office files.
GitHub - renyxa/re-lab: RE-lab is a joint effort of team and developers of various open source projects to do clean-room reverse engineering of various proprietary file formats useful for the mankind.
Specifically re-lab/oletoy OLE Toy is a set of Python scripts to parse and view contents of various binary file formats.
re-lab project / limerest · GitLab
Continuation of OLE Toy, focusing on WMF/EMF file formats.
File Signatures - Best File Extension / Type / Format Resources List - File extension library
FileInfo - The File Extensions Database
Dot What? - File Extension resource
File Format Documentation Collection (
A few file formats. Best for Lotus 1-2-3.
[MS-OFFFFLP]: Technical Documents | Microsoft Docs
[MS-OFFSTANDLP]: Word, Excel, and PowerPoint Standards Support | Microsoft Docs
The MetaFileExplorer - EMF, Windows only
FIG Formats (
The digital negative DNG archival format for camera raw files (Adobe)
AutoCAD 2000 DXF Reference (
PDFlib: Documentation
veraPDF | Industry Supported PDF/A Validation
Xbase Data file (*.dbf)
dBASE III to 5
dBASE .DBF File Structure
dBASE File Format (with coding details): DBF and DBT/FPT file structure | Independent Software
Classic Planet PDF - fsType Definitions (
Indicates font embedding licensing rights for the font.
Digital Corpora
A website of digital corpora for use in computer forensics education research. Of specific interest to developers of applications and file format filters may be the files of various formats at Govdocs1 — (nearly) 1 million freely-redistributable files
Data Converter Tools - Tool Slick
GitHub - x1sc0/office-interoperability-tools: Tools for evaluation of interoperability of office packages
File: Test.svg - Wikimedia Commons
If you need SVG test files, there's a bunch of them in the file history.
MetadataWorkingGroup Guidelines for handling image metadata
Attached to that forum post as mwg_guidance2.0.pdf
EXIF Tags (
Exiv2 - Image metadata library and tools
EXIF tags.
GitHub - benburkhart1/github-draw: Github draw allows you to draw in the github activity visualization widget by forging git commit timestamps
Scaled Agile DevOps Maturity Framework
Modern SQL: A lot has changed since SQL-92
GitHub - major/MySQLTuner-perl: MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.
How to Optimize MySQL Performance Using MySQLTuner | Linode Docs
The Standard | XBRL
XBRL is the open international standard for digital business reporting. "Business Reporting Language". | Inline XBRL
Openfiling - iXBRL
RECEiX, Really Easy Converter from Excel to iXBRL; also open source Libre RECEiX running with LibreOffice.
FOSDEM videos
An alternative view for FOSDEM schedules since 2012. With direct links to slides and video files (where available).
Get up and running with large language models, locally. Run Llama 2, Code Llama, and other models.
Complex Number Calculator | Rectangular ⇄ Polar

Fire And Motion - Joel on Software
Geek Cruises
Error Messages From The Bard
The International Obfuscated C Code Contest
Worlds Shortest C Implementation of Rot13
DevOps Reactions
The coding love
NandGame - Build a computer from scratch.
xkcd: Standards
Drone-Ver v.1.sleepy.0.0.calamitous.1437363538.7
The ultimate software versioning scheme.
Programming Sucks
All software sucks
Programming Quotes


VisiCalc: Information from its creators, Dan Bricklin and Bob Frankston
Including the original software executable running on DOS, only 27520 bytes
A Spreadsheet Way of Knowledge - Backchannel - Medium
About VisiCalc and Lotus 1-2-3, a 1984 article republished 2014-10-24
/public/ftp/pub/Linux/apps/financial/spreadsheet (
Historical spreadsheet programs, among them: SC - The Spreadsheet Calculator. SC is a curses-based spreadsheet, written in the ancient times by James Gosling.
Lotus 1-2-3 For Linux
Other History Sites
List of Dan Bricklin
The Slackware Linux Project: Slackware Release Announcement
Software Folklore ― Andreas Zwinkau
Bugs with symptoms beyond belief.
One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages
Esoteric resources at
Resources related to esoteric programming languages.
Two-Bit History
Computing through the ages.
Over 80K software development "tech talks" ranked algorithmically to surface the industry's best presentations from the past, present and future.
Hack_Curio: Decoding the Cultures of Hacking
Hack_Curio is a video portal into hackerdom that helps explains why hacking is one of the most important phenomena of global culture and politics in the late 20th and early 21st century.
647959 - Add Honest Achmed's root certificate

W3C valid HTML 4.01! Home ../../bookmarks