resources
overview & starting points
web development
SQL - backend relational database
javascript : language & frameworks
command line
code editors & IDEs
- (for editing html, css, javascript, or any code, either on your laptop or in a remote terminal)
- nano - a simple but good unix (and windows git bash) command line line choice
- emacs - what Jim uses ; one of the classic terminal editors | aquamacs ac application
- vim - another classic in-the-terminal hacker's editor
- notepad++ (windows) - free code-friendly replacement for Notepad
- sublime text - a popular proprietary GUI editor
- vscode - Microsoft's Visual Code Studio ; has been one of the most popular editors lately
- atom - a web-oriented GUI code editor
- PyCharm - JetBrain's lots-of-bells app for editing & running python on Mac, Windows, Linux. There's a free "community" version and a paid version with more features.
- IDLE - python.org's app for editing and running python ; comes with the standard python installation
- google "top python editor IDE", eh?
transferring files between computers
- Creating websites often means editing files (html, css, ...) on your local computer, then deploying them to a remote server where you have an account. There are several ways to do this.
- The scp command, in a terminal, is one way. See for example this tutorial .
- Another is a GUI application like WinSCP (Windows) or cyberduck (Mac).
- It's also possible to use git or github as a repository for your website's files, and then clone, push, or pull them to and from your local computer and the remote server.
- Or if you're using a web hosting service with a control panel, then it will probably provide browser accessible tools for moving files and controlling the web server's settings.
design
tools
ads & search
networks & protocols
- An Introduction to Computer Networks - free online textbook
- The TCP/IP Guide
- wireshark
- computer networking: internet protocols in action (excellent though somewhat out of date)
- Jim's base convert / IP address display tool
- IANA assigned port numbers
- wikipedia starting points:
- terms to read about : TCP/IP, ARP cache, routing table, port, IP address, MAC address, subnet mask, TTL (time-to-live), ...
- common protocols : HTTP, SMTP, DNS, ARP, POP3, ...
- command line tools : ping, nmap, ncat, telnet, traceroute, lsof -i, nslookup, netstat, whois, ifconfig, ...
mobile
deploy
security
politics & standards