Computing

From URY Wiki
Jump to navigation Jump to search
Computing Team
Ctlogo.png
Maintains URY's computer systems, both hardware and software. Keeps the URY streams and website running.
Constitution
Created ???
Defined Here
Roles Head of Computing
Assistant Head of Computing
Webmaster
Computing Officer (multiple)
Contacts
General Enquiries computing@ury.org.uk
Get Involved computing@ury.org.uk
Head of Team head.of.computing@ury.org.uk

Computing Team is the URY team responsible for maintaining URY's computer ordinance, both hardware and software.

What do we do?

We like to think of ourselves as the everything team, because while we're limited to poking anything that involves computers, we actually do an incredible amount of stuff:

Website

We look after the URY website and make sure that other teams are able to keep it full of content.

The main public website is written in Go, and our website runs on the Nginx web server.

Servers

We run our own physical servers, which involves a lot of nipping into our server shed to turn things off and on, swap cables around and shout at power supplies. If you like pulling things out of racks, staring at them, sticking RAM in them and putting them back in racks, then we offer one of the finest physical server admin experiences available to York students.

Of course, it isn't all about the hardware. We also do a lot of system administration on the software side, making sure that all the processes that keep URY running stay up and don't tie themselves in knots. We run FreeBSD and Debian GNU/Linux, with a Windows Server domain controller for the desktop systems.

Desktops

Each studio has a few computers, typically running Windows, that are used by presenters for playing out sound, connecting to the Internet, and using our Studio Information Service. These have to be maintained, of course, and it's us that rise to the challenge.

Software

Compteam develop and maintain most of our software in-house, a fact that we are very proud of - know of any other society at the university that can say that? Know of any other student radio station that can say that? We don't. We've listed some of our things below, and linked to our Ceedox wiki which keeps all our technical documentation and secrets. You have to have a URY account to see those pages, I'm afraid, but York students can get one instantly by going to [1].

LoggerNG

Ceedox Documentation

LoggerNG is our output logging system. Our Ofcom licence means we have to have a log of 42 days of output at all times - if we aren't recording, we aren't broadcasting. The old logger system runned on some vintage desktop hardware from around 2001, so we needed something new.

LoggerNG includes two dedicated servers, a sox-based recording program, 65 days of FLAC files and a HTML5 download interface on a third server. It's a big thing, and needs to work 100% of the time, all the time (well, term time).

Broadcasting and Presenting Suite (BAPS)

This is another one of our older systems. Written around 2003 in Managed C++, at the time it was seen as everything a presenter would need to do a show - on a computer. Of course, the original designers did not plan for a decade in the future, where social media, HTML5 and APIs are the way of the future, so it is now starting to seem somewhat dated.

The server side of the system manages the ability to play out different audio to different sound cards. It lacks lots of functionality, but is in fact very very good at what it does.

It is a computing team joke about people starting BAPS3. Various people have tried this, and the current try is a server called BAPSicle using the WebStudio interface. Let's see if it works.

If No Show, I Do an Instantly Organised, Unending Show - Totally Outrageous Non-stop Entertainment System (insidious Tones (iTones))

Ceedox Documentation

Publically known as URY's Campus Jukebox, this is the system that plays songs when there's not a presenter on air. It's another of our mission critical things as we can't broadcast silence, but it also has lots of neat tricks in the form of a web interface to define a range of pre-defined playlist schedules and some automated playlist generation. Its scheduler is part of the MyRadio framework and integrates with the telnet interface of a little-known thing called Liquidsoap (a Savonet project). Trust us when we say it is very powerful and a lot of fun to play with. There's also a lot of shouting and arguing with it too. Its a range of emotions.

MyRadio

This magical little thing is designed to be the glue for URY's services. Written in PHP, Twig and HTML5, this is essentially our intranet. Here's some of the things it pulls together:

  • Presenter Training
  • Show Scheduling
  • URYPlayer Podcasts
  • Show Resources (beds, jingles etc.)
  • Show Planning
  • In-Studio Information (live messages, news & stats)
  • Chart & Playlists
  • Central Music Library
  • iTones
  • Mailing Lists
  • Webcams (and archives)
  • Show Monitoring
  • Statistics

All of this is also exposed using an API [2] which provides us with easy control and remote access to all of the above as well as Users, Committees, Images, Tracklists and our Studio Selector.

This API is then in turn used by a range of our resources, including our RadioPlayer page, E-mail service, MixCloud uploader, Presenter website pages, IRC bot and more. Put simply, this bundle of PHP holds our station together.

Oh, did I mention we're trying to generalise it so other stations can learn what we do under the hood? It's open sourced at [3]!

WebStudio

2020 happened. Pandemic happened. WebStudio got made, to allow people to present from home. Written in TypeScript, React and Redux, with the server side in Python.

Show Planner (this is pretty much dead now, this is here for the history)

Ceedox Documentation

Built upon the MyRadio framework, Show Planner is a HTML5 version of the in-studio BAPS client, but in a web browser. It allows anyone to plan shows, upload files and do lots of other neat stuff. If you like lots of pretty client side stuff, with a multi-user editable backend, then you'll love this.

During initial development, it went through several names - BAPSWeb 2, BAPS Planner and NIPSWeb, before eventually being named the more simple Show Planner. It replaced BAPSWeb, a single several-thousand line PHP file and a Comic-Sans interface which were developed around the same time as BAPS itself.

Version 1 was featured as part of our Less Black and More Graphics entry in the Student Radio Awards 2012, but was replaced by the MyRadio integrated version over the next year.

Version 2 of this little gizmo won us a Silver Best Technical Achievement at the Student Radio Awards 2013.

Version 3 is current near-completion, the client-side complete rewritten as part of MyRadio's move to Bootstrap.

Fun

Though Compteam have the burden of a lot of responsibility for critical systems most of the time, really most of us are here to have fun.

Being in and around a student radio station gives people who want to play around with new ideas in an existing context a real jumpstart, and as a consequence whenever we're not fixing stuff we're often in URY working on making new things. Here are a few examples:

  • BAPS, URY's very own custom playout system (Matt Fortune, 20??/??)
  • The studio clock system (Lloyd Wallis, 2011/12)

We also spend a lot of time in the studios just tinkering around, and helping engineering team with Outside Broadcasts.

Prospective members

Computing Team is always looking for new members, so if you're interested by what we do, send us an email (see the infobox on the right hand side)!

URY membership is £7 if you make a regular habit of poking our systems, but anyone is free to come and have a go. The team often has meetings at on Wednesdays in VBar around 7pm.

What we use

As Computing Team's goals involve education and development just as much as professionalism and dependability, there is no requirement for prior knowledge. We use all of these things, and you'll learn so much more too!

  • Administration of Unix-style systems, especially Debian GNU/Linux and FreeBSD
  • Administration of Windows client systems, Active Directory and Windows Server
  • Python
  • PHP
  • Go
  • SQL, especially PostgreSQL
  • Network administration (hardware and software)
  • Continuous integration - Jenkins/Hudson, Travis
  • Shell scripting
  • Systems programming - C, Go, etc.

History

  • Computing Team was formed by separation from the Technical Team as URY's dependency on computer systems increased during the late 90s and early 2000s.
  • URY's longest ever serving servers (heh) were the First Generation Computing Loggers, in production for 14 years and with 10 years of HDD runtime hours each.

Members (past and present)

Heads of Teams

Other Members

In a rough reverse chronological order.

Big Updates

During breaks between terms, CompTeam will often update or upgrade a large number of services. We like to post a list of changes toward the end of the break.