Random thoughts


sh -c 'exec strace -p $$'


strace: I'm sorry, I can't let you do that, Dave.

My name's not Dave!

CIDR notation

An IPv4 designation of /n provides 232-n addresses, 0 ≤ n ≤ 32. A subnet mask of is no different than "/24."

An IPv6 designation of /n provides 2128-n addresses, 0 ≤ n ≤ 128. For example, a /48 contains 2128-48 addresses, which is equal to 280 or about 1.2 x 1024.

In some contexts, "" is a set (in the set theory sense) of all IP addresses in the to range. For example, ∪ =

IPv4 only Dual Stack IPv6 only
IPv4 only connects via IPv4 connects via IPv4 cannot connect
Server Dual Stack connects via IPv4 connects via IPv4 or IPv6 connects via IPv6
IPv6 only cannot connect connects via IPv6 connects via IPv6




Proof by induction

H(n) is some predicate of a natural number n.

If H(0) is true,

and the material conditional H(m) -> H(n), 0 <= m < n for all n > 0 is true

then H(n) is true for all n >= 0.

For example:

  • H(0) & (H(0) -> H(1)) therefore H(1).
  • H(1) & (H(1) -> H(2)) therefore H(2).
  • H(2) & (H(2) -> H(3)) therefore H(3).
  • and so on.

In other words, you do not prove H(n) is true for all n directly. Rather, you prove H(0) (the basis step) and then you prove the material conditional H(n) -> H(n+1) (inductive step), and by continuous modus ponens, you prove H(n) for all n in N (natural numbers).

For example, prove that every power of five greater than 5 ends in 25. That is, 5^n = 25 (mod 100) for all integer n >= 2.

Base case: n = 2. 5^2 = 25 (mod 100).

Inductive step: Given 5^n = 25 (mod 100), prove 5^(n+1) = 25 (mod 100).

  • 5^(n+1) (mod 100)
  • = 5^n * 5 (mod 100)
  • = 25 * 5 (mod 100) by the inductive hypothesis
  • = 125 (mod 100)
  • = 25 (mod 100).


  • People sometimes think that my website is full of nonsense. Not that people disagree with the views presented, but rather that it's full of my computer networking niche.
  • In a similar vein, people often think that I'm childish because I sort of like doing these nonsensical things just to get people's attention.

Home on the Range

# Oh, give me a home, where the buffalo roam, where the deer and the antelope play, where seldom is heard, a discouraging word, and the skies are not cloudy all day.

SELECT * FROM homes WHERE theBuffaloAreRoaming=TRUE AND theDeerAndTheAntelopeArePlaying=TRUE AND hearDiscouragingWord='seldom' AND theSkiesAreCloudyAllDay=FALSE LIMIT 1;