General Programming Resources
Github
I use Github for version control.
- Here is a good link for how to submit an existing project to a Github repository.
- Here is a link to a markdown cheatsheet. That is the language used for the README files and most of the Github documentation.
- Github Cheat Sheet
- Github’s Help site
- Projects with great Wikis
- Intro YouTube videos
Question: How do we ensure the project doesn’t get out of control with to many branches?
The solution lies in having the discipline to merge and delete branches as soon as a new feature is implemented completely. My suggestion is if you have taken the project a different route that the master branch is intended to go, then fork the repository and create a new repository for that new direction.
That way your repositories are clean and simple.
Software Architecture
Real-Time Software Architecture: This stackoverflow post is interesting.
I believe Publish/Subscriber would work best for us.
A middleware standard that uses the publish/subscriber method is the Data Distribution Service (DDS). It would likely do what I need.
Other Documentation and Links
- Interprocess Communications
- Learn about sending messages using a Distributed Interactive Simulation (DIS) connection.
Command Line
Command Prompt
Here are the basics of command prompt.
Matlab From the Command Line
Here is an post about calling from the command line a MATLAB function that takes parameters.
Writing Batch Files
Batch file programming can make things much faster when used right. I have all my invoices auto-generated via one batch file. I click it and BAM done.
Python
Other Information
Here are two stack overflow post about using python to parse strings and split strings.
MATLAB
Things To Learn
This list is made of what I need to look into. These skills would be helpful.
- D3 is a data visualization framework.
- Electron is a javascript framework for making desktop applications.
- ActiveMQ is a messaging and integration pattern for apache.
- Interprocess Communication.
- Learn Negociating!
- Learn Machine Learning because it is where everything is going.
- Learn and use Agile and the systems engineering V in my projects.
- Learn python!
- Build a hardware model in Cadence and link it to the software in Matlab.
- Build the smallest full stack desktop app that will help me build tools for any need.