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.
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".
- 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.
- Open Whisper Systems - Super secure chat app for Apple products.
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.
- 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.