EDM: What the Trance?

 

Paul-Van-Dyk-The-Politics-Of-D-398182

Before Rock ‘n’ Roll there was Blues. Before Jazz there was Folk and Classical. Before EDM (Electronic Dance Music) there was House, Trance, Techno and Electronica.

Not all EDM is Trance. Not all Trance is Epic. Not all Epic Trance is Psy (Psychedelic). Vocal Trance is not always Progressive. Not all Progressive is House. Not all House is Deep. Nor Funky. Nor Soulful.

Before Dubstep, there was Drum ‘n’ Bass. Before DnB, there were Breaks. Breakbeat, Acid, Nu, Trip Hop and Progressive Breaks, no less.

Not every DJ is a Producer. Not every Producer is a Visionary.

There were generations and generations of pioneers before everything ending with .MP3 got mashed up into a single memory stick labelled “EDM”. Even though parties are getting longer, DJ sets are getting shorter. DJs used to regularly play 6-8 hours non-stop, not 2 hours like they do now. There is a melodic break and a predictable build-up on an average every 2 minutes. Before Podcasts became popular, changes in tempo within a track were rare.

But music is always evolving, and electronic music, naturally, evolves faster than any other form. Without experimentation, there can be no progress. Dance music is meant to be enjoyed. So enjoy it, and let others around you enjoy it, too.

But once in a while, remember that we are all crossfading on the shoulders of giants. There was a time when EDM was not one-dimensional and excessively loud. When it was possible to measure a track not just in length, but also in depth. Revisit it, you might just enjoy what you find.

And I’m not even asking you to go as far back as Eurodance or Synthpop.

PS: Follow @ydj_agile if you still own a tape that works 😉

 

 

 

 

 

Takeaways from Craft Conference 2014, Budapest – Day 2

I had the privilege of attending the speaker sessions of Craft Conference last week, the central theme of which was software craftsmanship. There were many inspiring talks and so was the venue. Think of it as TED for software developers. The icing on the cake was free beer, complimentary Palinka, unlimited coffee and a blues band. 20% of the speakers were women (but only 4% of the attendees) and ~350 of the 900+ attendees were from abroad. The event was virtually flawless. The usual systems that breakdown at scale: WiFi, food and toilets, all just worked. Plus there were small thoughtful touches such as English translations of useful Hungarian phrases on the attendee badge. Everything about the conference was impressive, including the raffle prizes which included a R/C drone!

kPhone_IMG_0936

Other interesting features were the use of Sli.do to manage audience questions in real-time, and a live-projected twitter feed. I had the opportunity to interact with practicing or aspiring software crafts[wo]men from Ukraine, Japan (ok, technically SF), Netherlands, Sweden, North America, UK and… India!

I’ve tried to distil out the summary of talks that interested me. They are ordered by my preference, not the order in which talks were actually conducted. These are my interpretations and my views, so please bear in mind that they could be wrong or biased. There were 3 tracks (parallel talks) over 2 days, so essentially I attended only about 1/3rd of the total. Day 2 was the first day of the speaker talks… I didn’t attend day 1, which was workshops.

I strongly recommend checking out the agenda and viewing the talks that interest you online, you might find some that I didn’t attend but are of direct interest to you. To me the top 3 recurring themes of the conference seemed to be:

  1. State management in complex and distributed systems
  2. Better automated testing & TDD
  3. The abuse of agile (in development and in project management)

How I Learned to Stop Worrying and Love Flexible Scope

by Gojko Adzic (Slides | Video)

Probably one of the most-loved and honest talks at Craft. The storytelling was simply mind-blowing (an example of agile from 1628 AD, Ducati’s experience with the Second System Syndrome, threats to competitive advantage from Google & the Russians) and so was the message. I would highly recommend watching the video, Gojko is an outstanding speaker. The highlights were:

  • The most common software development methodology these days is WaterScrumFall, in which all the essential planning is done upfront by management and the development is done in a [predictable] number of sprints
  • This is because the concept of agile is not attractive to management, unless they truly believe in keeping scope flexible. Therefore agile generally remains underutilized.
  • Agile is not just about continuous delivery, but also continuously reacting to local, temporal and human factors
  • Project plans and roadmaps should not be linear, but literally a “map of roads”: multiple options with selection criteria (like a GPS). A roadmap with a pre-decided outcome is not a roadmap, but a road in a tunnel.
  • Try new things, at a survivable scale and select the ones that work (Throwing away bad code is a way to reduce your technical debt)
  • Don’t just ship software, make an impact
  • On the topic of outsourcing: Usually the objective is to minimize costs, so the focus is not on excellence or flexible scope
  • On User Stories:
    • Are a way to delegate details
    • Avoid translating the product roadmap into a set of JIRA stories, instead consider hierarchical backlogs
    • Add a victory condition to your user stories, which is related to changing user behavior rather than complying with the existing behavior (e.g. Monitor inventory *faster*)
    • A good user story is a survivable experiment

Recommended reading:

Agility and the essence of software architecture

by Simon Brown (Slides | Video)

This was also one of my favorite talks. I like to think of it as Minimum Viable Architecture for developers. Simon is an inspiring speaker, more so because he eats his own dog food. The premise was simple:

  • Agile delivery does not imply agile architecture
  • Agile development still requires upfront thinking to define the overall architecture
  • The team must have a shared, consistent vision of the significant structural elements of the product
    • With this pragmatic tradeoffs can be achieved: e.g. a monolithic deployment container, containing microservices
  • UML was supposed to solve this problem, but it is poorly understood, not widely adopted and has its own overheads

The solution: NoUML! Abstraction is more important than notations. A team can define their own legend for these abstractions. Design diagrams are supposed to reduce complexity (through abstraction), not increase it. The 3 things that the team needs to have a common understanding of are:

  • Structure
  • Risks
  • Vision

In real life, we rarely have 1:1 mapping between design diagrams and code. In general, a hierarchical C4 architecture diagram can solve this problem:

  • Context
  • Container
  • Components
  • And optionally, Classes

And yes, while good architecture is a shared responsibility, it is important that only one person (or a small group of people) are responsible for maintaining the overall architecture definition.

Bring Software Architecture Back!

Recommended reading:

Getting Things Done at Scale

by Amber Case (Slides | Video)

This was a talk I could relate to a lot, because of GTD and the differences in corporate cultures of large, old organizations vs smaller, newer ones. Amber is a TED speaker, and it clearly shows. She shared her experiences during (and after) the acquisition of Geoloqi by ESRI.

Only 1 of 50 people she spoke to for advice had a happy acquisition experience, and the main reasons were:

Crippling management/overhead to get simple things done Culture clash
Founder flight Jealousy/blocking from parent company employees
Lack of detailed transition plan Sprinters vs Marathon Runners
Loss of passion for original product Loss of respect and cross-compromise

The solutions discussed were:

  • Pre-negotiate, don’t be vague. Predetermine your outcome.
  • Learn the local language (technical terms, tools, company culture)
  • Win friends to influence people. Develop trust.
  • “Beta test” people via small projects. Best code wins.
  • Scale teams down from unmanageable numbers to 5-6 “doers”
  • Communicate. Respect. Give first.
  • Small revolutions
  • Distribute stress

An interesting concept was the creative use of IRC bots, e.g. to send out a daily email summary of accomplishments (!done). Towards the end, she also shared an effective way of “organic hiring”: turning contractors into full-time employees.

It’s never too late to fight your legacy!

by Mate Nadansi (Slides | Video)

Mate delivered a very strong and reassuring message: Legacy code isn’t bad, just old or over-iterated… and, with some sensible planning, foresight, and many iterations of hard work, it can be replaced by more modern code. He explained how they achieved exactly that at ustream.tv. The presentation requires some familiarity with web programming but it would still benefit anyone working with legacy code… because maintaining legacy code builds character. 😎

Programming, Only Better

by Bodil Stokke (Slides | Video)

The core message was about how the introduction of multiple [mutable] states makes programs unmanageably complex. Topics included:

  • Referential Transparency
  • Representation of state using numbers instead of objects to it remains immutable
  • “Encapsulated state” is still state
  • Effect on concurrency
  • Additional complexity added by control structures in contemporary program

The presentation itself was a work of art and for me the highlight was that Bodil was editing & running code from within the slides!

Recommended reading:

  • Out of the Tar Pit, a 2006 paper about Functional Relational Programming by Ben Moseley and Peter Marks

Going Reactive: Event-Driven, Scalable, Resilient & Responsive Systems

by Jonas Boner (Slides | Video)

Jonas gave an inspiring and pragmatic talk about how the nature of, and expectations from, applications have changed dramatically over the years. The highlight was that not only did he distill them into the 4 attributes mentioned in the topic of the talk, but also shared valuable insights into how to practically achieve them from a technical standpoint. Some of the approaches discussed were:

  • Loose coupling
  • Never blocking
  • Asynchronous operations
  • Actors and Agents
  • Futures in Scala
  • Minimizing contention
  • Maximizing locality of reference
  • Single Writer Principle
  • The relation between scaling up and scaling out
  • Decoupling error handling from business logic
  • Bulkheading to prevent cascading failures
  • Maintaining consistent latency across blue skies conditions, high traffic and failure

Recommended reading:

What Makes a Good Development Process?

by Bruce Eckel (Slides | Video)

Bruce Eckel is an industry veteran an author who needs no introduction (I read his textbooks in high school). I highly recommend going over his slides, they are very comprehensive, thoughtfully put together and highly informative. He has already distilled years of experience into a few pages, and I don’t think I can add any more value except quoting the one thing that stood out for me: The cognitive load of carrying tensions prevents us from doing creative tasks well.

Acknowledging CAP at the Root – in the Domain Model

by Eric Evans (Slides | Video)

This talk dealt with a very specific type of problem (CAP = Consistency, Availability & Partition tolerance), and solving it using a domain-driven programming model. One of the interesting concepts was that of defining aggregates within a distributed system. Instead of trying to keep the entire system in a consistent state, the contents of each aggregate are guaranteed to be consistent (even if equally stale). There is only a single point of reference into an aggregate. Aggregates are contained within a bounded context and transactional consistency must not cross these boundaries. Domain events interpreted within this context cause state changes. Eventually overall system consistency can be achieved through synchronization according to a reasonable SLA.

Don’t forget to check out Day 3!

Log on, Tune in, Zone out

I stumbled upon XMiD Request A Song while trying to figure out what was playing on my WorldSpace satellite radio Channel 202. Evidently, it isn’t the same all over the world.

While we’re on the topic, Victor Dinaire hosts an amazing show called Lost Episode on EDM radio channels net-wide. Highly recommended.

When not around an XM / WorldSpace receiver, you can tune in to Digitally Imported Internet Radio (DI.fm). Works especially well on office PCs with broadband, Microsoft IDEs, WinAmp and a certain plugin ;-)

Superstar DJ Armin van Buuren hosts a mind-altering radio show aptly titled A State of Trance. Each episode is an experience that’ll haunt your reality! The ASOT 2007 yearmix details can be found here, and weekly ASOT tracklistings can also be found here. Archived episodes are available courtesy of the Internet Archive.

Founders of the Anjunabeats label, trance trio Above and Beyond host a weekly radio show called Trance Around the World, or simply TATW. Don’t miss it for the world!

Spirit Soul Mix Archive, “spirited, soulful, and forward-thinking house and techno music” apart, the website is also a prime example of a mash-up that makes use of bunch of free online providers of different services to deliver content, while keeping the whole approach open, seamless and professional. Take a look.

Selected DJ mixes are available for streaming and download at Livesets.us.

This Binary Universe

“It could well be studied as the first major electronic work of the new millennium… it’s that good…”

-Keyboard Magazine

Electronic music artist BT’s fifth studio album This Binary Universe was probably the first of its kind. It was composed and produced specifically for 5.1 channel audio, and was accompanied by a DVD featuring videos by a collection of computer artists and animators.

Read about the one-of-its kind theatrical release of TBU here.

BT is a very prolific artist, one of my all-time favourites. He maintains a fantastic journal and art collection over at DeviantArt. More info can be found at BT-network.org (“The unofficially official source of Brian Transeau since 1996”) and BT’s official site, btmusic.com.

Dance Protocol

Just found this on a Ministry of Sound tape while cleaning out my cabinet:

“Good club music is like good sex. A suggestive kick drum. A tension-building
snare roll. An instantly  recognizable sample looping against a cacophony of
acid bass and bellpy synth, building, mounting, until there’s nothing left for
it to do but burst into a wash of pure Bacchanalian pleasure for the ear and
body. Not all dance music is like that – drop reliant, up-tempo, energetic – but
club music, the world’s new coming-of-age soundtrack, is. Where it was once an
underground indulgence, reserved for those who sought it out, the whole
experience of the nightclub – of coming home from work or school, watching TV,
napping, then showering and getting dressed for the night ahead – is now a
standard rite of passage. Hands-on and participatory, clubbing serves the
entertainment needs of the individual, and also manages to create meaningful
moments between thousands of people at once. Whether it’s singing along to a
diva-driven house anthem, or prepping for the big drop in a trance epic, flashes
of nightclub glory, however fleeting, stay burned in every dancer’s memory.
Dancing is a primal mode of expression and communication, as old as time –
clubbing is our modern update, adding fashion, style and attitude to the mix.
All this makes clubbing everyone’s dirty little secret – it’s a subculture in
which we all participate, on some level, with its own vocabulary and set of
norms. And despite very focused mainstream attention, it maintains its
underground spirit. There’s still something naughty and inviting about an
evening out with a thousand or so of your peers, dressed to the nines, and
dancing to music that, by its nature, teases your primal tendencies and demands
your involvement and activity. Repetitive beats will never complete the circle
and dominate popular music or culture – they’ll always remain just beneath the
surface, providing providing a haven not for the rebels, but for the rebel in
all of us.”

Posted in EDM. Tags: , , , . Leave a Comment »

Living Darfur

Ever had the feeling that life is being unfair to you? Ever had the feeling that you don’t deserve what you’re going through? All of us do, at one time or the other, in one way or the other.

Take a moment to see this humbling video. Lyrics follow:

“See the nation through the people’s eyes,
See tears that flow like rivers from the skies.
Where it seems there are only borderlines
Where others turn and sigh,
You shall rise (x2)

There’s disaster in your past
Boundaries in your path
What do you desire when lift you higher?
You don’t have to be extraordinary, just forgiving
Those who never heard your cries,
You shall rise (x2)
And look toward the skies.
Where others fail, you prevail in time.
You shall rise.

(You may never know,
If you lay low, lay low) (x4)
You shall rise (x3)

Sooner or later we must try… Living
(You may never know,
If you lay low, lay low) (x4)

See the nation through the people’s eyes,
See tears that flow like rivers from the skies.
Where it seems there are only borderlines
Where others turn and sigh,
You shall rise (x4)

(You may never know,
If you lay low, lay low) [4x]

Sooner or later we must try… Living”


The song is about the Darfur conflict; for those of you who (like me) have been too tied up with your own problems, read about it here. I’m grateful to God that unlike these people, atleast I possess something that I can cry over.

Lyrics

Much like quotes, I find I can draw a lot of parallels and paradoxes from song lyrics. Here are some of my all-time favourites.