The Best of 2015

As a nod to @fogus and his blog, Send More Paramedics, I’ve opted to start the annual tradition of recapping the year with the best things I’ve found, learned, read, etc.

These things are listed in no particular order, and may not necessarily be new.

Favorite Blog Posts Read

Not a lot here that I can recall, but this handful stood out as good reads. Some of them I plan to refer back to in the future.

Articles I’ve Written for Other Publications

I’ve tried something different this past year and have worked to write more for others than for just myself. This has been really fun, but has reduced the total number of entries I have written this year in general. I hope to find some more outlets to contribute to with like-minded interests. I like working with small teams like this instead of bouncing ideas around with only myself.

  • Finding Forgotten Footage – An article I did for Lunchmeat Midnight Snack #4 (a print zine) about finding strange VHS tapes with home-recorded footage.
  • Automating Site Backups with Amazon S3 and PHP – An article I did for the now-defunct TechOats website (still sad about that one). As the title describes, I automated backups of my websites using Amazon S3 and a simple PHP script.
  • The New Wild West – An article for NODE about how the internet of things and the sort of always-connected culture opens things up again for a wide variety of attacks. I draw parallels to the 1980’s boom of hacker culture where a lot of stuff was just left wide open.
  • How to Run your Own Independent DNS with Custom TLDs – A tutorial I did for NODE after remembering the failure of the .p2p project and the success of OpenNIC.

Favorite Technical Books Read

I’ve been trying to read a lot more this year to cut through my growing pile of books. I’ve mainly focused on technical books, including books I’ve only been made aware of in 2015 as well as ones that have been on my shelf for years.

  • Garage Virtual Reality – An antiquated virtual reality book from the ’90s touches on a lot of interesting technology from the time, including homemade projects and technological dead ends. The perfect amount of technical instruction and cyberpunk ideas.
  • Hacking the Xbox: An Introduction to Reverse Engineering – An amazing book on reverse engineering. I picked this up around a decade ago, and it was completely over my head. At the time I dismissed it because it was already outdated with the popularity of “softmods” for the Xbox, but picking it up again it is really just a good general book on getting into reverse engineering and the focus on the Xbox is a fun nostalgic little bonus.
  • Cybernetics – A dated and likely obscure text, this book deals with the early ideas of cybernetics and expands into theory on artificial intelligence and neural networks.

Favorite Non-Technical Books Read

  • Microserfs – A fun book that follows a group of ’90s Microsoft employees as they start their own company.
  • Crypto – An incredible look into the world of cryptography, following all of the pioneers and the cypherpunk movement.
  • Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age – My favorite book of the year, a wonderfully- detailed look into the rise and fall of Xerox PARC and all of the completely fascinating things they invented.
  • The World Atlas of Coffee: From Beans to Brewing – I love coffee and this book lets you learn about all the varieties, proper brewing techniques, etc.
  • Ready Player One – A fun dystopic sci-fi book about a civilization obsesses with a treasure hunt and ’80s culture.

 

Number of Books Read

12

Favorite Musicians Discovered

  • King Tuff
  • Elle King
  • FFS – Franz Ferdinand and Sparks
  • Devo – Everyone knows “Whip It,” but I’ve been focusing on their first few albums.

Favorite Television Shows

Mr. Robot (2015), The X-Files (1993)

Programming Languages Used for Work/Personal

C, C++, Java, JavaScript, Objective-C, Python.

Programming Languages I Want To Use Next Year

  • Common Lisp – A “generalized” Lisp dialect.
  • Clojure – A Lisp dialect that runs on the Java Virtual Machine
  • Go – Really interested to see how this scales with concurrent network programming.

Still Need to Read

Computer Lib, Literary Machines, Design Patterns, 10 PRINT CHR$(205.5+RND(1)); : GOTO 10

Life Events of 2015

I became engaged to be married.

Life Changing Technologies Discovered

  • Amazon Dash Button – I hacked a $5 button to email me when I press it.
  • Ethereum – An interesting decentralized software platform. Still not entirely sure what to make of it.
  • Microsoft Hololens – I want one after seeing this video. I’ve already supported Oculus for VR, but this is winning me over for AR.

Favorite Subreddits

/r/homelab, /r/retrobattlestations, /r/cyberpunk, /r/homeautomation.

Plans for 2016

  • Get married.
  • Write more for NODE (if possible!), Lunchmeat, or other publicans I find out about.
  • Write an article for 2600.
  • Find my missing Leatherman.
  • Release a mobile app.
  • Do some FPGA projects to get more in-depth with hardware.
  • Continue to flesh out Anarchivism with videos/print.
  • Organization, organization, organization!

 

See you in 2016!

 

Mining Bitcoin for Fun and (Basically No) Profit, Part 1: Introduction

Note: This article is the first entry in a series I am writing for Philly2600.

If you’re anything like myself, you’ve been keeping loose tabs on Bitcoin over the years. When I first read about the cryptocurrency, I thought it was an awesome concept. Now, I had heard about electronic currencies before. The first mental link I made upon hearing about Bitcoin was that it reminded me of e-gold. Founded in 1996, years before Paypal, e-gold was a gold-backed digital currency created by a few guys in Florida. e-gold was the de facto currency for underground transactions, and was recently referenced in Kevin Poulsen’s Kingpin as the choice of the carder market – the collection of online outlets to buy and sell credit card information.

egold's logo

egold’s logo

Though it was forged near the tail of e-gold’s run and adopted a similar concept, Bitcoin turned out to be a different beast entirely. While it is still favored for underground transactions, closely integrated with controversial websites like The Silk Road, the currency had striking differences that allowed it to come into its own. Bitcoin is distributed (read peer-to-peer), decentralized, and considered fiat money (as opposed to representative money). There is no central authority to go to with legal matters, you cannot simply flick a switch and shut down the network, and the currency only has value because we give it value – it isn’t backed against gold or silver or another currency.

Bitcoin also has an interesting history. The identity of the creator, who goes by the name Satoshi Nakamoto, is still unknown to the public. Many theories have come up to who the man behind Bitcoin really is. Some speculations range from an academic team to a government agency to a reclusive cryptographer. If you want to see more speculation, there’s an interesting Vice article about the whole thing I’d recommend checking out.

Background

In 2011, I got interested enough in Bitcoin to set up my own wallet, download the block-chain, and set up little donate buttons on a blog or two. The donations never rolled in (and why would they), but my fascination with the technology did. The idea of a monetary system that worked sort of “like BitTorrent” not only held my attention because of the possibility of financial success but also because it made me feel like I was at the forefront of something cool and exciting. I pictured scenes straight out of Serial Experiments Lain or Neuromancer with a dingy apartment somewhere in a dense city. A patchwork of tangled computer cables linking unknown and mysterious hardware together to just run and create money for me while I’m out. Nothing ever sounded both so cyberpunk and actually possible (though probably not as bleakly artistic).

At the time, CPU mining was on its way out as GPU mining was taking over. The internet was flooding with pictures of enthusiasts’ mining rigs. Case-less computers, motherboards with a large amount of PCI slots, each filled with a top-of-the-line graphics card. One of these setups was big, hot, messy, expensive, and beautiful. Usually a person would have a few of these chaotic mining machines all running in the same room and they caught the cyberpunk feel I so badly wanted to create for myself. I wanted the hectic rat’s nest of wires and satisfaction of a successful rig build.

The "Super Rig"

The “Super Rig”

I never got that far. Building a machine to do this was an expensive process and I didn’t want to put a huge investment on the line when I was operating on a limited budget in the first place. So, ultimately, I steered away from mining as a whole.

That didn’t turn me off from the whole technological concept though. I did end up surveying the field to see what people were using Bitcoin for. The possibilities seemed endless. Aside from sales of underground goods, I saw there was gambling, web hosting, and even retails sales (including some coffee shops). Pretty much any type of business that could accept Bitcoin was starting to have outlets that accepted the digital currency. I did what any Bitcoin novice did: got my 0.005 BTC from BitFountain for free (now defunct), and sat on it. No use doing anything with it. One bitcoin was worth around $8 USD at the time, so I had about four cents.

After the GPU mining wave, I next saw the FPGA generation. FPGA stands for Field Programmable Gate Array and is pretty much self-explanatory. An FPGA has a hardware array of logic gates like your typical AND or XOR operations. Sequences of logic gates can be put together to form half-adders and multiplexers and eventually processors (when you chain enough smaller components together). Normally, you would have all of these components pre-determined into some type of integrated circuit called an ASIC (standing for Application Specific Integrated Circuit) which are designed and programmed only for certain unique tasks. Think of an FPGA as a breadboard for the final ASIC design. Both the FPGA and ASIC are programmed in an HDL (hardware description language) such as VHDL or Verilog (or any other ones you might remember from a System Architecture class). Unlike your typical object-oriented or scripting languages, an HDL is more suited for the Electrical Engineer instead of the Software Engineer (me). An HDL allows you to create models and interactions of hardware components as though you had them available physically.

XILINX Spartan-3E FPGA

XILINX Spartan-3E FPGA

As you’d guess, FPGAs were a favorite for Bitcoin mining enthusiasts. Developers would program the boards to mine Bitcoin and leave behind anyone still pushing their GPUs to the limit. For me, FPGAs were still a massive investment. Though likely not as much as an outfit of new GPUs, coupled with enough electricity to power a small town, the amount of money for an FPGA was still a few hundred dollars. On top of that, I’d still have to dust off some of my class notes and program the thing. It would have been fun and a great learning experience but at the time I didn’t want the hastle. Besides, something better was coming soon anyway.

In the summer of 2012, I started discussing with my co-workers the feasibility of having us set up a Bitcoin mining operation. The whole concept was relatively simple: we were all going to throw money in for a new USB connected ASIC chip and run it off of a computer of our own. We did the math to figure out power consumption, our initial investment, mining complexity increase, etc. and the numbers for our break-even point looked pretty good. The company were were looking at for our miner was Butterfly Labs, who boasted they could provide a chip with an incredible hash rate at only a few hundred dollars. Split between a few people, it didn’t seem like too bad of a deal. Then, we started looking into the company. They were plagued with manufacturing delays. When you couple the time delay with the growing mining complexity, your return takes much longer. Couple that with the fact that Butterfly hadn’t delivered anything yet, the whole thing could have been someone’s pie-in-the-sky idea or giant scam. We decided to shut down our little plan and save ourselves the aggravation. This ended up being a wise decision. Butterfly Labs continued to be plagued by delays and people ended up auctioning off their pre-orders. There are still not that many Butterfly Labs ASIC chips out in the wild, even now.

Butterfly Labs ASIC Miner

Butterfly Labs ASIC Miner

After all this, I still wanted to try my hand at Bitcoin mining.

I knew that I wasn’t going to make a lot of money, but I thought it would be fun. If it made me any money, any at all, that would be something. So I got to work doing a little research.