Merge remote-tracking branch 'origin/master'

This commit is contained in:
Timm 2015-04-02 21:01:57 +02:00
commit 65a12a7d14
7 changed files with 51 additions and 20 deletions

View File

@ -21,6 +21,9 @@ Damit wird der Titel des Blogeintrags, das Datum der Veröffentlichung und die K
#### Bilder
Bilder für Blogeinträge werden unterhalb von Media in einem eigenen Verzeichnis (Jahr-MM-TT) abgelegt.
<pre><code>~/site/media/jahr-mm-tt
</code></pre>
Als erstes sollte man die Exif-Daten (z.B. Geoinformation) der Bilder entfernen.
Als erstes werden alle relevanten Metadaten entfernt. Dabei wird auch die „Rotation“ des Bildes entfernt.
@ -31,4 +34,8 @@ Ggf. muss das Bild gedreht werden, wenn es ohne die Metatags auf dem Kopf steht
Der letzte Schritt setzt die Bilder auf eine einheitliche Breite.
<pre><code>mogrify -resize "1140>" $Bild
</code></pre>
</code></pre>
Wenn das Bild in der korrekten Größe und Ausrichtung vorliegt, kann es wie Folgt eingebunden werden.
<pre><code>![Quelle: Chaospott]({{ site.url }}/media/Jahr-MM-TT/$Bild.jpg)
</code></pre>

View File

@ -34,12 +34,12 @@
});
</script>
<li id="status_open">
<a href="status.html" style="color:#5CB85C !important;">
<a href="/status.html" style="color:#5CB85C !important;">
Raum offen
</a>
</li>
<li id="status_closed">
<a href="status.html">
<a href="/status.html">
Raum geschlossen
</a>
</li>

View File

@ -0,0 +1,16 @@
---
layout: post
title: "CMS in Rheydt"
date: 2015-03-22 23:42:00
categorie: CMS
---
Ende Januar hielten wir im Rahmen von „Chaos macht Schule“ einen Vortrag in einer kleinen Stadt am Niederrhein. In Rheydt haben wir über soziale Netzwerke gesprochen und damit die Projektwoche der [Gesamtschule Espenstraße](https://www.espenstrasse.squarespace.com/) unterstützt. Insgesamt diskutierten wir an zwei Tagen mit vier Klassen der 7. Jahrgangstufe über die Vor- und Nachteile von sozialen Netzwerken.
Unser Vortrag begann mit einer kurzen Vorstellung des Chaos Computer Clubs. Seit wann gibt es den CCC, was ist ein Hacker und was macht der eigentlich, während wir den ganzen Tag in der Schule hocken? Bei den Antworten der Schülerinnen und Schüler tauchte häufig die Kombination aus „einbrechen“, „Bank“ und „Daten klauen“ auf. Wir können uns natürlich nicht erklären, woher solche Vorstellungen kommen und versuchten an dieser Stelle das Bild des Hacker zu verbessern. Dies ist zwar innerhalb von zwei Stunden etwas utopisch, aber wenn am Ende des Tages die Vorstellung entsteht, dass Hacker ihre Skimaske nicht immer tragen, haben wir schon ein kleines Ziel erreicht.
Der Hauptteil des Vortrages beschäftigte sich mit sozialen Netzwerken. Zuerst überlegten wir, welche Hardware für den Betrieb und die Bereitstellung eines solchen Netzwerkes benötigt wird und wieviel Geld das wohl kostet. Wie groß das Rechenzentrum sein muss, damit die benötigten Computer darin Platz finden und wieviel Strom verbraucht wird, waren weitere Fragen, die wir gemeinsam mit den Schülerinnen und Schülern geklärt haben.
![Quelle: Chaospott]({{ site.url }}/media/2015-03-22/cms_rhyedt.jpg)
Im Anschluss an diese Überlegungen sammelten wir die Daten, welche der Nutzer in seinem Profil eintragen kann. Das fängt bei Name, Alter, Geschlecht an und hört bei Hobbies, Schullaufbahn und Lieblingsbuch auf. Diese Daten haben wir im Vorfeld auf kleine Kärtchen gedruckt und an die Schülerinnen und Schüler verteilt. Die Kärtchen wurden dann den Kategorien „Darf jeder sehen“ „Dürfen meine Eltern sehen“ „Dürfen meine Freunde und ich sehen“ und „Darf nur ich sehen“ zugeordnet. Name, Alter und Geschlecht tauchen vorwiegend in der ersten Kategorie auf und wurden als unproblematisch empfunden. Partybilder und Telefonnummer dürfen nur von Freunden gesehen werden. Das eigene Gewicht und der Inhalt des Chats ist in der Kategorie „Darf nur ich sehen“ gelandet.
Wie man diese Daten schützt und welche Einstellungen dafür bei sozialen Netzwerken angeklickt werden müssen, haben wir im letzten Teil des Vortrags erklärt bzw. vorgeführt.

View File

@ -0,0 +1,8 @@
---
layout: post
title: "fnordtreff"
date: 2015-04-02 17:42:23
categorie: fnordtreff
---
![Quelle: Chaospott]({{ site.url }}/media/2015-04-02/Fnord-treff.png)
Am 14. April findet der nächste fnordtreff im Cafe Nord statt. Los geht es dort um 19 Uhr. Die Adresse des Cafe Nord ist der [Viehofer Platz 1, 45127 Essen](http://www.openstreetmap.org/?mlat=51.46182&mlon=7.01383#map=19/51.46182/7.01383), am nördlichsten Teil der Essener Innenstadt. Die Gesprächsthemen reichen von Netzpolitik und Datenpannen zu Datenschutz und Hardwarebasteleien.

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -4,7 +4,7 @@ layout: default
<script src="js/moment.js"></script>
<script src="js/d3.min.js"></script>
<script>
var timeFormat = '%Y-%m-%d %H:%M:%S';
var timeFormat = 'YYYY-MM-DD HH:mm:ss';
function toHHMMSS (sec_num) {
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
@ -54,14 +54,14 @@ layout: default
var hourArray = [];
while(hourStart < moment()) {
if(hourArray[hourStart.weekday()] === undefined)
hourArray[hourStart.weekday()] = [];
if(hourArray[hourStart.isoWeekday()] === undefined)
hourArray[hourStart.isoWeekday()] = [];
if(hourArray[hourStart.weekday()][hourStart.hour()] === undefined)
hourArray[hourStart.weekday()][hourStart.hour()] = 0;
if(hourArray[hourStart.isoWeekday()][hourStart.hour()] === undefined)
hourArray[hourStart.isoWeekday()][hourStart.hour()] = 0;
if(moment.unix(openTimeArray[openTimeArrayIndex][1]) < hourStart && moment.unix(openTimeArray[openTimeArrayIndex][2]) > hourStart) {
hourArray[hourStart.weekday()][hourStart.hour()]++;
hourArray[hourStart.isoWeekday()][hourStart.hour()]++;
}
if(moment.unix(openTimeArray[openTimeArrayIndex][2]) < hourStart && openTimeArray.length > openTimeArrayIndex + 1)
@ -71,9 +71,9 @@ layout: default
}
hourObjectArray = [];
for(i=0;i<hourArray.length;i++) {
for(i=1;i<hourArray.length;i++) {
for(j=0;j<hourArray[i].length;j++) {
hourObjectArray[hourObjectArray.length] = {day:i,hour:j,value:hourArray[i][j]};
hourObjectArray[hourObjectArray.length] = {day:i-1,hour:j,value:hourArray[i][j]};
}
}
//end DA FOO!!
@ -92,9 +92,9 @@ layout: default
$( "#space_closed_percent" ).width(percentClosed + '%');
if(openTimeArray.length > 0) {
longestTimeOpenStart = new Date(openTimeArray[Math.floor(openTimeArray.length - 1)][1] * 1000);
longestTimeOpenEnd = new Date(openTimeArray[Math.floor(openTimeArray.length - 1)][2] * 1000);
$( "#longest_time_open td:last" ).html(toHHMMSS(openTimeArray[openTimeArray.length - 1][0]) + "h (" + longestTimeOpenStart.toLocaleFormat(timeFormat) + " - " + longestTimeOpenEnd.toLocaleFormat(timeFormat) + ")");
longestTimeOpenStart = moment.unix(openTimeArray[Math.floor(openTimeArray.length - 1)][1]);
longestTimeOpenEnd = moment.unix(openTimeArray[Math.floor(openTimeArray.length - 1)][2]);
$( "#longest_time_open td:last" ).html(toHHMMSS(openTimeArray[openTimeArray.length - 1][0]) + "h (" + longestTimeOpenStart.format(timeFormat) + " - " + longestTimeOpenEnd.format(timeFormat) + ")");
if(openTimeArray.length % 2 !== 0)
$( "#median_time_open td:last" ).html(toHHMMSS(openTimeArray[Math.floor(openTimeArray.length / 2)][0]) + "h");
@ -103,9 +103,9 @@ layout: default
}
if(closedTimeArray.length > 0) {
longestTimeClosedStart = new Date(closedTimeArray[Math.floor(closedTimeArray.length - 1)][1] * 1000);
longestTimeClosedEnd = new Date(closedTimeArray[Math.floor(closedTimeArray.length - 1)][2] * 1000);
$( "#longest_time_closed td:last" ).html(toHHMMSS(closedTimeArray[closedTimeArray.length - 1][0]) + "h (" + longestTimeClosedStart.toLocaleFormat(timeFormat) + " - " + longestTimeClosedEnd.toLocaleFormat(timeFormat) + ")");
longestTimeClosedStart = moment.unix(closedTimeArray[Math.floor(closedTimeArray.length - 1)][1]);
longestTimeClosedEnd = moment.unix(closedTimeArray[Math.floor(closedTimeArray.length - 1)][2]);
$( "#longest_time_closed td:last" ).html(toHHMMSS(closedTimeArray[closedTimeArray.length - 1][0]) + "h (" + longestTimeClosedStart.format(timeFormat) + " - " + longestTimeClosedEnd.format(timeFormat) + ")");
if(closedTimeArray.length % 2 !== 0)
$( "#median_time_closed td:last" ).html(toHHMMSS(closedTimeArray[Math.floor(closedTimeArray.length / 2)][0]) + "h");
@ -121,7 +121,7 @@ layout: default
legendElementWidth = gridSize*2,
buckets = 9,
colors = ["#D9534E","#D47551","#D09453","#CCB054","#C6C856","#A8C458","#8CC059","#72BC5A","#5CB85C"],
days = [ "Su","Mo", "Tu", "We", "Th", "Fr", "Sa"],
days = [ "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su" ],
times = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
function showGraph (data) {
@ -198,7 +198,7 @@ layout: default
<script>
$.getJSON("http://status.chaospott.de/status.json").done(function(data) {
var d = new Date(data.state.lastchange * 1000);
var d = moment.unix(data.state.lastchange);
var currentStreak = Math.floor(Date.now() / 1000) - data.state.lastchange;
@ -210,7 +210,7 @@ layout: default
$( "#status" ).addClass('danger');
}
$( "#current_status_since td:last" ).html(d.toLocaleFormat(timeFormat));
$( "#current_status_since td:last" ).html(d.format(timeFormat));
setInterval(function(){
currentStreak = Math.floor(Date.now() / 1000) - data.state.lastchange;