Visualizing Algorithms
http://bost.ocks.org/mike/
http://bost.ocks.org/mike/algorithms/
Shuffle an Array
http://bost.ocks.org/mike/shuffle/
http://en.wikipedia.org/wiki/Fisher–Yates_shuffle
http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript
function shuffle(arrToShuffle) {
for (
var j, arrTmp, i = arrToShuffle.length;
i; // if i==0 => false => break
j = Math.floor(Math.random() * i),
arrTmp = arrToShuffle[--i],
arrToShuffle[i] = arrToShuffle[j],
arrToShuffle[j] = arrTmp);
return arrToShuffle;
}
Datalist
<input type="text" list="myDatalist"
placeholder="search term" autocomplete="on" >
<datalist id="datalistWebsites" onclick="chgWebsite(2)">
<select name="selWebsite" id="selWebsite">
<option value="show all">show all</option>
<option value="aagz">aagz.ethz.ch</option>
<option value="arolla">arolla.ethz.ch</option>
<option value="asmena">asmena.ethz.ch</option>
</select>
</datalist>
HTML5
<label>Choose a website from the list:
<input list="websites" name="myWebsite" /></label>
<datalist id="websites">
<option value="show all">
<option value="aagz">
<option value="arolla">
<option value="asmena">
</datalist>
HTML5 <option>: no closing tag is needed because there is no input possible, means no start & end & between
<label>Choose a website from the list:
<input list="websites" name="myWebsite" /></label>
<datalist id="websites">
<option value="show all">show all</option>
<option value="aagz">aagz.ethz.ch</option>
<option value="arolla">arolla.ethz.ch</option>
<option value="asmena">asmena.ethz.ch</option>
</datalist>
<style>
#c {
height: 150px;
width: 150px;
float: right;
}
#menu {
display: inline-block;
border: 1px inset #999;
padding: 44px;
cursor: pointer;
box-shadow: 0 0 8px #aaa;
}
#menu:hover { border: 1px inset #333; }
ul{
list-style-type:none;
max-height: 400px;
overflow: hidden;
overflow-y: auto;
width: 50%;
margin: 40px;
}
li{
margin-left: 20px;
line-height: 20px;
padding: 5px;
}
.letter{
margin-left: 0;
font-weight: bold;
}
</style>
<body>
<div id="c">Color</div>
<ul id="menu">
Select Website
<li class="letter">Random</li>
<li>Zufall (8)</li>
<li>Zufall (alle)</li>
<li class="letter">A</li>
<li>aagz.ethz.ch</li>
<li>arolla.ethz.ch</li>
<li>asmena.ethz.ch</li>
<li class="letter">B</li>
<li>baufak.ethz.ch</li>
<li>bauing-diplomreise.ethz.ch</li>
<li>bauoek-modell.ethz.ch</li>
<li>bendit.ethz.ch</li>
</ul>
<script>
var c = document.getElementById('c');
var menu = document.getElementById('menu');
var options = menu.getElementsByTagName('li')
for (var i = 0; i < options.length; i++) {
options[i].style.display = 'none';
options[i].addEventListener('mouseenter', function () {
var aaa = this.getAttribute('data-url');
//if (this.querySelector('[data-url]')) {
console.log(aaa);
//}
c.innerHTML = this.innerText;
})
}
menu.addEventListener('click', function () {
for (var i = 0; i < options.length; i++) {
options[i].style.display = options[i].style.display != 'none' ? 'none' : 'block';
}
})
</script>
Exactly 10 years after its birth our webserver has gone.
The last sign came after death:
Monday 31.03.2014 01:34, Automatische Benachrichtigung des IPX-Server Watchdogs.
Ihr Server ipx10975 ist derzeit nicht per Ping erreichbar!
Yep, it's well known: No ping, no existence!
Even for a Webserver.
All the time he has done his job as a Web-, Database- and Mailserver (XMailserver thx! ) very well! Only once he'd lost a little bit of his drive ... one of the disks had left the machine.
And here it is

ipx10975, 03.31.2004 - 03.31.2014
Windows Server 2003 retired, 1€ worth
ipx10975 lived in the datacenter of IPX Server GmbH (now QSC AG) - 10 years of very good service, satisfied!
This machine belonged to pinkytoes.com and grashalm-it, pinkytoes.com now is the partner of suter & partner (also called su-pa).
Now su-pa owns a new Windows Server 2012, again with a mailserver (hMailserver thx! )..