February 27, 2009

HAMB SF: Why I wanted to do it (Part 1 of 2)

Filed under: afaa, learnings, smallaccomplishment — Lindsay @ 9:01 am

Over the past four months I have been working on my recertifcation with the Aerobics & Fitness Association of America. For 4 years now I have been a certified Group Exercise Instructor, and for the past two years I have been a certified Personal Trainer.  While I was in college and graduate school, I taught step aerobics, body toning and a mix of floor and athletic training called 20-20-10 (for the number of minutes spent on each activitiy).  In 2007, I decided I wanted to get my PT certification so that I could work 1-on-1 with clients.  But, with my Masters Project well under way, traveling, starting 1-job and then starting another, I never made the time to put my certification to good use and pick up clients part time.

Last November, as AFAA notified me that my PT certification was expiring, I realized that I needed to make my investment in money and time worth something in dollars.  I didn’t realize the education had paid off in intangibles, like what I know, how I workout, eat better and lead a healthier life.

I decided that I wanted to create a small workout group in Russian and Nob Hill neighborhoods. The basic premise of the idea was that there were many other women my age who paid for gyms every month but didn’t want to add to the already steep cost to hire a personal trainer.  Boot camps in the city are targeted at older men and women, and are also very expensive per month.  They start at 6 am, which is just too early for someone in their 20’s, who still wants to go out at night.  Waking up at 5:XX anything is miserable!  If I could teach outdoor workouts twice a week, charge a nominal fee of $5 per workout, I could break even on my costs to take all the recertification courses (approximately ~$300+).

While I did home studies and took practical classes to earn my continuing education units (CEUs), I enlisted my friends to help me with a name.  We played around with a lot, they ranged from serious workout names to ridiculous puns.  Some included:

  • Bust Your Butt Outdoors
  • Three Hills You’re Out
  • Sweatin’ the Hills
  • Run for the Hills!
  • Head for the Hills
  • Shape Your Booty

I ultimately settled on HAMB SF:  Hills are My Bitch, because this is what I say whenever I’m running and get to the bottom of a big hill.  I thought it was fun, catchy, and would attract other people my age.  I was definitely right on that one because when I began to build the website, and show it to friends, everyone had a smile on their face.

So as the technophile that I am, I spent way too much time building the website and playing around with different layouts(here, here and here)…the programming bug bit me and I was obsessed for a couple weeks in January.  Some of the designs, if you look, needed a tag line “Just like our bodies, a little resizing of the browser always helps!” It was fun, entertaining, and I got to really play around in photoshop, so I don’t see this as wasted time at all.

My final version is up at HAMB SF – It’s only the About page. I never finished it, and there’s good reason why – Legal Complications.  To be talked about in a follow up post…

I Killed My Graduate School Personal Website

Filed under: search, storytime, tools — Lindsay @ 7:58 am

Every Friday I receive an email from SiteMeter telling me how many visitors have come to the personal website I created as a graduate student.  I haven’t changed that website, let alone SFTP-ed into that server since May or June of 2007.  Sometimes I’m amazed to see that people still visit that site, and sometimes I’m not; when you google search “Lindsay Tabas”, the link shows up on the first page of results.

So this morning I decided to bid farewell to the site by loading an index.php that resets the header to this url:  www.lindsaytabas.com.  I backed up all the original files onto my external hard drive, and anyone can still navigate to the old site by going to this address here.

I’m killing my site, with a short eulogy.  This site was the first place I learned about building HTML, using PHP, CSS, and XML.  I started using SiteMeter instead of Google Analytics (and I cannot really remember why, but I use GA now).  The coolest thing I learned over the past 4 years of getting these updates every Friday was that the world was very small, and people could find me from far off and interesting places.  My tribute to all those 2,214 visitors is this picture, something I found very humbling to look at every Friday morning, but also something that made Friday morning one to look forward to:

My Last Site Meter

My Last Site Meter

February 22, 2009

You Know it’s a Bad Date When…

Filed under: storytime — Lindsay @ 9:51 am

While I was in DC last weekend, I met a guy Friday that seemed nice enough to hang out with on Sunday. I consider myself a nice and open minded person, so I usually like to give people a chance, and see what they are all about. This is the story, in “You Know it’s a Bad Date When” format, of why that was a bad idea. Enjoy:

You know its a bad date when your date invites you for an early evening cocktail, sends you the address of where to meet, and when you get there, you realize its his house.

You know its a bad date when your date offers you a glass of wine from an opened bottle of Charles Shaw, says “In California, this is 2 buck chuck, but in DC, it’s 3 dollars”.

You know its a bad date when  you ask your date about his iPod and he says he has no idea how to update it, and doesnt own a copy of iTunes.

You know its a bad date when your date has an iPod Touch he found in a cab, and never took it out of its case to realize that the owner’s name is engraved on the back.

You know its a bad date when  you go to Facebook to look up the iPod’s owner, are about to message her, and your date says “why don’t we hold off on that for now”.

You know its a bad date when your date tries to kiss you, and you play along, only to realize his mouth does not taste right, in so many wrong ways.

You know its a bad date when you try to politely end the date to grab dinner with friends, and your date says “Well, if after dinner you realize you’re not through with me, just give me a call”. (I responded, that’s a great attitude buddy!)

Dating adventures and mishaps are just a part of life; some are just much funnier than others!

February 17, 2009

Supa Dupa Fly Flash

Filed under: geeks, learnings, smallaccomplishment — Tags: — Lindsay @ 11:02 pm

Without the internet on my flight back from DC this weekend, I was forced to just make something up in Flash to see if I could learn something new. Compared to the last project, I can say that my significant accomplishments and growth in this skill are astounding, but I’ll let you judge for yourself:

You know this video is as fly as these shoes I bought this weekend:

supa dupa fly kicks

February 11, 2009

Learning Adobe Flash

Filed under: geeks, learnings, smallaccomplishment — Tags: — Lindsay @ 9:08 am

I’m learning Adobe Flash this morning, and just completed my first movie following this guide.

I know you are super impressed by my amazing flash skills, but what did you do before 8 am this morning?

February 9, 2009

My Birth in Poem Form

Filed under: storytime — Lindsay @ 1:45 pm

Going to sleep last night, I was feeling rather quirky and wrote a poem on several Bay Area Girl Geek Dinner post its (I knew that free pad would come in handy!). If you know the following things about me you can infer my skills with words:

  • Aside from one or two papers in high school in college (including my thesis!), I never got more than a B+ on a paper in my life.
  • My combined SAT score out of 1600 equaled my combined GRE score out of 1600 (just including Math + Verbal).  After 4 years of engineering school, I increased my math by 170 points.  Laws of inverse proportionality tell us that my verbal must have gone down that much.
  • In studying for the GRE’s, I learned most of my vocabulary by looking up words from m-w.com.  I clearly didn’t use the “sound” options to see how the words were pronounced, and believed that “esoteric” was pronounced to rhyme with exotic, not “ess-oh-tare-ic” which is the right way.
  • The fall semester of my 2nd year of graduate school I had to write 4 x 20+ page papers.  I felt it was imperative to go to every professor’s office hours to let them know that writing wasn’t my forte.  I think I got B’s on all of those papers.

I hope these littel tidbits make you laugh, but if they didn’t, here is a poem that sure will.  In 4th grade, I attended a hebrew day school in Yardley, PA.  Half the day was spent speaking hebrew, studying torah, and doing other jewish things; the other half was spent studying normal subjects, like math, science, history and english.  For one of my religious assignments I had to write a poem or create some artwork expressing why I was thankful for Gd.

This assignment was at the end of the year, and I remember being down at the Jersey Shore with my family, and my Dad helping me with the assignment.  My father, of course, is also an engineer, and you can judge his ability with words as well.

So here it is, My Birth in Poem Form.

    Roses are red
    Ladders have rungs
    I almost died
    From a hole in my lung

    I had a hole in my lung
    When I was born
    And when I breathed
    I sounded like a horn

    They hooked me up
    To tubes in the wall
    As my dad paced
    Up and Down the hall

    Eight Days
    All was well
    Now a happy end
    To tell:

    ME!

As I recited this for some coworkers last week, I was amazed that I still remembered it (not really, I recite it often). I thought it was a good time to write the poem down, to be stored in internet history forever.

February 4, 2009

Understand iTunes XML: Port Your Music Library from Windows to Mac

Filed under: learnings, programming, side project, xml — Lindsay @ 9:29 am

(Created February 2009, Updated July 2009)

Introduction

This is a tutorial designed to help you port your iTunes library from PC to Mac (or visa versa) without losing your Playcount and Rating information.  I make several assumptions about the audience in writing this tutorial:

  1. You have a basic understanding of XML.
  2. You are not scared to read and update XML code.
  3. You do not want to lose your Playcount and Rating information.
  4. You are able to move your actual music files from 1 machine to the other without changing the general hierarchy of your file structure.

Now here is the warning for those of you that still are on the fence – this isn’t easy-peasy – we’re not selecting some checkboxes and radio buttons, we’re looking at the code where iTunes stores information about each song.


Background

In the Fall of 2005 I did a project called Playlist Generation & Download that involved creating iTunes playlists using the iTunes XML namespace.  I’m hesitant to use the word ‘namespace’ because of iTunes XML’s poor structure.  We enabled mobile and desktop applications in a service-oriented architecture to provide search, discovery and playlist generation using XML schemas.  In implementation, a user could upload and share iTunes playlists, then download others based on genre and artist search.  This tutorial was built based on the knowledge I gained doing this project 4 years ago.


1. Export a single playlist, view it’s XML format

iTunes stores all the data about each song into XML files; when you select Export Library or Export Playlist, the program will allow you to save the output as an XML file.  Lets get started by looking at a sample XML file.

  1. Select a playlist, preferably a small one (< 25 songs), and where the songs all reside in the same folder (a particular artist’s album would work really well for the “training wheel’s” version of this tutorial)
  2. Navigate to File> Libary > Export Playlist
  3. Save the XML file somewhere you can find it.

Open up the file in a text editor.  The first section of the file is the usual introductions:
itunes header info
If you’ve worked with XML before and you have never seen the iTunes XML, then you’re probably a little startled to see its poor format.  For those of you that don’t know right away what is wrong, it’s the fact that every variable is stored in some tag called <key></key> and its value stored in a tag such as <integer> or <string>.  If I were to rewrite the first key, it should look like <Major Version>1</Major Version>.  The iTunes people would have saved themselves a bunch of time if they paid attention in XML Bootcamp!

2. Locate the “Music Folder” path information

In this snippet of code, the most important piece of information is:

<key>Music Folder</key><string>file://localhost/Users/lindsay/Music/iTunes/iTunes%20Music/</string>

The <string> value is the location of your iTunes Music folder, and in this case, this is the Mac format.

Instructions:

  • Determine the location of your Music Folder in both your Mac and PC
  • Copy and paste these locations into a text editor so you can compare the differences between the two.
  • If you’re moving from a PC to a Mac (and try this first with your sample playlist):
  1. Export your Playlist on your PC – lets call this Windows.XML
  2. Change the Music Folder <string> to use the Mac location (path info), making sure the format is in a Mac format.

3. Locate the song “Location” path information.

Now lets look at the XML for each song.  Each song in your library or playlist XML file has a few lines of XML to describe its properties; two of these lines contain the play count and the star ratings, exactly what we DONT want to lose.  Here you go:

itunes song xml

But, the only line we care about is the fourth line from the bottom:  Location.

Instructions

  1. Copy the folder in which your playlist’s music resides from 1 machine to the other.  In my case I would take the Asher Roth album, and move it from my Music folder on my PC to my Music folder on my Mac
  2. Find the new path information for this folder.  On my PC, it’s something like “C://Documents and Settings/Music/…”, and on my Mac it’s file://localhost/Users/lindsay/Music”
  3. Compare the two location/path information to see where they defer and where they don’t.  For me, its the path information up until the Music folder.
  4. For the first song in your XML file, locate the location information.  Cut out “C://Documents and Settings/” and paste “file://localhost/Users/lindsay”.  Verify that the path information for the song’s new location looks correct.
  5. Do a Find/Replace on the entire file – Find: “C://Documents and Settings/” (the original path information), Replace with: “file://localhost/Users/Lindsay/” (the new path information)
  6. You only want to do this Find/Replace because every song has a unique ending (the actual .mp3 name and file).

4.  Save and Move the Playlist.xml file to your new machine and upload

If you’re playlist folder is on your new machine in the path that you directed the Playlist.xml file to, then all you need to do is the following:

  1. Open iTunes – Navigate to File > Library > Import Playlist
  2. Browse and Upload your Playlist.xml file
  3. The Playlist should appear in your list of playlists, and the songs should now be in your iTunes
  4. Verify that the play count and ratings are intact.

5. Don’t delete the playlists

The final note is that you should not delete these new playlists.  If you delete them, you may lose some of your song’s information

Direction Reduction:

1.  Export your iTunes Library on your Windows machine.

2. Open the file in a text editor; change the directory for your Music Folder and change the directories for the location of each song (a simple Find and Replace should work if you have correctly maintained your music folder hierarchy)

3. Import the XML file into your iTunes on your Mac machine.


Final notes to make your life simpler:

This is a really simple thing to do if your library is less than 1300 songs.  If your library is like mine (9000+ songs) then you will need to separate your iTunes music into manageable sized playlists and export and edit each playlist.  I did this by creating Smart Playlists for each letter of the alphabet related to Artists.  It takes longer to do this on a playlist-by-playlist basis, but you’ll save your processor a lot of time and stalling (I had a 4GB processor that couldn’t handle the XML file for my entire library). I think total, this took me 2 hours to do. That’s 2 hours to save me the 30+ hours I would spend deleting duplicates and adding ratings if I had to start from scratch.

Your life will also be easier if your music happens to be on an external hard drive because you then don’t have to migrate the music too, just the data about the music.  This was my situation, but probably is not the case for most of you.

Again if you can move the actual files from your Windows machine to your Mac machine without changing the hierarchy, then migrating your library will be much simpler in the long run.

If you have any questions, leave a comment and I’ll be happy to help out!