Programming & Scripting ¶
Bash ¶
- Bash Errors Comic - set -euo pipefail
- Shellcheck Github
- Shellcheck Website
- shfmt
- Help for scripts
Crystal ¶
- Crystal Lang
- Documentation
- Performance
- Book
- For Rubyists
- Crystal Shards
- Gems to Shards
- Awesome Crystal
- Amber Framework - Rails-ish
- Kemal Framework - Sinatra-ish
.NET Core ¶
Miscellaneous ¶
- Benchmarks - Language benchmarks
- Dynamic Linking
- Dynamic Linking HN
- Microservices
- Encoding and Character Sets
- How it feels to learn javascript in 2016
Node.js ¶
Python ¶
ReactJS ¶
- Website
- React and Fetch HTTP GET
- React and Fetch HTTP POST
- React and Axios HTTP GET
- React and Axios HTTP POST
Ruby ¶
- Releases
- rbenv
- Standard Ruby - Announcing Standard Ruby 1.0
- Rubular - Ruby regular expression editor
- Sinatra README
- Sinatra Documentation
- Sidekiq - Simple, efficient background processing for Ruby
- Sequel Documentation
- Sequel Validations
- Sequel Associations
- Sequel Schema Modifications
- Sequel Model Hooks
- Sequel Devhints Cheatsheet
- Puma Systemd Service
How to create Ruby subprocess
- Do I want to return to my Ruby script at all?
- No! Use Kernel exec:
exec()
- Yes! Is it OK to block until the process completes?
- Yes! Do I need the program’s output to be returned?
- Yes! Use Kernel backtick:
``
or%x{}
- No! Use Kernel system:
system()
- outputs to stdout.
- Yes! Use Kernel backtick:
- No! Do I need to interact with the output?
- No! Use Kernel fork:
fork()
- seperate child process (daemonize). - Yes! Do I want stderr?
- No! Use IO popen:
IO.popen()
(or use2>&1
if you want both stderr and stdout). - Yes! Do I want stderr in a separate stream?
- No! Use PTY spawn:
PTY.spawn()
(emulates terminal). - Yes! Use Open3 popen3:
Open3.popen3()
- No! Use PTY spawn:
- No! Use IO popen:
- No! Use Kernel fork:
- Yes! Do I need the program’s output to be returned?
- No! Use Kernel exec: