Useful Technical Resources
· 5 min read
I wanted to put together a collection of engineering and technical resources. I'll make this post an ongoing project and update it as I find new things. For now, I'll post an initial list of resources I've used and I'll add more as I remember or discover them.
Mathematics
- MIT 18.013A Textbook - Calculus with Applications textbook.
Software Engineering / Computer Science
- CS50x - An excellent course from Harvard available on edX. The Harvard site is here. Provides a strong and broad introduction to computer science.
- 6.00.1x - An introductory programming/computer science course from MIT available on edX.
- C++ Reference - A great reference resource for C and C++.
Python
- Python 2 - This is the official Python 2 language reference documentation.
- Python PEPs - PEP 0, the list of Python enhancement proposals.
- Python Multilevel Argparse - This is a really cool approach to developing command line tools with Python.
- Python Module of the Week - A nice reference for learning Python modules. Also available for Python 2 here.
- This post on working with binary data with Python - A good overview of Python's capabilities for working with binary.
- Dynamic import of Python modules - An article on how to import modules dynamically in Python.
Technical Computing
- MATLAB Help - The official MATLAB documentation. This about as good documentation as you'll find for a programming language.
- GNU Octave - A free and open source equivalent of MATLAB.
- Julia - A high performance numerical computing language.
Computer Security
- Reflections on Trusting Trust - Ken Thompson's Turing Award lecture on the idea of trust in computing. To me, this paper defines the fundamental concepts of computer security and demonstrates the mindset needed to evaluate the security of a product.
- CVE Details - A reference for computer vulnerabilities.
- MIT Computer Systems Security - A well-engineered course from MIT on computer security.
Online IDE's
- Cloud 9 - This is a really solid online IDE.
- TutorialsPoint CodingGround - Another online IDE that basically gives you a containerized Linux machine. Surprisingly good tool.
- Repl.it - An online interpreter that supports a number of programming languages. Not as full featured as some of the above, but it's simple and easy to use.
Assembly Code
- WeMips - This is an online MIPS assembly editor.
- Alan Hogan MIPS Assembler - This is another online MIPS assembler written in PHP. The source code is available here
- MIPS Converter - This tool converts MIPS assembly instructions to opcodes.
- VisUAL ARM emulator - I haven't used this one yet.
- x86 Opcode and Instruction Reference - This is a good x86 assembly and machine code reference site for 32-bit and 64-bit architectures.
- x86 Assembly Guide - This is an x86 assembly guide from UVA that gives a really good overview of the x86 architecture.
- x86 Instruction Set - A reference for the x86 instruction set.
- MIPS Instruction Reference - This page from the University of Idaho is a good quick reference for the MIPS assembly language.
Linux
- The Linux Documentation Project - A collection of Linux documentation
- DistroWatch - A website providing information on various Linux distributions.
Bash
- TLDP Advanced Bash Scripting Guide - This is my go-to Bash resource. I often find that most Bash-related Google searches point me in this direction.
- Bash Reference Manual - Another Bash reference resource.
Navigation
- USNO Data Services - US Naval Observatory Data Services page. It includes tools for all kinds of celestial navigation data.
- USGS Topographic Map Downloads
- MarineTraffic - A map of live marine traffic from AIS data.
- NOAA Nautical Charts - NOAA Nautical Charts
- NOAA Chart Locator - Interactive NOAA chart locator map. Also available as a list of PDFs.
- U. Texas Map Library - A large collection of maps.
- Lunar Map and another here.
- Geologic Map of Mars and Mars Topographic Map -USGS Topographic Map Explorer
Electrical / Computer Engineering
- JADE Sandbox - The JADE Sandbox is a circuit and logic gate simulator. It's great for playing around with circuit design and digital systems. It is also open source and can be run yourself quite easily. The source code is kept on GitHub
- This Online Circuit Simulator is a web-based circuit simulator. It is based on the earlier Falstad simulator.
- WikiChip - A useful resource for computer engineering information.
Other
- MIT OpenCourseWare - Free course from MIT.
- Open Yale Course - Free courses available from Yale.
- Wolfram Alpha - A computational knowledge engine. Just try it.
- NASA Open Source - A collection of open source software from NASA.
- OpenMCT - An open source mission control platform from NASA. It's written in JavaScript and works well out of the box. It seems to be quite extensible to accommodate custom systems.
- Stellarium is a free and open source planetarium software package. It's provides a neat and easy way to explore astronomy regardless of weather or expensive equipment.