Sunday, October 15, 2017

Chad Lefkowitz-Brown Solo Transcriptions

I am a huge fan of saxophonist Chad Lefkowitz-Brown.  I came across one of his videos on Instagram about a year ago and I've been following him ever since.

I recently purchased his book of 15 solo transcriptions by saxophonist and educator Ron Fix.  It's available in physical and digital form. It is fun to play through them and get some insight into how Chad thinks when he improvises.

Interestingly, this is the first transcription book I've ever seen that covers music solely from social media!  Every single one is freely available online on either Chad's YouTube or Instagram feed.

The digital version of the book comes with audio files you can play along to, but it doesn't include links to find each video online.  I combed through Instagram, YouTube, and Facebook to find each one.  That's what I want to share with you in this post so you can both watch and play along.  Happy practicing!

Here they are, listed in the order they appear in the book:

All The Things You Are

Instagram - November 9, 2016

Body And Soul

YouTube - December 8, 2015


Instagram - September 27, 2016


Instagram - July 26, 2016


YouTube - February 26, 2014

For All We Know

YouTube - May 17, 2013

Get Lucky

YouTube - October 9, 2013

High High The Moon

Instagram - April 22, 2017

Melodic Cell Lines

Instagram - April 6, 2017

A post shared by Chad Lefkowitz-Brown (@chadlbsax) on

Nature Boy

YouTube - July 28, 2014

On The Sunny Side Of The Street

YouTube - February 16, 2015

Recorda Me

Instagram - August 24, 2016


YouTube - July 15, 2013

Struttin’ With Some Barbecue

Facebook - August 4, 2016
Instagram - August 6, 2016

Take The A Train

YouTube - November 18, 2014

There Is No Greater Love

Instagram - November 16, 2016

Tuesday, September 26, 2017

JavaScript Crypto-Mining with CoinHive and JSECoin

In the past, it has been difficult to mine BitCoin (BTC) with JavaScript in a web browser due to massive amount of processing power necessary.  Lately, JavaScript mining solutions for other types of cryptocurrencies have come on the scene. 2 examples are CoinHive and JSECoin.


CoinHive awards miners in Monero (XMR), a crypto currency known for its privacy as compared to BitCoin (BTC). It current trades for about $94 USD per 1 XMR. Once your account reaches the minimum payout of 0.5 XMR (~$47), they will transfer the Monero to a wallet that you have to setup outside of a normal coin exchange.  From there, you can transfer it into an exchange wallet and then ultimately trade it for USD or BTC.  CoinHive can be used as an alternative monetization source to ads.  It can also be used as a CAPTCHA or gate where your user must mine some Monero before being allowed to enter a website. Note that CoinHive currently takes a 30% rev share from the Monero you mine.

Recently some websites have been in the news for deploying CoinHive without making their users aware of it. They have since pulled it down.  Here are some articles about it:


JSECoin describes itself as "cryptocurrency mined by webmasters built for everyone".  JSECoins are supposed to be worth approximately $1 USD right now each, but no one knows the real value until they do an ICO after which point they will be listed on an exchange. Their ICO is planned for Q2 of 2018.  Those who begin to mine JSECoin have no assurances that their rewards will be worth anything.

What the Heck

Since this is all so new and interesting, I have decided to learn more about JavaScript coin mining, and the best way to do that is to jump in and try it.  Therefore, I have installed CoinHive and JSECoin miner code on this blog!  Consider this a warning - visiting this blog may use some of your computer's CPU until you close the page.  I am curious to see what kind of a "CPM" I make to compare with the ad units I'm running.  If you have any experience with JavaScript miners, please comment below.

Tuesday, December 22, 2015

Ubuntu CUPS Driver for Google Cloud Print

On my Ubuntu desktop computer, printing to Google Cloud Print works great when printing from Chrome.  This screenshot shows how I can select my printer, the Brother MFC-J450DW, from the printers I have previously setup in Google Cloud Print.

Google Cloud Print Printer Selection Dialog Box
Google Cloud Print Printer Selection Dialog Box
The problem is being able to select my Google Cloud Print printer from any other printer selection dialog box in Ubuntu.  The answer is to setup a CUPS printer driver that knows how to print to your Google Cloud Print printer.

Fortunately, Niftiest Software has made such a CUPS driver available: CUPS Cloud Print.  According to their website,
CUPS Cloud Print is a Google Cloud Print driver for UNIX-like operating systems ( Linux, Mac OS X , BSDs etc ). It allows any application which prints via CUPS to print to Google Cloud Print directly.
CUPS Clount Print is very easy to install on Ubuntu.  You just add their Personal Package Archive (PPA), apt-get install cupscloudprint, and run the setup script, written in python.  The setup script will prompt you for your Google user account.  Then it generates a link which you visit in your browser.  This will grant access to CUPS Cloud Print at Google and give you an authorization code. Just copy/paste that code when prompted by the setup script, choose an optional prefix for your Google Cloud Print printer names for when they show up as CUPS printers, and you're done.  After this, your Google Cloud Print printers will show up in your Printers settings, and you can choose them from any Ubuntu Print dialog box.

Ubuntu Printer Settings Dialog Box
Ubuntu Printer Settings Dialog Box

Here you can see that my Google Cloud Print printer name was Brother_MFC-J450DW and I told the CUPS Cloud Print setup script to use the prefix GCP-.  The prefix makes it easy to distinguish the Google Cloud Print printers from other printers you may have installed.  As you can see, I don't have any other printer setup besides the Google Cloud Print printers.

It's nice to be able to print easily from anywhere within Ubuntu without ever having to install a proprietary printer driver.  Thanks to Google Cloud Print and Niftiest Software for making this capability freely available!

Monday, January 19, 2015

Send Large Files with Amazon S3 and Groovy

Sometimes you need to send a very large files to people. You could use your email or file sharing service of choice, but they have limits.  For example:

Google Mail - 25 MB limit
Google Drive - 100 GB limit
Dropbox - 2-16 GB limit

Even if your file is within the limit, you don't necessarily want to use those services each time, because it will add up, and eventually you'll run out of space in your account.

You could use services that specialize in sending large files. For example: Hightail, WeTransfer, DropSend, etc. But, you may not trust them with your files or just don't want to bother with creating additional accounts.

I came up with another solution that works well for developers like me that are familiar with using Amazon S3.  With a simple script (I wrote mine in Groovy), I can upload any file from my computer to Amazon S3 and then generate a pre-signed URL that gives access to the file for a certain period of time.  This URL can be IM'd or emailed to anyone so that they can download the file before the URL expires.

Here are the steps to use this script:
  1. Make sure you have an AWS account and a bucket setup in S3.
  2. Download the script from GitHub: UploadToS3AndGenerateSignedUrl.groovy
  3. Modify the global variables:
    • pathToFile
    • bucketName
    • expiresInHours
    • myAccessKeyID,
    • mySecretKey
  4. Run the script:
    • groovy UploadToS3AndGenerateSignedUrl.groovy
  5. Copy the URL that gets printed to stdout. It will look similar to this:
  6. Send the URL to someone else in an email. They can click on it to download the file.
  7. Optionally, use the Amazon S3 Console to remove the file from S3 once the recipient(s) have downloaded the file so that you don't get charged to have it sitting there forever.

Sunday, December 07, 2014

Using a Brother MFC-J450DW All-In-One with Ubuntu

Are you thinking about buying a Brother MFC-J450DW Wireless Office All-In-One Printer/Scanner/Copier/Fax Machine and wondering if it will work with your Ubuntu computer? The answer is YES! Brother actually includes Linux on their Supported OS Page.  I was able to get things working on Ubuntu 14.04 LTS "Trusty Tahr".


Brother Software Installation

Driver Downloads

The CD provided with the printer contains Drivers, Utilities, and Users Manuals, but only for Windows and Macintosh computers.  To get the Linux Drivers, you must visit the MFC-J450DW Downloads Page.  Select Linux as the OS and Linux (deb) as the OS Version or go directly to this page.  Follow directions to download and install the Driver Install Tool.

From a terminal:

gunzip linux-brprinter-installer-*.*.*-*.gz
sudo su -
bash linux-brprinter-installer-*.*.*-* MFC-J450DW
Will you specify the DeviceURI? Y, 14 (Auto)

After all this, you should be able to see your new printer:

System Settings -> Printers -> MFCJ450DW

You should also be able to scan with the application Simple Scan which comes with Ubuntu.

No Brother Software Installation

If you would rather not install any software on your computer whatsoever, the MFC-J450DW makes this possible.  I actually prefer this because it makes it easy to print and scan to and from any device you might have including Macs and iOS devices.

Google Cloud Print

Another option is to setup Google Cloud Print which lets you print from any device via your Google Account.  Brother's Google Cloud Print Instruction Page just tells you to find the right manual for your model.  If you visit the Brother MFC-J450DW Manuals Page, you will see the Brother Google Cloud Print Guide Page which let's you download the actual Brother Google Cloud Print Guide [PDF].  To save time, just make sure you have a Google Account and then go directly to your printer's admin web interface which is accessible via a web browser at http://[PRINTER_IP_ADDRESS]/ where PRINTER_IP_ADDRESS is the address of your printer on the local network.  I was able to obtain this IP address by looking at my router's list of connected clients.  You can also find out via the printer's control panel by selecting Menu -> Network -> WLAN -> TCP/IP -> IP Address.

The printer's Google Cloud Print admin page, at http://[PRINTER_IP_ADDRESS]/net/net/gcp.html?pageid=1084, only let's you associate the printer with one Google account.  However Google let's you share the printer with other people very easily.

Scan to the Web

Another option for scanning is to use Brother Web Connect.  Instructions can be found at the Brother Web Connect Page which lets you download the Brother Web Connect Guide [PDF].  I found it very easy to setup Web Connect for Google Drive and Dropbox.  Other options available that I haven't tried yet are Picassa, Flickr, Facebook, Evernote, Onedrive, and Box.  After you get it setup, you simply use the printer's control panel with WEB -> [Service] -> [Configured Service].  After scanning, the file will show up in your Configured Service in a folder called From_BrotherDevice.  So easy!

Please comment if you have any problems or other tips for people trying to get the Brother MFC-J450DW (or similar printer) working with Ubuntu.