- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1474 lines
74 KiB
Plaintext
1474 lines
74 KiB
Plaintext
Episode: 3712
|
|
Title: HPR3712: The last ever CCHits.net Show
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3712/hpr3712.mp3
|
|
Transcribed: 2025-10-25 04:35:10
|
|
|
|
---
|
|
|
|
This is Hacker Public Radio Episode 3,712 for Tuesday the 25th of October 2022.
|
|
Today's show is entitled, The Last Ever CC Hits.net Show.
|
|
It is the first show by Newhost CC Hits.net and is about 96 minutes long.
|
|
It carries a clean flag.
|
|
The summary is, the team talk about the nearly 12 years of producing CC Hits.net.
|
|
Today's show is licensed under a CC by License.
|
|
Hello and welcome to The Last Ever Show, from CC Hits.net on two days show.
|
|
Dearhost, John sprigs will talk about the site, how it was started and most importantly me.
|
|
So without further delay, let get on with the show.
|
|
So yes folks, that's it.
|
|
We are coming towards the very end of CC Hits as it was.
|
|
And yeah, so I thought I would invite along some people that have kind of helped out with CC Hits, promoted it,
|
|
done a boatload of effort that people weren't seeing in the background.
|
|
And yeah, so for those of you that don't know me, I am John sprigs.
|
|
I created CC Hits in 19.
|
|
No, not 19.
|
|
God, I would have been a really good podcast in 2010.
|
|
I think it was, yeah, November 2010 was when it was actually released into the great, great wide world.
|
|
And that was largely as a result of a conversation on the way to a pod crawl in Sheffield with Mr. Dave Lee.
|
|
So Mr. Dave Lee, would you like to say anything at this point?
|
|
Aside from hello, I guess.
|
|
Okay, yeah, hi.
|
|
Yeah, I think CC Hits for me was, it was a really great idea.
|
|
I'd been podcasting for, I think it was about two years up to that point.
|
|
And the big thing for me was the inability to locate some decent, well curated creative comments music.
|
|
We had the pod safe music network, which is gone.
|
|
We had, in fact, there might have been it at the time.
|
|
No, we had, we had Jimendo, we had the free music archive.
|
|
And out of all of them, I would say probably at the time, certainly not now, Jimendo was the best of the bunch.
|
|
Now, when trying to locate decent music, it's really difficult when you're waiting through such a large amount of random instrumentals and very, very short form stings.
|
|
To try and find music that you think your listeners want to listen to.
|
|
And from a selfish perspective that I want to listen to, because I tend to play, I tend to choose tracks that I like, not necessarily what I think the listeners are going to like.
|
|
So having something like CC hits, which was a curated collection of music, which as a byproduct of it also had a number of shows that it generated itself.
|
|
Like the daily exposure show, the weekly show, I never did the monthly show.
|
|
I'll be honest or to be fair at the moment, no one does.
|
|
But I subscribe to the daily show since CC hits was was a thing.
|
|
And I'm probably 40 episodes behind, which isn't so bad because I'll have a really good chance to catch up soon.
|
|
But yeah, like I say, for me, it was a great concept, something that I think that was absolutely needed in that space at that time.
|
|
So when John shared the idea, I was like, this is really good. How can I help?
|
|
And you know, I may have been at some point in my history, a programmer.
|
|
I may have programmed some pretty decent stuff nowadays, not so much.
|
|
So nobody I could have done from a coding perspective.
|
|
But as I'm going and finding songs for my music podcast, it kind of made sense to start feeding those into CC hits so that other people could enjoy them as well.
|
|
So whilst I wasn't getting from it, what I actually expected was to have a ready made source of music available to me.
|
|
At least it was something that I could contribute to.
|
|
And that's kind of what I've been doing for the last 10, 10 and a half years.
|
|
Because I didn't start contributing immediately, not until I had a workflow that made it so I didn't have to spend too much time doing it.
|
|
But with changes and improvements in the platform, it did make it a lot easier.
|
|
And that's kind of taking us up to where we are now. Bar a few foibles. We can go on to those in a bit.
|
|
So I guess it's probably a good idea to explain at this point. What the idea was that I pitched to the Dave.
|
|
I do have two other people in here in the recording with us as well. I've also got Yannick, formerly of Utopia Radio.
|
|
Which was a French station.
|
|
It was in French, yes.
|
|
It was my music podcast in French.
|
|
And then we also have Ken Fallon.
|
|
Ken Fallon is an all-round good guy that I know through Hacker Public Radio.
|
|
Okay, generally, to my experience, he's an all-round good guy.
|
|
Other people may have different opinions of him.
|
|
But Ken knew me through Ogcamp.
|
|
And he came across CC hits.
|
|
I think from probably me trying to talk about at CC Ogcamp.
|
|
And then said that he wanted to start using that in for some of the live streams that you were doing at the time.
|
|
And so I said, well, you know, music's all created comments. That's kind of the point it's there for.
|
|
So I just wanted to introduce people in case you heard some of the voices in the back.
|
|
It was all going through this lot because there will be points in this when people will say to me,
|
|
John, this makes no sense.
|
|
Or I don't remember that being in that way, shape or form in the slightest.
|
|
So I thought I'd give you an opportunity to know who, at least with the other voices were.
|
|
Yeah, well, you can't stop me from speaking anyways.
|
|
Fair enough.
|
|
So yeah.
|
|
So so CC hits was kind of two or three ideas at once.
|
|
I had been heavily involved in the stop port hack space, the creation of us ever.
|
|
And you make a space for the stop port.
|
|
And I'd been to a few of these sessions and people were playing commercial radio.
|
|
Or, you know, we were in a pub or something like that.
|
|
And in the back of my head, I kept thinking, I've been listening to this great music on a whole host of other podcasts.
|
|
And we were in a position where I wanted to be able to play some of that music at the hack space.
|
|
And I've come across a news article about somebody, some poem I'm working at Tesco's.
|
|
And I think it was in somewhere like Scotland or something like that.
|
|
And she had been humming along really early shift in the morning.
|
|
She'd been humming along to some music that was in her head.
|
|
And there's two licensing authorities in the UK for commercial music, the PRS and PPL.
|
|
That's certainly what their names were when I was getting involved in this.
|
|
I don't know whether they still are getting a nod from Dave.
|
|
And basically one of them is the rights holders for the fact that the music's been played.
|
|
And the other is the rights holder for the people that have composed the music.
|
|
And the people that composed the music took this woman to court basically for breach of the licensing conditions
|
|
because they didn't have a PPL license.
|
|
Now the fact it's a Tesco, there's anecdotes.
|
|
This feels like an anecdote that's kind of been misreported or something like that.
|
|
But anyway, she got taken to court and I just was petrified that this little group of hackers, makers,
|
|
whatever it was was going to get stung by a massive bill for playing music.
|
|
And I thought, well, I need to find something that's not going to do, not going to put them in that position.
|
|
It was always involved in open source.
|
|
And I thought, what I really need is creative commons music.
|
|
Dave had been playing some creative commons music, but I think it wasn't like the bulk of your music by that point.
|
|
It was just a thing that was played.
|
|
And so Dave and members of the Association of Music Podcasting, of which Yannick, I think you remember, weren't you?
|
|
Yeah.
|
|
So they'd been this pod crawl in Sheffield.
|
|
And Sheffield was not very far away from me, so I went across and Dave met me at the station,
|
|
or just across the road from the station.
|
|
And I was like, Dave, Dave, I really want to join the Association of Music Podcasting.
|
|
Because by this point, I'd also been listening to, as I said, been listening to a whole boatload of music podcasts.
|
|
I said, but, and don't tell anyone this, my wife's pregnant.
|
|
And I'm not going to have the time to produce a music podcast at the schedule that, I don't recall if there was a requirement to produce a particular number of shows a week or a month or whatever,
|
|
but I just certainly had this panic that I wouldn't be able to have the time to do it.
|
|
I said, so I've got a great idea.
|
|
I'm going to create a script that builds a music podcast.
|
|
And Dave's like, okay, okay.
|
|
And I'm like, and I know you're the membership secretary.
|
|
Can you like, can you ever work with the other people?
|
|
I've subsequently found out that it wasn't quite so much of a rigorous, you know, organization as that at the time.
|
|
It was more kind of like, well, you know, whatever.
|
|
And people objected to the fact that it wasn't my voice on the podcast.
|
|
So Cece hits never made it into the Association of Music Podcasting.
|
|
It's not a problem.
|
|
Okay, so it sounds like you have a problem.
|
|
So on dealt with issues there.
|
|
No, no, no, so right now.
|
|
I'm not bitter.
|
|
I am.
|
|
So I thought I thought I thought I'd be a show in because I was bringing like a regularly scheduled massive dose of music
|
|
into everyone's kind of options.
|
|
And they went, but you're not, you're not speaking on it.
|
|
So you can't read, you're not really a podcaster.
|
|
And I'm like, oh, yeah, okay, I kind of, I see where you're going with that.
|
|
So I was a little bit, I was a little bit an arc at the time.
|
|
But yeah, I'm fine.
|
|
I mean, like I said, this is all kind of anecdote.
|
|
And you know, a lot of it is just kind of what's in my memory rather than anything else.
|
|
So anyway, so we get to PodCroll and Dave's there.
|
|
I think it was Rowley, Pete Hogan.
|
|
They were, they were a handful of people there.
|
|
And I was like, I had this really good idea.
|
|
What it's going to be is a podcast that takes all the CC hits music that you play on all your podcasts
|
|
because you're already going out and finding this great music.
|
|
And so it would just go into this system at which point two or three of the podcasters when
|
|
creative comments music, meh, who listens to that rubbish.
|
|
And somebody else went, surely that sounds like a lot of work for me.
|
|
I'm out.
|
|
And yeah, so I just, it was just a bit.
|
|
It wasn't quite the sort of massive fanfare that I'd hoped it was going to be, but persevered.
|
|
And so I wrote a load of codes and the first show went live on something like that.
|
|
It was in November.
|
|
I can't remember.
|
|
I can't remember.
|
|
And you know what, the really annoying thing is, so it's a little peek behind the curtain here
|
|
into the way that CC hits works.
|
|
Effectively, it's just a whole load of my SQL tables.
|
|
And the first few shows got injected into the system and they were absolute rubbish.
|
|
And so I deleted them, I deleted them from the system.
|
|
And so the first, you can't even go and find show number one because show number one doesn't exist
|
|
because it was deleted and I never, I never reset the Mac, the starting value of the table.
|
|
So it starts at something like 12 or something, some random number like that.
|
|
I mean, Dave and Yannick both have had a bit of a poke inside the database as well.
|
|
So, you know, one of us could go and find it.
|
|
But frankly, it's, I mean, for the show notes that there will be, I will find that show.
|
|
So anyway, so the first few shows go out and I got, I got a note, I think from Dave saying,
|
|
you know, I don't mean to be funny, but the voice is getting some of these pronunciations
|
|
and some of these words absolutely dreadful because literally, so again, behind the curtain,
|
|
we're using an open source text to speech library called Festival.
|
|
And I'd just literally typed in, hello, welcome to Ceci here.
|
|
And it came out as, hello, welcome to Ceci here.
|
|
And I was just like, no, this just, it sounded like, you know, you know, some people play that game
|
|
where you take a sentence and you put it into Google translate and then you translate it back to the language it came from.
|
|
And you just, it felt like somebody had done that to the, I mean, it just, it was just dreadful.
|
|
I mean, I'm kind of half inclined to go back and find that first episode and just kind of listen to what the audio says.
|
|
I can't remember if having had Dave kind of go, the audio is a bit, bit naff on this one.
|
|
I actually went back and rebuilt all of these shows to put the text right.
|
|
So it might not, it might be fine now.
|
|
There is a show number one on the website.
|
|
Is there from the 24 of October, 20, 2010?
|
|
That might be, that might actually be it then.
|
|
That's a graphic connection by Malcolm G.
|
|
Do you live text to speech?
|
|
And we can't even have a human news.
|
|
So yeah, so text to speech is good.
|
|
So one of the people did contact me and say, I love the idea of the show.
|
|
It's a really great idea for the show, but I can't cope with the text to speech voice.
|
|
And so I very nearly, right at the beginning, when we still had maybe, you know, 50, you know, maybe 100 tracks in the system,
|
|
I very nearly started going through and recording the name of the track and the name of the artist.
|
|
So that it would effectively, I would be replacing what we later called Doris, the voice of Doris.
|
|
Which came about when I think Dave, you interviewed me for your podcast.
|
|
And you said, you know, has the voice got a name?
|
|
And I said, well, secretly in my head, I've always called it Doris.
|
|
From the Doris and Boris in true lies.
|
|
Pairing in true lies, because it was such a robotic voice that was going through a voice process.
|
|
And I just thought, that is that Doris right there.
|
|
But yeah, so I was going to replace all of the voice samples.
|
|
And then I just looked at it and thought, that whole kind of distinct lack of time that I'd cited as the reason for having it automatically generate all this lot.
|
|
Was just going to be suddenly eaten by me having to record all of these names.
|
|
So instead, what we ended up with was an extra field in the table in the database called pronunciation.
|
|
That in theory, people were supposed to populate.
|
|
Now, I don't know whether Dave, you ever managed that.
|
|
I think, I think between us, we probably did like maybe 25, 30 in total in like the entire run of several thousand.
|
|
The rule that I applied was if I couldn't pronounce it, I figured Doris wouldn't be able to either.
|
|
So those are the ones that I filled out the sounds like field in the interface.
|
|
But no, for the most part, it was just let Doris pronounce it the way that she wants to.
|
|
Yeah.
|
|
When I submitted French tracks, I didn't even bother with the pronunciation.
|
|
With that or without that, Doris wouldn't be able to pronounce them.
|
|
So those poxie rolled French, that's the problem.
|
|
So yeah, so we get a few months in.
|
|
Dave, you start submitting tracks.
|
|
I've been merely trawling my way around.
|
|
It's Jimendo, CC Mixter, SoundCloud, and Handful of Others.
|
|
And I was manually uploading all of these tracks into the site.
|
|
And I think Dave, you came to me as well.
|
|
And you said, this just is not working for me.
|
|
Because I'm having to download the track and then type all this stuff into a field.
|
|
I was like, I know what I'm going to do.
|
|
And this was the downfall of CC hits and the end.
|
|
Is that I wrote some code that would go away and API walk these different systems.
|
|
So it would pull the track down from the website.
|
|
And it would also pull down the license, the artist's name, the URL to visit the artist,
|
|
the URL to go and get the track to find out the details about the track from their site,
|
|
and put it all into the stuff that we needed.
|
|
And ultimately, fundamentally, this is the downfall of what YCC hits is now coming to an end.
|
|
Can I stop you there for a moment?
|
|
Because although it may have been the downfall at the later time.
|
|
Yes.
|
|
When it was first implemented, it was revolutionary from a back end administrative point of view.
|
|
Because where I went from downloading files, crafting scripts to basically curl the file up to the server.
|
|
I then have to go into the server and fill in the details manually.
|
|
Just putting a URL in a form, pressing send, and it was all done for you.
|
|
So from that perspective, it was utterly brilliant.
|
|
So yeah, you're right.
|
|
And looking back, it's really easy to kind of point fingers and assign blame,
|
|
and say, oh, this was a thing that caused the downfall.
|
|
This is the problem right here.
|
|
But actually, you're right.
|
|
It basically made it so that you could submit tracks into CC hits.
|
|
I was looking at it as every couple of weeks, I'm going to go through and troll four or five sites,
|
|
and find a handful of tracks to play, and stick it into the website.
|
|
Well, every week, regular is clockwork, and still are producing a podcast every week with music in it.
|
|
That was going into the site.
|
|
What's the number of that broadcast?
|
|
Something about a bug.
|
|
I can't remember a bug.
|
|
The bug cast, I think.
|
|
Yeah, that's probably it.
|
|
The bug cast.
|
|
Or something, isn't it?
|
|
.net.com.
|
|
The bug cast.
|
|
Oh, yeah, I remember now.
|
|
But yeah, so they then start merely submitting all these tracks in.
|
|
Fantastic.
|
|
Yannick, I think you came on board, probably within a few months,
|
|
but it was more kind of, you had more concerns about the aesthetics of the site.
|
|
I seemed to recall it.
|
|
I was a member of the Association of Music Podcasting,
|
|
which is where I get in contact with Dave,
|
|
and then Dave told me about CC hits, and told me, hey, look at that.
|
|
It's a wonderful website, and you should contribute to your creative common strikes.
|
|
So I started by doing that.
|
|
And then Dave told me about you.
|
|
That's how I got in contact with you.
|
|
And that's when we started talking about putting a new coat of paint on the public website,
|
|
and also on some of the back end website.
|
|
Yeah.
|
|
So I wrote this site in PHP, which is a,
|
|
it's a really easy language to write code in.
|
|
In my experience.
|
|
And it's really, really easy.
|
|
How to put this tactfully.
|
|
It's really, really easy to write a gun
|
|
that you point at your own foot and pull the trigger.
|
|
So I mentioned before about Oddcamp.
|
|
So I ran about the same time as CC hits happened.
|
|
I also wrote a top piece of talk scheduling software for Oddcamp.
|
|
And effectively, both sites had very similar premises,
|
|
which was stick a whole load of data into a database.
|
|
And then pull some of the content out and render it on screen.
|
|
So I wrote a framework.
|
|
Very simple in my head framework to make all,
|
|
to wrap all these database queries.
|
|
So effectively web developers have this kind of model view controller kind of view of the world.
|
|
And effectively the model is the database,
|
|
the way the data table looks.
|
|
And the view is how you present it.
|
|
And the controller then does some logic to that data or to the view.
|
|
So I kind of wrote it and I squished together the data part of it.
|
|
And the view part of it almost into kind of one thing with one little shin,
|
|
which was the actual templating was done with a separate library.
|
|
But so the model part was all self-written, entirely self-written.
|
|
It wasn't that it was necessarily that I thought there was anything out there was particularly bad.
|
|
But every time, and I still find this even now,
|
|
every time I look at a framework for developing a website,
|
|
you get one of two starting points.
|
|
You either get this framework is really simple.
|
|
Here's how to create a to do app for it.
|
|
The interesting thing about to do apps,
|
|
at least the ones that I've seen, they never have any authentication.
|
|
They never have an API.
|
|
They never have anything in the way of administration.
|
|
It's only ever we're going to take some data, put it into a table,
|
|
and then draw it back on screen again.
|
|
And sometimes if you're really lucky,
|
|
you can then edit something in that table.
|
|
So that's one end, and the other end is,
|
|
now that you've done your computer science PhD,
|
|
here's how to write some code.
|
|
And there's never anything in that sweet spot in the middle.
|
|
My day job was absolutely not programming.
|
|
It has never been programming.
|
|
My day job for the entirety of CC hits
|
|
was actually I worked in the security operations center
|
|
of a solutions integrator,
|
|
right up until the very end when I then got a job elsewhere,
|
|
but we'll not talk about that.
|
|
So I was never ever writing code for living.
|
|
So I wrote this framework because I couldn't,
|
|
I knew how to get our objects orientated programming.
|
|
I knew how to write classes.
|
|
So I wrote a class that handled all database stuff.
|
|
And then I extended that into,
|
|
here's an object for the track,
|
|
here's an object for the show,
|
|
here's an object for the link between to join the track
|
|
and the show together and things like that.
|
|
So Yenick comes to me and he says,
|
|
I'd like to help you with this site,
|
|
and I'm like, sure, here's the source code.
|
|
And it was just like, I mean, obviously,
|
|
I don't know what your view on it was,
|
|
but I do kind of, I remember other people looking at it
|
|
and just going kind of almost coming back to me and going,
|
|
yeah, I'm out.
|
|
It's just not even worth the time looking at it.
|
|
At least Yenick, you gave it a fair crack.
|
|
Yeah.
|
|
So, yeah, so,
|
|
a couple of years in,
|
|
Yenick's doing stuff with the site,
|
|
those merrily plumbing tracks in there,
|
|
like nobody's business.
|
|
I think I've been,
|
|
I think I've talked about it,
|
|
so Ken was probably aware of this by then,
|
|
but I don't know you were using it so much by that point.
|
|
And then my dad died.
|
|
And that by itself was a bit of a traumatic event.
|
|
It was one of those things that happens.
|
|
And I have this really strong recollection
|
|
of writing this exceedingly emotional blog post,
|
|
basically saying, that's it.
|
|
I am giving up on open source.
|
|
I don't have time for it.
|
|
Nobody ever contributes to my projects.
|
|
It's all a big pile of steaming mess.
|
|
I am out.
|
|
I cannot play this game anymore.
|
|
And I can't remember if it was an email or a phone call from Dave,
|
|
but it basically went something along the lines of,
|
|
you may want to pull out,
|
|
but if you've got any idea just how much effort
|
|
I went to to get this integrated into my workflow.
|
|
So one of the things that was great about CC hits
|
|
was it had this voting component to it.
|
|
Would the intention being that it would produce the monthly show?
|
|
I will get back to the monthly show in a bit.
|
|
Cast the monthly show.
|
|
Oh my god.
|
|
No, focus.
|
|
Actually, following the timeline,
|
|
John Orson will just be a horrible stinking mess.
|
|
Actually, can I just put in here representing the listener here?
|
|
Just in case there's anyone out there who doesn't know what CC hits.
|
|
What do the website do as far as the listener is concerned?
|
|
Okay, so you go to the website and then...
|
|
You go to the website and it offers you three shows.
|
|
It still offers you three shows,
|
|
but it may be not after the last comment.
|
|
It offers you three shows.
|
|
It offers you the daily show.
|
|
And so literally what happened was out of a pool of tracks
|
|
that was an arbitrary size of unplayed tracks.
|
|
It would pick one of those tracks
|
|
and add a bumper to the start and end of the show
|
|
and introduce the track.
|
|
Say who the artist was.
|
|
And then at the outtrack it would say the track name,
|
|
the artist name and the license it was released under.
|
|
And it would then encourage you to go to a URL,
|
|
which was in the show notes, to vote for that track.
|
|
If you liked it, always upvotes, never downvotes,
|
|
always positivity, never haters.
|
|
That's where it gets the nose go from folks.
|
|
And that was fine for the daily show.
|
|
What we then had was a weekly show.
|
|
So for people that didn't want to listen to a track every single day,
|
|
instead what you could get was the weekly show.
|
|
And the weekly show was produced on Sundays
|
|
and it took the seven tracks that had just been played that week.
|
|
So the seven daily show tracks.
|
|
And then it would take the three highest rated tracks,
|
|
the three tracks that had the most votes in that previous seven days.
|
|
And it would play those.
|
|
So it would only be from the week before.
|
|
But so if you had tracks one, two, three, four, five, six, and seven in week one,
|
|
in week two you had 8, 9, 10, 11, 12, 13, 14.
|
|
So it would play 8, 9, 10, 11, 12, 13, 14.
|
|
And then the top three rated tracks from one to seven.
|
|
So if you'd had somebody vote on track one, track three, and track five,
|
|
and they were all the votes you'd had,
|
|
then those would be the three tracks.
|
|
So it would be, it would literally be 8, 9, 10, 11, 12, 13, 14,
|
|
1, 5, so 1, 3, 5.
|
|
And that would be what it would play.
|
|
So then the intention had been that there would be a monthly show.
|
|
And fundamentally, I made, oh, I wouldn't say I made a mistake here.
|
|
The monthly show took every track on the site, every single day.
|
|
And this is still going on today, probably not when this show comes out.
|
|
But every single day, there was a job that ran that looked at all the votes
|
|
that had ever been cast across the whole system.
|
|
And then it would add them all up.
|
|
And then every time with the exception of the daily show,
|
|
a track was played on any of the CC hits generated shows.
|
|
So the weekly show or the monthly show,
|
|
it would then reduce the vote by 8, 5%.
|
|
So every time a show, every time a track appeared in the monthly show,
|
|
effectively, it would knock down the rating of the track.
|
|
So it was kind of giving that natural depreciation.
|
|
To sunding down the track type of thing.
|
|
Yeah, so effectively so that the new tracks had more of a chance to get out there.
|
|
But equally, if it had turned up on the monthly show,
|
|
and somebody went, oh my god, I love this and voted on it and got all their friends to vote on it,
|
|
it would move it up the chart for the next, the next chapter.
|
|
What happened over time was that that query to generate that chart,
|
|
that as I said, was being run every single day,
|
|
still not entirely sure why I ran it every single day,
|
|
but it was run every single day.
|
|
It basically got too long for the timeout that we could run scripts
|
|
on as a VPS that we were using.
|
|
And so probably around about year four or five somewhere around there,
|
|
we started getting intimate and problems with the show not being generated.
|
|
This disaster could manually rerun it.
|
|
You could force it to run.
|
|
When you ran it interactively, when you ran the API interactively from the command line, it would run.
|
|
It was purely when it would be run through the website because it was an API.
|
|
It would time out and you would be left with no tracks in your monthly show.
|
|
So every single day, I was getting this email, which was saying,
|
|
show makers run, daily show.
|
|
And then every week it would be show makers run, daily show, weekly show, fine.
|
|
And then every single month it would go, show makers run, daily show, one track, weekly show,
|
|
you know, 10 tracks, monthly show zero.
|
|
That's not right. That's not right.
|
|
And in the end, we kind of just resigned ourselves to the fact that the monthly show wasn't being created.
|
|
So you were asking what the functions are.
|
|
So on all of the show listings, there was a QR code.
|
|
Well, there is a QR code that would take you to the track page.
|
|
And it would also list the, if you put in the show number,
|
|
it will also take you to the track on the show.
|
|
So if you were partway through the show and you clicked on vote,
|
|
it would then take you back to the show page so you could vote on other tracks in the same show.
|
|
So when you clicked vote, as I said, all it did was just an inject a line into a table that said,
|
|
this track voted on.
|
|
We did have a bit of a problem again early on.
|
|
There was this wonderful guy from Holland.
|
|
And still, I love this guy because he was so passionate,
|
|
absolutely passionate about this music.
|
|
And every single day he would get online.
|
|
And he would vote for the tracks that he liked.
|
|
And he would literally, literally, he would go through and tick, tick, tick, tick, tick, tick, tick, tick, tick, tick, tick, tick, every day.
|
|
What he didn't realize was happening was in the background,
|
|
we were looking for a signature to see whether or not that track had been voted for by a hash.
|
|
And so again, I was really, really, really careful not to store any personal data.
|
|
We never stored IP addresses, we never stored host names, we never stored any password is all sorted and hashed.
|
|
We used open ID and even the open ID strings, which basically when you go to the site,
|
|
the authentication with open ID, what you get back is effectively a public key
|
|
that is signed by your open ID provider, Google, GitHub,
|
|
I can't remember who else we used, but Canonicals launchpad,
|
|
really early on in my open source lifestyle,
|
|
I got involved in a project called Identica,
|
|
which then became known as StatusNet.
|
|
And Evan Predromo, the guy that created StatusNet,
|
|
used to run a URL shortening service.
|
|
And he would publish all the data for this URL shortening service,
|
|
just as a matter of course on his website.
|
|
And there were no limits, he would basically just run it, whatever you want.
|
|
He's gone now, sadly, you are one, so you are one.ca was the URL.
|
|
But all the data was published and I was like, oh, my word, this is something I want to do.
|
|
I want to make sure that every byte of data that goes into CC hits can be used by someone else.
|
|
For whatever purpose they wanted, I didn't want anyone to ever feel that they couldn't just use what they wanted from the site.
|
|
So I was publishing with this data.
|
|
But so as a result, I needed to make it so that people then couldn't abuse the voting system,
|
|
because again, really early on, we'd had quite a nice band publish their track onto CC hits.
|
|
They'd asked me if I could publish it, I published it for them.
|
|
Creative Commons ticked all the boxes, great stuff.
|
|
So put it in there and then they told their fans, we've just been listed on CC hits.
|
|
Let's see if we can get ourselves to number one.
|
|
So they got a big rush of people voting, fine, but because you only got this reduction in the votes every month,
|
|
they were number one on the site for I think about a year, constantly, nonstop.
|
|
And there was very well, nothing, it wasn't nothing I could do about it, it was very little I could do about it.
|
|
I liked the track, but I'm not convinced it deserved to be number one for that long.
|
|
And again, all respects to the guys, they were using the system the way they thought was right, they were right.
|
|
In an ideal world, every artist that had the tracks published on CC hits,
|
|
should have in some way been told that their track was on CC hits,
|
|
and they should have encouraged their listeners, their fans to go and vote for them as well.
|
|
However, as we only ever had one artist that did this, skewed the results massively.
|
|
Anyway, so this guy is coming in, clicking in every day.
|
|
And in the end, I had approached him and said, I don't mean to be funny,
|
|
but you're not changing your browser session.
|
|
Because I think we stored a cookie, but I think we even stored a cookie thinking about it.
|
|
But literally what we did was we just took a hash of the agent string from the browser,
|
|
which is every browser has got this agent string.
|
|
And it literally just says, you know, this is Mozilla Firefox,
|
|
or you know, this is Microsoft Edge pretending to be Mozilla Firefox,
|
|
because people looked for Mozilla Firefox early on.
|
|
And this is the version number, and this is the OS.
|
|
So got this like fingerprint, and again, we were hashing that.
|
|
So it wasn't, it was very obvious that we weren't storing any data.
|
|
But because this guy kept coming back,
|
|
we basically just got, he clicked the vote button,
|
|
and he'd get a response back saying, thank you.
|
|
And he thought that meant he'd voted, but what actually happened was he'd clicked vote.
|
|
It tried to, it tried to insert, but found there was already this string for that track there.
|
|
And so ditched his vote.
|
|
And said, thank you.
|
|
It was delayed.
|
|
I think it was about six months this guy was going in regular as clockwork,
|
|
smitting his tracks.
|
|
And I have the utmost respect for him.
|
|
And a fundamental, we had to change some of the text in the website to sort of say,
|
|
look, you may be hitting submit every day, but it's not doing anything.
|
|
Just, just stop, you're supposed to be discovering new music,
|
|
not bigging up the tracks.
|
|
Anyway.
|
|
So yeah, so,
|
|
I'd had this big meltdown in a blog post,
|
|
basically saying, I can't do Cece Hit anymore.
|
|
And Dave's like, you can't do that.
|
|
And I said, well, I haven't got the space to do this.
|
|
So by this point, my son was one and a half, maybe not even one and a half,
|
|
maybe, you know, maybe one.
|
|
He wasn't sleeping amazingly.
|
|
I had a job that was quite demanding.
|
|
And I just was like, I can't do this anymore.
|
|
So Dave was like, I'll tell you what.
|
|
Just keep, just keep hosting it.
|
|
And I'll get involved.
|
|
And I think Yannick, you were possibly involved by that point.
|
|
And I was like, fine, okay, look, you guys just take it.
|
|
And so we got, we got a load of changes.
|
|
Like I said, Yannick did a load of facelift work.
|
|
And I looked, I have this really vivid memory of Yannick sending a picture of
|
|
this is what the front page is going to look like.
|
|
And I was just like, that was what I always wanted it to look like.
|
|
But I can't code frontend stuff for the love of money.
|
|
Just do it to all the site.
|
|
And he was like, yep, okay, I'm going to go and do all the site.
|
|
And this is no slide on you.
|
|
But I think we got like six pages done.
|
|
And it was just like, I think by that point it was just like, and I think I'm done with this work now.
|
|
I'm like, that's fine.
|
|
I think your life and your life was in constant flux around that point as well from memory.
|
|
And it was just like, so even now half the site looks, has got this amazing skin.
|
|
It looks fantastic.
|
|
And the other half of the site is, let's just say it's acceptable.
|
|
But it's not beautiful.
|
|
Functional is the word you're looking for.
|
|
Functional, yes.
|
|
It's functional.
|
|
I think we had the same thing with like half of the admin site was beautiful and half of it was functional as well.
|
|
I can't remember.
|
|
And I think around about that point, and I feel really sad about this now.
|
|
So Dave mentioned before he's 40 tracks behind on the daily show.
|
|
I am currently about nine and a half years behind on the daily show.
|
|
Because I had created the site to serve sort of three aims by this point.
|
|
It was provide music for the hack space.
|
|
They expressed no interest whatsoever in the music.
|
|
That's gone.
|
|
It was to get more podcasts as playing Creative Commons music.
|
|
I was only ever aware of maybe four or five podcasts that ever played Creative Commons music.
|
|
Dave was the only one that consistently through the run of it was submitting tracks to CC hits.
|
|
I have this really strong memory of Dan Lynch basically saying, I get all of my tracks from CC hits.
|
|
It's amazing.
|
|
I'm like, yes, yes.
|
|
But really you need to go and thank Dave because Dave has submitted every single track into CC hits for the last year.
|
|
And so that was the second one.
|
|
And the third one was to kind of try and become a member of the Association of Music Podcasting.
|
|
And I'd kind of failed on all three of those objectives.
|
|
And while I was doing this big commute into work every day, and so in theory listening to these music podcasts would have been perfect for that.
|
|
I had swung more into listening to tech podcasts.
|
|
I was getting more invested in Linux based podcasts.
|
|
I was getting more interested in security based podcasts.
|
|
And because of the amount of podcasts I was now listening to,
|
|
I was listening to podcasts anywhere from 1.5 to 2 times speed,
|
|
which is great for spoken word podcasts.
|
|
But you hit a music podcast and it sounds like Alvin and the chipmunks.
|
|
And so I'm driving and I can't focus switch away from driving to change the speed of the track for one track every day.
|
|
So I switched the listening to the weekly shows for about a month.
|
|
And then I'm like, I'm hitting the same problem. It's just happening less often.
|
|
So yeah, I'm about eight and a half, nine years behind on my own podcast that has been running for 12 years.
|
|
But it keeps running.
|
|
And I still keep promoting it at all camps.
|
|
And eventually I hear that Ken, you were starting to run some live streams.
|
|
And you contacted me and you said, can I use CC hits?
|
|
So how was that for you? I mean, so obviously we'd been producing CC hits for probably a good couple of years by the point at which you got interested in it.
|
|
So how, so had you only come across it, do you think from from Alcampo?
|
|
Yeah, I'm here basically representing the listeners of the feed.
|
|
So I claim no.
|
|
No glory from the fact that you've developed the site.
|
|
I always thought it was a brilliant idea to have a source where you could get clean, clean music without having to worry about content.
|
|
Content rides, content protection and saw the very much in Ireland where every little shop, every little business had to have one of those stickers on the door like the mafia, the music mafia basically.
|
|
I always thought that free culture could could provide better when I heard about your.
|
|
I remember actually we were at Alcampo and the interview I did with you was in 2011, 06, 28 is when I went out.
|
|
And we just got talking and I said, right, I need to record this and we went outside and you just blew my mind with the with the concept.
|
|
And since then I subscribe to the subscribe to the feed and in that 11 years, the only page I have ever gone to has been CC hit start net forward slash daily forward slash copy and paste in today's show number to vote on the track.
|
|
That is it. I didn't even notice that the front page had been updated.
|
|
Well, it's an RSS feed. It comes into my podcast every day and every day I have listened to every show.
|
|
Really? Yeah, every day I listened every single show. I have a script that I listen to the HPR stuff comes down and make sure that comes in.
|
|
I just wrote to it because I've listened to the listen to the future feeds. I get the news from home. I get the BBC news.
|
|
And then after all that's done, I can start calling with my coffee and listen to CC hits.
|
|
And then I either what I tend to do is I'll, if there's a track I like, I'll not delete it.
|
|
And then I'll leave it there and then tomorrow it'll come up and the new one will play and then I'll listen to it again.
|
|
And if it passes three times, then I'll save it and I'll vote on the show.
|
|
So I'm just in my directory here. So I'm a user. This is me. I'm not here in any, any form except other than I listen to CC hits.
|
|
So in the 11 years that I've been listening, there are 512 individual songs in my CC hits that directory on my laptop.
|
|
And I randomly play those all day. And I have this thing where I do a whole golf scripts around this because I'll kind of randomly jump them up and then I'll start playing.
|
|
And I have this thing where sometimes it'll just perfectly pick the right songs for the mood that I'm in and then sometimes I won't.
|
|
So I cancel it and then rerun it until it goes into the groove and variably once it gets the right groove, then it'll go from that type of song to the same type of song.
|
|
But it's been brilliant for anything to do with, you know, we're bringing up a stream for the HBR New Year show, which we're doing again this year.
|
|
And you don't have to worry about it, you know, you got classic stuff.
|
|
And I think back then, the quality of Creative Commons music, it wasn't sure that the quality of the music was going to be good enough to go up against regular music.
|
|
And in the 11 years, I've essentially stopped listening to mainstream music.
|
|
I met a point, I'm not going to, you know, if there's tracks here, I actually go and I'll go to, I'll trace back to wherever I was, Jemento or wherever, and then I'll buy the track.
|
|
If it becomes a track that I'm really listening to all the time, I'll buy the track.
|
|
But in the 11 years, the quality of stuff coming out of CCHATES is comparable.
|
|
Not all of it is my stuff that I like. I'll tell you that right now.
|
|
Something I will tell you is I didn't know I would like Dubstep. This is something I didn't know.
|
|
Coming from the bugs of Ireland, all of a sudden you realize you love Dubstep.
|
|
But there you go. But some of the stuff is you would just never get exposed to it anywhere else.
|
|
And when I heard that you were shooting down, yes, you know, I was going to come on here and beg you to continue doing it.
|
|
But, you know, everything has its lifespan and, you know, there's a lifespan. But from the point of view of the listener, I have taken this, these songs.
|
|
And for the kids birthday parties, right?
|
|
We've had cinemas. We have one, another one upstairs, the good, the bad and the ugly. There's a birthday party going on.
|
|
As it happens, I'm not doing a cinema. But we had disco parties down through the years.
|
|
And kids, boys, you know, boys parties, girls parties. And I wouldn't play mainstream music.
|
|
Here's my CC hits stuff. And this is what you're going to hear.
|
|
No difference. Zero difference. The kids just bopping around, not having the clue that this creative comes music, not having the clue that it came from some, you know, collection of weird guys on the internet.
|
|
No, that sounds wrong. Well, you're all creepy guys at the internet. No, I take the bank, I take the bank.
|
|
No, it made no difference. It's just good music. And I will really, genuinely miss CC hits.
|
|
It's a one little comment I'd like to make in that. When you mention about, you never realized you'd like dubstep.
|
|
Really early on. This was probably the, I found this track. And I went on Dave's show.
|
|
And it was whilst I was, I come over here with whilst I was plugging CC hits, if I was plugging on camp, but it was, it was something I was plugging.
|
|
And I went on there. And he's like, what, what track do you want to win the show with? And I was like, I've got this track.
|
|
There's one part in it that's a little bit rude. But I like it. It's a really good track. And he's like, OK, that's fine.
|
|
We tend not to play anything with, you know, swear words in it. But, you know, fine, whatever.
|
|
I said, oh, and the other problem is it's eight and a half minutes long. And he just went, what?
|
|
So what? And I went, do you mind, do you mind me playing it? And he's like, look, normally I wouldn't play this, but OK.
|
|
So played it. And it was a dub track, dubstep track. And I, it was, it was something like, it starts with something long lines of,
|
|
it was like a piece generated voice, which worked for me at the time. And it was like, welcome to today's dubstep tutorial.
|
|
You start with, you play down a heavy beat, doof, doof, doof. And then you lay it over something else and then,
|
|
then you lay down some dirty phaser, doof, doof, doof, doof, doof, doof, doof, doof, doof.
|
|
And I was, I love this track. It's brilliant. And it gets about halfway through. And then there's this bit where it goes,
|
|
who'd up? And then a swear word is that? Who'd up? And swear word. And it was just that one, that one little bit.
|
|
But it went on. And this song went on for ages. And it was a really, really good track. Great.
|
|
I love this. It's brilliant. And it was playing for months. And then one of the things that you could do with Sisi hits was you could flag tracks.
|
|
And you could flag tracks as being not safe for work. And this one was flagged as not safe for work. And I suddenly thought,
|
|
we really need to flag something for this is claiming to be Sisi creative comments music.
|
|
But it's actually got some commercial content in it. And I thought, that dubstep track is got some really good parts in it.
|
|
And I wonder, I wonder if that's actually got some commercial content in it. And I went back and I found it was two commercial tracks that had been mashed together.
|
|
And I've been put on gemendo. And they just go, it's creative comments. It's fine. And I was like, oh, fudge.
|
|
I've been plugging this track to everyone has been this amazing dubstep track that's completely free to you. Oh, dear.
|
|
But yeah, I mean, absolutely. I never thought I would get into dubstep. I still, it has to be the right track for me.
|
|
But yeah, I like you. I never thought I would get into it. And even now, you know, there is there's my son plays some really random like Minecraft related stuff.
|
|
And I just keep going, just it's not quiet. It's not quite right. It's electronic, but it's not anyway.
|
|
But yeah, so going back, Ken, I'm absolutely blown away by the fact that you have listened to all those tracks and all those shows.
|
|
I always knew that there were dedicated listeners. So I mentioned before that we don't track any PII. There's no date for me even about IP addresses and stuff like that.
|
|
But there was, we did put in a comment, but was it Matomo, something like that? I think we added in just to try and kind of get an idea on where we were getting traffic from.
|
|
Yeah, it's Matomo. And Matomo is a self-hosted thing, a bit like Google Analytics. Yeah.
|
|
Privacy, aware and friendly. Yeah. So we put that in with my intention being that I would start looking at actually looking to see if anyone was using this site.
|
|
Because I'd obviously having had that kind of meltdown about, you know, I'm never going to do anything with this. I did kind of suddenly start thinking, I can't really shut it down if people are actively listening.
|
|
And so we put that in and then I think I never, I think I might maybe looked at it twice to see how many listeners we had.
|
|
Because I just for the love of it, it was never designed to be there, to monetize. It was never there to track anyone. It was always just there.
|
|
I think really early on I said, I think somebody said to me, how long are you going to keep this running for? And I said, until it stops being interesting for me.
|
|
And unfortunately, the point at which it stopped being interesting for me, somebody else came to me and said, we'll take it over for you.
|
|
So I stopped kind of thinking about it as being a thing that I even really needed to worry about aside from whether or not the shows were being generated each day.
|
|
But so we had a couple of spates of outages where the script just stopped running for whatever reason, scripts, the showmaker script just stopped running.
|
|
On one occasion, I think TLS certificate broke or the PHP version went wrong or something.
|
|
And in 12, in the 12 years it was running, I had two emails from listeners saying, the sites broken.
|
|
And both of them said, the sites broken, what can I do to help fix it? Would money help?
|
|
And in both of those cases, I think I nearly got to a solution, both times. And I said, no, no, it's fine, I'm just glad you're listening.
|
|
It will be back up soon. I think in the 12 years we only had maybe three days of shows that never went out.
|
|
And two of those have been in the last few months as the site has been showing its age and weaknesses.
|
|
But there was one definite planned removal of a show which was for the internet blackout day.
|
|
And that was a planned intentional show. And I seemed to recall, I recorded it and then had to stop the showmaker script from running.
|
|
And it was a real fath because it was just such an automated process. It just ran a little cruncher by itself and it just turned over.
|
|
And I had to go in and remove the fact that the show had been generated and put in my own show over it was just a pain in the bottom.
|
|
You got to do that for this one, you know that.
|
|
Well, yes and no. So I figure this is going to go in. So for those so the showmaker is still running.
|
|
As of as as we are recording this, I think when we last that it was a 10. So there is an API that we could call that said how many tracks it were there were left.
|
|
And as of about about a year, two years ago, I looked at that and it had something like 900, 900 tracks left in the 90s was either 990 but it was definitely started with a 9.
|
|
And I'm like, Dave's just keeps adding to this every week. I am never going to have to worry about this again. Just it will just keep going forever.
|
|
And when I sent the message out to Dave and Yannick to say listen guys, we're hitting some problems.
|
|
The showmaker is not always running properly. Dave's reported that the APIs aren't working to pull stuff down from.
|
|
Jemendo and so it's like that.
|
|
We're stuck. I haven't got the headspace to fix this.
|
|
Even if I wanted to, I mean I can still read the code, the code is still most the understandable if you understand PHP and can get your head around how my brain worked when I put it.
|
|
Which I think is probably more the stumbling block if I'm completely honest with you.
|
|
But these APIs are just just broken now. It doesn't matter what we try and do with stuck.
|
|
Yeah. And with Jemendo now, blocking some of the downloads even for creative common songs.
|
|
Yeah. That's that's a pin in the backside.
|
|
That isn't great.
|
|
And for the music archive, I've been bought by someone else and APS church and tried to noise I think is.
|
|
But yeah, so we're looking at the APIs and I'm thinking to myself, you know, we've got probably four months to think about this.
|
|
And then Yannick pops up on the apron and is like, we've got 18 days left and I'm like, oh no, what are we going to do?
|
|
So yeah, so we hit but the problem then.
|
|
So I suddenly very rapidly had to remember exactly where in the code.
|
|
The showmaker thing injects the you can vote for this track at such and such and say.
|
|
We need to strip that out because you can't vote for tracks. Well, you can vote for tracks, but you shouldn't vote for tracks anymore.
|
|
And then find a bit in the weekly show and say, you know, and then say, you know, we're starting to wrap up.
|
|
And it's just like, oh my god, I can't believe I can still find the snippets of code in there that do all the fun stuff.
|
|
You know, I spent ages probably weeks figuring out how to make the showmaker thing actually work.
|
|
There's a whole load of PHP code that basically just shells out to a unit set of Unix tools.
|
|
So we use socks, which is a sound library that to do that do little things like reverse the entire track.
|
|
Why would you want to reverse the entire track? Well, it's to get to the end of the show to put the next bit on the end of it and then flip it back around again.
|
|
Or, you know, to figure out how long you've got.
|
|
So I think there's one part that injects a specific length of dead air and then layers another track on top of it back to front to make it so it's such a, I mean, it was such a fath.
|
|
I mean, sometimes when the showmaker breaks, it says fail to do this thing.
|
|
And I just look at it and go, how did that ever work in the first place? This is just mental.
|
|
I just don't understand how I made this work.
|
|
But it did. It was about 12 years.
|
|
I can't believe it's been 12 years. It's not in fact. Yeah.
|
|
Mostly it worked. So yeah, so we got to, as I said, we got to the point when the monthly show just dotted.
|
|
And well, can I just throw an anecdote there? Yes.
|
|
I'd like to take you back to December 2017, specifically, because that was probably the period of time post the original implementation of CC hits where we spent the most amount of time in trying to make things better.
|
|
So it was around about that time that Yannick went through and did all the visual changes at the front end.
|
|
It was also around about that time that I think I spent somewhere in the region of about two weeks trying to refactor how the monthly show worked,
|
|
how the monthly showmaker worked, because it was taking so long to do it.
|
|
And I'm glad John, you mentioned about the whole flipping of the file, because that was the reason why it took so long.
|
|
Because it would take the first track. Sorry, it would take the intro to that track.
|
|
Add the track to it. Flip it. Do some magic. Flip it back. Add the next intro and track. Flip the whole thing. Flip it back again.
|
|
And it would do that up for 40 tracks. And that's why it took so long to do, because it was doing a lot of unnecessary reversals.
|
|
That doesn't sound very efficient. Believe me, it wasn't.
|
|
And I refactored it so that it did it on a track by a track basis and then just mungered everything together at the end.
|
|
Took it down from about, I don't 90 minutes to about four or something like that just by refactoring.
|
|
And I don't want to point fingers, but it was approximately four months later that the monthly show builder stopped working.
|
|
The last monthly show was successfully created in March 2018.
|
|
Yeah.
|
|
So, fundamentally, the problem we have, and I think of always had, is I didn't want to spend an awful lot of money on a month by month basis for CC hits.
|
|
So, CC hits the whole time and absolutely, I can't praise this particular host enough.
|
|
So, when we first started this, I hosted my VPS on, I hosted my blog on Dreamhost.
|
|
And Dreamhost had this crazy, crazy deal, which was we will host however much content you want.
|
|
Just don't ever store backups there.
|
|
Fine.
|
|
So, I contacted them and said, look, I'm planning on, like, running this podcast.
|
|
Am I right doing that? They're like, yeah, absolutely. Go for it.
|
|
I'm like, it's going to be producing a show every day. Yeah, no problem at all.
|
|
Okay, fair enough.
|
|
So, it ran, and it ran, probably again, until like 2017-ish.
|
|
So, it had been running for a good, good six years by that point.
|
|
And Dreamhost, I get an email from Dreamhost out of the blue.
|
|
You're hosting backups on your site. Take them down. I will cut you off.
|
|
And I'm like, we're not hosting backups.
|
|
They're like, we've had a look at your data.
|
|
And you have got these binary files in there.
|
|
Every single day since 2010.
|
|
And not just one binary file, but you've got three binary files.
|
|
And it's not just, it's some, you've got six.
|
|
And some, you've got nine.
|
|
And there's photos in there too. I'm like, no.
|
|
No, you completely got the wrong end of the stick.
|
|
No, we haven't. You've got backups there. You need to take them offline.
|
|
So, we then had this full on mad panic.
|
|
Yeah, I remember that.
|
|
Where we had to figure out, oh, it was just, we had to get all of the shows that we had run.
|
|
Up until that point, uploaded to the internet archive.
|
|
And then we had to add some code into CC hits, which by this point,
|
|
I'd kind of lost track entirely of how this lot already worked.
|
|
That's Dave's magic.
|
|
It took a while just to kind of reprim the, reprim the pumps to figure out where we could put something in,
|
|
to point to the internet archive instead of pointing to our own local hosting.
|
|
And then we hit a problem where the size,
|
|
that the amount of data we were putting up was actually knocking the internet archive offline for us.
|
|
Just for our API calls, it wasn't like for everyone,
|
|
but we were pushing up so much data so quickly,
|
|
because Dreamhost was desperate to get us to reduce our footprint.
|
|
And we had to, we had to eventually like batch,
|
|
I had to go back to Dreamhost and say, look, we're working on this as much as we,
|
|
as quick as we can, but you're going to have to give us some more time.
|
|
Because we need to move all of these podcasts,
|
|
the podcasts, all of these podcasts up to the internet archive.
|
|
And to be fair to them, they were really good.
|
|
And they did let us have the extra time.
|
|
But I just remember it just being like, oh my God,
|
|
how are we going to get all these shows up there?
|
|
And then we were like, it's fine.
|
|
Okay, what we're going to do now is this,
|
|
we're going to have a cron job that runs every month.
|
|
And it'll just upload the last month's worth of shows,
|
|
not the last month, but the month before last month's shows up there.
|
|
And then check to make sure they're up there and then delete them.
|
|
That cron job never got run.
|
|
Never got, I don't, I'm not even totally sure we wrote it.
|
|
And Dreamhosts have never come back to us since then and said,
|
|
we've got a problem.
|
|
So probably, you know, if we hadn't hit this now,
|
|
then probably another couple in another year or so,
|
|
then it comes back to me.
|
|
You're backing up again.
|
|
But there's just all these little little things in the background
|
|
that just, Ceci hits would never have happened if I hadn't been
|
|
for Creative Commons.
|
|
That's a given, because the music would never have been there.
|
|
Ceci hits would never have existed,
|
|
had it not been for the Association of Music podcasting.
|
|
Because I did never have found Dave's podcast.
|
|
Who I've found through...
|
|
The Random Three.
|
|
Oh.
|
|
No.
|
|
Okay.
|
|
The Random Three podcast.
|
|
There's a name that you probably haven't heard for a while.
|
|
That was because I'd got this Windows mobile phone
|
|
that could download podcasts.
|
|
I'd never heard of podcasts up to that point,
|
|
but I could download them to my mobile phone.
|
|
And I just found a random collection of podcasts.
|
|
And the Random Three was one of them.
|
|
The irony of being is that the Random Three was actually one
|
|
of the podcasts that inspired me to start podcasting
|
|
in the first place.
|
|
The host of the Random Three, Mark,
|
|
I actually went to sick form with.
|
|
So I submitted some shows to the Random Three.
|
|
So for those that weren't aware,
|
|
the Random Three was a podcast that basically anyone could submit
|
|
three tracks that they enjoyed listening to.
|
|
And it could be anything.
|
|
The Mark had had no particular,
|
|
he would play anything on his podcast.
|
|
And so I put all sorts of random nonsense onto his show.
|
|
But I do remember the very first one.
|
|
You then commented,
|
|
because I've been talking to you in the chat room,
|
|
in your podcast.
|
|
And you commented that,
|
|
oh, it's good to see that Mark has got one of my faithful listeners
|
|
over there.
|
|
And I think he thought I'd found his podcast because of you.
|
|
But I'd actually found your podcast because of him.
|
|
Anyway.
|
|
So yeah, so if it hadn't been for the podcast,
|
|
you know, the Association Music Podcasting,
|
|
the Random Three,
|
|
I'd have never discovered about music podcasts and found out
|
|
great comments.
|
|
Music was so great.
|
|
But then if it hadn't been for Dreamhost,
|
|
this site would have never happened at all.
|
|
Because I would never have found a hosting provider
|
|
that would just say,
|
|
just sling whatever you want in.
|
|
Just, you know, just don't break any rules, basically.
|
|
So yeah, so it's kind of a testament to those three things.
|
|
It's a testament to Dave for having the confidence in the idea
|
|
and for kind of giving me the nudge to keep going kind of,
|
|
when even when all felt rather bleak in the back of my head,
|
|
there was always kind of a Dave standing there going,
|
|
well, you know, it's working for me, you know,
|
|
please don't ever stop it.
|
|
And I knew that there were people, as I said,
|
|
I knew there were people out there listening.
|
|
And so in the back of my head,
|
|
I needed to keep it going,
|
|
even if it was just for those people.
|
|
I mean, so, so when I think,
|
|
I think when I first pitched it to Dave,
|
|
my kind of grand scheme for CZ hit,
|
|
was that once we had enough tracks
|
|
to have an eight hour stretch of
|
|
safe for family listening music,
|
|
then what we would start doing,
|
|
or what I would start doing was then be producing music
|
|
that we could then offer to businesses
|
|
so they could move around,
|
|
and move away from needing to be PRS,
|
|
PPL licensed,
|
|
because they were playing,
|
|
they would be playing only Creative Commons music.
|
|
I think the fact that the showmaker
|
|
for the monthly show took as long as it did to run,
|
|
and that we had,
|
|
we'd had these intermittent problems
|
|
with kind of getting it to run smoothly,
|
|
meant I never really had the confidence in
|
|
the scripting to run something as long as eight hours.
|
|
I mean, the monthly show when it was running,
|
|
was running,
|
|
if you think about it,
|
|
you've got, you've got 40 tracks
|
|
at like three to five minutes each.
|
|
So you're looking at like 200 minutes of shows
|
|
that's, you know, good two and a half hours,
|
|
you know, at maximum length,
|
|
as long as you don't have
|
|
any of those crazy eight-minute dubstep,
|
|
you know, tracks in there.
|
|
So, you know,
|
|
I was looking at, you know,
|
|
producing a two-hour show on a monthly basis,
|
|
and it wasn't always successful.
|
|
And then I thought,
|
|
what happens when, you know,
|
|
one of these organisations comes forwards
|
|
and says,
|
|
actually, I'd like,
|
|
I'd like an eight-hour show,
|
|
you know, once a week,
|
|
to put into my stores,
|
|
or something like that,
|
|
and I'd have been like,
|
|
I don't really do that.
|
|
Because again,
|
|
the whole point of it was that
|
|
it wasn't so much supposed to have been for the big,
|
|
you know, the chains that could have said,
|
|
well, we will give you, you know,
|
|
a thousand pounds of show or, you know,
|
|
whatever,
|
|
I have no idea what sort of licence fees look like for,
|
|
stuff like that.
|
|
It was supposed to have been for places like hack spaces,
|
|
it was supposed to have been for places like
|
|
co-working spaces,
|
|
small offices that had like three employees
|
|
that they didn't want to listen to commercial radio
|
|
because they didn't want the adverts in the breaks
|
|
of like that,
|
|
or a car dealership
|
|
that didn't want to be, you know,
|
|
wanted to have a small deal on,
|
|
you know, so that the staff weren't just listening to, you know,
|
|
whatever,
|
|
but that they had,
|
|
they didn't run the risk of having an advert,
|
|
advertising one of their competitors
|
|
right in the middle of
|
|
when they were running,
|
|
anyway.
|
|
So that was the grand plan.
|
|
For a building with lots of illivitarous.
|
|
Yeah.
|
|
So that was the grand plan,
|
|
and it never really came off,
|
|
and I was always a little bit disappointed about that,
|
|
but fundamentally,
|
|
the fact that
|
|
we had faithful listeners,
|
|
fundamentally, you know,
|
|
Ken is,
|
|
Ken is proof that we've had those listeners there,
|
|
you know,
|
|
the emails that I've had in the past,
|
|
proof that it's there.
|
|
I would love to hear from
|
|
other people stories like Ken's,
|
|
where, you know,
|
|
like you said,
|
|
you had family discos
|
|
that had no commercial music playing on it.
|
|
That,
|
|
I mean, that's just phenomenal.
|
|
I never,
|
|
I never realized you actually did that, Ken.
|
|
Yeah.
|
|
I honestly only ever thought
|
|
that you were your interest,
|
|
so this,
|
|
this will make me sound dreadful.
|
|
I thought that
|
|
your use of CC hits
|
|
for the HDR show
|
|
was because
|
|
you knew it was creative comments music,
|
|
not because you were listening to it yourself,
|
|
as part of your daily
|
|
kind of
|
|
regular activities.
|
|
That's just
|
|
mind-blowing.
|
|
I do also want to mention
|
|
that we did have another guy called Mike
|
|
who worked with us for a while.
|
|
Really lovely guy.
|
|
I think
|
|
the way that I had written my code
|
|
he really struggled with
|
|
fundamentally,
|
|
that is not his fault.
|
|
The code that I wrote was
|
|
poorly structured.
|
|
It was,
|
|
it was very objective-orientated.
|
|
It did a job.
|
|
It was never designed
|
|
to do more than that job,
|
|
which caused problems.
|
|
He wanted to take some stuff
|
|
from that to,
|
|
he wanted to dockerize it
|
|
and containerize it
|
|
so that he could make it
|
|
easier to test stuff.
|
|
In fact, I was looking back
|
|
at the commits that were pushed
|
|
into GitHub,
|
|
and the very first commit
|
|
that went into GitHub,
|
|
which to be fair,
|
|
was not right at the beginning of the process.
|
|
It was
|
|
sometime after
|
|
CC hits had gone live,
|
|
but the very first commit was
|
|
a set of PHP
|
|
unit testing scripts.
|
|
It had always been written
|
|
with the intention being
|
|
that there would be
|
|
a lot of testing in there,
|
|
and that was partially
|
|
to drive my own knowledge
|
|
of how to write PHP,
|
|
if I'm honest with you.
|
|
But,
|
|
the fact that it wasn't using
|
|
a publicly available
|
|
library meant that
|
|
it was really hard to get
|
|
other people to commit
|
|
to even looking at it.
|
|
I had some really good friends
|
|
in the PHP community as well.
|
|
I still have some
|
|
really good friends
|
|
in the PHP community,
|
|
and every time I kind of
|
|
floated the idea
|
|
of this past them,
|
|
they were like,
|
|
hang on, so you've got
|
|
some code
|
|
that's got logic
|
|
in there,
|
|
how to access
|
|
the database tables
|
|
in the same bit
|
|
where you're doing
|
|
the bit that says
|
|
to update the tables.
|
|
That's a code
|
|
smell right there.
|
|
That's not right.
|
|
That's proper mixing.
|
|
That's probably mixing
|
|
the streams there.
|
|
I might try
|
|
really hard.
|
|
He gave us some
|
|
fantastic stuff.
|
|
The showmaker
|
|
had been running
|
|
through Vagrant
|
|
and VirtualBox
|
|
for years.
|
|
He came along
|
|
and he made
|
|
some suggestions
|
|
around changing
|
|
stuff over to Docker.
|
|
That kind of led me
|
|
to actually realizing
|
|
that we could run the
|
|
showmaker in Docker,
|
|
which was much
|
|
basically meant
|
|
that I could run it
|
|
on
|
|
when my blog was now hosted,
|
|
rather than having
|
|
a dedicated machine at home.
|
|
I remember
|
|
we had loads of problems
|
|
really early on
|
|
with Cici here.
|
|
It's particularly
|
|
when I went on holiday
|
|
because I then had
|
|
to get in touch
|
|
with you Dave
|
|
and get you
|
|
to run the showmaker
|
|
scripts
|
|
to make sure I actually
|
|
ran.
|
|
Or, yeah, I know.
|
|
You had SSH access
|
|
into my home server
|
|
so that you could
|
|
SSH in
|
|
to run the showmaker
|
|
scripts when it was
|
|
broken.
|
|
Yeah.
|
|
There was a while
|
|
when we were running
|
|
it on the Dreamhost server
|
|
and that kept timing out
|
|
and we were like,
|
|
okay, we can't run it on here.
|
|
It needs to be run
|
|
somewhere else.
|
|
It's because the showmaker
|
|
was taking too long
|
|
to return
|
|
the showmaker
|
|
that the machine
|
|
that kicked it off
|
|
thought
|
|
was giving up.
|
|
Yeah.
|
|
So, yeah.
|
|
I mean, there were lots of
|
|
such outright.
|
|
So, this is not a,
|
|
this is a bit of a,
|
|
quite a grizzly
|
|
post-mortem, I think,
|
|
of Cici hits.
|
|
Cici hits was a
|
|
whole load of
|
|
fun to write.
|
|
I really
|
|
want to stress that.
|
|
It was a whole load of fun to write.
|
|
I had a boat
|
|
load of support
|
|
from some really great people.
|
|
Dave, you were,
|
|
you were in there
|
|
right from kind of
|
|
minute one, really.
|
|
I had a,
|
|
I remember having long
|
|
conversations with people
|
|
in the PHP community
|
|
in the Manchester area
|
|
and all across the
|
|
Northwest.
|
|
I was talking to people
|
|
at camp
|
|
and everyone always
|
|
kind of was like,
|
|
this is a good idea,
|
|
you know, you go,
|
|
go for it.
|
|
Some people were like,
|
|
it's a shame it's
|
|
creative comments.
|
|
I do remember
|
|
there was one guy
|
|
that was trying to do
|
|
Morse code,
|
|
trying to learn
|
|
Morse code
|
|
and using the
|
|
showmaker script
|
|
to figure out
|
|
how to do the
|
|
text to speech part
|
|
for his Morse
|
|
that he was
|
|
putting in.
|
|
So he would send
|
|
letters and
|
|
would then use
|
|
festival to turn the
|
|
letters that he'd
|
|
sent in Morse
|
|
into the actual
|
|
spoken letter.
|
|
And I was like,
|
|
I mean, yeah,
|
|
there's lots of ways
|
|
you could skin
|
|
that particular cat,
|
|
but I guess that's
|
|
one way.
|
|
You know,
|
|
I mean, again,
|
|
I would love to hear
|
|
from anyone
|
|
that got
|
|
something,
|
|
anything,
|
|
from Ceci hits.
|
|
On the Ceci hits
|
|
website,
|
|
there are links
|
|
to the Twitter account.
|
|
There's an email address.
|
|
There is a Facebook
|
|
page.
|
|
Never made it to
|
|
LinkedIn,
|
|
weirdly enough.
|
|
But yeah,
|
|
if you want to
|
|
drop me an note
|
|
and say, you know,
|
|
you're happy
|
|
with something
|
|
that Ceci hits did,
|
|
I would love to hear
|
|
about it.
|
|
If you want to tell me
|
|
that you are
|
|
surprised you listened
|
|
to this long,
|
|
because you couldn't cope
|
|
with that stupid,
|
|
robotic voice,
|
|
but you kept listening
|
|
for the music,
|
|
then I want to hear
|
|
from that from you as well.
|
|
Like I said,
|
|
we never tracked numbers.
|
|
We never,
|
|
we never tracked numbers.
|
|
We,
|
|
I even now,
|
|
I don't know what our peaking
|
|
listening was,
|
|
at any point
|
|
in the history of Ceci hits.
|
|
I just want to know
|
|
that you found it interesting
|
|
and useful.
|
|
Is there anything
|
|
that Dave
|
|
that you can remember
|
|
that I've missed there?
|
|
No.
|
|
Not that I can think of.
|
|
You've pretty much
|
|
covered off all of the,
|
|
the good,
|
|
the good,
|
|
the bad and the ugly,
|
|
may I?
|
|
Of the,
|
|
it's you,
|
|
I did that.
|
|
Of the,
|
|
of the service.
|
|
And
|
|
personally,
|
|
from a really personal
|
|
standpoint,
|
|
I'm going to miss it.
|
|
Not,
|
|
I'm going to miss it
|
|
from when it was
|
|
in its heyday.
|
|
Yes.
|
|
After a while,
|
|
as I said to,
|
|
the,
|
|
Yannick,
|
|
you and John,
|
|
that,
|
|
it came to a point
|
|
where it started
|
|
to become a chore.
|
|
And,
|
|
I think,
|
|
it was probably,
|
|
an,
|
|
an,
|
|
an inevitability.
|
|
It was probably
|
|
always going to happen.
|
|
But,
|
|
it,
|
|
it is a real shame
|
|
that this service
|
|
that we've had
|
|
running so long
|
|
and that I've personally
|
|
contributed to
|
|
and that,
|
|
that's,
|
|
that's unusual
|
|
for me to actually
|
|
contribute to a
|
|
free software project.
|
|
But,
|
|
you commented earlier
|
|
of John about me having a
|
|
winch at you
|
|
for having personally
|
|
invested my time
|
|
in this project.
|
|
Yeah.
|
|
It's something
|
|
that I've always felt
|
|
that I have actually
|
|
managed to achieve something
|
|
with.
|
|
And,
|
|
despite the fact
|
|
that we're now
|
|
not putting
|
|
the CCHIT
|
|
voting links on the
|
|
bug cast show notes,
|
|
it was,
|
|
it was amusing,
|
|
actually,
|
|
that the day after
|
|
I actually gave up
|
|
submitting a week's
|
|
tracks to the,
|
|
to CCHITs
|
|
because the API
|
|
just wasn't
|
|
usable.
|
|
The day after that
|
|
was when you sent
|
|
the email through,
|
|
saying,
|
|
what are we going to do
|
|
with this?
|
|
Yeah.
|
|
So, the time
|
|
we was obviously
|
|
right.
|
|
Yeah.
|
|
It's had its day.
|
|
It had a great day.
|
|
But,
|
|
yeah.
|
|
The time has come.
|
|
And, yeah,
|
|
I'm sad.
|
|
It's so,
|
|
it's so,
|
|
it's so,
|
|
yeah.
|
|
But my parents
|
|
talked about,
|
|
happy news.
|
|
Yeah,
|
|
thank you for having
|
|
us.
|
|
Hi taught us
|
|
really great.
|
|
I'm as good as
|
|
I remember
|
|
sal matching
|
|
the links
|
|
APIs, and unfortunately, APIs change, services change. As I said earlier, Jamando now is,
|
|
well, they say they give the artist the opportunity to block downloads. Well, some of them probably
|
|
don't understand what creative commands means, and they block their downloads. Well,
|
|
and other services have been changing, change hands, and the APIs are either blocked, or they are,
|
|
they change too. As they've said, it has, cc had its days, and I remember when I
|
|
was tinkering with, what it's called, liquid soap, I think, which is a software to create a web
|
|
radio. I never really intended to have a web radio. I just like to know how stuff I made,
|
|
and like, one side just stumbled upon that software, and I thought, oh, it looks interesting. Let's
|
|
learn how that works. And so I pulled tracks from cc to create the OSPN web radio. Well,
|
|
that they've lived for a few months, I think, just to prove that it could be done.
|
|
And yeah, and for me, the cc's, for me, means that I had to get in touch with you and eventually
|
|
meet you at a comp, and that I remember very well, that was my first comp. So I knew, I knew no one,
|
|
I just knew you were there, and I arrived in this pub in the evening, in the day, the night before
|
|
a comp, and I was looking everywhere, I don't know, I don't know, I'm here, then I spotted you,
|
|
and I had a genius face on the camera, and I was, oh, there's a friendly face, and yeah, and from
|
|
there, we started talking, and now we're doing stuff with Dave and you for this website, and
|
|
then I miss it too. It was fun. It was fun. Yeah. Can is there anything that you think of missed
|
|
or that you any other anecdotes you want to tell? No, but I will applaud you guys for doing it,
|
|
and for all the enjoyment that I got out of out of it for the last 11 years, it's been fantastic,
|
|
and I have all these popular songs in my head that nobody else knows.
|
|
They're all just, you know, you think you listen to niche music, come over here for a minute like
|
|
but I will, one also like to congratulate you, I know people are sad, and they're going, oh,
|
|
this is the end of an era, and where am I going to get my music from? But
|
|
the putting it to bed gracefully is always something the podcasters should do.
|
|
Put the show to bed gracefully, and give the listeners the time to grieve, and to, because it is
|
|
that, there's going to be a large part of my day gone now. All I'm going to have in my script coming
|
|
up is the podcast once a week, and that's not enough. So yeah, this is Susie Hitz, and then the
|
|
podcast, and then I thought this was a brilliant concept, I still think it's a brilliant concept,
|
|
and in a way I'm a bit sad that the upstream vision that we all had of there going to be a pool
|
|
of creative come stuff to pick from, is being kind of eroded a little. But then it's on the internet
|
|
archive, and hopefully that will survive, and I was about to say that the pool is still there,
|
|
it's just not being added to it. Exactly, exactly. And if somebody else wanted to come along and
|
|
take up the mantle, I mean, that's always something that somebody could do. Do you know what,
|
|
so the number of times that I kind of, I can't remember whether I ever sort of shared it,
|
|
but I would go away, and I would, I'd come across a new PHP framework, and I'd be like,
|
|
I'm going to go and rewrite Ceci Hitz in, in, you know, Laravel or Slim or whatever,
|
|
and it just never, it never quite felt right, because it just felt like Ceci Hitz, I couldn't,
|
|
there was too much good memories invested in Ceci Hitz for me to make those changes.
|
|
And although it had had my frustrations with the code base, it was still predominantly a good memory,
|
|
and I think every time I looked at doing something different, I just got really frustrated with
|
|
not being able to get my head around the code quick enough to turn a to-do app, or somewhere between
|
|
the to-do app and the, the CS degree, turn that into Ceci Hitz, and just always felt like it was
|
|
too much to try and get my head around, which is weird, considering that when I was writing it,
|
|
I was under massive time pressure because I knew I had to write it before then it was born.
|
|
I had to write it in such a way that I could get people like Dave submitting tracks into it,
|
|
and myself submitting tracks into it, and yet there's still all those good memories there that I
|
|
don't think I could ever kind of go back to. So yeah, I'm really, I'm really sad that I'm closing
|
|
down Ceci Hitz, but it's because it was a successful project. You know, you know, people always say that,
|
|
you know, when you grieve for something, it's, you're, you're lamenting the fact that it's,
|
|
you've lost, you've lost love, but the important thing to take away from it is that the love
|
|
was there in the first place. So I am grieving for the fact that Ceci Hitz is, is being put out
|
|
to pasture, purely just because, you know, it was a, it was a project of love, and it's not one that
|
|
I can sustain. So if anyone does want to take on the Ceci Hitz code, feel free. If you want to take
|
|
the data, the data is still there. It will be uploaded to internet archive at the same time as
|
|
everything else is. So feel free to, you know, go through there and, and pillage what you can,
|
|
maybe draw some interesting graphs around when people were voting, whether people were voting,
|
|
and, and it'd be interesting to see what would have happened if that chart had actually been
|
|
able to run for those 12 years properly. What would have happened with the monthly shows and
|
|
things like that, because we never, as soon as things started to break, seriously break with
|
|
things like the monthly show, we didn't have the time to go back and fix it really. So,
|
|
there was always a talk about rewriting the, the monthly show algorithm so that it would be more,
|
|
more dynamic. We did re-write it. In fact, I think it was Yannick, the re-rotor. Yeah. And we just
|
|
didn't implement it. Yes. I don't think I was involved in the monthly or weekly show. Oh, no,
|
|
sorry. Apologies. No, John, you re-wrote it. Yeah. I think I made a couple of suggestions on how
|
|
it could be improving. You just went ahead and did, how does this work? I'm like, wow, that's
|
|
exactly what I would expect to see. And then we just left. It was probably 2014 or something.
|
|
It's been sitting there ever since. It was a while back. Yeah. But yeah, like I said, it is definitely
|
|
something that we, I am grieving because I loved it. So, again, please, if you were a listener,
|
|
if you want to take something forwards with it, if you used it in some unusual way that we wouldn't
|
|
have expected, I would love to hear about it, because this was such a big part of my life for the
|
|
last 10 years, even though it was just, you know, checking to make sure that the script had run every
|
|
morning. So, thank you very much, guys. This has been an absolute pleasure. I'm sorry to have
|
|
poached your time, Ken, from your son's birthday party. But they've, Yannick, thank you for all your
|
|
help with CC hits over the years. Ken, thank you for your support. And on behalf of any of the
|
|
other listeners, thank you so much for participating in the story that is CC hits.
|
|
Well, thanks to you for creating it. Yeah, absolutely. Because without you doing that,
|
|
we wouldn't be here anyways. Here. Thank you. And so with that, I think we will, we'll let Doris
|
|
say one final goodbye for us. It's okay, Ken. It'll be all right.
|
|
You're going to be okay. We're just going to have to meet up at our camp and
|
|
strand our sorrows over a few years. Yeah. Yes, come along to an odd camp, drown your sorrows.
|
|
Awake for CC hits. And wake for CC hits. You know what? That sounds good. Yeah. It doesn't need.
|
|
Yeah. So, thank you very much. And that's the final goodbye from CC hits.
|
|
Bye. Goodbye. Goodbye.
|
|
So that was it. The end of CC hits. I want to thank every person who ever listened to a show
|
|
who voted on a track, who submitted a track or recorded one, which was played on the show.
|
|
Without you CC hits, would never have worked at all. I also want to thank anyone who spoke to any
|
|
of the team about the show, whether you loved it or hated it, because your feedback made the show
|
|
better. And so to play out, here is the full version of our theme tune, GMZ by Scott Altim.
|
|
Farewell from CC hits.
|
|
Thank you very much.
|
|
Bye.
|
|
You have been listening to Hacker Public Radio at Hacker Public Radio.
|
|
Today's show was contributed by a HBR listener like yourself. If you ever thought of recording
|
|
broadcast, you click on our contribute link to find out how easy it really is.
|
|
Hosting for HBR has been kindly provided by an onsthost.com, the internet archive and our
|
|
sims.net. On this otherwise status, today's show is released on their creative commons,
|
|
attribution 4.0 international license.
|