PHP long running script without Ajax

<?php
header("Content-Type:text/html;charset=utf-8");
session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"  content="text/html; charset=utf-8" />
</head>
<body>
<?php

$executiontime = 5; // max time for scripting
$sleeptime = 3; // seconds to pauze after execution time limit


if(!isset($_GET["continue"])){

	$_SESSION["numbers"] = range(1,100000);
	$_SESSION["genesis"] = microtime(true); // absolute start time
	echo count($_SESSION["numbers"]);

}

$_SESSION["starttime"] = microtime(true); // 'this round' start time

foreach($_SESSION["numbers"] as $key=>$value){

		sleep(1);
		// abort and 'reload' upon exceeding execution time
		if((microtime(true) - $_SESSION["starttime"]) > $executiontime){
			echo "<p>" . count($_SESSION["numbers"]) . " items left";			
			echo "<br>This round: " . round((microtime(true) - $_SESSION["starttime"]),2) . " seconds";		
			echo "<br>Total time: " . round((microtime(true) - $_SESSION["genesis"])/60,2) . " minutes";
			echo "<p><strong>Pause script...</strong> Resume in $sleeptime seconds...</p>";
			die ('<meta http-equiv="refresh" content="'.$sleeptime.';URL='.$_SERVER['SCRIPT_URI'].'?continue=1" /></body></html>');
		}
		
		// do some stuff while execution time is still ok
	
		unset($_SESSION["numbers"][$key]);
}

echo "<br>Completed...: total time " . round((microtime(true) - $_SESSION["genesis"])/60,2) . " minutes";

Daguitstap Zoo met royale treinvertraging

Gisteren op daguitstap naar de Zoo geweest. Prachtig weer, geen al te grote drukte. Daarna nog gauw even een bezoek gebracht aan de Slegte en dan snel lopen om de IC-trein te halen richting Sint-Niklaas.

Het bord in de vertrekhal gaf ons al een mooie indruk van wat er ons te wachten stond: geen enkele trein richting Gent. Breuk in de bovenleiding tussen Zwijndrecht en Sint-Niklaas.

Het was wachten op informatie, zeer lang. Met een uitgeputte peuter van 14 maanden nog langer… Uiteindelijk mochten we via Brussel-Zuid naar Mechelen om daar over te stappen op de trein richting Sint-Niklaas. Toen iedereen in de trein zat, mochten we na 10 minuten opnieuw verhuizen want alleen het voorste treinstel zou richting Brussel-Zuid gaan. Beslissing van Brussel aldus de conducteur (die er zijn lach niet voor liet varen). Opnieuw uit de trein, helemaal van spoor  verhuisd, omdat er voor ons met buggy al geen plaats meer was op de trein. Op een dubbeldeck trein belandt, eveneens richting Brussel-Zuid. Opnieuw wachten… Maar wacht de trein zet zich in beweging en we waren vertrokken, heerlijk. Ahja even stoppen in Antwerpen-Berchem. Wat naar buiten turen… Ach de deuren gaan nog niet dicht. We zullen naar maar wat wachten. *Informatie* Reizigers met bestemming Gent worden verzocht om uit te stappen en hier de trein te nemen.

Buggy van de trein, genieten van comfort op de trappen terwijl iedereen u omver loopt, met buggy in de hand of niet. Weer de trappen op met buggy…. Overvol perron. Oh ja de trein heeft nog even vertraging. Laten we er nog wat minuutjes bij doen. Prachtig weer om te onthaasten op een perron. Aha daar is de trein, slechts 45 minuten vertraging. En laat het nu maar vooruit gaan, want het traject Antwerpen-Berchem – Sint-Niklaas duurt al bij al nauwelijks 30 minuten. De trein zet zich in beweging. *Mededeling aan de reizigers* Door een breuk in de bovenleiding zal de trein tegen een lagere snelheid rijden waardoor wij iets later zullen aankomen in Sint-Niklaas.

We waren de Kennedy-Tunnel net uit en ach ja voor de verandering. Laten we nog even halt houden. Genieten van het uitzicht en de koeien in wei. Goederenvervoer lijkt allemaal vlotjes te passeren. Nooit problemen aldaar. We zetten ons nog 10 minuten op de grond en waarempel, de trein komt terug in beweging en na een goed kwartier rijden we dan uiteindelijk Sint-Niklaas binnen waar de civiele bescherming gestrande reizigers vanuit Gent richting Antwerpen blijkbaar al had bevoorraad.

Mijn gezin wenst de NMBS te danken voor een uitstekende treinervaring. Informatiedoorstroom kon echt niet beter. We werden in de watten gelegd. Voor slechts 7 euro 80 konden we genieten van 132 minuten vertraging. Er is iets grondig mis met het treinverkeer. De problemen stapelen zich op. Ik rijd dagelijks met de trein en je kan er niet meer naast kijken. Om dan tijdens de vakantie nog eens getrakteerd te worden op zo’n prachtige spoor-site-seeing is echt wonderbaarlijk.

Lees meer (als u het aankan)

Dodentocht 2011

Dodentocht 2011 – 12 augustus: Het zal twijfelen zijn tot het allerlaatste moment om mee te doen… Geen vrienden of kennissen dit jaar en ik weet uit ervaring dat het dat extra lastig maakt. Maar de dodentocht is toch een of ander vreemd virus dat begin augustus sluimerend naar boven komt en gaandeweg half augustus harder toeslaat. Het is nu nog exact 5 dagen en die korte tijd kan de twijfelachtige stemming eens te meer doen omslaan.
Continue reading “Dodentocht 2011”

How to restore a lost bluetooth connection

A few days ago I encountered a strange bluetooth problem on my Windows 7 (64bit business, Dell E6520). While I was working suddenly my Dell bt travel mouse disconnected. Tried to reconnect a few times, but couldn’t get it working.

Swapped batteries, and tried another computer: no problem whatsoever. Began to think that I was facing a hardware problem (again!), but then I realized that the device might have been blocked somehow. And guess what… I went looking for “devices and printers” and the Dell bluetooth mouse was still listed, however not connected. The problem was easily solved by removing the device (right click, remove device) and then establishing a new connection.

Winamp, need to change your media library location?

Winamp screenshot 5.601

Face it, your library location might change over time. When you’re using Winamp and don’t won’t to loose all valuable data like play count, last play date, … you probably searched around hours to find a solution on how to change the location to your media library (e.g. you swapped hard drives, bought a new pc, …). Rescanning your media folder is the easiest way to rebuild your media library, but you’ll loose play count, play dates and maybe more meta data.

I’ve searched the winamp forum for solutions, but the only result was people asking the same questions without getting the right answers. Depending on your Winamp version you might have tried some none working plugins too. The logical solution would be exporting your winamp media library to an iTunes XML format (and the export process will work!), but you’ll run into fatal errors when trying to import it. It all boils down to getting access to the core data file of your winamp media library (main.dat) and updating an outdated location to a hard drive or directory that has been moved. Continue reading “Winamp, need to change your media library location?”