MagiCarbonJekyll2016-08-12T10:16:37+00:00http://love.magicarbon.com/MagiCarbonhttp://love.magicarbon.com/MagiCarbon@gmail.comhttp://love.magicarbon.com/blog/2016/08/12/something-about-function-and-class-REPL-in-javascript2016-08-12T10:11:00+00:002016-08-12T10:11:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<figure>
<a href="/images/post/blog/2016/08-12-something-about-function-and-class-REPL-in-javascript.png"><img src="/images/post/blog/2016/08-12-something-about-function-and-class-REPL-in-javascript.png" alt="Code In ST3" class="center" /></a>
</figure>
<h2 id="repl">REPL</h2>
<div class="highlighter-rouge"><pre class="highlight"><code>$ node
> function ClassA() { this.value = 'a'; }
undefined
>
> class ClassB { constructor() { this.value = 'b'; } }
[Function: ClassB]
> ClassA // [Function: ClassA]
[Function: ClassA]
>
> ClassB // [Function: ClassB]
[Function: ClassB]
>
> let a = new ClassA();
undefined
> let b = new ClassB();
undefined
>
> ClassA.prototype.echo = function() { return this.value; };
[Function]
>
> a.echo(); // 'a'
'a'
>
> b.echo(); // error
TypeError: b.echo is not a function
at repl:1:3
at sigintHandlersWrap (vm.js:32:31)
at sigintHandlersWrap (vm.js:96:12)
at ContextifyScript.Script.runInContext (vm.js:31:12)
at REPLServer.defaultEval (repl.js:308:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:477:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
>
> ClassB.prototype.echo = function() { return this.value; }
[Function]
>
> b.echo(); // 'b'
'b'
>
> ClassA.prototype.echo === ClassB.prototype.echo; // false
false
>
> a.__proto__.echo = function() { return this.value + 'c'; };
[Function]
>
> a.echo(); // 'ac'
'ac'
>
> b.__proto__.echo = ClassA.prototype.echo;
[Function]
>
> b.echo(); // 'bc'
'bc'
>
> ClassA.prototype.echo === ClassB.prototype.echo; // true
true
>
</code></pre>
</div>
<p><strong>plain</strong></p>
<p>function ClassA() { this.value = ‘a’; }</p>
<p>class ClassB { constructor() { this.value = ‘b’; } }
ClassA // [Function: ClassA]</p>
<p>ClassB // [Function: ClassB]</p>
<p>let a = new ClassA();
let b = new ClassB();</p>
<p>ClassA.prototype.echo = function() { return this.value; };</p>
<p>a.echo(); // ‘a’</p>
<p>b.echo(); // error</p>
<p>ClassB.prototype.echo = function() { return this.value; }</p>
<p>b.echo(); // ‘b’</p>
<p>ClassA.prototype.echo === ClassB.prototype.echo; // false</p>
<p>a.<strong>proto</strong>.echo = function() { return this.value + ‘c’; };</p>
<p>a.echo(); // ‘ac’</p>
<p>b.<strong>proto</strong>.echo = ClassA.prototype.echo;</p>
<p>b.echo(); // ‘bc’</p>
<p>ClassA.prototype.echo === ClassB.prototype.echo; // true</p>
<p><a href="http://love.magicarbon.com/blog/2016/08/12/something-about-function-and-class-REPL-in-javascript.html">something about function and class REPL in javascript</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on August 12, 2016.</p>
http://love.magicarbon.com/blog/2016/04/14/openssl-create-SCR-with-multiple-SANs2016-04-14T07:50:00+00:002016-04-14T07:50:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<h2 id="goal">GOAL</h2>
<p>one certificate works with multiple subdomain.</p>
<h3 id="first-config-openssl-sancnf">first config openssl-san.cnf</h3>
<p>mkdir test-san && cd test-san
cp /etc/ssl/openssl.cnf ./openssl-san.cnf</p>
<p>add the followings:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[req]
req_extensions = v3_req
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = test.com
DNS.2 = www.test.com
DNS.3 = mail.test.com
</code></pre>
</div>
<h3 id="then-create-new-key-with-password">then create new key with password</h3>
<p>openssl genrsa -passout stdin -out server.key 2048</p>
<p><em>or</em></p>
<table>
<tbody>
<tr>
<td>ssh-askpass</td>
<td>openssl genrsa -passout stdin -out server.key 2048</td>
</tr>
</tbody>
</table>
<h3 id="finally-create-the-csr-file">finally create the CSR file</h3>
<p>openssl req -new -out req.csr -key server.key -config openssl-san.cnf</p>
<p><em><strong>check SANs</strong></em></p>
<p><em>openssl req -text -noout -in req.csr</em></p>
<p><a href="http://wiki.cacert.org/FAQ/subjectAltName" target="_blank">CAcert wiki</a></p>
<p><a href="http://love.magicarbon.com/blog/2016/04/14/openssl-create-SCR-with-multiple-SANs.html">openssl create SCR with multiple SANs</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on April 14, 2016.</p>
http://love.magicarbon.com/blog/2016/01/29/xfce4.12-not-working-with-xdm2016-01-29T09:00:00+00:002016-01-29T09:00:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<h2 id="env-info">env info</h2>
<p>FreeBSD: 10.2
xfce: 4.12
xdm: 1.1.11</p>
<h4 id="issue">issue</h4>
<p>cant log into xfce via xdm</p>
<h4 id="solution">solution</h4>
<p><em>vim /usr/local/lib/X11/xdm/xdm-config</em> add the following content to end;</p>
<div class="language-conf highlighter-rouge"><pre class="highlight"><code><span class="n">DisplayManager</span>*<span class="n">authName</span>: <span class="n">MIT</span>-<span class="n">MAGIC</span>-<span class="n">COOKIE</span>-<span class="m">1</span>
</code></pre>
</div>
<p><strong>Caution:</strong>system update may rewrite this config.</p>
<h4 id="links">LINKS</h4>
<p><a href="https://forums.freebsd.org/threads/xfce-fails-to-start-from-xdm.42381/" target="_blank">xfce fails to start from xdm</a>
<a href="http://freebsd.1045724.n5.nabble.com/Re-ports-154502-x11-xdm-authorization-failure-when-used-with-E17-window-manager-td5819660.html" target="_blank">Re: ports/154502: x11/xdm authorization failure when used with E17 window manager</a></p>
<blockquote>
<p>In FreeBSD PR 154502, you wrote:
> Xdm authorization fails after user login.
> The user is unable to start an E17 window manager session, and is
> returned to the xdm login screen.</p>
<p>> Fix: Need to add the missing option:
> DisplayManager*authName: MIT-MAGIC-COOKIE-1</p>
<p>I take it that the error message
XDM authorization key matches an existing client!
appears in .xsession-errors.</p>
<p>I recently encountered this issue when trying to log in using xdm and
xfce4-session. Adding the quoted line to xdm-config fixed the problem
for me.</p>
<p>The cause is that the implementation of XDM-AUTHORIZATION-1 is broken if
applications execve or unload/reload libX11/libxcb between connections
to the X server. More information can be found in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486606</p>
<p>Since it is unclear whether XDM-AUTHORIZATION-1 will be fixed and if so,
where, I think it is best to disable it in xdm. It looks like adding
–disable-xdm-auth to xdm’s configure flags will do this but I have not
tested it. I think the security impact is minimal; gdm does not use
XDM-AUTHORIZATION-1 either.</p>
</blockquote>
<p><strong>Okay, good luck.</strong></p>
<p><a href="http://love.magicarbon.com/blog/2016/01/29/xfce4.12-not-working-with-xdm.html">xfce4.12 not working with xdm</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on January 29, 2016.</p>
http://love.magicarbon.com/blog/2016/01/29/FreeBSD10.2-xfce4.12-shutdown-and-reboot-button-grey-out2016-01-29T06:14:00+00:002016-01-29T06:14:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<h2 id="env-info">env info</h2>
<p>FreeBSD: 10.2
xfce: 4.12</p>
<h4 id="likelihood-0-look-out-xfce4-session-message">LIKELIHOOD 0: look out xfce4-session message</h4>
<div class="highlighter-rouge"><pre class="highlight"><code>pkg info -D xfce4-session
</code></pre>
</div>
<blockquote>
<p>xfce4-session-4.12.1_2:
Always:
To be able to shutdown or reboot your system, you’ll have to add .rules
files in /usr/local/etc/polkit-1/rules.d directory. Which looks
like this (replace PUTYOURGROUPHERE by your group):</p>
<p>polkit.addRule(function (action, subject) {
if (action.id == “org.freedesktop.consolekit.system.restart” ||
action.id == “org.freedesktop.consolekit.system.stop”
&& subject.isInGroup(“PUTYOURGROUPHERE”)) {
return polkit.Result.YES;
}
});</p>
<p>For those who have working suspend/resume:</p>
<p>polkit.addRule(function (action, subject) {
if (action.id == “org.freedesktop.consolekit.system.suspend”
&& subject.isInGroup(“PUTYOURGROUPHERE”)) {
return polkit.Result.YES;
}
});</p>
</blockquote>
<p><strong>if this does not work out, just keep on reading LIKELIHOOD1.</strong></p>
<h4 id="likelihood-1-filedir-permission">LIKELIHOOD 1: file/dir permission</h4>
<p>make sure the user <code class="highlighter-rouge">polkitd</code> could read its configure folder. this happend on FreeBSD 10.2.</p>
<p><a href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202615" target="_blank">and here is the <em>RP</em></a></p>
<h5 id="solution">solution:</h5>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>sudo chown -R polkitd /usr/local/etc/polkit-1
</code></pre>
</div>
<h4 id="likelihood-2-dbus">LIKELIHOOD 2: dbus</h4>
<p>you must make sure <code class="highlighter-rouge">dbus</code> and <code class="highlighter-rouge">hald</code> services started.</p>
<h5 id="solution-1">solution:</h5>
<p><em>vim /etc/rc.conf</em></p>
<div class="language-conf highlighter-rouge"><pre class="highlight"><code><span class="n">dbus_enable</span>=<span class="s2">"YES"</span>
<span class="n">hald_enable</span>=<span class="s2">"YES"</span>
</code></pre>
</div>
<h4 id="link">LINK</h4>
<p><a href="https://forums.freebsd.org/threads/xfce4-shutdown-as-normal-user.53490/" target="_blank">Xfce4 - shutdown as normal user</a></p>
<p><strong>Okay, good luck.</strong></p>
<p><a href="http://love.magicarbon.com/blog/2016/01/29/FreeBSD10.2-xfce4.12-shutdown-and-reboot-button-grey-out.html">FreeBSD10.2 xfce4.12 shutdown and reboot button grey out.</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on January 29, 2016.</p>
http://love.magicarbon.com/blog/2015/12/08/bash-command-not-found-in-Arch-Linux2015-12-08T10:00:00+00:002015-12-08T10:00:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p><a href="https://wiki.archlinux.org/index.php/Pkgfile" target="_blank">pkgfile</a> includes a “command not found” hook that will automatically search the official repositories, when entering an unrecognized command.</p>
<h5 id="first">First</h5>
<p>make sure that <code class="highlighter-rouge">pkgfile</code> package have been installed. if not, do it as follows:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>pacman -S pkgfile
</code></pre>
</div>
<h5 id="then">Then</h5>
<p>edit <code class="highlighter-rouge">~/.bashrc</code> by vim ( or any text editor you perfer to. )</p>
<p>add the following line at the end of the file.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="nb">source</span> /usr/share/doc/pkgfile/command-not-found.bash
</code></pre>
</div>
<p>logout and login again. you should got the magic.</p>
<p>(<em>ps. instead of re-login, you could just execute that line, which seems more simple</em>)</p>
<h5 id="test">Test</h5>
<p>try to enter a command haven’t installed yet. you will get the packages info about it.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">[</span>root@ArchLinux ~]# wget
wget may be found <span class="k">in </span>the following packages:
extra/wget 1.16.3-1 /usr/bin/wget
</code></pre>
</div>
<p><a href="http://love.magicarbon.com/blog/2015/12/08/bash-command-not-found-in-Arch-Linux.html">bash "command not found" in Arch Linux</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on December 08, 2015.</p>
http://love.magicarbon.com/blog/2015/11/30/binding-80-port-error-in-nodejs2015-11-30T10:00:00+00:002015-11-30T10:00:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<h3 id="env-nodejs-opensuse">ENV: Node.js, OpenSUSE</h3>
<h3 id="what-happened">what happened?</h3>
<p>in terminal, http server isn’t up while trying to <code class="highlighter-rouge">live-server --port=80</code> or <code class="highlighter-rouge">http-server -p80</code>.</p>
<h3 id="solution">solution</h3>
<p>add the ‘sudo’ before the command. e.g. <code class="highlighter-rouge">sudo live-server --port=80</code>. this is because the first 1024 ports are reserved for root in Node.js.</p>
<p><a href="http://love.magicarbon.com/blog/2015/11/30/binding-80-port-error-in-nodejs.html">binding 80 port error in Node.js</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 30, 2015.</p>
http://love.magicarbon.com/blog/2015/11/23/the-meaning-of-subtype-in-Array-Types-in-TypeScript2015-11-23T10:00:00+00:002015-11-23T10:00:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>dear me,
recently, learning TypeScript by reading the official handbook. sometimes i feel myself so stupid.</p>
<p>i dunno, just cant figure out the meaning of ‘subtype’;</p>
<h3 id="here-is-some-example-of-subtype">here is some example of ‘subtype’.</h3>
<blockquote>
<p>There are two types of supported index types: string and number. It is possible to support both types of index, with the restriction that the type returned from the numeric index must be a subtype of the type returned from the string index.
- <a href="http://www.typescriptlang.org/Handbook#interfaces-array-types" target="_blank">Official HandBook</a></p>
</blockquote>
<div class="language-typescript highlighter-rouge"><pre class="highlight"><code><span class="kr">interface</span> <span class="nx">StringNumberArray</span> <span class="p">{</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">string</span><span class="p">]</span><span class="err">:</span> <span class="kr">string</span><span class="p">;</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">number</span><span class="p">]</span><span class="err">:</span> <span class="kr">string</span><span class="p">;</span> <span class="c1">//numbric index must be a type of 'string' as same as the type of string index</span>
<span class="p">}</span>
</code></pre>
</div>
<p><em>or</em></p>
<div class="language-typescript highlighter-rouge"><pre class="highlight"><code><span class="c1">//i think this case is better, which is more 'subtype-style'.</span>
<span class="kr">interface</span> <span class="nx">StringNumberArray</span> <span class="p">{</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">string</span><span class="p">]</span><span class="err">:</span> <span class="p">{</span><span class="nl">a</span><span class="p">:</span><span class="kr">string</span><span class="p">};</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">number</span><span class="p">]</span><span class="err">:</span> <span class="p">{</span> <span class="nl">a</span><span class="p">:</span> <span class="kr">string</span><span class="p">,</span> <span class="nx">b</span><span class="err">:</span> <span class="kr">string</span> <span class="p">};</span>
<span class="p">}</span>
</code></pre>
</div>
<blockquote>
<p>While index signatures are a powerful way to describe the array and ‘dictionary’ pattern, they also enforce that all properties match their return type. In this example, the property does not match the more general index, and the type-checker gives an error:
- <a href="http://www.typescriptlang.org/Handbook#interfaces-array-types" target="_blank">Official HandBook</a></p>
</blockquote>
<div class="language-typescript highlighter-rouge"><pre class="highlight"><code><span class="kr">interface</span> <span class="nx">Dictionary</span> <span class="p">{</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">string</span><span class="p">]</span><span class="err">:</span> <span class="kr">string</span><span class="p">;</span>
<span class="nl">length</span><span class="p">:</span> <span class="kr">number</span><span class="p">;</span> <span class="c1">// error, the type of 'length' is not a subtype of the indexer</span>
<span class="p">}</span>
</code></pre>
</div>
<p>in above case, the type of property ‘length’ must be a ‘string’!!</p>
<div class="language-typescript highlighter-rouge"><pre class="highlight"><code><span class="kr">interface</span> <span class="nx">Dictionary</span> <span class="p">{</span>
<span class="p">[</span><span class="nx">index</span><span class="err">:</span> <span class="kr">string</span><span class="p">]</span><span class="err">:</span> <span class="p">{</span><span class="nl">a</span><span class="p">:</span> <span class="kr">string</span><span class="p">};</span>
<span class="nl">length</span><span class="p">:</span> <span class="p">{</span><span class="nl">a</span><span class="p">:</span> <span class="kr">string</span><span class="p">};</span> <span class="c1">// here must be '{a: string}' type</span>
<span class="p">}</span>
</code></pre>
</div>
<p><a href="http://love.magicarbon.com/blog/2015/11/23/the-meaning-of-subtype-in-Array-Types-in-TypeScript.html">the meaning of 'subtype' in Array Types in TypeScript</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 23, 2015.</p>
http://love.magicarbon.com/blog/2015/11/12/disable-packagekitd-auto-start-in-KDE2015-11-12T07:04:00+00:002015-11-12T07:04:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>lately, updated to OpenSUSE Leap 42.1 from 13.2. but i couldnt disable the ‘packagekitd’ service.</p>
<p>And it is always annoying, boring, blah blah…</p>
<p><strong>anyway, I HATE IT!!</strong></p>
<h4 id="here-is-the-solution">HERE IS THE SOLUTION:</h4>
<ol>
<li>Right click on ‘System Tray’;</li>
<li>Select ‘System Tray Settings’;</li>
<li>You should see an item( in ‘Extra Items’ section) named ‘Software Updates’.</li>
<li>Uncheck the box, then apply the change.</li>
</ol>
<p>That’s all, so simple. lol.</p>
<figure>
<a href="/images/post/blog/2015/11-12-disable-packagekitd.png"><img src="/images/post/blog/2015/11-12-disable-packagekitd.png" alt="System Tray Settings" class="center" /></a>
</figure>
<p><a href="http://love.magicarbon.com/blog/2015/11/12/disable-packagekitd-auto-start-in-KDE.html">disable packagekitd auto start in KDE</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 12, 2015.</p>
http://love.magicarbon.com/blog/2015/11/09/hide-window-title-bar-in-KDE2015-11-09T07:55:00+00:002015-11-09T07:55:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>hide title bar when maximizing the window</p>
<h5 id="kde4">KDE4</h5>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>kwriteconfig --file kwinrc --group Windows --key BorderlessMaximizedWindows <span class="nb">true</span>
</code></pre>
</div>
<h5 id="kde5aka-plasma-since-opensuse-leap-421">KDE5<em>(AKA Plasma, since OpenSUSE LEAP 42.1)</em></h5>
<div class="language-shell highlighter-rouge"><pre class="highlight"><code>kwriteconfig5 --file kwinrc --group Windows --key BorderlessMaximizedWindows <span class="nb">true</span>
</code></pre>
</div>
<p><a href="http://love.magicarbon.com/blog/2015/11/09/hide-window-title-bar-in-KDE.html">hide window title bar in KDE</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 09, 2015.</p>
http://love.magicarbon.com/blog/2015/11/02/jekyll-make-develop-config-yml-file2015-11-02T17:35:00+00:002015-11-02T17:35:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>the url of MagiCarbon is configed as <a href="http://love.magicarbon.com">love.magicarbon.com</a> in _config.yml file.</p>
<p>but it push me into a embarrassed situation while run Jekyll serve in local ENV.</p>
<p>i have to change the url in _config.yml file temporarily and also make sure not include it while commit.</p>
<p><strong>here is the solution</strong></p>
<p>first copy the _config.yml to _config-local.yml, and set the url in the _config-local.yml file;</p>
<p>then run:</p>
<p><code class="highlighter-rouge">bundle exec jekyll serve -H0.0.0.0 --config _config-local.yml</code></p>
<p>that’s all.</p>
<p><em><strong>note</strong>: better for you to add ‘_config-local.yml’ to .gitignore list</em></p>
<p><em><strong>alternatively</strong>, you can create a bash-shell script file named <code class="highlighter-rouge">serve.sh</code>, put the above content in.</em></p>
<figure>
<figcaption>"WHEN IT DOES NOT INCREASE, IT DECREASES."</figcaption>
</figure>
<p><a href="http://love.magicarbon.com/blog/2015/11/02/jekyll-make-develop-config-yml-file.html">Using a develop(or local) _config.yml in Jekyll.</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 02, 2015.</p>
http://love.magicarbon.com/blog/2015/11/02/git-how-to-delete-commits2015-11-02T17:35:00+00:002015-11-02T17:35:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>First, remove the commit on your local repository. You can do this using <code class="highlighter-rouge">git rebase -i</code>. For example, if it’s your last commit, you can do <code class="highlighter-rouge">git rebase -i HEAD~2</code> and delete the second line within the editor window that pops up.</p>
<p>Then, force push to GitHub by using
<code class="highlighter-rouge">git push origin +master</code>.</p>
<p>See <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html#_8230_and_then_some" target="_blank">Git Magic Chapter 5: Lessons of History</a> - And Then Some for more information (i.e. if you want to remove older commits).</p>
<p>Oh, and if your working tree is dirty, you have to do a git stash first, and then a git stash apply after.</p>
<p><em>the Answer come from <a href="http://stackoverflow.com/a/448929" target="_blank">stackoverflow</a></em></p>
<figure>
<figcaption>"WHEN IT DOES NOT INCREASE, IT DECREASES."</figcaption>
</figure>
<p><a href="http://love.magicarbon.com/blog/2015/11/02/git-how-to-delete-commits.html">how to delete commits in git.</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 02, 2015.</p>
http://love.magicarbon.com/blog/2015/11/02/something-about-pandora's-box2015-11-02T00:35:00+00:002015-11-02T00:35:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<h5 id="pandoras-box">PANDORA’S BOX</h5>
<figure>
According to the myth, Pandora opened a jar (pithos), in modern accounts sometimes mistranslated as "Pandora's box", releasing all the evils of humanity—although the particular evils, aside from plagues and diseases, are not specified in detail by Hesiod—leaving only Hope inside once she had closed it again.
<figcaption>"WHEN IT DOES NOT INCREASE, IT DECREASES."</figcaption>
</figure>
<p><a href="http://love.magicarbon.com/blog/2015/11/02/something-about-pandora's-box.html">Something about Pandora's Box.</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on November 02, 2015.</p>
http://love.magicarbon.com/blog/2015/10/29/hello-there2015-10-29T23:55:00+00:002015-10-29T23:55:00+00:00MChttp://love.magicarbon.commagicarbon@gmail.com
<p>im just a newbie to Jekyll.</p>
<figure>
<a href="/images/site-logo.gif"><img src="/images/site-logo.gif" alt="trying" class="center" /></a>
</figure>
<p>uh… <a href="http://magicarbon.github.io" target="_blank">Magicarbon.github.io</a>. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quas voluptatum officiis fugiat dignissimos, harum magni consequuntur? Nisi neque, architecto est, corrupti tenetur enim at. Reprehenderit amet unde, laudantium similique velit.</p>
<figure>
<!-- <iframe width="560" height="315" src="//localhost/index.html" frameborder="0" allowfullscreen> </iframe> -->
<figcaption>"It all starts somewhere, it all starts with one. Nothing comes from nothing."</figcaption>
</figure>
<p><a href="http://love.magicarbon.com/blog/2015/10/29/hello-there.html">Hello, there!</a> was originally published by MagiCarbon at <a href="http://love.magicarbon.com">MagiCarbon</a> on October 29, 2015.</p>