Skip to content

Instantly share code, notes, and snippets.

View MRobertEvers's full-sized avatar

Matthew Evers MRobertEvers

View GitHub Profile
@MRobertEvers
MRobertEvers / engineering.md
Created January 23, 2019 13:23
Engineering

Tolerances And Uncertainty

Tolerances are usually given as absolutes. I.e. No uncertainty. This is specified in by the American Society of Mechanical Engineers (ASME), although, it could probably be specified case to case. See this thread on the discussion https://www.eng-tips.com/viewthread.cfm?qid=176582. That thread references ASME Y14.5M-1994, section 2.5, Interpretation of Limits.

A newer version of that document is http://www-eng.lbl.gov/~shuman/NEXT/ANGEL2/ASME-Y14-5M-2004-Dimension-Ing-and-Tolerancing.pdf.

@MRobertEvers
MRobertEvers / oglNotes.md
Created December 9, 2018 02:26
OpenGL Notes

OpenGL

OpenGL is a graphics pipeline and specification that defines how to perform graphical operations.

Windowing

OpenGL doesn't handle windowing because windowing is platform specific. A third party library is needed for cross platform windowing.

@MRobertEvers
MRobertEvers / SphinxDocNotes.md
Last active November 21, 2018 14:04
SphinxDocs

Sphinx Notes

Docs in another dir

In order to include modules from another directory, import the directory w.r.t. the 'doc' directory. E.g. if you put the docs folder in the top level directory of the project, the sphinx interpreter runs in the docs directory. Thus, to import the top level directory, import ... If you want to import a folder within the top level directory import ../<folder>.

import os
import sys
sys.path.insert(0, os.path.abspath('..'))
// TopicMatch.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <vector>
#include <string>
#include <iostream>
using namespace std;
@MRobertEvers
MRobertEvers / OSNotes.md
Created October 19, 2018 20:46
Operating System Notes

Synchronization Objects

Mutexes, Semaphores, etc. are provided by the operating system as a means of synchronization. Their behavior is handled by the operating system.

Normally, on windows/freeRTOS, the scheduler will not context switch into a thread that is waiting on a synchronization object.

See here for windows https://docs.microsoft.com/en-us/windows/desktop/procthread/context-switches

@MRobertEvers
MRobertEvers / Python Notes
Created September 10, 2018 19:39
Python Notes
# Decorators Differences
https://stackoverflow.com/questions/35572663/using-python-decorator-with-or-without-parentheses
@MRobertEvers
MRobertEvers / MobileDevNotes.md
Last active June 25, 2018 18:10
Mobile Dev Notes

Android Studio

What is Gradle

Gradle is a generic build system like Make (of course Gradle is more modern). It allows you to run scripts by using gradle.scripts or build.gradle. E.g.

dependencies{
    compile "Package..."
}
@MRobertEvers
MRobertEvers / Bluetooth.md
Last active May 23, 2018 13:38
Bluetooth Notes

Pairing is the process of exchanging security information between two bluetooth devices so they can use an encrypted channel. Bonded means that the devices store a longer term key so that they need not reexchange security information. By that definition, a Bonded device is a paired device.

https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/05/16/understanding_thebl-sICq

http://blog.bluetooth.com/bluetooth-pairing-part-1-pairing-feature-exchange

https://stackoverflow.com/questions/36396456/bluetooth-difference-between-pairing-and-paging-bonding