Skip to content

Week topic

"Memorable quote"

A Little introduction on the state of the world, our lab and myself.

Local notes

It is good to program a working interface. But don't make it too big. If there is time left, use it for your final project.

Tip for starting programmers:

  • Try to focus on one application
  • Find code online of someone who already did it
  • and reverse engineer their work
  • try to understand what they did
  • try to modify what you find
  • if you successfully modify what you find, you have enough for the assignment of this week.

Nadie gives a presentation of what she knows:

  • D3.js;(DatDrivenDocuments) a powerfull tool to make visualizations. Creates vectors from data. It is very handy for interactions because it is very precise. A downside is the steep learningcurved; it is hard to do something simple, but easy to do something hard. Nadieh then continues to explain a little about how the code is build up, but this goes to far for this notes...

  • HTML5 Canvas; a tool to make pixels on the screen. It is easier to learn.


Global notes

Making an application.

First question: what language are you going to use? - C - great, works on any processor and controller. - C++ - introduced the idea that you can have an object with data and methods associated with it. - GDB is a debugged and DDD is a visualizer that you can use to check your code.

More modern language anticipate what can go wrong in writing code and compensate for that. Flutter, Dart etc. are like this.

Java was created by SUN. The idea was to compile to byte code: this means you can run on many systems. But this was not really realized. Neil doesn't recommend it.

APL is Neils favourite language. Is is mostly used for mathimatical concept. But can't really be used for anything.

Haskel, Julia and Scala are functional language. You express things in relationships.

Processing is great if you like Arduinos IDE. <- seems a good one to test.

Labview is a visuel code maker. Like scratch or MIT app inventor -> sound also like a great idea!

It is a great way to start with visual coding: but there is a limit to complexity. So this is great to start.

Neil is all over Python: clearly this is very important to learn... right.. And Javascript is important in the area of the web.

device interfaces

RS/EIA/TIA 232/422/485, pySerial, serialport, serial, Web Serial FTDI, libFTDI, python-ftdi, ftdi Firmata USB, PyUSB, usb IrDA, python-irda GPIB, VISA, PyVISA MQTT, XMPP, IFTTT, UPnP, Wemo socket, dgram, net, ws hello.mag.45.html hello.mag.45.js video mods

user interfaces to check out

Graphics

If you want to draw, you need this. (I don't)

Inspirations from around the world

- smart dice.

  • A powerful open source LORA project is: https://github.com/ExpressLRS/ExpressLRS see this page for range testing rc aircraft on express lrs: https://github.com/ExpressLRS/ExpressLRS there are schematics to make your own boards on the github.

D3 Lecture by Nadieh

D3 is a very powerfull thing

Nadieh show an example of how many babaies are born she opens a csv file in the vrowser. She has an empty webpage with some css and loads the library in this header. [img] In the body of the page she calls the script. In the script she has many comments to understand what is happening. Also she defines there a bunch of contants that she has defined or calculated before.

Making graphics

With 3D you make graphics with vectors. you define this is the js file and then you can check this in the html. There is a bunch of interesting stuff to do here; something with layers and illustrator

Now the data