activities

it's the privacy

Very often, I promise myself that I will write more. I am a writer, after all. That's my qualification. Sure, I've been writing software for web apps since the invention of the internet, but my degree is in Creative Writing. Go figure. So I go round in circles, because I want to create things, and I want to SHARE, but I can't just talk candidly about the people in my life, because that is a violation of privacy, and I am a pretty private person. But I also don't want to write things that no one will read. And as far as I can tell, unless I want to be a 'real' writer, and start my first novel, I am stuck being a blogger, and bloggers live and die by page views. Plus, my life revolves around a 4 year old and a 1 year old, and I don't feel right posting lots of photos and talking about them online. So it's quite a waste of time. I don't really even want particularly to be a successful blogger - I just want to feel like I am writing.

So what is there to talk about? Two things, really. The last few weeks were spent vetting new BI platforms, and although Tableau Online and Mode Analytics were both close, it became pretty clear that the only option for us is to continue with Periscope. They look the best, and they make my life the easiest. Sold. So here is a good example - my proof of concept was basically to recreate part of the main dashboard, and see how easy that is.

So, in Periscope, for the first chart the query is this:

select sum(amount) day_total, sum(f1) count_of_items, f3 merchant, ds
from temp_ps 
where p_type='Periscope Retailer 180'
and [f2=partner]
and ds > DATE_FORMAT(CURRENT_DATE - INTERVAL 31 DAY, '%Y-%m-%d')
group by ds, f3
order by ds, sum(amount) desc

Now, Tableau won't even let you give it a query, it likes to sit on a whole table and you drag fields around until you are happy. Not how I like to work. But Mode, on the other hand, looked pretty good, until you realize that:

  1. there is no Top X functionality;
  2. If you want to do that yourself you have to: write the query yourself, and handle the the settings in Python

So just as an example, the query, compared to above, for 'rolling your own' top x query - in this case, top 20:

select * from 
 (
( select * from
(SELECT (@rownum:=@rownum + 1) AS myrank,
merchant,
total
FROM ( SELECT merchant,
SUM(day_total) AS total
FROM {{@dash1}}
WHERE partner = "Facebook"
GROUP BY 1
) AS merchants,
(SELECT @rownum := 0) r
ORDER BY total DESC) z
where myrank <= 20 ) x
right join 
(
select sum(amount) day_total, sum(f1) count_of_items, f3 merchant, ds, f2 partner
from temp_ps 
where p_type='Periscope Retailer 180'
and ds > DATE_FORMAT(CURRENT_DATE - INTERVAL 31 DAY, '%Y-%m-%d')
group by f2, ds, f3
order by ds, sum(amount) desc
) y on x.merchant = y.merchant )

which as you can see is brutal, mostly because MySQL has no native ranking function, but to be fair that is before you even handle the presentation using python.

So it just quickly becomes a mess. I love the level of control, but I also need a simple workflow, and for Periscope you just click the damn checkbox. Yes please.

So it is nice to feel like I put us in the right direction. I hope that we can work with Periscope for a long time.

The only other piece of news is that I will be going to Austin at the end of the year to record an album with my buddy Shawn Pander as producer. I am super excited. Seriously this is going to be a pretty big deal. This is the song list (album working title: 'Nothing Can Keep Us'):

Go My Way
Roll Easy
Seeing Stars
You Got Me Running
Never Say Goodbye
A Little Dying
There's Nothing Beneath This
Dernier Coup

Holy Crap It's March - or How I Made My Lenovo Flex 4 a Ruby Slave

I just have not been writing. I can’t believe it’s March. These last few months have flown by. We had a flood in the basement, which is stressing me out a bit, and I had to postpone doing my taxes this year because Wells Fargo screwed up my paperwork, so that’s a bummer.

And I spent a few weeks prepping my laptop for a trip to San Francisco, and we had to cancel because everyone got sick. But we are heading over this weekend instead, so that’s good.

I guess I’ve just had a lot on my mind. My friend Mike passed away sort of suddenly from cancer, and that is just a tough pill to swallow. I feel super guilty because the last time I saw him he had his guitar out behind The Hotel Cafe, and was playing the blues, I was there for Sally Jaye’s release for Amarillo, and I just felt like he was going to be there forever. And now that was 10 years ago and that is the last memory I have of him. So sad.

And after looking at our finances for last year, we really needed to pull in the belt a bit. So when I was looking at getting a new laptop, for the first time ever, really, I seriously considered getting a Windows laptop instead of a MacBook because the price differential is pretty much out of control.

I settled on a Lenovo Flex 4 / Yoga, which ran me just under $600. The cheapest MacBook with the same specs would have been close to triple that. I just couldn’t justify that expense.

I set it up in about 2 days, and now it is running a Rails 3.2 stack and it is a fully functional work laptop. It’s amazing how far things have come.

So if you want to do your Rails Development on a laptop that is not a Mac, perhaps this list of steps can help you a bit.

1 - Windows 10, or nothing. You need Windows 10, because it is the Anniversary Upgrade for Win 10 that introduced something called WSL (https://blogs.msdn.microsoft.com/wsl/) ‘Windows Subsystem for Linux’, and that is what makes this all possible.

2 - You cannot access localhost from WSL, but the ip 127.0.0.1 works just fine. And Windows properly can access localhost inside WSL. So it goes like this:

Database - lives in windows, accessed by WSL server via 127.0.0.1

Browser, lives in Windows (I use Chrome), accesses WSL server via localhost

server, runs in Ubuntu

Editor, lives in Windows, accesses linux docs w symlink 

3 - Apps. You might be worried about what apps are available, but it seems like a decent environment at this point. I love my Mac apps - Fetch, Sequel Pro, Textmate - but there are perfectly decent replacements available. And for any old Textmate people, like me, you might want to take a look at Atom. The auto-complete works really well and reminds me of my old Visual Studio days inside the Microsoft machine.

I use - 

Cmder (http://cmder.net)

Atom (https://atom.io)

mysql command line client for Windows (https://dev.mysql.com/downloads/installer/)

NOTE for MySQL - the 32-bit installer does indeed install a 64-bit version if you want. That was not documented at all that I could see, and if you are looking for a 64-bit installer you are not going to find one.

Sqlectron (https://sqlectron.github.io)

and I haven’t checked yet but I’m sure I can find a decent ftp tool.

I used this walkthrough as a reference.

and the last caveats are that, for ubuntu, only Rails 3.2 and 4.3 are available; and MySQL is only supported up to 5.6 (at least as of a few weeks ago).

All in all, I am very happy with my experience with Windows 10. It has been pretty great so far.

The steps (roughly):

1 - install WSL

2 - test out bash command, set up aliases

3 - follow rvm instructions for installing on linux (use stable version - https://rvm.io/rvm/install)

4 - rvm install Ruby

5 - gem update --system && gem update

6 - sudo apt install git

7 - gem install bundler

8 - symlink linux docs folder back to windows documents -  (ln -s /mnt/c/YOURUSERACCOUNT/Documents ~/Documents)

9 - set up new key gen (I used the GitHub link as reference: (https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)

10 -start trying bundle install, use apt-get as needed

for example: sudo apt-get install mysql-client-core-5.6, sudo apt-get install ruby-railties-3.2, sudo apt-get install ruby-dev, sudo apt-get install build-essential g++, sudo apt-get install libmysqlclient-dev will all be necessary

11 - gem install mysql2 -v '0.4.5'

12 - gem install activerecord-mysql2-adapter

and then the occasional sudo apt-get upgrade should keep you running.

good luck!

The Grants Pass Christmas Tree

And a plea to anyone who was at the show. I saw a few people taking video and one girl just right at the end of the show said how about one more for Grants Pass Live? - whereupon I played my new song Roll Easy, and it was pretty good. I'd love to see some of that video.

This is a shot I pulled from a GP travel website. This year it looked very similar, except I don't remember the tree being so big, and they had a little campfire squared off right under those lights, and I set up the music right behind where the tree is.

This is a shot I pulled from a GP travel website. This year it looked very similar, except I don't remember the tree being so big, and they had a little campfire squared off right under those lights, and I set up the music right behind where the tree is.

So anyway, the story is that I got called very last-minute to do a First Friday show in Grants Pass next to the Christmas tree which was just about two weeks ago now. And I thought it went quite well. I probably wouldn't have taken the show otherwise, but I had my show at Barnstormer's Theater coming up and I was trying to get more people in the seats. It was too last minute (and low-pay) to bring the whole band, but Jinnee was able to make it for about 2/3 of the show so I said why not. It turned out to be a really fun show. It went from 5:30p to 8:30pm and Jinnee had to leave at 7:30 if I remember correctly. And that last hour was pretty cool too.

My approach to this show was to use my looper pedal, which I bought earlier this year and tried to use once with the band at the Talent Evening Market to little success. The thing with using the pedal is that it forgives not at all, so all you can do is listen and follow. It will not move to you, you need to move to it, and as turns out in the band with the way we do monitors it's just not possible currently to have everyone hearing well enough to be locked to a loop. So it's a thing I can only do for a solo show, and honestly there is a lot there to explore. It's great because I can play new songs immediately, I can change stuff on the fly, and it is lot less work for set up. So I plan on incorporating more solo shows next season, hopefully to funnel new fans to the band shows that I do set up. Because the other lesson from last season is that band shows are expensive and seem to always introduce scheduling conflicts, often last-minute, which raises the stress level for my poor accommodating wife.

So we will just have to make the band shows count for more, less of the time. We still have a long way to go to establish any sort of solid reputation around the Rogue Valley. Perhaps ironically, we seem to be having more success in Grants Pass than Ashland so I'm hoping to land more shows up there because why not. I'm a big fan of Grants Pass.

Below is good example of what the new solo format will look like.

That's it for now. Our next show is in mid-March, so for the next few months I will be finishing up some new songs and getting ready for next season.

As always if any fans of the The River South have any contacts in the region for paid performances, especially daytime, please get in touch!

a Trip to Austin to perform at Austin City Limits and Willie Nelson's Ranch

I suppose I'm in the habit now of taking a lot of photos. Ever since I became a dad I am pretty shameless with my camera. Life is too short to not get good photos of the fun stuff. That being said, I was a little over-cautious taking photos of some the 'insider' stuff, like Tito's secret backstage area, that had a Prohibition vibe and massage chairs and free vodka drinks. I still got some photos but it was even bigger than it looks. I did get a bunch of shots at Willie's ranch, because they bussed in the visitors and then promptly bussed them out so we had the place to ourselves a bit more than at ACL which was totally insane with crowds of people. The whole photo album is on Google photos if you want to take a look. Below are the highlights.

A big shout-out to my buddy Shawn Pander, who called me up to sit in on his ACL gig because his main keyboard guy was in Italy.

Flying in to Austin.

Flying in to Austin.

setting up at Willie's Ranch - called simply 'Luck'.

IMG_2920.jpg
Food trucks! The lobster roll was delicious.

Food trucks! The lobster roll was delicious.

Most of the buildings were put up in the 80's for a movie that Willie did. The story goes that he loved them all so much that he had the  script &nbsp;changed so that they wouldn't have to be burned down at the end of the movie.

Most of the buildings were put up in the 80's for a movie that Willie did. The story goes that he loved them all so much that he had the script changed so that they wouldn't have to be burned down at the end of the movie.

After 2 great sets at Luck Ranch we started getting ready for our show at Austin City Limits. We performed on the Tito stage, who I met briefly and seemed like a very cool guy. He certainly takes care of his employees and his performers and he is quite rightly a big deal in the Austin music and business community.

I got a kick out of this Henry Rollins quote posted right at the entrance to the stage.

I got a kick out of this Henry Rollins quote posted right at the entrance to the stage.

Tito of course has a killer backstage area set up for his artists and their friends, as well as his own entourage. It had a roaring 20's/prohibition vibe which was pretty cool.

Tito of course has a killer backstage area set up for his artists and their friends, as well as his own entourage. It had a roaring 20's/prohibition vibe which was pretty cool.

Shawn and his wife Beth.

Shawn and his wife Beth.

You know it's a big stage when you have to shoot a panoramic just to see the whole thing. Note the lack of crowd at the beginning.

People started showing up during the set and by the end we had quite a crowd.

People started showing up during the set and by the end we had quite a crowd.

Beth's sister got a few good shots of the stage before it got too crowded.

Beth's sister got a few good shots of the stage before it got too crowded.

after we were done we just kicked it back stage with Tito's people. :)

after we were done we just kicked it back stage with Tito's people. :)

yes they had a craps table. Tito does not mess around.

yes they had a craps table. Tito does not mess around.

Bloody Mary bar and finger food. Yes please.

Bloody Mary bar and finger food. Yes please.