the new band website

I'm always making adjustments, but for the most part the new band site is ready. Very excited.

Since this last album project was such a success, I have prioritized a complete overhaul of the band web site, the merchandise and sales processing, and the social media presence. Getting an album cover designed and produced was the first step and giving the band web site a full rewrite was step 2. Now I will proceed to printing the cds, and the rest of the merch design. I think we may press a a very small run of vinyl as well, mostly for promo but maybe those will sell all right. I think we are going to have to charge something like $30 or $35 per album, but I hear there are buyers primarily in Europe and on the east coast that are ok with paying prices like that for premium vinyl. The design is going to be pretty spectacular. More on that later.

click

on the logo

running armory on Mac

So I have been party to a sort of bitcoin saga for months now. I had a miner running for a few months in the summer of 2014, and I ended up with about 1.3 bitcoins. At the time it felt like a bad deal, to make barely one coin over three months, so I just forgot about it. Enter this whole crazy crypto run-up at the end of this year and I started to wonder if that wallet was still doing all right. As it turns out, it's doing fine. It's getting money OUT of the wallet that is proving difficult.

You see, the blockchain is now around 160GB and growing. Armory then runs an index database along side, so I'm not sure if a 256GB SSD is enough to comfortably host a BTC wallet now. Plus you need at least 8GB of RAM and a decent processor; and of course a good internet connection. I had a little Dell Inspiron that I thought would do the trick, but man it was slow. 2 weeks to get the blockchain downloaded. Another few days to run the Armory indexes. And then, because Windows, the McAfee sales popup crashes the app and corrupts the index. Reinstall the OS. Repeat.

Anyway, it sort of became my white whale, until I realized that the hardware was just not good enough.

Now, I have this workhorse laptop that I had situated for running SQL and importing our massive database, it has tons of RAM and and large SSD and it is perfect for finally pulling up this wallet and getting those BTC out of there. I want all of my bitcoin to be ready to sell if the price gets too much higher.

So the blockchain downloaded over night; took barely 12 hours. Armory was difficult however. Here's what you do.

  1. Get version 0.95.1
  2. you will need to have HomeBrew installed.
  3. run xcode-select --install if you haven't done that already

  4. make sure your ssl is up to date: brew upgrade openssl

  5. make this edit to ArmoryUtils.py:
Screen Shot 2017-12-21 at 3.12.33 PM.png

and that is all you need to get Armory running. 

it is all about the Javascript

So there I was, on an interview with a cool company called Clevertech, with a pleasant lady named Rena, and the question of Javascript came up, and I mentioned that I saw basically most of their dev team was Javascript developers, and I said something like 'I guess they are doing a lot of front-end'... Not sure why I said that, knowing full well that we already live in a world where Javascript is taking over the back end, but you know sometimes things just come out, and I probably won't get that job anyway but at the end of the day I'm never sure which is which in terms of good vs. bad. Quite to the contrary - when I think I've done well, I've often done rather poorly, and when I think I messed up a bit that is often when I get an offer. But either way, JS is taking over the world, and unless I want to hang my hat on being a Rails dev forevermore (please, no?) -  then I had better get with the program. And now I am doing a little 'code project' for a prospective employer, and pardon my French but I love that shit, because no one ever says no once they see my code. I am a poet who writes code, and that means I care about every line.

So anyway I am working my way through a Node.js proof of concept, and seriously I am having more fun than I remember having in a long time (Node + Express + EJS). Coding is fun, anyone will tell you that, that is how we all get hooked; but if you keep your head down long enough you may forget it is art at the end of the day. I can't tell you how excited I am to get started on something new. I've got a lot more interviews coming up and it all just feels really good right now.

It is really strange to be back on the market, so to speak, it has been almost a decade now since I've been looking for full-time work. But I feel really ready right now for whatever comes my way. And I have until next Friday to deliver on a pretty simple POC in Node.js, and I'm telling you, that app is going to fart rainbows by the time I'm done with it. :)

the reverse interview

So after 20 years of doing this, I've learned a few things about the interviewing process. One of those things is the concept of a reverse interview.

For my example, I am going to use the interview I did for a company called Recurly (in San Francisco), they were based in the Mission near where we used to live and I was excited to finally get one of those 'warehouse' dev jobs, like I used to pine for in LA when I used to live east of Hollywood with my view of the downtown skyscrapers. So I get the interview, I talk to Scott, their lead dev, my prospective 'boss', and we hit it off like gangbusters. Seriously. I was super-excited to work for this guy.

And then he says, one last thing - we need our boss to sign off on you. He's going call you tomorrow. He's going to do an online 'code' interview. We'll call Scott's boss Steve. So Steve gets on the phone, hey how you doing, I am going to ask you how to code a binary tree, we need a left method and a right method and some sort of object. Pick a language. We were using a screen-sharing service, it might have been a shared google doc or something. I could type and he could see it. And I'm saying to myself, 'sweet! I just learned about data structures at Stanford - this is going to be easy'.

I had just finished a class about structures and algorithms at Stanford with Cynthia Lee, and although we used C++ for that I decided to write something with Ruby, because that's my go-to. And I decide to write an implementation using recursion, because had just finished that section with Cynthia and I was excited to show off.

ME: Ok, well the first thing we need is a base case.

STEVE: can you start with the left and right methods?

ME: OK...

and it all went downhill from there. Basically, if you don't understand recursion, it can't be explained to you in a few minutes. It's like the concept of limits - you need some time to wrap your brain around it. And it became clear that Steve did not really understand recursion, or worse yet, thought he did but hadn't put it into practice.

I did not get that job, and for a while I was angry because I really liked talking to Scott, but then I realized, that Steve guy is running the ship. And he was a mess. Put simply: he decided to veto a candidate that his own manager had already approved, based solely on his own limited understanding of Ruby, and recursion, and his inability to see his own limits (pun intended).

So that's what the reverse interview is - if you are not paying attention, as an interviewEE, to all of the details available to you in terms of what kind of culture exists at the company, then you are missing a huge opportunity to vet the organization before you are tied down. I believe great organizations are easy to spot - as are uneasy ones. Most of the time all we have to do open our eyes, and pay attention.

EDIT: I was shooting for something like this implementation but I didn't think to rope in the enumerable module.