Articles, Blogs, Research Papers, Magazines, Quotes...
Many of you may be more interested in this:
World map for who is hiring.
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 Foundation - Activist non-profit group, dedicated to promoting usage, creation, modifying, and sharing of truly free software. Maintains the GNU General Public License.
- Electronic Fronteer Foundation - Activist non-profit group, raising awareness of free software and abusive proprietary software as well as advocating for legal changes.
- Open Source Initiative - Non-profit group promoting open-source software and ideals. Maintains the Open Source Definition.
- Software Freedom Conservancy - Non-profit for promoting, improving, developing, and defending Free, Libre, and Open Source Software projects.
- Software in the Public Interest - Non-profit for financially supporting Free ond Open Source Software projects
- Premake - Create "make" files and Visual Studio project files using Lua.
- Gantt Project - Create Gantt charts and organize projects.
Python, Lua, Lisp, Rust, Node.js, Go? Here are some you may not know.
- AngelScript - C++11 interpreted language. Requires setting up modules. Optimal for programs desiring user-input code to interact with other modules designed in AngelScript.
- Chai Script - Embeddable language for C++11.
- The Falcon Programming Language
- Jx9 - Embeddable language for C++, based on JSON. Supports multi-threading. No "main entry" (like Python).
- Fig - A loose-syntax language designed for new learners of programming.
- Lily - Type-safe expressive interpreted language.
- Neko - Compiled language designed to be easy to automate output into its source code. Easy hooks into C. Haxe Flixel can output to this, which allows for desktop games.
- Squirrel Lang - Embeddable language. Compiler and explanation of the compiler.
- Vala - GObject-based language used for GNOME. TONS of libraries and hooks, from audio to web, ALSA, Unity, Pango, Webkit, etc. Read the docs. A closely-related language that uses Python-style syntax is Genie, which also lets you use GObject natively.
- 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 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.
Content Management Services
- October CMS - The quasi-CMS development toolkit.
- Apostrophe - The Node.js + MongoDB CMS creation toolkit.
- 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.
Much of this is focused on ray tracing.
- 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.
Tutorials and How-To
- 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.
- Make Human - Produce realistic human meshes via adjusting body parameters.
- Smart Body - Pre-defined realistic human animations for meshes with bone structures.
Rasterizing, OpenGL, shaders,...
- Synthclipse - GLSL shader development environment based on Eclipse IDE.
- Array Fire - GPU code library supporting CUDA and most OpenCL devices.
- Synfig Studio - Animate shapes, colors, sizes, and images. Allows for tying elements to bones and animating.