Find a band’s musical influences using Python – Pearl Jam and Dr. Dre

I created a fun little program that will go and find the musical influences of any artist. It uses the Spotify APIs and a bit of logic.

The logic works like this:

  1. Find the artist on Spotify
  2. Go and find the earliest album that artist made.
  3. Get the related artists and their first album date
  4. Pick the related artist that has the closest album to 2 years before the original artist
  5. Start back up with #3
  6. Repeat until there are no artists left. Or until the program goes way off the rails.

Note: If there are no related artists with albums older than the oldest it will go back up the chain and try and find another route.

Source Code is on Github here.

Example #1 – Pearl Jam

Peal Jam Demo Mookie
This has some pretty great results. Starting with Pearl Jam’s first album Ten (1991), It goes all the way back to 1953 with decent results like Wire – Pink Flag, The Yardbirds – London 1963.
Continue reading “Find a band’s musical influences using Python – Pearl Jam and Dr. Dre”

GTD with Evernote

This is how I successfully GTD for a year. Even though I don’t do some of the bigger items like doing large projects or scanning every document and putting it into a folder. I still feel very accomplished when I crank through small items and close.

I read Getting Things Done by David Allen last summer around this time and have been using many of his methods ever since.

I am not going to go into details into GTD, but here are the 5 Principles:

Principle 1: Use your brain for processing not storage.
Principle 2: All items must be processed.
Principle 3: Master Workflow.
Principle 4: Five Steps of Project Planning.
Principle 5: The Power of the Next-Action Decision.

Evernote Setup:

Bookmark it on your desktop computers
Download the app for your smartphone
Install Evernote widgets (android) to be able to quickly insert items into evernote.

Create Notebooks:
@@Inbox (where items will await processing)
@Active (where items will stay till complete)
@Inactive (or closed/complete)

Create Custom Searches:
@Active tag:web
@Active tag:home
@Active tag:call

I have yet to transform every aspect of my life with GTD, but I have taken control of the smaller to-do list type items. Here are the principles I focus on:

Principle 1: Use your brain for processing and not storage.

As soon as I think of an item, I will insert a very brief reminder into an Evernote notebook called @@Inbox.
The @ symbol is so it will appear first in the list and is default.

This allows me to never have a moment when I have to say to myself “What was it I wanted to do/lookup/read/errand/remind someone?”

The items in @@Inbox will be processed later when I am not at the store or driving.

Principle 2: All items must be processed.

I open my @@Inbox notebook and go through each and every item

Then I tag. Examples : home, web, errand, call.

Add reminders to anything you plan on doing at a later date.

Move the item notebook called @Active
– Note: complete any items that take less than two minutes.

Principle 3: Master Workflow

This step is a lot more involved than I use it for, but for simple to-do list activities this is what I do:

Get reminders that I set in Principle 2

Or, Process Backlog:

If I am at home, I will pull up the Custom Search “@Active tag:home” first. This will give me all the backlog items at home.

You can bookmark this custom search so it will show up in the app at all times or you can add it to the widget.

If I just want to go through all items, I pull up @Active and look for items.
When finished, move the items to @Inactive.

This is how I successfully GTD for a year. Even though I don’t do some of the bigger items like doing large projects or scanning every document and putting it into a folder. I still feel very accomplished when I crank through small items and close them and set them to @Inactive.

New Domain: dan.folkes.me

I went ahead and took the plunge! Our family has a new domain!

I purchased folkes.me and setup subdomains for:
dan.folkes.me and micaela.folkes.me.

If you go to folkes.me, I just made a pretty lame looking landing page.

I debated doing danfolk.es, but I wanted micaela and all of our other children and animals to have the ability to have subdomains. So, I look forward to making a fat cat homepage at pyro.folkes.me.

😀

I setup a free account with CloudFlair too! It should increase speed and reduce server load. I need this because all of this is hosted on a free hosting account at Freehostia (I love Freehostia).

Android – Large File Transfer – Samsung Galaxy S3 SGS

This is one way transfer large files to android when other methods do not work:

  • Turn on Developer Mode and Debugging Tools
  • Install Android SDK on your computer
  • Plug in phone and open the command prompt and type:
  • More ADB info

    PATH-TO\android-sdk-windows\platform-tools\adb.exe push PATH-TO\FILE.zip /mnt/sdcard/
  • This usually takes a second.  I would first try transferring a small file to make sure you have the correct path.

Note: The ‘/mnt/sdcard’ may be specific to my device.  If you can’t seem to find a writable folder do this:

PATH-TO\android-sdk-windows\platform-tools\adb.exe shell

then, using ls and cd commands, you can move around and try and find the path to your writable directory.

 

Hope this helps someone!

Teaching Kids to Code – Processing.org

My friend Eric is a technology teacher at a school in the Richmond area and I were discussing the importance of teaching kids to code.  The website code.org goes into it.

I thought I should write up a quick tutorial on ways for kids (or grown ups) to code while:

  • Having fun
  • Creating
  • Learning
  • Sharing their work
  • Building off of each others work

My tutorial utilizes two technologies:

jsfiddle : This web platform allows you to program in javascript and see your results.  You can share and build off existing code.

Processingjs.org : This javascript library allows you to cool stuff like: this, this, or this.  It is a powerful library that has great documentation.

So, here are my basic first instructions:

START:

EDITING:
So, in this example, you can change the line of code:
processing.background(224);
to be:
processing.background(255,0,0);

VIEWING:
Hit RUN, and you will get a red background.

SHARING:
Then, you can use the SHARE button and you can see options to use Twitter or just send a link without any code:

 

So, I think you could learn a whole lot from these two things combined.

Hope this helps!

 

Current Phone Setup – Galaxy S III – Cyanogenmod

Android: Samsung Galaxy S III (SPH-L710)
Rom: Cyanogenmod 10.12 – Android 4.2.1
Best Features:

  • Being able to tether through USB and Wifi for free
  • Using the volume keys to skip tracks
  • Getting all the up-to-date features of android without worrying about Sprint releasing it for my phone
  • Other new android features

Run WordPress and Ruby on Rails using Apache

  1. Install a LAMP server with apache 2.
  2. Install Rails
  3. Install and Setup WordPress
  4. You should see wordpress here: http://example.com
  5. Then, add this to your apache config’s Virtualhost section:
    1. ProxyPass /fakerubypath http://127.0.0.1:3000
  6. Now, start your rails server
    1. ./script/rails server
  7. You should now be able to see your ruby site on: http://example.com/fakerubypath

I set mine up: wordpress and rails

 

Fantastic Thrift Store – Hours

Fan-tastic Thrift Store Hours
Monday: 10am – 6pm
Tuesday: 10am – 6pm
Wednesday: 10am – 6pm
Thursday: 10am – 6pm
Friday: 10am – 6pm
Saturday: 10am – 6pm
Sunday: CLOSED

I thought I would call and post what they said since I I couldn’t find the store hours for Fantastic Thrift anywhere online.

Roasted Winter Squash Recipe

Roasted Winter Squash
Roasted Winter Squash

Recipe:

  • Winter Squash, or really anything gourd-like.

The spread on top contains:

  • Some of the squash seeds
  • Sage
  • Something spicy, i used jalapeno, but you can use anything with kick, or don’t.
  • Cinnamon
  • Salt
  • Black Pepper
  • A little oil (olive)

Instruction:
Cut and place squash on cooking sheet, cut/grind up the remaining ingredients, add oil. rub on top.
Cover with tin-foil to prevent burning.
Cook for ~20 min.
Uncover and cook till golden brown/not burnt. (~10)

Bonus tip: throw in the rest of the seeds to cook them too.  They are a good snack.