Archive for March, 2015

Better Late Than Ever

I know, I know, I know, I’m supposed to be filling your ears with noise every WEDNESDAY! What the fuck am I doing posting this 2 days late?! Sorry, I was just too busy flying out to Chicago to pop bottles at Spybar and go to Reverse Event’s latest blowout afterhours in their Tech(no) series. The State Dependent Learning set that I prerecorded for this week’s post turned out like shit and I’ve had work piling up from being out of town. Because I love you guys so much, I pulled 2 straight all-nighters this week and got my work done just in time to get drunk for last night’s recording session. I’ve been listening to a lot more Techno lately so I hope you guys don’t mind how schizophrenic sounding this set is. I can’t decide whether I like playing chill deep house or Techno, so I gave you a bit of both! I also threw in a little treat at the end for 2 of my favorite people in the whole world. They played one of my bowling sets at their St. Paddy’s day party but sadly couldn’t come out this weekend due to a surgery. In either case, shoutout to Dan and Janine!!

State Dependent Learning – Vol 2 (3/27/2015)

Tracklist

  • 1 – Compuphonic – Sunset
  • 2 – 16 Bit Lolitas – Deep in my Soul
  • 3 – Chaim (feat. Meital Derazone)- Too Dark for You
  • 4 – Duke Dumont – Street Walker (Reset Safari Remix)
  • 5 – Kill Frenzy – All Night Long
  • 6 – RioTGear – Take One (Luthier Remix)
  • 7 – NIGHTOWLS x Dirty Doses – Primetime
  • 8 – Le Youth – R E A L (Bixel Boys Remix)
  • 9 – Tensnake (feat. Syron) – Mainline (Dub)
  • 10 – Jean Claude Ades & Rony Seikaly – Into Me
  • 11 – Carlos Sanchez & DJ Ray – The Life is Starting
  • 12 – The Holy Mash – Gifted
  • 13 – Curbi – Force
  • 14 – Gel Abril – Spells Of Yoruba (Jamie Jones Watertight Mix)
  • 15 – Kill Frenzy & Christian Martin – Bondi
  • 16 – Guti & King Brain – Opus 2
  • 17 – Deorro (feat. DyCy) – Five Hours (Don’t hold me back)

Speaking of late, and speaking of Techno

If you’re ever in Chicago, you guy simply MUST check out the Tech(no) loft series. Fellow afterhours junkies know that most of these events are usually an afterthought. They’re usually hastily set up in shady neighborhoods with poor sound quality, D-list talent, and an influx of club weirdos and “zombies,” around 4am. This is what makes the Tech(no) series refreshingly different. It’s put on once a month by the guys at Reverse Events, who are all solid dudes and friends of mine. I’ve been to a number of their events and each time I’m never let down. Between the professional grade sound system, dazzling light effects, and well organized security, you’d think you were in a club that just happens to stay up late.

This most recent one was a ridiculous! 3 Levels in a nondescript area of Chicago’s South Side, each with a stage and bar. Speaking of the bar, most of these places tend to be staffed by amateurs, but I’ve never waited longer than 5 minutes for a drink at any Tech(no) event. Pretty damn impressive for a place that hit capacity relatively early. I know that vacation slides are in poor taste, but you guys simply have to see this to believe it.

Ok now let’s talk some technology

You may have noticed that the player is a little different. Namely, there’s a download link and playcounts! Neither of these were trivial projects to implement, though I think being shitfaced while I was coding them up had more to do with it than anything else. Basically all I’m doing is latching onto the click event on the play button and incrementing a counter in the database. I know I should really double check to make sure that people actually listen to a file for longer than a few seconds, but I’ve got lots of fish to fry ok dudes!

The player is still fucked on the homepage. I looked into this a bit and it seems like this jsPlayer just really hates playing nicely with other players on the same page when you try to call the create method more than once. This is happening because the create script is embedded in the post. When the homepage loads, it loads up 3 posts and 3 players. Then we end up with this infinite loop of nonsense. The load scripts really should live in the page load rather than the posts, but that’s going to require digging into wordpress and I’m already over my quota on all-nighters.

Have a great weekend and enjoy!

You must YOGA before you YOLO

10942566_10102420792085220_7594903331089636108_nHappy Wednesday folks! This week I will be retaining my usual format of giving you some good music to listen to while I ramble on about whatever is interesting to me at the time. This time I’m going to talk about another one of my favorite obsessions – yoga. This week’s set is the first installment of yet another series, YOGA and YOLO (I know, when will this kid stop introducing new series and just focus?!). Each of these sets are designed for my favorite yoga instructors to play in their classes. These posts were originally intended to be Christmas presents for my favorite instructors, however due to a combination of bad equipment, lack of skill on my part, and moving to the San Fransisco Bay Area, these are slightly tardy. Sorry and Merry Christmas Conor!!

If you live in Chicago, check out one of Conor MacDonald’s sculpt classes at Corepower Yoga, you won’t regret it. If you are already a seasoned Corepower Sculpter, I hope that you hear this in class soon! Regardless, it’s my hope that this post will be your inspiration to check out a class. I can personally say that my yoga practice has been one of the single most positive lifestyle changes I have ever made. So happy listening and namaste…

YOGA and YOLO – Conor Sculpt (3/18/2015)

Tracklist

  • 1 – Daniel Fernandes – After All
  • 2 – Tough Love – Love & Happiness
  • 3 – Lika Morgan – Gone Tomorrow
  • 4 – Syn Cole – Bright Lights (The Voyagers Remix)
  • 5 – Disclosure – When A Fire Starts to Burn
  • 6 – Antonio Giacca – Alright
  • 7 – Monkey Safari – Watching the Stars
  • 8 – Kaskade – Sorry
  • 9 – Chocolate Puma & Firebeatz – I Can’t Understand
  • 10 – Mineo – Get Out Fight
  • 11 – Fashion Lioness – If I Leave You
  • 12 – Pete Rock – Pete’s Jazz
  • 13 – Galimatias & Alina Baraz – Drift

Why Yoga?

A friend of mine recently asked me about my growing obsession with yoga and how it compares to working out in a gym. I cited 4 ideas that I would like to share:

1. I find that gyms are pretty douchy and awkward. Bunch of half naked people being super self conscious and pretentious. A yoga studio is totally different. It’s all super high quality people and the atmosphere is incredibly accepting, encouraging, and positive. After having moved to a new town where I didn’t know anyone, I found that the fastest friendships that I formed were in the yoga studio. In contrast, I can’t think of having made a single friend at a traditional gym and I’ve been going on and off for 15 years!!

2. It’s not just a workout of specific muscle groups. There is focus on whole body strength. Cardio, isometric holds, strength, and flexibility of the whole body.

3. I find that it’s good for my inner peace of mind. Because they focus on breathing and mindfulness before and after the workout, you come into a yoga studio with all of your bullshit of the day and you leave the yoga studio at peace.

4. I think that people who work out in more traditional ways measure their progress in superficial ways. How much can they bench press? How far can they run? How high can they jump? With those sorts of metrics for success it’s really easy and tempting to compare yourself to other people and that is a bullshit thing to do. Everyone is different. With yoga, the metric for success is so much more introspective. I can only really compare myself to my previous self. I can personally say that I am much better off as a yogi.

About the set

With that out of the way, let’s go into some detail about the set you’re listening to. Every time I post one of these, I’ll also give a bit of detail about which songs correspond to which parts of the yoga sequence. I actually take the time to perform the entire sequence when I do my track selection and transitions to make sure that each track fits in nicely with the mood and tempo of each piece. I try to hide tempo changes in buildups and I occasionally leave a bit more naked beat in between certain sections in an effort to leave time to towel off and grab water in between portions of the sequence.

  • 00:00 – 03:00 – Integration – Daniel Fernandes – Afterall
  • 03:00 – 07:30 – Sun Salutations A – Tough Love – Love and Happiness
  • 07:30 – 12:30 – Sun Salutations B – Lika Morgan – Gone Tomorrow
  • 12:30 – 17:00 – Floor Series – Syn Cole – Bright Lights (Voyagers Remix)
  • 17:00 – 20:00 – Squats 1 – Disclosure – When A Fire Starts to Burn
  • 20:00 – 25:00 – Cardio 1 – Antonio Giacca – Alright
  • 25:00 – 25:30 – Water & Towel Transition
  • 25:00 – 30:30 – Right Side Sculpt – Monkey Safari – Watching the Stars
  • 30:00 – 35:45 – Left Side Sculpt – Cardio 2 – Kaskade – Sorry
  • 35:45 – 35:15 – Water & Towel Transition
  • 35:15 – 40:00 – Cardio 2 – Chocolate Puma & Firebeatz – I Can’t Understand
  • 40:00 – 45:00 – Gluts, Chest (Floor) – Mineo – Get Out Fight
  • 45:00 – 49:00 – Floor Core – Fashion Lioness – If I Leave You
  • 49:00 – 54:10 – Surrender & Cool Down – Pete Rock – Pete’s Jazz
  • 54:10 – 58:02 – Final Shavasana – Galimatias & Alina Baraz – Drift

Wrapping up

If someone in Chicago or the Bay Area wants to volunteer to take a few short videos of me actually performing the sequence while I make these sets, I’d be happy to post them with future postings so you can try them at home. You can shoot me a message at imjustinbraun@gmail.com. I welcome any honest feedback, comments, suggestions, or song requests. Until next time!

Let’s get fucked up and play records

DJ2009

It’s ok to laugh at that picture. I had to go way back to spring of 2009 to dig it up. In a way, it’s the inspiration for my latest series, “State Dependent Learning.” See back when I first learned to DJ, I was always annihilated. My house has always been the go-to afterparty house because I have exactly zero qualms about paying noise complaint fees and fielding calls from angry landlords to… my voicemail. So whenever I’d come home from the bars, it was usually with the party crew and the first order of business was always to get some music going. At that time I wasn’t really too concerned with mastering my craft or even practicing for that matter. On the few occasions that I did try playing sober, I sounded like shit. This confused me because I FUCKING ROCKED IT WHENEVER I WAS WASTED! The obvious conclusion is that I was suffering from State Dependent Learning. Per Wikipedia,

State-dependent memory, or state-dependent learning is the phenomenon through which memory retrieval is most efficient when an individual is in the same state of consciousness as they were when the memory was formed. The term is often used to describe memory retrieval while in states of consciousness produced by psychoactive drugs – most commonly, alcohol, but has implications for mood or non-substance induced states of consciousness as well.

For more years than I care to admit, I would just simply refuse to play sober. I’d get a few cocktails in me and the jams would just flow. In addition to my ongoing “Bowling,” series that you’ve gotten to hear for the past 2 weeks; I’ll be periodically be making sets where basically all I’m doing is letting the liquor do the thinking and recording mixes. For this first one, I was drinking some fancy bourbon that I took from my roommate’s liquor cabinet (Sorry not sorry Dan). Towards the end of the set I got a little too drunk so I pulled my signature move of drinking Coors Light to sober up. Without any further introduction, let’s get fucked up… play records!

State Dependent Learning – Vol 1 (3/11/2015)

Tracklist

  • 1 – Ninetoes – Finder
  • 2 – Monkey Safari – Watching the Stars
  • 3 – Joyce Muniz – Sleepless
  • 4 – Rey & Klajek – Animal vs Beast
  • 5 – Doctor Dru – 2 Know U
  • 6 – Adana Twins (feat. Digitaria) – Reaction
  • 7 – Go Freek – The Way You Dance
  • 8 – Alexis Raphael – Assault Weapon (German Brigante Remix)
  • 9 – Wonkers – Firecity
  • 10 – Antonio Giacca – Alright
  • 11 – Turntablerocker – Grow up
  • 12 – Ardalan – Catchup
  • 13 – The Holy Mash – Gifted
  • 14 – Dustin Nantais – Arm Bar

One more thing…

Before I move onto talking about the music hosting awesomeness that I can hardly contain my excitement over, I want to give a shoutout to French producer The Holy Mash for giving me permission to include their track Gifted in this set. It’s definitely one of my new favorites and I’m looking forward to see what else comes from them!

Now for that techie goodness that you all really came here for…

Well I’ve got to say, this music service has really taken on a life of its own. I did get a few feature requests so I went ahead and added the most common one, download links. The headers of the sets should now be just that! There really isn’t anything too technically special about what I did. Just updated setplayer.js to insert an A tag into the header element with the set’s file location. Now whenever you visit http://imjustinbraun.com/djsets/index.php?Request=DisplaySets, you can download whatever there. As always, you can see the final working product on my jsfiddle. I did run into one little pitfall on line 92 of setplayer.js – basically I’m loading in the first track by searching for the first A element in the output. Since the download link is now the first A tag, I modified the line to mean the first A element immediately preceded by an LI element. Simple enough.

Last week I promised that I was going to make a RESTFul back end for this whole thing, improve the player, and create an uploading service. That turned out to be a bit of a tall order considering that I have a fulltime job and I had a killer hangover the other day from recording the set that you’re currently enjoying. Also, this whole project has required a ton of architecting, planning, and well, thinking ahead. So instead of posting any code, I’m going to talk about the architecture I ultimately arrived at and why. Next week I’ll start sharing more code with you. In terms of initial requirements, I wanted whatever I designed to have the following properties:

  • Loose Coupling – I don’t want one API change to fuck up all of the clients and I have to spend a week listening to pissed off users that refuse to upgrade
  • Scalable - If by some miracle I’ve got 100K users banging down my door tomorrow wanting to listen to my drunken recordings, fuck yeah!
  • Platform Independent – Because nothing short of my superbowl commercial would serve my vanity better than having an imjustinbraun iphone, iwatch, ipad, and android apps
  • Orthogonal - At some point I’m going to want to open this thing up to other DJ’s, Producers, and Record Labels (their lawyers, however, can fuck off). I’ll need to be able to easily accommodate feature requests without breaking everything.
  • Easy - Ok so maybe I’m a genius and could write the thing in machine language or lolcode (yes that’s an actual thing), but if I ever bring on other developers to help me with this little project, I don’t want to use some obscure tech that only I can figure out.
  • The Architecture

    With those requirements in mind, I set out to fulfill them using the tools that I readily have available in my shed. I decided to use Amazon AWS as my hosting provider. I’m using what initially passes for a traditional LAMP stack (A few years ago I wrote a step-by-step guide for how to set one of these up here), though I have a few tricks up my sleeve this time. One thing that makes Amazon so powerful as a webhost is that they really have thought of everything. Between Elastic Load Balancing, Autoscaling groups, and Cloudfront – I can offer SERIOUS amounts of scalability with minute-by-minute sizing so that I’m never paying for what I’m not using.

    Regarding the API, I want to make sure that whatever clients interact with the back end aren’t coupled to any particular technology stack. The world seems to be in love with RESTFul API’s these days and I can see why. They’re simple, scalable, platform agnostic, and is incredibly easy to secure using HTTPS. Further, because it’s centered around resources rather than procedures, changes to the API seem like they’ll break a bit more gracefully (I’ve yet to test this theory, though I have little doubt that it will be tested at some point in this little adventure). I did give websockets a serious look, but I ultimately concluded that unless I decided to write my own streaming format, they’d be overcomplicated overkill.

    Writing a REST API from scratch in php is a serious undertaking and an entirely unnecessary one. There are TONS of frameworks out there that will do the heavy lifting for you. I ultimately selected RDev for a number of reasons. For starters, it’s a framework that I’m very comfortable with. I’ve deployed RDEV in major financial institutions, so I’m fairly familiar with how to make it work securely and how to make it scale. It doesn’t hurt that I’m personal friends with the guy who wrote it, so I can always bug him with questions and feature requests. But I think the main reason I continually choose RDEV is because it’s fucking awesome. I won’t go into the laundry list of features; Dave’s website can do that for you, but I will say that he is constantly adding little bits and pieces that make RDEV easy to use. It’s rock solid – He’s got some ridiculous amount of unit tests that he writes before he even builds features (a habit I need to start getting into myself).

    Looking Forward

    I hope you’ve enjoyed this musically charged rant! Next week the gameplan is to teach you guys how to get RDEV up and running and if there’s time, maybe I’ll even have a better player for you to listen to my mixes with. In the meantime, if you would like your music in my sets, feel free to email your tracks to imjustinbraun@gmail.com. You can also feel free to contact me with feature requests, comments, ideas, or questions. Till next week!!