Monday, April 21, 2014

Weed superior firepower

The weather is warm and my in-laws are in town and spending time with the kids, so I had some time to take care of some chores. One of those chores was de-weeding my front yard. The mulched area around the shrubs in front of my house has been invaded by weeds this spring.

Two minutes into picking them out with a small shovel on my hands and knees I got up and walked into the garage to design and build a better tool. ...it's funny that this is exactly how software engineering and data-research works. If you have a boring or repetitive task you should find or design and build a tool to make it easier. "Necessity" isn't the real mother of invention; it's laziness. Or, more aptly described, it's a natural outgrowth of intellectual curiosity. But I digress.

Here are the parts I used, and the end result. On the left is 1.5" some steel tube, some 3/16" angle iron, and a short piece of reinforcing bar (rebar). The handle was cut from a piece of pine 2x4. The unstained handle was a quick prototype. I did a test-fit and then finished the welds while the head was on this handle (hence the burn marks and destruction on it).


This square handle was really easy to make and fit together. Everything was cut just using the table-saw fence and finishing it off with a chisel to get to the areas that the circular blade couldn't reach. Slice it down the center and slam home a wedge and this ended up being a solid way to put everything together. I think it's way better more classy than using bolts to attach the handle.

I wanted something small that I could stomp on with all of my body weight to sever or dig out stubborn roots if I had to. Here's a short video of how it works. I filmed this with my phone in one hand and the tool in the other; with the benefit of both hands the tool is really efficient.



Here's me lining up on a weed:
After a successful extraction, roots and all:

The welding on the tool is a little excessive. Part of the reason for undertaking this project was to teach my father-in-law how to weld, so we kept taking passes on the metal. It's interesting to see how others interpret verbal instruction or how they pick up new tools and methods. His initial pass he waved it back and forth like a paint spray gun; I didn't expect him to do that. On the second try, I made sure to explain that you have to hold in the same spot until the metal starts to melt and then slowly lay a bead of weld. I didn't bother grinding things down very much afterward, just spray painted it and hung it on the handle. That's the fun part of building garden tools, they don't have to be pretty.

A note about the steel. This is mild steel, and that's ok. I had some high carbon steel that would have been harder, but I'd prefer a digging tool to turn an edge rather than chip. I know this tool will be slammed onto rocks and concrete, but any damage done can easily be pounded (preferred method) or filed out (last resort) before resharpening.







Saturday, April 19, 2014

Making a duck call

It's been a while since I've posted. My new daughter and a hectic work schedule created a perfect storm of busy.  I did manage to find some moments to sneak out into the garage and make something.

The wood is a piece of Macassar Ebony my father in law picked up in the scrap bin of an international wood dealer we frequent in North Carolina. They only deal in rare exotics and their scrap bin is a gold mine, if you know what you're looking for. He had already drilled and cut it for a duck call before bringing it to me, so I just had to chuck it up in the lathe and make it the right shape.




The reed is tuned for a wood duck. They are beautiful birds but are seen less than Mallards or domestic ducks. Not because they are rare, but they like forested areas and won't sit in open ponds where most people interact with ducks. Their webbed feet even have claws for perching in trees, something most other ducks can't do.




Since fast forward lathe sounds are annoying, I replaced them with two country songs. Any other type of music just didn't seem to fit for a duck call. For those of you asking how I get away with posting music on my videos, here's how I "think" it works. If I'm not making money off of it and cite the artist, it's a good basis for protection under fair use ...probably. Fair use is determined on a case by case basis and interpretations change over time; you can never really be sure. Some might even claim that it's intentionally ambiguous; I think the reality is that doing this falls into a no-man's land of the copyright wars that have been going on for over a century.

If my comment about "over a century" was inspired by a recent find in an antique store. I was rummaging in an antique store with a friend and he purchased the container for one of Edison's wax cylinders. Here's a picture of the End User License Agreement on the wax cylinder container.  There will be a future post on what I found and built as a result of that trip.



I'm not a lawyer or a copyright expert and my videos might get yanked someday. I'm ready for that and will re-upload with a benign soundtrack if it happens. The end result if that happens is that the artists will lose the publicity, and some lawyers will make some money defending a bad business model. Until then, "it ain't no crime".

Here are the songs from the videos:
It aint no crime - Joe Nichols
Time flies - Kenny Chesney

Monday, March 10, 2014

pull up bar build

A friend created a wooden pull up bar with a design similar to this and I've been wanting to build my own version for a while. I was never satisfied with any of the wooden designs I could come up with. They seemed either too bulky or too weak. Nothing I'd want hanging on the wall in my small home office.

This Saturday I was out playing around in the garage and looking for an excuse to weld something. This is what I came up with just sticking some scrap metal together. I think it ended up being perfect for what I wanted and it came together fast. The longest part of the build seemed like it waiting for the paint to dry so I could try it out.


Safety notes:

It's March here in Virginia and I'm the only person at work with a tan on my forearms thanks to not wearing any protection while welding this. I'm sure the youtube safety patrol will be all over this. My left arm is a little burnt from the welding flash.  It's only enough to be uncomfortable for a day or so, like a light sunburn. No big deal, but next time I'll put on my welding jacket. I have flashed my eyes before. If you've ever wondered about how painful this is, welding flash to the eyes feels like having sandpaper under your eyelids for a few days. So not fun. It's the exact opposite of fun actually. I'd advise not messing around with welding eye flash. Spend the money on an auto-darkening helmet so you're not messing around with your helmet every time you position the arc. It's been probably ten years since I've messed up on that one and just thinking about the welding sunburn on my arm has me re-living how obnoxious and painful eye flash was.

In some of the drilling scenes you'll hear my son in the garage "helping". He was far across the garage playing with some wooden blocks and wearing his safety glasses. I scoot him off to his mother whenever I weld, grind, or plug in the dangerous saws.

Thursday, March 6, 2014

End Grain Cutting Board

My daughter was born last Tuesday. I've been spending a lot of time around the house helping out my wife and caring for the new little girl. When not being dad I'm typically at the computer working from home.

However in between all this craziness, I managed to sneak out into the garage for a few hours, clean it up and dive into a project. I ended up making two of these end grain cutting boards. One I sent home with my parents, the other is now in my kitchen. I'd say maybe 4 or 5 hours total work, 3 of which was sanding and finishing.

This board is made out of 8/4 Maple and 8/4 Walnut with some Osage Orange left over from a bow project last year. These are very close grained woods and lend themselves to this type of project. I had some purple heart and ebony laying around which would have worked great too but I decided not to sacrifice them for this project.

I didn't get the whole build process on film, just the last half. But, there are many videos about how to cut and glue these boards together.  The Wood Whisperer probably has the best one: http://www.thewoodwhisperer.com/videos/how-to-make-a-butcher-block-cutting-board/ If you want to build your own, use his plans and tips. I didn't significantly change anything here except for the addition of some rubber feet. I put them on before I applied the mineral oil and wax; they seem to be sticking well. I did this because in a follow up video Marc Spagnuolo shows how his board cracked after laying in some standing water on the counter top.





The board was glass smooth until the first time I wiped it off with a wet rag which raised the grain slightly. I suspected this was because I didn't apply enough mineral oil and wax the first time around. On my second application I applied a liberal amount of butcher block conditioner on the board (wax and mineral oil mix) and then swept over the board with a heat gun until as much of it was soaked up as I could get the board to take. It seems to be fully conditioned now, but I've read that I may have to do this several times.

Sunday, February 9, 2014

Making a Bitcoin Dogecoin Litecoin and other altcoin mining rig

Old school woodworking meets new school crypto-currency mining rig. After reading about crypto-currencies and looking at what other people were doing with mining rigs I decided to design and build my own using all the tools I had access to.

This is what I came up with. My goals were to create a rig that's self-contained, sturdy, and stackable while still providing airflow in all the right places and having a control panel still available so I didn't have to reach into the case to hit the power button on the motherboard. Airflow is back to front.

I plan to build more and stack them before summer so I can put an AC unit and dedicated breaker panel in the same room. These things put off a lot of heat and suck a lot of power.



Direct link to vid:
http://www.youtube.com/watch?v=sI6NxsHm4CE


Materials:
1 2"x4"x8' framing lumber
2' piece of 11mm birch plywood
aluminum angle
A cheap computer case

After construction I did discover through testing that the 1500W power supply would not maintain five r9 280x GPUs. By overclocking and tweaking cgminer settings I can get about 715khs out of each of the four remaining cards making this about a 2.8Mh/s system.

Right now it's mining dogecoin which I'm holding or giving away (tipping or donating) on twitter, reddit, and elsewhere.

http://www.reddit.com/r/dogecoin
http://www.dogecoin.com/

Update:
This post was picked up by Hackaday, love those guys!
http://hackaday.com/2014/02/10/wow-such-mining-rig-so-amaze/



Music:
Breathe by Télépopmusik
Exchange by Massive Attack
Risingson by Massive Attack

Box Joint Jig by Mathias Wandell (purchased plans off his site)
http://woodgears.ca/box_joint/jig.html

Send any Dogecoin donations here: D7kExD3AoJAdHMMaYv6uQYhHQdVUQ1hkR2

If you want to donate and only have Bitcoin:
18udt5pbq8XKLgGqebU9VU4exqkrAViPVz

Thursday, January 16, 2014

Project Planning Software

I think project planning software can be overkill in a lot of circumstances. Software like MS Project is great at looking at things to spot critical paths and temporal dependencies, but I think it's most useful as part of planning cycles when leadership is dedicating a lot of time to it. When I've been part of teams that tried to stick with it for any period of time, it always ended up taking more time to manage and update the visualization than seemed productive in the operations stages of the project. Especially when continuing to account for changes and project drag (hopefully created by timely opportunities rather than unexpected difficulties!).

I'm a fan of the recurring meeting and discussion item spreadsheet. Google docs is great for this.  In meetings with key leadership we typically identify ways to be concurrent and complementary rather than sequential, just getting together and talking about things on our minds is important. People are pretty good at identifying the points of friction and often have an intuitive feeling for what's going to cause a problem before the problem happens. If you hide those discussions about the important things behind useless details or re-iteration of milestones and goals, you greatly reduce your chances of getting to those goals on time. The problem pops up anyway, like a horror movie monster, after the chance to kill it early has passed. Here's an xkcd comic to illustrate my point.


 
The most important thing we do is get together to find opportunities to identify and rectify problems fast. Having a list of items we want to discuss at that meeting allows everybody to voice their concerns/ideas.  How the spreadsheet (or presentation or document) looks doesn't drastically change how I prepare for it. It's the difference of "try to understand it all every time we get together" versus "let's talk about the important stuff, because we all have a basic understanding of the whole plan". We can aim for the former, especially when taking on new team members, but I suspect that projects that tend toward the latter in out-of-planning-cycle phases are more efficient.

I'm a planning nerd, having had this stuff beaten into me by USMC Infantry Battalion Commanders I've worked with in the past. So sometimes I skim over the Marine Corps Planning Process (like a nervous survival instinct reflex).  http://www.mca-marines.org/files/MCWP%205-1%20MCPP.pdf
It's a neat read. The first few pages are most useful, although in practice I've found them to somewhat be aspirational. The later parts go into how to neat nuances like identifying "trusted local people to resolve problems" at remote villages (that guy at the other organization that knows how to reset your password or get you in the server room). Indicators and measures of success (we talk about this at every single meeting I've ever been to). It's a good formal capture of important stuff that really good program managers end up doing anyway (and usually learned about the hard way). Of course many parts don't apply! And it is a war manual, so reader beware. Please ignore all the parts about the targeting enemy personnel, only good guys here! Let's all be dogecoin friendly to each other. Hostile work environments suck.

Saturday, December 28, 2013

Merry Cryptomas

I've been on a crypto currencies kick lately and spent my Christmas vacation learning more of the great things you can do with them. This post started as a story of how one crypto-currency, Dogecoin, exemplified the crypto-currency community in a positive way this last week. I'll get to that in a bit after I explain some more about crypto currencies, filling in some awareness gaps I often come across when talking to people about them. Like other early adopters I'm kicking myself for not buying more Bitcoin when I first started playing with it in 2011. The recent November run-up tuned me into it again. Of course, when you know the right answer, investments always can return fantastic results. Here's a great article about how you could have turned 1000$ into Billions of dollars by playing the S&P 500 stocks perfectly in 2013.  This isn't to say there's anything special about 2013; this happens every year. So, even though I missed the recent Bitcoin run, I'm not kicking myself too hard. The lesson here is that everything always looks great in hindsight and there's still plenty of growth left. My portfolio did ok anyway, if you read to the end I'll give you a Christmas present (for next year).

...back to crypto currencies. Like any decent crypto-nerd I have a copy of Bruce Schneier's Applied Cryptography (protocols, algorithms, and source code in c) on my night stand, right under Cryptography Engineering. Satoshi Nakamoto (pseudonymous entity that designed and created the original Bitcoin software) released his excellent paper in 2009, but people have been dreaming of similar things for a while. Bruce's book, published in 1996 has a neat snippet about "Digital Cash" and describes 4 different protocols for it's implementation. Each of them are a pretty clumsy implementation of Merkel's Puzzles (devised in 1974 by Ralph Merkel). Not that Bruce was clumsy or even references Merkel, but that's the best on sentence description I can give. Bruce is quite the opposite if you don't know any facts about him and he was out on the very cutting edge of this stuff. Remember that in 1996, people were still wondering if this internet thing would grow and arguing if Gopher was a better protocol than HTTP of the World Wide Web. Here is the sentence about digital cash that really caught my eye: "A great social need exists for this kind of thing." I agree and here's a few of my reasons why. From Forbes: “If Target accepted Bitcoins, 40 million individuals would have been protected.” Emerging economies with weak governments are resorting to using phone cards as currency. Crypto-currencies have really compelling and valid uses in the real world and I'm glad they are catching on. Reasons are legion, to those stating the contrary are turning a blind eye to how inefficient and insecure our current monetary system is. Good or bad, I think the analogy to arguing for Gopher vs Http is apropos. Gopher was centralized, hierarchical, and proprietary (higher barrier to entry). Http is distributed, not hierarchical, and open. Sound familiar? Try accepting payments via credit card on a web site, you're mostly stuck working with APIs and infrastructure provided by Amazon, Paypal, or Google. All great APIs. Want to accept bitcoin? It's as easy as providing an address on the peer to peer network. Here's one I just generated for this post: 19ZhEdxJ4Wk1mZ6cQHKbFrXGBP1YmwDTfn
Want to make it easy for people with cell phones or augmented reality glasses (thinking future here) to pay you? All clients pretty much support exporting QR codes now, below is the same address displayed in a manner that any smartphone can read. You can create a unique address for each and every transaction if you like or have a rotating pool of addresses that you use to receive payments. This helps track who is paying you and when. There are 2^160 possible addresses on the network. That number is about one quindecillion or exactly 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976.
For some perspective, there are only 700,500,000,000,000,000,000 grains of sand on all the beaches of planet earth. So it would take labeling 2,086,369,218,174,022,724,059,507,255 earth sized planets worth of sand to use up all of the address space of bitcoin addresses.
Pay me!


It wasn't easy or intuitive to create something like Bitcoin. Previously standing between the clumsy theory mentioned as Merkel's puzzles above and a real world implementation of digital cash were some pretty high and steep computer science cliffs to climb related to how to achieve distributed consensus (see Byzantine General's Problem). Aka: "how do you get everyone on the network to agree how much each wallet or transaction balance is without cheating on each other." Using a peer to peer network as a starting basis wasn't even on the radar. It wasn't until Napster and Bittorrent had destroyed the music and movie industry's antiquated business models that peer to peer tech became a go-to practical solution for problems. Satoshi's Bitcoin paper came out a few years later along with thefirst version of the software. Satoshi slayed the Byzantine General and made distributed consensus possible by proposing a proof-of-work algorithm which you probably know as BitCoin Mining. It's required for transactions to happen (aka consensus) on the Bitcoin network. In order to provide incentive for people to mine, the proof-of-work algorithm also creates new Bitcoins which are owned by the miners. Five years later, we can say definitively that the incentive worked as millions of dollars have poured into research and whole new class of specialized hardware dedicated to bitcoin mining.

But this is all old news, not at all related to my Christmas break. If you're an astute reader you'll have noticed that in the first sentence of this post, the word "currencies" was plural. That's right, a whole bunch of devs have copied bitcoin's protocol and created a massive alternative-coin market. Most of them just blatant knock-offs with no real purpose (intentional or unintentional) other than to build alternative networks to the Bitcoin network, which isn't that bad of a thing. Another thing they have provided is a huge test bed of research and development outside of the core bitcoin source and development community. There is a whole new class of open source project now dedicated to crypto currencies. My Christmas break was spent exploring in amazement the advances made by these communities and their related exchanges. Did you know you can seek funding for a business by issuing crypto-currency stocks? Some of the stocks already available on the exchange even pay weekly dividends to holders. This isn't play money, real world stuff is happening. My favorite adventure over break was the explosion of a new alt-coin called Dogecoin that is introducing loads of new people to crypto-currencies in a non-threatening manner. If you research it even for a minute you'll get the whole back story, so I won't repeat it here. It's funny and worth learning about. While lurking the dogecoin subreddit, I noticed that someone had posted a potential technical attack against the dogecoin network in a snarky way and claiming the currency was doomed "Merry Christmas". Top comment in response was a dogecoin developer saying he was on the case. Within less than 24 hours a countermeasure patch was developed and announced via the IRC channel and disseminated through the subreddit. Awesome. This kind of exemplifies most of my experiences with crypto-currencies thus far: thousands of people looking for weakness, somebody thinks they find one that they claim will end everything, and the software gets better as the core technical teams get involved to fix the weaknesses that have any merit. I think this is a good basis for a distributed network of trust and the future looks bright for crypto-currencies as long as this keeps up. 
h/t some random redditor

Here's the Christmas present:
First of all, buy some crypto; I think Bitcoin is going to keep going up in value for a long time in relation to fiat currencies; especially with Wall Street jumping on board. Start using it to buy things if you can; it's fun and way more secure than using a credit card.

If you don't understand crypto yet and want to stick to putting your investment money into normal stocks, my 2013 portfolio contained AMZN, FB, GOOG, NFLX. The new ones I added through the year are AMD, TSLA, and TWTR. Because it's fun and I post this stuff on the Internet and can revisit it in a year, I'll make some stock predictions for 2014. User generated video content is going to be huge; GOOG has the corner on it, Youtube is the 2nd most used search engine on the Internet, and tons of people are now making careers just producing content for it. Amazon is going to continue to dominate IAAS and PAAS despite IBM, RAX, and others claiming otherwise. FB is going to continue to dominate Social with most people, even though it's eschewed by a younger crowd and G+ et al are trying to get in on it. If Snapchat has an IPO, I'm going to get on it. Speaking of IPOs, TWTR is going to monetize like crazy now that they are public (and probably nearly kill their platform doing it); but the stock will go up. TSLA is going to keep making awesome cars (which will keep being wrongly skewered by dishonest journalists looking for a story and put the stock periodically on sale). And if you've watched House of Cards you probably immediately bought Netflix stock. Netflix's original content productions are awesome and a Netflix subscription is half the cost of their competitors in this arena. The only thing to watch out for taking Netflix market share is Amazon Prime, but since we're invested in them anyway (b/c of IAAS) it's all good. If by chance you don't manage your own portfolio, you should get on that this year and open up a brokerage account. If I remember I posted this, I'll come back to it next January and see how we did.  

Saturday, December 7, 2013

Two years of my book reviews



My wife says I read more than anyone she has ever met. I thought that was a pretty nice complement, she reads voraciously as well and we both want to pass that on to our son (and pending daughter). Even though he's only two years old I don't let him go to bed without us cracking a book and pointing at some pictures. The work pays off, he can already recognize most colors, shapes, and some numbers.

I started this post as a summary of what I read in 2013 (since it's the season for end of year blog posts) but I decided to include 2012. While looking at my notes there were a ton of good books that I have never mentioned here. I could go further, but I had to cut it off somewhere, this list is already out of control. I think I'm writing this in part to avoid real work, so there's that too. This ended up being an epic blog post, but I honestly enjoyed pulling it together and reviewing what I've consumed over the last two years. It's good to look back.

How I was able to do this is kind of interesting and unintentional. When reading a book I'd always fold over pages and put little check marks near lines I thought were exceptional or worth revisiting. This later evolved into those little arrow stickers and eventually dictating the lines to my Android phone and Evernote. Since my Evernotes have time stamps I can tell when I finished reading something, which is nice and enables me to look back at what I've read over a certain time frame. 

So here it is, a list of what I've read over the last two years and what I thought of it. If I thought the book worth recommending I took the time to included a picture of it's cover. If I thought it was very good the picture is bigger.



Non-Fiction:


In the Plex – Steven Levy
Still reading as I'm writing this blog post. I like the company more after reading most of this book.

Radical Abundance – Eric Drexler
Eric Drexler's 1987 book Engines of Creation ignited the fascination with everything nano-technology over the last 30 years and is one of the most inspiring books I've ever read. This book details how the politics of government funding and
media hype crushed the prospects of seeing his Engines of Creation predictions come true in the last few decades. After lambasting some fools, he lays out some new predictions. My favorite line of the book: If you understand the implications of this and feel like telling everyone you meet, go lie down on the floor and wait until the feeling passes. I laughed at that, he's right; most people aren't ready to hear how much things are going to change. It's a lot of work to think this stuff through to the natural conclusions and few people want to do that work.

How to Create a Mind – Ray Kurzweil
If you're reading to catch up on Law of Accelerating returns predictions and haven't read any of Kurzweil's other books, start with The Singularity is Near; you won't find many predictions in this book. What you will find is well researched support for a theory about how the human mind works and a survey of the current state of research around building or emulating it. My favorite part was the chapter “Thought Experiments on the Mind”. In usual Kurzweil style he broadly surveys the literature around each of the topics presented and then responds to each with his own thoughts or cross references. Each book Kurzweil writes seems to be better than the last.
Age of Context – Robert Scoble and Shel Israel
Worth reading, the authors are tuned into what's going on; but so am I so nothing in here was a big surprise. Pretty much a list of companies and why they are disruptive. I'll be investing when they have IPOs, my notes are a list of who I think is worth watching closely. I think the top company to watch in the next few years is https://www.uber.com/

Turings Cathedral – George Dyson
Great read! A historical discussion of the first few years of computers. A great reminder of where all this stuff came from. My favorite part, the mention of A Million Random Digits with 100,000 Normal Deviates. To find out why I think that book is cool, read this Dr Dobbs article about how a challenge to compress the file has lasted ten years! http://www.drdobbs.com/architecture-and-design/the-enduring-challenge-of-compressing-ra/240049914


Social Intelligence – Daniel Goleman
Not on the top of any of my lists. A collection of pretty obvious anecdotes about how social intelligence is as important or more important than raw intelligence. To be 100% honest, the books I read from a christian perspective from authors like Andy Stanley or John Maxwell are more useful and contain better reminders and solid advice about how to treat people well and behave in life. A few years of neuroscience research doesn't hold a candle to thousands of years of research and practical application.

Wheat Belly – William Davis
I went Gluten free after reading this ...for almost two months. I decided that the inconvenience wasn't worth it and went back to eating bread and cereal. Most interesting concept: there's little incentive for medical research that doesn't result in a drug or device that can be sold at a profit. In the case of celiac's disease there's an entire industry even potentially suppressing research. Bummer.

Presenting Data in Tables and Charts – David Levine
zzzzzzzzzzzz boring. If you want to learn how to present information read Edward Tufte or Colin Ware.

Sexy Little Numbers – Dimitry Maex
Very worth a read. My favorite part are the detailed descriptions of marketing strategies. I liked the metrics driven approaches with acorns, golden nuggets, and jackpots vernacular. Some cautionary tales of failure as well: “Some people use data analytics like a drunkard uses a lamp post, for support not illumination.”

Leadership Gold – John Maxwell
Loved this book. I had read it when I was a Marine Lieutenant and re-read it this year. Some of my better random notes: Great people develop those around them. Small people will attempt to put the same limit on others that they put on themselves.” “Activity does not equal accomplishment. Twenty five years of experience is the same as
one year of experience if you just repeat the same year over and over again and don't learn. Reflection turns experience into insight. Experience alone means nothing, evaluated experience means everything. If a cat sits on a hot stove, it will never sit on a hot stove again; but it won't sit on a cold stove either. Cat's don't have the mental capacity to evaluate risk, sometimes people are the same way.

How to Stay Motivated – Zig Ziglar
I heard somebody make a joke about Zig, and I didn't know who he was so I picked up this book. It actually was pretty decent. Written in 1960 something, everything still was good. My favorite note from this book: Develop people like you mine for gold; expect to move a lot of dirt to get to the valuable stuff. People will become what you tell them they are or will be and words matter.


The Frontiersman – Allan Eckert
I can't recommend this book enough. Amazing historical fiction following the life and times of Simon Kenton. The challenges people faced during the 1780s in America make even the worst problems of the world today seem silly. After reading I bought a tomahawk and a canoe (just because I'm 32 doesn't mean I have to act like an adult). One of my unfortunate discoveries are that nearly all historical flintlock rifles have been destroyed, having been converted to percussion cap firearms. After reading this I bought the next book on my list.

Firearms, Traps, & Tools of the Mountain Men – Carl Russel
I think I got this book for a few dollars on Amazon, it's probably out of print. Lots of great pictures of illusrations and historical descriptions of stuff that doesn't exist anymore. The greatest minds of our time are writing software or working on space travel; the greatest minds of this time were making mechanical devices like traps, rifles, and refining metallurgy. The genius in their designs is apparent.

North American Bows, Arrows, and Quivers: An Illustrated History – Otis Tufton Mason
Mostly I just looked at the pictures. Then I made a Cherokee bow out of hickory and sinew string (not a joke, really). Maybe I'll write a blog post about that. Amazingly there is a kindle version of this book.

Camping and Woodcraft – Horace Kephart
Fantastic advice on, well, Camping and Woodcraft. Written in 1906. Not to be confused with the next book on my list.

Woodcraft and Camping – George Sears Nessmuk
I'd rate Kephart's book as better, but Sears published his 20 years earlier in 1884. The best part of the book was his obsessive quest to find the perfect double bit hatchet. These are still incredibly hard to find in quality form.

Kant in 90 Minutes – Paul Strathern
I picked this up because I had heard about the Kantian principle of not utilitarianism and Kantian ethics. http://en.wikipedia.org/wiki/Kantian_ethics It was an insight into his life and times and what drove him. My favorite part is when they describe the difficulty of scheduling events in his home country because it had 4 official time zones, none of which were based on sensible geo-spatial regions. Couple this with a lack of accurate clocks and hillarity ensues.

Do the Work – Steven Pressfield

Turning Pro – Steven Pressfield
Both great books in their own merit, but not as good as the next book on my list. I believe they are both derivative of it, but don't come near it's excellence.

The War of Art – Steven Pressfield
If you haven't read this book, drop what you're doing and buy it right now. This is one of the big ones. Hugely important. There was a guest speaker at my church that made a passing reference to it and I was surprised that Pressfield had written non-fiction. I had only read his “Gates of Fire” years before. It's Pressfield's secret guide about how to channel creativity, overcome procrastination, and get things done. I've read it three times over the last two years and every time it's a real kick in the butt to get going.

Purple Cow – Seth Godin
Why is the Mona Lisa special? Because it was stolen. Things are desirable because they stand out, rarely due to objective quality. This book lays out a bunch of great examples of this. Seth has a great blog too. Check it out. http://sethgodin.typepad.com/
Linchpin – Seth Godin
I picked this book up in an airport at random. It looked good and it really was. It details why the employee employer relationship has changed and how to ensure job security by choosing to be exceptional at what you do.

All Marketers are Liars – Seth Godin
No really. They are. Lies can be good: the wine glasses that make wine taste better but only if somebody tells you they are supposed to make it taste better (placebo effect). Lies can be bad: Nestle marketing powdered baby formula as healthier causing young mothers in Africa to forgo breast milk and killing their babies with polluted water mixed with the advertised formula.

Born to Run – Christopher McDougall
I had noticed a co-worker wearing toe-shoes and struck up a conversation that included him recommending I read this book. So I did. It details the adventures of ultramarathoners and a native tribe in Mexico called the Tarahumara that are legendary for their running ability. Some analysis of why modern sneakers are bad for us and flat shoes/barefeet/sandals are good for us. I buy shoes differently now, opting for flat soles and the least “support” possible.

Everything is Obvious – Duncan Watts
Duncan Watts gave a presentation at a local TED conference, that I missed. I was having lunch with a colleague that recommended his book. It was a good discussion of how unpredictable things are and that we can pretend to see indicators after the fact. A cautionary tale of the predictability of many things.

Data Mining – Ian Witten, Eibe Frank, Mark Hall
A somewhat rough introduction to Machine Learning. Programming Collective Intelligence was a much better book if you're just starting off. Weka is a very broad ML tool and this book covers a lot of it. For ML tasks and education I've mostly fallen back to the python ml libraries and vowpal wabbit, making this book kind of useless for me. However, if you're invested in Weka, this is a must-read.

Coders at Work -  Peter Seibel
Interviews with some of the most famous and talented programmers on the planet. Peter Norvig, Ken Thompson, Don Knuth, and many more. My favorite part: they all use print statements to debug instead of debuggers. I was always kind of ashamed I never spent much time with break statements and debuggers, but I feel better about it now.

The Better Angles of Our Nature: Why Violence Has Declined – Steven Pinker
I saw his TED talk, then I got half way through his book. I get it. I agree with his observations and it's hard for me to understand why more people don't get this. For further evidence read The Frontiersman, which I noted earlier. Violence is declining.

The Elements of Style – William Strunk
I bought it on a whim. It was mentioned in one of the interviews in Coders at Work. I'd hardly say I read this. More like skimmed through it and tried to figure
out why they thought it was good. I'm sure it's good, but there are better books on this (like the next one on my list).

Essential Communication Strategies for Scientists, Engineers, and Technology Professionals – Herbert Hirsch
This was a re-read. I read it several years prior. Pragmatic and funny, this is my go-to book for good technical writing.

The New Digital Age – Eric Schmidt, Jared Cohen
Pass; I finished it but it got to be a struggle. Two interesting people, not a very interesting book; maybe they canceled each other out. This is more of a "what just happened" book instead of a "what is about to happen" book.

Seeing Further: The story of Science and the Royal Society – Bill Bryson
I read this shortly after reading Neal Stephenson's Baroque Cycle. Freaking fantastic. I read Bill Brysons History of everything a few years ago and this was an excellent book as well. I also read At Home, which was good too. Bill is a talented non-fiction author and he can find the interesting aspects of almost anything. In this books he covers the foundations of modern science which makes it double-interesting.








Fiction:


Daemon – Daniel Suarez
My top recommendation for fiction. Eccentric millionaire video game company owner dies and a computer daemon and assets he has prepositioned wreak havoc on social structures. A little gory (the first few sentences have a beheading) but as the story goes on it gets smarter and although there is a lot of violence the plot isn't cheap. The book is fantastic. Interesting that Daniel had to work so hard to get it published.
Freedom (TM) – Daniel Suarez
The sequal to Daemon. It's even better than the first book and a lot of what the eccentric millionaire was trying to accomplish makes more sense. I found myself annoyed that there wasn't a third book.

Kill Decision – Daniel Suarez
I read this because Daniel's other books were awesome. This one, not so much. It talks about autonomous UAVs, which is cool, but it didn't really resonate with me the way the other two books did. Not enough geek culture, too much government conspiracy stuff. If I could go back in time I'd tell myself to pass on this one.

Earth Afire – Orson Scott Card
I read this in preparation for the Enders Game movie to come out. This is the prequel to Enders Game. I felt like Orson Scott Card was really off his game. It turns out my suspicions were half right; he had a ghost writer co-author this one. Bummer. Unless you're a die-hard Ender's game series fan (like I am) don't bother. If you are, pick it up; it's not terrible.

A Fire Upon the Deep – Vernor Vinge
A few years ago I read Rainbows End on a recommendation I received from talking to somebody at a conference. A Fire Upon the Deep did not dissapoint. Hardcore science fiction, singularity meets sentient artificial intelligence meets interstellar travel. All awesome.

A Deepness in the Sky – Vernor Vinge
Not as good as A Fire Upon the Deep, but still ok. AFUTD really reasonated with me, this one didn't as much. I don't know if it was my mood when I read it or the book.

Some Remarks – Neal Stephenson
I always enjoy Neal Stephenson and buy anything he publishes. The best part about this book is the best part can be read online for free. Out of all the essays I enjoyed “Mother Earth Mother Board” the most. It was originally published in Wired and is still there: http://www.wired.com/wired/archive/4.12/ffglass.html


Last of the Amazons – Steven Pressfield
Some women cut off one of their breasts to be better archers. I enjoy reading about warfare, women's rights, and archery. Having all three together may have spoiled it for me. Not my favorite Pressfield book.

The Afghan Campaign – Steven Pressfield
Pressfield was a Marine and he writes better to the experiences of current and historical warriors than anyone else I know of. My favorite Pressfield book is still Gates of Fire, which is based on the Spartans at Thermopylae and served as a basis for most of the 300 movie. This book is a close second. It follows a handful of Alexander the Great's Army as they fight their way into Afghanistan in 330 b.c.

Ruins – Orson Scott Card
A while ago I read Pathfinder by Orson Scott Card, I enjoyed it so much that when Ruins came out I finished it within a few weeks of it's release. Orson Scott Card's first novel Treason was some of his best writing and I think in these books he takes the best aspects of Treason and his Space Sci Fi and mixes them together. A great combination. The book ends on a cliff hanger, so I expect another book soon. Unfortunately I think Orson was side-tracked by the Enders Game movie and pressured into writing Earth Afire instead of continuing this series.

Interface – Neal Stephenson
It's neat to have Neal Stephenson writing a thriller set in Northern Virginia where I live. Weird to have him writing about politics, but the book has some neat concepts and scenes in it.

Anathem – Neal Stephenson
I can't write much about this one without plot spoiling. Each plot change was a major twist and it was extremely interesting. I can say that if you like Neal Stephenson you should pick this up. Neal stopped at google to discuss this book http://www.youtube.com/watch?v=lnq-2BJwatE and it was inspired by the Clock of the Long Now http://blog.longnow.org/02008/09/02/neal-stephenson-and-the-10000-year-clock/

The Castle – Franz Kafka
For a detailed review of this book, see my blog post on Federal Certification of Information Systems. I'm kidding... kind of.

Distrust that Particular Flavor – William Gibson
An exploration of William Gibson's unique version of Otaku. His obsessive interests really appealed to me when I was a teenager and my copy of Burning Chrome fell apart long ago from being read so many times. “The future is here, it's just not evenly distributed.”

Moby Dick – Herman Melville
While stuck in an air port I found a book titled “Why read Moby Dick?”; I read the back cover, then popped open my kindle app on my android tablet and got Moby Dick. Melville was a true master of words and the book is so fluid and lucid that it's almost like poetry.

Reamde – Neal Stephenson
Not a typo, but a great book on massive multi player video games, entrepreneurship, and terrorists. If the fact that Neal Stephenson wrote it and it contains these topics doesn't have you rushing to buy it, nothing else I can say will sway you.

World War Z – Max Brooks
I've heard this book was good for years but never picked it up because most of the zombie craze doesn't really excite me. Don't get me wrong, I enjoy a good zombie movie or show as much as anybody; maybe an aversion to media glorifying post-apocalyptic scenarios is a side effect of having lived as a US Marine in Iraq for over two years. But this book turned out to be as fantastic as everybody said it was. My favorite chapter: the downed female pilot. Read the book, you'll know what I'm talking about when you get to it.





Faith:


Things a Computer Scientist Rarely Talks About – Donald Knuth
Don Knuth aka “The Father of Computer Science” was asked to come to MIT and give a series of lectures on whatever he felt like. So he talks about infinity and what probability theory can tell us about free will. Then he talks about whether or not mathematics can enhance our personal understanding of the bible. This book is an all-out defense of the faith from one of the smartest people on the planet in front of one of the smartest audiences on the planet. Don was somebody I respected deeply way before I decided Christ's words made sense. Finding out this book existed was one hell of an affirmation of my beliefs. I plan to read Don's other book on Christianity called 3:16 in which he randomly samples bible verses and deep dives into researching the passages that come back.

Revolutionary Parenting – George Barna
One of the best parenting reads I've had. I abhor hearing parents say things like “kids are just going to do what they are going to to do and we can't stop it”. I think that a huge part of what our children become is based on our expectations of them and SHOWING THAT WE CARE. Let them grow, but show them that you care about how they turn out by being involved in their lives and asking about how they feel about things and letting them know how you feel.

Enemies of the Heart – Andy Stanley
This book covers how to deal with four emotions that every human has to contend with: guilt, anger, greed, and jealousy. Being wise doesn't mean you don't have problems, but it does mean that you won't be the source of your problems. This book is full of great practical advice for getting control of these emotions and making sure they don't control you decisions.

Deep & Wide – Andy Stanley
In northern Virginia we have access to some awesome churches that are intelligent, supportive, committed, vibrant, and packed full of people that generally really have their lives together and are eager to help others out (of course there are exceptions but they are welcome too!). Andy pastors a similar church in Atlanta. This book covers how he did it. When I travel to other areas of the country where churches are in decline I sometimes get disappointed and wonder how they even still exist. I think some of them are sustained on mere habit or tradition and I think that's unacceptable. This book is about how to build one of the good churches.

The Case for Faith – Lee Strobel
Lee Strobel wrote The Case for Christ and this is a follow up to that book. Lee is one of billions of people that have come to follow christ after earnestly studying his words. This is a nice account of the second half of his journey as he attempts to grapple with some of the more advanced intellectual questions along the way.

What Christians Believe – C.S. Lewis
This book is a watered down summary of C.S. Lewis's Mere Christianity. It serves a purpose because Mere Christianity is a very intellectually heavy book; also one of my all time favorite books. Mere Christianity was given to me by a friend at a time when I wasn't paying much attention to the bigger questions in life. In that book he tackled the most difficult questions he faced on his journey from atheism to a follower of Christ. He wrote about intellectual cowardice and the need to constantly challenge your most basic assumptions and to go where the truth leads you. Lead along the path by JRR Tolkein and others, his reasoned path made him an ardent defender of the faith. His ability articulate what and why he believed led to him having an opportunity to speak to British soldiers and pilots who were routinely facing the prospect of death. These talks led to his thoughts being broadcast as a series on the BBC during WW2 and later compiled into Mere Christianity. If you're intellectual and want to know what Christians believe, pick up Mere Christianity. If you're not too much of a thinker, pick up this book.

The Unshakable Truth – Josh McDowell
Josh wrote one of the all time most popular defenses of the faith called More Than a Carpenter in 1977. He revisits those arguments in this book, but after 30 years of refining his approach. It was a decent read which I picked up after Josh McDowell came to speak at my church.

How Good is Good Enough – Andy Stanley
A freaking great question and a great book about how to answer it. Short too (200 or so pages). This book is a discussion of what separates Christianity from every other religion on the earth. Famed atheist Dan Dennett gave a TED talk where he made a policy proposition to make it mandatory to teach about every religion in the world. I agree with him, hiding the existence of other religions isn't fair or responsible. I think if this book was in that curriculum Dan's plan would not have his intended consequence of jading our youth to all religion. If you believe in the afterlife de-facto or if you're just aware of Pascal's Wager and think you should take some time to evaluate this stuff, this has to be the a question on your mind. Exactly how good is good enough, with all that's potentially riding on it it's worth the time to flip through this book.

Wednesday, December 4, 2013

Argument list too long

eric@glamdring-desktop:~/workspace/gorilla/sneed_biometrics$ cp trainingfaces/* ~/workspace/trainingfaces/
bash: /bin/cp: Argument list too long

What the!?
Grrrr...
cd faces
ls | while read a; do cp $a ~/workspace/trainingfaces/; done

Victory.

Wednesday, November 20, 2013

Software is getting better!

A friend made a joke about May's Law today. David May states his law as follows, “Software efficiency halves every 18 months, compensating for Moore’s Law.” Larry Page has made similar statements, of course referred to as Page's Law. Sure, it's profound, funny. and good marketing to attempt to make assertions about software always seeming to run slower. But the truth of software efficiency writ large is the opposite. Here's a report that addresses the assertion directly.

REPORT TO THE PRESIDENT AND CONGRESS DESIGNING A DIGITAL FUTURE: FEDERALLY FUNDED RESEARCH AND DEVELOPMENT IN NETWORKING AND INFORMATION TECHNOLOGY
http://www.whitehouse.gov/sites/default/files/microsites/ostp/pcast-nitrd-report-2010.pdf

Kurzweil's book "How to create a mind" tipped me off to this report and specifically this section on page 71.
Progress in Algorithms Beats Moore’s Law
Everyone knows Moore’s Law – a prediction made in 1965 by Intel co-founder Gordon Moore that the density of transistors in integrated circuits would continue to double every 1 to 2 years. Fewer people appreciate the extraordinary innovation that is needed to translate increased transistor density into improved system performance. This effort requires new approaches to integrated circuit design, and new supporting design tools, that allow the design of integrated circuits with hundreds of millions or even billions of transistors, compared to the tens of thousands that were the norm 30 years ago. It requires new processor architectures that take advantage of these transistors, and new system architectures that take advantage of these processors. It requires new approaches for the system software, programming languages, and applications that run on top of this hardware. All of this is the work of computer scientists and computer engineers.Even more remarkable – and even less widely understood – is that in many areas, performance gains due to improvements in algorithms have vastly exceeded even the dramatic performance gains due to increased processor speed.The algorithms that we use today for speech recognition, for natural language translation, for chess playing, for logistics planning, have evolved remarkably in the past decade. It’s difficult to quantify the improvement, though, because it is as much in the realm of quality as of execution time.In the field of numerical algorithms, however, the improvement can be quantified. Here is just one example, provided by Professor Martin Grötschel of Konrad-Zuse-Zentrum für Informationstechnik Berlin. Grötschel, an expert in optimization, observes that a benchmark production planning model solved using linear programming would have taken 82 years to solve in 1988, using the computers and the linear programming algorithms of the day. Fifteen years later – in 2003 – this same model could be solved in roughly 1 minute, an improvement by a factor of roughly 43 million. Of this, a factor of roughly 1,000 was due to increased processor speed, whereas a factor of roughly 43,000 was due to improvements in algorithms! Grötschel also cites an algorithmic improvement of roughly 30,000 for mixed integer programming between 1991 and 2008.The design and analysis of algorithms, and the study of the inherent computational complexity of problems, are fundamental subfields of computer science.
The report goes into more detail discussing research priorities. Those in an argumentative mood might point out that algorithms are just a subset of software and overall software efficiency has been decreasing. I've made this point before when writing and talking about the big data technologies. We've certainly seen a change in the way data technologies are developed. We've gone from cleverly conserving computing resources to squandering them creatively. But it's not as if we're doing the same thing but just less efficiently; whole new capabilities have been opened up. The data redundancy of hadoop file system (HDFS) means we can process larger sets of data and overcome hardware failures which are inevitable on large "compute hour" jobs. When you're employing thousands of disks or cores in your jobs, the chances of an individual failure are increased. The inefficiency is a risk mitigation strategy, storing the same data three times (by default) certainly isn't efficient, but it makes it possible to do very large jobs.

The data processing technology improvements are just one example; there are many like this across the board. Remember XML? Json is definitely more efficient. Machine learning implementations are getting faster. As a counter to the improvements, more people are attempting to misuse your personal resources, which may lead to things seeming sluggish if you're incautious. If you're wondering why your Windows operating system seems slower, that's a whole different story. I think that in closed code bases there might be more of an incentive to hang on to old things leading to inefficiency; but that's just conjecture based on personal experience, read more about my experiences on data munge. Maybe somebody will do a study on closed vs open execution speed over time. Until then, I'll hold suspect any piece of software where a large community of developers can't look at the code base and improve it. There's a law for that too.