Skip navigation.

My pasteblog

This is not my Zettelkasten but a durable .bash_history

RHS

,

http://www.rothaarsteig.de/de/rothaarsteig/entfernungstabellen/
Distanzen Rothaarsteig:
Brilon-Küstelberg 35km
Küstelberg-Jagdhaus 39km
Jagdhaus-Lahnhof 43km
(optional: Lahnhof-Dbg. 38km)

Distanzen Kfz. (einfache Strecke):
Lahnhof-Jagdhaus 33km ~45 min
Dillenburg-Brilon 100km knapp 2 Std.


Fr., d. 31. Juli - So., d. 2. August

http://www.kuestelberg.com/xxl-php-live/unterkunftliste.php4
http://www.schmallenberger-sauerland.de/deutsch/gastgeber/unterkuenfte/nach-orten/jagdhaus/

Lauf zwischen den Meeren 2009 Ergebnisliste konvertiert

,

94,2 km11,4 km10,2 km11,4 km9,5 km8,7 km8,0 km9,0 km7,4 km10,5 km8,1 km
RangNameGesamtzeitø min/kmZeit_1Zeit_2Zeit_3Zeit_4Zeit_5Zeit_6Zeit_7Zeit_8Zeit_9Zeit_10
1TSV Ostheim/Rhön05:23:080:03:2600:36:3500:34:1000:37:3200:34:1000:30:1900:27:0100:31:2600:27:2800:37:0400:27:27
2Itzehoer Versicherungen SpeedAlliance05:49:570:03:4300:40:4100:36:1700:40:2000:36:2900:33:5000:30:5100:34:0400:27:5200:39:5100:29:46
3Nissen-Häuser-Team06:09:390:03:5500:43:1100:38:0600:43:2500:39:4600:35:2600:32:3600:34:0600:31:0800:40:3900:31:19
4LAV Husum I06:13:120:03:5800:43:3800:42:3100:44:0300:37:5800:36:4100:30:4700:35:0000:30:4300:39:2500:32:33
5Borener SV06:19:530:04:0200:41:4300:39:2600:45:1000:40:4300:36:4000:34:2500:37:2100:32:1500:38:1100:34:02
6SG Athletico Büdelsdorf06:20:080:04:0200:42:3100:41:1200:42:1800:40:2600:37:1500:33:2700:36:5800:30:4700:43:0500:32:13
7Spiridon Schleswig I06:21:420:04:0300:48:0000:40:0300:43:3100:37:5800:38:3400:31:1100:39:5900:27:2200:41:4100:33:28
8Damp Holding AG, Staffel A06:22:590:04:0400:42:4000:42:4000:42:4900:38:1800:37:3400:30:4800:36:2500:34:1800:45:0300:32:28
9Kampfschwimmerausbildung06:26:010:04:0600:45:4700:41:2700:43:3600:40:3600:37:1500:33:3500:36:0000:30:5500:42:0900:34:44
1014 Theodor-Mommsen-Schule Bad Oldesloe06:31:360:04:0900:42:0900:42:1500:44:4300:42:2000:37:3300:35:1300:35:1700:34:5100:42:5000:34:31
116 Eckernförder MTV I06:43:300:04:1700:47:0100:42:0200:45:3700:42:5400:39:3600:33:3900:39:1500:33:1500:44:5500:35:20
12Dahlmannschule06:47:030:04:1900:42:0900:42:4000:39:5000:45:2600:48:1900:42:5300:38:2500:31:5300:45:3700:29:53
13Sprinters of the Sea06:52:190:04:2300:44:5800:40:4800:46:2400:42:0600:39:4400:36:0700:38:5500:33:3200:48:2400:41:25
14Lubinus Clinicum06:56:530:04:2600:46:4400:41:3000:49:0200:41:5000:41:5000:35:4000:46:1100:30:4800:46:3800:36:43
15Bundeswehr Panzergrenadierbataillon 40106:59:540:04:2700:50:3900:44:0100:48:0800:42:3200:42:3200:42:1000:39:2700:36:5800:41:3500:31:56
16DuborgPedia Flensburg07:00:200:04:2800:45:0600:43:2900:47:4000:40:0600:43:2500:36:0900:44:1800:35:3200:45:3800:39:01
17LTV Kiel-Ost I07:00:560:04:2800:46:1000:46:2400:46:5401:27:2700:18:4300:18:4300:41:0400:35:0700:46:4600:33:42
18Johann-Rist-Gymnasium07:02:080:04:2900:43:4200:41:4700:44:4900:49:0000:43:3300:44:3600:39:0200:33:0600:49:1500:33:22
19Nord-Ostsee-Express07:08:300:04:3300:47:0600:45:3100:47:0900:41:5800:41:5800:32:5900:46:5500:39:0900:46:4200:39:06
20Itzehoer Versicherungen Laufteam I07:09:050:04:3300:57:0400:38:0000:53:0700:50:2300:38:5800:34:4800:37:3600:32:1400:49:2300:37:34
21Spezialpionierbataillon 164 I07:11:040:04:3500:45:1800:44:5200:51:1000:43:4600:43:4600:40:0600:38:1200:39:0200:48:0400:36:52
22Landeshauptstadt Kiel07:11:570:04:3500:46:1700:45:5000:48:1800:44:1000:44:1000:36:1100:40:0900:35:2600:53:0400:38:26
23Heiwe-Team07:12:150:04:3500:46:3700:44:5000:53:2100:42:1900:42:1900:36:4100:39:5300:37:1100:49:5300:39:14
24AufklG 51 „I“07:12:340:04:3600:54:0200:44:1100:48:4100:44:4800:39:4000:36:2200:42:1900:35:0400:50:4700:36:43
25Laufteam der Westküstenklinik Brunsbüttel und Heide07:16:030:04:3800:48:2600:49:1800:48:1900:52:4100:39:5600:41:2800:42:3700:31:4000:45:3800:36:04
26Sasol Germany GmbH Team I07:16:530:04:3800:47:1300:47:0200:51:2600:42:4800:42:4800:37:5300:44:2200:34:1800:47:5500:41:14
27OSC Waldniel07:17:500:04:3900:51:3300:47:2600:45:2900:45:1400:40:5900:40:5000:42:4100:42:2200:45:0600:36:15
28Team DoppelPASS07:19:040:04:4000:47:3200:49:2000:47:0500:43:3200:43:3200:40:1600:38:4300:42:0000:47:0500:40:04
29Leibniz-Gymnasium Bad Schwartau07:19:130:04:4000:55:2300:47:5100:47:3900:50:0500:39:3400:36:4300:38:2600:34:4700:49:0000:39:49
30RAG Anthrazit Ibbenbüren GmbH Staffel 107:19:210:04:4000:50:2300:47:4300:49:1000:45:3800:39:3600:39:0500:43:2100:35:0300:50:0500:39:20
31Bundeswehr Logistikbataillon 16207:21:010:04:4100:42:0400:46:4400:47:4400:49:0400:49:0400:46:0300:42:4200:34:3800:45:2400:37:38
32Tus Borgloh07:21:030:04:4100:50:5100:44:5900:54:4400:50:5600:48:3800:36:1500:39:4300:33:5500:45:0600:35:59
33Autohaus Nord Volkswagen Team07:22:030:04:4200:50:1600:43:5300:53:2100:43:2100:44:2600:36:0700:44:3100:39:0200:50:2800:36:42
34Nike Running Team07:22:200:04:4200:47:4800:47:4700:53:2300:43:3900:38:5600:34:1700:40:0000:40:4400:57:5700:37:52
35Die Nordlichter07:23:190:04:4200:49:2200:44:4400:47:4100:49:0900:43:1800:33:0200:42:2000:44:1300:54:2100:35:12
36Kreisverwaltung SL-FL I07:23:470:04:4300:44:4200:43:5700:53:4800:47:1300:53:5100:35:2200:40:2600:36:4600:49:5000:37:55
37Die Powerstaffel07:25:140:04:4400:50:3800:48:4300:51:5700:45:3500:38:4700:39:4000:43:1700:36:1600:48:5200:41:34
38TuS Jevenstedt07:26:260:04:4400:50:4500:42:0200:44:5600:41:2500:41:2500:43:0600:47:0700:42:5900:46:2100:46:25
39vita Max07:27:360:04:4500:46:2900:38:2900:54:3200:51:1400:40:5400:42:4400:42:0000:38:5200:55:3900:36:48
40TSV Mildstedt 107:28:100:04:4500:50:1100:54:3500:50:0300:41:2600:42:1900:40:0400:43:1900:36:3600:49:0600:40:35
41Schiedsrichter-Gruppe RD-ECK07:28:590:04:4600:42:4200:44:1700:52:2400:47:3100:47:3100:41:3800:41:0400:41:2000:47:5100:42:47
42RAG Bergwerk AV Grubenwehr 107:29:270:04:4600:49:3700:46:1800:55:5900:46:3400:44:3700:38:3800:42:3700:35:1700:49:0800:40:47
43VfL Loose Running07:31:350:04:4800:49:4000:47:0800:47:1500:46:1000:42:1000:42:0200:54:0900:31:5300:49:4200:41:30
44Holmes Place Health Club Lübeck07:31:480:04:4800:48:4200:49:0500:53:0000:44:2200:42:3300:38:0000:42:5000:36:3900:57:2400:39:16
45Muhlack Kiel GmbH07:32:030:04:4800:50:3400:46:0600:53:4800:47:5200:44:4900:40:0900:43:2400:37:5600:51:5900:35:31
46Dräger Medical AG / Team R&D07:32:080:04:4800:52:5400:44:3600:57:3000:49:5500:48:3300:38:2100:48:2000:33:4200:45:1500:33:06
47Oldie-Team TSV Rendsburg07:32:560:04:4800:51:2900:45:1600:49:3800:43:3300:44:0900:41:4800:42:2900:36:1100:50:1500:48:11
484Fun Fitness Kiel07:33:120:04:4900:50:2600:49:4700:50:5300:47:3100:43:4200:39:1000:47:1800:42:1700:44:4200:37:30
49Polente07:34:580:04:5000:55:3200:53:1300:55:2000:41:5000:38:0500:35:2000:51:3700:36:1300:48:5600:38:56
50LEX Gewinner, Niederlausitzer Kippenfüchse07:35:140:04:5000:48:3600:41:3500:47:1700:43:1900:43:1900:49:5600:40:5100:50:0100:49:4000:40:45
51TOTAL EGAL MPG07:35:530:04:5000:42:2000:39:1000:54:0900:56:5500:42:4000:48:0500:42:2600:49:5600:49:0300:31:13
52Hanse Klinikum Stralsund (Damp)07:36:460:04:5100:50:0900:42:4300:53:1000:43:5000:42:0800:37:3700:46:2100:45:4200:55:2000:39:51
53Mode Max Hansen Tolk07:37:100:04:5100:50:1500:47:3800:50:4300:47:4000:46:3100:41:4000:45:0400:42:1500:47:1900:38:09
54SV Hollingstedt Herren07:37:180:04:5100:53:0200:44:0200:55:3200:55:0500:40:0300:33:2300:42:5800:33:5300:57:1500:42:10
55LG Neumünster07:38:190:04:5200:56:4400:46:4200:55:1700:49:2600:46:4000:42:1700:40:1600:33:1200:45:0900:42:40
56Sydbank A/S07:42:530:04:5500:53:1100:50:0100:48:4100:45:3500:46:1000:41:0100:52:5800:36:5200:52:1700:36:10
57Spezialpionierbataillon 164 II07:43:060:04:5500:51:5000:46:3800:57:3900:47:2000:42:5500:39:0400:45:4800:36:0900:54:3500:41:11
58BSG Landesbank Berlin07:43:180:04:5500:53:2900:46:4300:56:2300:54:3200:40:3400:37:5500:42:4900:37:1700:54:1500:39:27
59LT Stoerlauf07:43:270:04:5500:52:3400:51:3200:53:3300:42:2900:43:0200:38:1500:47:2100:45:2600:48:1900:41:00
60Vestas Racing Team07:44:170:04:5600:55:3800:49:5200:59:1300:44:4700:39:0600:40:4300:41:0700:34:0300:54:1500:45:38
61HANSE-Klinikum Wismar, Männer07:44:440:04:5600:49:2900:49:2900:46:2300:48:1700:50:3900:44:0200:43:3600:37:5500:57:3500:37:25
62Baugenossenschaft Mittelholstein07:44:580:04:5600:50:5300:49:2800:48:1200:53:4800:44:3400:46:1900:39:4600:42:4900:49:2400:39:50
63Fit for fire Fighters Schwesing07:45:420:04:5700:53:3300:45:3400:48:3000:54:3400:38:0900:46:3400:43:3000:39:0600:55:3900:40:37
64Rudow Handball-Eltern07:46:070:04:5701:02:4100:50:5400:52:1200:49:2600:41:3300:37:4600:45:1300:39:2500:48:1900:38:41
65100Jahre Jugendherbergen07:47:280:04:5800:48:5600:43:2500:48:3000:45:1200:45:1200:48:3000:48:5100:48:3700:53:4200:36:36
66No Finishline07:48:090:04:5800:46:3900:50:4500:51:2100:48:3900:43:0700:37:4000:45:5400:38:2400:56:1500:49:29
67Dahlenburger Landratten07:50:540:05:0000:52:5200:48:0200:52:3300:52:0400:42:1700:44:1400:43:2500:40:1200:51:0600:44:15
68Allianz Handwerker Services GmbH07:51:150:05:0000:57:1800:52:1600:49:3500:48:0100:55:0100:43:2500:39:4600:40:4500:47:2700:37:45
69Borener SV “Die Zweite“07:51:240:05:0000:50:4100:59:3100:58:4400:44:0100:48:1900:41:2600:40:2300:34:4400:53:5500:39:44
70Unternehmen Petticoat 200907:51:430:05:0000:58:3800:45:0700:51:3600:45:2300:50:0800:51:3000:39:4900:34:5500:51:2100:43:19
71SZ Arlewatt07:52:240:05:0100:52:5700:57:1100:57:1400:44:4700:44:5800:41:3300:42:5200:42:1200:45:5700:42:47
72Volksbank Raiffeisenbank Itzehoe II07:52:520:05:0100:47:5100:53:2401:00:1600:43:3500:45:1700:43:4500:48:5500:42:2500:50:5700:36:31
73The Rennsburger I07:53:200:05:0100:56:4200:49:0900:56:5800:49:3600:41:2200:43:3200:43:5700:39:3300:51:2300:41:11
74BSG REpower07:53:280:05:0200:45:3600:46:3900:58:2200:51:4200:51:3700:46:3400:45:0100:34:3100:57:2000:36:11
75Internat Louisenlund07:53:340:05:0200:51:2500:48:2200:52:1600:51:3500:47:3600:38:4000:42:4400:42:4000:52:1500:46:06
76b+m Informatik GmbH Kiel07:54:170:05:0200:48:4800:45:0700:41:2500:54:2500:52:4100:42:0800:53:3600:35:4500:48:4800:51:38
77Daimler AG Niederlassung Berlin07:54:550:05:0200:48:2500:58:4500:53:2000:50:5900:39:0900:44:0600:42:4400:37:0800:51:4500:48:37
78Team Manhagen III07:55:020:05:0300:57:1500:58:4500:59:3700:47:2400:40:2200:39:3700:43:2300:36:3700:54:3000:37:36
79Wikinger aus Haithabu07:55:060:05:0300:55:1400:53:0600:56:2900:49:0100:42:2400:42:3900:51:3100:35:1300:52:5300:36:43
80Wyker Turnerbund-Lauftreff Föhr07:55:070:05:0300:46:2000:53:2700:51:2500:40:2400:44:2200:43:1200:50:4900:41:5800:54:3300:48:41
81RAG Anthrazit Ibbenbüren GmbH Staffel 307:55:310:05:0300:50:4400:46:0900:52:2500:54:0000:49:0300:41:4300:46:4400:39:5500:50:0300:44:49
82Malteser Staffel Flensburg II07:56:400:05:0400:57:5100:58:2100:47:4400:45:5600:37:3500:42:5000:51:1900:39:1100:54:2000:41:37
83SG Förde Sparkasse e.V.07:56:480:05:0400:58:5800:44:4300:52:5400:52:1300:42:4000:42:1300:39:5000:38:0800:52:4700:52:25
84Die Gymmibärchen, Fördegymnasium Flensburg07:57:290:05:0400:54:0000:53:4600:47:5500:45:4100:47:2700:41:4700:42:2000:43:2400:59:3400:41:41
85Die Athleten07:57:400:05:0400:55:1700:49:1200:48:3800:49:3400:44:4400:45:4000:43:4400:36:5900:59:1400:44:42
86Freiwillige Feuerwehr Damp-Dorotheenthal07:58:220:05:0500:52:2800:51:0200:51:0201:00:5600:39:0200:44:1900:45:5900:43:1800:55:1300:35:07
87TSV Waabs e.V.07:58:320:05:0500:51:2600:53:3700:57:0400:50:1200:42:4200:42:2400:42:0400:35:5601:00:2400:42:48
88FFG07:58:560:05:0500:49:4100:45:3800:43:4500:50:1500:50:1500:44:2300:53:4000:39:0600:52:4900:49:28
89See & Run / TSV Bordesholm07:59:210:05:0500:53:2400:49:4401:02:5600:46:0500:40:5200:40:5400:38:0900:57:1000:50:4500:39:26
902./PanzerPionierBataillon 80307:59:280:05:0500:53:1700:47:4900:50:4900:53:0100:46:1100:42:3900:52:3100:43:0900:45:0800:44:57
91Jugendhilfe Rheinland, Rheinisches Jugendheim Halfeshof07:59:500:05:0600:54:2200:46:2300:58:2000:51:2400:49:5300:48:0600:43:5200:41:4900:46:4000:39:05
92TSV Fahrdorf Mixed08:00:140:05:0600:55:3000:51:2800:51:3000:48:5400:49:2800:33:5600:47:1100:43:1800:59:5400:39:10
93Spiridon Schleswig 208:00:250:05:0600:54:5600:51:0601:07:5000:48:3100:43:1400:45:5400:40:1400:41:3500:48:5800:38:12
94Lufthansa Sportverein München08:00:350:05:0600:53:3500:51:1300:49:5100:55:1800:53:5500:45:3100:49:0200:42:2900:42:0700:37:37
95Ernst-Balach-Gymnasium08:01:080:05:0601:01:4700:47:5000:53:5200:48:2900:49:4600:45:2500:46:0100:43:3100:48:0700:36:25
96Stadt Husum08:01:160:05:0700:55:5900:48:3000:49:0400:54:1300:48:4900:37:3600:51:4400:43:2400:54:4800:37:11
97Lufthansa Technik Line Maintenance HAM00:50:2900:54:2100:55:5300:49:3800:49:1100:43:5500:43:1800:41:5900:56:1700:36:19
98NDR-Staffel08:01:3100:54:5700:57:1800:54:1900:51:4900:46:3900:44:3500:43:0100:47:0700:43:1900:38:32
99Lauftreff SV Elsdorf08:02:1100:56:5700:42:3100:52:5800:47:4500:49:4700:44:0400:48:1600:37:2500:59:2000:43:12
100Sparkasse Holstein08:02:3301:03:1000:53:2000:53:5900:58:4700:48:4000:40:2500:40:3900:38:0200:48:1800:37:15
101Nordakademie Studenten08:03:4400:50:1000:50:1000:56:3300:51:1500:47:4000:43:2900:46:0300:43:5300:52:3600:41:59
102STRABAG Property and Facility Services GmbH08:03:4700:57:2400:47:1200:50:4700:51:3500:44:5300:43:5200:50:1900:45:4100:47:1100:44:56
103Fa. Leser08:03:5100:57:0500:46:5800:52:5700:52:4900:44:1800:48:5400:46:4500:36:1500:54:1200:43:41
104Jungmannschule Eckernförde08:06:2500:52:1801:05:0300:57:0000:49:5400:38:2900:45:2400:44:5100:43:3800:49:1600:40:36
105Dannewerker Mauerläufer I08:06:3100:57:2500:53:0600:56:1301:05:4100:45:2600:38:2600:45:3300:36:4900:43:5700:43:57
106Langwedel II08:07:0700:57:0000:57:5900:56:5100:52:1200:43:1900:44:4300:46:4800:38:2000:53:2600:36:33
107Punker Laufteam08:07:1900:48:0700:48:5100:55:0400:52:2200:50:4200:40:2800:49:4400:40:4800:58:5100:42:25
108TSV Kremperheide08:07:4001:02:1200:54:2700:52:4600:47:4300:46:2000:47:1200:41:5100:36:3200:53:0400:45:38
109LG Mülheim08:08:0900:50:3200:45:5300:59:5900:49:4300:50:3200:46:1900:50:5400:37:3100:53:2500:43:24
110Allianz Team Kiel08:08:1600:47:5100:45:5100:59:0400:50:4400:41:5400:44:0800:45:4300:37:4401:15:4300:39:37
111DRF Luftrettung08:09:5200:47:3000:43:3901:05:0800:52:1500:52:1800:42:2900:54:4000:39:5900:48:3300:43:24
112rbz Steinburg08:09:5600:43:0600:54:4600:51:3300:57:1200:46:1300:43:5600:46:2300:45:3800:49:4500:51:27
113Baptisten Wedding08:10:0700:45:3400:39:1500:52:1300:55:5901:10:3400:43:3200:44:2800:46:3200:51:4400:40:21
114Sportverein Fleckeby08:10:1500:52:4900:50:1500:59:4101:00:0000:45:0600:44:4600:48:1900:32:5800:53:2300:43:03
115Kreis Rendsburg-Eckernförde08:10:4700:55:5400:55:0900:58:0800:52:3900:45:5000:34:5800:49:3900:41:4000:57:5200:39:05
116LAV Husum II08:11:2800:56:1100:49:0400:57:5500:52:5300:48:4700:43:4500:38:1700:51:2500:48:3300:44:41
117DESIGNA Flying Fish08:11:4100:50:2200:53:5800:52:4600:44:0300:49:1900:39:5600:50:1100:43:4000:59:3800:47:50
118LAP GmbH II08:11:4200:53:1900:48:4600:57:2500:49:2000:42:5700:36:4900:56:2400:43:2300:57:4000:45:42
119Nordakademie Mitarbeiter08:12:1700:58:5000:52:1000:51:4800:50:1700:41:3400:44:4400:45:5600:43:1101:03:2000:40:31
120The Rennsburger II08:12:2201:00:3100:51:2200:53:0900:49:5000:41:3000:43:2000:53:1800:41:2000:57:3100:40:33
121Stadtwerke Flensburg III08:12:3400:55:2000:49:5200:59:1100:54:0400:50:3300:40:2500:40:3400:34:2200:59:4700:48:31
122Volksbank Raiffeisenbank Itzehoe I08:12:4000:55:0700:50:4100:58:3100:53:1200:44:0600:45:0000:48:1900:42:1100:50:1200:45:23
123Ziehms United08:12:4500:50:3400:55:5200:50:4201:00:0500:46:0900:44:2200:50:1600:35:4100:54:3700:44:31
124Team Rieseby08:12:5800:58:3500:50:5601:00:5100:52:2200:39:3500:41:1000:52:3300:49:1000:48:4600:39:04
125TSV Drelsdorf A/B Männer08:13:1900:48:1700:49:5800:51:5300:59:2600:47:2500:46:2200:52:0800:41:4600:59:4400:36:22
126Round Table 68 Rendsburg08:13:2400:54:1200:47:3200:58:1100:57:4100:57:0700:33:5700:46:1200:42:3500:52:2200:43:39
127Humboldt-Schule-Kiel08:14:3100:48:0200:54:5700:51:3200:55:3600:44:1200:47:2000:57:5400:41:2600:53:5000:39:44
128Polizei-Autobahnrevier Scharbeutz08:15:0500:53:3200:49:0901:02:3700:51:5300:49:2800:38:3300:50:2500:40:3600:51:1400:47:42
129HOB Sport08:15:1101:03:0700:48:1600:52:1700:57:5900:48:0700:41:2200:47:0800:37:3900:55:2200:43:58
130Fachverband GaLaBau S.-H.e.V.08:15:2700:50:1400:54:0600:59:2300:46:3400:50:3500:42:4000:39:2000:52:0201:02:1600:38:23
131Schleiklinikum FK/SL08:15:3000:53:3700:57:0800:54:0100:49:4200:55:2800:42:0000:55:0000:35:4900:45:0300:47:45
132UK S-H. Klinik für Urologie08:16:1601:07:2400:46:3700:50:4600:52:1700:47:3400:46:0600:54:4400:40:0900:46:0600:44:35
133TRIXIE Heimtierbedarf08:16:5600:56:2400:47:2300:58:0001:00:2000:46:4200:40:2400:45:4300:41:1000:53:4500:47:08
134Ipsos GmbH08:17:4600:43:5800:50:2300:58:3400:58:3400:50:4800:44:2500:46:3100:51:5500:48:3600:44:05
135Sana Kliniken Lübeck08:19:0800:53:2100:56:4000:48:0800:45:5900:54:1500:45:4600:49:3800:39:1800:47:3600:58:31
136Gesellschaft für Bildung Beruf Kultur mbH Team 208:19:1500:58:2200:52:3700:55:4900:47:1800:50:3500:43:3000:41:5700:46:5901:01:0000:41:13
137BoSeeLa08:19:1700:47:0700:56:3800:52:4900:56:0400:42:0300:44:3100:50:2500:50:2700:55:3800:43:38
138HSH Nordbank AG08:19:2901:00:2600:56:2100:56:3900:47:5100:43:3100:45:1900:52:3700:39:3700:57:4300:39:29
139Nordsee Internat e.V.08:20:2000:44:1000:44:4801:04:1100:46:4100:47:5800:55:3700:51:1900:36:0800:58:5400:50:37
140ArnesbokenRunners08:20:2200:58:1700:54:1900:57:1301:00:5400:47:5300:39:3600:43:0000:36:1800:55:3200:47:23
141Solar Deutschland GmbH08:21:1000:54:3100:52:2000:56:2600:54:0700:44:5900:47:2100:44:4500:44:4500:56:2400:45:33
142TSV Treia08:21:1600:58:3300:57:0401:03:1001:00:0400:44:3400:35:3800:42:5900:42:5900:49:1500:47:06
143Eckernförder MTV II08:21:5300:53:4500:53:5500:53:4500:54:1800:49:4500:45:5800:50:0200:43:1600:57:2600:39:47
144Itzehoer Versicherungen Laufteam 208:22:1700:52:4100:49:1200:58:3600:59:5900:41:1200:44:3900:44:5100:51:4400:55:2800:43:59
145Ingenieurteam Trebes08:22:2401:02:2500:54:4900:47:1700:55:3000:53:0500:41:5200:48:4100:42:4100:51:1800:44:49
146Schleswig-Holsteinisches Oberlandesgericht08:22:5401:00:4900:51:2101:00:2600:48:4400:43:1300:42:2500:51:5200:43:2300:57:1300:43:31
147Team Schneeweiss08:22:5700:57:3500:56:1600:54:2700:59:1400:49:3600:43:1100:41:2900:39:2200:58:4700:43:04
148Ruhekrug08:23:0100:53:1000:52:2700:57:5700:43:4200:42:4200:56:0500:54:4900:47:0600:52:4700:42:20
149Angeliter Teerspalter08:23:0801:01:5901:05:1300:47:1900:44:3900:54:0100:47:2900:43:0400:38:3300:57:1700:43:38
150GSK Glasexpress08:23:5100:49:0100:54:1100:53:3400:49:0300:50:4300:58:2300:47:5100:34:4000:58:5600:47:34
151Der Vorstand SV Elsdorf08:23:5400:49:2000:50:5800:57:1400:52:3000:54:2800:34:5800:53:2300:47:0300:51:4200:52:22
152KORSO-RUNNERS08:24:0000:55:5100:49:3100:53:5200:52:1400:54:3700:40:5700:46:2100:54:4100:55:0900:40:51
153Fresenius-Kabi08:24:0900:53:5700:54:0400:55:4400:59:1001:09:2400:34:0600:40:1600:48:5600:48:5200:39:44
154WISAG Gebäude- und Industrieservice Nord08:25:1601:17:5600:50:2200:57:1600:45:2600:45:3500:44:1300:43:1500:44:3600:54:2500:42:16
155Sparkasse zu Lübeck AG08:25:4000:52:0800:48:0000:59:0400:58:4800:54:0700:49:1400:47:3800:41:0300:53:0500:42:36
156Sator Laser GmbH08:25:5000:54:3300:52:0901:00:1700:53:0800:51:2400:42:1300:51:2200:42:0700:49:3100:49:10
157Gemeinde Schülp/Nortorf08:25:5200:59:5700:49:0000:50:5501:01:5100:41:4400:51:5200:50:0100:43:0400:54:5300:42:40
158OSC GmbH08:26:4300:51:1200:46:2200:57:0301:02:3800:58:5600:47:4700:42:1000:45:0100:48:3500:47:04
159Drägerwerk AG&Co. KGaA-Corporate IT08:27:0800:50:0100:47:3000:58:2900:55:2400:46:1900:55:3700:44:1800:40:1800:56:0400:53:11
160BSG Nord-Ostsee-Sparkasse Team 208:27:1300:54:5800:49:1800:49:4500:50:4700:47:3000:50:0200:53:2600:52:0101:00:2900:39:04
169LONG DISTANCE08:30:1300:56:4600:56:1700:51:0201:02:0800:47:3300:44:1300:51:2700:47:0000:48:1800:45:34
170ATR Landhandel08:30:2900:49:1300:48:0901:02:1900:54:3000:45:0300:42:4501:02:4500:42:4600:51:2600:51:35
171GreyLogix GmbH08:30:3300:49:0700:49:1801:02:2900:58:1000:45:3100:44:3600:57:5400:41:3400:55:4300:46:14
172Das Bier danach08:30:3500:54:5900:49:3100:52:1700:46:4600:48:2400:51:3800:58:1500:56:0000:52:3700:40:11
173team Baucenter GmbH & Co. KG08:32:2401:02:0400:58:5801:02:3900:52:2300:43:1300:45:4500:48:1600:40:1700:55:1600:43:38
174Gesellschaft für Bildung Beruf Kultur mbH Team 108:32:2500:57:3600:54:1700:55:5901:00:1000:48:4800:41:2600:54:0900:47:1300:50:4200:42:07
175Martens Transportbänder GmbH & Co.KG08:32:2500:59:3100:57:3400:58:3300:54:3400:57:0400:49:4300:44:4000:37:4300:51:4200:41:26
176LG Obere Arlau08:32:2701:02:2600:47:3300:54:4200:54:3900:41:2400:50:2000:51:3800:47:5900:51:2400:50:27
177Volksbank Elmshorn & Friends08:32:4200:59:0700:52:2501:05:0800:48:2400:42:0500:44:0700:53:0400:43:0200:57:5300:47:32
178Dräger Medical AG / Team Mixed08:33:3800:53:5300:58:1500:59:4700:50:4800:45:3500:42:2000:46:1500:57:5200:55:3000:43:28
179Atec Pharmatechnik GmbH Team I08:33:4600:52:4300:57:2101:00:5200:49:3400:46:4100:50:5900:52:4000:52:0000:50:0200:41:00
180BBW Neumünster08:33:5400:56:3500:55:2300:48:0300:51:4800:44:1400:44:5900:47:1800:51:4801:02:0400:51:45
181Polizei Schleswig08:34:4201:03:1100:57:0700:52:3900:52:3900:43:2100:42:5801:03:3700:41:3600:51:3700:46:01
182Läufer die die Welt nicht braucht08:34:4801:02:1400:47:2900:57:4501:00:4600:49:4500:42:3000:54:4600:40:2900:56:5900:42:10
183Vestas „Fit for Finance II“08:35:0100:51:5300:51:1200:49:0300:56:3300:52:2600:38:0900:54:2600:45:0201:06:5600:49:23
184Team Brekendorf08:35:3500:53:1500:59:1900:54:3101:01:5500:48:0700:46:4600:45:1800:43:2200:59:1300:43:53
185LAP GmbH I08:35:4400:53:1900:48:4600:57:0501:03:5000:44:1800:37:3801:01:2000:45:5400:57:4400:45:54
186Techniker Krankenkasse Schleswig-Holstein08:35:4400:53:0101:07:2401:00:4400:48:5900:53:1500:44:1800:46:3200:36:5300:59:2400:45:18
187BSG Nord-Ostsee Sparkasse Team 108:36:1500:56:1900:56:5400:49:2301:06:2300:46:5300:44:0000:52:4600:39:2100:57:2700:46:53
188Marketing-Club Schleswig-Holstein08:36:2600:52:3500:54:2501:05:1400:52:1800:50:5700:48:2600:42:4600:44:3100:57:3700:47:42
189Stadtwerke Flensburg 108:36:5900:58:2300:54:0800:58:0100:54:2000:55:5200:40:3100:45:0900:39:1601:05:0400:46:20
190Eckernförder MTV Damen08:38:0101:02:2400:50:1700:58:4400:54:5900:52:5000:43:4300:48:4600:40:4101:03:1500:42:25
191Team Seefeld08:38:0500:58:1400:52:2701:05:2401:03:5100:42:5100:43:5200:52:0500:39:1200:51:4600:48:27
192VfB Schuby von 1952 e.V.08:38:1000:48:1100:54:1600:56:0700:49:5601:01:1100:46:4200:50:5000:51:4000:50:5000:48:33
193Atec Pharmatechnik GmbH Team 208:38:5000:48:0400:50:0901:05:0900:56:4800:53:2100:47:1400:49:3300:49:4800:58:1300:40:36
194TSV Erfde08:38:5400:57:0900:52:1400:58:5200:51:5300:46:1900:49:4000:53:0000:45:0301:04:3400:40:15
195Eltern Fit08:39:0300:59:1500:54:5601:03:4600:56:1300:45:1200:45:1800:42:2400:41:5701:02:1400:47:54
196Stadtwerke Flensburg II08:39:1600:55:3401:03:2600:59:5000:56:1600:47:1300:51:0300:44:3100:44:3100:54:3700:42:18
197Gottfried-Arnold-Gymnasium08:39:4300:57:3100:58:0400:55:2000:46:2400:57:3100:55:0300:51:1600:42:5100:46:0900:49:38
198GFD Gesellschaft für Flugzieldarstellung Team 108:39:5000:55:2800:49:4800:56:2000:59:1000:43:1100:45:0200:59:4400:44:5500:57:4500:48:31
199LT Seeth-Ekholt08:40:3300:48:1000:53:0400:58:0501:02:0400:46:0500:48:4800:48:2500:50:2000:50:2300:55:12
200Coast Runners08:40:4801:08:1301:08:2900:58:2700:54:4000:47:3100:43:2500:41:4400:35:4800:52:0700:50:29
201Die Muschelsucher08:40:4900:58:4700:57:1401:02:0901:03:5100:48:1400:37:2700:52:3900:34:0100:56:4700:49:44
202LTV Kiel-Ost II08:40:5000:59:4200:57:2001:06:1500:58:2600:48:0600:40:1700:52:5000:41:4600:58:3000:37:41
203Gemeinde Gammelby I08:40:5200:54:2001:01:2201:04:2100:53:5600:42:0800:41:4300:53:4700:49:1200:56:5200:43:16
204Volks-& Raiffeisenbank eG Süderbrarup08:41:0200:47:2301:08:2500:55:5400:58:2800:49:2900:42:5100:55:4500:42:2000:54:5800:45:33
205S.A.T. Team 108:41:0701:03:3000:59:1000:48:1100:51:4800:46:1501:08:1500:42:4700:44:1600:57:0400:39:56
206Volksbank Main-Tauber eG Team Orange08:41:1301:03:1200:56:4000:50:2100:57:2900:45:1500:48:1700:46:4300:41:1600:58:5800:53:06
207Dansk Skoleforening for Sydslesvig08:41:1700:49:1400:51:4500:56:5901:01:2600:55:5000:51:3300:53:3400:39:3000:57:1000:44:20
208SV Läufer sucht Ziel08:41:3901:01:3800:57:1700:49:4001:02:4000:57:1900:48:1600:45:0100:41:0500:47:0000:51:47
209FKSL Team „HighTabu“08:42:1100:59:2400:53:0201:01:2400:43:5300:53:2200:46:4000:38:4800:54:4400:59:2000:51:41
210Audi Zentrum Flensburg Vertriebs GmbH08:42:2800:53:0800:49:5100:54:3500:57:2200:54:5800:49:0600:51:4000:45:2400:56:2600:50:02
211Volksbank Main-Tauber eG Team Blau08:42:3701:03:0300:56:5600:53:0000:54:2700:51:0100:41:4100:50:5800:53:1400:51:1300:47:08
212Die Transiter08:42:5800:58:4200:44:5100:56:4300:52:1900:53:1100:55:0700:52:4400:45:3200:58:5500:44:57
213Nordsee Reha Klinikum St. Peter-Ording08:43:0201:04:4901:00:2701:00:1501:00:3000:53:5500:36:1100:45:0000:53:4600:49:5300:38:20
214DRK Blutspender TuS Garbek Löpers08:43:1200:50:4600:50:2801:02:1800:53:0501:00:2100:53:2900:46:2400:40:3400:57:5600:47:53
215Eckernförder Stützpunktlaufschnecken08:43:1600:54:2801:00:5300:56:5600:50:0900:50:2500:40:0901:07:0400:49:5800:49:4100:43:37
216Schlei-Klinikum FKSL-Lauftherapie Forensic08:43:2001:04:0100:48:4500:55:4701:04:5800:48:4800:42:5300:44:0300:44:4201:06:2500:43:04
217TSV Schleswig08:43:5900:59:0500:55:3000:59:0900:56:0100:53:5200:45:4500:49:0500:43:5400:56:0100:45:42
218Damper Speedys08:44:0801:00:1600:57:0401:08:0300:49:3700:42:0000:38:5000:44:5400:37:0701:13:3600:52:43
219Dräger Safety AG & Co. KgaA08:44:3000:56:1200:46:0901:00:1800:48:5801:01:1700:46:1000:51:3800:48:3500:48:5100:56:26
220Wald-Läufer Wald-Team08:44:3500:54:0700:54:4700:56:4801:08:1400:48:3700:49:4000:50:3200:44:3400:44:5300:52:28
221BE.ER.TA Laufteam08:44:3700:57:0600:48:2001:03:1201:01:0300:47:5000:42:1000:57:4300:44:4100:54:5300:47:44
222Schmitz Horn Treber GmbH08:44:4300:54:4000:56:5500:58:1700:59:1000:46:2300:47:0701:00:5300:49:0700:51:3400:40:40
223Stadtverwaltung Bad Schwartau08:44:5100:58:4900:58:1201:06:3100:49:5700:47:4000:52:4100:47:1300:40:3100:58:0800:45:13
224Volksbank Raiffeisenbank eG Neumünster08:45:0100:59:1900:49:3300:53:5901:01:1800:47:1400:47:3100:38:5200:53:2601:03:4400:50:09
225Airbus SG Hamburg08:45:0401:02:3900:53:5300:47:1700:48:1300:44:3300:45:5300:53:3801:07:4100:56:4400:44:36
226SYSback 108:45:1200:54:1500:49:4300:59:4400:50:5100:48:4500:44:3900:48:3200:44:5801:07:5700:55:53
227Offset-Ketels GmbH08:45:2600:51:4200:50:1300:54:1501:04:5500:47:3200:41:0900:49:3100:50:1701:00:4600:55:10
228Landhaus Hüsby08:45:3201:04:4300:52:0901:02:0900:59:1700:53:4400:46:2800:50:3800:41:2300:56:3400:38:32
229Spurtnik08:45:3901:00:4600:51:0500:54:2800:57:0200:45:0400:40:3001:00:1500:42:4500:59:0600:54:42
230wind 7 AG08:46:2700:54:5200:59:5401:03:5800:49:4000:55:4500:54:2700:48:1300:32:5500:54:3000:52:17
231RAG Anthrazit Ibbenbüren GmbH Staffel 408:46:3301:04:2801:01:0301:03:0601:02:3000:43:0300:52:0900:44:1400:34:4200:56:0600:45:17
232Deutsche Stiftung Organtransplantation, Region Nord08:46:3801:20:4700:50:2700:54:1801:00:0600:48:2900:39:3600:50:0000:41:3100:49:1700:52:11
233Vermessungsbüro Harry Haß08:46:3901:04:3700:58:1600:57:1600:52:5800:50:5400:44:1700:48:5100:43:1601:02:3300:43:45
234Holsteiner Rennschnecken08:46:4301:00:4800:58:3600:48:4100:51:2000:53:4100:53:1500:53:2800:43:1700:53:5300:49:47
235Running Rider 1- Kleinsolt08:47:1100:52:5500:44:5301:03:0301:00:1500:53:3200:47:3500:47:3300:49:0900:53:1800:55:00
236SASOL Germany GmbH Team II08:48:3401:04:0300:59:3800:51:1500:56:1100:52:2500:41:4500:52:5500:46:3200:52:1000:51:44
237Knust-Runners FC Dänschendorf08:49:0600:58:2000:57:3900:52:2500:55:4900:54:4000:41:3100:53:4900:49:2600:54:4600:50:44
238Kuhnke AG I08:49:2100:57:1101:05:3801:02:0700:55:5600:53:0500:45:1900:44:4800:38:2300:56:3400:50:24
239Lauftreff TSV Bienenbüttel Staffel I08:49:3301:00:3000:53:2100:57:2201:03:0900:40:3400:55:1900:51:3300:50:2200:59:5400:37:34
240Lt TSV Lindewitt08:50:1201:03:5400:54:3900:58:3700:50:0400:48:3200:48:1300:51:1000:49:5601:01:5300:43:17
241Staabrügge08:50:5601:02:0000:46:3701:12:1600:54:4200:48:3700:49:5300:47:4400:44:4200:49:3400:54:55
242Cremilk GmbH08:51:0000:52:5900:57:5701:03:2301:00:0801:00:5800:41:4200:46:4700:40:4200:59:4500:46:43
243Wiedemann GmbH08:51:2501:05:2701:25:0300:56:0000:53:3200:40:5300:44:4900:42:2000:37:1100:55:3600:50:37
244Europcar 208:51:2500:50:5400:46:3100:55:3500:55:3300:54:5000:45:2900:55:5500:50:2801:13:3200:42:43
245RVB meets RICKMERS08:51:3400:47:0301:03:4800:57:1000:57:5401:04:4600:44:3400:46:2300:48:2200:54:5900:46:38
246Uni Kiel Nephrologie08:52:0300:49:1900:48:4500:58:5101:00:5300:51:2100:41:5000:59:5800:43:0401:03:5300:54:13
247Ge(h)zeitenwunder08:52:0801:03:2500:53:1001:15:2200:51:3000:51:4800:44:2500:43:0900:41:5100:58:1500:49:16
248Ahlmann-Zerssen GmbH + Co.KG08:52:2601:17:5500:50:2100:57:2300:54:2600:41:0700:51:4100:56:3200:45:5000:58:1900:38:55
249Verwaltungsgericht Schleswig08:52:3100:52:4700:57:1901:05:1400:53:3200:48:0800:41:2300:57:1700:50:0700:56:0400:50:44
250Physiotherapie Garbsen08:52:4400:52:5001:00:3301:03:3101:03:3400:59:0700:45:3100:50:3300:42:0700:50:5000:44:12
251Malteser Staffel Flensburg I08:52:5201:07:2900:54:2000:55:2900:52:3900:46:5500:44:3200:48:2400:44:3101:14:5100:43:45
252Airbus Buxtehude08:53:0301:05:0301:02:0701:13:1400:52:0900:46:2900:42:4400:48:2600:45:2400:56:0100:41:29
253NAK Roadrunners08:53:1800:55:2500:56:1600:54:4300:56:5901:04:5100:50:4800:47:5700:46:5701:02:3400:36:51
254Wasserverband Nord Oeversee08:53:4900:59:0000:50:2500:58:2400:47:5200:46:1800:43:1100:54:0000:38:5800:59:3101:16:14
255ZBB-Runners08:53:5800:55:2700:57:0501:08:0600:53:2800:45:4400:49:4000:53:1800:43:4700:56:2100:51:06
256Round Table Schleswig08:54:1701:02:2900:57:4501:07:4600:58:5100:43:5500:49:1800:49:3500:43:1900:54:5100:46:31
257Direktmarketing pro memoria GMBH08:54:2600:59:2700:47:1801:04:0200:52:3200:51:0300:48:1801:00:2300:44:0400:57:1300:50:11
258DRK-Nordsee-Reha-Klinik Goldene Schlüssel08:55:2700:51:3400:58:4701:10:1400:55:2801:04:2800:44:1600:45:3900:42:5600:58:3500:43:34
259Damper Lauflehrlinge08:55:3000:53:4900:56:2900:57:1500:58:3100:48:2400:43:3600:49:1900:36:3301:15:0300:56:35
260Mottencastle RT HH Ottensen08:56:1801:08:1700:53:0201:04:0300:55:2600:53:1400:50:0600:46:4500:37:4700:56:5800:50:43
261Fugro Consult GmbH08:56:2700:54:5800:57:3501:01:3400:57:5500:47:0500:53:4700:52:5800:44:0201:00:2400:46:12
262LG Helmste08:56:3600:57:3200:52:2100:58:0500:53:2100:54:1000:55:4500:54:3400:48:5501:07:2200:34:34
263KLIMMZUG Sport-und Gesundheitscentrum08:57:1400:53:4200:49:2000:59:1701:02:5400:52:2401:04:2400:45:5400:44:2701:02:0600:42:51
264TSV Fahrdorf Ladys08:57:3100:59:1600:59:3600:53:3900:59:0800:54:4600:52:1100:52:2800:40:0300:56:3200:49:55
265Run Nienbuettel08:57:5601:03:0800:51:5300:59:1600:58:5200:46:1000:47:2400:55:0400:45:3001:03:1100:47:34
266GFD Gesellschaft für Flugzieldarstellung Team 208:57:5900:51:1000:57:3800:58:0400:57:5400:56:2100:44:3700:51:3200:35:3401:12:0400:53:08
267Stadt Neumünster08:58:0000:54:4801:07:4801:04:0400:57:2200:47:2600:46:3100:49:4300:52:2100:53:1600:44:45
268InterCamping Schuby-Strand08:58:2201:03:1000:47:4600:50:2400:54:5800:48:5000:52:0800:54:3600:49:4101:01:1100:55:43
269Gemeinde Westensee08:58:3400:52:4000:57:2100:54:1200:51:0501:06:4700:49:2400:50:1800:46:0700:59:4800:50:56
270Team-Neuro Damp08:59:4901:01:5900:48:4801:00:0600:55:2400:48:5601:04:1100:58:1900:47:3700:57:2700:37:07
271Fachkliniken Nordfriesland09:00:0201:08:0200:57:4301:05:1401:03:0500:51:4000:42:1900:53:2200:40:3000:48:2800:49:45
272Dannewerker Mauerläufer II09:00:0701:00:1300:57:4401:02:2000:57:0000:42:1500:48:2900:48:1300:49:5800:57:2800:56:32
273Dräger Medical AG/Team LCS09:00:1100:56:3700:50:1200:51:1701:05:5300:57:2000:53:1601:00:0700:50:0700:50:0900:45:17
274Optimistenlaufgemeinschaft09:00:1500:55:4300:49:3201:14:0700:52:4600:52:5800:48:1100:52:1700:44:4101:00:4300:49:22
275Siedlergemeinschaft Schuby09:00:2800:53:2300:45:1100:58:5200:56:1900:46:3900:57:2501:00:5100:47:0901:02:0600:52:37
276LG TBBR09:00:3200:59:5600:59:5901:09:1001:05:5600:50:0500:43:3200:43:1600:43:0600:51:0400:54:32
277Damp Freunde09:00:3600:57:2600:49:2800:54:0701:18:1400:42:2000:59:2100:46:4100:54:1800:55:0400:43:39
278Struxdorfer Lauftreff09:00:3701:04:5101:02:4600:54:3200:55:2500:57:0200:54:0000:47:3500:35:4900:54:3500:54:05
279TSV Pellworm09:00:4301:00:5700:53:0201:00:4800:58:3700:43:3200:38:5500:59:4900:47:4400:57:3000:59:53
280Reha-Runners Damp09:01:1300:56:3300:50:5300:59:1300:57:2900:47:1300:47:2500:55:1700:51:4200:53:1201:02:19
281SV Hollingstedt Damen09:01:4901:03:1500:52:1400:59:5200:57:2600:44:4700:43:0000:55:5000:51:2800:58:2700:55:34
282PwC AcS Ankommen costet Schweiß09:02:3001:03:2600:51:0500:59:3400:55:0100:49:4700:53:1300:52:2300:49:3301:03:5600:44:35
283Bärenhaus Blumenthal09:02:5501:13:2100:49:3800:52:4400:57:1900:47:0200:52:5200:58:5500:45:5700:53:1100:51:59
284LONG DISTANCE LADIES09:03:1900:58:5300:58:2800:56:4800:53:2000:51:3700:41:5800:49:4600:52:4601:03:5900:55:48
285TSV Goldebek09:03:2801:05:4000:51:5100:57:2700:55:0000:59:3600:44:0400:53:2000:51:2200:58:3600:46:36
286Förderzentrum Schleswig-Kropp09:03:5000:49:2300:49:5200:55:1000:56:4700:57:1900:45:2000:46:0100:48:2801:21:5600:53:38
287RAG Anthrazit Ibbenbüren GmbH Staffel 509:03:5800:55:2601:01:5001:02:1500:54:4900:54:5100:46:5300:50:2600:46:3601:00:2800:50:29
288Damp Holding AG / Ostseeklinik09:04:1201:00:5301:02:4200:56:1000:59:0400:46:2000:40:3200:52:2200:51:4801:01:2200:53:04
289Selbsthilfe-Bauverein eG, Staffel II09:04:1900:54:5300:59:4801:09:1700:54:3600:51:0900:55:5800:43:2200:44:5601:01:1200:49:13
290Berufsbildungszentrum Schleswig (BBZ)-Mixed09:04:5601:10:1401:01:2500:47:0100:59:3301:00:3700:47:4900:43:4500:42:5001:06:2800:45:19
291Pulcra Runners 109:05:1200:56:2100:54:3401:09:3700:55:1700:51:0700:47:3300:57:2800:42:3400:59:2700:51:19
292Damp Holding AG, Staffel B09:05:1800:56:4100:50:1400:53:5400:53:0200:58:5900:53:4600:58:1900:58:1100:55:4800:46:27
293Vestas Opti Speed09:05:2600:58:2701:04:3500:55:2801:05:0700:54:1200:49:5500:53:2600:43:3000:56:2700:44:23
294BSG Nord-Ostsee Sparkasse Team 309:06:4100:47:3700:51:0301:02:4600:50:2500:43:3601:00:1500:58:3200:58:5900:51:4001:01:52
295Lauftreff TSV Bienenbüttel Staffel 209:06:5000:59:1201:01:2500:56:1001:05:5500:45:3000:52:0400:52:2000:48:3501:03:3800:42:07
296TSV Drelsdorf A/B Frauen09:06:5101:01:4900:48:5901:07:3200:51:5901:00:0700:45:3400:51:5300:55:3200:59:1600:44:14
297Finanzamt Flensburg09:06:5501:01:5600:54:5100:58:5900:54:2000:59:0400:55:5100:43:1501:02:2001:00:3900:35:44
298BSG Eurogate Hamburg09:07:1501:10:0901:02:3400:57:3500:51:0501:01:5301:01:2100:51:1200:40:5800:50:2000:40:14
299Eider Express09:08:1701:00:5201:07:5601:00:4301:04:3600:52:0300:41:4300:51:0400:45:1200:54:4700:49:25
300IPP-Ingeniurgesellschaft Possel & Partner09:08:2201:01:4300:57:2100:57:4201:02:0800:52:0500:53:1900:49:5100:50:5000:58:4700:44:38
301Selbsthilfe-Bauverein eG09:08:2400:54:0601:03:0800:56:5300:55:1300:49:5400:58:4200:48:5900:48:2401:02:0800:51:03
302Monika`s Laufburschen09:09:1300:52:4400:54:0000:57:1101:03:1800:55:4300:48:3100:53:0800:57:4400:54:2400:52:34
303KKH Rendsburg Psychiatrische Abteilung und Tageskliniken09:09:1901:00:2500:50:4500:56:2001:06:4700:53:5100:46:0200:54:1500:50:0301:01:2200:49:32
304Familie Liekfeldt/Sander09:09:3200:57:2101:01:2601:02:2500:59:0900:52:4100:54:3200:58:5300:41:1900:56:2500:45:25
305RAG Anthrazit Ibbenbüren GmbH Staffel 209:10:0501:10:0701:07:0701:00:3600:54:1000:48:0100:41:3900:55:5700:43:5900:55:0600:53:28
306just for fun09:10:3301:03:5601:00:0301:05:5301:08:4500:55:5100:54:4100:47:3200:40:1100:50:5100:42:53
307Kreisverwaltung SL-FL II09:11:0201:08:5100:50:0801:21:0800:50:0600:41:4700:43:4100:50:1900:46:5401:06:0900:52:03
308AOK Schleswig-Holstein09:11:0501:01:4200:56:3301:00:5900:51:4500:46:4300:46:0800:51:2200:58:2001:07:3800:49:59
309RAG Bergwerk AV Grubenwehr 409:11:3501:01:0300:55:4701:11:5800:55:5500:49:1500:49:3101:00:3100:39:5801:02:2200:45:17
310BDEW-Landesgruppe Norddeutschland09:11:3901:01:0400:55:3801:15:0901:02:5900:50:1100:39:2200:48:1200:50:4601:03:2500:44:56
311Diako Flensburg-Klinik für Urologie09:11:5101:05:5100:55:5701:03:1900:52:1300:48:3100:51:2000:55:1000:51:0201:03:2300:45:09
312LG Amtsgericht Rendsburg09:12:0200:58:3800:55:5600:49:2601:03:1201:03:3900:48:4200:56:4000:39:3201:10:0400:46:17
313Diakonie Rendsburg-Eckernförde09:14:0801:04:4600:54:4201:01:2701:05:5200:47:2800:56:2200:57:0500:38:5601:02:2400:45:11
314Kreisverwaltung SL-FL III09:14:3701:02:1400:57:2801:06:3501:07:5700:50:2300:40:2800:52:5100:47:0901:08:0500:41:31
315HANSE-Klinikum Wismar, Frauen09:14:4001:04:2700:51:0400:54:4800:54:0600:56:1700:49:2000:53:2200:50:3001:13:1100:47:40
316BSG Berliner Bank AG09:14:4101:08:4400:56:5101:01:4700:48:1801:05:4400:49:2400:48:2200:46:0300:59:1900:50:14
317John Reisen GmbH09:14:4901:10:5801:19:0900:51:0100:47:1200:52:5600:56:4900:54:1700:40:2900:54:0500:47:56
318Berlin-Frauen09:15:2400:54:5100:49:2101:06:5501:03:0200:46:4500:54:3900:51:4500:50:4200:59:0800:58:20
319Queisser Pharma GmbH & Co.KG09:15:5701:07:4601:01:2300:57:0100:56:0700:44:0100:47:4600:50:4500:53:1401:04:5000:53:09
320Die Stolpertruppe09:16:1600:54:3600:56:4400:56:4401:05:0000:44:3400:54:1700:51:2201:01:3201:01:3000:49:59
321Vestas Opti Top09:18:1001:04:3400:56:5501:01:3700:54:2100:41:1500:53:0200:53:5200:40:2700:57:5001:14:21
322S.A.T. Team 209:20:0201:03:5701:02:1600:47:2500:58:3100:53:4100:53:5900:51:5700:43:4201:04:5600:59:43
323die VerDAMPten09:21:5001:06:0800:57:4800:58:2400:57:0900:57:3100:51:0600:46:4900:44:2001:07:5600:54:43
324DVGW-Landesgruppe Nord09:22:1400:58:1201:06:4801:08:4401:00:1300:54:2000:45:5600:59:0200:47:1500:55:5000:45:59
325PIC Deutschland GmbH09:22:4800:54:2100:54:1801:00:5800:44:3501:08:4200:46:1201:02:2500:53:5201:04:3200:52:57
326Handwerkskammer Flensburg09:25:4201:25:0100:50:5200:57:5000:52:5001:01:4200:48:0000:56:1600:51:4501:00:0000:41:31
327TSV Eintracht Eggebek09:26:2101:06:3400:57:1100:56:0601:03:0000:56:4500:46:5201:01:1000:48:1200:58:1700:52:19
328Hof Barkelsby09:28:0601:08:1601:03:0900:55:4400:57:1100:54:5300:48:2601:04:0400:58:3300:47:4400:50:10
329Team Ostenfeld09:30:3101:00:3701:01:2001:15:3601:00:2800:54:4000:45:4500:47:4100:48:3800:51:5801:03:51
330Kreisverwaltung Nordfriesland09:30:3301:04:5700:56:0301:17:4401:03:0800:54:3000:59:5100:45:0700:49:1100:52:2100:47:44
331Pulcra Runners 209:30:4300:48:2701:03:5601:00:0900:54:3101:04:5600:51:5900:57:1200:50:5401:09:0300:49:41
332BBI & Friends09:30:5100:58:3400:52:4600:58:5000:58:5900:50:2001:05:4801:07:5600:51:1500:56:3300:49:54
333Eichhörnchen09:31:4901:00:3101:18:3901:07:5600:58:4400:51:0100:46:3300:57:3700:51:1600:54:3100:45:05
334Langwedel I09:32:4701:06:5400:56:4700:54:0101:08:3500:55:0400:47:5501:03:4300:41:5501:09:2200:48:37
335RAG Bergwerk AV Grubenwehr 309:33:0201:03:0400:57:0801:03:4800:57:2000:53:0100:49:0700:57:2600:48:2301:10:4100:53:07
336RAG Bergwerk AV Grubenwehr 509:33:0901:03:3001:01:4201:01:5200:59:0100:48:5400:49:1200:56:4400:56:1501:03:5600:52:05
337Team Manhagen I09:34:3001:09:5900:49:0101:08:2601:07:5700:45:4900:43:3500:58:4100:58:5300:58:5900:53:13
338Europcar 109:36:0200:54:3501:04:5700:56:5501:05:0700:59:3100:54:1900:59:3400:48:3600:54:1500:58:18
339Team Manhagen II09:36:5201:14:2001:04:0700:55:2001:05:1500:50:1400:47:0800:58:5600:53:0501:01:2400:47:08
340Kuhnke AG II09:36:5900:57:4600:57:2101:10:2301:11:2900:44:2800:59:1501:13:3300:45:1900:57:1700:40:12
341Runtime Error09:37:1100:56:5400:57:1501:26:2501:13:4300:44:5300:40:4300:55:5400:53:1400:59:1100:49:04
342SYSback 209:37:1401:07:5101:00:3601:14:4101:10:1200:55:1700:40:4400:49:2300:49:2300:50:1800:58:52
343Ostseeklinik Kiel09:37:4800:59:4500:56:2801:14:1401:23:3100:57:4200:42:4700:50:4900:44:5100:58:5400:48:49
344RAG Bergwerk AV Grubenwehr 609:39:4801:04:1000:58:0101:01:3401:00:1500:50:2300:49:0900:57:2500:55:4301:11:1700:51:57
345SG Westensee09:41:0401:13:1100:56:3801:00:5300:59:5701:03:0000:52:1001:00:2200:55:5700:54:0900:44:51
346HSU-Uni Bw Hamburg09:42:4401:07:0100:54:0300:56:1601:14:3700:58:0700:55:1800:51:4800:51:5100:57:3800:56:09
347Ameropa-Reisen GmbH, Team I09:42:5300:54:5400:47:4501:10:5700:55:0000:52:3500:54:5901:12:0300:47:5601:00:4501:06:02
348Vestas „Fit for Finance I“09:43:4001:02:1001:01:4201:08:3101:03:2701:03:5300:59:0000:46:5600:44:0101:06:2900:47:35
349Kreisverwaltung Steinburg09:44:1800:50:0901:03:0201:11:2800:56:4800:51:2500:58:0500:54:5800:50:3601:08:4400:59:06
350Ameropa-Reisen GmbH, Team II09:49:3001:07:4500:51:4201:03:0400:58:3400:51:4100:51:5201:06:0900:52:3601:06:0701:00:05
351OFS and friends09:50:0401:05:0001:09:1801:09:1801:05:2300:58:4500:53:0001:06:1100:41:5100:58:5700:42:25
352Blohm+Voss GmbH09:50:3900:56:2700:55:1501:02:0201:03:0001:15:1700:52:5601:17:4900:51:1200:56:0100:40:43
353Median Klinik Wismar09:53:2901:01:2201:01:2001:05:2801:15:2000:57:3000:57:3000:50:5600:52:4100:53:5900:57:26
354BSG Montblanc09:55:1501:06:5600:57:4801:06:0500:55:2501:07:4900:48:5400:46:2801:08:5901:07:2400:49:31
355Team RGS Osterrönfeld09:56:0300:55:3300:51:5800:56:5401:13:1001:07:4000:51:4101:10:0600:48:5401:19:1000:41:02
356RGS Mildstedt09:56:3100:54:0400:59:2601:02:5401:01:5501:12:1801:06:5900:58:4500:50:2501:01:1100:48:39
357AVN -Ausbildungsverbund Neumünster10:01:5601:09:4101:09:4101:07:5901:12:4900:55:3000:54:2600:51:0700:55:4300:55:2300:49:42

mathmagicians

,

Bought a book explaining mental arithmetic and wrote a quick bash script to pose subtraction-questions:
while (true); do clear; pause=6;divisibleBy=1; max=999; min=11; rnumber1=$(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)); echo $rnumber1; max=$[${rnumber1}-1]; rnumber2=$(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)); echo $rnumber2; echo $rnumber1 "minus" $rnumber2 | festival --tts; sleep $pause; result=$[$rnumber1-$rnumber2]; echo "-------"; echo $result; echo "======="; echo $result | festival --tts; echo ""; done


Random code taken from http://tldp.org/LDP/abs/html/randomvar.html

Crosstabs

SQLformatter

http://www.sqlinform.com/

Scheint keine online-Verbindung aufzubauen, also durchaus "work-safe".

Beamer Vollbild fullsize picture

Zuerst fuer beamerlatex ein Hintergrundbild definieren, dann einen frame erstellen, der KEINEN frametitle hat, und nach dem frame wieder das Hintergrundbild zurücksetzen:

     34 \setbeamertemplate{background canvas}{\includegraphics[width=\paperwidth        ]{pictures/gentoo/emergance.png}}
     35 \begin{frame}[plain]
     36 \end{frame}

symfony, svn

me@localhost:
mkdir /home/cpr/Programming/PHP/symfony/myproject
cd ESC .
symfony generate:project myproject #uses system-wide symfony installation
rm -rf cache/* log/*

superuserbutnotroot@remote:
svnadmin create /var/svn/myproject
sudo chown myuser:users -R /var/svn/myproject

me@localhost:
svn mkdir -m "initial structure" svn+ssh://myuser@example.com/var/svn/myproject/trunk svn+ssh://myuser@example.com/var/svn/myproject/tags svn+ssh://myuser@example.com/var/svn/myproject/branches
rm -rf cache/* log/*
svn import -m "initial import" svn+ssh://myuser@example.com/var/svn/myproject/trunk
svn co svn+ssh://myuser@example.com/var/svn/myproject/trunk mediaservice

svn propedit svn:ignore cache/ # put *
svn propedit svn:ignore log/ # put *
mkdir lib/vendor
svn add lib/vendor
svn propedit svn:externals lib/vendor # put symfony http://svn.symfony-project.com/branches/1.2
svn checkout
svn update

root@localhost:
vi /etc/lighttpd/vhosts.d/myproject.conf
#$HTTP["host"] =~ "dev.myproject.local" {
#server.document-root = "/home/me/Programming/PHP/symfony/myproject/trunk/web"
#alias.url = ( "/sf/" => "/user/share/php5/PEAR/data/symfony/web/sf/" )
#url.rewrite-once = (
# "^/(.*\..+(?!html))$" => "$0",
# "^/(.*)\.(.*)" => "$0",
# "^/([^.]+)$" => "/index.php/$1",
# "^/$" => "/index.php"
#)
#}
vi /etc/hosts
#127.0.0.1 localhost dev.myproject.local
#edit Opera Extras Einstellungen Erweitert Netzwerk Proxyserver "Keinen Proxyserver für folgende Adressen verwenden:" *local


symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret frontend
#// config/ProjectConfiguration.class.php
#require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';


config/properties.ini:
[symfony]
  name=myproject
  author=Chr Prior <joe at example.com


./symfony generate:module frontend default #edit action.class.php and remove $this->forward() to disable the symfony default startpage

Unabhängige E-Mail-Adressen

Providerwechsel und die E-Mail ist fort? Eine Domain "umsonst" bekommen und an den Vermittler gebunden? Es gibt andere Möglichkeiten…

Read more...

MySQL replication

master: server-id 1, remote login for replicatiomn user is possible
slave: change master to
master_host
master_user
master_password
master_log_file NOT from master/etc/my.cnf, BUT from master show master status, i.e. "bin.000004" or similar
master_log_pos

slave start

tail -f /var/log/mysqld.log (d!)

ssh open confirm rwindow

,

This is a wifi driver problem with wl. ndiswrapper might help, too -- but I have not tried.

The solution from this bug report (https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/259816/) works for me :
Open a console and type : "sudo iwpriv eth1 set_vlanmode 0"



https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/237894/comments/23

Mastering The Linux Shell - Bash Shortcuts Explained

,

Das Keyboard: OEM

http://www.golem.de/0709/54887.html

Bei der "Erfindung" handelt es sich offenbar um eine G80-3000 von Cherry, die auch von anderen ohne Beschriftung angeboten wird.

Das Keyboard: Tastatur ohne Buchstaben
Goldbeschichtete Kontakte sollen für langlebige Lernhilfe sorgen

snapshot metadata YouTube 1981aLaN

, , ,

I have used http://code.google.com/intl/de-DE/apis/youtube/1.0/developers_guide_php.html to download the metadata of the great track&field video "channel" by http://www.youtube.com/1981aLaN and stored Title, ID, URL, description and duration in a csv file.

I will now use this data to download all videos with http://www.arrakis.es/~rggi3/youtube-dl/

Read more...

training

http://runningtimes.com/Article.aspx?ArticleID=11715

Performance Page: Don't Lose It ... Use It!
Turning marathon fitness into 5k/10k PRs December 2008
http://runningtimes.com/Article.aspx?ArticleID=15081

bash spaces filename

,

bash $IFS ls -1
find $dir -name '*.foo' | while read f;do echo $f;done

streamripper HR2 Ilias

cpr@1300:~$ crontab -l
30 9 1-30 9 1-4 streamripper ` dog http://hr.streamfarm.net/cms/_v/radio/live/hr2.m3u | grep http` -t -q -l 3900 -d /home/cpr/audio~/Troja/ -a
30 9 1-2 10 1-4 streamripper ` dog http://hr.streamfarm.net/cms/_v/radio/live/hr2.m3u | grep http` -t -q -l 3900 -d /home/cpr/audio~/Troja/ -a

0 22 1-30 9 1-4 streamripper ` dog http://hr.streamfarm.net/cms/_v/radio/live/hr2.m3u | grep http` -t -q -l 3900 -d /home/cpr/audio~/Troja/ -a
0 22 1-2 10 1-4 streamripper ` dog http://hr.streamfarm.net/cms/_v/radio/live/hr2.m3u | grep http` -t -q -l 3900 -d /home/cpr/audio~/Troja/ -a

http://www.hr-online.de/website/radio/hr2/index.jsp?rubrik=38852

Ein Modell für Lydiards Trainingsmethode

Gemstones in the "Running With Lydiard blog

,

blogspot.com is weird: It seems that the deep links only work after you clicked to the blogs main page:
http://championseverywhere.blogspot.com/


Two links that are included in http://championseverywhere.blogspot.com/2007/07/words-from-coachall-in-one-place.html
A Model for the Lydiard Method
http://championseverywhere.blogspot.com/2006/12/model-for-lydiard-method.html
http://artsandcrafts.prior-i.de/images/sport_running_aModelForTheLydiardMethod.gif

Arthur's speed work
http://championseverywhere.blogspot.com/2007/01/arthurs-speed-work.html


I still rememeber some good workout dscriptions, once I stumble across them I will include them here. Right now the "words from coachall in one place"-link is a much better place to start.


http://championseverywhere.blogspot.com/2007/02/activating-and-conditioning.html
contains
http://ingrid-kristiansen.com/holisticfitness/running.htm

to be continued

Laufstil in ASCII

,

Der Versuch zweier "Bilder"

Read more...

letsrun.com posts: marathon training

,

FIRST MARATHON - advise for sub 2:30
MPR: 5 Key Marathon Workouts

Japanese training:
How slow do the Japanese train?

Tom Osler's Sharpening


Try a simple Hansons like approach for marathon training

3 day mini-cycle
Day 1: Hard Workout
Day 2: Easy Run
Day 3: Easy Run

Structure your hard workouts on this sequence:
Hard Workout # 1: Threshold repeats
Hard Workout # 2: Threshold repeats
Hard Workout # 3: Long Run
Hard Workout # 4: Speed Work
Hard Workout # 5: Threshold repeats
Hard Workout # 6: Long Run

Threshold repeats are repeats of 1.5 to 6 miles in length, totaling 8-12 miles of repeats done at marathon pace to 10 second per mile faster.

Speed Work is repeats of 1k to 1 mile in length, totaling 5-6 miles of repeats done at 8k to 10k race pace.

Long Runs are 18-22 miles with 3 miles at marathon race pace late in the run.

running, improvement

777 wrote:


Some runners' gift is not so much a natural ability to run fast, but a natural ability to improve from training.
http://www.letsrun.com/forum/flat_read.php?board=1&thread=2372073&id=2496131#2496131

ATHLETIC FOOTWEAR AND RUNNING INJURIES

ATHLETIC FOOTWEAR AND RUNNING INJURIES

Essay on the harmful effects of modern running shoes.

( Written a number of years ago, this piece was published in part in the German ultra magazine Spiridon.)

by Joseph Froncioni

Read more...

CDEx native SCSI library; exact audio copy access violation

Just stop coLinux.

letsrun.com post: how to increase mileage

,

Critical velocity

"Doubles!" by Malmö; Danny Henderson training

Back in Nagasaki where the fellows chew tobacki

MikaTiming

SQL gender encoding

0 not known
1 male
2 female
9 not specified

WMA ageclass data in yml format

,

Through collaboration with Rex Harvey, World Masters Athletics, Alan Jones has created updated replacements for the running events of 1500 m and longer for track races and 5 km and longer for road races. Data from the 2006.05.28 update.

Read more...

SQL WMA age standards

SELECT f.distance, s.open_class_standard, f.type, f.gender, f.age, f.age_factor, SEC_TO_TIME(TIME_TO_SEC(s.open_class_standard)/f.age_factor), f2.age, f2.age_factor, SEC_TO_TIME(TIME_TO_SEC(s.open_class_standard)/f2.age_factor) FROM wma_age_factors f INNER JOIN wma_open_class_standards s ON f.distance=s.distance
INNER JOIN wma_age_factors f2 ON f.distance=f2.distance
WHERE f.age=32 and f2.age=40 AND f.distance LIKE "HM" AND f.gender=1 AND f2.gender=1 AND s.gender=1 and f.type LIKE "road" and f2.type LIKE "road"

one-page webserver with netcat

,

while `netcat -lp 80 -c 'echo -e "HTTP/1.0 200 OK\nContent-Type: text/html\n"; cat index.html'`
echo got connection
done

from https://mlists.in-berlin.de/pipermail/linux-l/msg54026.html

symfony schon bald mit 3-Jahres-Garantie

lighttpd (cygwin), PHP5.2.0, Windows 2000, symfony

, , ,

I can only tolerate W2K with cygwin installed, and its package manager got me lighttpd.
This needed configuration:
cp /e^T/li^T/lighttpd.conf.default /etc/lighttpd/lighttpd.conf
vi ESC .
Only static HTML at first:
server.document-root = "/cygdrive/e/www/localhost/"
echo "test" > /cygdrive/e/www/localhost/index.php
echo "test" > /cygdrive/e/www/localhost/index.htm
/usr/sbin/lighttpd.exe -D -f /etc/lighttpd/lighttpd.conf #I could CTRL-C terminate it
#/usr/sbin/lighttpd.exe -f /etc/lighttpd/lighttpd.conf #goes to background mode, ps ux needed to get the PID
Big mistake: index.php takes precedence over index.htm and I got a 403 error. Removing the index.php helped.

Get PHP from http://www.php.net/downloads.php
Put it to C:\PHP and include the cgi version!
Version PHP5.2.0 did not work with yaz, pspell, nt$something and a 4th extension that I have already forgotten, so I excluded them.
The peardev.bat has some ^ characters in it, removed them by hand.
Double-clicking (*yuck*) to initialize PEAR, then I did the usual channel-discover etc. as per symfony docs. Then symfony installed without any problems.

Back to lighttpd: Un-commented cgi module, cgi.assign = (".php"=>"C:\PHP\php-cgi.exe")
Got a "no input file specified" error, added in php.ini a docroot E:\www\localhost as per http://www.php.net/manual/de/security.cgi-bin.php 1st comment.
A phpinfo(); in index.php worked then.
Changed BOTH php.ini and lighttpd.conf to point to a symfony-style $mypath/web/ directory, un-commented mod_rewrite, mod_redirect, mod_alias in lighttpd.conf and added
alias.url = ( "/sf/" => "/cygdrive/c/PHP/PEAR/data/symfony/web/sf/" )
url.rewrite-once = (
"^/(.*\..+(?!html))$" => "$0",
"^/(.*)\.(.*)" => "$0",
"^/([^.]+)$" => "/index.php/$1",
"^/$" => "/index.php"
)
I didn't bother to setup a vhost, as this installation is just for testing anyways. I got that above rewrite stuff from the symfony wiki IIRC (taken from another host).
Now c:\php\symfony init-project test && C:\PHP\symfony init-app frontend brought me the familiar symfony welcome screen.

I downloaded mysql-essential-5.0.27-win32.msi and installed ot as a service (for now). Configuration was done with the bundled "MySQL Server Instance Config Wizard". In cmd.com mysql -u root -pmyPassword and create databse symfony.

In the symfont directory I changed both config/database.yml AND propel.ini including username:password in both of them. I could then copy the schema.yml from the First Project tutorial and run propel-*-* to create the database tables.


Music to my ears!

I downloaded http://xdebug.org/link.php?url=xdebug200rc3-521-win although it said PHP5.2.1+ and put it in my C:\PHP\ext and added zend_extension_ts="C:/PHP/ext/php_xdebug-2.0.0rc3-5.2.1.dll" to my php.ini -- that's all to install xdebug. In cmd.com a C:\PHP\php-cgi.exe brought no error message, if the xdebug dll is too old it says something along the lines "Xdebug requires Zend Engine API version 220051025.
The Zend Engine API version 220060519 which is installed, is newer.
Contact Derick Rethans at http://xdebug.org for a later version of Xdebug."

I could not get xcache to work with PHP5.2.0, but on another machine with PHP-5.1.6

Export from AutoCAD to tiff

How to export an AutoCAD drawing to a hi-res raster file (eg. TIFF)?
AUse the Add-a-Plotter wizard to add a raster "printer" - eg. for the TIFF format: use This Computer, select Raster File Formats (as Manufacturer) and under Model select TIFF (or PNG, JPEG...).

Raster file size is unitless (pixels, not inches or mm) - to increase resolution (in pixels) set a 'larger paper size'. You can create a custom "paper" size for this "printer" - increase this paper size to achieve higher resolution (more pixels in the resulting raster file). The DPI (dots-per-inch) value is usually fixed (e.g. 100 dpi) so to get 2000 pixel resolution you will have to set 2000/100 = 20 inches page size. (in higher AutoCAD versions you can use directly pixels)

Under Device settings you can set the color depth (for color formats) - fewer colors means smaller files.

You can also export to other raster formats - CALS, JPG/JPEG, BMP, PNG, TGA, PCX.

How to export an AutoCAD drawing to a hi-res raster file (eg. TIFF)?
AUse the Add-a-Plotter wizard to add a raster "printer" - eg. for the TIFF format: use This Computer, select Raster File Formats (as Manufacturer) and under Model select TIFF (or PNG, JPEG...).

Raster file size is unitless (pixels, not inches or mm) - to increase resolution (in pixels) set a 'larger paper size'. You can create a custom "paper" size for this "printer" - increase this paper size to achieve higher resolution (more pixels in the resulting raster file). The DPI (dots-per-inch) value is usually fixed (e.g. 100 dpi) so to get 2000 pixel resolution you will have to set 2000/100 = 20 inches page size. (in higher AutoCAD versions you can use directly pixels)

Under Device settings you can set the color depth (for color formats) - fewer colors means smaller files.



http://www.cadforum.cz/cadforum_en/qaID.asp?tip=1028

"dbExpress error" with DBDesigner

DBDesigner4.0 uses the old password type, but MySQL has since moved to a different format. So i could not connect to a database. Here is a fix: http://www.mysqlusers.com/msg/37060.html

Happy new year greetings from freenode

, ,

-- phpMyAdmin SQL Dump
-- version 2.9.0.3-Debian-1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 10. Januar 2007 um 19:48
-- Server Version: 4.1.15
-- PHP-Version: 4.4.4-4~4
--
-- Datenbank: `cpr`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `hny`
--

CREATE TABLE `hny` (
`gmt` datetime NOT NULL default '0000-00-00 00:00:00',
`nick` varchar(32) character set utf8 NOT NULL default '',
`isocode` varchar(16) character set utf8 NOT NULL default '',
`greeting` varchar(255) character set utf8 NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Daten für Tabelle `hny`
--

INSERT INTO `hny` (`gmt`, `nick`, `isocode`, `greeting`) VALUES
('2005-12-31 01:05:00', 'Jibbler', 'en_GB', 'Happy new year!'),
('2005-12-31 01:05:00', 'numist', 'es_ES', 'feliz ano nuevo!'),
('2005-12-31 01:06:00', 'janne_oksanen', 'fi_FI', 'Hyvää uutta vuotta!'),
('2005-12-31 02:11:00', 'Cippo', 'no_NO', 'God Nytt År'),
('2005-12-31 02:12:00', 'stelki', 'da_DK', 'Godt nytår'),
('2005-12-31 02:17:00', 'nocturnal', 'sv_SE', 'buorre eahket'),
('2005-12-31 02:22:00', 'roel', 'be_NL', 'Gelukkig Nieuwjaar'),
('2005-12-31 04:40:00', 'empoor', 'nl_NL', 'Gelukkig nieuwjaar!'),
('2005-12-31 04:44:00', 'Nirgal', 'zh_CN', '新年好'),
('2005-12-31 04:45:00', 'mur', 'en_C++', 'year++; this.assign(happy);'),
('2005-12-31 04:47:00', 'mur', 'en_CPP', 'year.increase(); this.assign(emotion.happy.get());'),
('2005-12-31 04:48:00', 'StyXman', 'es_AR', 'feliz año nuevo!'),
('2005-12-31 04:50:00', 'mur', 'en_DADAISM', 'True old rotten banana!'),
('2005-12-31 04:51:00', 'Warlord96', 'en_bash', 'if [ $YEAR == "2006" ]; then $HAPPY = "True"; else $YEAR = "2006"; fi'),
('2005-12-31 06:50:00', 'encoded', 'blah_blah', 'padfjajkfbshk fuoasdhf wfhas'),
('2005-12-31 06:50:00', 'paul0', 'pt_BR', 'Feliz ano novo!'),
('2005-12-31 06:51:00', 'decibelle', 'ie_IE', 'Bliain Mhaith Úr.'),
('2005-12-31 06:52:00', 'mateo', 'eo_EO', 'Feliĉan Novjaron!'),
('2005-12-31 06:52:00', 'shastry', 'hi_IN', 'नव वर्ष की शुभकामनाए'),
('2005-12-31 06:53:00', 'phaeton', 'hny_hny', 'HNY!'),
('2005-12-31 06:58:00', 'mur', 'bear_FI', 'murr murrr murr!'),
('2005-12-31 06:58:00', 'mur', 'bear_EN', 'groarrrr groarrr!'),
('2005-12-31 07:06:00', 'decibelle', 'he_IL', 'Shana tova! (transliterated) (wrong time of year for this) (oh well) :)'),
('2005-12-31 07:07:00', 'Wohali', 'en_rot13', 'Unccl arj lrne, sbyxf!'),
('2005-12-31 07:08:00', 'Wohali', 'en_morse', '.... .- .--. .--. -.-- / -. . .-- / -.-- . .- .-. --..-- / ... ..- -.-. -.- . .-. ...'),
('2005-12-31 07:08:00', 'daBlade', 'ba_BA', 'Sretna nova godina'),
('2005-12-31 07:08:00', 'mur', 'fi_binary', '01001 00001 11100 10111 01101 11001 00111 00100 00100 00001 11010 10111 01010 11101 00011 10100 01100 00100 10000 00111 01100 11101 01011 01111 01110 10001 11010 00110 00010 01000 01'),
('2005-12-31 07:09:00', 'mur', 'en_C', 'printf("Happy New Year!")'),
('2005-12-31 07:10:00', 'Wohali', 'vl_vl', 'Seveh uzh tevun!'),
('2005-12-31 07:10:00', 'mur', 'en_BASIC', '10 PRINT "happy new year!"'),
('2005-12-31 07:10:00', 'Peter', 'en_pig', 'appyhay ewnay earyay!'),
('2005-12-31 07:11:00', 'nforbes', 'en_base64', 'aGFwcHkgbmV3IHllYXJzIQ=='),
('2005-12-31 07:11:00', 'Peter', 'en_morse', '. . . . . _ . _ _ . . _ _ . _ . _ _ _ . . . _ _ _ . _ _ . . _ . _ .'),
('2005-12-31 07:11:00', 'Wohali', 'en_B1FF', 'H4PPY ||3// Y34R'),
('2005-12-31 07:12:00', 'ankon', 'en_depressive', 'new year''s eve sucks'),
('2005-12-31 07:17:00', 'shastry', 'kn_IN', 'ಹೊಸ ವರ್ಷದ ಶುಭಾಶಯಗಳು'),
('2005-12-31 07:18:00', 'spyro_boy', 'en_php', 'echo (''Happy New Years!'');'),
('2005-12-31 07:18:00', 'nforbes', 'en_ruby', 'puts ''Happy New Years!'''),
('2005-12-31 07:19:00', 'decibelle', 'he_IL', 'שנה טובה'),
('2005-12-31 07:20:00', 'spyro_boy', 'en_leet', '/-/4/>/>`/ //3// `/34/25'),
('2005-12-31 07:22:00', 'alvarezp', 'es_efe', 'Fefelifiz Afañofo Nuefevofo!'),
('2005-12-31 07:23:00', 'phaeathon', 'en_Shareware', 'Welcome to New Year 2006! Register now for extra features like *Happy* New Year and future upgrades to New Year 2007!'),
('2005-12-31 07:23:00', 'Peter', 'en_Pirate', 'Yarrrr me hearties! Have a happy new year! Avast me swines!'),
('2005-12-31 07:24:00', 'spyro_boy', 'en_gangsta', 'Yo bro! Happy Fucking New Years!'),
('2005-12-31 07:24:00', 'Peter', 'sheep_en', 'meeh meeeh meh!'),
('2005-12-31 07:24:00', 'mur', 'fi_perkele', 'Perkele saatanan hyvää vuotta!'),
('2005-12-31 07:25:00', 'ankon', 'en_explosives', '*BOOM*'),
('2005-12-31 07:26:00', 'reallove', 'ro_RO', 'An Nou Fericit! La multi ani !!'),
('2005-12-31 07:26:00', 'spyro_boy', 'en_godfather', 'Happy New Year from La Famiglia. Now, where''s ma cigar?'),
('2005-12-31 07:27:00', 'nforbes', 'la_LA', 'Laetus novus annus!'),
('2005-12-31 07:28:00', 'ankon', 'en_MichealJackso', 'I love you all!'),
('2005-12-31 07:28:00', 'nforbes', 'en_AOL', 'lolz hny every1 r u gud 2day??'),
('2005-12-31 07:30:00', 'mur', 'en_pessimistic', 'Why bother.. the year wont change anyways...'),
('2005-12-31 07:32:00', 'spyro_boy', 'en_slackware', 'clear ; date ; import happy_new_years.jpeg'),
('2005-12-31 07:32:00', 'ankon', 'en_freebsd', 'cd /usr/ports/misc/hny && make install'),
('2005-12-31 07:34:00', 'alvarezp', 'en_y2k', 'Happy Old Year!'),
('2005-12-31 07:34:00', 'mur', 'en_windows', 'Are you sure you want to change this year 2005 to new year 2006? The action is undoable.'),
('2005-12-31 07:35:00', 'ankon', 'en_arcade', 'Game Over! Insert coin to continue'),
('2005-12-31 07:35:00', 'Peter', 'en_vi', 's/2005/2006/'),
('2005-12-31 07:36:00', 'alvarezp', 'en_y-two-k', 'Happy Old Year!'),
('2005-12-31 07:36:00', 'ankon', 'en_mother', 'Would you please clean your room?'),
('2005-12-31 07:36:00', 'mur', 'en_Y2K', 'Happy new year 1806!!'),
('2005-12-31 07:37:00', 'encoded', 'en_spam', 'happy new year spam!'),
('2005-12-31 07:39:00', 'nforbes', 'en_AOL', '/nick Sexy-Girl-2006'),
('2005-12-31 07:54:00', 'Peter', 'en_warez', 'new.year.party.2006[DVD-RIP[HDTV-LoL]].avi'),
('2005-12-31 07:54:00', 'ankon', 'en_SQL', 'SELECT year FROM century WHERE year > current_year;'),
('2005-12-31 07:56:00', 'spyro_boy', 'en_p2p', 'bathroom_secks_2006_lol_pron_hentai_jap_french.avi'),
('2005-12-31 07:58:00', 'ankon', 'en_PANIC', 'Help! New Year is coming to get me!'),
('2005-12-31 07:58:00', 'chaosite', 'en_IRC', '/set #newyear +happy'),
('2005-12-31 07:59:00', 'alvarezp', 'es_mxfresa', 'O sea, feliz año nuevo, güey!'),
('2005-12-31 07:59:00', 'ankon', 'en_police', 'Nothing to see here folks'),
('2005-12-31 08:00:00', 'Wohali', 'fr_FR', 'bananier et pommes sautées'),
('2005-12-31 08:04:00', 'Madvax', 'en_/.', 'I for one welcome our 2006 time overlords.'),
('2005-12-31 08:05:00', 'ankon', 'en_netcrafttroll', 'the old year is dead! netcraft confirms it!'),
('2005-12-31 08:08:00', 'BHSPitMonkey', 'en_SandwichSign', 'REPENT!'),
('2005-12-31 08:14:00', 'Hortensius', 'la_latin', 'Bonum annum ingrediaris'),
('2005-12-31 08:22:00', 'Hortensius', 'de_yiddish', 'ejn gut rosh'),
('2005-12-31 08:28:00', 'Hortensius', 'de_alsacian', 'E glecklichs Nej Johr!'),
('2005-12-31 08:31:00', 'Hortensius', 'il_hebrew', 'leshana tova tikosevu'),
('2005-12-31 08:35:00', 'Hortensius', 'nl_medieval', 'Een goet, salich jaer'),
('2005-12-31 08:48:00', 'Hortensius', 'greek_classical', 'Kalòn étos isélthois'),
('2005-12-31 08:56:00', 'Hortensius', 'ch_romansch', 'Legreivel niev onn'),
('2005-12-31 08:57:00', 'Hortensius', 'ru_votian', 'Yvää uutta vootta!'),
('2005-12-31 09:13:00', 'roel', 'cz_CZ', 'Stastny novy rok!'),
('2005-12-31 09:18:00', 'Hortensius', 'ie_IE(2)', 'Blian nua faoi mhaise duit'),
('2005-12-31 09:29:00', 'Hortensius', 'is_IS', 'Farsælt komandi ár'),
('2005-12-31 09:39:00', 'cprior', 'comp_gentoo', 'USE="happiness" emerge year-2006.0_rc1 -va #sic'),
('2005-12-31 09:42:00', 'BHSPitMonkey', 'en_Dick-Clark', 'Hi, I''m Dick Clark, and welcome to New Year''s Rockin'' Eve'' 2006!'),
('2005-12-31 10:21:00', 'cprior', 'de_DE', 'Frohes neues Jahr!'),
('2005-12-31 10:21:00', 'Wohali', 'fr_FR', 'Bonne année!'),
('2005-12-31 10:21:00', 'Wohali', 'ja_JP', 'oshogatsu omedetou'),
('2005-12-31 10:22:00', 'Stalwart', 'ru_RU', 'S Novim godom! =]'),
('2005-12-31 10:22:00', 'mateo', 'eo_EO', 'felicxigan novan jaron!'),
('2005-12-31 10:22:00', 'Stalwart', 'lv_LV', 'Laimigu Jauno gadu!'),
('2005-12-31 10:23:00', 'Jax', 'ch_DE', 'Es guets nöis!'),
('2005-12-31 10:23:00', 'mateo', 'en_AU', 'ava bonza new year!'),
('2005-12-31 10:23:00', 'nocturnal', 'sv_SE', 'Gott Nytt År! =D'),
('2005-12-31 10:24:00', 'Wohali', 'elmer_fudd', 'happy new yeaw!'),
('2005-12-31 10:25:00', 'Wohali', 'swedish_chef', 'heppy noo yeer!'),
('2005-12-31 12:18:00', 'juckes', 'cm_CM', 'blwyddyn newydd dda'),
('2006-01-01 03:59:00', 'BHSPitMonkey', 'us_BushAdm.', '"While we now admit the decision to have a new year was made on false information, we feel we have made the right choice."'),
('2006-01-01 08:22:00', 'Adridon', 'de_SN', 'N''Guddes Neus'),
('2006-01-01 08:32:00', 'Warlord96', 'en_md5', '3941ba96958a62622fc4c8c2221b6d91'),
('2006-01-01 08:32:00', 'Warlord96', 'en_sha1', '7d6ce36e9287f8c8339bd10be2440058bc8f5291'),
('2006-01-01 08:33:00', 'Warlord96', 'en_rot13', 'Unccl Arj Lrne'),
('2006-01-01 08:34:00', 'Warlord96', 'comp_slackware', 'upgradepkg year-2006-i486-1.tgz'),
('2006-01-01 08:35:00', '_phate_', 'en_c', 'printf("HAPY NEW YEER!\n");'),
('2006-01-01 08:35:00', 'cprior', 'en_HTML', '<h1>Happy New Year!</h1>'),
('2006-01-01 08:36:00', 'Warlord96', 'en_mute', '. . .'),
('2006-01-01 08:39:00', 'tw3k', 'en_tw3k', '0c5058810d37a8e005a908aca7747a8c'),
('2006-01-01 08:40:00', 'Warlord96', 'en_clueless', 'lol wat did i miss teh new year again?????/'),
('2006-01-01 08:42:00', 'tw3k', 'en_anonymous', 'int i;main(){for(;i["]<i;++i){--i;}"];read(''-''-''-'',i+++"Happy NewYear!\\n",''/''/''/''));}read(j,i,p){write(j/p+p,i---j,i/i);}'),
('2006-01-01 08:45:00', 'shastry', 'en_java', 'public class hny2006 { public static void main (String args[]) { System.out.println("Happy New Year"); } }'),
('2006-01-01 08:46:00', '_phate_', 'jp_babelfish-kan', 'けましておめでとう!'),
('2006-01-01 09:58:00', 'cprior', 'en_hangover', 'Nasty bastard, that surgeon! (replacing the tongue with a rabbit overnight)'),
('2006-01-01 12:22:00', 'mur', 'en_dyslexic', 'Happy new ears!!!'),
('2006-01-01 12:25:00', 'BHSPitMonkey', 'ie_Irish', 'How about a drink, Patty?'),
('2006-01-01 12:33:00', 'BHSPitMonkey', 'jp_haiku', 'And as the year dawns, we hope you a better one, than the one before.'),
('2006-12-31 11:12:31', '_cikgu_', 'es_ES', '¡Feliz Año Nuevo!'),
('2006-12-31 11:13:36', '_cikgu_', 'es_EU', 'Urte Berri On!'),
('2006-12-31 11:19:44', 'bienc', 'en_AU', 'happy new years mate'),
('2006-12-31 11:19:53', 'rob', 'en_au', 'Happy New Year!'),
('2006-12-31 11:22:11', 'kommander-tom', 'fr_FR', 'Bonne année!'),
('2006-12-31 11:31:27', 'Roman', 'pl_PL', 'Szczesliwego Nowego Roku!'),
('2006-12-31 12:23:07', 'Peter', 'en_text', 'hpy nw yrz ppls'),
('2006-12-31 12:23:38', 'Peter', 'en_Ceiling_Cat', 'I''m in your clockz changing your yearz.'),
('2006-12-31 12:36:55', 'vt', 'ru_SU', 'С наступающем Новым Годом'),
('2006-12-31 13:03:46', 'inspired', 'no_NO', 'Godt nyttår!'),
('2006-12-31 13:04:45', 'inspired', 'no_NN', 'Godt nyår!'),
('2006-12-31 14:37:46', 'rob', 'en_DrunkenAussie', 'Crikey happy new year, cobber!'),
('2006-12-31 15:10:40', 'Gamez', 'en_gentoo', 'emerge -uDv world;[ebuild U ] system-extra/year-2007 [2006]'),
('2006-12-31 16:43:57', 'inspired', 'lt_LT', 'laimingų Naujųjų Metų'),
('2006-12-31 16:47:42', 'WindowsUninstall', 'it_IT', 'Felice Anno Nuovo'),
('2006-12-31 17:02:27', 'xyr', 'en_en', 'Happy new year!'),
('2006-12-31 17:03:46', 'ankon|D', 'de_DE', 'Frohes Neues Jahr!'),
('2006-12-31 17:41:37', 'FZ', 'tr_TR', 'Mutlu yeni yıllar!'),
('2006-12-31 17:43:00', 'kojiro', 'en_US', 'Happy New<hic>Yeah!'),
('2006-12-31 17:45:00', 'kojiro', 'zh_HK', 'san nin fai lok'),
('2006-12-31 17:58:31', 'kojiro', 'en_CA', 'Happy New Yeeear, eh?'),
('2006-12-31 18:51:09', 'njsg', 'pt_PT', 'Feliz Ano Novo'),
('2007-01-01 00:56:55', 'riczho', 'zh_CN', '新年快乐!'),
('2007-01-01 01:02:19', 'altoid', 'sr_BA', 'Sretna Nova Godina!'),
('2007-01-01 01:03:32', 'altoid', 'sr_YU', 'Sretna Nova Godina!'),
('2007-01-01 07:42:16', 'StevenBao', 'en_US', 'Foo bar hi'),
('2007-01-02 10:34:00', 'phadthai', 'ca_FR', 'banany, st-cibouaire!');

Hadd 2400m test

,

I have long used a protocol that consists of repeat runs over 2400m at slowly increasing intensities (with pauses after each period to draw blood). (Note: you really should have followed and read the lactate link I put up earlier to be able to fully understand the discussion from this point on. Don’t worry, it’s not difficult and it's well worth the read).

Once Joe got to 50mpw, I told him to perform the following mini-test (he knew the protocol). Go to a track on a windless day, as rested as if for a race, and do the following:
Run 2400m at a steady 140 HR (Stop 90 secs and record time)
Run 2400m at a steady 150 HR (Stop 90 secs and record time)
Run 2400m at a steady 160 HR (Stop 90 secs and record time)
Run 2400m at a steady 170 HR (Stop 90 secs and record time)
Run 2400m at a steady 180 HR (Stop 90 secs and record time)
At all times, adjust the running pace to maintain a stable HR. On each new stage slowly edge the HR up (ie: it is ok if the HR takes the first 600-800m to reach target level), then simply maintain HR. DO NOT start fast and have to slow to maintain target HR.


From: "Hadd's Approach to Distance Training"

privoxy filter

, , , ...

FILTER: wwwGentooOrg

s/<td width="1%" bgcolor="\#dddaec" valign="top"><table.*vr\.org.*<\/table><\/td>//Ugs

FILTER: heiseEnhancements

s/<!-- 1\. Spalte -->.*<!-- 2\. Spalte -->//Ugs
s/<sponsor>.*<\/sponsor>//Ugs
s/<bcadv>.*<\/bcadv>//Ugs
s/<skyscraper>.*<\/skyscraper>//Ugs
s/<leaderboard>.*<\/leaderboard>//Ugs
s/<heiseadvert>.*<\/heiseadvert>//Ugs
s/Beitrag<a /Beitrag[n]<a accesskey="n" /Ug
s/Thread<a /Thread[j]<a accesskey="j" /Ug

FILTER: radsportNewsErtraeglichMacher

s/<style> BODY {.*<\/style>//Ugs
s/<body background="grafiken\/backmain842.jpg" style="margin: 0px" bgcolor="\#003399"/<body style="background-color: \#e5e5e5; margin:auto;" /Ugs
s/<td bgcolor="\#003399"/<td /Ugs
s/background="grafiken\/rightcolwhite2.gif"//Ugs
s/<form action="http:\/\/www.dom.*<\/form>//Ugs
s/<!--FERNSEHEN-->.*<!--NEWS LEFTOVERS-->/<hr \/>/Ugs
s/<!--SUPERTABLE-TAG-->.*<!--TITEL-->/<h1>Mein Radsportnews.net<\/h1><table align="center" style="background-color: \#fff; width:500px;border: 1px solid black" ><tr><td>/Ugs
s/<td background="grafiken\/rightcol2grey.gif".*<!--RECHTE SPALTE ENDE-->/<td>/Ugs
s/<!--DISCLAIMER ETC-->.*<!--DISCLAIMER ETC ENDE-->//Ugs

s/<body bgcolor="\#003399" text="\#000000" LINK="\#0000FF" VLINK="\#0000FF" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">.*<!--NEWSARTIKEL-->/<body bgcolor="\#ffffff">/Ugs
s/<!--ENDE NEWSARTIKEL-->.*<!--ENDE NEWSARTIKEL-->.*<\/Body>/<\/body>/Ugs


FILTER: symfonyprojectcom

s/<object classid.*>.*<\/object>//Ugs

 
#FILTER: kalenderblatt
#s/focus\(\);//Ugs

FILTER: phpdoctrine
s|<table\swidth="100%"\scellspacing=0\scellpadding=0>\n\s+<tr>\n\s+<td\swidth=2000\sbackground="kuvat/docflashbg.jpg">\n\s+<img\ssrc="kuvat/docflash.jpg">\n\s+</td>\n\s+</tr>\n</table>||usx
#s|<table.*docflash.*</table>||usx
#s|background="kuvat/docflashbg.jpg"||

FILTER: steffnybg
s/background="../backgrd.jpg"//

FILTER: PGOfocus
s/ onload="document\.getElementById\('sstring'\)\.focus\(\);//Ugm

FILTER: GoogleAdsPhpbb
   
s|<tr>(\n\s*<td.*Google.*</td>\n.*<table.*)|<tr id="googlead" style="display: none;">$1|Ugm
s|<img src="http://www.kaffee-netz.com/images/logo.gif" width="524"  height="64" alt="" border="0">||U
s|<!--\sNeuer\sKopf.*Kopf\sEnde -->||usx
s|<style\stype="text/css.*</style>||usx

s|<span\sclass="gensmall"><b></b><br\s/>\n\s* \s</span>||

s@<img\ssrc="templates/subSilver/images/icon_mini_(faq|search|members|groups|register|profile|message|login).gif".*/>@@Ug

s@<img\ssrc="templates/subSilver/images/(folder.*|whosonline).gif".*/>@@Ug

s|<br>.*<br>\n<div.*\n\n</div>\n<br>.*<br>||Ugm
s|<br>||Ug
s|<img\ssrc="http://www.blixs.de/pimages/17/18111.jpg"\sborder="0"\s/>||Ug
s|<a\shref="http://www.elektrasrl.com/"\starget="_blank"\sclass="postlink"><img\ssrc="http://www.elektra-deutschland.de/logo-piccolo.gif"\sborder="0"\s/></a>||Ug


s@<a href=(.*)<img\ssrc="templates/subSilver/images/(lang_english|lang_german)/(reply|post|icon_quote|icon_pm|icon_profile|icon_edit|icon_www|icon_email|icon_yim|icon_aim|icon_icq_add|icon_msnm).gif".*/></a>@<span class="myButtonReplace">[ <a href=$1$3</a> ]</span>@Ug
s@<a href=(.*)<img\ssrc="templates/subSilver/images/(xxx|icon_delete).gif".*/></a>@<span class="myButtonReplace">[ <a href=$1$2</a> ]</span>@Ug

Strato: kernel config

.config
.

Read more...

letsrun.com Lydiard or Daniels excerpt

,

I copy-pasted plenty of posts and/or post excerpts from that monster thread over at letsrun.com during reading/skimming every 99 pages. Here is what caught my attention being a novice runner:

.

Read more...

HM preparation and pacing

,

Das Zeichen † steht an den Stellen, an denen ich "was gelesen habe", und ich das zu verstehen versuche / in meinen HM-Plan einzubauen versuche.

Das soll nur eine allgemeine Illustration sein, wie ich das "HM-pacing" verstehe. (Ich habe keine Erfahrung mit HMs, also muss ich vorher vom Kopf her die Anforderung der Distanz verstehen. Was man nicht in den Beinen hat, muss man im Kopf haben.)

Ausgangslage:
  • "Ein HM wird knapp unter der Laktatschwelle gelaufen."†
  • "Ein 10K wird knapp ueber der Laktatschwelle gelaufen."†
Weil ein negativer Split bedeutet, dass die Geschwindigkeit im Rennverlauf steigt, beginnt mein "Geschwindigkeits-Graph" deutlich unter der Schwelle, und endet etwa (!) bei 10K-Anstrengung.



Deswegen sind auch keine Geschwindigkeitsangaben an der Illustration: Weil ich mir selbst das Konzept erklaeren wollte. Die gezackte Linie bei 0 bedeutet, dass ich keine Aussage ueber die Geschwindigkeit machen moechte.

Die HM-Distanz sei zu lang, um sie nur mit Glykogen zu laufen†. Also am Anfang Fettstoffwechsel eingebaut.
Beim Schwellentempo wird kein Fett mehr verbrannt†, deswegen das "Ausklingen".

Rechenexempel:
Ein HM in 4 Teilen A, B, C, D
Ø :!: (A+B+C+D) = HM-Renntempo
Meine 10K-Bestzeit: 42:30 = 4:15/km
10K × 2,223 = theoretisches HM-Tempo† = 4:26 = 1:33:10
Negativer Split, wie es leon bei Coolrunnings vorschlaegt:
A = D-15, B= D-10, C=D-5

Setze ich jetzt
A = 4:35
B = 4:30
C = 4:25 (~Zieltempo 4:26)
D = 4:20,
dann komme ich auf 1:33:56 oder 4:27/km.

Kritik:
Ob ich das so umsetzen kann? Ich bin keine Maschine! Aber einen soliden Plan, den will ich haben. (Zumal ich glaube, dass das Konzept des negativen Splits oft ueberbewertet ist! Ja-ha! Aber ich will es austesten.)
Denn man sieht deutlich: Will ich meine theoretische HM-Zeit laut 10K × 2,223 im negativen Split schaffen, muss ich am Ende 10K-Pace laufen!

Umsetzung im Training: ← der wichtigste Punkt!
Ich trainiere auf der Bahn +/- 5 Sekunden, um etwas Tempogefuehl zu bekommen. Das klappt auch halbwegs.

Und ich trainiere die mentale Haerte, mich zum Schluss hin zu geisseln. Der HM wird genauso hart wie mein scharf gelaufener 10K, keine Frage! Nur laenger…

Konsequenz des neg. Splits ist, dass es kein "Renntempo" gibt, sondern "Renntemp(os/i)". Es gilt, ein Gefuehl fuer 4:35 - 4:20 zu entwickeln (Beine, Herzfrequenz, Atemrhythmus, etc.). Diese muss ich (vor allem mental) in unterschiedlichen Zustaenden der Erschoepfung beherrschen. Momentan befinde ich mich in einem "simulierten Trainingslager"† und ich laufe 7 Tage hintereinander Einheiten mit Renntempi-Anteil. (4TE letzte KW, 3TE diese KW)
Dieses "Trainingslager" schliesse ich morgen, etwa 10 Tage vor dem WK, ab und beginne den "Taper", der aber immer noch RT-Einheiten, nur kuerzer, beinhalten wird. (Weil schnell laufen auch eine Sache des Nervensystems ist.†)

Ich laufe Ueberdistanz als mDL, gestern etwa 26km in ~5:20, weil ich dringend Kraftausdauer brauche. Negativer Split braucht am Ende hin jede Menge Koerner…

  • Negativer Split bedeutet, dass es am Ende hart wird. Negativer Split = Aua
  • Negativer Split bedeutet, dass die Aussage "Ein HM wird unter der Schwelle gelaufen" nur fuer den Durchschnitt, nicht fuer die die hinteren Kilometer gilt
  • Negativer Split bedeutet nicht, seine Leistungsfaehigkeit durch Bummeln unausgeschoepft zu lassen :!:


Fundstuecke:

3 Key Race Strategies: Success Will Be Yours
1) Steady as she goes: Lock into your race pace early, resisting that urge to pick it up midrace. During the last three to four miles, concentrate on maintaining pace. This is when the initial smooth effort becomes more of a challenge.
2) Think 5-5-5-K: A great marathon strategy is breaking it into three runs: A 10-miler. Another 10-miler. Then a 10-K. This half-marathon strategy simply cuts those segments in half. For the first five miles concentrate on staying smooth and relaxed. For the next five miles, focus on running strong and steady. For the last three miles, push to the finish.
3) Call it a tempo run: This strategy is especially good for novice racers. Essentially, you need to get to the starting line ready to run a long tempo run that is just one mile longer than your longest training run--albeit faster this time. Warm up with a short 10-minute jog, and when the gun goes off, just start into your "tempo."
http://www.runnersworld.com/article/printer/1,7124,s6-238-244-258-9369-0,00.html

The key is to run slightly below your lactate threshold (LT) so you don’t fatigue an hour or so into the race due to lactic acid accumulation. Push the pace above your LT (about 85-90% of maximum heart rate) at the start or along the way and you’ll regret that, too. The higher your LT, the faster you can run at half-marathon pace.
http://www.nyrrc.org/divisions/training/halfmarstrat.html

THE PHYSIOLOGY INVOLVED IN RUNNING NEGATIVE SPLITS.
Marathon runners use fats and carbohydrates as fuel; fats are burned only aerobically, carbohydrates are burned both aerobically and anaerobically. Carbohydrates are the fuel of choice, however they will last only about 18-20 miles in even the most gifted runners who start the race fully loaded. This is why you must run slowly enough initially to stay "aerobic", so you'll use a little bit of fat as fuel. By burning this fat on the flame of carbohydrate, you spare some carbohydrate for use later in the race. But if you get excited and go out at a pace that can't be sustained, you will become anaerobic and use too much carbohydrate (stored muscle glycogen), which will cause you to reduce your pace and fall behind.
http://www.howtobefit.com/elite-runners.htm

Half-Marathon Race Preparation
Although nothing like as taxing as a full marathon, the 21K distance does need to be treated with respect, particularly if the weather is hot. You should finish your breakfast three hours before the start, but there is nothing wrong with drinking tea, coffee, water or squash up to an hour before the start, and if it is really hot, I suggest drinking half a pint of water five minutes before the start. Don’t drink half an hour before the start, or you’ll be bursting for a pee while waiting for the gun!

If you’re aiming to run fast, you should go through a gentle warm-up routine during the 20 minutes leading up to the start – jogging, stretching and striding. If you’re doing an event with a large field, you’ll probably find yourself running very fast in the first mile, so try to keep warm and loose during the final few minutes when you are wedged in the crowd.
http://www.runnersworld.co.uk/news/article.asp?UAN=97

Do a dress rehearsal. Treat one of your longest runs--preferably the last long one you do before tapering for your big race--as a race simulation.
http://www.runnersworld.com/article/0,7120,s6-238-244-255-8820-0,00.html

Was esst Ihr in der letzten Woche vor dem HM????
Also ich kann nur raten nicht zu viel zu essen, weder morgens, noch am Abend vorher. Wenn man außerdem an gewissen Unverträglichkeiten leidet, und das sind auch unbewusst nicht wenige, dann sollte man auf Milchprodukte (Laktose), sowie Pilze und Hülsenfrüchte und fettes Essen verzichten, sonst läuft man eher in die Büsche, als auf der Strecke. Muss aber wohl jeder selbser wissen, wenn er keine Rücksicht zumindest ein bis zwei Tage vorher nimmt, hängt wohl von der individuellen Wichtigkeit der Veranstaltung und der persönlichen Einstellung zum leistungsmässigem Laufen ab. Ein belasteter Darm oder gar noch Magen hindert aber mit Sicherheit an einer Topleistung, oder zwingt hinterher Stundenlang in die gekrümmte und eher (auf Klo) sitzende Haltung. Muss nicht, kann aber. Die meisten Ultras laufen eher nüchtern.
http://www.laufen-aktuell.de/laufen-aktuell/content/forum/showthread.html?p=388325#post388325

Einschieben würde ich auch mindestens zwei Zehner-Wettkämpfe drei bis fünf Wochen vor dem Halbmarathon um härte zu bekommen, etwa in 44-45 min. Die Wettkämpfe dann anstelle des längeren Laufes, das Tempotraining trotzdem durchführen....dann ein bisschen langsamer.
http://laufen-aktuell.de/laufen-aktuell/content/forum/showthread.html?p=397061#post397061

Key HM sessions
http://www.letsrun.com/forum/flat_read.php?thread=2585555

monthly training journal

,

mysql> select Monat, Anz, `monat.SUM(dauer)`, `monat.SUM(km)`, `Greif`, 
`MAX(km)`, `MIN(km)` FROM sport_stats WHERE Monat=9;
+-------+-----+------------------+---------------+-------+---------+---------+
| Monat | Anz | monat.SUM(dauer) | monat.SUM(km) | Greif | MAX(km) | MIN(km) |
+-------+-----+------------------+---------------+-------+---------+---------+
|     9 |  21 | 23:51:30         |        249.7  |  1010 |   25.75 |       4 | 
+-------+-----+------------------+---------------+-------+---------+---------+
1 row in set (0.01 sec)

3. Wettkampf

, ,

Nicht alle Ziele fuer den heutigen Wettkampf habe ich erreicht. Vorgenommen hatte ich mir
- meinen 3. 10K dann 'endlich' mal am Anschlag zu laufen
- unter 42:00 zu bleiben
- erneut meinen "toedlichen Kick" einzusetzen
- eine neue HF[max] zu ermitteln

Meine Zielzeit habe ich nicht erreicht, es sind ~42:55 herausgekommen. Aber der Reihe nach: Der Citylauf in Bad Berleburg riecht nach richtig viel Geld, gemessen fuer ein Provinzrennen: Schnelle Kenianer verpflichtet, Startnummern mit Transponder und Kontaktschleifen im Zieldurchlauf, Anmeldungsbuero in der oertlichen Spasskasse und Lautsprecher auf der Haelfte der 2km-Runde, die mit "Sehenswuerdigkeiten" wie Rathaus, Schule, Stadtpark, Fusspfad am Fluss entlang nicht geizt. Amtlich vermessen, flach und schnell.

Es sind dann die Kleinigkeiten, an denen ich mangelnden Enthusiasmus der veranstaltenden Kaufleute vermuten muss: Sicherheitsnadeln zu klein fuer diese Monster-Startnummern, keine Kilometerschilder auf dem laut Ausschreibung "2000m-Rundkurs", der aber 5x plus ca. 500m zu durchlaufen war. Also irgendwie wusste ich nie, wo ich mich gerade befand, denn beim erneuten Ueberqueren der Startlinie konnte ich nur vermuten, ~19xxm gelaufen zu sein.

Aber das passte ganz gut zu mir: Bin auch Kaufmann, und meine Leistung heute war auch durchwachsen! Das warme Sommerwetter (gefuehlt 28° C, Thermometer zeigte in der Schwuele 22° C) verleitete mich, nicht nur die 1. Runde schnell zu starten (durchaus gewollt), sondern auch die 2. zu ueperpacen. Da wurden die Runden 3&4 ganz schoen hart, zumal da stets eine Luecke nach den 40:00 Lauefern ist. Eigentlich liegen mir die hoeheren Temperaturen, aber mit der Schwuele kam ich nicht zurecht. Leider war ich auf mein mangelhaftes Tempogefuehl angewiesen, sowie als Anhaltspunkt die Herzfrequenz (die ich aber bei dem Wetter nicht ernst nehmen konnte).

Trotz schweren Schritt und dem Gefuehl, dass ich "stehe", hab ich km 5-8 dennoch durchgekaempft: Wenn die Beine langsam sind, muss der Kopf die Moral hochhalten! Zum ersten Mal seit den MTB-Rennen vor ~12 Jahren mal wieder richtig beissen muessen... Aber hallo!
Die 14 Tage harte Einheiten ohne Ruhe taten wohl ihr uebriges, so dass ich mit dem Ergebnis leben kann.

Aber der letzte Kilometer, den habe ich mir gut eingeteilt! Es kamen ca. 1400m vor dem Ziel der Reihe nach 5 Laeufer vorbei, und ich war platt. Nix entgegenzusetzen. Schiss, beim Nachsetzen entgueltig einzugehen. Aber auf der langen Zielgeraden, der Einkaufsstrasse des Regionalzentrums Bad Berleburg, hab' ich die mit meinem "Kickdown" wieder eingesammelt:
Den "lethal kick" angezogen, und direkt _neben_ dem letzten ausgetrudelt, sodass ich im Auslaufen leicht an ihm vorbei kam.
Kurz verschnauft, und wieder: "ZACK" and den naechsten drangesprungen. Das sollte dann dem zuvor Ueberholten ein deutlicher Hinweis sein, dass er sich nicht an mich dranhaengen braucht! *g* So hab' ich mir in der leichten Kurve einen nach dem andren geschnappt, und bin am Vordersten nochmal kraeftig vorbeigezogen, bis ich ~ 30m Vorsprung hatte. (Denn dann hab' ich erstmals waehrend der ganzen Aktion zurueckgeblickt.)

In die ultrakurze, gepflasterte und leicht abfallende "Zielzufuerung" einzubiegen war dann ungefaehrdet, und nach dem Einlauf brauchte ich 30 Sek., um mich wieder zu sammeln. Die neue, gemessene HF[max] liegt dann bei 208 (vorher: 206), und da geht immer noch was.

Nun, die Zeit hat nicht gepasst, aber ich hab' richtig kaempfen muessen: Auch eine gute Erfahrung, dass ich dennoch hart bleiben kann. Denn zwischenzeitlich dachte ich nicht, dass ich mich noch so aus der Affaere werde ziehen koennen!

Seltsamerweise fuehle ich mich jetzt praechtig, draussen regnet sich das Sommergewitter aus und meine Beine sind ebenso frisch. Und ich hatte schon Angst, wegen diversen Malaisen!

Sollte ich es mal wieder zu schnell angehen, weiss ich jetzt, wie sich Durchhalten anfuehlt...
Und wenn ich mal soviel trainiert habe, dass ich diesen Kick in den Beinen richtig ausreizen kann, dann kommen noch gaaaanz andere Zeiten! Darauf freue ich mich schon jetzt. Oh Mann, das kickt bis in den Kopf hinein!

Die Kenianer, die haben mich uebrigens am Ende der 3. Runde ueberholt. Erst ein Quartett, dann nochmal ein Nachzuegler, und dann laaange Zeit nix...

Von Alturo zu Strato

#config.strato.de:
#Neuinstallation Debian-3.1
#RecoveryManager: Starten des Rettungssystems
#RemoteConsole: Serielle Konsole einrichten und nach Anleitung anmelden: Wertvolle Hinweise durch Boot-Messages

#ssh k:xy...z:hxz...z hxy...z@serverkompetenz.net
#(In einem weiteren Terminal staendig offen lassen)

#ssh root@server:
reboot && exit

#user@localhost:
vi .ssh/known_hosts und server-Eintrag loeschen

#ssh root@server:
#(ergibt rescue system)
fdisk /dev/hda
#d 1
#n p 1
#1 last
resize /dev/hda1 und e2fsck wie angegeben

#config.strato.de:
#RecoveryManager: Normaler Boot

#ssh root@server:
sleep 360 && reboot

#Jetzt ist /dev/hda1 etwa groesser und kann eine Gentoo LiveCD aufnehmen

#user@localhost:
vi .ssh/known_hosts und server-Eintrag loeschen

#ssh root@server:
#(=> im Debian System)
apt-get install wget
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/releases/x86/2006.0/installcd/install-x86-minimal-2006.0.iso
#Achtung! 2006.1 funzt net!
mkdir /mnt/livecd
mount -o loop install-x86-minimal*iso /mnt/livecd/
cp -a /mnt/livecd/image.squashfs /mnt/livecd/isolinux/ /mnt/livecd/livecd /boot/
vi /boot/grub/menu.lst
#title Gentoo LiveCD
#root (hd0,0)
#kernel /isolinux/gentoo root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs udev nodevfs cdroot=/dev/hda1 console=tty0 console=ttyS0,57600
#initrd /isolinux/gentoo.igz
#boot
reboot && exit

#Im Terminal mit der Seriellen Konsole kann jetzt der neue Grub-Menu-Eintrag ausgewaehlt werden.

Runners, by Roger Hart

,

Runners
by Roger Hart

We ran through blizzards, thunderstorms, freezing rain, covered bridges, creeks, campgrounds, cemeteries, city parks, parking lots, a nuclear power plant, county fairs, and, once, a church service. We were chased by goats, geese, a crazed ground hog, guards (the nuclear power plant), a motorcycle gang, an armed man in a pickup, a sheriff's deputy, and dogs both fierce and friendly. We ran when two feet of snow covered the roads and when the wind-chill was thirty below. We ran when it was eighty degrees at seven in the morning. We ran on streets, sidewalks, highways, cinder tracks, dirt roads, golf courses, Lake Erie beaches, bike trails, across yards and along old railroad beds. Seven days a week, twelve months a year, year after year.

During the hot days of July and August, Ed ran without shirt or socks; I always wore both. Norm ran with a screw in his ankle and joked that it was coming loose. Ed was faster going downhill; I was better going up. The three of us met at a race and became training partners, competitors, best friends. We ran together on Saturday mornings, usually a twenty-mile run along the shore of Lake Erie or a twenty-two-mile route over hilly country roads near Ashtabula. We ran thousands of miles and more than a dozen marathons together, but most of the time we ran alone.

We gave directions to lost drivers, pushed cars out of snowbanks, called the electric company about downed lines and the police about drunks. We saved a burlap bag full of kittens about to be tossed off a bridge, carried turtles from the middle of the road, returned lost wallets, and were the first on the scene of a flipped pickup truck.

We ran the Boston Marathon before women were allowed to enter and before the Kenyans won. We were runners before Frank Shorter took the Olympic gold at Munich, before the running boom, nylon shorts, sports drinks, Gortex suits, heart monitors, running watches, and Nikes.

We ate constantly, or so it seemed. My favorite midnight snack was cookie dough or cold pizza. Ed enjoyed cinnamon bread, which he sometimes ate a loaf at a time. Norm downed buttered popcorn by the bucketfuls and Finnish cookies by the dozen. We all loved ice cream and drank large vanilla shakes two at a time.

Still, friends said we were too thin. They thought we looked sick and worried something was wrong.

We measured our lives in miles down to the nearest tenth, more than one hundred miles a week, over four hundred a month, four thousand a year, sometimes more.

The smells! From passing cars: pipe tobacco, exhaust fumes, and sometimes the sweet hint of perfume. From the places we passed: French fries, bacon, skunk, pine trees, dead leaves, cut hay, mowed grass, ripe grapes, hot asphalt, rotten apples, stagnant water, wood smoke, charcoal grills, mosquito spray, roadkill. And from ourselves: sunscreen and sweat.

Some people smiled and waved. A few whistled. Once or twice a woman yelled from a passing car, said we had nice legs. Others, usually teenage boys in sleek, black cars, yelled obscenities, called us names, gave us the finger, and mooned us. They threw firecrackers, smoldering cigarettes, pop cans, half-eaten ice cream cones, beer bottles (both full and empty), squirted us with water, drove through puddles to spray us, swerved their cars to force us off the road, swung jumper cables out the window to make us duck, and honked their horns to make us jump.

We saw shooting stars, a family of weasels, a barn fire, a covered wagon heading west, and a couple making love in a pickup; we ran with deer on a golf course, jumped a slow-moving train to get across the tracks, hid in ditches during lightning storms, slid across an intersection during a freezing rain, and dived into Lake Erie to cool off in the middle of a hot run. We drank from garden hoses, gas station water fountains, pop machines, lawn sprinklers and lemonade stands. We carried toilet paper, two quarters, sometimes a dog biscuit.

We were offered rides by The Chosen Few motorcycle gang, old ladies, drunks, teenagers, truckers, a topless dancer (not topless at the time but close, real close), and a farmer baling hay, but we never accepted a single one. We argued about the dancer.

We were nervous before races and said we'd quit running them when we weren't. We won trophies, medals, baskets of apples, bottles of wine, windbreakers, T-shirts, pizza, pewter mugs, running suits, shoes, baseball caps, watches, a railroad spike, and, once, five hundred dollars. Often we didn't win anything, although we never looked at it that way.

Ed liked to race from the front and dare other runners to catch him. I preferred to start a little slower, stalk those whose inexperience or eagerness took them out too fast, sneak up on them around twenty miles when they began to look over their shoulders. I felt like a wolf, and they were the prey. When I passed, I pretended not to be tired, and I never looked back.

Our goal was to qualify for the Olympic Trials Marathon, to run faster and farther, to beat other runners.

Did we ever have runner's high? Didn't it get boring? What did we think about? Why did we always look so serious?

Sometimes. Sometimes. Running. We didn't know we did.

One spring day it rained so hard the road was one giant ankle-deep puddle, and Ed was huffing and our feet were splashing and it struck us funny. We laughed until we collapsed, tears and rain running down our faces. We joked about the time Ed had to pee and caught himself showering a snake's head, the time we got lost during a winter storm and refused to turn around, and the time we ran by Don King's ranch and were mistaken for two boxers. (We never understood how anyone could mistake our skinny arms for a boxer's, but we loved it, too.)

We felt guilty about the time we ran into a church service being held in the middle of a covered bridge, and we were too tired, too inconsiderate, too stubborn to turn around, so we sprinted down the center aisle, dodging the two men with collection plates, and ran out the other end of the bridge while the congregation sang "Praise God from whom all blessings flow ..."

And the dogs! The ones that tried to follow us home and the ones that attacked us. Take the time Ed, Norm, and I were surrounded on a dirt road by half a dozen blood-thirsty, snarling, circling canines, each begging for a bite. We picked up rocks, stood with our backs to one another, and yelled at the dogs, yelled for help, yelled for anything. Then Ed threw a rock, not at the dogs but at the farmhouse where the dogs had been sleeping on the front porch. The rock hit the aluminum siding. Bang! Like a gun going off.

An old man came to the door. Looked at us, looked at his dogs, and I thought we'd done it now, and he'd lift a shotgun to his shoulder, shoot us, and let the dogs have what was left.

"Harvey, Louie, Princess, Tucker," the old man called. The dogs trotted back to the porch, and we raced down the road.

But another time we only yelled at a growling Doberman, told it to go home, and the owner jumped in his pickup, chased us down the dirt road, swearing he'd shoot us for bothering his dog. We ran through a field and across a four-lane highway, circled back through the woods, hid beneath the underpass, and then jogged into a gas station, where we celebrated our escape with ice-cold Cokes.

I was bitten by a Dalmatian, a terrier, a cocker spaniel, and a red-haired, knee-high mutt. Three of the dogs escaped after drawing blood, but I caught the mutt in mid-air and threw it over my shoulder as its teeth clamped down on my arm. The dog sailed into a telephone pole headfirst and fell to the ground, knocked unconscious. The owner, ignoring the blood running down my arm and dripping onto the sidewalk, screamed at me for killing her dog. But when she stroked the dog's head, it jumped up and bit me again.

Or the time a sheriff's deputy stopped his cruiser to protect us from a German shepherd as large as the Poland China hog in a nearby field. The dog jumped through the open window and landed on the deputy's lap, and, while they wrestled in the front seat, we ran, afraid of what might happen if either ever caught up with us.

We found pliers, purses, golf balls, bolt cutters, billfolds, money (once, over two hundred dollars, returned to an eighteen-year-old boy--no reward, no thanks), tape cassettes, CDs, sunglasses, school books, porn magazines, a Navaho ring, car jacks, a fishing pole, a pair of handcuffs (no key), an eight ball, and a black bra (36C).

We ran farther and faster. We sprinted up long steep hills by the Grand River until we staggered and our heart rates exceeded the two hundred twenty minus our age that doctors said was possible. We ran intervals on a dirt track: twenty quarter-miles in under seventy seconds, the last lap in fifty-six flat. We got light-headed, our hands tingled, and sometimes blood vessels in our eyes ruptured from the effort.

We ran because it beat collecting stamps, because we were running towards something, because we were running away, because we were all legs, lungs and heart, because we were afraid of who or what might catch us if we stopped.

One winter, while running twice a day, I was on my way home from a seven-mile run, and I couldn't remember if it was morning or night, if when I finished I would shower and go to work or shower and go to bed. I looked at the horizon and the stars, the passing cars, and the lighted barns for a clue, but I couldn't figure it out. Ed often said he once went out for a run and bumped into himself coming back from the previous one.

We lost toenails and we pulled muscles. We suffered frostbite, hypothermia, heat exhaustion, sunburn, blisters, dehydration, and tendonitis. We were stung by bees, bitten by black flies, and attacked by red-winged blackbirds. Sometimes, after a long run or a speed workout, or after a marathon, our legs would be so sore, the Achilles so inflamed, that we could barely walk, and we'd limp or shuffle painfully when going from the couch to the refrigerator or from the front door to the mailbox.

We treated aches with ice and heating pads, or soaked our legs in DMSO, sometimes in Epsom salts and hot water. We tried medical doctors, surgeons, chiropractors, acupuncturists, podiatrists, sports therapists, trainers and quacks. We were given shots of novocaine and cortisone, told to take ibuprofen, Tylenol, and aspirin. We were warned that we were ruining our knees, our hips, damaging our feet, breaking down too much blood, that we would suffer arthritis and degenerative joints.

But sometimes it was like floating, like sitting on top of a pair of legs that you didn't think would ever get tired or slow down. It was like the legs were yours and like they weren't. It was like being part animal, a running, flying animal. A horse, a bird. It was like feet kissing the pavement and effortless strides, the body along for the ride. It was like sitting in Ed's '67 Corvette, that monster engine gulping high-octane fuel and turning 6000 rpms, your foot ready to pop the clutch. Like freedom and invincibility. When we ran around corners, we were jets sweeping in formation.

We all had a resting pulse in the low forties and body fat of seven percent or less. I was six foot two, raced at a hundred and forty-eight pounds, and went through a pair of shoes every six weeks.

Once, I experienced chest pains, a sharp stab beneath the ribs. A Saturday morning, twenty-two mile run. Seven steep hills. We raced up the first hill to find out if it was my heart or not and when I did not drop, we raced up the second and third. After six miles the pain eased off, and Ed said if it had been a heart attack, it must have been a mild one. Thousands of miles later, a doctor unfamiliar with a runner's heart sent Ed to the emergency room where he was poked, prodded, hooked up, and given oxygen until Ed said enough was enough, pulled the IV and ran home. Two weeks later he set an age-fifty record for the mile in a local meet.

Although we ran faster and faster, we never ran fast enough. We failed to qualify for the Olympic Trials. Still, four times we drove for hours and slept in our cars to watch others compete for the three Olympic spots.

Then, just as we once stalked other runners, time stalked us. We began looking over our shoulders and thinking about the marathons we had run instead of thinking about the next race. We slowed down. Our bodies balked at hundred-mile weeks, and it took longer to recover from a hard run. Sometimes when the weather was bad--very hot was always worse than very cold--we took a day off. Sometimes we would skip a day because we were sore or tired. We stopped giving the finger to those who ran us off the roads. We gained five, seven, ten pounds. More.

Now, Ed has a granddaughter; Norm has "screw pains," and I have a retirement clock and deformed toes. We've turned gray, lost hair, and joined the AARP. We run twenty-five, thirty miles a week. From time to time, we race, no marathons but shorter races, three, four miles, maybe a 10K. We measure our lives in days, months, and years.

Ed and Norm still live in Ohio; I moved to North Carolina, then to Minnesota. We no longer run together, but we keep in touch and reminisce about the time the Star Beacon ran a front-page article about a group of snowmobilers who had ridden nearly ten miles on a day when the temperature was five below. We had passed them on our way to a twenty-mile run. We argue about who threw the rock at the house, whose fault it was we got lost, and which one of us the topless dancer really wanted to take for a ride.

We complain that we're running slower than we once did and make jokes about timing ourselves with calendars and sundials.

Sometimes when we're running we'll spot other runners ahead of us and the urge to race comes back, and we'll do our best to catch them. Last fall while I was running in a park, I overheard a high school cross-country coach urge his runners to pass "the old, gray-haired guy." I held them off for nearly a mile although it almost killed me, and, when I had completed circling the park, I ran by the coach and said, "Old guy, my ass."

But my ass is getting old along with all the other parts. When I sometimes fantasize about one more marathon, the fantasy seldom lasts more than a day. Fast marathons, hundred-mile weeks, ten-kilometer races under thirty-one minutes are things of the past.

And what did we learn from running seventy-thousand miles and hundreds of races, being the first to cross the finish line and once or twice not crossing it at all, those runs on icy roads in winter storms and those cool fall mornings when the air was ripe with the smell of grapes, our feet softly ticking against the pavement?

We learned we were alive and it felt good. God, it felt so good.

© Copyright 2001 Roger Hart. This work first appeared in Natural Bridge, the literary magazine of the University of Missouri-St. Louis.

ascii cyclist

,

05:59        phadthai@*     ,__o
05:59        phadthai@*   _-\_<, 
05:59        phadthai@*  (*)/'(*)

egrep

, , , ...

egrep "image.*s.*(Los|sport)" /var/log/apache2/access_log | awk '{print $1}' | sort -n | uniq -c | sort -rn

Zweiter Wettkampf

,

Um ungefragt meinen Fahrer-Bruder etwas laenger schlafen zu lassen, meldete ich vier Wochen nach meinem 10K-Debut in Usingen beim 17. Usinger Laurentiuslauf, weil der Start spaeter als in Garbenteich war und man sich auch online anmelden konnte (2. Zeitersparnis). Ausserdem warb der Veranstalter mit einer amtlich vermessenen Strecke -- fuer mich Neuling gut fuer die intensive Art des Tempo-Gefuehl-Trainings.

Oft wird Gr..f mit seinem Laeufer/Jogger Diss aus dem Zusammenhang gerissen, jedoch ist im Countdown eindeutig die Einschraenkung "junge, gesunde Maenner" gegeben.
Wenn man im vorigen Bericht von mir liest, dass ich mir selbst die "Aussicht, jahrelang die 40:00 zu attakieren" prophezeite, dann weiss man, wie ich klinge, wenn ich mit meiner Leistung unzufrieden bin! :wink:
Heute habe ich mich zur Haelfte auf dieses Zeitziel hin verbessert, nach 45:55 nun eine ~42:30. Als frischer M30 mit leistungssportlicher Vergangenheit ein etwas akzeptablerer Wert.

Das Rennen verlief teilweise durch ein "Wohngebiet in Suedhanglage", wurde in 2 Runden plus Start-Ziel-"Zubringer" absolviert. Bergauf habe ich das Tempo seeehr stark rausgenommen, so dass ich nicht in die Uebersaeuerung kam. Durch leichte Gefaellstrecken konnte ich mit langem Schritt aber auch 4:30er Kilometer-Schnitte wieder rausholen und bin 2x auch ~4:00er Schnitte gelaufen.

Meinen Antritt, der mir im August-Wettkampf erstmals bewusst wurde, habe ich heute gezielter eingesetzt: Ich bin bei km9 auf 2 Laeufer aufgelaufen, und habe diese kurz vor dem Einbiegen auf die Zielgerade auf gutem Asphalt-Untergrund nach Ueberquerung eines Bordsteines mit einem Zwischensprint hinter mir gelassen. Letztes Mal war ich ueber meine Dummheit, auf ausgeflickter Orts-Nebenstrasse 250m zu sprinten, nachtraeglich sehr veraergert -- DAS Risiko muss nicht sein!
Jetzt hoffe ich, dass mir der schnelle Kick auch dann erhalten bleibt, wenn ich mal mein Leistungsniveau gefunden habe.
Die 40:00 peile ich daher mal fuer einen Silvesterlauf an.

Ein- und Auslaufen hat gut geklappt, auch vor dem Wettkampf ist viel Routine aus vergangenen Jahrzehnten vorhanden, an der Startlinie finde ich eine gute Mischung aus An- und Entspannung und selbst der Toilettengang nach dem Warmlaufen war bestens zeitlich eingeplant.
Im 10K-WK trinke ich nichts, und hinterher Eistee zeigte mir, dass den mein Magen nicht unter Anpsannung vertraegt. Die Banane ~60min vorher war anscheinend gut getimt, auch das Essen und die Verdauung am Vortag.
Es war gut, die Tempolaeufe auf der Bahn zu absolvieren: Mit Zeit-Tabellen ausgestattet, konnte ich vorher genau testen, wie sich Renntempo, Renntempo+10 Sek., Renntempo -10/20 Sek. anfuehlen. Von "Tempotraining" oder gar Intervallen kann noch nicht die Rede sein, eher "kontrollierte Umgebung".
Besser machen kann ich noch meine Eingliederung in die Start-Meute: Ich laufe bis 5min vorher warm, und stelle mich zu bescheiden zu weit hinten an -- alle anderen "stehen ja schon, da will ich nicht vordraengeln" (Jaja, die Zeit in GB...). Zwar verhindert das zu schnellen Start, aber dennoch sind 15-20 Sek. erst einmal weg.
Auch habe ich wegen dem welligen Profil oft den Pulsmesser benutzt. Gerne haette ich etwas mehr Gefuehl angewendet.
Bei km8 war zu merken, dass Kraftausdauer fehlt, die Knie waren weich und sie werden deshalb woechentlich eine Dosis Huegellaeufe bekommen muessen.

So, eine Sache noch, die evtl. interessieren koennte: Wenn man auf http://www.fu-mathe-team.de/daniels.yaws meine Daten vom GA-1-Test unter "Herzfrequenz" eingibt (HF-max 210, 10.000m in 52:45 mit HF(durchschn) 160), dann kommt man [ Direktlink ] trotz "mit Vorsicht zu geniessender Formel" ziemlich genau auf meine heutige Zeit! Abzueglich welliges Profil und ~15Sek. Brutto/Netto wuerde ich mich daher momentan bei ~41:59 einordnen. Nochmal: Diese Formeln sind Hilfskonstrukte, klar, aber mir als Anfaenger helfen sie als Orientierung ebensoviel, wie Pulswerte und angelesene Erfahrungen anderer.

Die 1:40:00 fuer einen ersten HM im Oktober sind mental aber bereits abgehakt. Ich belasse es aber dabei, was aendert es der Welten "Lauf", wenn ich mir jetzt 1:35 vornehme? Nix -- mein selbstgestrickter Trainingsplan scheint aber gut anzusetzen, und lieber mal belastungsmindernd (und weniger verletzungsgefaehrdend) rausnehmen.

Die Bilder meines Bruders stelle ich am Montag nach der Veranstaltung online.

GA-1-Test

,

Edith 2006-09-05:

So, meine Trainingsperiode mit besonderem Fokus auf Grundlagenausdauer ist vorbei, jetzt werde ich an der Schnelligkeit feilen (muessen).

Genau der richtige Zeitpunkt, um einen Test der Grundlagenausdauer auf der Bahn durchzufuehren! Eine naheliegende, einleuchtende und leicht durchzufuehrende Testmethode findet sich auf der Webseite von Heiko Klimmer: 10km mit 75% der HF[max].
Hoechste gemessene HF[max] bei mir: 206, ich vermute aber ~210, etwas gerundet ergibt das eine Test-HF von 160 Schlaegen/Minute. (Laesst sich besser ablesen, 160+/-2,3 Schlaege ist leichter zu ueberwachen als 158,23+/-2,3 Schlaege. Alte Controlling-Regel...)

Ergebnis: Bei gegebenem Aufwand im Sinne von gleichbleibendem Herzschlag faellt der Output ueber 10K momentan bei mir von 00:05:03 auf 00:05:17 min/km ab. (Der erste Kilometer ist Ausschuss und wird nicht betrachtet.) Ein Diagramm (dort bitte weiterklicken).

Bewertung: Eine Renneinteilung mit negativen Split werde ich mir -- wie schon intuitiv erahnt -- schenken: Solange die GA nicht stabiler ist, waere schon 48:52 auf HM-Distanz eine "negative Leistungsbilanz" im Sinne von "die 2. Haelfte ist anstrengender". Aber ich habe auch erst <500km in den Beinen, wenn ich mal einen Winter durchgelaufen bin, sehe ich weiter.

Anmerkungen: Einen HF-Bereich von 157-163 zu treffen, ist erstaunlich leicht. Zugegebenermassen war ich mit der Testdurchfuehrung sehr beschaftigt, da ich alle 200m das Diktiergeraet besprechen 'musste' und alle 400m meine "Laufzettel" abreisse (Schluesselring mit numerierten 3x1cm Zetteln zur Rundenkontrolle). Sch#@£$% Daten-Fetischismus ! :wink: Alle 1000m haette auch gereicht! :wink:

Diesen Test werde ich zu spaeteren Zeitpunkten wiederholen, aeussere Bedingungen waren ~14-15 Grad Celsius, windstille, kurze Rennbekleidung und Ablenkung durch einen Hobbygolfer ab ~km7,5. :D

GA-1-Test: data

,

http://www.lauftipps.de/foren/viewtopic.php?p=70245#70245
http://members.aol.com/hklimmer/test.html#GA-1-Test

m;Rd;Zeit;HF_min;HF_max;avg
0;0;00:00:00;;;00:00:00
200;0,5;;;;00:00:00
400;1;02:01:52;;;05:04:40
600;1,5;;;;00:00:00
800;2;00:03:55;160;;00:04:54
1000;2,5;00:04:55;162;;00:04:55
1200;3;00:05:57;161;;00:04:58
1400;3,5;00:06:57;161;165;00:04:58
1600;4;00:08:00;164;;00:05:00
1800;4,5;00:09:04;158;164;00:05:02
2000;5;00:10:05;160;;00:05:03
2200;5,5;00:11:07;;;00:05:03
2400;6;00:12:10;158;162;00:05:04
2600;6,5;00:13:13;158;165;00:05:05
2800;7;00:14:20;162;157;00:05:07
3000;7,5;00:15:17;157;158;00:05:06
3200;8;00:16:21;;;00:05:07
3400;8,5;00:17:22;158;161;00:05:06
3600;9;00:18:26;157;;00:05:07
3800;9,5;00:19:28;159;164;00:05:07
4000;10;00:20:34;;;00:05:09
4200;10,5;00:21:37;157;120;00:05:09
4400;11;00:22:40;160;162;00:05:09
4600;11,5;00:23:45;157;158;00:05:10
4800;12;00:24:49;157;161;00:05:10
5000;12,5;00:25:52;158;162;00:05:10
5200;13;00:26:56;158;162;00:05:11
5400;13,5;00:28:01;158;162;00:05:11
5600;14;00:29:05;158;162;00:05:12
5800;14,5;00:30:10;158;162;00:05:12
6000;15;00:31:15;158;159;00:05:13
6200;15,5;0:32:23;158;165;00:05:13
6400;16;00:33:21;158;160;00:05:13
6600;16,5;00:34:25;162;158;00:05:13
6800;17;00:35:27;158;159;00:05:13
7000;17,5;00:36:34;158;164;00:05:13
7200;18;00:37:37;153;159;00:05:13
7400;18,5;00:38:37;160;162;00:05:13
7600;19;00:39:49;157;158;00:05:14
7800;19,5;00:40:52;159;164;00:05:14
8000;20;00:41:58;158;162;00:05:15
8200;20,5;00:43:02;162;;00:05:15
8400;21;00:44:07;162;159;00:05:15
8600;21,5;00:45:10;162;158;00:05:15
8800;22;00:46:16;158;162;00:05:15
9000;22,5;00:47:20;158;162;00:05:16
9200;23;00:48:26;163;162;00:05:16
9400;23,5;00:49:30;162;157;00:05:16
9600;24;00:50:35;;;00:05:16
9800;24,5;00:51:40;161;160;00:05:16
10000;25;00:52:45;161;163;00:05:17

monthly training journal

,

mysql> select Monat, Anz, `monat.SUM(dauer)`, `monat.SUM(km)`, `Greif`, 
`MAX(km)`, `MIN(km)` FROM sport_stats WHERE Monat=8;
+-------+-----+------------------+---------------+-------+---------+---------+
| Monat | Anz | monat.SUM(dauer) | monat.SUM(km) | Greif | MAX(km) | MIN(km) |
+-------+-----+------------------+---------------+-------+---------+---------+
|     8 |  17 | 19:57:56         |        201.70 |   729 |   21.20 |       5 | 
+-------+-----+------------------+---------------+-------+---------+---------+
1 row in set (0.01 sec)

Jahresperiodisierung

,

Monat;Abs
11;119
12;168
1;225
2;238
3;260
4;212
5;168
6;185
7;190
8;238
9;260
10;214


Quelle: Balkendiagramm Heiko Klimmer
http://members.aol.com/hklimmer/jahr.html

Excel link pages

Hadd base building letsrun thread

,

I could only find this frequently-referenced thread via the Google Cache, so I thought I'd copy it in full length to a better accessible location. Which is here:

Read more...

a video in a pic

, ,

mplayer -nosound -vo jpeg my_video_file.avi
montage *jpg join.jpg
montage.exe -tile 10x10 -geometry 160x84+2+2 -label '%f' 0000* join.jpg


mplayer -ss 1:00:23 -nosound -vo jpeg:outdir=foobar my_video_file.avi

Ergebis 1. Wettkampf

,

Ah, das war eine Punktlandung! Die letzte Runde muss wirklich schneller gewesen sein, als gedacht/geplant: 45:55 das Ergebnis, Schlussbereich in der AK! :wink: Dabei war der Zieldurchlauf immer hinter der Marschroute, die aber auch ein Abfallen vorsah. Wow, so "kontrolliert" im ersten Lauf, haette ich nicht gedacht.

Jetzt weiss ich auch, dass ich meine letzte Runde der Frau Petra Richter vom TV 05 Treis zu zu verdanken habe. Mein Opponent war aber doch schon M35, sein Name Martin Chmil und er startet fuer den LT 1974 Biebertal. Nach mir in der AK-Wertung kommt (nur noch) Martin Guengerich, der postet im laufen-aktuell Forum.

Ich hatte meine Zeit ja folgendermassen festgelegt: Testlauf im Training mit 130 Hoehenmetern ~50:30, und davon 2-4 Minuten abgezogen. Das war im Jahr 2005 Mittelfeld aller Starter. Auch dieses Jahr Platz 96 von 191. Ich haette nicht gedacht, dass dies in der AK "ferner liefen" bedeutet. Sonst waere ich es schneller angegangen! Da brauche ich mir auf die vielen Ueberholungen nichts einzubilden, alles abfallende alte Leute! :wink:

Ein paar (wenige) Bilder, aufgenommen von meinem Bruder, zeigen, dass der Stil nicht ganz so toll ist. Ich haette nicht gedacht, dass der linke Arm immer noch so weit raussteht -- ich meinte vielmehr, ich habe meine ausgefahrenen Ellbogen unter Kontrolle gebracht!?! Hm, fuer den rechten Arm gilt es, aber es bleibt zu verbessern. Auch ist gut zu sehen, dass ich irgendwo hinten rumturne...

Sehr schoen sichtbar die Metamorphose vom Moechtegern-Intellektuellen mit hoher Stirn zum ekligen Tier, auch wenn der Mittelteil eine Pose ist. Im letzten sieht man auch, dass ein wenig Sprintwiederholungen naechstes Jahr dem Stil ganz gut tun koennten... :wink:

Wenn ich aus dem Stand so eine Zeit laufe, dann koennte ich mich im Laufsport in die Riege derer einordnen, die jahrelang die 40:00 attakieren. Auf Marathon-Distanz koennte ein 3:30 Debut klappen, was mein Kumpel vor Jahren geschafft hat und mentale Messlatte darstellt. Es wird sich zeigen!

Am Abend nach dem 1. Wettkampf seit ueber 10 Jahren

,

Durch einen Bedienungsfehler der Stoppuhr muss ich die Zeit im Internet abwarten. Startnummer 165. Sollte aber gepasst haben. 1/3 Runden: HF~185, 2/3 HF~190, 3/3 HF~195. HF[max][vorher]=200/203 (unklare Messung), HF[max][aktualisiert]=206.
Die dritte Runde hat mich eine Dame aus W35 gezogen, sonst haette ich 46:xx weit verpasst. Bei km9 laufen wir auf einen M~30 auf, der mich zur Endbeschleunigung aufforderte. Ich lehnte erst ab, wurde aber tempomaessig mitgezogen. Ich schlug vor, "ab dem Carport" (ca. 200m vor Ziel) zu sprinten, weil "mein 1. Rennen" und "ich nicht weiss, ob ich das durchstehe".
Hab ihn nach kurzem Geplaenkel dann angeblich aufsehenerregend verblasen... Verblasen muessen! *g* Kannte bislang den Tunnelblick nur vom Rad. Wenn ich bald mehr Erfahrungen habe, gehe ich zukuenftig auch schon frueher mit. Eigentlich wollte ich die Dame vorlassen, weil sie mich halt so gut gezogen hat und es im 1. Rennen um wirklich nix geht, ausser Intervalltempobestimmung. Aber der hat mich provoziert!!1!
Tja: Tschaka! :D
So habe ich jetzt extrem gute Laune, mir waere echt was entgangen! Obwohl es nicht besonders schlau ist, auf aelteren Orts-Nebenstrassen loszusprinten. Auch haette ich mir leicht was am Bewegungsapparat holen koennen... Naja, neue HF[max].

Einlaufen ging auf der Drei-Runden-Strecke besonders gut: Ich war 20' vor Start losgelaufen, hatte locker eine Runde absolviert, und es waren beruhigende 3 Minuten bis zum Start-"Klapp". Gibt es bei Strassen-/Volkslaeufen eigentlich keine Startpistole? Ich hatte gelesen, man solle sich vor 10K bis zum Schwitzen einlaufen. I second that.

Bei den Zieldurchgaengen konnte ich gut meine aktuelle Zeit mit einem Spickzettel vergleichen. Ich hatte in Annahme eines zu schnellen Starts 4:20 - 4:40 - 4:40 - 4:30 - 4:30 - 4:30 - 4:40 - 4:40 - 4:40 - 4:40 = 45:50 notiert. Es wurde halt etwas langsamer...

Trinken aus Bechern klappt nicht, wohl aber das Abstellen aus vollem Lauf auf einem Brueckengelaender. Falsche "Prior"-itaeten? Gut moeglich...

Ansonsten hat es mir sehr viel Spass gemacht, ich habe auf sauberen Laufstil geachtet (will den ja auch kraftsparenderweise mal ueber 21,x km durchhalten) und ich war gewiss der einzige, der den Schweiss mit einem Taschentuch abtupfte! :wink: Der Brueckenlauf des TV Gossfelden -- ein Genuss!

Zeitansage erster 10K

,

Morgen laufe ich beim Brueckenlauf eine 46er Zeit. Ich stand aber heute 4 Std. an einer grossen Metall-Saege auf Betonboden und morgen vormittag wieder 5Std. -- das geht mir immer auf die Beine. Dennoch will ich sehen, ob ich morgen Stehvermoegen habe. Die Intervalle fielen diese Woche aus. Der Trainings-Halbmarathon hat keinen Muskelkater verursacht, trotz 100% Asphalt. Heute 6,75km locker mit knapp 7min/km und 3x Steigerung auf ungefaehres Renntempo.

monthly training journal

,

mysql> select Monat, Anz, `monat.SUM(dauer)`, `monat.SUM(km)`, `Greif`, 
`MAX(km)`, `MIN(km)` FROM sport_stats WHERE Monat=7;
+-------+-----+------------------+---------------+-------+---------+---------+
| Monat | Anz | monat.SUM(dauer) | monat.SUM(km) | Greif | MAX(km) | MIN(km) |
+-------+-----+------------------+---------------+-------+---------+---------+
|     7 |  16 | 16:26:50         |        163.25 |   643 |   14.75 |       6 | 
+-------+-----+------------------+---------------+-------+---------+---------+
1 row in set (0.01 sec)

Anmeldung zum 1. Wettkampf

,

Oh wei, die Unvernunft! Keine einige wenige Wochen im Training, schon bekomme ich ungeahnten Bewegungsdrang...
Hab' mich heute erstmal zu einem 10K am 5.8.06 angemeldet: Da noch mit ohne In-Tervalltraining in den Beinen, sollte nach etwas Grundlagentraining, aber auch schon mal mit zuegigen Dauerlaeufen, eine brauchbare Bankmarke herauskommen.

spatial data in MySQL

,

UPDATE training_strecke_marker SET pt=PointFromText(CONCAT('POINT(',`training_strecke_marker`.`lat`,' ',`training_strecke_marker`.`lon`,')'));

(Posted by Ian Scrivener on February 18 2005 4:33pm @ http://dev.mysql.com/doc/refman/5.0/en/populating-spatial-columns.html)

Adding a sequence to an existing table

,

I had a database with 2 routes (running courses in a latitude/longitude representation) stored with no order other than that the first inserted value was the 1. 'clickpoint'.

I needed a way to generate a sequence for each route_id. Here is the quick solution:

set @foo=0;
UPDATE training_strecke_marker SET strecke_marker_seq = (SELECT @foo := @foo+1 ) WHERE strecke_id =3;
set @foo=0;
UPDATE training_strecke_marker SET strecke_marker_seq = (SELECT @foo := @foo+1 ) WHERE strecke_id =6;

I am a suit, not a geek! ;)

, ,

19:38 queru * hi all another time
19:39 queru * Anyone can help me on how to internationalize an interface
using MySQL to store the _messages?
19:46 queru * ¡Aleluya!
19:46 queru * http://my.opera.com/cpr/blog/show.dml/120232
19:47 queru * A geek whos pastes the table structure for i18n
19:50 queru * Two days loss for i18n
19:50 queru * Hurra for frameworks!
20:51No new messages in awaylog
20:51[freenode] You are no longer marked as being away
20:52 cprior * heh, that's me!
[20:53] [cprior(+ei)] [3:#symfony(+n)]

Betriebsbuchhaltung

=WENN(UND(I4<>"";ISTKTEXT(I4));I4;WENN(UND(J4<>"";ISTKTEXT(J4));J4;""))

Floyd Landis

Floyd Landis is so fast, he can cycle around the world and punch himself in the back of the head.
Floyd Landis gave Mona Lisa that smile.
Floyd Landis can slam a revolving door.
Floyd Landis does not get frostbite. Floyd Landis bites frost.
Floyd Landis does not sleep. He waits.
Floyd Landis has two speeds. Grupetto, and Kill.
Unlike Greg LeMond, Floyd Landis doesn't go hunting.... Floyd Landis GOES KILLING.
Floyd Landis counted to infinity. Twice.
When Floyd Landis does a pushup, he isn’t lifting himself up, he’s pushing the Earth down.
Floyd Landis is the only man to ever defeat a brick wall in a game of tennis.
If you spell Floyd Landis in Scrabble, you win. Forever.
Faster than a speeding bullet ... more powerful than a locomotive ... able to leap tall buildings in a single bound... yes, these are some of Floyd Landis's warm-up exercises.
Floyd Landis once ate a whole cake before his friends could tell him there was a stripper in it.
Some people like to eat frogs' legs. Floyd Landis likes to eat lizard legs. Hence, snakes.
Floyd Landis’ house has no doors, only walls that he walks through.
Floyd Landis can divide by zero.
Floyd Landis doesnt shave; he kicks himself in the face. The only thing that can cut Floyd Landis is Floyd Landis.
Simply by pulling on both ends, Floyd Landis can stretch diamonds back into coal.
It takes Floyd Landis 20 minutes to watch 60 Minutes.
Behind every successful man, there is a woman. Ahead of every cyclist at the Tour de France, there is Floyd Landis.
Floyd Landis did in fact, build Rome in a day.
Floyd Landis can judge a book by its cover.
Floyd Landis uses a night light. Not because Floyd Landis is afraid of the dark, but the dark is afraid of Floyd Landis.
Floyd Landis puts his pants on one leg at a time, just like the rest of us. The only difference is, then he wins the Tour.
Floyd Landis got his drivers license at the age of 16. Seconds.
When Floyd Landis does division, there are no remainders.
Floyd Landis’ acceleration is so powerful, it can be seen from outer space by the naked eye.
To be or not to be? That is the question. The answer? Floyd Landis.
Noah was the only man notified before Floyd Landis relieved himself in the Atlantic Ocean.
Paper beats rock, rock beats scissors, and scissors beats paper, but Floyd Landis beats all 3 at the same time.
As an infant, Floyd Landis' parents gave him a toy hammer. He gave the world Stonehenge.
Floyd Landis knows the last digit of pi.
Floyd Landis once played Russian roulette with a fully load gun and won.
Bigfoot takes pictures of Floyd Landis.
He, who laughs last, laughs best. He who laughs at Floyd Landis … looses the Tour.

(Apotheken-) Preise "Laufschuhe"

, ,

Seit 1995 habe ich vielleicht 2 Paar Laufschuhe gekauft, und erst jetzt habe ich mal wieder auf die Preise geachtet.

Ich fuehle mich uebervorteilt, wenn ich die Preisentwicklung ansehe.

Situation

1. Inflationsrate locker ueberholt
Jaehrliche Inflationsraten lauten wie folgt:

1990199119921993199419951996199719981999200020012002200320042005
1,6%5,1%4,4%2,7%1,7%1,5%1,9%0,9%0,9%0,6%1,4%2,0%1,4%1,1%1,6%2,0%

Quelle: IHK NRW (.pdf)

Setze ich 1995 = 100, so erhalte ich fuer 2005 eine kumilierte Inflationsrate 14,7%.

2. Marktwachstum
Gemessen an der Zahl der Laufveranstaltungen, Marathonteilnehmer und persoenlicher Meinung ist die Zahl der Laeufer seit 1995 sprunghaft gestiegen. Zumindest in Deutschland also werden deutlich mehr Schuhe verkauft als vor 10 Jahren.

3. Produktionsmoeglichkeiten
Mit meinem kaufmaennischen Hintergrund traue ich mir zu, eine billigere Produktion als in '95 anzunehmen. Auf meinen neuen Saucony steht Made in China.

4. Marktausweitung
Der relevante Markt steht durch die Walking-Mode auf erheblich breiterer Basis.

Wenn mich meine Erinnerung nicht taeuscht, habe ich damals 120-140 DM fuer ein mittelpreisiges Modell (Karhu Fulcrum, IIRC) bezahlt. Inkl. Videoanalyse etc, pi-pa-po, das Geschaeft existiert heute noch (in groesseren Raeumen).

Letzte Woche erzaehlte man mir dort, dass 120-140 EUR als Mittelwert angesehen werden muessten.

Der Karhu * 1,147 ergibt fuer mich aber 70-82 EUR.


Gruende?!?

Ich kann den Markt als Aussenseiter schlecht einschaetzen. Hohe Abnahmeverpflichtungen seien ein Grund, so habe ich gelesen, der billige Abverkauf muesse einkalkuliert werden. "Schuldiger" waere dann der Hersteller.

Hoehere Handelsspannen? Bei normalen Schuhen branchenueblich ~200%, so hoert man. Knapp kalkuliert in 1995 und jetzt auf Branchenniveau? "Schuldig" dann der Haendler und ich koennte bedenkenlos zu eBay rennen.


Konsumentenverhalten

Ich lege Wert auf die Beratung in Fachgeschaeften, habe selbst in seinem Radgeschaeft gejobbt, war "Multiplikator" mit entsprechendem Abschlag auf den VK usw.

Bislang habe ich niemals Beratung in Anspruch genommen, und dann online gekauft. Aber diese Bastion schwankt derzeit!

Ich ueberlege stark, in Zukunft
  • 1. Beratung/Analyse im Fachgeschaeft in Anspruch nehmen, und auch einen Schuh zu kaufen.
  • 2. Den gleichen Schuh, den zweit-besten in der Passform oder den letzten Schuh online nachzuordern.


Bei fluechtiger Marktrecherche gehen Auslaufmodelle online fuer ~60 EUR, das waeren 180 EUR / 2 ~ etwa 10EUR ueber dem inflationaer bereinigten Preis von 70-82EUR des "aufgezinsten Karhu Fulcrum".


Caveat

Nein, der Euro ist kein Teuro, das Statistische Bundesamt rechnet es uns vor: Wahrgenommene Inflation mehr als viermal so hoch wie amtliche Inflationsrate.


Oder uebersehe ich was?

Unter "Gruende?!?" nur die zwei, die mir spontan einfielen. Was sagen die Fachleute hier -- evtl. jemand mit Branchenkenntnissen?
Ich kann mir nicht vorstellen, dass grossartig _mehr_ Entwicklungsaufwand anfaellt, hinter dem ganzen Marketinggeschrei steckt doch selten Substanz...

Es besteht halt die Gefahr, dass ich vor dem naechsten Kauf dem Inhaber des Fachgeschaeftes per E-Mail mitteile, dass ich seine eingepreiste Beratungsdienstleistung anderweitig verwenden werde -- so dass er gegebenfalls seinen Mitarbeitern Arbeitsanweisungen fuer den Umgang mit mir geben kann. :wink:

Am Scheideweg im Umgang mit Fachgeschaeften:

cpr


http://www.lauftipps.de/foren/viewtopic.php?p=65634#65634

Runner's journal

, ,

2006-08-31:
The main view:
create view sport_journal as select sql_no_cache `training_journal_laufen`.`datum` AS `datum`,unix_timestamp(`training_journal_laufen`.`datum`) AS `unixtime`,`koerperwerte_journal`.`hf_ruhe` AS `hf_ruhe`,time_format(sec_to_time(SUM(time_to_sec(`training_journal_laufen`.`dauer`))),_utf8'%k:%i') AS `dauer`,if((`training_journal_laufen`.`strecke_id` is not null),1,0) AS `has_strecke`,SUM(coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`)) AS `laenge`,round(avg((coalesce(`training_strecke`.`AA`,`training_journal_laufen`.`AA`) / 100)),2) AS `aa`,coalesce(`training_strecke`.`name`,NULL) AS `strecke_name`,coalesce(`training_strecke`.`beschreibung`,NULL) AS `strecke_beschreibung`,coalesce(`training_strecke`.`hm_kum_rauf`,NULL) AS `strecke_hm_kum_rauf`,coalesce(`training_strecke`.`hm_kum_runter`,NULL) AS `strecke_hm_kum_runter`,`training_journal_laufen`.`type` AS `art`,time_format( sec_to_time( sum(time_to_sec(`training_journal_laufen`.`dauer`)) / SUM(coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`)) ),_utf8'%i:%s') AS `min/km`,`training_journal_laufen`.`hr_avg` AS `hf_avg`,`training_journal_laufen`.`hr_max` AS `hf_max`,round((((coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`) * ((coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `training_journal_laufen`.`hr_avg`) * 220)),0) AS `greif`,round(((time_to_sec(`training_journal_laufen`.`dauer`) / 60) * ((`training_journal_laufen`.`hr_avg` - `koerperwerte_journal`.`hf_ruhe`) / (206 - `koerperwerte_journal`.`hf_ruhe`))),0) AS `banister`,coalesce(`training_wetter`.`icao`,NULL) AS `icao`,coalesce(`training_wetter`.`time`,NULL) AS `time`,coalesce(`training_wetter`.`metar`,NULL) AS `metar`,coalesce(`training_running_schuh`.`name`,NULL) AS `schuh_name`,coalesce(year(`training_running_schuh`.`kauf_datum`),NULL) AS `schuh_jahr` from ((((`training_journal_laufen` left join `koerperwerte_journal` on((cast(`koerperwerte_journal`.`datum` as date) = cast(`training_journal_laufen`.`datum` as date)))) left join `training_strecke` on((`training_journal_laufen`.`strecke_id` = `training_strecke`.`id`))) left join `training_wetter` on((`training_wetter`.`id` = `training_journal_laufen`.`wetter_id`))) left join `training_running_schuh` on((`training_running_schuh`.`id` = `training_journal_laufen`.`schuh_id`))) where 1 group by `training_journal_laufen`.`datum` order by `training_journal_laufen`.`datum` desc;


The most important table definitions:
-- phpMyAdmin SQL Dump
-- version 2.8.2
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Sep 01, 2006 at 12:43 PM
-- Server version: 5.0.24
-- PHP Version: 5.1.4-pl6-gentoo
-- 
-- Database: `cprior`
-- 

-- --------------------------------------------------------

-- 
-- Table structure for table `koerperwerte_journal`
-- 

CREATE TABLE `koerperwerte_journal` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  `schlaf` time default NULL,
  `gewicht` float default NULL,
  `hf_ruhe` tinyint(4) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=86 DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `training_journal_laufen`
-- 

CREATE TABLE `training_journal_laufen` (
  `id` int(11) NOT NULL auto_increment,
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  `dauer` time NOT NULL default '00:00:00',
  `wetter_id` int(11) default NULL,
  `type` enum('Reg','LDL','mDL','Tempo','LR','WK') default NULL,
  `strecke_id` int(11) default NULL,
  `km` float default NULL,
  `laenge` decimal(5,2) unsigned default NULL,
  `AA` smallint(6) default NULL,
  `hr_max` mediumint(9) default NULL,
  `hr_avg` mediumint(9) default NULL,
  `schuh_id` varchar(6) NOT NULL,
  `diverses` varchar(255) default NULL,
  `notiz` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `training_laufen_schuh`
-- 

CREATE TABLE `training_laufen_schuh` (
  `id` varchar(6) NOT NULL,
  `name` varchar(128) NOT NULL,
  `km-korrektur` int(11) NOT NULL,
  `preis` float NOT NULL,
  `kauf_datum` date NOT NULL,
  `verkaeufer` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `training_running_schuh`
-- 

CREATE TABLE `training_running_schuh` (
  `id` varchar(6) NOT NULL,
  `name` varchar(128) NOT NULL,
  `km-korrektur` int(11) NOT NULL,
  `preis` float NOT NULL,
  `kauf_datum` date NOT NULL,
  `verkaeufer` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `training_strecke`
-- 

CREATE TABLE `training_strecke` (
  `id` int(11) NOT NULL auto_increment,
  `kuerzel` varchar(32) NOT NULL,
  `name` varchar(64) default NULL,
  `beschreibung` varchar(255) NOT NULL,
  `laenge` decimal(4,2) default NULL,
  `hm_kum_rauf` mediumint(9) default NULL,
  `hm_kum_runter` mediumint(9) default NULL,
  `AA` smallint(6) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `kuerzel` (`kuerzel`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `training_wetter`
-- 

CREATE TABLE `training_wetter` (
  `id` int(11) NOT NULL auto_increment,
  `icao` char(4) NOT NULL,
  `time` datetime NOT NULL,
  `metar` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `sport_journal`
-- 

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_journal` AS select sql_no_cache `cprior`.`training_journal_laufen`.`datum` AS `datum`,unix_timestamp(`cprior`.`training_journal_laufen`.`datum`) AS `unixtime`,`cprior`.`koerperwerte_journal`.`hf_ruhe` AS `hf_ruhe`,time_format(sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))),_utf8'%k:%i') AS `dauer`,if((`cprior`.`training_journal_laufen`.`strecke_id` is not null),1,0) AS `has_strecke`,sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `laenge`,round(avg((coalesce(`cprior`.`training_strecke`.`AA`,`cprior`.`training_journal_laufen`.`AA`) / 100)),2) AS `aa`,coalesce(`cprior`.`training_strecke`.`name`,NULL) AS `strecke_name`,coalesce(`cprior`.`training_strecke`.`beschreibung`,NULL) AS `strecke_beschreibung`,coalesce(`cprior`.`training_strecke`.`hm_kum_rauf`,NULL) AS `strecke_hm_kum_rauf`,coalesce(`cprior`.`training_strecke`.`hm_kum_runter`,NULL) AS `strecke_hm_kum_runter`,`cprior`.`training_journal_laufen`.`type` AS `art`,time_format(sec_to_time((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)))),_utf8'%i:%s') AS `min/km`,`cprior`.`training_journal_laufen`.`hr_avg` AS `hf_avg`,`cprior`.`training_journal_laufen`.`hr_max` AS `hf_max`,round((((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * ((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `cprior`.`training_journal_laufen`.`hr_avg`) * 220)),0) AS `greif`,round(((time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60) * ((`cprior`.`training_journal_laufen`.`hr_avg` - `cprior`.`koerperwerte_journal`.`hf_ruhe`) / (206 - `cprior`.`koerperwerte_journal`.`hf_ruhe`))),0) AS `banister`,coalesce(`cprior`.`training_wetter`.`icao`,NULL) AS `icao`,coalesce(`cprior`.`training_wetter`.`time`,NULL) AS `time`,coalesce(`cprior`.`training_wetter`.`metar`,NULL) AS `metar`,coalesce(`cprior`.`training_running_schuh`.`name`,NULL) AS `schuh_name`,coalesce(year(`cprior`.`training_running_schuh`.`kauf_datum`),NULL) AS `schuh_jahr` from ((((`cprior`.`training_journal_laufen` left join `cprior`.`koerperwerte_journal` on((cast(`cprior`.`koerperwerte_journal`.`datum` as date) = cast(`cprior`.`training_journal_laufen`.`datum` as date)))) left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) left join `cprior`.`training_wetter` on((`cprior`.`training_wetter`.`id` = `cprior`.`training_journal_laufen`.`wetter_id`))) left join `cprior`.`training_running_schuh` on((`cprior`.`training_running_schuh`.`id` = `cprior`.`training_journal_laufen`.`schuh_id`))) where 1 group by `cprior`.`training_journal_laufen`.`datum` order by `cprior`.`training_journal_laufen`.`datum` desc;

-- --------------------------------------------------------

-- 
-- Table structure for table `sport_schuhverbrauch`
-- 

CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_schuhverbrauch` AS select `cprior`.`training_laufen_schuh`.`name` AS `Schuh`,count(0) AS `Anz`,(sum(`cprior`.`training_journal_laufen`.`km`) + `cprior`.`training_laufen_schuh`.`km-korrektur`) AS `SUM(km)` from (`cprior`.`training_journal_laufen` join `cprior`.`training_laufen_schuh` on((`cprior`.`training_laufen_schuh`.`id` = `cprior`.`training_journal_laufen`.`schuh_id`))) group by `cprior`.`training_journal_laufen`.`schuh_id`;

-- --------------------------------------------------------

-- 
-- Table structure for table `sport_statistics_monthly_current_year`
-- 

CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_statistics_monthly_current_year` AS select sql_no_cache month(`cprior`.`training_journal_laufen`.`datum`) AS `monat`,count(0) AS `anz`,sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))) AS `monat.SUM(dauer)`,round((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / (select sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) AS `sum(time_to_sec(``dauer``))` from `cprior`.`training_journal_laufen`)),2) AS `monat.%(dauer)`,round(sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)),1) AS `monat.SUM(laenge)`,round((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) / (select sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `sum(``laenge``)` from (`cprior`.`training_journal_laufen` left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))))),2) AS `monat.%(laenge)`,round(((sum(((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * `cprior`.`training_journal_laufen`.`AA`) / 100)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`))) * 100),1) AS `asphalt.%(laenge)`,round((((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) * ((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) * 1000) / (sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / 60))) * 200) / ((200 - avg(`cprior`.`training_journal_laufen`.`hr_avg`)) * 220)),0) AS `greif`,max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MAX(laenge)`,min(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MIN(laenge)` from (`cprior`.`training_journal_laufen` left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) where (year(`cprior`.`training_journal_laufen`.`datum`) = year(now())) group by month(`cprior`.`training_journal_laufen`.`datum`) order by month(`cprior`.`training_journal_laufen`.`datum`) desc;

-- --------------------------------------------------------

-- 
-- Table structure for table `sport_statistics_weekly`
-- 

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_statistics_weekly` AS select week(cast(`cprior`.`training_journal_laufen`.`datum` as date),0) AS `kw`,min(`cprior`.`training_journal_laufen`.`datum`) AS `MIN(datum)`,max(`cprior`.`training_journal_laufen`.`datum`) AS `MAX(datum)`,unix_timestamp(min(`cprior`.`training_journal_laufen`.`datum`)) AS `MIN(unixtime)`,unix_timestamp(max(`cprior`.`training_journal_laufen`.`datum`)) AS `MAX(unixtime)`,count(distinct `cprior`.`training_journal_laufen`.`datum`) AS `anz`,sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))) AS `dauer`,round(sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)),1) AS `SUM(laenge)`,round(avg(coalesce(`cprior`.`training_strecke`.`AA`,`cprior`.`training_journal_laufen`.`AA`)),0) AS `AVG(aa)`,max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MAX(laenge)`,round(((max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`))) * 100),0) AS `MAX()/SUM()`,time_format(sec_to_time((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)))),_utf8'%i:%s') AS `AVG(min/km)`,sum(round((((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * ((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `cprior`.`training_journal_laufen`.`hr_avg`) * 220)),0)) AS `greif`,round(((time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60) * ((`cprior`.`training_journal_laufen`.`hr_avg` - `cprior`.`koerperwerte_journal`.`hf_ruhe`) / (206 - `cprior`.`koerperwerte_journal`.`hf_ruhe`))),0) AS `banister` from ((`cprior`.`training_journal_laufen` left join `cprior`.`koerperwerte_journal` on((cast(`cprior`.`koerperwerte_journal`.`datum` as date) = cast(`cprior`.`training_journal_laufen`.`datum` as date)))) left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) where (`cprior`.`training_journal_laufen`.`type` <> _utf8'KoV') group by week(`cprior`.`training_journal_laufen`.`datum`,1) order by `cprior`.`training_journal_laufen`.`datum` desc;

-- --------------------------------------------------------

-- 
-- Table structure for table `sport_union_tmp`
-- 

CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_union_tmp` AS (select _utf8'j' AS `t`,`j`.`datum` AS `datum` from `cprior`.`training_journal_laufen` `j`) union all (select _utf8'c' AS `t`,`c`.`datum` AS `datum` from `cprior`.`training_journal_crosstrainer` `c`);

-- --------------------------------------------------------


Original post:
<deleted />

symfony @froscon: The good, the bad and the ugly

It was a nice sunday brunch-time excursion to Sankt Augustin near Cologne where I presented symfony at the froscon 2006, a F/OSS conference at the University of Applied Sciences Bonn-Rhein-Sieg.

The talk was held in the web develop track.

The good

About 50 people attended the talk which makes a nice multiplication effect. I will watch out for blog posts in the next days.

I stated up front that I will give a rather high-speed talk about symfony as I didn't want to start a hands-on session. But rather present an overview of the many, many features. Starting with MVC patterns in general I highlighted the symfony implementation, adding code samples where appropriate. Although I don't think that makes someone understand YAML instantly I am positive that all components and major 3rd party libraries have been introduced. So if someone wants to try it they know "the players".
I did very well on the high-speed aspect.

As a hobbyist I had to bridge the gap to the professional developers. I judge /some/ aspects differently as a hobbyist but I prepared the audience so that they could relate the different point of views. Public speaking is not about appearing superior but suceeding in establishing a somehow working relationship with the audience. So I played the 'hobbyist' card right at the time.

I could cover all features that I had planned for in my slides. The attendees now know about the general structure of the framework as well as selected "application-ready" features such as

  • forms and validation
  • i18n (database and in the view)
  • smart URLs
  • cache
  • debugging
  • testing
  • scaffolding
  • pagination
  • security


I left out -- as planned -- the filter chain, replacing the ORMapper and coding captchas.

I also pointed out the key vocabulary of symfonys MVC pattern (such as sfFrontWebController, schema.xml, environments (prod|dev), view.yml and model/action as well as layout/component (slot)/partial etc.) Included was everything that is necessary for a in-depth test-drive with the sandbox.

All in all I found my slides to contain the relevant keywords about the subject, I felt good with working them. This should prepare for the documentation which I have praised appropriately. Sure, they contained _a lot_ of symfony-vocabulary---but well, it was a high-speed overview! I threw in some of my gotchas about ORM, MVC and i18n and I have no other reason to believe than these might have been new aspects to the one or the other member of the audience.

Very good was the fact that I could keep my humour in check -- which is a bit on the dry and relating-the-unrelated side occasionally! ;)

But the best thing was the topic itself: It is very easy to talk about symfony because it is something substantial. There are no gaps to cover, no not-working-yets to defend, no bugs screwing productivity to hide. No, it is a brand-new framework not known to many people that already has to offer such a broad set of features. I am 100% sure no one in the audience thinks a lot about re-filling form fields with Xpath...


The bad

There were a few misspellings I noticed only during the talk. And it even got worse! ;)

At one point, unfortunately when I presented the routing system, I had not properly escaped the program code for my slide-processor (beamer-latex) which made the code barely readble. Verbatim content is a bit bitchy in that setting...

That was most probably the reason why I believe that I could not bring the routing across very well. Although I think that routing.yml has to be presented in great details anyways, because the effect on the URL and the not-being-effected of the framework needs a more hands-on approach. I feel easier to talk about environments in a controller than about routing!

My madness about the pre-talk screw-up made my start into the talk a bit rough, and I talked about computer-related stuff for the first time.

The ugly

I could not get all parts of the presentation to work: Slides were fine, file browser worked despite being a resource hog BUT NOT MY VIRTUALISED WEBSERVER. Network settings with coLinux, I still have to figure out what exactly went wrong.

Somehow I managed to calm me down but I have been breaking out in swaet in the prep room. I compiled about 1.3GB of source code on that 64MB RAM virtual server in the past days (Gentoo, dual-boot but I wanted to work in Windows parallel.) I was mad about it. Secretly.

Noticeably this affected only the slide about debugging, where I could not show the promised "live example" of the debug toolbar (I did not admit that something was terribly wrong at all).

Nice-to-haves would have been a 5-minute rapid CRUD app for which I was prepared for and actually showing the symfony web page and content despite just mentioning them...

However, I finished my talk in exactly the 45 minutes I asked for. I retrospective I should have gone for 1.5 hours which hadn't made my guardian angel messing with my setup! ;)
And a talk over the time is badder than missing features or bad gramar!


Credits

The froscon is nice, if you are speak german and involved in FOSS go there next year! Nice building, many helpful staff around (the student body organizes the conference) and they make all food fresh ('fresh' like in 'cutting groceries' and so on!). Good place to present a framework from France!

Appendix

The year is 2006. Almost every hype-able web application is occupied by Ruby code. Teh whole intarnet? No, a small gaulish web agency under the rule of unbending PHP-programmers is still holding out commits against the conqueror.



(My teaser for the program entry. Cannot find where I said "basic understanding of MVC pattern required... *g*)

Functions, stored procedure in >MySQL5

,

mysql> select version();
+------------+
| version()  |
+------------+
| 5.0.22-log | 
+------------+
1 row in set (0.00 sec)

mysql> use cprior;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> DELIMITER @
mysql> CREATE FUNCTION BMI (gewicht FLOAT) 
RETURNS FLOAT 
DETERMINISTIC 
BEGIN 
DECLARE ret FLOAT; 
SET ret = ROUND(gewicht/POWER(1.77,2),1); 
RETURN ret; 
END; @
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;
mysql> SELECT BMI(80);
+---------+
| BMI(80) |
+---------+
|    25.5 | 
+---------+
1 row in set (0.00 sec)

mysql> DROP FUNCTION BMI;
Query OK, 0 rows affected (0.00 sec)

mysql> 



Functions cannot access tables.
Stored procedures can.

http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.pdf

Note: POWER(1.77,2) That's me

BMI, avg(weight), trainings-calendar

, ,

mysql> select ROUND(AVG(`gewicht`),1) as 'avg kg last 7 days', ROUND((AVG(`gewicht`)/POWER(1.77,2)),1) as 'teh intellectual gemstone called BMI[TM]' FROM koerperwerte WHERE `gewicht` IS NOT NULL AND `datum` >= DATE_SUB(NOW(), INTERVAL '7' DAY );

SELECT WEEK(date(`datum`)) as Week, SEC_TO_TIME(SUM(TIME_TO_SEC(`dauer`))) as duration, SUM(`km`), SEC_TO_TIME(SUM(TIME_TO_SEC(`dauer`))/SUM(`km`)) as 'km/m' FROM training GROUP BY WEEK(`datum`) DESC;

SELECT date_format(`datum`,'%a, %d.%c.') as datum, TIME(`dauer`) as duration, `km`, `type`, SEC_TO_TIME(TIME_TO_SEC(`dauer`)/`km`) as 'm/km', hr_avg, hr_max FROM training GROUP BY training.`datum` DESC;
#
SELECT date_format(`datum`,'%a, %d.%c.') as Datum, TIME(`dauer`) as Dauer, `km`, `type` as Art, SEC_TO_TIME(TIME_TO_SEC(`dauer`)/`km`) as 'm/km', hr_avg, hr_max FROM training WHERE DATE_SUB(curdate(), INTERVAL 14 DAY) <= DATE(`training`.`datum`) GROUP BY training.`datum` DESC;

SELECT WEEK(date_sub(`datum`, interval if(dayofweek(`datum`)-2>=0,dayofweek(`datum`)-2, dayofweek(`datum`)-2+7) DAY)) as Week, COUNT(*) as Anz, SEC_TO_TIME(SUM(TIME_TO_SEC(`dauer`))) as dauer, SUM(`km`) as 'Ges.km', SEC_TO_TIME(SUM(TIME_TO_SEC(`dauer`))/SUM(`km`)) as 'm/km' FROM training GROUP BY WEEK(date_sub(`datum`, interval if(dayofweek(`datum`)-2>=0,dayofweek(`datum`)-2, dayofweek(`datum`)-2+7) DAY)) DESC;

MySQL add time values

,

SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `duration` ) ) ) AS total_time FROM training;

as in e.g.:
SELECT date(`datum`), TIME(`dauer`) as duration, `km`, SEC_TO_TIME(TIME_TO_SEC(`dauer`)/`km`) as 'km/m' FROM training GROUP BY datum;

16:15 cprior * Kool-Aid: I bought me a heart rate monitor for my excercises today!
16:15 cprior * Haven't owned one in 10 years
16:16 cprior * they became incredibly cheap, I bought one "on impulse"
16:18 cprior * I got one without those fancy "download to PC and cellphone" feature.
16:18 cprior * I will never, ever sink data in a proprietory, binary format
16:19 cprior * so if they don't write "exportable to text-files" all over the package I refuse...
16:19 cprior * If I /really/ wanted to keep track of my excersises I could always put it ina database table

catching div/0

=IF(COUNT(1/(ERROR.TYPE(A1/B1)=2)),0,A1/B1)

(Only Linus Torvalds can divide by zero and when Chuck Norris wanted to count backwards from infinity he didn't know where to start! Now you know the real truth...)

No focus!

, ,

default.filter
FILTER: PGOfocus
s/ onload="document\.getElementById\('sstring'\)\.focus\(\);//Ugm


user.action
{+filter{PGOfocus}}
packages.gentoo.org


default.action
{ +prevent-compression }
.gentoo.org

sonderzeichen / special chars

=ZEICHEN(ZEILE()) | =CHAR(ROW))

accordion columns

From: JE McGimpsey <jemcgimpsey@mvps.org>
Subject: Re: accordian columns
Newsgroups: microsoft.public.excel

One way, using an event macro:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Columns(2).Hidden = Target.Column <> 1
End Sub


Put this in the worksheet code module (right-click the worksheet tab and
choose View Code).

In article <Zewlsash.28jvgy_1148874301.1489@excelforum-nospam.com>,
Zewlsash <Zewlsash.28jvgy_1148874301.1489@excelforum-nospam.com>
wrote:

> Hello,
>
> I was working with someone's database at work. I was updating names.
> I would add a new 'last name' into the first column, then when I hit
> the right arrow a new column called 'first name' would suddenly open up
> to the right of the last name column. After finishing a new row and
> hitting [enter], the 'first name' column would disappear again. How
> can I make columns do this? Thank you for any help.
>
> Ed
~

Reset Zellen

Private Sub reset_Click()
On Error Resume Next
Range("A2:B20").SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub

Tabellenfunktionen dt/engl

Tabellenfunktionen
Deutsch-Englisch
ABRUNDEN-ROUNDDOWN
ABS-ABS
ACHSENABSCHNITT-INTERCEPT
ADRESSE-ADDRESS
ANZAHL-COUNT
ANZAHL2-COUNTA
ANZAHLLEEREZELLEN-COUNTBLANK
ARCCOS-ACOS
ARCCOSHYP-ACOSH
ARCSIN-ASIN
ARCSINHYP-ASINH
ARCTAN-ATAN
ARCTAN2-ATAN2
ARCTANHYP-ATANH
AUFRUFEN-CALL
AUFRUNDEN-ROUNDUP
BEREICH.VERSCHIEBEN-OFFSET
BEREICHE-AREAS
BESTIMMTHEITSMASS-RSQ
BETAINV-BETAINV
BETAVERT-BETADIST
BINOMVERT-BINOMDIST
BOGENMASS-RADIANS
BW-PV
CHIINV-CHIINV
CHITEST-CHITEST
CHIVERT-CHIDIST
CODE-CODE
COS-COS
COSHYP-COSH
DATUM-DATE
DATWERT-DATEVALUE
DBANZAHL-DCOUNT
DBANZAHL2-DCOUNTA
DBAUSZUG-DGET
DBMAX-DMAX
DBMIN-DMIN
DBMITTELWERT-DAVERAGE
DBPRODUKT-DPRODUCT
DBSTDABW-DSTDEV
DBSTDABWN-DSTDEVP
DBSUMME-DSUM
DBVARIANZ-DVAR
DBVARIANZEN-DVARP
DIA-SYD
DM-DOLLAR
ERSETZEN-REPLACE
EXP-EXP
EXPONVERT-EXPONDIST
FAKULTÄT-FACT
FALSCH-FALSE
FEHLER.TYP-ERROR.TYPE
FEST-FIXED
FINDEN-FIND
FINV-FINV
FISHER-FISHER
FISHERINV-FISHERINV
FTEST-FTEST
FVERT-FDIST
GAMMAINV-GAMMAINV
GAMMALN-GAMMALN
GAMMAVERT-GAMMADIST
GANZZAHL-INT
GDA-DDB
GDA2-DB
GEOMITTEL-GEOMEAN
GERADE-EVEN
GESTUTZTMITTEL-TRIMMEAN
GLÄTTEN-TRIM
GRAD-DEGREES
GROSS-UPPER
GROSS2-PROPER
GTEST-ZTEST
HARMITTEL-HARMEAN
HÄUFIGKEIT-FREQUENCY
HEUTE-TODAY
HYPGEOMVERT-HYPGEOMDIST
IDENTISCH-EXACT
IKV-IRR
INDEX-INDEX
INDIREKT-INDIRECT
INFO-INFO
ISTBEZUG-ISREF
ISTFEHL-ISERR
ISTFEHLER-ISERROR
ISTKTEXT-ISNONTEXT
ISTLEER-ISBLANK
ISTLOG-ISLOGICAL
ISTNV-ISNA
ISTTEXT-ISTEXT
ISTZAHL-ISNUMBER
JAHR-YEAR
JETZT-NOW
KAPZ-PPMT
KGRÖSSTE-LARGE
KKLEINSTE-SMALL
KLEIN-LOWER
KOMBINATIONEN-COMBIN
KONFIDENZ-CONFIDENCE
KORREL-CORREL
KOVAR-COVAR
KRITBINOM-CRITBINOM
KURT-KURT
KÜRZEN-TRUNC
LÄNGE-LEN
LIA-SLN
LINKS-LEFT
LN-LN
LOG-LOG
LOG10-LOG10
LOGINV-LOGINV
LOGNORMVERT-LOGNORMDIST
MAX-MAX
MDET-MDETERM
MEDIAN-MEDIAN
MIN-MIN
MINUTE-MINUTE
MINV-MINVERSE
MITTELABW-AVEDEV
MITTELWERT-AVERAGE
MMULT-MMULT
MODALWERT-MODE
MONAT-MONTH
MTRANS-TRANSPOSE
N-N
NBW-NPV
NEGBINOMVERT-NEGBINOMDIST
NICHT-NOT
NORMINV-NORMINV
NORMVERT-NORMDIST
NV-NA
OBERGRENZE-CEILING
ODER-OR
PEARSON-PEARSON
PI-PI
POISSON-POISSON
POTENZ-POWER
PRODUKT-PRODUCT
QIKV-MIRR
QUADRATESUMME-SUMSQ
QUANTIL-PERCENTILE
QUANTILSRANG-PERCENTRANK
QUARTILE-QUARTILE
RANG-RANK
RECHTS-RIGHT
REGISTER.KENNUMMER-REGISTER.ID
REST-MOD
RGP-LINEST
RKP-LOGEST
RMZ-PMT
RÖMISCH-ROMAN
RUNDEN-ROUND
SÄUBERN-CLEAN
SCHÄTZER-FORECAST
SCHIEFE-SKEW
SEKUNDE-SECOND
SIN-SIN
SINHYP-SINH
SPALTE-COLUMN
SPALTEN-COLUMNS
STABW-STDEV
STABWN-STDEVP
STANDARDISIERUNG-STANDARDIZE
STANDNORMINV-NORMSINV
STANDNORMVERT-NORMSDIST
STEIGUNG-SLOPE
STFEHLERYX-STEYX
STUNDE-HOUR
SUCHEN-SEARCH
SUMME-SUM
SUMMENPRODUKT-SUMPRODUCT
SUMMEWENN-SUMIF
SUMMEX2MY2-SUMX2MY2
SUMMEX2PY2-SUMX2PY2
SUMMEXMY2-SUMXMY2
SUMQUADABW-DEVSQ
SVERWEIS-VLOOKUP
T-T
TAG-DAY
TAGE360-DAYS360
TAN-TAN
TANHYP-TANH
TEIL-MID
TEILERGEBNIS-SUBTOTAL
TEXT-TEXT
TINV-TINV
TREND-TREND
TTEST-TTEST
TVERT-TDIST
TYP-TYPE
UND-AND
UNGERADE-ODD
UNTERGRENZE-FLOOR
VARIANZ-VAR
VARIANZEN-VARP
VARIATION-GROWTH
VARIATIONEN-PERMUT
VDB-VDB
VERGLEICH-MATCH
VERKETTEN-CONCATENATE
VERWEIS-LOOKUP
VORZEICHEN-SIGN
WAHL-CHOOSE
WAHR-TRUE
WAHR-TRUE
WAHRSCHBEREICH-PROB
WECHSELN-SUBSTITUTE
WEIBULL-WEIBULL
WENN-IF
WERT-VALUE
WIEDERHOLEN-REPT
WOCHENTAG-WEEKDAY
WURZEL-SQRT
WVERWEIS-HLOOKUP
ZÄHLENWENN-COUNTIF
ZEICHEN-CHAR
ZEILE-ROW
ZEILEN-ROWS
ZEIT-TIME
ZEITWERT-TIMEVALUE
ZELLE-CELL
ZINS-RATE
ZINSZ-IPMT
ZUFALLSZAHL-RAND
ZW-FV
ZZR-NPER

Datumswert basteln

=WENN(RECHTS(A4;4)="2006";DATUM(RECHTS(A4;4);TEIL(A4;4;2);LINKS(A4;2));"")

Zeitformat in Excel

From: Claus Busch <claus_busch@nospam.de>
Subject: Re: Import von Zeitwerten
Newsgroups: microsoft.public.de.excel

Hallo Ulrich,

Am Sat, 27 May 2006 10:36:12 +0200 schrieb Ulrich Imann:

> ich habe folgendes Problem:
>
> In einer importierten Spalte steht folgendes Zeit-Format 10:14 -> mm:ss
> Excel interpretiert dies aber als hh:mm:ss also 10:14:00.
> Wenn ich jetzt die Formatierung der Zellen in mm:ss ändere bekomme ich 14:0
> (logisch).
>
> Frage:
> Wie kann ich diese Formatierung Zellen ändern ohne ohne den eigentlichen
> Zeitwert zu veräern

schreibe 60 in eine leere Zelle, kopiere sie, markiere deine Spalte mit den
Stunden, gehe auf "Bearbeiten => Inhalte einfügen und aktiviere dort
Division. Danach deine Spalte mm:ss formatieren.


--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.deg

Excel Gantt

Talked my Dad out of downloading "some nice freeware project management software!"...

http://www.mrexcel.com/tip058.shtml
http://peltiertech.com/Excel/Charts/GanttLinks.html

SELECT eggs FROM Refrigerator

,

More Cooking with SQL - by digitaldc (Score: 5, Funny) Thread
SELECT eggs (*) AS ingredients  
FROM Refrigerator 
GROUP BY NO.dozen 
INSERT INTO my_fryingpan (eggs1, butter1) 
UPDATE my_table SET toast = ‘lightly browned’  
INSERT hole INTO toast 
MERGE eggs INTO toast 
USING ( 
SELECT Eggs, Toast) 
CREATE Breakfast eggy_toast 
DELETE FROM my_table WHERE plate = ‘N’

Fragmentierung

Heizoel-Preise

vim references

,

Some day I really need to start maintaining links in a cross-browser, shareable fashion. And no, delicious doesn't count as such.

http://www.rayninfo.co.uk/vimtips.html
http://tnerual.eriogerg.free.fr/vimqrc.html

Jeff B. links

Basic WebDAV and vhost setup on a LVM volume

lvcreate -v -L3G -nMyUserName vg
mke2fs -T largefile -j -v -m 1 /dev/vg/MyUserName
mount /dev/vg/MyUserName var/dav/MyUserName/
superadduser
chown -R apache:apache /var/dav/MyUserName
vi /etc/apache2/modules.d/45_mod_dav.conf

<IfModule mod_dav.c>
Alias /MyUserName /var/dav/MyUserName
#snip
<Location /MyUserName>
Dav On
Options Indexes
<Limit PUT POST DELETE PROPPATCH COPY MOVE LOCK UNLOCK>
AuthType Basic
AuthName "WebDAV Restricted Repository"
AuthUserFile /path/to/.davpasswd
Require user MyUserName
</Limit>
</Location>
</IfModule>


htpasswd2 -b /path/to.davpasswd MyUserName MyPassword
vi /etc/apache2/vhosts.d/vhosts.conf

<VirtualHost 217.160.106.95:80>
ServerName MyUserName.de
DocumentRoot /var/dav/MyUserName/web
<Directory /var/dav/MyUserName/web>
Order allow,deny
Allow from all
Options -Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
</Directory>
</VirtualHost>


/etc/init.d/apache2 restart

resizing images

, , ,

I know that I know nothing.

And I especially know that I always forget `imagemagick`s command line options :( So here is a tagged remedy:

for f in `ls *JPG`; do echo $f; convert -resize 800x800 $f $f; done


And to rename based on exif tags:
for f in `ls *.JPG`; do echo $f; create_date=""; create_date=`exiftime "$f" 2>&1 | grep -i image\ created | cut -d" " -f3 | sed -e 's/:/-/g'`;if [ "$create_date" != "" ];then echo $create_date;fi;done

mkisofs on cygwin

,

The following command creates a CD image in the current directory
using a source directories on the CDROM drive, a sub-directory and the
floppy drive:

mkisofs -o hsfs.iso -J -R /cdrom/subdir dir1 /a


http://cdrecord.berlios.de/old/private/man/README/README.win32

./mkisofs.exe -o /cygdrive/l/LEXWARE-financial_office_pro-2004.iso -J -R /cygdrive/e serial^H^H^H^H^H^Hreadme.txt

I myself have seen a fool taking root

Those on the rock are the ones who receive the word with joy when they hear it, but they have no root. (Luke 8:13)

I myself have seen a fool taking root, but suddenly his house was cursed. (Job 5:3)

But since he has no root, he lasts only a short time. (Matthew 13:21)

(...) do not boast over those branches. If you do, consider this: You do not support the root, but the root supports you. (Romans 11:18)

Not only in Soviet Russia, I presume...

Troll TROLLING PUBLIC LICENSE

http://slashdot.org/comments.pl?sid=183314&cid=15142700

Troll TROLLING PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Troll's Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble
The licenses for most Troll's are designed to take away your freedom to share and change it. By contrast, the Troll Trolling Public License is intended to guarantee your freedom to share and change free Troll's--to make sure the Troll's is free for all its users. This Trolling Public License applies to most of the Slashdot Troll's Troll's and to any other troll whose authors commit to using it. (Some other Free Troll's Foundation Troll's is covered by the Troll Library Trolling Public License instead.) You can apply it to your trolls, too.
When we speak of free Troll's, we are referring to freedom, not price. Our Trolling Public Licenses are designed to make sure that you have the freedom to distribute copies of free Troll's (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the Troll's or use pieces of it in new free trolls; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the Troll's, or if you modify it.
For example, if you distribute copies of such a troll, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the Troll's, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the Troll's.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free Troll's. If the Troll's is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free troll is threatened constantly by Troll's patents. We wish to avoid the danger that redistributors of a free troll will individually obtain patent licenses, in effect making the troll proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any troll or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Trolling Public License. The "Troll", below, refers to any such troll or work, and a "work based on the Troll" means either the Troll or any derivative work under copyright law: that is to say, a work containing the Troll or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Troll is not restricted, and the output from the Troll is covered only if its contents constitute a work based on the Troll (independent of having been made by running the Troll). Whether that is true depends on what the Troll does.
1. You may copy and distribute verbatim copies of the Troll's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Troll a copy of this License along with the Troll.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Troll or any portion of it, thus forming a work based on the Troll, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Troll or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified troll normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the troll under these conditions, and telling the user how to view a copy of this License. (Exception: if the Troll itself is interactive but does not normally print such an announcement, your work based on the Troll is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Troll, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Troll, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Troll.
In addition, mere aggregation of another work not based on the Troll with the Troll (or with a work based on the Troll) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Troll (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for Troll's interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for Troll's interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the troll in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Troll except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Troll is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Troll or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Troll (or any work based on the Troll), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Troll or works based on it.
6. Each time you redistribute the Troll (or any work based on the Troll), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Troll subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Troll at all. For example, if a patent license would not permit royalty-free redistribution of the Troll by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Troll.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free Troll's distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of Troll's distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute Troll's through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Troll is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Troll under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Troll's Foundation may publish revised and/or new versions of the Trolling Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Troll specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Troll's Foundation. If the Troll does not specify a version number of this License, you may choose any version ever published by the Free Troll's Foundation.
10. If you wish to incorporate parts of the Troll into other free trolls whose distribution conditions are different, write to the author to ask for permission. For Troll's which is copyrighted by the Free Troll's Foundation, write to the Free Troll's Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free Troll's and of promoting the sharing and reuse of Troll's Trollingly.
NO WARRANTY
11. BECAUSE THE TROLL IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE TROLL, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE TROLL "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE TROLL IS WITH YOU. SHOULD THE TROLL PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE TROLL AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY Trolling, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE TROLL (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE TROLL TO OPERATE WITH ANY OTHER TROLLS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

More bash var chopping

,

http://my.opera.com/cpr/blog/show.dml/206175

Leaving basename() behind by chopping from the end of the variable-string:

$ for f in `ls *gif`;do echo $f; convert.exe $f ${f%.gif}.png;done
first_basic_admin.gif
first_comments_under_post.gif
first_congrats.gif
first_crud.gif
first_crud_layout.gif
first_custom_admin.gif
first_form_validation.gif
first_login.gif
first_routing.gif
first_welcome.gif
bash-3.00$ ls
first_basic_admin.gif          first_crud.png             first_login.gif
first_basic_admin.png          first_crud_layout.gif      first_login.png
first_comments_under_post.gif  first_crud_layout.png      first_routing.gif
first_comments_under_post.png  first_custom_admin.gif     first_routing.png
first_congrats.gif             first_custom_admin.png     first_welcome.gif
first_congrats.png             first_form_validation.gif  first_welcome.png
first_crud.gif                 first_form_validation.png  symfony_favicon.png
$ for p in `ls *png`; do echo \\pgfdeclareimage\{${p%.png}\}{pictures/${p%.png}};done

Caveat: Sanitize underscore in pgfimage handle

IMG_0020.JPG 020.JPG IMG_x020.JPG
IMG_0021.JPG 021.JPG IMG_x021.JPG
IMG_0022.JPG 022.JPG IMG_x022.JPG
IMG_0023.JPG 023.JPG IMG_x023.JPG
bash-3.1$ for f in `ls *JPG`; do mv $f IMG_x${f#IMG_0};  done

Frameworks und Vertrauen

,

Ich bin ein PHP-Hobbyist.

Meine erste Tat auf einem WAMP (Windows 98!) war es, ein PHPNuke aufzusetzen. Seitdem habe ich einiges dazugelernt, schliesslich sitzen mir keine Fertigstellungstermine im Nacken! *aetsch* (hehe, scnr)

Im Jahr 2005 stand an, ein Framework mit Objektorientierung, Datenbankansprache mit objektrelationaler Verknuepfung und sowieso im MVC-Entwurfsmuster zu erlernen: Ich moechte stets mit eigenem Code am Informationsaustausch im Internet teilnehmen koennen, und mindestens mit Benutzerauthentifizierung. Das ist fuer mich ein kultur- und technikgeschichtliches Beduerfnis, aber das will ich hier und jetzt nicht weiter ausfuehren.

Mit dem Anwender in einer Agentur habe ich aber eines gemeinsam: Meine Zeit ist zu limitiert, um eine Vielzahl an Frameworks zu erlernen. Ich brauch eine Codesammlung, die mich sofort produktiv sein laesst, und die mir auch in zwei Jahren noch zur Verfuegung steht.

Bei der Evaluierung blieb ich bei symfony haengen.

Obwohl zu diesem Zeitpunkt nur in Version 0.4 verfuegbar, ueberzeugte es mich
  • mit umfangreicher Dokumentation in bestem Englisch, obwohl die Verfasser Franzosen sind,
  • als nicht-englische-Muttersprachler bauten die Entwickler I18n von Grund auf ein (Hallo RoR!),
  • einer hohen Schlagzahl an Commits,
  • der pragmatischen Grundeinstellung
  • und einem niedrigen Ego-Niveau.


Zwar gibt es fuer jeden Suchenden auf dem Feld der PHP5-Frameworks noch eine Menge anderer Gruende, symfony einmal zu begutachten, aber die obigen sind fuer mich aus einem Grund bedeutsam:
Sie schaffen Vertrauen.

Meine persoenliche Zeit-Wette sieht also vollen Einsatz auf symfony gesetzt. Weil es von Anfang an produktiv einsetzbar war. Und weil ich glaube, dass es auch uebernaechstes Jahr noch existiert.

Teh new database speak

ander konstraction:
abbr.;newspeak entity;some kind of a desc.;uri;related
ORM; object relational mapping; The term object/relational mapping (ORM) refers to the technique of mapping a data representation from an object model to a relational data model with a SQL-based schema.; http://www.hibernate.org/hib_docs/reference/en/html/preface.html;
;Persistance;Persistent classes are classes in an application that implement the entities of the business problem (e.g. Customer and Order in an E-commerce application). Persistent classes have, as the name implies, transient and also persistent instance stored in the database.;http://www.hibernate.org/hib_docs/reference/en/html/persistent-classes.html;transient
;Collections;We assume you already know how to use Java's collections framework.(...)The persistent collections actually behave like HashMap, HashSet, TreeMap, TreeSet and ArrayList respectively.;http://www.hibernate.org/hib_docs/reference/en/html/collections.html;
;lazy initialization;lazily initialized, meaning they load their state from the database only when the application needs to access it.;http://www.hibernate.org/hib_docs/reference/en/html/collections.html#collections-lazy;
;find();If you don't know the identifier(s) of the object(s) you are looking for, use the find() methods;http://www.hibernate.org/hib_docs/reference/en/html/manipulatingdata.html#manipulatingdata-querying;
;Aggregates;aggregate functions are avg(...), sum(...), min(...), max(...), count(*), count(...), count(distinct ...), count(all...);http://www.hibernate.org/hib_docs/reference/en/html/queryhql.html#queryhql-aggregation;
;batch;Batch fetching is the ability to fetch the entire result set from an SQL query in one call, as opposed to iterating through the result set using row-oriented methods;http://www.unix.org.ua/orelly/linux/dbi/ch05_06.htm#ch05-ch05.new_batch_0;atomic
;Prepared queries;The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed.;http://de.php.net/manual/de/function.pdo-prepare.php;

ExTracTing

, , ,

<?php

$lines = file('http://www.symfony-project.com/trac/timeline?'.
  'from=04%2F09%2F06&daysback=365&changeset=on&update=Update');

foreach ($lines as $k => $line){
  if(strpos($line, 'h2') === false) unset($lines[$k]);
}//end forezch lines

$data = array();
foreach ($lines as $line){
  $tmp=''; $date = ''; $time = ''; $changeset = ''; $_changeset = false; $author = ''; $_author = false;
  $dom = new domDocument;
  $dom->loadHTML($line);
  $h2 = $dom->getElementsByTagName('h2');
  $date = substr($h2->item(0)->nodeValue,0,8);
  $dts = $dom->getElementsByTagName('dt');
  if($dts){
    preg_match_all('#\[(.*)\]#', $dts->item(0)->nodeValue,$_changeset);
    if($_changeset) $changeset = $_changeset[1];
    preg_match_all('#by (.+)$#', $dts->item(0)->nodeValue, $_author);
    if($_author) $author = $_author[1];
    foreach ($dts as $dt){
      $spans = $dt->getElementsByTagName('span');
      $time = $spans->item(0)->nodeValue;
      //collect the data in an array
      $data[] = array('changeset' => $changeset[0], 'author' => $author[0], 'unixtime' => strtotime("$date $time"));
    }//end foreach
  }//end if
}//end foreach

die(var_dump($data));

?>

Nested sets in MySQL

Just found that article which holds most of the queries imaginable:

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

Mass-renaming MySQL tables with simple bash scripting

,

I found out more about stripping from bash variables at IBM's developerworks, written by Daniel Robbins.

~ $ mysql espressopunkt --exec "SHOW TABLES;" > tables.txt #CAVEAT: Rremove additional line at top. THere's probably an automated way for that but this post already tales longer than the task, so why bother...
~ $ for t in `cat tables.txt`;do echo $t;_t=${t#kaffeeweb_};echo $_t;mysql espressopunkt_dev --exec "ALTER TABLE $t RENAME $_t";done

Joomla’s Project Director Talks 1.1

(alterslash emulation edition)
- by Zonk (38% noise) View Skip
daria42 writes “It’s been a hectic six months for the Joomla open-source CMS since its split from the Mambo project, but according to this interview with project director Andrew Eddie there are even faster times ahead. Next week Joomla will make its formal debut at LinuxWorld Expo in Boston, with the milestone Joomla 1.1 release due towards the end of April. As Mambo and Joomla continue to diverge, Eddie says, users and developers will be forced to declare their colours and pick one or the other for production sites.”

Flurbal - by courtarro (Score: 5, Funny) Thread
When Smilnar director James Smith presented at the annual HARVL conference, he introduced that the Smilnar project would be joining the Yarbel group to create a new product code-named “Woolpun”. Critics of the merger cite problems with Smilnar’s compatibility problems with other Romolad systems, but Smith had some choice words for them: “Stewfoo”


Re:Flurbal - by Cheerio Boy (Score: 3, Funny) Thread
Dead Monkeys are to split up again, according to their manager, Lefty Goldblatt. They’ve been in the business now ten years, nine as other groups. Originally the Dead Salmon, they became for a while, Trout. Then Fried Trout, then Poached Trout In A White Wine Sauce, and finally, Herring. Splitting up for nearly a month, the re-formed as Red Herring, which became Dead Herring for a while, and then Dead Loss, which reflected the current state of the group. Splitting up again to get their heads together, they reformed a fortnight later as Heads Together, a tight little name which lasted them through a difficult period when their drummer was suspected of suffering from death. It turned out to be only a rumor and they became Dead Together, then Dead Gear, which lead to Dead Donkeys, Lead Donkeys, and the inevitable split up. After nearly ten days, they reformed again as Sole Manier, then Dead Sole, Rock Cod, Turbot, Haddock, White Baith, the Places, Fish, Bream, Mackerel, Salmon, Poached Salmon, Poached Salmon In A White Wine Sauce, Salmon-monia, and Helen Shapiro. This last name, their favorite, had to be dropped following an injunction and they split up again. When they reformed after a recordbreaking two days, they ditched the fishy references and became Dead Monkeys, a name which they stuck with for the rest of their careers. Now, a fortnight later, they’ve finally split up.

Linksys WRT54G with OpenWrt White Russian rc4

The best documentation is the OpenWrtNVRAM entry in the Wiki.

OpenWrt has a web interface now. Useful despite a painless screen installation, e.g. when I want my brothers to change pppoe settings.

A OpenWrt Package Repository Tracker is available at ipkg.be.

root@bridge:~# ipkg list_installed
base-files - 5 - OpenWrt filesystem structure and scripts
base-files-brcm - 2 - Board/architecture specific files
bridge - 1.0.6-1 - Ethernet bridging tools
busybox - 1.00-3 - Core utilities for embedded Linux systems
dnsmasq - 2.22-2 - A lightweight DNS and DHCP server
dropbear - 0.45-4 - a small SSH 2 server/client designed for small memory environments.
haserl - 0.8.0-1 - a CGI wrapper to embed shell scripts in HTML documents
ipkg - 0.99.149-2 - lightweight package management system
iptables - 1.3.3-1 - The netfilter firewalling software for IPv4
kernel - 2.4.30-brcm-2 - 
kmod-brcm-et - 2.4.30-brcm-2 - Proprietary driver for Broadcom Ethernet chipsets
kmod-brcm-wl - 2.4.30-brcm-2 - Proprietary driver for Broadcom Wireless chipsets
kmod-diag - 2.4.30-brcm-2 - Driver for Router LEDs and Buttons
kmod-ppp - 2.4.30-brcm-2 - PPP support
kmod-pppoe - 2.4.30-brcm-2 - PPP over Ethernet support
kmod-shfs - 2.4.30brcm+0.35-2 - SHell FileSystem Linux kernel module
kmod-wlcompat - 2.4.30-brcm-3 - Compatibility module for using the Wireless Extension with broadcom's wl
libgcc - 3.4.4-5 - GCC support library
libncurses - 5.2-7 - a terminal handling library and common terminal definitions
libpopt - 1.7-4 - a command line option parsing library
mtd - 3 - Tool for modifying the flash chip
nvram - 1 - NVRAM utility and libraries for Broadcom hardware
ppp - 2.4.3-7 - a PPP (Point-to-Point Protocol) daemon (with MPPE/MPPC support)
ppp-mod-pppoe - 2.4.3-7 - a PPPoE (PPP over Ethernet) plugin for PPP
rsync - 2.6.5-0 - utility that provides fast incremental file transfer
screen - 4.0.2-1 - A 'window manager' for the terminal session
shfs-utils - 0.35-2 - SHell FileSystem Linux mount/umount utilities
uclibc - 0.9.27-5 - Standard C library for embedded Linux systems
webif - 0.01-1 - A modular, extensible web interface for OpenWrt.
wificonf - 5 - Replacement utility for wlconf
wireless-tools - 28.pre7-1 - Tools for setting up WiFi cards using the Wireless Extension
zlib - 1.2.2-2 - an implementation of the deflate compression method (library)
Successfully terminated.
root@bridge:~# 
\[                crontab           false             ifdown            klogd             mtd               reset             sync              uname 
arping            cut               fgrep             ifup              length            mv                rm                sysctl            uniq 
ash               date              find              ifup.pppoe        ln                nc                rmdir             syslogd           uptime 
awk               dbclient          firstboot         init              logger            netstat           rmmod             tail              vconfig 
basename          dd                free              insmod            login             nslookup          route             tar               vi 
brctl             df                grep              ipcalc            logread           nvram             rsync             tee               wc 
bunzip2           dirname           gunzip            ipkg              ls                passwd            scp               telnet            wget 
busybox           dmesg             gzip              iptables          lsmod             pidof             screen            telnetd           which 
bzcat             dnsmasq           halt              iwconfig          md5sum            ping              sed               test              wifi 
cat               dropbear          haserl            iwgetid           mesg              ping6             seq               time              xargs 
chgrp             dropbearconvert   head              iwlist            mkdir             pivot_root        sh                top               yes 
chmod             dropbearkey       hexdump           iwpriv            mkfifo            pppd              shfsmount         touch             zcat 
chown             du                hostid            iwspy             mktemp            printf            shfsumount        tr 
chroot            echo              hotplug           jffs2root         more              ps                sleep             traceroute 
clear             egrep             httpd             kill              mount             pwd               sort              true 
cp                env               id                killall           mount.shfs        rdate             ssh               udhcpc 
crond             expr              ifconfig          killall5          mount_root        reboot            strings           umount 
root@bridge:~# 

MySQL: Updating with subqueries in v4.1+

The subquery may only return one result, that's why there is the WHERE-contraint mac.id = mat.machine_id. I tested the subquery without that additional WHERE clause to verify all results at once.

UPDATE kaffeeweb_machine mac SET ebay_current_qty = (
SELECT COUNT(*)
FROM kaffeeweb_eBay_matches_machine mat
JOIN kaffeeweb_eBay_GetSearchResultsResponse sr ON mat.output_id = sr.ItemId
WHERE sr.listingdetails_endtime > NOW() AND
mac.id = mat.machine_id
GROUP BY mat.machine_id
)


Even multiple JOINs work:

UPDATE kaffeeweb_manufacturer man SET ebay_current_qty = (
 SELECT COUNT(*)
 FROM kaffeeweb_machine mac
 JOIN kaffeeweb_eBay_matches_machine mat ON mac.id = mat.machine_id
 JOIN kaffeeweb_eBay_GetSearchResultsResponse sr ON mat.output_id = sr.ItemId
 WHERE sr.listingdetails_endtime > NOW()
 AND mac.manufacturer_id = man.id
 GROUP BY mac.manufacturer_id
)

Sorting in MySQL similar to PHP's natsort()

mysql> select DISTINCT(Country) as c from kaffeeweb_eBay_output ORDER BY c desc;
+------+
| c    |
+------+
| 77   |
| 71   |
| 45   |
| 3    |
| 2    |
| 19   |
| 16   |
| 15   |
| 14   |
| 10   |
| 1    |
+------+
11 rows in set (0.01 sec)


But:

mysql> select DISTINCT(Country) as c from kaffeeweb_eBay_output ORDER BY [URL=http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html]CAST[/URL](Country as signed integer) desc;
+------+
| c    |
+------+
| 77   |
| 71   |
| 45   |
| 19   |
| 16   |
| 15   |
| 14   |
| 10   |
| 3    |
| 2    |
| 1    |
+------+
11 rows in set (0.02 sec)

bash.org: through the window of a Sony office

,

Die reinigende Kraft des Homurs, durch den man unliebsame Situationen "beherrschen" kann:
The expurgatory power of humor enabnling one to "master" disagreeable situations:

http://bash.org/?577451

#577451 +(4750)- [X]

<DmncAtrny> I will write on a huge cement block "BY ACCEPTING THIS BRICK THROUGH YOUR WINDOW, YOU ACCEPT IT AS IS AND AGREE TO MY DISCLAIMER OF ALL WARRANTIES, EXPRESS OR IMPLIED, AS WELL AS DISCLAIMERS OF ALL LIABILITY, DIRECT, INDIRECT, CONSEQUENTIAL OR INCIDENTAL, THAT MAY ARISE FROM THE INSTALLATION OF THIS BRICK INTO YOUR BUILDING."
<DmncAtrny> And then hurl it through the window of a Sony officer
<DmncAtrny> and run like hell

Archiving eBay auctions with wget, input from textfile parsed with awk

, , , ...

#!/bin/bash
awk -F"\t" '

  function makeEasyAccess()
  {
    system("mv " $1 "/cgi.ebay.de/ws/*html " $1 "/cgi.ebay.de/ws/index.html")
    system("sed s~##path##~cgi.ebay.de/ws/index.html~ index.html.tpl > " $1 "/index.html")
  }
  function conditionalFetch()
  {
    #http://www.unix.org.ua/orelly/unix/sedawk/ch10_03.htm
    if (system("test -r " $1 )) {
      print "\t not mirrored, fetching..."
      system(command)
      makeEasyAccess()
    }
    else print "\t already mirrored"
  }

  {
  URL="cgi.ebay.de%2Fws%2FeBayISAPI.dll%3FViewItem%26item" "=" $1
  command = ("/usr/bin/wget --quiet -P " $1 " -F -E -H -k -K -p http://" URL)

  if ( $2 !~ /^shop$/ ) {
    ebayEndtime = mktime ( 20 substr($2,7,2) " " substr($2,4,2) " " substr($2,1,2) " " substr($2,10,2) " " substr($2,13,2) " " substr($2,16,2) )
    if ( ebayEndtime < systime()) {
      print $1 ": ebayEndtime is in past"
      conditionalFetch()
    }
    else print $1 ": ebayEndtime is in future"
  }
  else {
    print $1 ": is a shop offer"
    conditionalFetch()
  }
}' Id_Endtime.txt


The input format is a plain tab-delimeted file with the end time in german format. Other formats need to adjust the above line "ebayEndtime = mktime ( 20 substr($2,7,2) " " substr($2,4,2) " " substr($2,1,2) " " substr($2,10,2) " " substr($2,13,2) " " substr($2,16,2) )"

7392197359 26.02.06 23:51:14 MEZ
7391483206 27.02.06 07:46:37 MEZ
7391548097 27.02.06 20:03:00 MEZ
7387433771 28.02.06 21:30:00 MEZ
6607816962 01.03.06 20:45:00 MEZ
7392366671 02.03.06 16:06:06 MEZ
6608401423 06.03.06 20:35:00 MEZ
7326030533 shop
7351499282 shop
7393652292 07.03.06 19:15:00 MEZ

Espresso && water

,

http://www.kaffee-netz.de/board/viewtopic.php?p=48355#48355
isomacker
Posted: 20.05.2005, 17:42
Hallo,

natürlich wirken die in Samen von Coffea arabica (Rubiaceae) enthaltenen Stoffe Coffein und vor allem Theophyllin diuretisch. Durch Blockade der Adenosin-Rezeptoren und intrazellulären cAMP-Anstieg (Phospohodiestease-Hemmung) wird die Nierendurchblutung und Permeabilität der glatten Muskulatur (Gefäße) erhöht. Diese Effekte führen zur gesteigerten Primärharnbildung und verstärkten Diurese. Bei häufiger Aufnahme der genannten Stoffe läßt die Wirksamkeit allerdings schnell nach.
Ich will hier niemanden mit "fachchinesisch" erschlagen, war nur für die Leute die immer alles ganz genau wissen wollen. :O
Meiner Meinung nach hat das Glas Wasser zum Espresso also doppelten Sinn: sorgt für ausreichend Flüssigkeitsnachschub für den Körper und "spült" die Geschmackspapillen.

Weihnachtskarte

From us ("the wishor") to you ("hereinafter called the wishee")

Please accept without obligation, implied or implicit, our best wishes for an environmentally conscious, socially responsible, politically correct, low stress, non-addictive, gender neutral, celebration of the winter solstice holiday, practiced within the mostenjoyable traditions of the religious persuasion of your choice, or secular practices of your choice, with respect for the religious/secular persuasions and/or traditions of others, or their choice not to practice religious or secular traditions at all... and a financially successful, personally fulfilling and medically uncomplicated recognition of the onset of the generally accepted calendar year 2005, but with due respect for the calendars of choice of other cultures or sects, and having regard to the race, creed, colour, age, physical ability, religious faith, choice of computer platform or dietary preference of the wishee.

By accepting this greeting you are bound by these terms that:

* This greeting is subject to further clarification or withdrawal

* This greeting is freely transferable provided that no alteration shall be made to the original greeting and that the proprietary rights of the wishor are acknowledged.

* This greeting implies no promise by the wishor to actually implement any of the wishes.

* This greeting may not be enforceable in certain jurisdictions and/or the restrictions herein may not be binding upon certain wishees in certain jurisdictions and is revocable at the sole discretion of the wishor.

* This greeting is warranted to perform as reasonably may be expected within the usual application of good tidings, for a period of one year or until the issuance of a subsequent holiday greeting, whichever comes first.

* The wishor warrants this greeting only for the limited replacement of this wish or issuance of a new wish at the sole discretion of the wishor

* Any references in this greeting to festive figures, whether actual or fictitious, dead or alive, shall not imply any endorsement by or from them in respect of this greeting, and all proprietary rights in any referenced third party names and images are hereby acknowledged.

Vim, PHP and symfony

, , ,

Exporting syntax-highlighted files from vim to HTML

,

#http://www.pro-linux.de/news/2002/4799.html
:let html_number_lines = 1
:let html_use_css = 1
:runtime! syntax/2html.vim

Extending control over phpBB

, , , ...

If I happen to frequent a forum, based on phpBB, I am a guest and visitor, and I behave accordingly. And I am in the realm of some other webmaster. That does by no means imply that I have to go d'accord with his decision about how that board should look like.

In this case, it is a phpBB installation at http://www.kaffee-netz.com/board . I *really* dislike the gay color scheme and I think the intention (to match a coffee-related color) was not exactly put into code to deserve the word "succesful". And I use Opera...

A simple addition to an otherwise virgin opera6.ini as following gives me two more user-mode stylesheets:

Name 12=SubSilver
File 12=C:\Documents and Settings\cpr\Application Data\Opera\Opera\profile\styles_cpr\subSilver.css
Name 13=Sub Silver Mod cpr 4 kaffeboard
File 13=C:\Documents and Settings\cpr\Application Data\Opera\Opera\profile\styles_cpr\cprSubSilver.css
Active 12=0


As the filenames say, the first addition is the standard SubSilver color scheme that I got by downloading a fresh version of the phpBB sourcecode and the second my modification as posted below.

Together with teh hackish power of privoxy, a "filtering proxy server" I get just about the amount of control I like to excercise over that phpBB. Some regular expressions nuke the ugly standard buttons and replace them with a text link, the Google "user" ad-spam is send to a virtual /dev/null and the *embedded* (sic!) css definitions are prevented to be transferred with each request from my browser, too:

s|&lt;tr&gt;(\n\s*&lt;td.*Google.*&lt;/td&gt;\n.*&lt;table.*)|&lt;tr id=&quot;googlead&quot; style=&quot;display: none;&quot;&gt;$1|Ugm
s|&lt;img src=&quot;http://www.kaffee-netz.com/images/logo.gif&quot; width=&quot;524&quot; 
height=&quot;64&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;||U
s|&lt;!--\sNeuer\sKopf.*Kopf\sEnde --&gt;||usx
s|&lt;style\stype=&quot;text/css.*&lt;/style&gt;||usx
s|&lt;span\sclass=&quot;gensmall&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br\s/&gt;\n\s*&amp;nbsp;\s&lt;/span&gt;||
s@&lt;img\ssrc=&quot;templates/subSilver/images/icon_mini_(faq|search|members|groups|register|profile|message|login).gif&quot;.*/&gt;@@Ug
s@&lt;img\ssrc=&quot;templates/subSilver/images/(folder.*|whosonline).gif&quot;.*/&gt;@@Ug
s@&lt;a\shref=(.*)&lt;img\ssrc=&quot;templates/subSilver/images/lang_german/(reply|post|icon_quote|icon_pm|icon_profile).gif&quot;.*/&gt;&lt;/a&gt;@&lt;span 
class=&quot;myButtonReplace&quot;&gt;[ &lt;a href=$1$2&lt;/a&gt; ]&lt;/span&gt;@Ug


Some of my own class attributes are set for HTML elements that did not have any trigger, and I style the page to mu liking with this:

cprSubSilver.css

Now all I need is to press <Shift><g> and I get a much nicer appearance! *g*



To watch a screencast of all mentioned funcionalites download this .avi file.

MySQL backups

,

mysqldump --opt -u user -p database [table] | gzip -c > db[_table].sql.tar.gz

gunzip -c db[_table].sql.tar.gz | mysql -u user -p database

An IRC log bot with MySQL and flat-file fallback

, , , ...

A bit hackish, but working.

Usage: ~$ php path/to/followingFile.php

<?php
/**
 * An IRC logbot based on PEAR::NET_SmartIRC
 *
 * Logs an IRC channel to a MySQL database, triggered by "ActionHandler"s
 * as implemented in SmartIRC.
 *
 * ActionHandler values are defined in Net_SmartIRC/SmartIRC/defines.php
 * Normal conversation can be caught by SMARTIRC_TYPE_CHANNEL,
 * a /me is a SMARTIRC_TYPE_ACTION
 *
 * There is currently no logging for joins/quits/etc.
 *
 * This script has been written on a server with PHP Version 4.4.0-4
 * and a MySQL server version 4.1.15
 *
 * @author Chris Prior <public@prior-i.de>
 *
 */

//include the pear class (doesn't need an include_path for that dir)
include_once('php/Net/SmartIRC.php');

class irclogbot extends Net_SmartIRC
{
  var $hasDbConn=false;
  var $mysql_host='localhost';
  var $mysql_user='cpr';
  var $mysql_password='pass';
  var $mysql_db='irc';
  var $mysql_table='irc_log_test';
  var $log_obj;
  var $stats_obj;
  var $loggables=array('nick','ident','host','type','from','channel','message');
  var $logfileIfMysqlError='errorMysqlINSERT.log';

  //function irclogbot(&$log_obj,&$stats_obj2){
  //}

  /*
   * overwriting existing function
   */
  function _nicknameinuse()
  {   
      $newnickname = $this->_nick.'_';
      $this->changeNick($newnickname, SMARTIRC_CRITICAL);
      $this->_register();
  }

  //unused
  function _register()
  {   
      $this->_send('/msg NickServ IDENTIFY sdcy0', SMARTIRC_CRITICAL);
  }

  /*
   * Basic MySQL auth
   */
  function connect_database()
  {
      $link = @mysql_connect($this->mysql_host, $this->mysql_user, $this->mysql_password)
         or die("Keine Verbindung möglich: " . mysql_error());
      $this->hasDbConn = @mysql_select_db("cpr") or die("db select failed.");
  }

  /*
   * the workhorse logging method
   *
   * Checks for content of $data-> object as returned from PEAR class,
   * constructs a SQL statement and inserts with connection check
   *
   * Outputs some stuff to stdout
   * Don't confuse the 2 stdout sources: parent::setDebug also does it!
   *
   * never change the methodname to 'log', incompatible to the PEAR class!
   *
   */
  function my_log(&$irc='',&$data='')
  {
    $doit=true;
    //quick hack to filter out server msg marked S*_TYPE_CHANNEL
    foreach($this->loggables as $v){
      if (!isset($data->$v)) $doit=false;
      //else echo "$v has " . $data->$v."\n"; //debug
    }
    if($doit){
      //there is an 'ACTION' prefix for the message, I strip it.
      //To recognize a type `action` I still have the value 256 in the col `type`
      if(256==$data->type) {
        $data->message = substr($data->message,8);
        $data->message = substr($data->message,0,strlen($data->message)-1);
        }//end if type 256 == action
      /**
       * The following does not work if there is no db link,
       * so I use mysql_real_escape_string selectively.
       * This leaves the error log unescaped!!!
       *
      */
      //split for original debugging as above, could be merged into one foreach
      foreach($this->loggables as $v) {
        //http://php.net/manual/en/function.stripslashes.php#51390
        if (get_magic_quotes_gpc())
          $data->$v = stripslashes($data->$v);
        //can't use it on the ready query as it would return 
        // *VALUES '\'myNickName\',*
        if(!is_numeric($data->$v) AND $this->hasDbConn ) 
          $data->$v = @mysql_real_escape_string($data->$v);
      }
    }//end if $doit
    //no linebreaks or mysql_real_escape_string breaks the statement!
    $sql = sprintf("INSERT INTO %s "
      . "(`nick`, `ident`, `host`, `type`, `from`, `channel`, `message` ) "
      . " VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s');",
      $this->mysql_table,
      $data->nick,
      $data->ident,
      $data->host,
      $data->type,
      $data->from,
      $data->channel,
      $data->message
    );
    //echos to stdout
    echo $sql;

    /**
     * Now we are fighting hard to preserve the log
     */
    //the mysql INSERT query
    if(!$this->hasDbConn){
      $irc->connect_database();
      if(!$this->hasDbConn){
        $this->logInsertIfMysqlError($sql);
      }
    }
    //new if, not elseif, so a success above triggers
    if($this->hasDbConn == true AND $doit)
    {
      //echo "hasDbConn\n";
      $result = @mysql_query($sql);
      if (!$result) {
        echo('invalid query: ' . mysql_error());
        $this->logInsertIfMysqlError($sql);
      }
    }//end if hasDbConn*
    else {
      $this->logInsertIfMysqlError($sql);
      echo "\n WARNING! Has no DB connection! WARNING!\n";
    }
    echo "\n\n";
  }

  /**
   * Fallback if no MySQL conn
   *
   * I got an 'invalid query: MySQL server has gone away' after long a silence.
   * This is to preserve the INSERT statements for later addition to the db.
   */
  function logInsertIfMysqlError($content){

    echo "Trying to log into error logfile ".$this->logfileIfMysqlError."\n";
    if(!file_exists($this->logfileIfMysqlError)){
      if (touch($this->logfileIfMysqlError) === false){
        echo "cannot touch the non-existing file!"."\n";
        continue;
      }
    }
    if (!is_writable($this->logfileIfMysqlError)) {
       if (!chmod($this->logfileIfMysqlError, 0666)) {
         echo "Cannot change the mode of file ($this->logfileIfMysqlError)"."\n";
         continue;
       };
     }
     if (!$fp = @fopen($this->logfileIfMysqlError, "a")) {
       echo "Cannot open file ($this->logfileIfMysqlError)"."\n";
       continue;
     }
     if (fwrite($fp, $content."\n") === FALSE) {
       echo "Cannot write to file ($this->logfileIfMysqlError)"."\n";
       continue;
     } 
     else echo "ERROR LOGGED! Wrote into ".$this->logfileIfMysqlError."\n";
     if (!fclose($fp)) {
       echo "Cannot close file ($this->logfileIfMysqlError)"."\n";
       continue;
     }
      
  }//end function

  /**
   * Calling this at startup might catch the worst scenario and
   * renders the above logInsertIfMysqlError($str) useless in many respects
   */
  function testForErrorLogfile(){
     if (!$fp = @fopen($this->logfileIfMysqlError, "a")) {
       echo "Cannot open file ($this->logfileIfMysqlError)"."\n";
       exit;
     }
  }//end function

  //doesn't work as expected, but I don't care
  function my_quit(&$this, &$ircdata)
  {
    echo 'FooBar';
    $this->quit("The Bot sfLog has quit.");
  }

}//end class ######################################

$irc = &new irclogbot();
$irc->testForErrorLogfile();
//$irc->connect_database();

//pear/Net_SmartIRC/SmartIRC/defines.php
$irc->setDebug(SMARTIRC_DEBUG_NOTICE|SMARTIRC_DEBUG_CONNECTION|SMARTIRC_TYPE_ACTION|SMARTIRC_TYPE_CHANNEL);
$irc->setUseSockets(TRUE);
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, '^sfLog: !quit', $irc, 'my_quit');

//pear/Net_SmartIRC/SmartIRC/defines.php
//SMARTIRC_TYPE_CHANNEL is defined as `2` and this gets inserted into the db
//never change the methodname to 'log', as it is incompatible to the PEAR class
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, '^.?', $irc, 'my_log');

//type channel does not catch /me et al.
$irc->registerActionhandler(SMARTIRC_TYPE_ACTION, '^.?', $irc, 'my_log');

$irc->connect('irc.freenode.de', 6667);

//Usage: login(nick, realname, usermode, username, password);
$irc->login('nick', 'Chris Prior', 8, 'nick','pass');

$irc->join(array('#test'));
$irc->listen();
$irc->disconnect();
?>


So you need the sql schema? Here it is:

DROP TABLE IF EXISTS `irc_log`;
CREATE TABLE IF NOT EXISTS `irc_log` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `datetime` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `nick` varchar(32) NOT NULL default '',
  `ident` varchar(64) NOT NULL default '',
  `host` varchar(254) NOT NULL default '',
  `type` varchar(4) NOT NULL default '',
  `from` varchar(254) NOT NULL default '',
  `channel` varchar(32) NOT NULL default '',
  `message` text NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `nick_msg` (`nick`,`message`)
)DEFAULT CHARSET=utf8;

Re:Modern web programmers have moved elsewhere (Score:1, Insightful)

, ,

Re:Modern web programmers have moved elsewhere (Score:1, Insightful)
by Anonymous Coward on Sunday January 22, @07:20PM (#14535235)
When your app isn't just a simple CRUD tool, your perception of RoR may change. To replicate the functionality of my PHP app, I would end up with almost as much code as I already have. And for that small benefit I would be locking my employer into a still-rare language. Listening to RoR zealots, you'd think that it takes a year to build a web form by hand. Web apps took off because they were simple, people...the only difference now is that we have people screaming that everything needs to be OO and not reusing code wherever possible is blasphemy. First the "real" programmers ignored web apps, then they ridiculed them, and now they're fighting them with rotten frameworks that don't do what we need. Web apps of the simple sort that have made the web what it is have already won; the zealots just haven't realized that yet.

[ http://it.slashdot.org/comments.pl?sid=174726&cid=14535235 ]

#symfony: RoVeRT: DB structure and sample info for I18N

,

http://symfony.pastebin.com/517490

Posted by RoVeRT on Sun 22nd Jan 14:51 (modification of posting from RoVeRT show diff)
diff | download | new post
# Table structure for table `catalogue`
#

CREATE TABLE `catalogue` (
`cat_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL DEFAULT '',
`source_lang` varchar(100) NOT NULL DEFAULT '',
`target_lang` varchar(100) NOT NULL DEFAULT '',
`date_created` int(11) NOT NULL DEFAULT '0',
`date_modified` int(11) NOT NULL DEFAULT '0',
`author` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`cat_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;

#
# Dumping data for table `catalogue`
#

INSERT INTO `catalogue` VALUES (1, 'messages', '', '', 0, 0, '');
INSERT INTO `catalogue` VALUES (2, 'messages.en', '', '', 0, 0, '');
INSERT INTO `catalogue` VALUES (3, 'messages.en_AU', '', '', 0, 0, '');

# --------------------------------------------------------

#
# Table structure for table `trans_unit`
#

CREATE TABLE `trans_unit` (
`msg_id` int(11) NOT NULL AUTO_INCREMENT,
`cat_id` int(11) NOT NULL DEFAULT '1',
`id` varchar(255) NOT NULL DEFAULT '',
`source` text NOT NULL,
`target` text NOT NULL,
`comments` text NOT NULL,
`date_added` int(11) NOT NULL DEFAULT '0',
`date_modified` int(11) NOT NULL DEFAULT '0',
`author` varchar(255) NOT NULL DEFAULT '',
`translated` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`msg_id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

#
# Dumping data for table `trans_unit`
#

INSERT INTO `trans_unit` VALUES (1, 1, '1', 'Hello', 'Hello World', '', 0, 0, '', 1);
INSERT INTO `trans_unit` VALUES (2, 2, '', 'Hello', 'Hello :smile:', '', 0, 0, '', 0);
INSERT INTO `trans_unit` VALUES (3, 1, '1', 'Welcome', 'Welcome', '', 0, 0, '', 0);
INSERT INTO `trans_unit` VALUES (4, 3, '', 'Hello', 'G\'day Mate!', '', 0, 0, '', 0);
INSERT INTO `trans_unit` VALUES (5, 3, '', 'Welcome', 'Welcome Mate!', '', 0, 0, '', 0);

shell script via Apache/PHP

, , , ...

NOPASSWD: /bin/sh, /path/to/script.sh
script.sh chmod 6755

cpr.in-berlin.de/happyNewYear.php

, ,

Dec 31 10:21 am@@@de_DE@@@Frohes neues Jahr!@@@cprior
Dec 31 10:21 am@@@fr_FR@@@Bonne année!@@@Wohali
Dec 31 10:21 am@@@ja_JP@@@oshogatsu omedetou@@@Wohali
Dec 31 10:22 am@@@ru_RU@@@S Novim godom! =]@@@Stalwart
Dec 31 10:22 am@@@eo_EO@@@felicxigan novan jaron!@@@mateo
Dec 31 10:22 am@@@lv_LV@@@Laimigu Jauno gadu!@@@Stalwart
Dec 31 10:23 am@@@ch_DE@@@Es guets nöis!@@@Jax
Dec 31 10:23 am@@@en_AU@@@ava bonza new year!@@@mateo
Dec 31 10:23 am@@@sv_SE@@@Gott Nytt År! =D@@@nocturnal
Dec 31 10:24 am@@@elmer_fudd@@@happy new yeaw!@@@Wohali
Dec 31 10:25 am@@@swedish_chef@@@heppy noo yeer!@@@Wohali
Dec 31 12:18 pm@@@cm_CM@@@blwyddyn newydd dda@@@juckes
Dec 31 1:05 pm@@@en_GB@@@Happy new year!@@@Jibbler
Dec 31 1:05 pm@@@es_ES@@@feliz ano nuevo!@@@numist
Dec 31 1:06 pm@@@fi_FI@@@Hyvää uutta vuotta!@@@janne_oksanen
Dec 31 2:11 pm@@@no_NO@@@God Nytt År@@@Cippo
Dec 31 2:12 pm@@@da_DK@@@Godt nytår@@@stelki
Dec 31 2:17 pm@@@sv_SE@@@buorre eahket@@@nocturnal
Dec 31 2:22 pm@@@be_NL@@@Gelukkig Nieuwjaar@@@roel
Dec 31 4:40 pm@@@nl_NL@@@Gelukkig nieuwjaar!@@@empoor
Dec 31 4:44 pm@@@zh_CN@@@新年好@@@Nirgal
Dec 31 4:45 pm@@@en_C++@@@year++; this.assign(happy);@@@mur
Dec 31 4:47 pm@@@en_CPP@@@year.increase(); this.assign(emotion.happy.get());@@@mur
Dec 31 4:48 pm@@@es_AR@@@feliz año nuevo!@@@StyXman
Dec 31 4:50 pm@@@en_DADAISM@@@True old rotten banana!@@@mur
Dec 31 4:51 pm@@@en_bash@@@if [ $YEAR == "2006" ]; then $HAPPY = "True"; else $YEAR = "2006"; fi@@@Warlord96
Dec 31 6:50 pm@@@blah_blah@@@padfjajkfbshk fuoasdhf wfhas@@@encoded
Dec 31 6:50 pm@@@pt_BR@@@Feliz ano novo!@@@paul0
Dec 31 6:51 pm@@@ie_IE@@@Bliain Mhaith Úr.@@@decibelle
Dec 31 6:52 pm@@@eo_EO@@@Feliĉan Novjaron!@@@mateo
Dec 31 6:52 pm@@@hi_IN@@@नव वर्ष की शुभकामनाए@@@shastry
Dec 31 6:53 pm@@@hny_hny@@@HNY!@@@phaeton
Dec 31 6:58 pm@@@bear_FI@@@murr murrr murr!@@@mur
Dec 31 6:58 pm@@@bear_EN@@@groarrrr groarrr!@@@mur
Dec 31 7:06 pm@@@he_IL@@@Shana tova! (transliterated) (wrong time of year for this) (oh well) :)@@@decibelle
Dec 31 7:07 pm@@@en_rot13@@@Unccl arj lrne, sbyxf!@@@Wohali
Dec 31 7:08 pm@@@en_morse@@@.... .- .--. .--. -.-- / -. . .-- / -.-- . .- .-. --..-- / ... ..- -.-. -.- . .-. ...@@@Wohali
Dec 31 7:08 pm@@@ba_BA@@@Sretna nova godina@@@daBlade
Dec 31 7:08 pm@@@fi_binary@@@01001 00001 11100 10111 01101 11001 00111 00100 00100 00001 11010 10111 01010 11101 00011 10100 01100 00100 10000 00111 01100 11101 01011 01111 01110 10001 11010 00110 00010 01000 01@@@mur
Dec 31 7:09 pm@@@en_C@@@printf("Happy New Year!")@@@mur
Dec 31 7:10 pm@@@vl_vl@@@Seveh uzh tevun!@@@Wohali
Dec 31 7:10 pm@@@en_BASIC@@@10 PRINT "happy new year!"@@@mur
Dec 31 7:10 pm@@@en_pig@@@appyhay ewnay earyay!@@@Peter
Dec 31 7:11 pm@@@en_base64@@@aGFwcHkgbmV3IHllYXJzIQ==@@@nforbes
Dec 31 7:11 pm@@@en_morse@@@. . . . . _ . _ _ . . _ _ . _ . _ _ _ . . . _ _ _ . _ _ . . _ . _ .@@@Peter
Dec 31 7:11 pm@@@en_B1FF@@@H4PPY |\|3\/\/ Y34R@@@Wohali
Dec 31 7:12 pm@@@en_depressive@@@new year's eve sucks@@@ankon
Dec 31 7:17 pm@@@kn_IN@@@ಹೊಸ ವರ್ಷದ ಶುಭಾಶಯಗಳು @@@shastry
Dec 31 7:18 pm@@@en_php@@@echo ('Happy New Years!');@@@spyro_boy
Dec 31 7:18 pm@@@en_ruby@@@puts 'Happy New Years!'@@@nforbes
Dec 31 7:19 pm@@@he_IL@@@שנה טובה @@@decibelle
Dec 31 7:20 pm@@@en_leet@@@/-/4/>/>`/ /\/3\/\/ `/34/25 @@@spyro_boy
Dec 31 7:22 pm@@@es_efe@@@Fefelifiz Afañofo Nuefevofo! @@@alvarezp
Dec 31 7:23 pm@@@en_Shareware@@@Welcome to New Year 2006! Register now for extra features like *Happy* New Year and future upgrades to New Year 2007! @@@phaeathon
Dec 31 7:23 pm@@@en_Pirate@@@Yarrrr me hearties! Have a happy new year! Avast me swines! @@@Peter
Dec 31 7:24 pm@@@en_gangsta@@@Yo bro! Happy Fucking New Years! @@@spyro_boy
Dec 31 7:24 pm@@@sheep_en@@@meeh meeeh meh! @@@Peter
Dec 31 7:24 pm@@@fi_perkele@@@Perkele saatanan hyvää vuotta! @@@mur
Dec 31 7:25 pm@@@en_explosives@@@*BOOM* @@@ankon
Dec 31 7:26 pm@@@ro_RO@@@An Nou Fericit! La multi ani !! @@@reallove
Dec 31 7:26 pm@@@en_godfather@@@Happy New Year from La Famiglia. Now, where's ma cigar? @@@spyro_boy
Dec 31 7:27 pm@@@la_LA@@@Laetus novus annus! @@@nforbes
Dec 31 7:28 pm@@@en_MichealJackson@@@I love you all! @@@ankon
Dec 31 7:28 pm@@@en_AOL@@@lolz hny every1 r u gud 2day?? @@@nforbes
Dec 31 7:30 pm@@@en_pessimistic@@@Why bother.. the year wont change anyways... @@@mur
Dec 31 7:32 pm@@@en_slackware@@@clear ; date ; import happy_new_years.jpeg @@@spyro_boy
Dec 31 7:32 pm@@@en_freebsd@@@cd /usr/ports/misc/hny && make install @@@ankon
Dec 31 7:34 pm@@@en_y2k@@@Happy Old Year! @@@alvarezp
Dec 31 7:34 pm@@@en_windows@@@Are you sure you want to change this year 2005 to new year 2006? The action is undoable. @@@mur
Dec 31 7:35 pm@@@en_arcade@@@Game Over! Insert coin to continue @@@ankon
Dec 31 7:35 pm@@@en_vi@@@s/2005/2006/ @@@Peter
Dec 31 7:36 pm@@@en_y-two-k@@@Happy Old Year! @@@alvarezp
Dec 31 7:36 pm@@@en_mother@@@Would you please clean your room? @@@ankon
Dec 31 7:36 pm@@@en_Y2K@@@Happy new year 1806!! @@@mur
Dec 31 7:37 pm@@@en_spam@@@happy new year spam! @@@encoded
Dec 31 7:39 pm@@@en_AOL@@@/nick Sexy-Girl-2006 @@@nforbes
Dec 31 7:54 pm@@@en_warez@@@new.year.party.2006[DVD-RIP[HDTV-LoL]].avi@@@Peter
Dec 31 7:54 pm@@@en_SQL@@@SELECT year FROM century WHERE year > current_year; @@@ankon
Dec 31 7:56 pm@@@en_p2p@@@bathroom_secks_2006_lol_pron_hentai_jap_french.avi @@@spyro_boy
Dec 31 7:58 pm@@@en_PANIC@@@Help! New Year is coming to get me! @@@ankon
Dec 31 7:58 pm@@@en_IRC@@@/set #newyear +happy @@@chaosite
Dec 31 7:59 pm@@@es_mxfresa@@@O sea, feliz año nuevo, güey! @@@alvarezp
Dec 31 7:59 pm@@@en_police@@@Nothing to see here folks @@@ankon
Dec 31 8:00 pm@@@fr_FR@@@bananier et pommes sautées @@@Wohali
Dec 31 8:04 pm@@@en_/.@@@I for one welcome our 2006 time overlords. @@@Madvax
Dec 31 8:05 pm@@@en_netcrafttroll@@@the old year is dead! netcraft confirms it! @@@ankon
Dec 31 8:08 pm@@@en_SandwichSign@@@REPENT! @@@BHSPitMonkey
Dec 31 8:14 pm@@@la_latin@@@Bonum annum ingrediaris @@@Hortensius
Dec 31 8:22 pm@@@de_yiddish@@@ejn gut rosh @@@Hortensius
Dec 31 8:28 pm@@@de_alsacian@@@E glecklichs Nej Johr! @@@Hortensius
Dec 31 8:31 pm@@@il_hebrew@@@leshana tova tikosevu @@@Hortensius
Dec 31 8:35 pm@@@nl_medieval@@@Een goet, salich jaer @@@Hortensius
Dec 31 8:48 pm@@@greek_classical@@@Kalòn étos isélthois @@@Hortensius
Dec 31 8:56 pm@@@ch_romansch@@@Legreivel niev onn @@@Hortensius
Dec 31 8:57 pm@@@ru_votian@@@Yvää uutta vootta! @@@Hortensius
Dec 31 9:13 pm@@@cz_CZ@@@Stastny novy rok! @@@roel
Dec 31 9:18 pm@@@ie_IE(2)@@@Blian nua faoi mhaise duit @@@Hortensius
Dec 31 9:29 pm@@@is_IS@@@Farsælt komandi ár @@@Hortensius
Dec 31 9:39 pm@@@comp_gentoo@@@USE="happiness" emerge year-2006.0_rc1 -va #sic@@@cprior
Dec 31 9:42 pm@@@en_Dick-Clark@@@Hi, I'm Dick Clark, and welcome to New Year's Rockin' Eve' 2006! @@@BHSPitMonkey
Jan 01 12:22 am@@@en_dyslexic@@@Happy new ears!!! @@@mur
Jan 01 12:25 am@@@ie_Irish@@@How about a drink, Patty?@@@BHSPitMonkey
Jan 01 12:33 am@@@jp_haiku@@@And as the year dawns, we hope you a better one, than the one before. @@@BHSPitMonkey
Jan 01 3:59 am@@@us_BushAdm.@@@"While we now admit the decision to have a new year was made on false information, we feel we have made the right choice." @@@BHSPitMonkey
Jan 01 8:22 am@@@de_SN@@@N'Guddes Neus@@@Adridon
Jan 01 8:32 am@@@en_md5@@@3941ba96958a62622fc4c8c2221b6d91 @@@Warlord96
Jan 01 8:32 am@@@en_sha1@@@7d6ce36e9287f8c8339bd10be2440058bc8f5291 @@@Warlord96
Jan 01 8:33 am@@@en_rot13@@@Unccl Arj Lrne @@@Warlord96
Jan 01 8:34 am@@@comp_slackware@@@upgradepkg year-2006-i486-1.tgz @@@Warlord96
Jan 01 8:35 am@@@en_c@@@printf("HAPY NEW YEER!\n"); @@@_phate_
Jan 01 8:35 am@@@en_HTML@@@<h1>Happy New Year!</h1>@@@cprior
Jan 01 8:36 am@@@en_mute@@@. . . @@@Warlord96
Jan 01 8:39 am@@@en_tw3k@@@0c5058810d37a8e005a908aca7747a8c @@@tw3k
Jan 01 8:40 am@@@en_clueless@@@lol wat did i miss teh new year again?????/ @@@Warlord96
Jan 01 8:42 am@@@en_anonymous@@@int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"Happy NewYear!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);} @@@tw3k
Jan 01 8:45 am@@@en_java@@@public class hny2006 { public static void main (String args[]) { System.out.println("Happy New Year"); } } @@@shastry
Jan 01 8:46 am@@@jp_babelfish-kanji@@@けましておめでとう! @@@_phate_
Jan 01 9:58 am@@@en_hangover@@@Nasty bastard, that surgeon! (replacing the tongue with a rabbit overnight) @@@cprior

MySQL table for eBay API

, , ,

DROP TABLE IF EXISTS `eBay_output`;
CREATE TABLE IF NOT EXISTS `eBay_output` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(255) default NULL,
`subtitle` varchar(255) default NULL,
`CurrencyId` char(2) default NULL,
`Country` char(2) default NULL,
`PostalCode` varchar(8) default NULL,
`Link` varchar(255) default NULL,
`CurrentPrice` float default NULL,
`LocalizedCurrentPrice` varchar(32) default NULL,
`BINPrice` varchar(111) default NULL,
`BidCount` int(11) default NULL,
`FeedbackScore` varchar(111) default NULL,
`FeedbackPercent` varchar(111) default NULL,
`StartTime` datetime default NULL,
`EndTime` datetime default NULL,
`BillPointRegistered` varchar(111) default NULL,
`ItemProperties_BoldTitle` varchar(111) default NULL,
`ItemProperties_Featured` varchar(111) default NULL,
`ItemProperties_Gallery` varchar(111) default NULL,
`ItemProperties_GalleryFeatured` varchar(111) default NULL,
`ItemProperties_GalleryURL` varchar(255) default NULL,
`ItemProperties_Picture` varchar(111) default NULL,
`ItemProperties_Highlight` varchar(111) default NULL,
`ItemProperties_Border` varchar(111) default NULL,
`ItemProperties_New` varchar(111) default NULL,
`ItemProperties_BuyitNow` varchar(111) default NULL,
`ItemProperties_IsFixedPrice` varchar(111) default NULL,
`ItemProperties_Type` varchar(111) default NULL,
`ItemProperties_Gift` varchar(111) default NULL,
`ItemProperties_CharityListing` varchar(111) default NULL,
`ItemProperties_MotorsGermanySearchable` varchar(111) default NULL,
`ShippingDetail_ShippingType` varchar(111) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Flashback Dec 99

, , , ...

emerge gvim

, , ,

* To enable UTF-8 viewing, set guifont and guifontwide:
* :set guifont=-misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
* :set guifontwide=-misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
*
* note: to find out which fonts you can use, please read the UTF-8 help:
* :h utf-8
*
* Then, set read encoding to UTF-8:
* :set encoding=utf-8

* To see what's new in this release, use :help version6.txt


* To enable command-line completion for gvim, run:
*
* eselect bashcomp enable gvim

install postgresql on Gentoo

, , ,

emerge postgresql -va
emerge --config =postgresql-8.n.m #(copy in screen)
/e i. post start
su - postgres
createuser -W root

su - #or however to become user ^^
/usr/bin/createdb NewDBName

#From remote:
ssh -L 5432:localhost:5432 remote.example.com
#und dann lokal pgadmin auf localhost verbinden

cvs

,

/etc/init.c/cvsd start

$grep CVSROOT ~/.bashrc
export CVSROOT="/var/lib/cvs/cvsdata"

$cvs import -m "initial import" kaffee cpr start

$cd .. && mv kaffee kaffee.bak

$cvs co kaffee

visudo

,

User_Alias ME = myUserNameOnThisMachine
Cmnd_Alias SU = /usr/bin/su
Cmnd_Alias MOUNT = /bin/mount, /bin/umount
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias HALT = /sbin/halt
Cmnd_Alias REBOOT = /sbin/reboot
Cmnd_Alias NTP = /usr/sbin/ntpdate, /usr/share/ntp, /sbin/hwclock
Cmnd_Alias PORTAGE = /usr/sbin/eix-sync
Defaults env_reset
root ALL=(ALL) ALL
ME ALL = NOPASSWD: SU, NTP, MOUNT, SHUTDOWN, HALT, REBOOT, /home/cpr/bin/, PORTAGE

Rubik links

, ,

session file pictures to gallery-directory

,

Extract links from session file:
sed.exe -n 's/^..\(http.*jpg\)/\1/p' < tamper.win | grep -v google |sort | uniq > tamper.url

process tamper.url (in parent dir)
for f in `cat ../tamper.url`;do echo $f; f2=`../urlencode.php $f`;f3="coffee_tamper_`date --iso-8601`_${f2}";curl $f -o $f2; convert -resize '360x360>' $f2 $f3;cp $f3 /path/to/htdocs/images/ ;done

urlencode.php
cpr@1300:~$ cat urlencode.php
#!/usr/bin/php
<?php
echo urlencode($argv[1]);
?>

milk frothing

,

bis ca 30-37° Ziehen dann Rollen bis ca 55-60° denn das Thermometer ist träge
es sollte nicht über 70° gehen sonst ist der schaum verbrannt
Quelle: unbekannt, verm. kaffee-netz Board

host Namen

, ,

Also @ http://forums.gentoo.org/viewtopic-p-2094307.html#2094307

My homenetwork is called arch.cpr with arch like in architecture/building styles. So consequently my hosts have all names of historical styles.

classicism - a PII laptop
romanesque - an PIII 450 MHz box which "keeps runnin"
cubism - a toy called sparcstation
renaissance - my 2nd computer who also saw the first Linux installation.
victorian - A dual boot laptop given to me as a present by Ian; boots into Windows
italianate - the Gentoo partition on victorian, accessible via CoLinux

mutt colors

color normal black white
color quoted green white
color quoted1 cyan white
color quoted2 green white
color quoted3 cyan white
color indicator white red
color signature blue white
color hdrdefault yellow white
color status white blue
color message white white
color error red white
color body magenta white "(ftp|http)://[^ ]+"
color body magenta white [-a-z_0-9.]+@[-a-z_0-9.]+
color tree magenta white
color tilde magenta white
color markers brightcyan white
color attachment brightmagenta white
color search black green
color underline brightgreen white
color index magenta white '(~n 1-1)'
color index green white '(~n 2-2)'
color index brightblue white '(~s"\[\d4-\d2-\d2\] CVS commit messages")'

autorun scripts in irssi

, ,

~$ ls .irssi/scripts/autorun/
bitlbee_tab_completion.pl chanpeak.pl screen_away.pl
bitlbee_typing_notice.pl grep.pl

ignores

,

{ level = "CTCPS JOINS QUITS NICKS"; channels = ( "#gentoo" ); }

visudo

,

_visudo = {
value = "As root, use `visudo` to edit the sudoers file, e.g. include User_Alias ME = yourUserName# Cmnd_Alias NET = /usr/sbin/tcpdump# ME ALL = NOPASSWD: NET, OTHERCMNDALIASES, /home/user/bin. sudo is part of app-admin/sudo (# being a newline)";
};

stdin into file

, , ,

cat << EOF > filename -- starting typing, and when
you're done, type "EOF" or hit ctrl-d

cut a wav to 3MB size

, ,

head -c$((1024*1024*3)) file.wav > file2.wav

lftp username passwort

, , ,

lftp -u user,pass domain.de/path

SSH tunnel irc email

,

ssh -a -f -x -L 110:localhost:110 -L 6667:irc.server.com:6667 -L \
25:localhost:25 your_mail_server.com

ssh -L 3306:localhost:3306 databaseServer

Acrobat phoning home

, , ,

cd ~/.adobe/Acrobat/7.0/JavaScripts && ln -s /dev/null glob.settings.js

at

,

echo "killall mp3blaster" | at 01:30

beep Alle meine Entchen

beep -f 264 -l 200.0 -n -f 297 -l 200.0 -n -f 330 -l 200.0 -n -f 352 -l 200.0
-n -f 396 -l 400.0 -r 2 -n -f 440 -l 150.0 -r 4 -D 10.0 -n -f 396 -l 400.0 -n
-f 440 -l 150.0 -r 4 -D 10.0 -n -f 396 -l 400.0 -n -f 352 -l 150.0 -r 4 -D
10.0 -n -f 330 -l 200.0 -r 2 -n -f 297 -l 150.0 -r 4 -D 10.0 -n -f 264 -l
400.0

foo bar baz

, ,

(bar, baz, qux, quux, corge, grault, garply,
waldo, fred, plugh, xyzzy, thud)
http://www.faqs.org/rfcs/rfc3092.html

netstat

netstat -pletun

Geekcode

~$ cat geekcode.sig
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GB d+ s: a C+++ UL++++ P L+++ E--- W++ N+ o? K? w
O- M V? Y? PGP++ !tv b+++ DI+ G
------END GEEK CODE BLOCK------

streamripper Deutschlandfunk

, , ,

#!/bin/bash
cd /home/cpr/audio~
streamripper http://62.153.249.30/live_dlf -l 3800
cd Deutschlandfu*/inc*/
dddate=`date --iso-8601=minutes`
mv Deutschlandfu*.mp3 ../../${dddate}_dlf.mp3
pwd
ls

scrambled file mit dd

dd if=/dev/random of=cpr bs=512 count=10

Ctorrent Output

,

How do I check status of my download? 2004-02-01 04:27:56
Once CTorrent starts to download, all you will see is 1 line of status. It's kind of hard to interpret what all the numbers mean, so here's an example:

10, [0/334/331], 6070,9845, | 5004,3984 E:3
10 - Number of connected peers (other people who have the file you are downloading)
0/334/331 - Downloaded/Total/Available pieces of the file. All pieces may not be availabe at all times since peers go offline.
6070,9845 - Average downloadspeed (in bytes/s), Average uploadspeed (in bytes/s)
5004,3984 - Current downloadspeed (in bytes/s), Current uploadspeed (in bytes/s)
E:3 - The tracker has refused connections 3 times.
http://ctorrent.sourceforge.net/?action=faq&id=7

Bin ich ein offenes Relay?

, , ,

telnet relay-test.mail-abuse.org
July 2009
S M T W T F S
June 2009August 2009
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31