Electric field of a spherical shell. Ka-Tex rendered [Take II].

January 14, 2018 math and physics play No comments , , , , , ,

In a previous post I attempted to use the katex plugin to render an old post instead of using Mathjax. It seems that was not actually rendered with KaTex, but (I think) it was rendered with the latex keyword handling in the Jetpack plugin, which I also had installed. I’ve customized the katex plugin I have installed to use a different keyword (katex instead of latex).


This is a test of KaTex, the latex rendering engine used for Khan academy. They advertise themselves as much faster than mathjax, but this speed comes with some usability issues.

Here’s a rerendering of an old post, with the latex rendered with WP-KaTeX instead of MathJax-LaTeX.

The post

Problem:

Calculate the field due to a spherical shell. The field is

\mathbf{E} = \frac{\sigma}{4 \pi \epsilon_0} \int \frac{(\mathbf{r} - \mathbf{r}')}{{{\left\lvert{{\mathbf{r} - \mathbf{r}'}}\right\rvert}}^3} da',

where \mathbf{r}' is the position to the area element on the shell. For the test position, let \mathbf{r} = z \mathbf{e}_3.

Solution:

We need to parameterize the area integral. A complex-number like geometric algebra representation works nicely.

\begin{aligned}\mathbf{r}' &= R \left( \sin\theta \cos\phi, \sin\theta \sin\phi, \cos\theta \right) \\ &= R \left( \mathbf{e}_1 \sin\theta \left( \cos\phi + \mathbf{e}_1 \mathbf{e}_2 \sin\phi \right) + \mathbf{e}_3 \cos\theta \right) \\ &= R \left( \mathbf{e}_1 \sin\theta e^{i\phi} + \mathbf{e}_3 \cos\theta \right).\end{aligned}

Here i = \mathbf{e}_1 \mathbf{e}_2 has been used to represent to horizontal rotation plane.

The difference in position between the test vector and area-element is

\mathbf{r} - \mathbf{r}' = \mathbf{e}_3 {\left({ z - R \cos\theta }\right)} - R \mathbf{e}_1 \sin\theta e^{i \phi},

with an absolute squared length of

\begin{aligned}{{\left\lvert{{\mathbf{r} - \mathbf{r}' }}\right\rvert}}^2 &= {\left({ z - R \cos\theta }\right)}^2 + R^2 \sin^2\theta \\ &= z^2 + R^2 - 2 z R \cos\theta.\end{aligned}

As a side note, this is a kind of fun way to prove the old “cosine-law” identity. With that done, the field integral can now be expressed explicitly

\begin{aligned} \mathbf{E} &= \frac{\sigma}{4 \pi \epsilon_0} \int_{\phi = 0}^{2\pi} \int_{\theta = 0}^\pi R^2 \sin\theta d\theta d\phi \frac{\mathbf{e}_3 {\left({ z - R \cos\theta }\right)} - R \mathbf{e}_1 \sin\theta e^{i \phi}} { {\left({z^2 + R^2 - 2 z R \cos\theta}\right)}^{3/2} } \\ &= \frac{2 \pi R^2 \sigma \mathbf{e}_3}{4 \pi \epsilon_0} \int_{\theta = 0}^\pi \sin\theta d\theta \frac{z - R \cos\theta} { {\left({z^2 + R^2 - 2 z R \cos\theta}\right)}^{3/2} } \\ &= \frac{2 \pi R^2 \sigma \mathbf{e}_3}{4 \pi \epsilon_0} \int_{\theta = 0}^\pi \sin\theta d\theta \frac{ R( z/R - \cos\theta) } { (R^2)^{3/2} {\left({ (z/R)^2 + 1 - 2 (z/R) \cos\theta}\right)}^{3/2} } \\ &= \frac{\sigma \mathbf{e}_3}{2 \epsilon_0} \int_{u = -1}^{1} du \frac{ z/R - u} { {\left({1 + (z/R)^2 - 2 (z/R) u}\right)}^{3/2} }. \end{aligned}

Observe that all the azimuthal contributions get killed. We expect that due to the symmetry of the problem. We are left with an integral that submits to Mathematica, but doesn’t look fun to attempt manually. Specifically

\int_{-1}^1 \frac{a-u}{{\left({1 + a^2 - 2 a u}\right)}^{3/2}} du = \frac{2}{a^2},

if a > 1, and zero otherwise, so

\boxed{ \mathbf{E} = \frac{\sigma (R/z)^2 \mathbf{e}_3}{\epsilon_0} }

for z > R, and zero otherwise.

In the problem, it is pointed out to be careful of the sign when evaluating \sqrt{ R^2 + z^2 - 2 R z }, however, I don’t see where that is even useful?

KaTex commentary

  1. Conditional patterns, such as:
    \left\{
    \begin{array}{l l}
    \frac{\sigma (R/z)^2 \mathbf{e}_3}{\epsilon_0}
    & \quad \mbox{if $ z > R $ } \\
    0 & \quad \mbox{if $ z < R $ }
    \end{array}
    \right.
    

    messed up KaTex, resulting in render errors like:

    Using \( ... \) within math mode instead of $ ... $ also messed things up. Example:

    \left\{
    \begin{array}{l l}
    \frac{\sigma (R/z)^2 \mathbf{e}_3}{\epsilon_0}
    & \quad \mbox{if $ z > R $ } \\
    0 & \quad \mbox{if $ z < R $ }
    \end{array}
    \right.
    

    This resulted in a messed up parse like so:

    It looks like it's the mbox that messes things up, and not the array itself, so \text could probably be used instead.

  2. The latex has to be all in one line, or else KaTex renders the newlines explicitly. Example:

    Having to condense all my latex onto a single line is one of the reasons I switched from the default wordpress latex engine to mathjax. It was annoying enough that I started paying for my wordpress hosting, and stopped posting on my old free peeterjoot.wordpress.com blog. Using KaTex and having to go back to single line latex would suck!

  3. The rendering looks great, just like mathjax.
  4. The Mathjax-Latex wordpress plugin has some support for equation labeling and references. I don't see a way to do those with the WP-KaTex plugin.
  5. I can have a large set of macros installed in my default.js matching a subset of what I have in my .sty files. I don't see a way to do that with the WP-KaTex plugin, but perhaps there is just no documented mechanism. KaTex itself does have a macro mechanism.
  6. The display isn't left justified like the wordpress latex, and looks decent.

Lorentz boosts in Geometric Algebra paravector notation.

January 14, 2018 math and physics play No comments , , , , , , , , , , , ,

[Click here for a PDF of this post with nicer formatting]

Motivation.

The notation I prefer for relativistic geometric algebra uses Hestenes’ space time algebra (STA) [2], where the basis is a four dimensional space \( \setlr{ \gamma_\mu } \), subject to Dirac matrix like relations \( \gamma_\mu \cdot \gamma_\nu = \eta_{\mu \nu} \).

In this formalism a four vector is just the sum of the products of coordinates and basis vectors, for example, using summation convention

\begin{equation}\label{eqn:boostToParavector:160}
x = x^\mu \gamma_\mu.
\end{equation}

The invariant for a four-vector in STA is just the square of that vector

\begin{equation}\label{eqn:boostToParavector:180}
\begin{aligned}
x^2
&= (x^\mu \gamma_\mu) \cdot (x^\nu \gamma_\nu) \\
&= \sum_\mu (x^\mu)^2 (\gamma_\mu)^2 \\
&= (x^0)^2 – \sum_{k = 1}^3 (x^k)^2 \\
&= (ct)^2 – \Bx^2.
\end{aligned}
\end{equation}

Recall that a four-vector is time-like if this squared-length is positive, spacelike if negative, and light-like when zero.

Time-like projections are possible by dotting with the “lab-frame” time like basis vector \( \gamma_0 \)

\begin{equation}\label{eqn:boostToParavector:200}
ct = x \cdot \gamma_0 = x^0,
\end{equation}

and space-like projections are wedges with the same

\begin{equation}\label{eqn:boostToParavector:220}
\Bx = x \cdot \gamma_0 = x^k \sigma_k,
\end{equation}

where sums over Latin indexes \( k \in \setlr{1,2,3} \) are implied, and where the elements \( \sigma_k \)

\begin{equation}\label{eqn:boostToParavector:80}
\sigma_k = \gamma_k \gamma_0.
\end{equation}

which are bivectors in STA, can be viewed as an Euclidean vector basis \( \setlr{ \sigma_k } \).

Rotations in STA involve exponentials of space like bivectors \( \theta = a_{ij} \gamma_i \wedge \gamma_j \)

\begin{equation}\label{eqn:boostToParavector:240}
x’ = e^{ \theta/2 } x e^{ -\theta/2 }.
\end{equation}

Boosts, on the other hand, have exactly the same form, but the exponentials are with respect to space-time bivectors arguments, such as \( \theta = a \wedge \gamma_0 \), where \( a \) is any four-vector.

Observe that both boosts and rotations necessarily conserve the space-time length of a four vector (or any multivector with a scalar square).

\begin{equation}\label{eqn:boostToParavector:260}
\begin{aligned}
\lr{x’}^2
&=
\lr{ e^{ \theta/2 } x e^{ -\theta/2 } } \lr{ e^{ \theta/2 } x e^{ -\theta/2 } } \\
&=
e^{ \theta/2 } x \lr{ e^{ -\theta/2 } e^{ \theta/2 } } x e^{ -\theta/2 } \\
&=
e^{ \theta/2 } x^2 e^{ -\theta/2 } \\
&=
x^2 e^{ \theta/2 } e^{ -\theta/2 } \\
&=
x^2.
\end{aligned}
\end{equation}

Paravectors.

Paravectors, as used by Baylis [1], represent four-vectors using a Euclidean multivector basis \( \setlr{ \Be_\mu } \), where \( \Be_0 = 1 \). The conversion between STA and paravector notation requires only multiplication with the timelike basis vector for the lab frame \( \gamma_0 \)

\begin{equation}\label{eqn:boostToParavector:40}
\begin{aligned}
X
&= x \gamma_0 \\
&= \lr{ x^0 \gamma_0 + x^k \gamma_k } \gamma_0 \\
&= x^0 + x^k \gamma_k \gamma_0 \\
&= x^0 + \Bx \\
&= c t + \Bx,
\end{aligned}
\end{equation}

We need a different structure for the invariant length in paravector form. That invariant length is
\begin{equation}\label{eqn:boostToParavector:280}
\begin{aligned}
x^2
&=
\lr{ \lr{ ct + \Bx } \gamma_0 }
\lr{ \lr{ ct + \Bx } \gamma_0 } \\
&=
\lr{ \lr{ ct + \Bx } \gamma_0 }
\lr{ \gamma_0 \lr{ ct – \Bx } } \\
&=
\lr{ ct + \Bx }
\lr{ ct – \Bx }.
\end{aligned}
\end{equation}

Baylis introduces an involution operator \( \overline{{M}} \) which toggles the sign of any vector or bivector grades of a multivector. For example, if \( M = a + \Ba + I \Bb + I c \), where \( a,c \in \mathbb{R} \) and \( \Ba, \Bb \in \mathbb{R}^3 \) is a multivector with all grades \( 0,1,2,3 \), then the involution of \( M \) is

\begin{equation}\label{eqn:boostToParavector:300}
\overline{{M}} = a – \Ba – I \Bb + I c.
\end{equation}

Utilizing this operator, the invariant length for a paravector \( X \) is \( X \overline{{X}} \).

Let’s consider how boosts and rotations can be expressed in the paravector form. The half angle operator for a boost along the spacelike \( \Bv = v \vcap \) direction has the form

\begin{equation}\label{eqn:boostToParavector:120}
L = e^{ -\vcap \phi/2 },
\end{equation}

\begin{equation}\label{eqn:boostToParavector:140}
\begin{aligned}
X’
&=
c t’ + \Bx’ \\
&=
x’ \gamma_0 \\
&=
L x L^\dagger \\
&=
e^{ -\vcap \phi/2 } x^\mu \gamma_\mu
e^{ \vcap \phi/2 } \gamma_0 \\
&=
e^{ -\vcap \phi/2 } x^\mu \gamma_\mu \gamma_0
e^{ -\vcap \phi/2 } \\
&=
e^{ -\vcap \phi/2 } \lr{ x^0 + \Bx } e^{ -\vcap \phi/2 } \\
&=
L X L.
\end{aligned}
\end{equation}

Because the involution operator toggles the sign of vector grades, it is easy to see that the required invariance is maintained

\begin{equation}\label{eqn:boostToParavector:320}
\begin{aligned}
X’ \overline{{X’}}
&=
L X L
\overline{{ L X L }} \\
&=
L X L
\overline{{ L }} \overline{{ X }} \overline{{ L }} \\
&=
L X \overline{{ X }} \overline{{ L }} \\
&=
X \overline{{ X }} L \overline{{ L }} \\
&=
X \overline{{ X }}.
\end{aligned}
\end{equation}

Let’s explicitly expand the transformation of \ref{eqn:boostToParavector:140}, so we can relate the rapidity angle \( \phi \) to the magnitude of the velocity. This is most easily done by splitting the spacelike component \( \Bx \) of the four vector into its projective and rejective components

\begin{equation}\label{eqn:boostToParavector:340}
\begin{aligned}
\Bx
&= \vcap \vcap \Bx \\
&= \vcap \lr{ \vcap \cdot \Bx + \vcap \wedge \Bx } \\
&= \vcap \lr{ \vcap \cdot \Bx } + \vcap \lr{ \vcap \wedge \Bx } \\
&= \Bx_\parallel + \Bx_\perp.
\end{aligned}
\end{equation}

The exponential

\begin{equation}\label{eqn:boostToParavector:360}
e^{-\vcap \phi/2}
=
\cosh\lr{ \phi/2 }
– \vcap \sinh\lr{ \phi/2 },
\end{equation}

commutes with any scalar grades and with \( \Bx_\parallel \), but anticommutes with \( \Bx_\perp \), so

\begin{equation}\label{eqn:boostToParavector:380}
\begin{aligned}
X’
&=
\lr{ c t + \Bx_\parallel } e^{ -\vcap \phi/2 } e^{ -\vcap \phi/2 }
+
\Bx_\perp e^{ \vcap \phi/2 } e^{ -\vcap \phi/2 } \\
&=
\lr{ c t + \Bx_\parallel } e^{ -\vcap \phi }
+
\Bx_\perp \\
&=
\lr{ c t + \vcap \lr{ \vcap \cdot \Bx } } \lr{ \cosh \phi – \vcap \sinh \phi }
+
\Bx_\perp \\
&=
\Bx_\perp
+
\lr{ c t \cosh\phi – \lr{ \vcap \cdot \Bx} \sinh \phi }
+
\vcap \lr{ \lr{ \vcap \cdot \Bx } \cosh\phi – c t \sinh \phi } \\
&=
\Bx_\perp
+
\cosh\phi \lr{ c t – \lr{ \vcap \cdot \Bx} \tanh \phi }
+
\vcap \cosh\phi \lr{ \vcap \cdot \Bx – c t \tanh \phi }.
\end{aligned}
\end{equation}

Employing the argument from [3],
we want \( \phi \) defined so that this has structure of a Galilean transformation in the limit where \( \phi \rightarrow 0 \). This means we equate

\begin{equation}\label{eqn:boostToParavector:400}
\tanh \phi = \frac{v}{c},
\end{equation}

so that for small \(\phi\)

\begin{equation}\label{eqn:boostToParavector:420}
\Bx’ = \Bx – \Bv t.
\end{equation}

We can solving for \( \sinh^2 \phi \) and \( \cosh^2 \phi \) in terms of \( v/c \) using

\begin{equation}\label{eqn:boostToParavector:440}
\tanh^2 \phi
= \frac{v^2}{c^2}
=
\frac{ \sinh^2 \phi }{1 + \sinh^2 \phi}
=
\frac{ \cosh^2 \phi – 1 }{\cosh^2 \phi}.
\end{equation}

which after picking the positive root required for Galilean equivalence gives
\begin{equation}\label{eqn:boostToParavector:460}
\begin{aligned}
\cosh \phi &= \frac{1}{\sqrt{1 – (\Bv/c)^2}} \equiv \gamma \\
\sinh \phi &= \frac{v/c}{\sqrt{1 – (\Bv/c)^2}} = \gamma v/c.
\end{aligned}
\end{equation}

The Lorentz boost, written out in full is

\begin{equation}\label{eqn:boostToParavector:480}
ct’ + \Bx’
=
\Bx_\perp
+
\gamma \lr{ c t – \frac{\Bv}{c} \cdot \Bx }
+
\gamma \lr{ \vcap \lr{ \vcap \cdot \Bx } – \Bv t }
.
\end{equation}

Authors like Chappelle, et al., that also use paravectors [4], specify the form of the Lorentz transformation for the electromagnetic field, but for that transformation reversion is used instead of involution.
I plan to explore that in a later post, starting from the STA formalism that I already understand, and see if I can make sense
of the underlying rationale.

References

[1] William Baylis. Electrodynamics: a modern geometric approach, volume 17. Springer Science \& Business Media, 2004.

[2] C. Doran and A.N. Lasenby. Geometric algebra for physicists. Cambridge University Press New York, Cambridge, UK, 1st edition, 2003.

[3] L. Landau and E. Lifshitz. The Classical theory of fields. Addison-Wesley, 1951.

[4] James M Chappell, Samuel P Drake, Cameron L Seidel, Lachlan J Gunn, and Derek Abbott. Geometric algebra for electrical and electronic engineers. Proceedings of the IEEE, 102 0(9), 2014.

Electric field of a spherical shell. Ka-Tex rendered

January 10, 2018 math and physics play 1 comment , , , , , ,

This is a test of KaTex, the latex rendering engine used for Khan academy. They advertise themselves as much faster than mathjax, but it looks like the reason for that is because they generate images that look crappy unless the browser resolution is matched to the images just right.

Here’s a rerendering of an old post, with the latex rendered with WP-KaTeX instead of MathJax-LaTeX.

The post

Problem:

Calculate the field due to a spherical shell. The field is

\mathbf{E} = \frac{\sigma}{4 \pi \epsilon_0} \int \frac{(\mathbf{r} - \mathbf{r}')}{{{\left\lvert{{\mathbf{r} - \mathbf{r}'}}\right\rvert}}^3} da',

where \mathbf{r}' is the position to the area element on the shell. For the test position, let \mathbf{r} = z \mathbf{e}_3.

Solution:

We need to parameterize the area integral. A complex-number like geometric algebra representation works nicely.

\begin{aligned}\mathbf{r}' &= R \left( \sin\theta \cos\phi, \sin\theta \sin\phi, \cos\theta \right) \\ &= R \left( \mathbf{e}_1 \sin\theta \left( \cos\phi + \mathbf{e}_1 \mathbf{e}_2 \sin\phi \right) + \mathbf{e}_3 \cos\theta \right) \\ &= R \left( \mathbf{e}_1 \sin\theta e^{i\phi} + \mathbf{e}_3 \cos\theta \right).\end{aligned}

Here i = \mathbf{e}_1 \mathbf{e}_2 has been used to represent to horizontal rotation plane.

The difference in position between the test vector and area-element is

\mathbf{r} - \mathbf{r}' = \mathbf{e}_3 {\left({ z - R \cos\theta }\right)} - R \mathbf{e}_1 \sin\theta e^{i \phi},

with an absolute squared length of

\begin{aligned}{{\left\lvert{{\mathbf{r} - \mathbf{r}' }}\right\rvert}}^2 &= {\left({ z - R \cos\theta }\right)}^2 + R^2 \sin^2\theta \\ &= z^2 + R^2 - 2 z R \cos\theta.\end{aligned}

As a side note, this is a kind of fun way to prove the old “cosine-law” identity. With that done, the field integral can now be expressed explicitly

\begin{aligned} \mathbf{E} &= \frac{\sigma}{4 \pi \epsilon_0} \int_{\phi = 0}^{2\pi} \int_{\theta = 0}^\pi R^2 \sin\theta d\theta d\phi \frac{\mathbf{e}_3 {\left({ z - R \cos\theta }\right)} - R \mathbf{e}_1 \sin\theta e^{i \phi}} { {\left({z^2 + R^2 - 2 z R \cos\theta}\right)}^{3/2} } \\ &= \frac{2 \pi R^2 \sigma \mathbf{e}_3}{4 \pi \epsilon_0} \int_{\theta = 0}^\pi \sin\theta d\theta \frac{z - R \cos\theta} { {\left({z^2 + R^2 - 2 z R \cos\theta}\right)}^{3/2} } \\ &= \frac{2 \pi R^2 \sigma \mathbf{e}_3}{4 \pi \epsilon_0} \int_{\theta = 0}^\pi \sin\theta d\theta \frac{ R( z/R - \cos\theta) } { (R^2)^{3/2} {\left({ (z/R)^2 + 1 - 2 (z/R) \cos\theta}\right)}^{3/2} } \\ &= \frac{\sigma \mathbf{e}_3}{2 \epsilon_0} \int_{u = -1}^{1} du \frac{ z/R - u} { {\left({1 + (z/R)^2 - 2 (z/R) u}\right)}^{3/2} }. \end{aligned}

Observe that all the azimuthal contributions get killed. We expect that due to the symmetry of the problem. We are left with an integral that submits to Mathematica, but doesn’t look fun to attempt manually. Specifically

\int_{-1}^1 \frac{a-u}{{\left({1 + a^2 - 2 a u}\right)}^{3/2}} du = \frac{2}{a^2},

if a > 1, and zero otherwise, so

\boxed{ \mathbf{E} = \frac{\sigma (R/z)^2 \mathbf{e}_3}{\epsilon_0} }

for z > R, and zero otherwise.

In the problem, it is pointed out to be careful of the sign when evaluating \sqrt{ R^2 + z^2 - 2 R z }, however, I don’t see where that is even useful?

KaTex commentary

  1. Conditional patterns, such as:
    \left\{
    \begin{array}{l l}
    \frac{\sigma (R/z)^2 \mathbf{e}_3}{\epsilon_0}
    & \quad \mbox{if \( z > R \) } \\
    0 & \quad \mbox{if \( z < R \) }
    \end{array}
    \right.
    

    messed up KaTex, resulting in render errors like:

  2. The latex has to be all in one line, or else KaTex renders the newlines explicitly. Example:
    Having to condense all my latex onto a single line is one of the reasons I switched from the default wordpress latex engine to mathjax. It was annoying enough that I started paying for my wordpress hosting, and stopped posting on my old free peeterjoot.wordpress.com blog. Using KaTex and having to go back to single line latex would suck!
  3. The rendering looks like crap, unless you match your resolution to exactly those used to create the images. The mathjax rendering may be slower, but looks much better!
  4. The Mathjax-Latex wordpress plugin has some support for equation labeling and references. I don’t see a way to do those with the WP-KaTex plugin.
  5. I can have a large set of macros installed in my default.js matching a subset of what I have in my .sty files. I don’t see a way to do that with the WP-KaTex plugin, but perhaps there is just no documented mechanism. KaTex itself does have a macro mechanism.
  6. Left justified display mode is hard to read. The mathjax rendered centered display mode looks much better.

EDIT.

I’m not sure I was getting the katex plugin when I used the [ latex ] … [ /latex ] tags.  I see some comments that indicate that there is built in handling of these tags in the Jetpack plugin.  If I change frontend.php in the katex plugin to use [ katex ] … [ /katex ] tags instead, then I see much different results.

Christmas gift from Lance: some assembly required

December 25, 2017 Incoherent ramblings No comments ,

Lance got me a little notebook for Christmas, the first page of which had a message that I had to work to decode:

Conveniently, it was all ASCII, and all in a single base.  He got the evil idea of wishing he’d encoding each character in a different base, which would have made life more difficult.  I used the following quick hack to decode:

There was one small encoding error, a missing zero that transformed an ‘s’ into a ‘;’.

Forget bitcoin, how about video-game-time coin

December 12, 2017 Bitcoin 6 comments , ,

My step-son Karl started suiting up in snow gear this morning, even before eating breakfast, to go out and shovel the snow.  I managed to get some food into him first, and while he was in the kitchen, he noticed sadly that the dishwasher had not been run last night, so he wasn’t able to unload it for us!

He then proceeded to explain to me that if he does things that we (the adults in the house) like, then he has noticed that he gets more game (i.e. video-game) time.

The volume in video-game time futures may not be very high, but this coin, as unphysical as bitcoin, is a actively being traded in Markham, Ontario.  Kids understand the free market very well, long before they ever actively take any sort of economics!

Bitcoin may have high valuation, but has become unusable.

December 8, 2017 Bitcoin No comments , , , , , , , , , , , , ,

There have been disagreements in the bitcoin development community about how to deal with scaling.  These have resulted in a number of currency forks or proposed forks in the recent past, including

Here’s what I think would have to happen for a bitcoin fork to be successful:

  • It can get itself onto most of the exchanges.
  • It solves enough of the core bitcoin problems that people will actually start using it.
  • Wallets are ubiquitously available (web wallets, full node wallets, mobile, …).
  • It gets the Bitcoin Brand(TM), and all the marketing clout that brand carries.

There are a number of problems that bitcoin-core has right now:

  • The scaling is absolutely abhorrent.
  • Transactions with default wallet fees get stuck in limbo.  Those fees are no longer pennies or fractions of pennies, but are dollars.
  • A full node wallet requires a massive amount of space.
  • It uses a public ledger without a built in mixer, so isn’t really anonymous, especially when the exchanges that so many transactions are occurring at have extensive personal info (drivers licences, passports, …).
  • Massive energy cost to maintaining the network.

Long term I think many of these issues are disastrous, but the scaling and fees are the killer issues, and I mean that literally.  If a solution to those problems is not incorporated into bitcoin core, then people will be forced to completely abandon bitcoin, and it will be left entirely to speculators (and then proceed to crash, after which it may become usable again for a while.)

Here’s a recent example that illustrates this.  I tried to send $150 USD equivalent to the Scott Horton show, which is hands down the most informative foreign policy show in existence.  I’d previously sent him a $200 USD equivalent donation in bitcoin (and got a listen and think audio lifetime subscription in exchange!), but I thought a signed copy of his book would be awesome, so decided to send some more.

  • At the time I did this, the market price of bitcoin was around $15k USD/bitcoin, so this was about a 10mBTC (0.01 BTC) transaction.
  • The wallet that I used to send the coin (electrum, which doesn’t require a full node) included a default fee of 0.392 mBTC (0.000392 BTC = ~$5.88 USD).

After 19 hours, this transaction still has zero confirmations, and my wallet is now showing this transaction as “Low Fee” with a hazard sign:

A 4% fee on $150 is no longer enough to successfully yield a single bitcoin transaction confirmation after almost a full day!  At this rate, will my attempted send to the Scott Horton show ever go through?  Have I lost the bitcoin I attempted to send?(*)  I don’t think there is any way to bump up the fee on an existing transaction attempt to force it through (**).

Bitcoin has been portrayed as a low fee system that will replace extortionist money transfer systems like Western union, kill the banks that are in bed with governments, enable billions of unbanked access to world finances, and facilitate micro-transactions for small services.  It certainly hasn’t met with these expectations if somebody fully banked can’t even send $150.

The days of being able to sent tips with bitcoin for services that seem desirable appear to be in the past.  I happen to have a tips page on this blog.  I’ve renamed it to ‘cryptocurrency tips’ from ‘bitcoin tips’, since bitcoin now appears to be effectively non-functional.

(This doesn’t change the fact that a blog about math, physics, programming and random incoherent ramblings isn’t monetizable, so nobody will ever likely sent me enough bit or alt coin to even cover hosting fees, let alone the academic fees that have been associated with a lot of the content).

I have had at various points some altcoin wallets including:

  • dashcoin (was darkcoin)
  • litecoin
  • dogecoin
  • ethereum
  • monero

I currently only have dashcoin and litecoin wallets with non-zero contents (and haven’t fired up my litecoin wallet in a long time … it’s sitting on a VM unused with a token amount in it.)

These coin implementations have a range of features (privacy, transaction rates, low fees, ASIC resistance, …).  I don’t think any of them deal with blockchain archiving that will be required for continuous future use, and think that it is fundamentally broken that a full node wallet cannot download only a working portion of the blockchain (or grab other subsets on demand).  However, if the coin implementation doesn’t handle scaling and low fees, I think it is going to be doomed.  I’m not seeing signs that bitcoin core is taking those issues seriously.

 

Footnotes and edits.

(*)

This particular transaction has now disappeared from my electrum wallet, although it is still visible on the network.

It appears that whether or not a transaction truly expires also depends on all the possible mining clients.  To protect myself against the Scott Horton show being paid twice should I resubmit my transaction with a higher fee, I’d have to generate a new wallet, and transfer all my funds into that.

(**)

It appears there are mechanisms to reset fees for transaction if they aren’t confirming, but they are wallet specific.  The electrum 2.8 wallet software I was using did not have such a mechanism, and the transaction itself disappeared from the electrum history after about 24hrs.  I upgraded my wallet to electrum 3.0.2, and the transaction showed up again, after which I was able to initiate a ‘child pays for parent’ transaction sending an additional fee (0.00178749 == $28 USD, another 18% fee, bringing the total fees to over 22%) to force my initial donation through.

[The electrum “child pays for parent” processing leaves a lot to be desired.  After submission, that dummy transaction does not show in the transaction history, and there is no indication on the original transaction, that it has been made.  I only knew that it worked the next morning, when my original transaction had confirmations.]

The moral of the story is that bitcoin can’t be used for small transactions anymore.  If you send any or try to cash it in, you better make sure your wallet software is up to date, and setting fees high enough that the transaction will be processed.  In the case of my donation to the Scott Horton show, where I asked for his $50 and $100 donation perks (signed copy of his book, and a QR silver respectively), despite paying additional fees, I may have gotten the better deal in the transaction, as I get two tangible items for bitcoin that is getting hard to spend (even if you can find somewhere that accepts it).

I don’t think it’s a surprise that dashcoin (and probably other altcoins) have gone up relative to bitcoin 25% in the last day, since bitcoin has hit this peak.  A lot of the alt-coins can be spent and the fees aren’t exorbitant.  It remains to see how some of these altcoins will do under the network pressure recently imposed on bitcoin.

My first COBOL program.

November 9, 2017 Mainframe No comments , , , , ,

I recently bought Murach’s COBOL reference:

and coded the chapter 1 compound interest calculation myself before looking at the solution.  I was surprised to see that (n)vim has built in syntax highlighting for COBOL.  It even helps position the comments and line starts in the right places, which was handy.

Having been horrified any time in the past that I saw COBOL code, it feels weird to be coding my own hello-world in the language, but it works, and with ALL CAPS output, it looks sufficiently dinosaur’ish to be COBOL:

./interest 
-----------------------------------------------
TO END PROGRAM, ENTER 0.
ENTER THE INVESTMENT AMOUNT.
1000
ENTER THE NUMBER OF YEARS.
1
ENTER THE INTEREST-RATE.
1
FUTURE-VALUE = 0001010.00
-----------------------------------------------
TO END PROGRAM, ENTER 0.
ENTER THE INVESTMENT AMOUNT.
1000
ENTER THE NUMBER OF YEARS.
2
ENTER THE INTEREST-RATE.
1
FUTURE-VALUE = 0001020.10
-----------------------------------------------
TO END PROGRAM, ENTER 0.
ENTER THE INVESTMENT AMOUNT.
0
END OF SESSION.

Notes and questions:

  • I wasn’t sure about when I had to use statement terminators (.’s) in the ELSE body, so I moved the whole basic block to a helper function.
  • I got messed up initially with the syntax for the PIC values at first, as I’d used .’s instead of V’s to specify that my variables were numeric.  This caused cobc (gnu-cobol front end) to complain that INTEREST-AMOUNT was not numeric, and I eventually found the answer in the PIC table of the book.
  • The point of this exercise was probably to use a loop, which I avoided by calculating the value in one shot.  I’ll have to go back and see how to do that.
  • There doesn’t seem to be any notion of function prototype, and the function bodies can be either before or after their calls.
  • Functions are annoyingly, but appropriately (given the requirement to be over the top verbose for many things), called PARAGRAPHs in COBOL.  I wonder what the mainframe does with name mangling, given that symbol names have to be 8 characters, and COBOL function names are up to 30.  Perhaps only the external entry points (the program-id?), have that restriction?
  • cobc’s implementation of -g sucks, and a debug session shows the lines of the generated .c files instead of the COBOL sources.  There ought to at least be #line markers in the generated C sources instead of comments.

Failed purchases at overstock.com (trying to spend bitcoin)

November 5, 2017 Bitcoin, Incoherent ramblings No comments , , , , , , , ,

A couple years ago I bought a few bitcoin at fairly low rates compared to the current price, and thought I’d try to recoup my initial “investment” by spending some of it (since selling it back for money on an exchange appears to require a capital gains tax report in Canada).  Such purchases are easier said than done, at least here in Canada.

I found that Newegg advertises themselves as bitcoin capable, but it turns out that this is not offered for newegg.ca, and newegg.com restricts payment with bitcoin to certain types of purchases (and it seems like used phones on their marketplace do not qualify).  I found coincards.ca, but was not impressed by how much mark up they impose on every purchase (5%).  Despite Coincards calling this a “convenience fee”, I don’t feel that having to eat a 5% fee for every purchase is very convenient.

Before looking at Coincards and Newegg I had tried overstock.com as I knew from the Tom Woods show that the founder was enthusiastic about bitcoin.  The idea behind this company is that they buy excess stock from vendors and can then offer the items for less.  Some browsing of the prices on this site leave me unconvinced.  I think the savings are passed on to the company and very little to the consumer, however, they accept bitcoin, so I thought “what the hell” and did a (fairly sizeable) test purchase.

This didn’t work out very well.  Either because of current bitcoin network latencies, or perhaps due to the fees added by the wallet that I used, my transaction timed out after “network fee may have been too low message” after I had submitted my payment to the Coinbase dialog that came up in the Overstock cart checkout.  The transaction had been submitted from my wallet to the bitcoin network, but Coinbase tells me the transaction is timed out, and I’m left with the item still in my card, unpaid.

Basically, my payment was stuck in limbo.  Overstock has an online chat support option, which is very responsive, but the support rep I got just played pass the buck:

Bishop: Hi, my name is Bishop. How may I help you?
peeter.joot: I attempted to make a purchase with bitcoin, and got a message saying that the mining fee may have been too small.  I see the transaction processed from my wallet (with two confirmations so far), but the coinbase transaction window claims the transaction expired.
Bishop: Hello there.
peeter.joot: it presented me with a window to return to overstock.com, and there’s no sign of my transaction there in my cart.
Bishop: I’ll be glad to check and help you with this information.
Bishop: In this situation I recommend you to contact  Coinbase, please visit support.coinbase.com or, email support@coinbase.com. for further help.
Bishop: I know I have not resolved the issue for now and have only shared a best possible recommendation, but was I able to address your concerns for now?
Bishop: I don’t mean to rush you, however our chat will time out in the next one minute; please respond so that we can stay connected.
Bishop:
Thank you for contacting Overstock. Before you go, we invite you to check out the exclusive benefits of becoming a Club O Member. Club O allows you to earn rewards and save more with every Overstock.com purchase. It’s our way of saying ‘Thank You’ for shopping with us. Click  here to learn more!
Bishop has disconnected.
The email address for Coinbase that Bishop gave me bounced, but did at least point me to the Coinbase support forum.  This got me a response:

Hi and thanks for contacting Coinbase Support.

I was able to locate the order details using the info provided. I see that you have paid for an order, but it was marked as Expired. Overstock has been paid for it, if you send the below info to Overstock, they should be able to locate your order to fulfill or refund it as desired.

https://www.coinbase.com/orders/XN0KMJGU

Order Code: XN0KMJGU
Created: 2017-09-30 6:29 AM
Merchant: Overstock.com
Order Status: Expired Confirmed Has mispayments
Address: …
Order Amount (BTC): … BTC
Order Amount (Native): … USD
Custom Parameter: 200882508
Button: … on Overstock.com invoice ID 200882508.

If you have any further questions, please let us know.

Randy
Coinbase Support
I provided this info to one of the Overstock support reps, who kept telling me that there wasn’t anything that he could do, and that I had to contact Coinbase for support, despite the fact that I’d just given him the info that Coinbase just provided me.  I was honestly convinced that this support rep was a robot, because he wasn’t capable of understanding even the simplest things.  After he claimed that he wasn’t a robot (unconvincingly) I asked to talk to a manager, and he said he’d have a specialist deal with the issue.
Eventually, I got a response from somebody in the payments department:
By Caroline S. on 10/05/2017 08:55 AM

Hello ,

I’m writing today in response to your recent contact about your Bitcoin order XN0KMJGU . I am happy to help you today.

So when we see the expired tab , it indicates that the system had timed out and the funds did not come through . I can issue the refund back through Coinbase . We will need to refund $… USD so you could try and place the order again . I tried to refund to your wallet address that you provided in the chat but it would not take that address . Do you have an e-mail that we could refund to ?

Please let me know if there is anything else I can do for you with this or any other issue. Visit us again soon for great savings on our name-brand products.

I am so sorry that the order did not process through and appreciate your patience while we work through this issue.

Please respond back to this e-mail .

Sincerely,

Caroline S.
Pay Support

I was severely unimpressed that they weren’t able to simply finalize the transaction I’d attempted, but instead had to refund the bitcoin, so that I could try again.  They had some trouble doing so since I did not use a Coinbase wallet for my payment, but a private wallet.  In the end, I resurrected the Coinbase wallet I had once created (but hadn’t used), and they sent the refund there successfully.
After this hassle I gave up on the item I originally tried to purchase, but thought I’d try Overstock one more time, but this time used my Coinbase wallet with the Overstock Coinbase dialogue.  My hope was that Coinbase would know the transaction was submitted, even if the bitcoin network confirmations hadn’t occurred, and treat it as paid despite the network.
For my second purchase attempt I ordered a refurbished unlocked phone for my wife, and a bench grinder for myself.  The phone came within a couple days (left unattended on my doorstep by the courier!), and the grinder arrived by Canada Post in about a week.
After the adventure of cutting and sanding my wife’s microsim to nanosim size (you can find instructions for this on youtube, but make sure to download the letter size template, not A4, and print it in actual size, not the default), we discovered the hard way that Overstock had sent a phone that was locked to AT&T, and it even listed the phone on the packing slip at an “ATT” phone and not unlocked.  This made the phone unless as it wasn’t even possible to get past the SIM setup screen to the settings nor the home screen.  I had to contact Overstock four times (three using the contact form, and finally once more with their phone number).  I’d been promised call backs twice (1-2 business days), and those never materialized.  The last support person I dealt with (Nora) was helpful, and told me that if I could get the phone unlocked manually for <= $50 they’d refund me that amount.  Unfortunately, after a trip to the mall to the little shop that unlocked my android phone, I was told that they couldn’t unlock this type of phone locked to AT&T, and told me that I’d probably be charged at least $140 Canadian for somebody that could do.  That price was consistent with the unlocking fee on unlockriver.com, which was $110 USD, so I gave up on getting it unlocked myself.
Because the phone that I’d ordered was out of stock on Overstock by the time we discovered it was locked, they weren’t able to send me a properly unlocked replacement of the same type.  I should have asked for an upgrade to the next most similar model since the combined time that my wife and I spent with customer support and playing with the phone and with the Canadian phone carriers was horrendous, and probably added up to hundreds of dollars of time equivalent to salary.
Instead I was sent a packing slip to return the phone:

Thank you for contacting Overstock.com.

We believe that we have resolved your inquiry. However, if it has not been answered to your satisfaction, you may reopen it within the next 7 days.

By Nora A. on 11/03/2017 01:49 PM

Hello Peeter,

We’re sorry to hear that you need to return your … (Refurbished) because it arrive and it is locked with ATT. We recognize that returning an item can be inconvenient, and we want to make this process as easy as possible.

We will return this item at no cost to you. Please print the return shipping label attached to this email. If you cannot open the PDF file, visit http://get.adobe.com/reader to download a free Adobe PDF reader. If you still cannot access or print the label, please email us at international@overstock.com or call us at 00-1-(919)576-9926.

Once the label is printed, please use the following steps to return your item:

1. Print the label and affix it to the package.
2. Write the Return Merchandise Authorization(RMA) number … on the outside of the package large enough for it to easily be seen.
3. Take the package to your nearest Canada Post office.

It may take 5-7 business days after we receive your return to issue your refund. We will send you an email notification once we complete your return.

Thank you for your patience through this return process. If you have any other questions on this or any other issue, please reply to this email or call us at 00-1-919-576-9926.

You may also view our full Standard Return Policy by visiting this link: https://help.overstock.com/app/answers/detail/a_id/1

Sincerely,

Nora A.
Overstock Global Solutions Specialist

So, once again, my attempt to purchase something on Overstock has left me without the item, and a requirement to return it, and retry the transaction again should I desire.  I don’t think there’s much chance in hell that I’ll try such a purchase on Overstock again.  A 1/3 success rate just doesn’t inspire confidence, and their prices aren’t that great to start with.

Playing with scammers, part II. I’d like my 5,125,000 euros in bitcoin please.

October 11, 2017 Incoherent ramblings No comments , , , ,

I posted some of my initial interactions with “Fred Gaston, Esq.”, a “lawyer” in need of some severe English literacy remediation.

Playing with internet scammers: 20.500.000.00 Euros

I still don’t have my 5,125,000 euros, but complicated the process by asking for my share in bitcoin, instead of just nicely giving him my banking information and the international swift codes for my bank so that he could “make a deposit” to my account.

Here’s some of the second round interactions.

Having not sent Mr. Gaston all the information he wanted, he’s nicely prompting me:

Hello Peeter Joot,
Your message was received and content well noted with .I therefore
look forward to hearing from you As soon as possible to enable us make
some progress.

Kindly please expedite action.My estimation of time for the completion
of this operation is 10 business days hence I need your total devotion
and trust for us to see this through quicky.

Thank you once again.

Your partner,
Fred Gaston, Esq.

so I feed him a bit of the info he’s asked for:

Since you asked, here is the address of one of my houses:
194 Roxborough Drive, Toronto, Ontario, M4W 1X8
Note that I don’t have multiple houses, and this house which listed a few years ago on the Toronto Real estate market for ~$20 million, is sadly not mine.  As I have had the good faith to send Mr. Gaston my address, he has now dispensed with his request for any identification, and has gone straight for the money shot, sending me his bank transfer form.  This was a bit disappointing since I wanted to send him an image of my 1st Dan WTF Black-Belt card, as “identification”.

Greetings Dear Peeter,
Having resolved to entrust this transaction into your hands,Please
copy the letter attached and fill in your bank account information
where the funds will be transferred to and then send the letter to the
bank by email to their email address as indicated to enable the bank
to begin to process the transfer of the funds to your bank
account.Please send this letter by email and then let me know.

Kind regards.
Your friend and partner,
Fred Gaston, Esq.

Here’s the attached letter for me to sign

 

Clearly, I’m not sending him the information that he needs to make an international withdrawal from my account.  Here’s a better option to “recieve my funds” :
Hi Fred,
I no longer use a bank for any of my financial matters, and have switched exclusively to bitcoin.  After I send you all my required documentation, please send my share of this large batch of Euros to my bitcoin address:
19Tht23MuaTc3YxzyX7DpogJd7BkzqVi4H
I know that there could be a currency loss on any given bitcoin transaction, but the amounts are so large that any approximation of my 40% share is acceptable to me.

His response is to gently prompt me to fill in the form anyways:

Dear friend and partner,
Please go ahead and send the application to the bank.Once the heritage
claim is approved by the bank we certainly can direct then on how to
recieve it.One step at a time.

Let me know as soon as you send the application to the bank and also
do send me the required documentation.

Thank you for your cooperation.

Your partner,
Fred Gaston,Esq.

So I have to explain what I mean:

I no longer use bank accounts, so cannot fill in your form.  The salary I take from the company I founded (GAEM), is entirely in bitcoin.
My company focuses on Geometric Algebra applications to electromagnetism.  Are you familiar with Geometric or Clifford algebras?  They are a very powerful mathematical tool.  Here’s a synopsis of the basic underlying concepts:
Geometric algebra is founded on the assumption that vectors can be multiplied, and that sums of scalars, vectors, and vector products, called multivectors, are well defined. Multivector addition and multiplication conforms to most of the rules that anybody would be expect of number like quantities, with a couple exceptions: order that multivectors are multiplied matters, and there is also no general multiplicative inverse. Multivector multiplication is also constrained by a rule that provides meaning for the square of a vector. The formal statement of the algebra is that of the multivector space.

Will Mr. Fred Gaston be a kindred mathematical cousin accross continents and be interested in my passion for electromagetism and geometric algebra?  Unfortunately not.  He ignores that part of my email and gives me a new form

Dear Peeter ,
It very much sound to me that you did not understand my previous
message to you.Go ahead and send the application to the bank.Once the
heritage
claim is approved by the bank we certainly can direct then on how to recieve it.

chech now i have simplify the application ,sent it in that format.

Let me know as soon as you send it.

Thank you.

Your partner,
Fred Gaston,Esq.

Here’s the new letter that he wants me to fill in

This new letter is somewhat mysterious to me, since I don’t see what he has to gain by having me fill this in?  Is this just to keep me hooked, and then he’ll ask for the bank info again, or is he switching to a different scam?  Google tells me that there is actually a Bank of Africa branch at this address, but I don’t see any financier.com domain, and ask him about that.

It looks like there’s a typo in the email address of your form, since financier.com does not appear to be valid.

In response he says:

Hello Peeter, Please check and make sure you actually copied the email address properly. (boa-bj@financier.com) Let me know when sent. Fred Gaston,Esq.

I’m able to send a test email to this email address, and it doesn’t bounce.  Later he prompts me, since I haven’t taken any action:

Good morning Peeter, Happy new week to you and hopefully you are in good health today?I have no further information from you and write to know if you where able to send the application. Expedient response please. Thank you. Fred Gaston, Esq.

This gives me a nice opening, since I have a cold:

Funny you should ask.  I’ve actually got a pretty unpleasant cold, a side effect of too much work while jet lagged.
How is your health?
But Mr. Gaston is strictly business, once again not willing to chit chat:
The “This message contains remote content”, with a virus-free link to click is an interesting twist.  In retrospect, I took a risk opening his “letter” or even the .jpgs that had his “identification”, since there was a chance that it could also have had a viral payload that my system could have been exploited with.
Having failed to get my bank info, I don’t actually know if Mr. Gaston is sophisticated enough to try to infect my computer, but I am left with the inclination to not play with him any further.

Playing with internet scammers: 20.500.000.00 Euros

October 5, 2017 Incoherent ramblings No comments ,

Since seeing a couple of James Veitch’s scam trolling videos:

I’ve been waiting for a chance to play too.  Well, I got my chance a few days ago, courtesy of FRED GASTON <barrfredgaston@yahoo.com>

Dear Peet
I am Barrister FRED GASTON, private attorney to Late Mr. Markus   Peet(My Late Client) a national of your country, who was a Gold Merchant Here in Republic Du Benin HattonAfrica.Herein after shall be Referred to as my client. On the 20th Of July 2011,My Client Lost His Life As A Result Of Brain Cancer,
As Confirmed By A Medical Specialist Who Was Taking Care Of His Illness For Over Six Months Before His Death.He did not marry and Since then I have made several enquiries to your embassy to locate any of my clients extended relatives, but all efforts ¨proved unsuccessful. After these several unsuccessful attempts, I decided to track his last name over the Internet to locate any of his family’s members, Hence I have contacted you because you have the same family
last name with my client.
I want you to assist in Repatriating his fund valued  (20.500.000.00 Euro) Twenty million five hundred  thousand Europians Euro, left behind by my late client before they get confiscated or declared unserviceable By The ” BANK” Here in Republic Du Benin where this huge amount were deposited. The Bank has issued me a notice to provide his relative or have the account confiscated, since I have been unsuccessful in locating the relatives for over four years now. For the fact that I have been unsuccessful in locating the relatives for over 2 years now.
I seek Your consent to present you as the rightful next of kin to my late client, since both of you have the same family last name, so that the proceeds of this account can be paid to you and then you and me can Share the money 60% for me and 40% to you. I have all important information and legal documents needed to back you up for the claim, all I require from you is your honest cooperation to enable us see this transaction through, I guarantee that this will be executed under legitimate arrangement that will protect you from any breach of  law.
Call me immediately you receive this mail on +229 68842298.  Also get back to me with the following  information’s for proper
Identification.
Your Full Name……………..
Your Address……………….
Your Age,………………….
Occupation and Position…..a……….,
Your Telephone Mobile………………
Your Fax…………
I await your Call and reply ASAP.
Best Regards,
Barrister FRED GASTON
MY PRIVATE EMAIL IS barrfredgaston@gmail.com
Well, I couldn’t resist:
Mr. Gaston,
As much as I’d like a big cut of those Euros, I’m not related to the late Mr Peet, as Peeter is my first name, not surname.
Peeter
I figured he’s just waiting for somebody to actually reply, and will interpret that as an opening to play his game, and I guessed right.  It didn’t take too long before I got his response, and as predicted he didn’t care that I’d disqualified myself in my reply:
Greetings Dear Peeter,
I am highly impressed with your immediate attention to my confidential business proposal to you.Very well,i want to assure you that by your cooperation that we can arrange the paper wsork of this claim without any flaws to have these heritage approved by the bank and the funds transfer in your name for our mutual benefit.I do not want the corrupt goverment Benin to take over these funds.
The requirements for us to succesfully claim out this fund is our presentation of all back up legal document here in your name as next of kin to these deposit so that the funds will be approved by the bank and transfererd to your bank account as the beneficiary.
Please note that this transaction is 100 percent risk free and failure proofed as all arrangement is going to be handle legally to protect you from any breach of law. To enable us proceed officially in this transaction please send to me your below personal information:
1,Your Full Names
2.Your Address
3.Copy Of Your Identification
4.Your Occupation
As soon as i recieved the above information from you i will draft an application of fund claim that you will tender to the bank here for their immediate approval of the claim.
Thank you and kind regards.
Fred Gaston, Esq.
Playing dumb, I queried the illogic of his response:
Hi Mr. Gaston,
I’m not sure I understand.  If I were to provide you with legal documentation, such as my passport for example, it would demonstrate that I’m not eligible for the inheritance.
Peeter
Here’s where it gets a bit fun.  To inspire confidence, he now supplies his “Identification” to me, along with the following response:
Hello Peeter
Do i understand from your mail that you do not have international passport or that you are afraid to provide it.
Listen dear friend,there is nothing to fear or worroied about,if there is any risk in this transaction i would not undertake it.I really need that you give me your personal informations so that i can know who i am dealing with not for any other reason.This is a transaction that involve a mangitutude amount ,i really have to knwow who i am dealing with.I quite hope you understand me.
Enclosed in is my proof of identification for your perusal.Please send to me the below so that we can proceed,
1,Your Full Names
2.Your Address
3.Copy Of Your Identification photo
4.Your Occupation
Thank you, Fred Gaston,Esq.
My response, which naturally didn’t include my passport (and I don’t have James’ photoshop skills) was just:

You already have my full names.  Unlike so many people, I have no middle name.  I don’t have a scanner with me to make a copy of my documentation.  That will have to wait until next week since I am currently travelling.

Peeter
I figure that this will be enough to keep him intrigued, but haven’t gotten a response yet.  The game is still on, stay tuned;)