tag:blogger.com,1999:blog-49595739674515227612024-03-19T04:24:46.849-07:00Assaf ShomerComputer stuff I find useful or interestingAnonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-4959573967451522761.post-62679955318331042262014-02-16T01:18:00.001-08:002014-02-16T01:32:13.925-08:00Research paper about block-hiding mining strategies in Bitcoin-like networksI uploaded to the Arxiv a <a href="https://drive.google.com/file/d/0B1npGX-OU_NyMUdTTUZ2QlBLSWc/edit?usp=sharing">paper I have been working on</a> recently and finally had some spare time to finish.
This research was done on my spare time motivated by the <a href="http://arxiv.org/abs/1311.0243">Selfish Miners paper</a>. The main result is a more detailed view of the structure of phase space of mining strategies that involve hiding some blocks from the rest of the network and only publishing them when you see fit. Interestingly enough, the structure of phase space suggests a kind of symmetry between the relative hashing power of a block-hiding miner and her connectivity parameter controlling how many standard miners work on her block in case of a bifurcation. As long as miners have small enough hashing power and connectivity, the standard mining strategy advocated by Satoshi is the preferred strategy for maximizing the probability of ripping block rewards. Once a miner has too much mining power or connectivity (read the article for details, but heuristically the figures are somewhere between one quarter and one third) using block hiding strategies increases the probability for wining blocks and thus may, theoretically, convince miners to start using such strategies.
For a recent discussion of miners centrality see <a href="http://bitcoinmagazine.com/9402/mining-pool-centralization-crisis-levels/">Vitalik Buterin's article</a> in Bitcoin magazine.Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-60794741057760479922014-01-06T02:15:00.006-08:002014-01-06T02:15:58.553-08:00Divide spec into slow and fast testsSome tests are too slow to run each time.
In Rspec you can do this.
Add on the top of the spec.rb file the following command:<br />
<blockquote class="tr_bq">
<span style="color: #0b5394;">RSpec.configure do |c|<br /> c.filter_run_excluding :slow => true<br />end</span></blockquote>
Now you tag the slow tests:<br />
<blockquote class="tr_bq">
<span style="color: #0b5394;">describe "add a user", slow: :true do</span></blockquote>
Next time you run<i> "rspec spec" </i>the slow tests will not run<br />
<br />
<blockquote class="tr_bq">
<span style="color: #0b5394;">No DRb server is running. Running in local process instead ...<br />Run options: exclude {:slow=>true}<br />...............................................</span></blockquote>
<div>
If you want to run the slow tests, use a flag:</div>
<blockquote class="tr_bq">
<span style="color: #0b5394;">rspec spec --tag slow</span></blockquote>
and now they run<br />
<br />
<blockquote class="tr_bq">
<span style="color: #0b5394;">No DRb server is running. Running in local process instead ...<br />Run options: include {:slow=>true}<br />...................</span></blockquote>
<br />
Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-1713683048826995702013-09-28T23:34:00.000-07:002013-09-28T23:34:36.775-07:00Installing R on MintWell, you start <a href="http://www.r-project.org/" target="_blank">here</a> and click all the way to <a href="http://cran.freestatistics.org/" target="_blank">here</a> but then, I didn't know which to choose<br />
<br />
<blockquote class="tr_bq">
INSTALLATION<br />
<span style="font-family: Courier New, Courier, monospace;">To obtain the latest R packages, add an entry like<br />
deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu <b>raring</b>/<br />
or<br />
deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu <b>quantal</b>/<br /> or<br />
deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu <b>precise</b>/<br /> or<br />
deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu <b>lucid</b>/</span></blockquote>
<br />
So it turns out that raring, quantal, precise etc are names of Ubuntu packages (duh). Googeling 'linux version' got me <a href="http://www.linuxmint.com/oldreleases.php" target="_blank">here</a> so my Linux Mint Maya corresponds to <span style="color: red;">precise</span>!<br />
<br />
Now I added<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">deb http://www.freestatistics.org/cran/bin/linux/ubuntu precise/</span></blockquote>
to<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">/etc/apt/sources.list</span></blockquote>
then<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">sudo apt-get update<br />sudo apt-get install r-base </span></blockquote>
and it's done.<br />
<br />Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-47272667590128763452013-09-15T01:22:00.000-07:002013-09-15T01:22:03.476-07:00Grab screen color utility on LinuxThe following <a href="http://www.muquit.com/muquit/software/grabc/grabc.html" target="_blank">link</a> provides a super basic command line utility for grabbing the hex and RGB color codes of any pixel on your screen.<br />
After installation just type<br />
<blockquote class="tr_bq">
> grabc</blockquote>
Your cursor then becomes this little + that can placed anywhere on your screen and when you click the mouse button you get the hex and RGB value of the color of that pixel.<br />
<br />
Example:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-RpHFyOEhQn8/UjVuFDnajMI/AAAAAAAADKk/2bs_jlP2Kac/s1600/grabc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-RpHFyOEhQn8/UjVuFDnajMI/AAAAAAAADKk/2bs_jlP2Kac/s1600/grabc.png" height="328" width="400" /></a></div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-50206366510822526722013-09-08T00:53:00.001-07:002013-09-08T01:19:54.214-07:00Upgrade ruby with RVM<span style="font-family: Courier New, Courier, monospace;">rvm get stable<br />rvm list known</span><br />
<br />
now pick the one before HEAD, say it is -p247<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">rvm install ruby-2.0.0-p247</span><br />
<div>
<br />
After that rspec spec crashed with :<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">`require': no such file to load -- rubygems</span><br />
<br />
The solution is to run<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">rvm use</span><br />
<br />
which apparently solves the ambiguity between several installed ruby versions</div>
Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-88338692731624624272013-09-08T00:35:00.001-07:002013-09-08T00:54:41.961-07:00Rspec fails to run after bundle updateTurns out that the problem goes away if you change<br />
<br />
<div>
<span style="font-family: Courier New, Courier, monospace;">gem 'selenium-webdriver', '2.0.0'</span><br />
<br />
to<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">gem 'selenium-webdriver', '~> 2.35.1'</span></div>
<div>
<br />
as was mentioned<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"> <a href="http://stackoverflow.com/questions/18526638/zip-zip-loaderror-breaking-guard-or-rails-4-0" target="_blank">here</a></span><br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-782181500964012242013-08-10T13:53:00.002-07:002013-08-10T14:13:19.539-07:00Bitcoin PerspectiveMost of my interactions regarding Bitcoin are with bitcoin enthusiasts. This gives a very skewed perspective on the prospects of Bitcoin. Interestingly enough, over the past few days I had two lengthy discussions with people who just don't believe Bitcoin stands a chance.<br />
It was interesting to hear that and get a reality check.<br />
<br />
The first guy I spoke with is a young Rails developer who put forward the (known) argument that bitcoin is doomed because it is designed to clash heads on with governments, basically stealing their lunch, and will thus be destroyed by these dormant giants (as the guy put it).<br />
The second person I spoke with works in the Israeli VC industry. His argument was different, basically that Fiat money works well and thus Bitcoin is solving a non-existing problem.<br />
While both points of view are valid, I feel differently. I feel (perhaps hope) that Bitcoin is a real technological innovation that cannot and should not be stopped and will inevitably carve a sizable niche of the world economy.<br />
<br />
However, it was a useful psychological exercise to hear other views are be reminded that being invested in Bitcoin (either by owning, or thinking and writing about it or trying to create innovation within the crypto currency space) is highly risky and can easily be wiped out in short notice.<br />
As the saying goes, it is hard to predict, especially the future, and so we will have to wait and see what the future will bring us in terms of Bitcoin and crypto-currencies in general.<br />
<br />
I would bet that whatever the future holds, it is going to be quiet different from what we imagine it to be.<br />
I also bet that when the dust settles it will be a win-win both for the Bitcoin community and for national economies that may feel threatened by it, much like how electronic communication technologies, from telephone to internet to emails and even Facebook and Twitter, have always been an initial threat to the status-quo and ended up giving a tremendous economic boost to those who embraced them.<br />
<br />
And remember, <a href="http://idioms.thefreedictionary.com/It's+not+over+until+the+fat+lady+sings" target="_blank">it ain't over til the fat lady sings</a>.<br />
<br />Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com1tag:blogger.com,1999:blog-4959573967451522761.post-44480412210492826812013-07-30T01:38:00.002-07:002013-07-30T01:38:21.114-07:00Javascript TDD in Rails Using Konacha, Mocha and ChaiRelated to a <a href="http://assafshomer.blogspot.co.il/2013/07/testing-javascript-in-rails-with-some.html" target="_blank">previous post</a>, here is a nice slide show by Brian Auton that goes over the same material:<br />
<br />
<a href="http://brianauton.github.io/talks/public/rails_js_testing.html#/1">http://brianauton.github.io/talks/public/rails_js_testing.html#/1</a>Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-1263393701160834922013-07-29T01:32:00.000-07:002013-07-29T01:32:09.191-07:00Continuous DeploymentHere is an interesting blog post about continuous deployment<br />
<br />
<a href="http://prettyprint.me/prettyprint.me/2011/01/24/continuous-deployment-at-outbrain/index.html">http://prettyprint.me/prettyprint.me/2011/01/24/continuous-deployment-at-outbrain/index.html</a>Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-66156645638330801882013-07-28T14:12:00.000-07:002014-05-20T23:16:20.241-07:00Testing JavaScript in Rails, with some help from Mark Bates<a href="http://metabates.com/" target="_blank">Mark Bates</a> visited Tel-Aviv and lectured about the importance of testing your client side code (obvious) using Mocha and Chai.<br />
I went home and found online the following posts by Mark (<a href="http://www.informit.com/articles/article.aspx?p=1925618&seqNum=1" target="_blank">part1</a>, <a href="http://www.informit.com/articles/article.aspx?p=1930036" target="_blank">part2</a>) that explain how to setup a testing environment for the JavaScript in your rails application.<br />
I followed it and, apart from some struggling with installing PhantomJS (not because it's hard, just because I'm not very smart and it took me a while to understand that I need to copy the new executable I downloaded on top of /usr/bin/phantomjs) it works!<br />
<br />
And here is a proof:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-VNGXx_aTMYk/UfWIzx7hzWI/AAAAAAAADDI/vOp00fwtY8Y/s1600/konacha.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-VNGXx_aTMYk/UfWIzx7hzWI/AAAAAAAADDI/vOp00fwtY8Y/s1600/konacha.png" height="286" width="640" /></a></div>
<br />
Thank you Mark!Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-23105115371788480112013-07-25T10:31:00.001-07:002013-07-25T10:31:23.477-07:00Free Video & Audio software downloads | KoyoteSoftJust stumbled upon a free FLAC to MP3 converter that just works.<br />
<br />
<a href="http://www.koyotesoft.com/#.UfFgyRY0eb0.blogger">Free Video & Audio software downloads | KoyoteSoft</a>Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com0tag:blogger.com,1999:blog-4959573967451522761.post-58259656355800205002013-07-25T05:48:00.002-07:002013-07-29T01:28:13.657-07:00Bitcoin Cold Storage - part 1: Freezing'em<br />
I have a (unfortunately for me, rather small) number of bitcoins and I wanted to share with you a way to put them in cold storage. Bitcoin storage seems simple, but can prove a little tricky in practice if you want to be extra safe, which is probably what you want otherwise you would not be reading this post. In this post I present an alternative recipe for really really cold, freezing storage.<br />
<br />
Before I begin let me say that there are many ways to store bitcoin wallets and a few posts out there that explain how to achieve <u>cold</u> storage. For example, you can use the <a href="https://www.udemy.com/bitcoin-or-how-i-learned-to-stop-worrying-and-love-crypto/#lecture/287597">cold storage udemy lecture</a> by Charles Hoskinson, or the <a href="https://en.bitcoin.it/wiki/Securing_your_wallet">explanation in the bitcoin wiki</a>. Below I comment on some of them.<br />
<br />
<h4>
Online wallets? (not cold enough)</h4>
Online services that provide bitcoin wallets may be (and the good ones are, for sure) very very secure. However, it is still a third party that you may or may not want to trust. By doing bitcoin storage at home you eliminate the need to trust a third party.<br />
<div>
<h4>
paper wallets? (feels unsafe, may get lost or stolen)</h4>
You can create a cold storage by printing a paper wallet that has the private key for all to see if they get a hold of the paper. I don’t like this idea because it feels to me like leaving cash in the bedside drawer, seems unsafe. Also it can be lost (definitely within the scope of a few years) and you need to trust any third party that will keep them for you.</div>
<div>
<h4>
Brain wallets? (either not safe or very hard to remember)</h4>
There is the option to seed a wallet with a memorable pass phrase. This is super cool in the sense that all you need to do is memorize a secure pass phrase, like “chitty chitty bang bang 12345″ Easy peasy, right? One problem, if it’s easy to remember it’s easy to hack and if it’s secure it is hard to remember. I see a much bigger problem in forgetting my damn password and losing all the bitcoins stored in that brain wallet than in anyone actually attempting to steal my coins.</div>
<div>
<h4>
Encrypted Wallet? (relies on wallet software)</h4>
As mentioned above, you can create an offline wallet using any number of wallet software (<a href="http://bitcoin.org/en/download">bitcoin QT</a> or <a href="https://bitcoinarmory.com/">Armory</a>). This may be easier in some sense but you do run the risk of the wallet software becoming outdated by the time you need to re-heat your coins back to life.</div>
<div>
<h4>
Encrypted Cold Storage without a Wallet (the method I'm describing here)</h4>
Instead of using a wallet software we are going to directly keep the private keys for public addresses that we will generate offline. Our main concern will be to ensure no malicious software can possibly copy those keys and transmit them to the outside world. We will achieve this by running a Linux operating system from an installation CD (a cheap and safe way to get a one time computer) and perform all the secret activities after the transient Linux machine was disconnected from the Internet never to be connected again before it’s final demise by ejecting the installation CD. To my understanding this is the safest way that ensure that as long as bitcoins are still bitcoins we can reclaim them from storage even in the far future. In essence what we are doing is very similar to a paper wallet that is then secretly transformed into digital form and encrypted.<br />
<br />
<h2>
Prerequisites:</h2>
<ul>
<li>You have a computer with an internet connection (yes, internet connection should not be used in the same sentence with cold storage, I know, hold your horses)</li>
<li>Your computer has a DVD burner (If you don’t have that, there is a way around it too)</li>
<li>You are already in possession of some bitcoins. If not, please Google how to get some. I recommend <a href="https://localbitcoins.com/">localbitcoins </a>for absolute beginners and then perhaps hooking up a bank account with a <a href="https://coinbase.com/">coinbase </a>like service.</li>
<li>You have a USB memory stick, you don’t need much room so small and cheap will do.</li>
</ul>
<h2>
Let’s start:</h2>
<h3>
step 1 – Creating a temporary Linux machine </h3>
with your computer turned on and hooked up to the Internet, visit the download page for the mint distribution of the Linux operating system - <a href="http://www.linuxmint.com/download.php">http://www.linuxmint.com/download.php</a> <br />
select one of the options for download, for example:<br />
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/mintdownload.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEgYx-Ri2D3hIngg2UlwkDJIyMGe9aLOGWvAkN1MCwYemdZ_HwN_2-loi4tNIIL2GhRpg8AriRH8xA5U2-ik4XV-PRJAqSHxCYWVcRFKIlqGT6zaqPZlkoT-Cab9_9H8XjD7Mv_fn59AFB70V4SLEYsljixabd18qT8z6YZIgfiD5Wq-C1UunkI=" /></a> </blockquote>
</div>
<div>
<br />
If you are not really sure, just download the topmost (in this case cinnamon, but this changes) 32-bit option. <br />
Fine, it takes a while for the file to download, but after a while you should see a file named something like linuxmint-15-mate-dvd-64bit.iso in your downloads directory. <br />
Insert an empty DVD into the drive (It will be a DVD rather than a CD because the file is almost 1gig) <br />
Burn the Linux distribution image (i.e. the .iso file) onto the DVD. Note that you need to make sure to burn the disc as a disc image, not as the ISO file itself. The way to do that on Windows is to right click the disk image and select the topmost option which says 'Burn Disc Image'.<br />
If for some reason you fail to burn the image to a DVD or do not have a burner in your machine and are in no way capable of getting help on that issue from a friend, there is always the option of waiting a day or two and buying one online:<br />
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/buycd.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEjeBT-_kSuQyMEfT9yqTXtSjtGFql_Q6E_aShS0j7Vs4UzCCWGG3tC2z9Vc47KeysNtfXySskCQNn7y8wQBpbjyBxGQTQfLoLMHWkODa-RBxcp-k_Nb06wM67tz24Knmka0z4xWwfrbh9__DClXIQSb1UnVTwJ9yZBAajrYjKG4Xw=" /></a> </blockquote>
</div>
<div>
<br />
Very good. So now you have the linux operating system burnt to a DVD. That’s going to be one pillar of our coldness. <br />
Turn your computer off, insert the DVD and turn it on. <br />
Instead of your normal operating system you should see Linux running. It is running purely in memory and any action you do on it that does not involve your physical hard drive will be completely erased after you shut it off. </div>
<h3>
Step 2 – get software tools from the Internet </h3>
<div>
Make sure you still have Internet connection. We are going to download an encryption tool and a wallet generator from the internet into our temporary Linux machine before we disconnect from the internet to create our private/public bitcoin addresses pairs in full secrecy.</div>
<h4>
AEScrypt:</h4>
<div>
The first thing we are going to do is download a powerful encryption program that will help us encrypt the addresses we later create. This software is called AEScrypt. It is open source and considered as safe as anything out there. However, we are only going to trust that it encrypts well, we are not going to trust that it is not spying on us (because we are only going to actually make use of it after we have disconnected from the internet).<br />
<ul>
<li>Fire up your FireFox web browser which comes with the Linux distribution </li>
<li>Visit the <a href="http://www.aescrypt.com/download.html">download page</a> of AES Crypt.</li>
<li>Copy to your clipboard the URL of the download link of ‘AES Crypt source code for linux’ (e.g. <a href="http://www.aescrypt.com/download/v3/linux/aescrypt-3.0.9.tgz">http://www.aescrypt.com/download/v3/linux/aescrypt-3.0.9.tgz</a>) </li>
</ul>
</div>
<div>
<blockquote class="tr_bq">
<img src="https://mail.google.com/mail/u/0/?ui=2&ik=d8e4149c1f&view=att&th=13fe4286be79d1d5&attid=0.1&disp=emb&realattid=ii_13fe41a3d5181f18&zw&atsh=1" /></blockquote>
</div>
<div>
<ul>
<li>Open a command prompt </li>
<li>Get the file over to your machine by typing</li>
</ul>
<blockquote class="tr_bq">
<i style="background-color: black;"><span style="color: yellow;">wget <paste the url you just copied></span></i></blockquote>
for example, it may be "wget <a href="http://www.aescrypt.com/download/v3/linux/aescrypt-3.0.9.tgz">http://www.aescrypt.com/download/v3/linux/aescrypt-3.0.9.tgz</a>"</div>
<div>
<ul>
<li>unzip the file by typing</li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: white;"> </span><span style="color: yellow;">tar -zxf <type "aes"+TAB, auto-complete to the file name just downloaded></span></span></blockquote>
<br />
For example, it may be "tar -zxf aescrypt-3.0.9.tgz"</div>
<div>
Now you should see a folder called aescrypt-3.0.9/ (or in general whatever the file name is, just without the .tgz suffix) <br />
<ul>
<li>Change directory to the source sub directory by typing </li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;"> cd <type "aes"+TAB>/src</span></span></blockquote>
<br />
For example "cd aescrypt-3.0.9/src"</div>
<div>
<ul>
<li>install by typing </li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">make && sudo make install</span></span></blockquote>
<br />
AEScrypt should now be installed. </div>
<h3>
</h3>
<h3>
bitaddress.org - Bitcoin Wallet Generator</h3>
<div>
<br /></div>
<div>
Last but not least, visit the beautiful web utility <a href="https://www.bitaddress.org/">bitaddress</a> and wait for the page to load: <br />
<br />
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/bitaddress.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEgRQ9tQOb2lI3N63LgkMXuyONR-dYcDpBPyC1VzI6k0fOKElQNO49_X4vT-AE9hfGWuFtNTPTZs_pATCuYCQwaXpu4sF9nL52JVP3D6l_dFmDOkL1dqNOe20rOOIf5FDmXGoKBuf4mtQ41l0ItsBUE0fjU0wu-xyK2QbBbGeC-xpelhMJ7v=" /></a></blockquote>
</div>
<div>
<h3>
Step 3 – Creating the cold storage </h3>
Now we got all we need in order to create bitcoin cold storage, and since cold means no internet, ever:<br />
<h2>
<span style="color: red;">disconnect your computer from the internet.</span></h2>
Depending on how cold is cold enough for you, decide if disconnecting from the Internet using the Linux interface is enough, or if you prefer to actually unplug the Ethernet cable or your wireless card/usb.<br />
<h4>
</h4>
<h4>
Remember to keep your Firefox browser open</h4>
<br />
We need the JavaScript running on bitaddress.org to generate new wallets for us now that we are offline. <br />
<br />
<ul>
<li>Open a new tab in Firefox and verify you are not connected to the Internet</li>
<li>Navigate back to the open tab with bitaddress.org loaded.</li>
<li>If you are interested in a single address you can stay on the homepage of bitaddress.org and just click the ‘Generate New Address’ button now that your are offline.</li>
<li>Otherwise, navigate to the paper wallet and generate as many wallets as you like.</li>
</ul>
<br />
I like to hide the art so that it is easier to cut and paste the address or the private key. <br />
So let’s say you are interested in 3 addresses and you generated them like so:<br />
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/print3.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEj_L2ioiDFlR_j39gW7ttK8xHdIotZnntseKjzhVoHhU3Vzfzne28GgvhPowYjfL8R4_gCCh6Q2EFqRYc2MDf4gTFoNnIAW2OQ6MeXz-8Ov7797oSB0xmqSjXTwCfAf0Dwg_valEdX0Zt6BlBnLAi-z475u4Wl_0VzoKON5jNjOBks=" /></a></blockquote>
<br />
<br />
<ul>
<li>Create a directory on your desktop, say call it <b>Bitcoin/</b></li>
<li>Under it create two sub directories, say, <b>Bitcoin/Public</b> and <b>Bitcoin/Private</b>.</li>
</ul>
You can do one (or few, or all) of the following list of options to store your <b><u>private</u></b> keys inside the Private sub directory:<br />
<ol>
<li>Create a text file in ~/Desktop/Bitcoin/Private and copy and paste with your mouse the content of the wallet from the bitaddress.org firefox tab</li>
<li>Click the print button and ‘print to file’ into ~/Desktop/Bitcoin/Private</li>
<li>take a screenshot of the bitaddress web page and save it into ~/Desktop/Bitcoin/Private</li>
</ol>
<br />
You do need, however, to somehow keep your PUBLIC bitcoin addresses accessible so that you can send money to them. You can, for example: <br />
<br />
<ol>
<li>Copy the public wallet addresses into a text file and save it to the ~/Desktop/Bitcoin/Public directory</li>
<li>Take a screenshot only of the QR codes of the public addresses and save it to the ~/Desktop/Bitcoin/Public directory. Note that if you take a screenshot of the QR code and the public address using a rectangular snipping tool, you will reveal the first three or four characters of the private keys:</li>
</ol>
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/publicsnipbefore.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEhsGVBV-lbRuVPxJl4Sk-2jw6Y4P_DhdPeNQKvesT_jhyphenhyphenBNulXabH5lMT5x378u4oVZX1GzfEzVo1AzfU2eI_N6RC18X3qJRos6mpCWtv1JmOejAWTwOR7FqWOnbo5CHqM4cWebWpCvUetpNuvOQqBlr3GhgzLk3cb08oaVqop9ddCxGMTcUNJBdHD2=" /></a></blockquote>
<br />
<br />
This leaking is a bad idea. What you can do is use the default Linux editing tool ‘gimp’ to scribble with a wide pen over the private characters that are peeping in:<br />
<br />
<blockquote class="tr_bq">
<a href="http://lascrucesjail.files.wordpress.com/2013/07/publicsnipafter.png"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEhf1K04AUF2Y9JcqLNviezEqQN3ZybUX96AqkUgR40im94BZ8Op7f07b5WNv2TpqOy3hWStF0l08Ug06VjcPeGOPEcMSSTSJjo_W-Ouw_UQHIJP6h1m6VbGkw2bmctSs_FwQH9ZgyADBjvmRUCUar26tS8djWaGb3iCmIvYvhQtz2211onFJafKPXE=" /></a></blockquote>
<br />
Fine, almost there. Now we need to:<br />
<h3>
</h3>
<h3>
Encrypt the PRIVATE directory</h3>
<br />
<ul>
<li>Launch a terminal window</li>
<li>change directory into the Bitcoin directory you created</li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">cd ~/Desktop/Bitcoin</span></span></blockquote>
<ul>
<li>type </li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">tar -cvf Private/</span></span></blockquote>
a new file ‘Private.tar’ should have been added to the Bitcoin directory.<br />
You can verify the content of the tarred file by running<br />
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">tar -tvf Private.tar</span></span></blockquote>
You should see all the Private files that you created inside the Private directory listed.<br />
<ul>
<li>Delete the Private directory including all of it’s content</li>
</ul>
Now to the encryption step. This is why we installed AEScrypt before<br />
<ul>
<li>Type </li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">aescrypt -e -p secure-password-you-can-remember Private.tar</span></span></blockquote>
This step is crucial. Finding a good password is key (no pun intended). Here is one <a href="http://www.wikihow.com/Create-a-Password-You-Can-Remember">useful link</a> but you should Google and experiment until you find something that is both secure (installing <a href="http://keepass.info/">keypass </a>is one way for you to measure that) and memorable (because in a few months you are not going to remember a password that is too complex). <br />
<br />
Good, so now you should see Private.tar and Private.tar.aes.<br />
Let's run a little experiment before we delete the non-encrypted data and trust our memory with the passowrd:<br />
<ul>
<li>Rename Private.tar to say, Private2.tar momentarily by typing</li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;">mv Private.tar Private2.tar</span></span></blockquote>
let’s see that you actually used the correct password, by trying to decrypt it<br />
<ul>
<li>Type</li>
</ul>
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: yellow;"> aescrypt -d -p same-secure-password Private.tar.aes</span></span></blockquote>
If indeed you remembered the password then Private.tar should reappear.<br />
If it didn't, here is a good dry run of how it would feel to loose all your money in case you actually sent money to the corresponding public address. Luckily, so far we didn't and we kept a copy in Private2.tar. So delete the encrypted file that is now useless to you, rename Private2.tar back to Private.tar and encrypt again, but this time around please<br />
<br />
<h2>
<span style="color: purple;">REMEMBER THE PASSWORD </span></h2>
<br />
OK, good, it worked and you see Private.tar reappearing. So delete it again, this was just a reality check. <br />
Now delete also Private2.tar if it is still there, and you should only be left with Private.tar.aes and the Public directory under the Bitcoin directory. <br />
Great, you are almost done, let's continue:<br />
<br />
<ul>
<li>Insert your USB stick and copy the Bitcoin directory onto it</li>
<li>Remove the stick</li>
<li>Eject the installation DVD</li>
<li>Turn your computer off</li>
</ul>
You are basically done. What’s left to do now is to actually send the bitcoins you wish to cold store to the addresses you created and are listed in the Public sub directory on your flash drive. It is probably a good idea to create a few backups of the Private.tar.aes file that contains the private keys. Here are some options:<br />
<br />
<ul>
<li>Copy it on a few more flash drives and put those in various physical locations. </li>
<li>Burn it on a few CDs and put those in various physical locations. </li>
<li>Send it to yourself as an email attachment</li>
<li>Put it on any cloud storage you use.</li>
</ul>
<br />
You have now successfully created a secure encrypted cold storage of any bitcoins that you will send to the public addresses in the Public directory. The only ways I see for someone to steal your bitcoins now is if that person has videotaped you or physically attached a key tracking device to your keyboard. Unless you are <a href="http://management.fortune.cnn.com/2013/06/27/tony-soprano-james-gandolfini/" target="_blank">Tony Soprano</a> this is unlikely. And if you are still paranoid, I guess you can eliminate this risk too by buying a new machine altogether and performing the above in the lavatory of the nearest wifi enabled Starbucks (hint: If you are really considering this option, you probably have bigger problems than bitcoin security on your hands. Maybe <a href="http://www.seinology.com/scripts/script-01.shtml">take the harpoon out of your chest first</a>.)<br />
<br />
Done. Next post about how to track while frozen and unfreeze your frozen Bitcoins.</div>
<!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fpublicsnipafter.png%3Fw%3D434&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEhf1K04AUF2Y9JcqLNviezEqQN3ZybUX96AqkUgR40im94BZ8Op7f07b5WNv2TpqOy3hWStF0l08Ug06VjcPeGOPEcMSSTSJjo_W-Ouw_UQHIJP6h1m6VbGkw2bmctSs_FwQH9ZgyADBjvmRUCUar26tS8djWaGb3iCmIvYvhQtz2211onFJafKPXE=" --><!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fbitaddress.png%3Fw%3D487&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEgRQ9tQOb2lI3N63LgkMXuyONR-dYcDpBPyC1VzI6k0fOKElQNO49_X4vT-AE9hfGWuFtNTPTZs_pATCuYCQwaXpu4sF9nL52JVP3D6l_dFmDOkL1dqNOe20rOOIf5FDmXGoKBuf4mtQ41l0ItsBUE0fjU0wu-xyK2QbBbGeC-xpelhMJ7v=" --><!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fpublicsnipbefore.png%3Fw%3D419&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEhsGVBV-lbRuVPxJl4Sk-2jw6Y4P_DhdPeNQKvesT_jhyphenhyphenBNulXabH5lMT5x378u4oVZX1GzfEzVo1AzfU2eI_N6RC18X3qJRos6mpCWtv1JmOejAWTwOR7FqWOnbo5CHqM4cWebWpCvUetpNuvOQqBlr3GhgzLk3cb08oaVqop9ddCxGMTcUNJBdHD2=" --><!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fmintdownload.png%3Fw%3D487&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEgYx-Ri2D3hIngg2UlwkDJIyMGe9aLOGWvAkN1MCwYemdZ_HwN_2-loi4tNIIL2GhRpg8AriRH8xA5U2-ik4XV-PRJAqSHxCYWVcRFKIlqGT6zaqPZlkoT-Cab9_9H8XjD7Mv_fn59AFB70V4SLEYsljixabd18qT8z6YZIgfiD5Wq-C1UunkI=" --><!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fbuycd.png%3Fw%3D487&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEjeBT-_kSuQyMEfT9yqTXtSjtGFql_Q6E_aShS0j7Vs4UzCCWGG3tC2z9Vc47KeysNtfXySskCQNn7y8wQBpbjyBxGQTQfLoLMHWkODa-RBxcp-k_Nb06wM67tz24Knmka0z4xWwfrbh9__DClXIQSb1UnVTwJ9yZBAajrYjKG4Xw=" --><!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Flascrucesjail.files.wordpress.com%2F2013%2F07%2Fprint3.png%3Fw%3D487&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEj_L2ioiDFlR_j39gW7ttK8xHdIotZnntseKjzhVoHhU3Vzfzne28GgvhPowYjfL8R4_gCCh6Q2EFqRYc2MDf4gTFoNnIAW2OQ6MeXz-8Ov7797oSB0xmqSjXTwCfAf0Dwg_valEdX0Zt6BlBnLAi-z475u4Wl_0VzoKON5jNjOBks=" -->Anonymoushttp://www.blogger.com/profile/04563567121108608617noreply@blogger.com10