Lightning Talks

It seems I am submitting a lightning talk to CCC. Lightning talks a short 5 minute presentations. The format is really popular for adding a load of content to a conference, giving many more people a chance to talk.

I have watched the congress and camp lightning talk sessions before, but I can't really remember any jumping out at me. Searching today for 'best lightning talks eva' didn't have useful results. Well, wat came up, wat is an excellent talk.

I guess I will watch some lightning talks from previous congresses and see what they were like.


Reading: Cibola Burn, Excession

Reading Interface Speed

Q : How do I get the interface speed?

A : On Linux:

$ ethtool eth0 
    Speed: 1000Mb/s

Not what I want at all,

Q How do I get interface throughput

A iftop does what top does for network interfaces:

$ iftop
interface: em0
IP address is: 192.168.204.4
MAC address is: ffffffec:ffffffb1:ffffffd7:34:ffffffa3:ffffffa1
pcap_open_live(em0): em0: You don't have permission to capture on that device ((cannot open device) /dev/bpf: Permission denied)

Annoying

$ sudo iftop
...cool ncurses display...

A Besides iftop and iptraf, also check: bwm-ng

$ bwm-ng 
...cool ncurses display...

Not scriptable

$ bwm-ng --output csv
1479982871;em0;0.00;0.00;0.00;0;0;0.00;0.00;0.00;0;0;0.00;0.00;0;0
1479982871;lo0;0.00;0.00;0.00;0;0;0.00;0.00;0.00;0;0;0.00;0.00;0;0
1479982871;total;0.00;0.00;0.00;0;0;0.00;0.00;0.00;0;0;0.00;0.00;0;0

Q How do those commands gather their data?

A It is different everywhere

Getting a look a network rates is really easy on FreeBSD, the systat tool in ifstat ships with the base system. But if you want to do this programmatically there isn't a lot of information out there, I had to read source code to figure out how to do it.

The initial iftop error message indicates they are doing a capture of all the traffic on all interfaces and working this stuff out on their own. That requires root and I really don't want the hassle of doing it, surely the OS is capturing these stats from the network stack?

On Linux, these stats are exposed via /proc :

/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/tx_bytes

There may actually be other interfaces for Linux, but I don't think it is worth digging any further.

On FreeBSD you can do what systat does and use a sysctl call to populate a struct. The bwm-ng man page has a heap of methods for finding these numbers on different platforms, for the BSD's and MacOS it suggests the getifaddrs interface.

For portable code not written in C I will probably set up a thread running bwm-ng outputting csv data.


Reading: Cibola Burn, Excession

The Myth of Something Easy

The Myth of Something Easy was a good talk, you should watch it. I would have just embedded it and left it at that today, but I had already picked out a picture.

The panorama came from my Android phone (nexus something), if you zoom in, the cuts between frames are really jarring. It will be interesting to see how I get on with hugin , the images I have to stitch are much large (and maybe higher quality) than anything my crappy phone can do. Some of the shots are out of focus, the stitching will be really interesting to do, whenever I get around to it.


Reading: Cibola Burn, Excession

Kill Games

This Killscreen article, The people trying to save programming , which I found via lobste.rs really caught my attention. The article is about some people that are trying to fix the way games are made, they think that software is development is too impersonal and long for the good old days of the Apple 2. Commercial Game engines are the problem.

The article is worth a read. Digging into the community around handmade hero is interesting too, but I don't really think either of the developers mentioned are starting a movement. To me it feels like the appeal to the desire everyone has to understand everything, actioning that by inventing the universe.

That is fine and all, but far too many new people get stuck in the trap of trying to build a world before they can walk(I did). The best tools for a beginner are the ones that let them succeed as quickly as possible. The hard nitty gritty details can be learnt later on.


Reading: Cibola Burn

Glacial Progress

Again it is cold, the previous few years there really hasn't been any substantial 'winter'. This year is different.

I did some work on the wireless driver yesterday, but it was entirely refactoring. I do think I am in a point to start crashing things. I am very happy with this sort of progress, even if it isn't really interesting. The small steps are required for the big steps to work.


Reading: Cibola Burn