You’re on mute

We’ve all been there: chatting away for ages on a zoom call before realising that nobody can hear you. This song is for everyone that’s done that.

The inspiration for this track came from Groove Armada’s fabulous instrumental, “Edge Hill”. I like the grungy bass that slowly builds into an orchestral backing, but I also wanted to keep some parts very sparse, reflecting the title.

The drum patterns came first, using Logic’s Beat Machine drummer and a lot of tweaking for variation. Next up was the bass, which I wanted to be really laid-back with lots of slides, and I’m pretty happy with how I played it. One of Logic’s amp models added some grit, and a phaser made it super creamy.

I recorded the acoustic guitar in two parts, two tracks each, one using the under-bridge piezo pickup and the other with a mic near the sound hole, each pair panned hard left and right, letting the double tracking make a nice stereo image with lots of movement.

The orchestral backing uses instruments (mainly viola and violin) from Spitfire Audio’s BBC Symphony Orchestra Discover plugin, which sounds lovely, and is astonishingly good considering it’s free! There is an additional sparkly pad layer from Logic’s Alchemy synth, some orchestral percussion also from Alchemy, and a reverse cymbal sample for a bit of drama.

I originally intended it to be instrumental only, and I had considered a guitar solo to add a little something, but I thought that a small vocal part would fit better in the track (despite the title!), and break up the more instrumented parts. For this I reached for Synthesizer V‘s Solaria voice, with “Airy” and “Light” modes dialled way up, a touch of added breathiness, and slacking off the tension. Yes, these are real controls! I’m getting better at using SV, but it’s not the easiest of things to work with; the integration with Logic is very basic.

Ooooh baby,
I can’t hear you.
Your lips are movin’, you’re looking cute.
There’s just one problem:
You’re on mute.

Ooooh baby,
You’re on mute.

If you like this song, please consider supporting me by buying my album, “Developer Music” on Bandcamp, and sharing links to my song posts on here. If you can sing (or play something) and would like to be involved in musical projects like this, please get in touch, as I could really use your help!

Blue Team – The Song

In the world of penetration testing, as I’m often involved in with ROS, those taking on the role of attackers are referred to as the “red team”, and those defending as the “blue team”. Red team people are often regarded as the rock stars of INFOSEC, but one key difference is that red-teamers only have to succeed in their efforts once, whereas blue-teamers have to succeed every time. Unfortunately, when the blue team succeeds, nothing notable happens, so they don’t get much of the glory.

This song is a tribute to the unsung heroes of the blue team; Gotta keep out the bad guys, baby!

Unsurprisingly, the “gotta keep out the bad guys” line was about the first thing I thought of, and everything stemmed from that. There were lots of blue-teamy things I could have written about, but I preferred to keep it short. The string-bend bass riff was the first bit of music, then the funky guitar parts, though I ended up dialling them back a bit in favour of some chuggy rhythm guitar. As in my other tracks, I was keen to use Synthesizer V for vocals, and the backing vocals came out really well. I wrote the lead guitar solo, then thought a higher vocal part alongside it might work, and it was also a chance to have a dig at the red team; it’s my favourite bit of the song.

There are a lot of guitar parts overall (all played by me), and only some small pad and organ keyboards for backing. I was especially happy that I managed to pull off the more aggressive bass parts and the lead solo. As usual, the drums were all done with Logic’s Drummer instrument, which does a great job without getting drunk and falling asleep during rehearsals, and its excellent “follow” mode meant that the drums could match what I’d played on the bass, rather than being some disconnected pattern.

As usual, I’m not too happy with my vocals (PRs welcome!), but Logic’s Flex Pitch editor works enough magic to get the job done. This track could really do with someone that can get a bit more grungy in the verses, with a hint of Elvis for the chorus.

[Intro]
Don’t break a sweat
from a constant threat.
We’ve got the tools to meet them
and firewall rules to defeat them.

[Verse]
We’ll take our time
to build our defences.
No need to be concerned,
we know the consequences.

They’re going to attack
our networking stack,
but we can keep them guessing as
their port scans come to nothing.

[Chorus]
Because, I’m on the blue team, baby,
we’ve got to always win.
Gotta keep out the bad guys,
can’t ever let them in.

Come join the blue team, baby,
we need your awesome skills.
Come watch that bad actor
try to guess my second factor.

[Solo]
Oooh red team stays outside,
don’t want you here.
Just go away
and don’t come back.
You’ve gotta find another way.

[Verse]
Alarm bells ring
from a tripwire’s string.
Logs tell a sad, sad story
of a search for a way in.

SOC screens flash
for a matching hash
We’ve seen this one before
and there’ll be many more

[Chorus]
That’s why I’m on the blue team, baby, (ooh yeah)
we’ve got to always win. (blue team, blue team)
Gotta keep out the bad guys, (ooh yeah, gotta keep out the bad guys baby)
can’t ever let them in.

Come join the blue team, baby,
we need your awesome skills.
Show your strength, let it shine,
help take those APTs offline

We’re on the blue team, (ooh yeah)
got to always win. (blue team, blue team)
Gotta keep out the bad guys, (ooh yeah, gotta keep out the bad guys baby)
can’t ever let them in.

We’re on the blue team, baby,
we’ve got to always win.
We’re the unsung heroes.
(gotta keep out the bad guys, baby)

If you like this song, please consider supporting me by buying my album, “Developer Music” on Bandcamp, and sharing links to my song posts on here. If you can sing (or play something) and would like to be involved in musical projects like this, please get in touch, as I could really use your help!

Mud vs Sheep vs Bike, the song

Mud vs Sheep vs Bike (MvSvB) is an event that my friend Fraser and I started in about 1993. I’ve written about it on here before. Essentially it’s just a bunch of friends going mountain biking in Wales, but it has achieved a kind of independent existence in our collective consciousness. It’s loosely named after the famous “Man vs Horse vs Bike” race that I regretted once entering in about 1991. MvSvB has been held at various youth hostels and other group rental accommodations, but most often at what was my Dad’s farm near Llandovery in Wales.

Certain MvSvB traditions have been established, most importantly:

  • Banoffee pie
  • T-shirts
  • Getting wet and muddy
  • Getting lost
  • Punctures and disintegrating wheels
  • Being chased by fierce sheepdogs
  • Beer

Banoffee pie is a critical component of the coping mechanisms required to spend much time in Welsh weather, and is a great source of the calories required for biking up hills (at least that’s our excuse). Some terms for the unaware: liquid sun = rain, Welsh not raining = light drizzle.

I’ve designed most of the T-shirts to date, starting in 1995, when I learned that half-toning really isn’t a good approach for screen printing on fabrics. The designs usually tried to have 1 or 2-colour prints using strong mountain bike themes with in-jokes, references to mud, sheep, bikes, hills, etc. This year I came up with a bold design, based on a picture of a friend on a bike, carefully redrawn with an Apple Pencil on my iPad (using Linearity Curve), and printed using a groovy high-tech direct-to-fabric printing process by my friends at Vektor.

Since I moved to France in 2009, I’ve missed out on a few events, Fraser moved to New Zealand, we’ve mostly had growing kids to contend with, the whole age thing, and so MvSvB events have dwindled. But 2023 is the comeback year, the kids are big enough to leave at home, and we can reunite to enjoy a collective mid-life crisis.

To commemorate what we are officially calling the 30th anniversary of MvSvB, I wrote this song about it, celebrating all the nasty weather, excessive eating and drinking, impromptu bike maintenance, and generally messing about on bikes with friends.

I came up with the first line first; always a good start. I wanted to have a sparse, slightly gloomy sounding verse so that I could pair it with an excessively happy chorus. Of course It just would work without rain ambience and bike and sheep noises. Next up came the bass line; I’ve never really played slap bass before (on my Sire Marcus Miller M2 bass), but I am pretty happy with the result – I’m sure it sounds better than when I played it due to the wonders of Logic Pro’s flex pitch editor! Next was the guitar, which is very simple. Drums are courtesy of Logic’s excellent Drummer instrument, which I got to follow my bass part in places. I had quite a lot of lyrics for the chorus, and despite the 130bpm tempo, it manages to sound fairly leisurely. The timing of those lyrics gave me a pattern which led to a melody, which led to some very basic chords, and voila, one functioning chorus!

I’ve been very keen to try out Synthesizer V, which I had bought at fair expense earlier this year, only to find that it’s borderline unusable in DAWs like Logic. However with a little perseverance I found it was workable so long as I didn’t even consider touching the tempo. This gave me the first set of vocals – two backing lines that I made in a similar style to how I worked in Tailwind, except with these synthetic voices. I had planned to sing the main parts myself, but found it just really didn’t work, so I enlisted the help of Lucas H on Fiverr who did a great job with a quick turnaround. With all these working together, I’ve ended up with 5 vocal parts in some places, and it makes for a great ensemble sound that I wasn’t quite expecting, but I’m very happy with.

I don’t care if it’s raining,
get back on your bike
I know you’re hung over
from drinking last night
But that’s not my problem
there’s mountains to ride
and there’s no way I’m
letting you stay inside

Sheep getting restless
and puddles so deep
there’s mud to my elbows
and I’ve had no sleep
but I don’t care
‘cos we’re here to have fun
to every last drop
of this liquid Welsh sun

There’s mud and there’s sheep and there’s rides with our friends
There’s banoffee and T-shirts and hills without end
There’s maps and confusion and roads to nowhere
There’s mud and there’s bikes and that’s why we are here

No punctured excuses
or unspoken wheels
we’re chained to the bars
as we grind up the hills.
We’re spinning for summits
and covered in grime
leaving tread on the tracks
of a great mountain climb

There’s mud and there’s sheep and there’s rides with our friends
There’s banoffee and T-shirts and hills without end
There’s maps and confusion and roads to nowhere
There’s mud and there’s bikes and that’s why we are here

Pedal, pedal... up the hills
Pedal, pedal... up the hills

There’s mud and there’s sheep and there’s rides with our friends
We always come back here, again and again
There’s mountains and rivers and crates of cold beer
There’s mud and there’s bikes and that’s why we are here

Tailwind, the CSS framework, the song…

Tailwind is a CSS framework created by Adam Wathan, and beloved by many. I’ve found it’s really helped me understand CSS grid in particular, and has made building responsive layouts really easy. It sometimes comes in for criticism because it is based on utility classes, meaning you mostly skip the ability to attach styles to elements via CSS selectors (a fundamental feature of CSS). However, when it’s used with a content framework that provides components (like Laravel’s Blade), they can effectively take on that role and prevent repetition. One of the consequences of using Tailwind is that you often end up with lots of classes in HTML class attributes.

Anyway, Tailwind is cool and I like it, so I decided to write a song about it, in the same vein as my previous effort for The Good Ship Laravel.

The arrangement in Logic Pro

It’s all about a hapless, design-challenged developer (could that possibly be me??) having trouble with their styling and layout, and thinking they should give this Tailwind thing a go as a way to help them solve it. They give Tailwind a try, it takes them a while to get to grips with it, but they finally figure it out and all is rosy.

The “I ain’t got no style; I got Tailwind” line was the first line that came to me, followed by “I got classes…”, giving me most of the chorus, but the verses took a while longer. I wrote the music for the chorus first, then worked backwards to make a verse that led into it nicely. There’s a break in the middle that seemed really obvious (“When my mode is getting dark…”), straight out of many other songs – there’s nothing revolutionary going on here!

I played the guitar parts for the chorus (which is a simple C, Am, G), and eventually found a sequence for the verse that worked well (C, F, Dm, G, then Csus2, G at the end). I wrote a very melodic bassline on keyboard. Logic Pro’s Drummer took care of the brush-style drums – I didn’t spend too much time on them. Unfortunately I then found I simply couldn’t play the chord changes in the verse smoothly enough, so I enlisted the help of musicalduo on Fiverr, who did a great job of it. He also played a really smooth version of the bass part, which I hadn’t asked him to do. So my guitar playing only appears in the chorus, and I need to practice more!

I don’t rate my singing (I would love to work with someone that can sing!), but Logic’s Flex Pitch editing works wonders. I also really like using it for vocal harmonies – figuring them out using Flex Pitch, then re-singing them, just as I did for The Good Ship Laravel. I had a cold for a couple of weeks and early versions sounded like I was holding my nose, so I re-recorded them when I was feeling less bunged up! I’ve discovered that you can get away with really bad backing vocals, so long as they are in tune!

I have some other, older songs I’ve not released, one about npm, one about being an open source maintainer, and a half-finished Whitney Houston-style belter about composer… PRs welcome!

If you like this song, please consider supporting me by buying my album, “Developer Music” on Bandcamp, and sharing links to my song posts on here.

Lyrics

[Verse]
I’m trying to build an app that looks good
It’s all taking much more time than it should
Classes and styles going ‘round in my head
turns out it’s not as easy as I originally said.

I’m finding my breakpoints, feeling defeated
and all this old stuff will have to be deleted
One thing is clear from all this confusion
I’ve had to come to an unfortunate conclusion

[Chorus]
No, I ain’t got no style;
I need tailwind
I got problems, maybe more than a few
I need tailwind
Oooooh, I ain’t got style;
I need tailwind
Not sure what I’m gonna do
I need tailwind

[Verse]
You might think I’m crazy, but I’m gonna read some docs
I’ve gotta figure out how to arrange all these blocks
It looks great on my Mac, but explodes on my phone
and judging by Stack Overflow, I’m not alone

I ask, “hey Adam, you got any ideas?”
He says, “yeah, get Tailwind to mop up those tears”
So I’m going with the flow, flexing my grid
trying to figure out what those tutorials did, but still,

[Chorus]
I ain’t got no style;
I’ll try tailwind
I got problems, maybe more than a few
I’ll try tailwind
Oooooh, I ain’t got style;
I’ll try tailwind
Not sure what I’m gonna do
I’ll try tailwind

[Middle]
When my mode is getting dark
and my layouts fall to bits
I keep trying all kinds of things
until suddenly everything clicks

[Verse]
My grid’s all cool unlike my previous wreck
I don’t have to keep my units in check
I love my pretty colours, my text is so clean
I hate to think of what it might have been, but now 

I’m slicing up my blade into little tiny pieces
It’s the moment for components, it’s all utility
I’m loving how it works everywhere, especially on my phone
Tailwind’s really in several classes of its own

[Chorus]
No, I ain’t got no style;
I got tailwind
I got classes, maybe more than a few
I got tailwind
Oooooh, I ain’t got style;
I got tailwind
Maybe you’d like to try it too
We got tailwind

[Outro]
Oooooh, I ain’t got style;
I got tailwind
Oooooh, I ain’t got style;
I got tailwind