Skip to content

Commit 926d278

Browse files
committed
port old CC technical blog posts - change md blog posts to new format
1 parent f11589e commit 926d278

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
title: How creativecommons.org is built
2+
---
3+
categories: infrastructure
4+
---
5+
author: Matt Lee
6+
---
7+
body:
8+
9+
On Tuesday, December 9th 2014 you may have noticed a bit of downtime on creativecommons.org.
10+
11+
This is both an outage report, but also a little insight into how the Creative Commons website is built. I was happily assisted in this work by former technical lead at Creative Commons, Christopher Allen Webber who you may know as one of the developers of GNU MediaGoblin, where he drew me [as a time-travelling goblin](http://mediagoblin.com/u/cwebber/m/machalus-duke-of-time/).
12+
13+
In short, CC's website was down for two reasons:
14+
15+
* An outdated dependency on RDQL, not SPARQL.
16+
* An update to Ubuntu 14.04 LTS installed a version of a Zope library we use.
17+
18+
The Creative Commons website is a mixture of WordPress and several
19+
Python applications. In the near future, we plan to replace the
20+
WordPress portion with Jekyll.
21+
22+
The Python applications are vast, well engineered and easy to find
23+
your way around, even if you're not the best Python programmer (like
24+
me) -- they are: cc.engine, cc.license, i18n and license.rdf.
25+
26+
**cc.engine**
27+
28+
This is the code that handles the license chooser and the display of
29+
licenses on the site. As such, it's pretty important. Chris was able
30+
to see that the program loaded at all by accessing its hidden start-up
31+
message "This is the root" -- [you'll see that here in the views.py file](https://github.com/creativecommons/creativecommons.org/blob/master/python_env/src/cc.engine/cc/engine/views.py).
32+
33+
**cc.license**
34+
35+
This is the code that takes the RDF description of the license (from
36+
license.rdf) and returns it to the chooser or to the license
37+
display. Here's where the code was updated to reflect a change from
38+
RDQL to SPARQL, which are both RDF query
39+
languages. [As noted in the pull request](https://github.com/creativecommons/cc.license/pull/1)
40+
-- "one obscure query language is enough" -- as
41+
[you can see from the source code file](https://github.com/creativecommons/cc.license/blob/master/cc/license/_lib/functions.py),
42+
SPARQL was already in use.
43+
44+
### Future goals
45+
46+
One goal is to make the CC website very easy to people to hack on and make improvements to it. And yes, we're a little way off on that today, but thanks to Chris, I have a better understanding of the site myself now, and I hope to pass that knowledge along with future updates to the site, especially once we move to Jekyll in the new year.
47+
48+
You can check out the [CC website code][cc] for more info on how to recreate the CC website locally. Please help us out by filing any/all bugs/feature requests at [the GitHub repo][cc-gh]. If you have questions, you can ask them on [our dedicated development IRC channel][cc-help].
49+
50+
[cc]: http://github.com/creativecommons.org
51+
[cc-gh]: http://github.com/creativecommons.org/issues
52+
[cc-help]: https://wiki.creativecommons.org/IRC
53+
---
54+
pub_date: 2014-12-10
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
title: Weekend hacks #1
2+
---
3+
categories: weekend-hacks
4+
---
5+
author: Matt Lee
6+
---
7+
body:
8+
9+
As mentioned elsewhere, this is the first is in a recurring series of
10+
general fun posts with some ideas for interesting hacks.
11+
12+
In building [The List app](http://github.com/creativecommons/list), I
13+
have picked up a bunch of cheap Android phones from Amazon. This,
14+
coupled with my natural hoarding abilities has left me with a desk
15+
covered in phones (thanks to Rob Myers and all the other people who
16+
gave me their old G1 phones in the past) but sadly, the severe lack of
17+
USB ports on most modern laptops (my ThinkPad has three, and my
18+
external keyboard and mouse use two of them) left me with the job of
19+
finding an interesting solution to the problem.
20+
21+
At Mozfest in London, I saw a demo by Dave Green and Dave Page of
22+
their [CheapSynth project](http://cheapsynth.com), which takes an old
23+
USB or Bluetooth video game controller (the kind used in games like
24+
Rock Band) and uses it with some Python to make music on a Raspberry
25+
Pi. While I haven't got to the point of really using it much yet (the
26+
Pi has made it to my desk, at least, but it's trapped under some
27+
phones) I did immediately plug in the supplied Bluetooth dongle, as it
28+
gives me an extra USB port to play with.
29+
30+
Now I just need to see if the second USB hub I've ordered really will
31+
let me have the 12 extra USB ports I so desperately need to feed my
32+
phone habit.
33+
---
34+
pub_date: 2014-12-12

0 commit comments

Comments
 (0)