Death
My chemex is dead.
The chemex is dead :'( pic.twitter.com/TzsrGfzeC4
— [tj] (@adventureloop) March 2, 2017
The poor thing was murdered.
Reading: Gun Machine
My chemex is dead.
The chemex is dead :'( pic.twitter.com/TzsrGfzeC4
— [tj] (@adventureloop) March 2, 2017
The poor thing was murdered.
Reading: Gun Machine
Making bread seems important.
Loaf 1 pic.twitter.com/viNe0MpgvF
— [tj] (@adventureloop) March 1, 2017
I asked my father how I should start, how I should approach making bread for the first time. He told me just to follow the recipe on the packet of flour. Doing so seems to have worked out okay.
Due to a misunderstanding about yeast I ended up making two loafs.
Load 2 #bread pic.twitter.com/uKOKJaRt8X
— [tj] (@adventureloop) March 1, 2017
Reading: Normal
The space was sent a cool puzzle box as part of a secret santa. One of the puzzles involves getting the output of a flashing light into an LDR on the other side of the box. I played with this with another member last week, we decided to try and decode the light output.
I am sure we don't need to do this, but I wanted to try out my idea. He tried to use FinalCut to process a vide of the output, but this didn't work. I suggested we try breaking the video down to frames, running a brightness threshold over them, then generating a plot of the output.
Turn the video into frames:
$ ffmpeg -i VID.mp4 -f image2 frames/image-%07d.png
We can use
convert
from
imagemagick
to threshhold an image, here we
convert
its colour space into hue saturation and brightness and resize the
image down to 1x1. Convert will give a text description of what it did so we
don't have loads of temporary images.
I hand picked a 'dark' image:
$ convert dark.png -colorspace hsb -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,65535,hsb
0,0: (10086,47272,7376) #27B81D hsb(55,72%,11%)
And a 'light' image:
$ convert light.png -colorspace hsb -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,65535,hsb
0,0: (32525,17838,41551) #7F45A2 hsb(179,27%,63%)
I ran
convert
over each file with some
awk
magic:
for filename in frames/*png; do
echo $filename
convert $filename -colorspace hsb -resize 1x1 txt:- | tail -n 1 | awk '{ print $4}' | awk -F "," '{ print $3}' | sed -e "s/%)//" >> outfile
done
I ran the outputfile through matplotlib to generate a nice plot of the light values.
import matplotlib.pyplot as plt
values = []
with open("outfile", "r") as f:
for line in f.readlines():
value = int(line)
if value > 40:
value = 100
else:
value = 10
values.append(value)
plt.figure(figsize=(30,2))
plt.plot(values)
plt.ylabel('brightness')
plt.savefig("plot.png")
The hardest part of this was getting the video off my phone, the most time consuming was installing matplotlib.
Reading: Normal
You can't because it is a terrible idea, and yet this post explains a really reasonable way forward. My first thought was hopefully the same as yours, "That is absolute insanity, won't someone think of the DDOS?". Glenn Fiedler is responsible for the most pervasive game networking tutorial , it is the beej net guide for games.
This isn't a general interface for UDP, that is of course insane. Instead it is networking library specifically for real time games. It uses http authentication to generate a security token then offers a frame locked secure datagram API for moving real time data. The proposed API has hard timeouts, latency and bandwidth expectations, really not useful for anything other than games.
Right now there is a c library available on github. It will be interesting to see a prototype javascript interface.
Reading: Normal
2005 John Gilmore vs Linus Torvalds on SHA1 "debate" in a nutshell (h/t @zmanian ) https://t.co/mzUNaQPPF9 pic.twitter.com/VbwphiiNcj
— Tony Arcieri (@bascule) February 26, 2017
It is Sunday, so that makes seven days of writing .
Have you subscribed to orbital operations yet? You should.
Reading: Normal