David McCandless: The beauty of data visualization (TED)

“David McCandless turns complex data sets (like worldwide military spending, media buzz, Facebook status updates) into beautiful, simple diagrams that tease out unseen patterns and connections. Good design, he suggests, is the best way to navigate information glut — and it may just change the way we see the world.” (Source TED)

Data visualization is a huge topic on TED. Here is a collection: TED Visualizations.

Lecturer Exchange With the University of Regina

Webcam at the University @ Regina, Saskachewan

Webcam at the University @ Regina, Saskachewan

Lecturer Exchange

During March 2016 I’ll travel to the University of Regina in Saskachewan, Canada, and present a talk or workshop about storytelling and blogging at the Faculty of Media, Art and Performance.

There are close links between multimedia, art and performance – and I hope that the exchange will give new engergy and inspiration to teachers and students in Regina and at the Multimedia Design and Communication Programme in Aarhus.

At the University I’ll visit lecturers and classes. Of course it’s still work in progress, but so far the plan for the topics is:

  • How fine art exhibitions may benefit from a social media strategy.
  • Storytelling and creative writing for the web.
  • How to make stunning WordPress web sites.
  • Developing wikis as a research tool.

Later on we hope to see lecturers from Regina at Business Academy Aarhus.



Python and Philips Hue

The Tkinter window

The Tkinter window

By Philips Hue you can control lamps in your home. The lamps are commanded to change color, dim or whatever via JSON PUT. And that’s a cool feature, because you can use JSON with tons of languages such as JavaScript, Jquery, PHP, Lua, Ruby … and of course Python. Here is a very simple Python Tkinter GUI.

Online you can find tons of Apps. But it is much more cool to write your own code.

First you have to register a user or get an API key from the box. Register as a developer at meethue. Follow the steps in order to get a whitelisted user, or simply get an API key. Then you are ready to go.

Python Libraries

First you have to prepare Python and import libraries:

from Tkinter import *
import requests
import json
  1. Tkinter is a library for GUI making.
  2. Requests is used for POST, GET and PUT with JSON.
  3. Json is Json.

The GUI class

Here is a autorunning class called Lamper (i.e. lamps in Danish). First a frame is defined. You can compare the frame with a canvas. It’s where stuff happens. Then we add a label and two buttons. Here you only see the first button:

class Lamper:

    def __init__(self,master):

        frame = Frame(master)
        frame.pack()

        ''' label '''
        self.label = Label(frame,text="Hue: all lights on / off panel")
        self.label.pack()
        
        ''' turn off light '''
        self.button = Button(frame,
            text="Off",
            fg="red",
            command=self.off)

        self.button.pack(side=RIGHT)

The Tkinterbutton has a command. It’s the command=self.off. This line will invoke a function if you click the button. The function looks like this:

    def off(self):
            self.taend = json.dumps({"on":False})
            self.r = requests.put("http://192.168.0.xxx/api/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/groups/0/action", data=self.taend)

The second button is constructed in more or less the same way. However the line where you turn off the lamps must be changed: self.taend = json.dumps({“on”:True}).

Save your work

  • Save your file e.g. as myHueOnOff.py
  • Now try out your program, in a terminal window write:
python myHueOnOff.py

If you’re lucky you’ll see a window with two buttons. Try to press the off button. If they dim down to darkness … well then this is a very cool starting point to a new adventure in home automation.

Perspectives

Json is a cool data exchange format. You can get all kinds of data via Json. For instance you can get the temperature from the open weathermap API.

Then you could make a lamp that turns blue in the morning if it’s freezing outside. If you’re on a unix-like system, such as Linux or Mac, the program could fire off via CRONTAB every morning when you rise.

Get the code from Github

Here is the code from Github.

Vi – cheat sheet

the vi editor

Vi with line numbers, dark background and colored syntax in a markup environment.

Vi is a very powerfull editor, that is … for the initiated. Here are some of my favorite vi commands:

Colors, syntax, write, quit

  • :syn on – colored syntax
  • :syn off – no colored syntax
  • :set number – line numbers
  • :set background=dark – better color contrast in a dark terminal window
  • :q! – quit without saving
  • :w – save
  • :wq – save and quit

Copy / Paste

First mark some text. Move the cursor to the beginning of whatever should be copied. Then press v. Now you can mark something. Press Y to yank or d to delete (= cut). Move the cursor to where you want to put the clipping or copy. Then press p.

Save Your Favorite Settings

You may want to save your favorite settings. Vi use the file .vimrc – my .vimrc looks like this:


set number
set background=dark
syn on
set autoindent
set shiftwidth=4