Install fish shell.
Finally, add powerline.
Your eyes will thank you!
Don’t forget to install the powerline or nerd fonts below, and use one of these as your terminal font.
Monospaced fonts usually make writing code easier on the eye- eg to clearly line up blocks of code and see how nested things are.
- powerline-fonts - hacked to include special symbols, used by utilities like powerline.
- nerd-fonts - powerline fonts++!
FiraCode: has programming ligatures… this means multi-character symbols, eg
- >etc become single character math symbols, arrows, etc, eg
- Victor Mono: elegent, with italic style being a semi-connected cursive. Really highlights comments. Supports code ligatures.
- Anonymous Pro: very tidy, and boxy
- B612: developed for AirBus for use in cockpit instrumentation. Goal was to make it very clear and legible.
- CyberDojo - could set up a server and host sessions
Learning to Program
- https://www.udacity.com/: from intro comp sci all the way up to applied cryptography. Assignments are done in Python, in the browser.
- https://www.coursera.org/: University certificates from various universities and colleges. Provided by some big name organizations.
- https://www.edx.org/: competition to Coursera
- https://www.khanacademy.org/cs: Khan academy touches on most subjects…
- http://www.youtube.com/user/derekbanas: tutorial videos about design patterns
Block Based Systems
- Scratch - very popular, lots of online resources. Very interesting; it allows/uses concurrent/event based programming trivial. Note, Scratch 2 is flash based; Scratch 1.4 is perhaps more commonly used. Read the scratch fan
- turtleblockjs at SugarLabs. Source code is on GitHub.
Programming systems that are self contained. Less parts to install to get going.
- squeak - Smalltalk. Early object oriented language, very dynamic, fast, portable. Local expert: Tim Rowledge
Learn to program by making things happen in the real-world.
Most of these are their own mini-worlds, so linking out to other reference wiki pages here.
Learning works best if you’re having fun!
Such a phenomenon. Deserves it’s own section.
Note: Julian likes to use MultiMC to manage versions of Minecraft + installing Mods.
- Python and Minecraft, for “computer” version - it’s excellent
- Python and Minecraft, for free version of Minecraft that comes on the Raspberry Pi
- Lua- Computercraft mod
- making mini-game plugins (mods)
- Turtle Island - intro to programming, with many activities built into this world
- A Grownup’s Guide to Minecraft and Writing Minecraft Mods
Roblox. Apparently programmable.
*Pico-8 and Voxatron
- fantasy consoles (think NES, Playstation 1/2) with arbitrary limitations (e.g. small memory)
- full systems, include program, music, and visual editors
- Lua based, very quick and easy to try ideas
- games (applications) saved embedded in a PNG image… called ‘cartridges’
- included with GetChip (~$9USD) small computers
- Pico8 Zine
Small, embeddable (can be put inside other programs, eg written in C/C++), easy to learn scripting language.
- for embedded, CircuitPython + Jupyter Notebooks: https://learn.adafruit.com/circuitpython-with-jupyter-notebooks?view=all
Virtual Reality (VR) and Augmented Reality (AR) - “XR”
Systems specifically for creating VR/AR experiences.
- WebXR - landing page for AR & VR development using web technologies- no installation required for end users!
Unity is a very powerful and easy to use (relative to it’s power) game development environment. It works across many devices, and includes support for VR and AR development.