Skip to content

Martin Stoll

Who gives a shit anyway.

Har varit en vecka på Mallis på en resa som ordnades av Alnö Race Team och det var grymt nice. Allt var otroligt bra uppstyrt och vädret var kanon hela veckan.

Dag 1, tur på flacken – karta (prolog + extrarunda)

Började med en liten tur upp mot Carrer de Formentor innan alla hade fått ut sina cyklar. Sedan cyklade vi ca 7 mil på flacken. Lagom inledningstur.

Dag 2, bergsetapp till Sa Calobra, 2300 höjdmeter – karta

Sa Calobra är nog den mest omtalade turen. Byn ligger vackert vid havet och längs stranden finns både lummiga olivodlingar och outforskade grottor. Stigningen nerifrån Calobra upp till huvudvägen är fin och brutal, ca 600 höjdmeter på 10 km. Först ska man ner, sedan är det bara en väg tillbaka, samma väg. Det betyder 10 km med 7% i snitt med max på ca 10%. En utmaning för alla.

Dag 3, tur till Petra via Inca (platt) – karta

Go lunch i Petra!

Dag 4, platt + berg, 1600 höjdmeter – karta

Också en riktigt nice tur. Gillade partiet mellan bergen, mycket vackert och skön cykling.

Dag 5, löptur – karta

Tog en vilodag från cyklingen pga ett ont knä, tog en löptur och simmade lite i stället.

Dag 6, härlig tur till Maria de la Salud – karta + löptur efter cykling - karta

Resans finaste tur. Åkte med den “långsamma” gruppen som hade reselederare från cykelresor.com. Han tog oss på små fina slingriga vägar med lite trafik och mycket fin natur. Cykelresor.com skrev lite om turen också, “HOT på Mallis

Dag 7, löptur

Morgonlöpning innan frukost. Ungefär samma tur som dag 5, men kortare.

Bilder

Film
Morgonsim i soluppgång
Christer, Sara & Torben
Henke

Mars 2012

Apr 15

Some media from mars..

Film - Spingarius & Rövarn battle:ar med gummiband
Film - Rodeogreven Thost

This can be useful if you want to test script that will be executed by a service as local system account.
  • Download PsTools
  • Start a cmd as admin
    cmd as admin
  • Use PsExec.exe with -i and -s options to start cmd.exe
    c:\temp>PsExec.exe -i -s cmd.exe
    
    PsExec v1.98 - Execute processes remotely
    Copyright (C) 2001-2010 Mark Russinovich
    Sysinternals - www.sysinternals.com
  • Result:
    cmd as system account

This is just an ugly example.

Demo: http://martin.stoll.se/maps/location.php
Code available here: https://bitbucket.org/oller/latitude-history-example/

What you need to follow my example

Create a table in your database to store data, table.sql:
CREATE TABLE IF NOT EXISTS `history` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `latlng1` varchar(15) NOT NULL,
  `latlng2` varchar(15) NOT NULL,
  `accuracyInMeters` int(11) NOT NULL,
  `timeStamp` int(11) NOT NULL,
  `reverseGeocode` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

save-position.php – backend script,  get your current position and store it in the table
Create a cronjob if you want to update data automatically.

<?php
include "config.php";
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

// Userspecific URL. https://www.google.com/latitude/b/0/apps
// Replace 1234567890 with your own key
$jsonurl = "http://www.google.com/latitude/apps/badge/api?user=1234567890&type=json";
$json = file_get_contents($jsonurl,0,null,null);

// converts it into a PHP variable (array)
$jsonarr = json_decode($json, true);
$LatLng1 = $jsonarr['features'][0]['geometry']['coordinates'][0];
$LatLng2 = $jsonarr['features'][0]['geometry']['coordinates'][1];
$reverseGeocode = $jsonarr['features'][0]['properties']['reverseGeocode'];
$timestamp = $jsonarr['features'][0]['properties']['timeStamp'];
$accuracyInMeters = $jsonarr['features'][0]['properties']['accuracyInMeters'];

// Get last location from database. This is optional
$sql = "SELECT latlng1, latlng2 FROM history ORDER BY id DESC LIMIT 1";
$res = mysql_query($sql, $link) or die(mysql_error($link));
$row = mysql_fetch_row($res);

// Store it if its different
if($row[0] != $LatLng1 && $row[1] != $LatLng2){
  $sql = "INSERT INTO history(latlng1, latlng2, accuracyInMeters, timeStamp, reverseGeocode)
          VALUES($LatLng1, $LatLng2, $accuracyInMeters, $timestamp, '$reverseGeocode')";
  $res = mysql_query($sql, $link) or die(mysql_error($link)."<br />$sql");
  print "Data saved. $sql";
} else {
  print "No change. Dont save.";
}
?>

font-end.php

<?php
include "config.php";

$accuracyInMeters = 500; // accuracy in meters
$antalPositioner = 20; // how many positions to show
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Qvarting - Google latitude</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
  function initialize(){
    <?php
    // Hämtar den senaste positionen (Ska vara annan färg på den)
    $sql = "SELECT latlng2, latlng1, accuracyInMeters, timeStamp, reverseGeocode FROM history WHERE accuracyInMeters < $accuracyInMeters ORDER BY id DESC LIMIT 1";
    $res = mysql_query($sql, $link) or die(mysql_error($link));
    $antal = mysql_num_rows($res);
    $row = mysql_fetch_row($res);
    $tid = date('Y-m-d H:i', $row[3]);
    print "var myLatlng = new google.maps.LatLng($row[0], $row[1]);\n";
    ?>
    var myOptions = {
      zoom: 5,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    <?php
    print "var marker = new google.maps.Marker({\n";
    print "  position: myLatlng,\n";
    print "  map: map,\n";
    print "  title: '".utf8_encode($row[4])." - $tid'\n";
    print "});\n";

    print "var infowindow = new google.maps.InfoWindow({\n";
    print "  content: '$tid<br />".utf8_encode($row[4])."'\n";
    print "});\n";
    print "google.maps.event.addListener(marker, 'click', function() {\n";
    print "  infowindow.open(map,marker);\n";
    print "});\n";

    ?>

    <?php
	// Hämtar de 20 senaste positionerna förutom den senaste (den hämtas ovanför)
        // yea, pretty ugly. i know. put it in javascript arrays instead.
	$sql = "SELECT latlng2, latlng1, accuracyInMeters, timeStamp, reverseGeocode FROM history WHERE accuracyInMeters < $accuracyInMeters ORDER BY id DESC LIMIT 1,$antalPositioner";
	$res = mysql_query($sql, $link) or die(mysql_error($link));
	$antal = mysql_num_rows($res);
	$i = 1;
	while($row = mysql_fetch_row($res)){
	  $tid = date('Y-m-d H:i', $row[3]);
	  print "var myLatlng".$i." = new google.maps.LatLng($row[0], $row[1]);\n";
	  print "var marker".$i." = new google.maps.Marker({\n";
          print "  position: myLatlng".$i.",\n";
          print "  map: map,\n";
          print "  icon: 'pointer.png',\n";
          print "  title: '".utf8_encode($row[4])." - $tid'\n";
          print "});\n";

          print "var infowindow$i = new google.maps.InfoWindow({\n";
          print "  content: '$tid<br />".utf8_encode($row[4])."'\n";
          print "});\n";
          print "google.maps.event.addListener(marker$i, 'click', function() {\n";
          print "  infowindow$i.open(map,marker$i);\n";
          print "});\n";
          $i++;
	}

	?>
  }
</script>
</head>
<body onload="initialize()">
  <div id="map_canvas" style="float: left; width: 70%;"></div>
  <div style="float: left; width: 30%; font-family: Verdana; font-size: 10px">
<?php
$sql = "SELECT latlng2, latlng1, accuracyInMeters, timeStamp, reverseGeocode FROM history WHERE accuracyInMeters < $accuracyInMeters ORDER BY id DESC LIMIT $antalPositioner";
$res = mysql_query($sql, $link) or die(mysql_error($link));
while($row = mysql_fetch_row($res)){
  print date('Y-m-d H:i', $row[3])."<br />".utf8_encode($row[4])."<br /><br />";
}
?>
</div>

</body>
</html>

config.php
Connect to database

<?php
$DBhost = "localhost";
$DBuser = "user";
$DBpass = "pass";
$DB     = "database";
$link = mysql_connect($DBhost, $DBuser, $DBpass);
mysql_select_db($DB);
?>

Man knäpper ganska många foton med mobilen och vanliga kameran, sedan har de en tendens att falla i glömska. Därför tänkte jag börja med att lägga upp mediat man har skapat under månadens gång.

Det blir som en fotodagbok.

Film – Lova & Elly kollar läget i laggårn
Film – Man har del att träna på..
Film – En vanlig dag på kneget

Då börjar det bli dags för Vasaloppet 2012..

Eftersom ett av årets målsättningar är att förbättra tiden på vasan jämfört med sist så har jag lagt upp en tidsplan.
Sist åkte jag på 6h 57min och i år har jag satt som målsättning att åka under 6h 45min.

Det innebär att jag måste hålla en snittfart på minst 13:33 km/h (4:30 min/km).

Tidplanen blir då ungefär så här:

Start         0km  0:00:00
Smågan       11km  0:49:30
Mångsbodarna 24km  1:48:00
Risberg      35km  2:37:30
Evertsberg   47km  3:31:00
Oxberg       62km  4:39:00
Hökberg      71km  5:19:30
Eldris       81km  6:04:30
Mora         90km  6:45:00

Det går att följa framfarten på http://results.vasaloppet.se
Jag har startnummer 1203.

Bilder/resultat från 2008 - http://connect.garmin.com/activity/18311582

Har roat mig med att uppgradera två av mina ubuntuservrar och det gick inte helt smärtfritt.

Den första hade version 9.10 och den andra 10.04.

Uppgraderingen från 9.10 till 10.04 gick helt smärtfritt med do-release-upgrade. Även uppgradering från 10.04 till 10.10 gick helt utan problem.
Uppgraderingen från 10.10 till 11.04 gick inte lika bra. Vid omstart efter uppgraderingen så blev det stopp med en Grub-prompt: “Minimal BASH-like line editing is supported.

För att laga Grub kör följande kommandon:

set root=(hd0,1)
linux /vmlinuz root=/dev/sda1 ro
initrd /initrd.img
boot

Värden som kan behöva ändras är hd0,1 och sda1 beroende på hur diskarna är uppsatt. Skriv bara root för att ta reda på hd-värden. När servern har startat upp så kör:

sudo grub-install /dev/sda
sudo update-grub

Starta om servern.

Uppgradering från 11.04 till 11.10 gick också bra. Dock så dök det upp några mystiska fel. Det första var att från vissa burkar så gick det inte att ansluta med Putty och SSH, man fick felmeddelandet “Incoming packet was garbled on decryption”, sedan så stängdes Putty.

Det andra felet var att från Windowsburkar så fungerade inte webbsidor. Om man tex öppnade en webbsida på en av de uppgraderade servrarna med Chrome så laddades en fil ner innehållandes headern från sidan. I Internet Explorer så visades bara en tom sida. Från linuxburkar så fungerade det.

Efter en hel jävla del felsökning så visade det sig att det berodde på det virtuella nätverkskortet (virtuella servrar). Nätverkskortet var av typen E1000.

“E1000 — An emulated version of the Intel 82545EM Gigabit Ethernet NIC. A driver for this NIC is not included with all guest operating systems. Typically Linux versions 2.4.19 and later, Windows XP Professional x64 Edition and later, and Windows Server 2003 (32-bit) and later include the E1000 driver.”

När jag bytte till VMXNET3 så var det inga problem.

Ok, nu finns det väl risk att man är överladdad delux, men jag skriver ner dem här för att sätta press på mig själv, mina målsättningar för 2012.

Kondition

  • Vasaloppet – förbättra tiden jämfört med förra gången, dvs under 6:57. Utfall 6:11
  • Alnö Race Team Triathlon
  • Siljan runt – Två veckor innan Vättern. Ska man klara sub8 där så bör man ligga på under 4:20 på Siljan.
  • Vätternrundan – Sub8.
  • Genomföra Vansbro Triathlon
  • Genomföra Iron Man Kalmar
  • Lidingöloppet – under 2:35.

Styrka/Kroppskontroll

  • Utföra “flaggan” – Tuben
  • Handstand pushups – Tuben
  • Plankan utan ben – Tuben
  • Plankarmhävningar – Tuben
  • Bak- och framåtvolt
  • Veva en minut med 15kg hantel

Som sagt, är lite överladdad just nu. Ingen minns en fegis.

Mvh
Bålträning

Viljan att lyckas måste vara större än rädslan att misslyckas.

“Ett motionslopp för alla mitt i Sundsvall!” - http://www.sodrabergetrunt.se/

För att få lite mil i benen så anmälde jag mig till Södra Berget Runt. Då jag var lite osäker på formen så bestämde jag mig för att gå ut lugnt. Ställde mig långt bak i startledet, tänkte det är bättre för psyket att åka om folk än att bli omåkt.. Tog det sedan ganska lugnt i själva loppet också, ville inte vägga. Hittade några stabila ryggar längs hela vägen.

Hade nog räknat med att åka lite fortade men det känns bra ändå.

http://connect.garmin.com/activity/145706459

Det var ett trevligt och välarrangerat lopp som jag kan rekommendera.

Bilderna är från Alnö Race Team och kan ses i sin helhet här.

Tack alla som var med och gjorde Blahavids dag till en minnesvärd dag! Jag hade iaf skitkul.

Skådespelet vid sjukhusentrén blev kanske inte helt lyckat men han blev nog bra överraskad ändå.

Efter traditionell “kidnappning” så blev det kaninutstyrsel och inköp av morötter.
Lilleskutt handlar mat

Sedan drog vi vidare till Nöjeshallen där vi lirade laser, körde Go-Cart och relaxade.