Archive for the ‘ Randoms ’ Category

Some New Jams, and a Teeeeny Sneak Peek Into 2016

Mainstage at Tech(no11)

Mainstage at Tech(no11)

Happy Boxing day ladies and gentlemen. I know it’s been a minute since you’ve heard from me and it’s for (somewhat) good reason. I have a lot of really exciting things to tell everyone about as 2015 begins to wind down. First things first though, hit play and listen to the latest edition of State Dependent Learning – Vol 4!

I want to give a HUGE shoutout to my good friend Dabura for letting me play what is one of my favorite new tracks. The first time I heard it was at his place a few weeks ago while he was prepping to play for a Transmit Tuesday at Spybar. He’s so damn humble that at the time he wasn’t even sure if he was going to play it that night or not. Myself and one other friend more or less insisted that he do.

Talk Nerdy to Me

Okay, so, sorry we’re still using my shitty JS player. I can promise you that I haven’t been sitting around with my thumb up my ass and there’s a REALLY REALLY REALLY cool new one coming soon I promise. Actually, let’s talk about what’s going on where my passions for music and software meet. Most of you know that I’ve been working very closely with Onlythebeat.com for some time now and that we are going to be launching a streaming music service. Progress has been a LOT slower than I would have liked it to be, however we are getting SUUUUPER close to being able to launch! Excluding OTB Staff and industry insiders, we’re going to be offering a beta to a VERY LIMITED number of my friends, family, and whoever kisses my ass enough, so look out for that. I really really reallly wish I could tell you more about the features and functionality that the new service will offer, however that will have to wait a few more weeks.

I can say that the back end is a thing of SERIOUS beauty. It’s written in PHP using my good friend David Young‘s Opulence Framework. There’s a lot of fancy footwork going on behind the scenes and it really wouldn’t have been doable without his tireless efforts. The back end will actually be accessible via a publicly documented API, so I’m looking forward to seeing what kind of 3rd party apps people dream up. Maybe someday you’ll see OTB Ableton Plugins and apps.

On the frontend side, I’ve taken it upon myself to learn AngularJS – and boy has that been a shallow learning curve!! Actually pretty much the only reason we’re not live is because I’m still hammering out the connection between the front and back ends. The things that Angular lets you do, however, are worth the sweat equity. As soon as that’s done, onlythebeat.com is going to be a different animal altogether.

Great Jams Bro. When and Where can I see you Play?

So this is blowing my mind, but 2015 has been a really good year for me in terms of my development as a DJ. To think that I literally played my first gig at a yoga studio this April. Four months later, I was graced with the honor of playing the main room of a monthly loft series that has become a Chicago staple. By far my favorite gig this year though, was without a doubt this boat party that I played in Austin, TX for Halloween. Sometimes the combination of the crowd, the jams, and what you happen to be feeling at the moment just combines and you blow everyone’s mind. That was what happened at this particular party. It certainly didn’t hurt that my costume was a huge hit.

Some men just want to watch the world burn. Playing on a boat party in Austin, TX for Halloween 2015!

Details are still in the works, but I’ll be playing in Mexico for a BPM afterparty on Jan 12 & 14. January 14 is my birthday, so if you don’t come to Mexico for this, I’m going to be seriously PISSED. Flights are super cheap and this particular party doesn’t even charge a cover so you have literally ZERO excuse to not go.

On Jan 5 & 26 I’ll be at Spybar for Transmit Tuesdays. Jan 20th I’ll be at Lokal for Consumed. I’m sure there will also be a few Corepower dates as well, though details for all of these are still in the works. As soon as I have flyers and 100% confirmed set times and dates, don’t you worry…. I’ll be spamming you along with everyone else I know :p.

I’m a Cool Fucking Guy

DJ LogoThis article will be an ADD kid’s dream come true. In it, I will drop the first installment of my new DJ series, touch briefly on copyright law as it applies to DJ mixes, and finally, give you a step-by-step guide to creating your own music hosting service.

You’ll be here for awhile, so let’s start by clicking that play button below this paragraph. This is the first of many DJ sets in my new series entitled “Bowling.” The inspiration for this series has been you! My friends, frienemies, acquaintences, family, and people I don’t even like! Each week that I do a bowling set, I am picking a person who has at one point or another been an important part of my life and I’m making a set for them. I will NEVER tell ANYONE whose set is for who, or if a set is even for you. If you try and guess, I will neither confirm nor deny anything! With that said, I leave clues all over the place so if the set is for you, you’ll know. If you have to ask, I’m sorry but probably it isn’t yours. Who do you think it’s for? Ok well let’s go BOWLING!!

Bowling – I’m a Cool Fucking Guy (2/27/2015)

Tracklist

  • 1 – Celsius – Incoming
  • 2 – Martin Ikin – Rhythm
  • 3 – Oliver – MYB (Tchami Rmx)
  • 4 – Rob Mirage – Culture 1010 (Hector Couto Remix)
  • 5 – Ludacris – Stand Up (LeMarquis Remix)
  • 6 – Sugar Hill & Wasabi – It’s on You (Purple Disco Machine Remix)
  • 7 – Disciples – They Don’t Know
  • 8 – Habischman – Like This
  • 9 – Me & My Toothbrush – Something (Croatia Squad Remix)
  • 10 – Vanguard – Mount Helicon
  • 11 – Laidback Luke – Bae (feat. Gina Turner)
  • 12 – Anna Lunoe – Heartbreak In Motion (feat. Jesse Boykins III)
  • 13 – Kokiri – Flux
  • 14 – Do Santos & Simone Vitullo – My Bassline Friend
  • 15 – Beam – Controllers
  • 16 – Fabrico Pecanha – Teaser(Phonique Remix)

Soundcloud Sucks! And so does Copyright law if you are a DJ

So why did you have to click on the player here rather than just go to my SoundCloud page like a normal person? I’m glad you asked that. In what scientists around the globe are calling “fucking lame,” Soundcloud has (somewhat) recently declared the hobbyist and beginner DJ enemy number 1. To make a long story short, I tried uploading my latest set to Soundcloud last week, only to have it taken down due to an automated Copyright infringement claim. Apparently SoundCloud will now scan through your sets, looking for any tracks that might be copyrighted, and it will bitch slap your posting if its algorithms determine that you’re infringing! After poking around a bit, I stumbled upon numerous accounts of other people finding the same thing. Fuckers.

Everyone knows that broadcasting copyrighted materials is infringement. But where is the line between infringement and fair use? If you play a song at your home and some friends who hadn’t purchased the music happen to be in the room, are you infringing? Can the RIAA come into my home and turn off my stereo? What about if you are playing at a club where people paid money at the door to get in? Does that constitute infringement? What if it’s at a concert with thousands of people, or if you publish a mix album?

As it turns out, the distinction is not clearly defined. I naively thought that as long as I credit the original artist and don’t charge for the set, it was fair use. WRONG!! Per Wikipiedia, Frank Creighton, a director of anti-copyright infringement efforts for the Recording Industry Association of America, was quoted in New York Times as saying that “money did not have to be involved for copying to be illegal.” There’s a lot of nuance here and I’m not a lawyer, but for practical purposes, you pretty much have to have obtained permission from the original artist to play anything.

One would think that an enthusiast who just wants to share good music with his friends should be free to do so; and while the internet makes this easier from a technological perspective, it apparently makes it more difficult from a legal one. In order to properly publish my mixes, I need to obtain written permission from every single artist in my set, fill out a form at copyright.gov, pay $40, and send in 2 hard copies of my set to the U.S. Copyright Office. After I do that, SoundCloud will let me dispute their bitch slap and my mix will be published…. whenever SoundCloud gets around to publishing it?

Ef that noise! I like to pay what I call “pragmatic attention” to the rules. I’ll just boycott Soundcloud, fly under the radar, and be diligent about responding to DMCA takedown requests. But soundcloud is so effing easy and everyone has it! How do I distribute my music to my friends who want to listen on their devices? Now we get to the how-to portion of this article!

A start at creating your own streaming music service

HTML5 has been out for awhile now, though I can’t say that I’ve ever taken the time to learn anything about it until just now. Apparently though, HTML5 allows for <audio> tags that should be supported by any modern browser. Mobile included! I tested the player embedded in this article on both my iPhone 6, and my android burner phone (It’s not what you think I swear! I just get drunk and lose phones often enough to justify it) and it worked flawlessly on both! Yay now everyone can enjoy my music from their devices.

That isn’t quite cool enough so I went and found this fancy little javascript player that makes the default HTML5 player look nice. Next I wrote a little script that makes the player look nice with a collapsible tracklist and automagically plays the set I want it to play. It pulls its tracklist and set information from an array that I hardcode. I intentionally left this thing expandable so that someday I can add a tracklist upload script and possibly serialize/deserialize the set metadata from a database or something.

My code here:

index.php

<!--?php require_once("sets.php"); $rootPath = "http://imjustinbraun.com/djsets/"; $request = $_GET["Request"]; $setIndex = $_GET["SetIndex"]; $sets = new \JB\Music\Sets(); if ($request === "DisplaySet" && $setIndex !== "") { 	$set = $sets--->GetSet($setIndex);
$seriesName = $set["Series"];
$setName = $set["Name"];
$publishDate = $set["Date"];
$trackList = $set["Tracklist"];
$filePath = $set["File"];

print '
	<link href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet" /><script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script><script type="text/javascript" src="http://code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
<script type="text/javascript" src="'.$rootPath.'audiojs/audio.min.js"></script>	<link href="/resources/demos/style.css" rel="stylesheet" /><script type="text/javascript">// <![CDATA[
			$(function()
			{
				$( "#accordion" ).accordion({
					collapsible: true
				});
			});

// ]]></script>
<script type="text/javascript">// <![CDATA[
			audiojs.events.ready(function()
				{
					var as = audiojs.createAll();
				});

// ]]></script>
<h1>'.$seriesName.' - '.$setName.' ('.$publishDate.')</h1>
<audio width="300" height="32" preload="auto" src="'.$rootPath.$filePath.'">

</audio>
<div id="accordion">
<h3>Tracklist</h3>
<ul>
<ul>';</ul>
</ul>
$i=1;
foreach($trackList as $trackName)
{
print "
<ul>
	<li>$i - $trackName</li>
</ul>
&nbsp;

";
$i++;
}

print '

</div>
';
}

sets.php

<!--?php namespace JB\Music; class Sets { 	private static $sets = array( 		"0" =-->
[
"Series" =&gt; "Bowling",
"Name" =&gt; "I'm a Cool Fucking Guy",
"Date" =&gt; "2/27/2015",
"File" =&gt; "I'm a cool fucking guy.mp3",
"Tracklist" =&gt;
[
"1" =&gt; "Celsius - Incoming",
"2" =&gt; "Martin Ikin - Rhythm",
"3" =&gt; "Oliver - MYB (Tchami Rmx)",
"4" =&gt; "Rob Mirage - Culture 1010 (Hector Couto Remix)",
"5" =&gt; "Ludacris - Stand Up (LeMarquis Remix)",
"6" =&gt; "Sugar Hill &amp; Wasabi - It's on You (Purple Disco Machine Remix)",
"7" =&gt; "Disciples - They Don't Know",
"8" =&gt; "Habischman - Like This",
"9" =&gt; "Me &amp; My Toothbrush - Something (Croatia Squad Remix)",
"10" =&gt;"Vanguard - Mount Helicon",
"11" =&gt;"Laidback Luke - Bae (feat. Gina Turner)",
"12" =&gt; "Anna Lunoe - Heartbreak In Motion (feat. Jesse Boykins III)",
"13" =&gt; "Kokiri - Flux",
"14" =&gt; "Do Santos &amp; Simone Vitullo - My Bassline Friend",
"15" =&gt; "Beam - Controllers",
"16" =&gt; "Fabrico Pecanha - Teaser(Phonique Remix)"
]
]
);

public function GetSets()
{
return self::$sets;
}

public function GetSet($index)
{
return self::$sets[$index];
}
}

Imjustinbraun.com is a wordpress site, so I need the ability to embed the output of http://imjustinbraun.com/djsets/index.php into the post. For that, I use the Insert PHP wordpress plugin, then in the post I add an insert_php shortcode with the url of the set I want. To make the tracklist fancy and collapsible, I used jquery accordion.

So that’s it! I hope you like my music. In future articles I may post a bit more about any backend stuff that I add. Have a great weekend!!

Ladies and Gentlemen, Many blogs have been written…. and this is one of them.

On the ICE floor

This is my first attempt at a “Big Kids” blog. It’s likely to be filled with dumb writings about team management, dealing with work/life balance, some new development tricks I’ve learned, how to automate various trading strategies and my take on various new technologies.

For those of you who know me socially, this will not be a good place to read about my latest antics and mishaps however you can probably still rely on my candid (and rarely politically or otherwise correct) take on various happenings and situations.

In case you were wondering, this is definitely the social marketing 101 blog for CEO’s. I can pretty much guarantee you that after one or two postings this will degrade to farting about how awesome I am. You can read about my professional background on my About page.

To kick off this posting, I thought I’d share a bit about what I’ve been up to in the past year. As I’m sure many of you are aware, I am now the proud owner of my very own software startup and I’m spending about half of my time residing in Phoenix, Arizona refining and production testing my Gatekeeper front end for Gressel Produce & Commodities. We’ve already become members of TT’s Partner Program and we’re a few finishing touches away (read: about 2 months) from making our product available to the options-trading masses.

I wish I could say that the adjustment from the nine-to-five corporate world to the unceasing locomotion that typifies self-funded startups was a natural one that I’d planned for thoroughly however that’s simply not true. The core concept for Scaled Dynamics was born within hours of deciding that I didn’t want to work for another employer. Back then I had no job, $7.79 in my checking account, owed money all over town, and had just made some major living cost increases. Not to be deterred by such practicalities, I set out to change the world and I thought it would be easy.

In a given day it’s a good bet that I’m doing more than half of the following: hiring, firing, planning, consulting, managing, selling, marketing, networking, programming. And learning. Time isn’t measured in hours and days tend to blend together. It’s been a wild ride thus far and I’m slightly less than one year in. Updates to come.