Decentralise as Default

Yesterday featured a massive ddos attack against DynDNS. For me, in the north of Scotland, this meant an entire shutdown of the web. ssh and mosh connections stayed, but everything from twitter to google were unreachable.

Name discovery in decentralised networks is a really hard problem, I am not aware of any really solid solutions. There is probably a large capitalist factor involved here, you really can't centralise profits from a decentralised system.

I spent some time reading about name systems for adhoc mesh networks, before I gave up on trying to build this out. It is hard and would require a load of other people to test.

A quick search of my in brain cache returns:

mdns is probably already running on your local network, it won't scale well and certainly not to internet sizes. namecoin is something I am just sort of aware of, I think worry of blockchain buzzword bingo has stopped me looking too hard.

I would love to know about more interesting and diverse systems, if you know of any drop me a line.


Reading: Little Brother, Transmetropolitan

Mosh

I have to ssh proxy to get to my main machine, everything is filtered on the network my machine is on, apart from the ssh access box. This makes using mosh a little troublesome.

                          +-------+           
+------+                  |ssh    |          +-----------+ 
|laptop|-------ssh------->|gateway|--ssh---->|           | 
+------+<--               +-------+          |dev machine| 
           \---------mosh------------------->|           | 
                                             +-----------+

dev can only be reached via an ssh proxy, but thankfully there is an open UDP port range that works. Mosh seems to have trouble figuring out the correct ip/port pair to select in this setup, mosh is quite simple so it is easy to deal with.

Host dev
Hostname dev.domain.tld
User tj
ProxyCommand ssh -w 30 -q gateway.domain.tld nc %h 22

The mosh command is just a shell script, it sshs to the remote machine and runs mosh-server . Mosh server generates an AES session key and starts the mosh server process on the machine. mosh-client takes the session key via an environmental variable, ip address and port the server is listening on.

With that we can run mosh by hand:

[laptop] $ ssh dev
[dev] $ mosh-server
  setsockopt( IP_RECVTOS ): Invalid argument

  MOSH CONNECT 40001 pv2jeN0MJ1N4gCd1V0i21g

  mosh-server (mosh 1.2.5) [build mosh 1.2.5]
  Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

  [mosh-server detached, pid = 19100]

  Warning: termios IUTF8 flag not defined.
  Character-erase of multibyte character sequence
  probably does not work properly on this platform.
[dev] $ exit
[laptop] $ MOSH_KEY="pv2jeN0MJ1N4gCd1V0i21g"
[laptop] $ mosh-client 143.100.67.5 40001

Once you know how to do mosh by hand there are other things we can try. I don't think it would be impossible to work around certain types of NAT using nc. It requires a third party box, but a lot of STUN can be done with just UDP packets.


Reading: Little Brother, Transmetropolitan

I am sure I have written this down before, google couldn't find it.

Driving Cypherpunk

I spent last night working on the mt7610 driver and by that I mean I was reading the open linux source trying to work through it's general insanity. Look I found the register access isn't really meaty enough to write about.

@Famicoman is attempting to create a full archive of the Cypherpunks mailing list . I tried to read the mailing list last year and made by own copy of an archive. My copy has been add to the github repo that is trying to capture this.


Reading: Little Brother, Autumn 2600

HyperNormalisation

I watched the latest documentary from Adam Curtis , HyperNormalisation , instead of anything of the things I planned to do last night.


Reading: Little Brother

If you are geographically or temporally challenged I am sure a neighbour has a copy you can borrow.

bytebeat

I am struggling for something to write today. I spent last night working on the second stage of a reverse engineering project, but I haven't made much progress yet and there isn't anything to show. Windows tools seem determined to be as alien as possible to use.

I had a look through my browser tabs, I still have what I consider the canonical bytebeat reference open. bytebeat is a sort of code golf based algorithmic music generation, the tiny snippets of code can manage to create some awesome sounds.

There are quite a few people working on audio from crazy systems. Captain Credible's excellent album Dead-Cats is generated with an attiny85. I have Blooper Eel mini synth kit from him that I have toyed with a ton at my desk.

And this is just the start of the rabbit hole, if you want to go up a level you should read the excellent noisepedals blog .


Reading: Litte Brother, Transmetropolitan