Skip to content

Commit

Permalink
Move site to Hugo
Browse files Browse the repository at this point in the history
  • Loading branch information
iandioch authored and VoyTechnology committed Jul 19, 2018
1 parent beb0360 commit 83ac24b
Show file tree
Hide file tree
Showing 30 changed files with 636 additions and 40 deletions.
23 changes: 23 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: 2
jobs:
build:
docker:
# TODO: Replace with a hugo dedicated build image
- image: alpine:latest
working_directory: /cpssd.net
environment:
- HUGO_VERSION: "0.44"
steps:
- run:
name: "Install OS dependencies"
command: apk add -U wget git openssh-client
- checkout
- run:
name: "Download Hugo"
command: /cpssd.net/.circleci/install.sh
- run:
name: "Build Site"
command: HUGO_ENV=production hugo -v
- run:
name: "Deploy if on master"
command: if [ $CIRCLE_BRANCH = 'master' ]; then /cpssd.net/.circleci/deploy.sh; fi
14 changes: 14 additions & 0 deletions .circleci/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
DEPLOY_DIR=deploy

git config --global push.default simple
git config --global user.email $(git --no-pager show -s --format='%ae' HEAD)
git config --global user.name $CIRCLE_USERNAME

git clone -q --branch=gh-pages $CIRCLE_REPOSITORY_URL $DEPLOY_DIR

cd $DEPLOY_DIR
mv ../public/* .

git add -f .
git commit -m "Build $CIRCLE_BUILD_NUM [ci skip]" || true
git push -f
11 changes: 11 additions & 0 deletions .circleci/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
HUGO_DOWNLOAD=hugo_${HUGO_VERSION}_Linux-64bit.tar.gz

set -x
set -e

# Install Hugo if not already cached or upgraded an old version
if [ ! -e /bin/hugo ] || ! [[ `hugo version` =~ v${HUGO_VERSION} ]]; then
wget https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/${HUGO_DOWNLOAD}
tar xvzf ${HUGO_DOWNLOAD} hugo -C /bin/
rm ${HUGO_DOWNLOAD}
fi
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
.sass-cache
.DS_Store
_site
node_modules
public/
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

12 changes: 5 additions & 7 deletions licence.md → LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
## Released under MIT Licence

The Emerald theme for Jekyll is Copyright (c) 2015 Jacopo Rabolini
Copyright (c) 2018 CPSSD Students

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -9,13 +7,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# cpssd.net


This is an unoffical hub for CPSSD, because the real website is very static,
full of typos, inaccessible to any of us, and just generally dense and formal.

---

## Running

If you want to run the website locally make sure you have [Hugo][1] installed
and run
```
hugo server
```

[1]: https://gohugo.io

---

## Contributing

Feel free to submit pull requests, make issues, and edit anything and everything.

Anybody can add a post to the blog. Just create a new file in `content/blog/`,
probably prefix it with a year if its a recurring event or something. You can
just copy the definition at the top from another file.

If you are creating a top level file, make sure to add `type: 'root-page'` if
you want it to be in the menu

### Editing your info in `/students`

There is a file `data/students.yaml` containing all the links to your sites.
If you want to create another column you can do so in
`themes/cpssd/layouts/shortcodes/student-table.html`, but probably only do it
if there are a lot of people on some platform (say Twitter is no longer cool
and everybody switches to MySpace)

---

## Deployment

The website is automatically published to `gh-pages` by CircleCI, the branch
should not be edited by hand. To prevent Github complaining about `CNAME` file
in forks, the file is automatically added before CircleCI commits to `gh-pages`.
15 changes: 15 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
baseURL: https://cpssd.net
languageCode: en-ie
title: The Unofficial CPSSD Homepage
theme: cpssd
params:
description: |
Computational Problem Solving and Software Development (CPSSD) is an
undergraduate computing course in Dublin City University. It is aimed at
applicants with prior programming experience, and is generally the hippest
place to be this side of Ballymaloe.
links:
- name: Learn More
location: /about
- name: Students
location: /students
28 changes: 28 additions & 0 deletions content/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 'About'
type: 'root-page'
---
# About CPSSD
Computational Problem Solving and Software Development (CPSSD) is an
undergraduate computing course in [Dublin City University][1] that requires
applicants to have prior knowledge of programming. This means that students
can save time re-learning the basisc, and jump straight into making some
[Cool Things][2].

The course [had][3] a special admission procedure, Applicants do not need
to worry about points, but must submit a portfolio, pass an interview, achieve
the minimum DCU requirements, and pass honours maths.

# About This Site
The [official CPSSD site][4] (now dead) described the course in details. It was
very dense, formal, with many typos, and with no way for us to edit them. Did
we mention its now gone too?

This site exists to give friendlier introduction to CPSSD, from the viewpoint
of the students, remembering how good of a course it was. It was not and is not
in any way official or endorsed by DCU.

[1]: https://dcu.ie
[2]: /projects
[3]: /blog/rip
[4]: https://web.archive.org/web/20170720163904/http://www.computing.dcu.ie/undergraduate/pssd/computational-problem-solving-software-development-cpssd
50 changes: 50 additions & 0 deletions content/blog/2017-hashcode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
date: "2017-02-26T00:00:00Z"
title: CPSSD Tackles Hashcode 2017
---

Google's [Hashcode][1] qualification round took
place on the 23rd of February, and lots of CPSSD first and second years crowded
in the DCU Hashcode hub to compete.

<!--more-->

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">All set go here <a href="https://twitter.com/hashtag/hashcode2017?src=hash&amp;ref_src=twsrc%5Etfw">#hashcode2017</a> <a href="https://twitter.com/DublinCityUni?ref_src=twsrc%5Etfw">@DublinCityUni</a> <a href="https://t.co/mDsjZozG6K">pic.twitter.com/mDsjZozG6K</a></p>&mdash; AIPO (@DCU_AIPO) <a href="https://twitter.com/DCU_AIPO/status/834822357680263169?ref_src=twsrc%5Etfw">February 23, 2017</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

The Hashcode online round consists of one large optimisation problem tackled
over four hours. This year's problem involved trying to optimally store videos
in caches of a fixed size in order to reduce the latency when large bunches of
videos are requested by specific endpoints. It was more interesting than it
sounds, I swear.

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">How confident are we? Yes.<a href="https://twitter.com/hashtag/hashcode2017?src=hash&amp;ref_src=twsrc%5Etfw">#hashcode2017</a> <a href="https://twitter.com/Google?ref_src=twsrc%5Etfw">@Google</a> <a href="https://twitter.com/dcucomputing?ref_src=twsrc%5Etfw">@dcucomputing</a> <a href="https://twitter.com/DublinCityUni?ref_src=twsrc%5Etfw">@DublinCityUni</a> <a href="https://t.co/jw91i7DoWm">pic.twitter.com/jw91i7DoWm</a></p>&mdash; Lucas Savva (@m1cr0m4n) <a href="https://twitter.com/m1cr0m4n/status/834817081434570753?ref_src=twsrc%5Etfw">February 23, 2017</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


We stalwart students of CPSSD dived in. The team `Three Weeks`
([Brandon Ibbotson][2] and [Lucas Savva][3]) finished with a hearty score of
1,635,420, enough for 1,207th place globally and 17th place in Ireland.
Meanwhile, [Noah Donnelly][4] and [Cian Ruane][5] in team of
`'"><script>alert()</script>` finished with 2,416,068 points, making us the
highest scoring team in Ireland, and coming 164th worldwide.
[Cian wrote some words about how we did it][6].

We had a lot of fun, and I'm very thankful to Gary Conway and the DCU School
of Computing for organising to host a hub in DCU, and providing pizza-based
sustenance to us during the competition. Fingers crossed that next year DCU
returns to cheekily pass out UCC in the final hour.

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Provisional Irish tables in! Congrats to our boys in the #2 spot, and to <a href="https://twitter.com/iandioch">@iandioch</a> and <a href="https://twitter.com/CianLR">@CianLR</a>, our venerable Dublin rivals in #1. <a href="https://t.co/clzfPKf1L3">pic.twitter.com/clzfPKf1L3</a></p>&mdash; UCC Netsoc (@UCCNetsoc) <a href="https://twitter.com/UCCNetsoc/status/834886735372955650">February 23, 2017</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Le bród mór ⁊ gach dea-ghuí,

[Noah Ó Donnaile][4]

[1]: http://hashcode.withgoogle.com
[2]: http://github.com/byxor
[3]: https://github.com/m1cr0man
[4]: http://noah.needs.money
[5]: http://binarysear.ch
[6]: http://binarysear.ch/competitions/2017/02/25/hashcode2017.html
135 changes: 135 additions & 0 deletions content/blog/2017-kattis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
---
date: "2017-04-07T00:00:00Z"
title: Students in CPSSD Provide 72% of Ireland's Total Score on Kattis
---

[Kattis][1] is an online judge for competitive programming
problems, that some CPSSD students have been using to practise for various
competitions. You can read about our success at [2017's HashCode][2],
for example.

The website includes a list of problems, of varying degrees of difficulty.
When a user solves a problem, they get between 1 and 10 points based on how
hard that problem is; the harder the problem, the higher the points. The
website then shows how each user ranks to others on a global scale, and also
others in the same university and country.

However, Kattis also uses the scores of individuals in a university or country
to get a combined score for that group. It then ranks universities against each
other, and countries against each other.

Because of the hard work of several DCU students, including CPSSDs, Dublin City
University has become the [number one university in Ireland][3] on the site, and
just today became the [50th placed university in the world][4].

<blockquote class="twitter-tweet" data-lang="ga"><p lang="en" dir="ltr">Did some work on <a href="https://t.co/9AcbsGqtsK">https://t.co/9AcbsGqtsK</a>; <a href="https://twitter.com/DublinCityUni">@DublinCityUni</a> is now the #50 university in the world there (and best in Ireland by miles) ❤️ <a href="https://t.co/jA2QqKtq7c">pic.twitter.com/jA2QqKtq7c</a></p>&mdash; noah ó ☭onnaile (@iandioch) <a href="https://twitter.com/iandioch/status/850157784851197952">7 Aibreán 2017</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

In fact, DCU is the only Irish university in the top 100, and is the 21st placed
in Europe. Trinity College comes next, at 156th place globally. Out of our
neighbouring universities in Britain and Northern Ireland, only Edinburgh and
Oxford are ranked better than DCU.

Ireland as a whole has also risen up [the rankings][5] recently, and is
currently the 27th placed country in the world, just behind France. It may
soon pass out France too - vive la révolution!

I decided to do some research to measure how much impact CPSSD students had in
raising the reputation of Ireland and of DCU on Kattis. The website is kind
enough to [explain its ranking algorithm in detail][6]. In short, here is what
it does to measure a group's combined score:

- It takes the individual scores of everyone in the group, and sorts them.
- A formula is given to provide the fraction of each member in the group's score
that should be added to the combined score. The higher you are in the group,
the more of your score is taken into account in calculating the combined
score.
- For example, the first placed person in the group adds 20% of their score to
the combined amount, while the second placed person adds 16% of their score.
- It adds together each individual score multiplied by its above fraction to get
a final answer.

I wrote [a script][7] to measure how much of Ireland's total score is provided
by CPSSD students. Here are the results:

Irish Rank|Individual Score|% Added|# Added|Cumulative Total|Name
---|---|---|---|---|---
#1|433.8|20.0%|86.76|86.76|Noah Ó Donnaile
#2|307.6|16.0%|49.22|135.98|Cian Ruane
#3|290.4|12.8%|37.17|173.15|Stefan Kennedy
#7|145.9|5.2%|7.65|180.80|Brandon Ibbotson
#29|13.0|0.0%|0.01|180.80|Ross O'Sullivan
#30|9.6|0.0%|0.00|180.80|Cliodhna Harrison
#31|7.2|0.0%|0.00|180.81|Ciaran Murphy
#35|5.8|0.0%|0.00|180.81|Lucas Savva
#39|3.8|0.0%|0.00|180.81|Oskar McDermott


The leftmost number is each person's ranking on the Irish leaderboard. Their
score follows, then the percentage of this score that is added to the combined
Irish score. Following is the actual value of this contribution, and then
Ireland's score so far, consisting of this number and all previous CPSSD's
contributions. Finally is the name of each person. At the end, the total score
provided by CPSSD students is output, followed by Ireland's total score, and
then the percentage of this score that the CPSSD score makes up.

You can see here that right now, CPSSDs provide a total of 180.81 of Ireland's
250.80 points - that is 72% of Ireland's total score!

It is clear that CPSSD has managed to gather some talented students, as I
believe was its aim. However, while individually many of us are undoubtedly
talented, what has struck me is that the competition and collaberation available
when we are together is the real catalyst. This could be summed up in the saying
"the whole is greater than the sum of its parts", but I think the following is
more exciting:

> "Society does not consist of individuals but expresses the sum of
> interrelations" - Karl Marx
Of course, this does not apply just to CPSSD, but also to the wider DCU
community. As such, here is a similar table, but including everyone in the top
50 in Ireland from Dublin City University:

Irish Rank|Individual Score|% Added|# Added|Cumulative Total|Name
---|---|---|---|---|---
#1|433.8|20.0%|86.76|86.76|Noah Ó Donnaile
#2|307.5|16.0%|49.20|135.96|Cian Ruane
#3|290.4|12.8%|37.17|173.13|Stefan Kennedy
#4|263.9|10.2%|27.02|200.15|Ciara Godwin
#5|165.4|8.2%|13.55|213.70|Niall Lyons
#7|145.9|5.2%|7.65|221.35|Brandon Ibbotson
#14|55.0|1.1%|0.60|221.96|Michal Durinik
#18|38.2|0.5%|0.17|222.13|Chris Dowling
#21|33.3|0.2%|0.08|222.21|Tom Doyle
#29|13.0|0.0%|0.01|222.21|Ross O'Sullivan
#30|9.6|0.0%|0.00|222.22|Cliodhna Harrison
#31|7.2|0.0%|0.00|222.22|Ciaran Murphy
#33|6.2|0.0%|0.00|222.22|Han McKenna
#35|5.8|0.0%|0.00|222.22|Lucas Savva
#37|5.5|0.0%|0.00|222.22|Adlan Djimani
#39|3.8|0.0%|0.00|222.22|Oskar McDermott
#41|3.5|0.0%|0.00|222.22|Marin Bivol
#41|3.5|0.0%|0.00|222.22|Tríona Barrow
#46|2.2|0.0%|0.00|222.22|Mark Andrade
#49|1.0|0.0%|0.00|222.22|Daniel Asofiei


DCU makes up almost 90% of Ireland's score on Kattis, at 222.22 of Éire's
250.80 points - I think that's pretty great!

These numbers will get more out of date as time goes on, and as DCU and Ireland
climb the ranks further (fingers crossed). I look forward to making another post
in the future when DCU is a top-10 university :)

Ádh mór leat,

[Noah Ó Donnaile][8]

[1]: https://open.kattis.com
[2]: /blog/2017-hashcode
[3]: https://open.kattis.com/countries/IRL
[4]: https://open.kattis.com/ranklist/universities
[5]: https://open.kattis.com/ranklist/countries
[6]: https://open.kattis.com/help/ranklist
[7]: https://gist.github.com/iandioch/ac633cf2e130b050ee1f6a7a565b6da2
[8]: http://noah.needs.money
24 changes: 24 additions & 0 deletions content/blog/rip.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
date: "2017-03-01T00:00:00Z"
title: CPSSD Taking No New Entries
---

*Tá CPSSD marbh, go maire `<TBD>`*.

On the 17th of November, all the current students of CPSSD (née PSSD) receieved an email from Rory O'Connor, the Head of the School of Computing in DCU, detailing the suspension of the course. Unfortunately, the email had the bog-standard TOS at the bottom of all university emails warning me not to share it here (curse non-free-as-in-speech licences).

It described that:

- There will be no first year CPSSD group in 2017/2018.
- Everyone currently in the course will progress as normal.
- If a first year CPSSD student fails, they can't repeat the year. They can however transfer into the DC121 programme, a BSc. in Computer Applications (DCU's normal software development degree).

[CPSSD was subtly rescinded from the CAO handbook around the same time](https://web.archive.org/web/20161214003629/http://www2.cao.ie/handbook/handbook/important_changes.php). It was very hard to find any authoritative page, or any online mention at all, that CPSSD was no longer accepting entries. DCU have not made any clear announcement of it.

[I wrote some more details and some healthy speculation about the whole situation on my personal blog when it happened](http://mycode.doesnot.run/2016/12/12/rip-cpssd/). I forgot to mention it here too.

Let's hope that CPSSD resurfaces in the future, or that another university picks up the slack and offers a similar advanced course in computing. The now-limited-edition current students of CPSSD are proof that there is a niche for it.

Le brón mór ⁊ dóchas beag,

[Noah Ó Donnaile](http://noah.needs.money)
Loading

0 comments on commit 83ac24b

Please sign in to comment.