Skip to content

Instantly share code, notes, and snippets.

View andrewda's full-sized avatar
🛩️

Andrew Dassonville andrewda

🛩️
View GitHub Profile

ASRS Synopsis Unsupervised K-Means Clustering

(ASRS reports from Jan 2020 - Jan 2023)

Figure_1

Cluster 0 (reported by controllers?)

  • Center Controller reported descending an aircraft into another Controller's airspace; thinking the D-Side had pointed the aircraft out.
  • Tower Controller reported an airborne conflict resulting in an aircraft having to execute a go-around. Controller cited staffing and traffic volume as a contributing factors.
  • TRACON Controller reported an unsafe operation between an IFR carrier and a VFR aircraft resulting in an airborne conflict.
@andrewda
andrewda / willow.world
Last active December 4, 2022 19:36
willow.world
include "pioneer.inc"
include "map.inc"
include "sick.inc"
include "box.inc"
# spatial resolution of the underlying occupancy grid. Default is 0.02m.
resolution 0.02
# set the multiple of real time that Stage should try to achieve. Default is 1.
# set to 0 to go as fast as possible.
#!/bin/bash
curl -sk -X POST \
-H "X-Api-User: $ACME_DNS_API_USER" \
-H "X-Api-Key: $ACME_DNS_API_KEY" \
-d "{\"subdomain\": \"$ACME_DNS_SUBDOMAIN\", \"txt\": \"$CERTBOT_VALIDATION\"}" \
"$ACME_DNS_SERVER/update"
# TODO: Maybe verify that the TXT record was set correctly
# EOS SSL Endpoints, in order of # votes on 6/20/2020
https://api.eoslaomao.com
https://api.eoseoul.io
https://api.eosn.io
https://eosapi.okpool.top
https://eos-api.b1.run
https://api.bitmars.one
https://api.redpacketeos.com
https://eos.newdex.one
FROM ros:kinetic-ros-core AS dependencies
RUN apt-get update && apt-get install -y ros-kinetic-roscpp \
ros-kinetic-rosconsole ros-kinetic-sensor-msgs ros-kinetic-cv-bridge \
ros-kinetic-image-transport ros-kinetic-rqt-gui-cpp libyaml-cpp-dev \
qt4-qmake libqt4-dev
FROM dependencies
WORKDIR /root/Rover_2019_2020/software
COPY . /root/Rover_2019_2020/software
RUN mkdir -p /root/catkin_workspace/src/
import os
import cv2 as cv
import numpy as np
def splitfn(fn):
path, fn = os.path.split(fn)
name, ext = os.path.splitext(fn)
return path, name, ext
'Create File System Object for working with directories
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
'Get the script name, and from that the jar name
jarName = fso.GetBaseName(WScript.ScriptName) + ".jar"
'Get the folder of this script
toolsFolder = fso.GetParentFolderName(WScript.ScriptFullName)
'Get the full path to the Jar
@andrewda
andrewda / mjpeg.py
Created October 10, 2018 22:17 — forked from walchko/mjpeg.py
simple mjpeg server using opencv 3.2 and basichttpserver
#!/usr/bin/env python
# License: MIT
# (c) 2017 Kevin J. Walchko
import cv2
from BaseHTTPServer import BaseHTTPRequestHandler
from BaseHTTPServer import HTTPServer
import time
import argparse
import cv2
import numpy
img = cv2.imread("image.png")
mask = cv2.inRange(img,
numpy.array([25, 65, 20]),
numpy.array([80, 120, 70]))
blur = cv2.blur(mask, (10, 10))
_, contours, _ = cv2.findContours(blur.copy(),
import cv2
import numpy
img = cv2.imread("image.png")
mask = cv2.inRange(img,
numpy.array([100, 100, 100]),
numpy.array([200, 200, 200]))
cv2.imshow("original", img)
cv2.imshow("mask", mask)