Links

Articles, Blogs, Research Papers, Magazines, Quotes...

Many of you may be more interested in this: World map for who is hiring.

Software

What You Should Know as a Software Developer

Who's Who in Free Software

In this section, there are both links to random free software as well as links to advocacy groups, freelance writers, etc.

Free Software

Uncategorized:
  • Premake - Create "make" files and Visual Studio project files using Lua.
  • Gantt Project - Create Gantt charts and organize projects.

Programming Languages

Python, Lua, Lisp, Rust, Node.js, Go? Here are some you may not know.

Works in progress

  • XieXie (Guide) - A compiled language with syntax very close to Java and traces of Matlab, etc. Has built-in support for audio playback.

There are many hobby languages on Github, which you can find with queries like "programming language virtual machine" or (better) "interpreted language".

Rust

Clojure

Node.js

  • Node Package Manager - Node JS files. Note: I object to associating Node.js with JavaScript since Node.js has a good size library to go with it, and therefore what works for Node.js doesn't always work for JavaScript.
  • NW.js - Formerly "Node-Webkit". Create desktop applications using html, css, and Node.js. In this case, Node.js is activated like Javascript embedded into a page.
    • File dialog box - Creates a file-selector window. Useful for Node-Webkit.
  • Electron - Create desktop applications using Node.js. In this case, the program starts with Node.js, which controls everything and decides how the page is created. (More on the differences between Electron on NW.js can be found here.
  • How to Use JSON files in Node.js - My .02: Use JSON.parse(). Don't use "require". You're begging for code-injection since require() correctly parses functions and JSON.parse() should not.
  • Working with File-Systems

Haxe

  • Haxe main website. - Haxe is a high-level programming language intended to be compiled into other languages so they can work on a native level. It eases the burden of cross-platform and multi-language target coding but at the expense of verbosity. It can be used for desktop applications or web applications, outputting to HTML 5.
  • HaxeFlixel - The flash/HTML5/OpenFL game creation library for Haxe. Be aware that distro repositories often contain outdated versions of Haxe, but HaxeFlixel relies upon some of the latest versions.

Visual Programming Languages

Programming with a GUI.

  • Pure Data - Audio/Video programming
  • Google Blocky - Programming for kids. More info.
  • Vizor - Web-technologies-based data-flow programming language. It features live-preview, data flow visualization, network communication, etc.
  • Snap! - U. of Berkeley's browser-based programming language for kids.
  • Sprog! - Visual programming on top of Perl.
  • Glicode - Glico (Japanese treat manufacturer) educational programming language for Android and iOS. You're not allowed to play with your food, but at least now you can program with it. And if you can't read Japanese, there's an English explanation.
  • Lava programming environment - for the Lava programming language.
  • VRL-Studio - (Source code) (Visual Reflection Library) A rapid-prototyping text+GUI development environment. Requires Netbeans >= 7.01 and Java 1.8. Uses the Groovy interpreted language. Licensed under GPL with some modifications regarding attribution. Please see its license.
  • Zaluum (Source code) Visual programming of Java. Eclipse plugin. Integrated GUI editor.

Web

Containers

Content Management Services

  • October CMS - The quasi-CMS development toolkit.
  • Apostrophe - The Node.js + MongoDB CMS creation toolkit.

Chat Clients

  • Tox Chat - Once famous for being the privacy-advocate replacement to Skype, it's crew is divided. Given it's history, there ar legal issues to resolve, and the departing-but-popular dev team's fork may end up under a new name. uTox is a Tox Client.
  • Open Whisper Systems - Super secure chat app for Apple products.

Browsers

Misc

Tutorial Link Collections

3D Graphics

Much of this is focused on ray tracing.

Ray Tracing

Ray Tracers

  • LuxRender - Powerful realistic raytracer compatible with Blender. 64-bit machines only.
  • Yafaray - C++11 raytracing engine. Primarily a plugin for Blender.
  • Smallpt Raytracer - Kevin Beason's raytracer in 99 highly compacted lines of C++ (Good luck reading it).
  • Picogen - Outdoor-simulation raytracer.

General Info

Tutorials and How-To

Voxels

Rasterizing

3D Engines

  • OGRE - Complex modern game engine using C++11.
  • Irrlicht - Very convenient C++ 3D framework, complete with DirectX, OpenGL, and built-in render wrappings, GUI, scene manager, and animators.
  • LibCinder - 3D/2D C++ engine targetting audio and video applications for Windows and OSX.
  • Panda 3D - Engine by Disney, now maintained by Carengie Mellon. Uses Python for API.
  • Open GLFW - An OpenGL library.

Meshes

Rasterizing, OpenGL, shaders,...

  • Synthclipse - GLSL shader development environment based on Eclipse IDE.
  • Array Fire - GPU code library supporting CUDA and most OpenCL devices.

GUI for Engines

  • RmlUi - A web-tech-style UI framework for C++. Requires rendering buffer via another engine, so great for games, OGRE, etc. Documentation
  • UltimateC++ - A non-traditional, memory-safe GUI engine for C++ applications. Cross platform.
  • IrrExtensions - A curated collection of extensions, primarily GUI, for the Irrlicht engine.

Misc

2D Graphics

Software

  • Synfig Studio - Animate shapes, colors, sizes, and images. Allows for tying elements to bones and animating.
  • Graphviz - For creating graphs and charts using a simple scripting language. Can export to SVG and PostScript.
  • Glyphr Studio - Web app for designing fonts.

Video Game Creation and Business

  • Lost Garden - A treasure trove of insightful articles and good advice on video game creation, marketing, community building, and other things related to the business.
    • Cozy Games - Why making nice games benefits you and your gaming community.
  • Learning Programming and Game Design - A list of links from Villanova Univ for beginners for learning programming and video game creation.

Philosophy

Qualia

Digital-related