From 2ccfc8ef240644baaa7a028d8823154841911e20 Mon Sep 17 00:00:00 2001 From: Lorin Werthen Date: Wed, 14 Jun 2017 12:27:28 +0200 Subject: [PATCH] figure and sup changes --- .../assets/stylesheets/includes/general.scss | 44 +++++++++++-------- ...oth-dongle-detection-on-the-12-urenloop.md | 22 ++++++---- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/content/assets/stylesheets/includes/general.scss b/content/assets/stylesheets/includes/general.scss index 16cf189..c252da8 100644 --- a/content/assets/stylesheets/includes/general.scss +++ b/content/assets/stylesheets/includes/general.scss @@ -174,27 +174,33 @@ footer.footer { float: left; } -// Bold definition types in
-dt { - font-weight: bold; -} - -figure { - position: relative; - display: inline-flex; - figcaption { - position: absolute; - background-color: rgba(0,0,0,.7); - color: white; - bottom: 0; - width: 100%; - padding: 10px; - - transition: all .1s; +.content { + // Bold definition types in
+ dt { + font-weight: bold; } - &:hover { + + figure { + position: relative; + display: inline-flex; figcaption { - opacity: 0; + position: absolute; + background-color: rgba(0,0,0,.7); + color: white; + bottom: 0; + width: 100%; + padding: 10px; + + transition: all .1s; + } + &:hover { + figcaption { + opacity: 0; + } } } + + sup { + font-size: small; + } } diff --git a/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md b/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md index 7d6f8f3..f9c7286 100644 --- a/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md +++ b/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md @@ -1,13 +1,15 @@ --- title: Counting laps using bluetooth dongle detection on the 12 urenloop created_at: 09-05-2011 +toc: + depth: 1 --- _Crossposted from [jaspervdj.be](https://jaspervdj.be/posts/2011-05-09-12-urenloop.html)_ The [12 urenloop](https://www.12urenloop.be/) is a yearly contest held at [Ghent University](https://www.ugent.be/). The student clubs compete in a 12-hour-long relay race to run as much laps as possible. Each of the 14 teams this year had a baton assigned, so they can only have one runner at any time. -
+
Just after the start
Just after the start
@@ -38,7 +40,7 @@ We decided to attach bluetooth dongles to the relay batons. I'm now pretty confi These bluetooth receivers were borrowed from the [CartoGIS](https://geoweb.ugent.be/cartogis/), a research group which (among other things) studies technology to track people on events (e.g. festivals) using bluetooth receivers. -
+
A Gyrid node
A Gyrid node
@@ -50,7 +52,7 @@ The receivers run a custom build of [Voyage Linux](https://linux.voyage.hk/) cre - receiver: sending all received bluetooth data to a central computing node Here is another picture of what's inside of a node: -
+
A Gyrid node (inside)
A Gyrid node (inside)
@@ -58,7 +60,7 @@ Here is another picture of what's inside of a node: ## Relay batons We built the relay batons using a simple design: a battery pack consisting of 4 standard AA batteries and connecting them to a bluetooth chip, put in a simple insulation pipe. Some extensive tests on battery duration were also done, and it turns out even the cheapest batteries are good enough to keep a bluetooth chip in an idle state for more than 50 hours. We never actually set up a bluetooth connection between the receivers and the relay batons -- we just detect them and use that as an approximate position. -
+
Just after the start
Left: our sweatshop, right: a relay baton
@@ -67,11 +69,13 @@ We built the relay batons using a simple design: a battery pack consisting of 4 The problem here was that we only could put cables _around_ the circuit, we couldn't cut right through to the other side of the circuit. This means the commonly used [Star network](https://en.wikipedia.org/wiki/Star_network) was impossible (well, theoretically it was possible, but we would need _a lot_ of cables). Instead, [Jens](https://twitter.com/jenstimmerman), [Pieter](https://thinkjavache.be/) and [Toon](https://twitter.com/nudded) created an awesome ring-based network, in which each node also acts as a switch (using [bridging-utils](https://www.linuxfoundation.org/collaborate/workgroups/networking/bridge)). Then, the [Spanning Tree Protocol](https://en.wikipedia.org/wiki/Spanning_Tree_Protocol) is used to determine an optimal network layout, closing one link in the circle to create a tree. This means we didn't have to use _too much_ cables, and still had the property that one link could go down (physically) without bringing down any nodes: in this case, another tree would be chosen. And if two contiguous links went down, we would only lose one node (obviously, the one in between those two links)! -
+
Ring-based network with spanning tree indicated
Ring-based network with spanning tree indicated
+# The software + ## count-von-count Now, I will elaborate on the software which interpolates the data received from the Gyrid nodes in order to count laps1. `count-von-count` is a robust system written in the [Haskell](https://haskell.org/) programming language. @@ -102,14 +106,14 @@ We also ([hopefully](https://bash.org/?5273)) know the location of our Gyrid nod This is something we can easily plot. Note that there are only a few possible positions, since we discarded the RSSI values because of reliability issues. -
+
Linear regression used
Linear regression used
I've illustrated the plot further with a linear regression, which is also what `count-von-count` does. Based on this line, it can figure out the average speed and other values which are then used to "judge" laps. When `count-von-count` decides a relay baton has made a lap, it will make a REST request to `dr.beaker`. -# dr.beaker +## dr.beaker `dr.beaker` is the scoreboard application. It's implemented by [Thomas](https://twitter.com/blackskad) as a [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) service that runs on top of [GlassFish](https://glassfish.java.net/). It provides features such as: @@ -123,13 +127,13 @@ I've illustrated the plot further with a linear regression, which is also what ` and more. -## Conclusion +# Conclusion It's a hardware problem. When the contest started, both Gyrid, `count-von-count` and `dr.beaker` turned out to be quite reliable. However, our relay batons were breaking fast. This simply due to the simple, obvious fact that runners don't treat your precious hardware with love -- they need to be able to quickly pass them. Inevitably, batons will be thrown and dropped. -
+
Thomas & me monitoring the batons
Thomas & me monitoring the batons