Network Theory

Originally shared by John Baez

Network Theory

The world needs some new kinds of math, which deal with networks.  So, check out this video! I start with a quick overview of network theory, and then begin building a category where the morphisms are electrical circuits – a warmup for more complicated kinds of networks.  You can also read lecture notes:

• Network theory (part 30), http://johncarlosbaez.wordpress.com/2014/10/03/network-theory-part-30/

With luck, this video will be the first of a series. I’m giving a seminar on network theory at U.C. Riverside this fall. I’ll start by sketching the results in this new paper:

• John Baez and Brendan Fong, A compositional framework for passive linear networks, http://math.ucr.edu/home/baez/circuits.pdf

A couple of weeks ago I talked about having a Hangout on Air, but I didn’t get my act together in time to set one up with a camera of high enough quality to make my writing readable on the long whiteboard in this room.  So, I decided to use a videocam provided by U.C. Riverside.  It can’t hook up directly to my laptop, since I don’t have FireWire, but it creates mp3 files that I can upload later.  These have a maximum length of about 30 minutes, but using Windows Live Movie Maker it was easy to stitch them together into a single file.  Then I uploaded this to YouTube.

So, that’s the best I’ve been able to do so far.  If you have questions about the seminar, you can ask them here – or even better, on the Azimuth blog, where the conversation has already started, and you can write in TeX:

• Network theory seminar (part 1), http://johncarlosbaez.wordpress.com/2014/10/11/network-theory-seminar-part-1/

In the future, I’ll announce seminar videos on that blog.

I thank Blake Pollard for filming this seminar, and Muhammad “Siddiq” Siddiqui-Ali for providing the videocamera and technical support.

https://www.youtube.com/watch?v=3pQb7CNvMRA

 

My friend, Bradley Kuhn, a longtime activist on behalf of free software and copyleft, has started using Gratipay to…

Originally shared by Michael R. Bernstein

My friend, Bradley Kuhn, a longtime activist on behalf of free software and copyleft, has started using Gratipay to accept personal donations.

If he reaches a sustainable level of $800/month, he’ll be able to continue his work without interruption for paid software development side-gigs.

I, for one, am truly grateful for the years of work Bradley has devoted to these causes, and hope he will reach a figure 10x that in recognition of the expertise he brings to bear in this area if nothing else.

Meanwhile, if you’ve read this far, check out the free tutorial book he is writing and editing on GPL Compliance: http://ebb.org/bkuhn/articles/copyleft-book.pdf

https://gratipay.com/bkuhn/

a common trick when generating random passwords is to Base64-encode random bytes

Originally shared by Sakari Maaranen

On UNIX and Linux systems, a common trick when generating random passwords is to Base64-encode random bytes; for example, this generates an 18 character long Base64-encoded password:

echo $(base64 /dev/random | head -c 18)

That’s fine, but the plus and slash (also underscore and hyphen) characters used in standard Base64-encoding schemes are laid out differently on the keyboard depending on country. This can cause trouble when trying to log on the machine, if the locale setting doesn’t match that of the actual keyboard used.

One way to solve this in environments where you need to deal with many locales, is to generate passwords using only those characters that are laid out the same regardless of locale.

Now try this:

echo $(cat /dev/random | tr -dc ‘!%,.0-9A-Xa-x’ | head -c 20)

Use one of the following strings between the single quotes on the above command line:

This generates a strong password that works the same with US, UK, German, and Scandinavian keyboard layouts:

!%,.0-9A-Xa-x (N=62)

If you don’t care about the German layout, you can use:

!%,.0-9A-Za-z (N=66)

If you want to support French as well, then you can only use:

0-9B-LN-PR-VXb-ln-pr-vx (N=50)

You can find the appropriate password length by replacing the desired bits of entropy for H and the above given value for N, typing the following in Google search:

H / (log(N) / log(2))

Always round the result up.

If you don’t know how many bits of randomness you need, just use H=96, but be warned: If you’re working on anything serious, you’d better educate yourself and make sure you know how many bits you want.