This page is a list of the working practices and tools I have some experience or interest in and am still willing to admit to.
Philosophy & Methods
Computational Science via Agile & Lean, experience of Agile Modelling (AM) & Scrum.
Design, craft and engineering by study, discussion and practice.
White-boards, sticky-notes, sticky-tape, post-cards and magnets.
Operating Systems
OpenVMS on VAX & Alpha
GNU/Linux
- Ubuntu (including in the ‘Windows Subsystem for Linux’ on Windows 10)
- Debian
- Raspberry Pi OS (on a Pi 2)
- Google Android
Database
PostgreSQL http://www.postgresql.org/
Languages
Historical
- Algol 68R
- VAX/VMS BASIC, Pascal & FORTRAN
- DCL Digital Command Language
- Linux Shell : bash (apprentice level)
Current choice of weapons:
Text Formatting
- Markup languages for documents
- MarkDown for notes
Graphical
- UML
- Graphviz dot
Functional Programming
- a Lisp: Clojure (because on the JVM, the Java Virtual Machine
– it might have been a Scheme or Common Lisp.) - I’m interested in trying a ‘pure’ functional language like Haskell later
Imperative Programming
- Python
- Clojure’s dependency on JVM is making me rethink my decision not to use Java
Web
- HTML5, CSS3 & JavaScript
Tools
- For Clojure: emacs editor, Leiningen REPL&CIDER
- git at GitHub & Bitbucket
- Atom (for web tech)
- XML Copy Editor & LyX for documents
- MarkDown for notes
- Google Keep for lists
- Freemind for text trees & XML
- Trello for lists of lists
- Graphviz for (un)directed graphs
- Umbrello for UML. I miss having access to Sparx Enterprise Architect.
Known Unknowns
Things I’ve heard of but don’t feel I understand enough:
Virtualisation & containers:
VMware, Docker.
Virtual Box, VBox?
Ubuntu lxc.
Kubernetes
Laravel Forge to roll out a Linux server
Vagrant (vagrantfile boots up a web & DB VM. Problem: hardly any Vagrant lxc boxes.
IT automation (devops)
unix/linux – make
Ansible (playbooks – installs things necessary to run an app) uses YAML
https://www.ansible.com/
docs.ansible.com/ansible/
https://serversforhackers.com/an-ansible-tutorial
Chef, Puppet, Salt
‘git clone’, ‘vagrant up’ then ‘vagrant provision’. Deployment Heroku.
Composer/Bower/init scripts.
Jenkins – continuous integration
Java – Apache Ant with Ivy, Apache Maven, Gradle (default for Android)
used by:Clojure Leiningen
“task runner + artifact management”
“Maven meets Ant, without the pain”
like:
Python easy_install
Ruby (on or off Rails). Rubygems, bundler, Jeweler
PHP – Pear
perl – CPAN
Leiningen- for Clojure
Python
https://www.djangoproject.com/
https://www.fullstackpython.com/flask.html
https://www.fullstackpython.com/react.html
JavaScript & the web
GulpJS – like Ant or Maven for Java but JS instead of XML
npm – JavaScript package manager for Node.js modules
AngularJS by Google. MVC framework client presentation
Backbone MVC framework
Elm – functional language to web browser GUI
Ember framework for ambitious web applications
Meteor Webapp framework
JavaScript libraries
NodeJS server-side JavaScript run-time. Built on Chrome’s V8 JavaScript engine.
JavaScript tools:
Reveal.js HTML5 slides. slides.com, free for public decks.
NodeBB forum software.
Epoch D3.js data visualisation.