Interface & Application Programming

Week 13 - Interface & Application Programming NOTES

Here you will find my work description during this tirdsteenth week

General info

Class notes

Link to my notes during class

Assignments

  • individual assignment: write an application that interfaces with an input &/or output device that you made
  • group assignment: compare as many tool options as possible

Class notes

Weekly reviews :

Raw class notes

This week is about applications that talk to device

Languages

C C# Java Haskell functional language Processing (p5) Visual (labview, grasshopper, app inventor) bash python, perl, ruby (interpreted) - python recommanded javascript - nodejs, npm

Device interfaces

RS232 FTDI using pySerial for python or SerialImport npm (node) node package for ftdi Firmata standard protocol USB IrDa (infrared) GPIB (old standard for tests), VISA intruments MQTT XMPP IFTTT framework one level up to talk to multiple devices socket ws (package for websockets) using mods (video)

data interfaces

flat files Calc and spreadsheets using libraries it’s ok to write into a file and read the file in memory Database if you have Gigabytes

UI

Tk (scripting), binding to python python-tk needed - widgets/controls wxWidgets another UI framework for Python Qt (Nokia) GTK Kivy (crodd plateform ?)

html forms, jquery dat.gui bootstrap Flat UI

Backbone, Require, Angular, Handlebars, Ember

Metor (FW for JS), Babel

Ract, React Native Cordova, Ionic, Electron, Blynk, Node RED

Graphics

X windows (ancient) for linux Java Canvas (html, JS) Raster SVG - Vector WebGL (openGL for Web) Three.js js lib for 3D graphics in web use GPU -efficent even for lines and images (Neil like it) WebVR standard to talk to VR Device

VTK for data, if you have comlex data OpenVDB

Game engines Unity, Unreal

Miltimedia

SDL X plateform lib for media PyGame openFrameworks, rich media frameworks (XPF = cross plateform)

HTML5 :

  • web audio,
  • webRTC video conference standard - see video.html link

Maths

Octave, Open source version of mathlab NumPy , math lib for pyhton matplotlib - see exemples IPython

Matematic (formulas), Sage and Scilab

for JS Math.js, Science.js, numbers.js

D3 Data Driven Documents (!! this one)

Highchart, chart js, mpld3,

Performance

just pyhton is slow because it’s interpreted but it can be compilated pi.html shows a benchmark

Neil uses workers to do parallel programming within a web page

CUDA,

WebGL -> rendering pipeline

depl

Amazon, EC2, Lambda Google Cloud, Microsoft Azure DIgital Ocean, Linode (linux) Heroku, Docker, container

exemple scree.js

Q & A

Max PureData ncurses




Share this story