Skip to content

Commit

Permalink
new rendition
Browse files Browse the repository at this point in the history
  • Loading branch information
opyate committed May 11, 2016
1 parent 987df28 commit c693113
Show file tree
Hide file tree
Showing 34 changed files with 478 additions and 104 deletions.
8 changes: 6 additions & 2 deletions 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -91,8 +91,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
8 changes: 6 additions & 2 deletions about.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -91,8 +91,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
8 changes: 6 additions & 2 deletions archive/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


<strong>Archive</strong>
Expand Down Expand Up @@ -91,8 +91,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down Expand Up @@ -272,15 +276,15 @@ <h1 id="example-of-a-diy-mitm-attack">Example of a DIY MITM attack</h1>

<p>Create this simple index file:</p>

<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;p&gt;</span>IFRAME below<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;iframe</span> <span class="na">id=</span><span class="s">&quot;frame1&quot;</span> <span class="na">src=</span><span class="s">&quot;http://localhost:8000/i-dont-matter.html&quot;</span><span class="nt">&gt;&lt;/iframe&gt;</span></code></pre></figure>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;p&gt;</span>IFRAME below<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;iframe</span> <span class="na">id=</span><span class="s">&quot;frame1&quot;</span> <span class="na">src=</span><span class="s">&quot;http://localhost:8000/i-dont-matter.html&quot;</span><span class="nt">&gt;&lt;/iframe&gt;</span></code></pre></div>

<p>Create this simple form which will be loaded by the IFRAME:</p>

<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">&quot;https://httpbin.org/post&quot;</span> <span class="na">method=</span><span class="s">&quot;POST&quot;</span><span class="nt">&gt;</span>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">&quot;https://httpbin.org/post&quot;</span> <span class="na">method=</span><span class="s">&quot;POST&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;input</span> <span class="na">name=</span><span class="s">&quot;secret&quot;</span> <span class="na">placeholder=</span><span class="s">&quot;Secret stuff here&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;submit&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;/form&gt;</span></code></pre></figure>
<span class="nt">&lt;/form&gt;</span></code></pre></div>

<p>Host the code locally with Python:</p>

Expand All @@ -291,14 +295,14 @@ <h1 id="example-of-a-diy-mitm-attack">Example of a DIY MITM attack</h1>

<p>Now, reload the page, but open your browser’s dev tools, and paste the code from the hack into the JavaScript console:</p>

<figure class="highlight"><pre><code class="language-javascript" data-lang="javascript"><span class="kd">var</span> <span class="nx">contents</span> <span class="o">=</span> <span class="s1">&#39;&lt;form action=&quot;https://httpbin.org/post&quot; method=&quot;POST&quot;&gt;&#39;</span><span class="p">;</span>
<div class="highlight"><pre><code class="language-javascript" data-lang="javascript"><span class="kd">var</span> <span class="nx">contents</span> <span class="o">=</span> <span class="s1">&#39;&lt;form action=&quot;https://httpbin.org/post&quot; method=&quot;POST&quot;&gt;&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;&lt;input name=&quot;secret&quot; placeholder=&quot;Secret stuff here&quot;&gt;&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;&lt;input type=&quot;submit&quot; onclick=&quot;return hack()&quot;&gt;&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;&lt;script type=&quot;text/javascript&quot;&gt;&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;function hack() { alert(&quot;h4x0rz&quot;); }&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/script&gt;&#39;</span><span class="p">;</span>
<span class="nx">contents</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/form&gt;&#39;</span><span class="p">;</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s1">&#39;frame1&#39;</span><span class="p">).</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">&quot;data:text/html;charset=utf-8,&quot;</span> <span class="o">+</span> <span class="nx">escape</span><span class="p">(</span><span class="nx">contents</span><span class="p">);</span></code></pre></figure>
<span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s1">&#39;frame1&#39;</span><span class="p">).</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">&quot;data:text/html;charset=utf-8,&quot;</span> <span class="o">+</span> <span class="nx">escape</span><span class="p">(</span><span class="nx">contents</span><span class="p">);</span></code></pre></div>

<p>This is the MITM attack. This is what the attacker could do with the “in-the-clear data stream” we discussed before. The attacker simply matched on a known token (like the form submit button) and injected custom code with which to do evil.</p>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
8 changes: 6 additions & 2 deletions blog/2015/09/17/n-business-days-until.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
20 changes: 12 additions & 8 deletions blog/2015/10/11/mandelbrot-fractal-with-pixie-on-ubuntu.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down Expand Up @@ -226,7 +230,7 @@ <h1 class="post-title">Mandelbrot fractal with Pixie on Ubuntu</h1>

<p>A first run failed with this error:</p>

<figure class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">/tmp/tmp.cpp: In function ‘int main(int, char**)’:</span>
<div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">/tmp/tmp.cpp: In function ‘int main(int, char**)’:</span>
<span class="go">/tmp/tmp.cpp:19:50: error: no matching function for call to ‘DumpValue(&lt;anonymous enum&gt;)’</span>
<span class="go"> PixieChecker::DumpValue(SDL_PIXELFORMAT_RGBA8888); </span>
<span class="go"> ^</span>
Expand Down Expand Up @@ -263,19 +267,19 @@ <h1 class="post-title">Mandelbrot fractal with Pixie on Ubuntu</h1>
<span class="go">in internal function read-string</span>

<span class="go">RuntimeException: :pixie.stdlib/EOFWhileReadingException Unexpected EOF while reading</span>
<span class="go">&lt;/pre&gt;</span></code></pre></figure>
<span class="go">&lt;/pre&gt;</span></code></pre></div>

<p>The error</p>

<figure class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">/tmp/tmp.cpp:19:50: error: no matching function for call to ‘DumpValue(&lt;anonymous enum&gt;)’</span>
<span class="go"> PixieChecker::DumpValue(SDL_PIXELFORMAT_RGBA8888); </span></code></pre></figure>
<div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">/tmp/tmp.cpp:19:50: error: no matching function for call to ‘DumpValue(&lt;anonymous enum&gt;)’</span>
<span class="go"> PixieChecker::DumpValue(SDL_PIXELFORMAT_RGBA8888);</span></code></pre></div>

<p>can be worked around by ensuring the <a href="https://github.com/pixie-lang/pixie/blob/master/pixie/ffi-infer.pxi">FFI-infer</a> runs C++ with <code>-std=c++0x</code>, because this more recent spec lifts the limitation of unnamed types being used as template arguments.</p>

<p>Instead, I just installed <a href="http://clang.llvm.org/">Clang</a> and set up my <em>alternatives</em> to point to it:</p>

<figure class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">sudo apt-get install clang</span>
<span class="go">sudo update-alternatives --set c++ /usr/bin/clang++</span></code></pre></figure>
<div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">sudo apt-get install clang</span>
<span class="go">sudo update-alternatives --set c++ /usr/bin/clang++</span></code></pre></div>

<p>Et voilà!</p>

Expand Down
14 changes: 9 additions & 5 deletions blog/2015/10/17/spacemacs-layer-for-pixie.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down Expand Up @@ -229,7 +233,7 @@ <h1 id="create-a-custom-layer-for-spacemacs">Create a custom layer for Spacemacs

<p>Start with creating the layer from within Spacemacs:</p>

<figure class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">&lt;SPC&gt; : configuration-layer/create-layer &lt;RET&gt;</span></code></pre></figure>
<div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">&lt;SPC&gt; : configuration-layer/create-layer &lt;RET&gt;</span></code></pre></div>

<p>Press <code>&lt;RET&gt;</code> again to create the layer in the default directory <code>$HOME/.emacs.d/private</code>.</p>

Expand All @@ -251,7 +255,7 @@ <h1 id="result">Result</h1>

<p>Here’s what I came up with for Pixie. At the moment, it offers bindings to start the REPL, and eval s-expressions (and an option to jump to the REPL after evaluation).</p>

<figure class="highlight"><pre><code class="language-elisp" data-lang="elisp"><span class="c1">;;; packages.el --- pixie Layer packages File for Spacemacs</span>
<div class="highlight"><pre><code class="language-elisp" data-lang="elisp"><span class="c1">;;; packages.el --- pixie Layer packages File for Spacemacs</span>
<span class="c1">;;</span>
<span class="c1">;; Copyright (c) 2012-2014 Sylvain Benner</span>
<span class="c1">;; Copyright (c) 2014-2015 Sylvain Benner &amp; Contributors</span>
Expand Down Expand Up @@ -304,7 +308,7 @@ <h1 id="result">Result</h1>
<span class="c1">;;</span>
<span class="c1">;; Often the body of an initialize function uses `use-package&#39;</span>
<span class="c1">;; For more info on `use-package&#39;, see readme:</span>
<span class="c1">;; https://github.com/jwiegley/use-package</span></code></pre></figure>
<span class="c1">;; https://github.com/jwiegley/use-package</span></code></pre></div>

<p>It’s by no means complete, and I plan to implement basic functionality involving navigation, documentation, tests (Pixie test frameworks permitting), and evaluation of more forms.</p>

Expand Down
8 changes: 6 additions & 2 deletions blog/2016/02/29/ajax-when-was-your-first-time.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
8 changes: 6 additions & 2 deletions blog/2016/03/10/docker-this-docker-that.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down
16 changes: 10 additions & 6 deletions blog/2016/03/29/using-clojure-with-unity3d-inside-docker.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@


<li>
<a class="page-link" href="/archive/">
<a class="page-link" href="/archive/index.html">


Archive
Expand Down Expand Up @@ -90,8 +90,12 @@







<li>
<a class="page-link" href="/">
<a class="page-link" href="/index.html">


Home
Expand Down Expand Up @@ -231,7 +235,7 @@ <h1 class="post-title">Using Clojure with Unity3D inside Docker</h1>

<h2 id="a-bird">A bird</h2>

<figure class="highlight"><pre><code class="language-clojure" data-lang="clojure"><span class="p">(</span><span class="nf">defcomponent</span> <span class="nv">Bird</span> <span class="p">[</span><span class="o">^</span><span class="nv">Vector2</span> <span class="nv">force</span><span class="p">]</span>
<div class="highlight"><pre><code class="language-clojure" data-lang="clojure"><span class="p">(</span><span class="nf">defcomponent</span> <span class="nv">Bird</span> <span class="p">[</span><span class="o">^</span><span class="nv">Vector2</span> <span class="nv">force</span><span class="p">]</span>
<span class="p">(</span><span class="nf">Start</span> <span class="p">[</span><span class="nv">this</span><span class="p">]</span>
<span class="p">(</span><span class="nf">reset!</span> <span class="nv">score</span> <span class="mi">0</span><span class="p">))</span>
<span class="p">(</span><span class="nf">Update</span> <span class="p">[</span><span class="nv">this</span><span class="p">]</span>
Expand All @@ -242,11 +246,11 @@ <h2 id="a-bird">A bird</h2>
<span class="p">(</span><span class="nf">AddForce</span> <span class="nv">force</span> <span class="nv">ForceMode2D/Impulse</span><span class="p">))))</span>
<span class="p">(</span><span class="nf">OnCollisionEnter2D</span> <span class="p">[</span><span class="nv">this</span> <span class="nv">collision</span><span class="p">]</span>
<span class="p">(</span><span class="k">if </span><span class="p">(</span><span class="nb">= </span><span class="p">(</span><span class="nb">.. </span><span class="nv">collision</span> <span class="nv">gameObject</span> <span class="nv">tag</span><span class="p">)</span> <span class="s">&quot;Boundary&quot;</span><span class="p">)</span>
<span class="p">(</span><span class="nf">game-over</span><span class="p">))))</span></code></pre></figure>
<span class="p">(</span><span class="nf">game-over</span><span class="p">))))</span></code></pre></div>

<h2 id="move-some-pipes">Move some pipes</h2>

<figure class="highlight"><pre><code class="language-clojure" data-lang="clojure"><span class="p">(</span><span class="nf">defcomponent</span> <span class="nv">MovingPipe</span> <span class="p">[</span><span class="o">^</span><span class="nb">float </span><span class="nv">speed</span><span class="p">]</span>
<div class="highlight"><pre><code class="language-clojure" data-lang="clojure"><span class="p">(</span><span class="nf">defcomponent</span> <span class="nv">MovingPipe</span> <span class="p">[</span><span class="o">^</span><span class="nb">float </span><span class="nv">speed</span><span class="p">]</span>
<span class="p">(</span><span class="nf">Update</span> <span class="p">[</span><span class="nv">this</span><span class="p">]</span> <span class="p">(</span><span class="nf">pipe-update</span> <span class="nv">this</span><span class="p">)))</span>

<span class="p">(</span><span class="kd">defn </span><span class="nv">+-</span> <span class="p">[]</span>
Expand All @@ -265,7 +269,7 @@ <h2 id="move-some-pipes">Move some pipes</h2>
<span class="p">((</span><span class="nf">+-</span><span class="p">)</span> <span class="c1">; fluctuating pipe heights</span>
<span class="p">(</span><span class="nb">.. </span><span class="nv">this</span> <span class="nv">transform</span> <span class="nv">position</span> <span class="nv">y</span><span class="p">)</span>
<span class="p">(</span><span class="nb">* </span><span class="mf">0.3</span> <span class="p">(</span><span class="nf">rand</span><span class="p">)))</span>
<span class="mi">0</span><span class="p">))))</span></code></pre></figure>
<span class="mi">0</span><span class="p">))))</span></code></pre></div>

<p>Oh, and I did mention that I’m doing all of this <a href="https://github.com/opyate/unity3d">inside Docker</a>.</p>

Expand Down
Loading

0 comments on commit c693113

Please sign in to comment.