Computing
Computing Team | |
---|---|
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, revamp or replace it when it gets old (about twice a year), and make sure that other teams are able to keep it full of content.
The website is written in Pyramid, which is a Python web framework. Coincidentally, computer science students at time of writing now learn Python as an introductory programming language. We also have some Web systems written in PHP and Ruby.
Our website runs on the Nginx web server, with some of our backend systems using bits of Apache.
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
LoggerNG is our new-for-2013 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 runs 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.
Our 2013/14 roadmap is all about keeping this stable background service (also known as the Streaming Library of URY Tracks), but refresh the way users can interact with it, using BAPS Ruby Abstraction (BRA) and extending the existing capabilities of our Show Planner (HTML5/JS).
If No Show, I Do an Instantly Organised, Unending Show - Totally Outrageous Non-stop Entertainment System (insidious Tones (iTones))
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 which is marked to soon become part of the MyURY framework. It uses PHP, telnet and 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.
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]!
Show Planner
Built upon the MyURY 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.
This little gizmo won us a Silver Best Technical Achievement at the Student Radio Awards 2013.
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)
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)!
You will need to be a member of URY (and thus pay URY membership dues) in order to run for a position or gain elevated access on URY systems. However, we allow non-members to "shadow" the team, attend team meetings and contribute to our public code repositories, so you can certainly try us out or get involved with no obligation to pay up-front.
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. That being said, some knowledge of any of the following would be a great start:
- Administration of Unix-style systems, especially Debian GNU/Linux and FreeBSD
- Administration of Windows client systems, Active Directory and Windows Server
- Python 2, especially Django
- SQL, especially PostgreSQL
- PHP
- Network administration (hardware and software)
- Continuous integration - Jenkins/Hudson, Travis
- Shell scripting
- Systems programming - C, Go, etc.
It'd be great if you're:
- Ready to learn and develop "on the job"
- Able to work both independently and as a team member
- Willing to investigate the way things are done and experiment with new ideas
- Willing to ask questions in order to get a better understanding
- Able to balance course and URY work, and not overly prioritise the latter over the former
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
- 2011-present: Matt Windsor
- 2010-2011: Gareth Andrew Lloyd
- 2009-2010: Alex Williams
- 2008-2009: Gareth Andrew Lloyd
- (More to be inserted here)
Other Members
In a rough reverse chronological order.
- Adam Taylor
- Andrei-Costin Zisu
- Vivan Jayant (Webmaster, 2012)
- Sam Gamble (2011-12)
- Anthony Williams
- Danny Bell
- Donal Cahill
- Lloyd Wallis
- Andy Durant (as a "computerneer")
- (Expand this list!)
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.