AppleTV/AppleTV.md
... ...
@@ -6,7 +6,7 @@ title: AppleTV
6 6
7 7
* Implementation of [MediaCentre.FrontEnd][2]
8 8
9
-Started with Debian running [MythTV][3][?][3] on [AppleTV][1]. After premature upgrade to Lenny, and with dev efforts increasingly focused on Frontrow, moved back to Apple native software plus plugins.
9
+Started with Debian running MythTV on [AppleTV][1]. After premature upgrade to Lenny, and with dev efforts increasingly focused on Frontrow, moved back to Apple native software plus plugins.
10 10
11 11
Switched XBMC on Debian, then OpenElec.
12 12
AppleTV/Frontrow.md
... ...
@@ -14,11 +14,11 @@ title: Frontrow
14 14
15 15
Installed:
16 16
17
-* [NitoTV][34][?][34]
17
+* NitoTV
18 18
* Perian
19
-* [ATVFiles][35][?][35]
19
+* ATVFiles
20 20
* Sapphire
21
-* [VineVNC][36][?][36]
21
+* VineVNC
22 22
* XBMC
23 23
* Boxee
24 24
... ...
@@ -32,7 +32,7 @@ Installed:
32 32
33 33
## Ogg and Flac support
34 34
35
-Need [XiphQT][37][?][37] for ogg and flac support
35
+Need XiphQT for ogg and flac support
36 36
37 37
* <http://xiph.org/quicktime/>
38 38
... ...
@@ -40,13 +40,13 @@ Need [XiphQT][37][?][37] for ogg and flac support
40 40
41 41
## Album Art
42 42
43
-[ATVFiles][35][?][35] looks for folder.jpg (or cover.jpg)
43
+ATVFiles looks for folder.jpg (or cover.jpg)
44 44
45 45
46 46
47 47
## DVD Cover Art
48 48
49
-[ATVFiles][35][?][35] looks for MOVIENAME.jpg
49
+ATVFiles looks for MOVIENAME.jpg
50 50
51 51
52 52
... ...
@@ -54,7 +54,7 @@ Need [XiphQT][37][?][37] for ogg and flac support
54 54
55 55
* <http://wiki.awkwardtv.org/wiki/ATVFiles>
56 56
57
-(Linking part 1of2 and 2of2 together) [ATVFiles][35][?][35] uses the following regex:
57
+(Linking part 1of2 and 2of2 together) ATVFiles uses the following regex:
58 58
59 59
( [ _\\.-]+cd[ _\\.-]*([0-9a-d]+), [ _\\.-]+dvd[ _\\.-]*([0-9a-d]+), [ _\\.-]+part[ _\\.-]*([0-9a-d]+), ()([a-d])(\\....)$ )
60 60
... ...
@@ -124,7 +124,7 @@ Built from source:
124 124
125 125
## Factory Reset
126 126
127
-2008-11-09 - Had to factory reset after problems with [CoreVideo][42][?][42] and a botched copy of /System to /mnt/Scratch/System.
127
+2008-11-09 - Had to factory reset after problems with CoreVideo and a botched copy of /System to /mnt/Scratch/System.
128 128
129 129
Now have a patchstick created by atv-usb-creator
130 130
... ...
@@ -139,7 +139,7 @@ Now have a patchstick created by atv-usb-creator
139 139
140 140
141 141
4. re-Patchstick
142
-5. restore [UserData][43][?][43] library
142
+5. restore UserData library
143 143
6. reinstall [nitoTV Take Two][44]
144 144
$ wget http://nitosoft.com/nitoTVInstaller_tt.zip
145 145
$ unzip nitoTVInstaller_tt.zip
... ...
@@ -149,7 +149,7 @@ Now have a patchstick created by atv-usb-creator
149 149
7. reinstall Perian, kextloader, smbfs
150 150
8. create [SMB startup item][45]
151 151
152
-### [ToDo][46][?][46]
152
+### ToDo
153 153
154 154
1. configure Boxee
155 155
1. Index local media
... ...
@@ -184,14 +184,14 @@ Now have a patchstick created by atv-usb-creator
184 184
185 185
* Installed iPlayer plugin in /Users/frontrow/Library/Application\ Support/XBMC...
186 186
* works, but slowly
187
-* [MythTV][47][?][47] plugin not working
187
+* MythTV plugin not working
188 188
189 189
190 190
191 191
## Subtitle Support
192 192
193 193
* Soft subs supported in 2.2 and 2.3 UI. (2.3 fixed display bugs)
194
-* Mux ttxt to .m4v with [MP4Box][48][?][48], hexedit 's/text/sbtl'
194
+* Mux ttxt to .m4v with MP4Box, hexedit 's/text/sbtl'
195 195
* Can't update to 2.2 or 2.3 yet - Sapphire not yet updated.
196 196
197 197
... ...
@@ -202,7 +202,7 @@ Now have a patchstick created by atv-usb-creator
202 202
203 203
` sudo bash -c 'echo "127.0.0.1 mesu.apple.com" >> /etc/hosts' `
204 204
205
-### Add [MountShares][49][?][49]
205
+### Add MountShares
206 206
207 207
* [http://wiki.awkwardtv.org/wiki/Mount\_a\_Remote\_Drive\_via_SMBFS][50]
208 208
* Run my install/install.sh script
... ...
@@ -256,7 +256,7 @@ Now have a patchstick created by atv-usb-creator
256 256
sudo ./installme
257 257
258 258
259
-* Install perian, mplayer, [SmartInstaller][52][?][52], Kextloader
259
+* Install perian, mplayer, SmartInstaller, Kextloader
260 260
261 261
262 262
AppleTV/Linux.md
... ...
@@ -10,7 +10,7 @@ title: Linux
10 10
* <http://linpvr.org/minimyth/index.shtml>
11 11
* <http://developer.apple.com/technotes/tn2006/tn2166.html> - Apple Tech Note on GPT
12 12
* [Analog audio patch][36]
13
-* [MythTV][37][?][37] LIRC: <http://parker1.co.uk/mythtv_ubuntu2.php>
13
+* MythTV LIRC: <http://parker1.co.uk/mythtv_ubuntu2.php>
14 14
* Minimal Linux: <http://www.minimalinux.org/ttylinux>
15 15
16 16
... ...
@@ -105,7 +105,7 @@ Oops. That loopback partitioning patch never made it into the kernel. So can't d
105 105
4 12.0MB 64.5MB 52.5MB Media
106 106
107 107
108
-In [FreeBSD][39][?][39] this time:
108
+In FreeBSD this time:
109 109
110 110
gpt destroy /dev/da0
111 111
gpt create -f /dev/da0
... ...
@@ -375,7 +375,7 @@ Edit bootloader configuration ([http://www.mythic-beasts.com/resources/appletv/m
375 375
376 376
#### 2007-10-6
377 377
378
-Configure [XvMC][42][?][42]
378
+Configure XvMC
379 379
380 380
* <http://www.mythtv.org/wiki/index.php/XvMC#Configuration>
381 381
... ...
@@ -392,7 +392,7 @@ Cross-compile updated kernel
392 392
393 393
* <http://osdir.com/ml/linux.gcc/2004-02/msg00008.html>
394 394
395
-Cross-Compile an [AppleTV][43] kernel on an [AMD64][44][?][44] and install.
395
+Cross-Compile an [AppleTV][43] kernel on an AMD64 and install.
396 396
397 397
Extract
398 398
... ...
@@ -671,7 +671,7 @@ Run the NVIDIA installer, but do not replace the kernel module installed from th
671 671
672 672
OK, issues with Lenny graphics drivers. So no go. Perhaps I could downgrade again...
673 673
674
-Either way, [MythTV][37][?][37] UI just doesn't cut it, so I'm dumping it and moving to Frontrow plus Plugins...
674
+Either way, MythTV UI just doesn't cut it, so I'm dumping it and moving to Frontrow plus Plugins...
675 675
676 676
677 677
... ...
@@ -891,7 +891,7 @@ Set system-wide TCP connect retries
891 891
## Custom Keymap
892 892
893 893
* Edit ~/.xbmc/userdata/keymaps/[joystick.AppleRemote][49][?][49].xml
894
-* Set fullscreen video plus and minus to [BigStepBack][50][?][50] or [SkipPrevious][51][?][51]
894
+* Set fullscreen video plus and minus to BigStepBack or SkipPrevious
895 895
896 896
897 897
... ...
@@ -1029,7 +1029,7 @@ Dammit, actually it was fine all along! SSH'd in without problems.
1029 1029
1030 1030
1031 1031
1032
-# [OpenELEC][53][?][53]
1032
+# OpenELEC
1033 1033
1034 1034
* Dumped XBMC on Ubuntu after because of freezing on home screen issue
1035 1035
... ...
@@ -1037,7 +1037,7 @@ Dammit, actually it was fine all along! SSH'd in without problems.
1037 1037
1038 1038
## Install
1039 1039
1040
-* Created [OpenELEC][53][?][53] patchstick
1040
+* Created OpenELEC patchstick
1041 1041
* Wouldn't boot (possibly the backup GPT table) so zeroed the USB stick and recreated it
1042 1042
* Booted successfully
1043 1043
... ...
@@ -1045,7 +1045,7 @@ Dammit, actually it was fine all along! SSH'd in without problems.
1045 1045
1046 1046
## Configuration
1047 1047
1048
-* [OpenELEC][53][?][53] wiped the whole of the old installation
1048
+* OpenELEC wiped the whole of the old installation
1049 1049
* Reinstate Xeebo skin
1050 1050
* Re-add media sources and update libraries
1051 1051
... ...
@@ -1057,7 +1057,7 @@ Dammit, actually it was fine all along! SSH'd in without problems.
1057 1057
1058 1058
1059 1059
1060
-# [ToDo][54][?][54]
1060
+# ToDo
1061 1061
1062 1062
[35]: http://mactel-linux.svn.sourceforge.net/viewvc/mactel-linux/trunk/mach_linux_boot/kernel/
1063 1063
[36]: http://forum.awkwardtv.org/viewtopic.php?f=23&t=167&start=70&st=0&sk=t&sd=a&sid=c8547c20820dfbb9d7d0d68053adde89
AppleTV/RecentChanges.md
... ...
@@ -2,13 +2,13 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [AppleTV][1] . . . 08 August 2013, at 03:44 PM UTC by [Gnome][2][?][2]: adopt Subtitles
6
-* [Linux][3] . . . 18 September 2012, at 12:03 AM GMT by [Gnome][2][?][2]: SSH and user security
7
-* [Boxee][4] . . . 26 August 2010, at 09:09 PM GMT by [Gnome][2][?][2]: manual install
8
-* [Frontrow][5] . . . 11 June 2010, at 12:56 PM GMT by [Gnome][2][?][2]: Hulu tunnelling is the network's job
9
-* [FrontRow][6][?][6] . . . 22 May 2009, at 10:20 AM GMT by [Gnome][2][?][2]: test
10
-* [Subtitles][7] . . . 06 December 2008, at 07:35 PM GMT by [Gnome][2][?][2]: test
11
-* [Home][8][?][8] . . . 09 March 2008, at 11:44 AM GMT by [Gnome][2][?][2]: formatting
5
+* [AppleTV][1] . . . 08 August 2013, at 03:44 PM UTC by Gnome: adopt Subtitles
6
+* [Linux][3] . . . 18 September 2012, at 12:03 AM GMT by Gnome: SSH and user security
7
+* [Boxee][4] . . . 26 August 2010, at 09:09 PM GMT by Gnome: manual install
8
+* [Frontrow][5] . . . 11 June 2010, at 12:56 PM GMT by Gnome: Hulu tunnelling is the network's job
9
+* FrontRow . . . 22 May 2009, at 10:20 AM GMT by Gnome: test
10
+* [Subtitles][7] . . . 06 December 2008, at 07:35 PM GMT by Gnome: test
11
+* Home . . . 09 March 2008, at 11:44 AM GMT by Gnome: formatting
12 12
13 13
[1]: AppleTV
14 14
[3]: Linux
AppleTV/Subtitles.md
... ...
@@ -22,7 +22,7 @@ title: Subtitles
22 22
23 23
24 24
25
-## Mux in with [MP4box][5][?][5], setting lanuage
25
+## Mux in with MP4box, setting lanuage
26 26
27 27
* ` MP4Box -add utf8_$FILE:lang=ENG $`
28 28
Car/GolfTdi.md
... ...
@@ -27,19 +27,19 @@ Last added 1l 5W/40
27 27
| Brake | P21/5W |
28 28
| Beam | H1 |
29 29
| Dip | H7 |
30
-| Front Ind | [PY21W][1][?][1] |
31
-| Side Ind | [PY21W][1][?][1] |
32
-| Rear Ind | [PY21W][1][?][1] |
33
-| Reverse | [P21W][2][?][2] |
34
-| Park | [W5W][3][?][3] |
35
-| Licence | [W5W][3][?][3] |
30
+| Front Ind | PY21W |
31
+| Side Ind | PY21W |
32
+| Rear Ind | PY21W |
33
+| Reverse | P21W |
34
+| Park | W5W |
35
+| Licence | W5W |
36 36
37 37
38 38
39 39
# Wiper Blades
40 40
41 41
Rear
42
-: Bosch [AR13U][4][?][4]
42
+: Bosch AR13U
43 43
44 44
45 45
... ...
@@ -153,7 +153,7 @@ Date
153 153
154 154
155 155
156
-## [ToDo][5][?][5]
156
+## ToDo
157 157
158 158
1. O/S wing mirror housing
159 159
2. O/S wing mirror control not working
... ...
@@ -173,7 +173,7 @@ Date
173 173
174 174
## Actions
175 175
176
-## [ToDo][5][?][5]
176
+## ToDo
177 177
178 178
1. Long-life service
179 179
2. O/S Front brake squeal
Car/LuxoBarge.md
... ...
@@ -25,7 +25,7 @@ title: LuxoBarge
25 25
* Rolls-Royce Corniche II Convertible
26 26
* Bentley Turbo R
27 27
* 1997 52000 ~£13k
28
-* Audi [A8L][4][?][4] W12
28
+* Audi A8L W12
29 29
* Daimler Super V8 (Sovereign)
30 30
31 31
Car/Next.md
... ...
@@ -23,7 +23,7 @@ Find a car which can be used for:
23 23
* 5L V10 (2009)
24 24
* BMW X5
25 25
* Mercedes R320
26
-* Mercedes [ML320][1][?][1]
27
-* Mercedes [GL320][2][?][2], [GL420][3][?][3]
26
+* Mercedes ML320
27
+* Mercedes GL320, GL420
28 28
* Volvo V70
29 29
Car/Phaeton.md
... ...
@@ -9,7 +9,7 @@ Model
9 9
: Phaeton
10 10
11 11
Variant
12
-: V10 [TDi][1][?][1] 5-seat (SWB)
12
+: V10 TDi 5-seat (SWB)
13 13
14 14
Year
15 15
: 2004
... ...
@@ -18,7 +18,7 @@ Purchased
18 18
: 2016-03-19
19 19
20 20
Colour, Exterior
21
-: [LR5W][2][?][2] (Luna Blue Pearl effect)
21
+: LR5W (Luna Blue Pearl effect)
22 22
23 23
Colour, Interior
24 24
: TC (Anthracite Leather)
... ...
@@ -131,7 +131,7 @@ Part
131 131
: 3D5-862-103-B
132 132
133 133
Alternate Parts
134
-: 4E0-088-400-B (Audi [A8L][4][?][4])
134
+: 4E0-088-400-B (Audi A8L)
135 135
136 136
137 137
... ...
@@ -145,11 +145,11 @@ Thread
145 145
### Dension
146 146
147 147
* <http://www.dension.com/products#car-multimedia-solutions>
148
-* Dension [GBL3AU2][5][?][5] [£109.99][6]
148
+* Dension GBL3AU2 [£109.99][6]
149 149
150 150
151 151
152
-### Audison [BitOne][7][?][7]
152
+### Audison BitOne
153 153
154 154
<http://www.audison.eu/index.php?page=product&id=49>
155 155
... ...
@@ -157,7 +157,7 @@ Thread
157 157
158 158
### Media-in-Motion
159 159
160
-CON-[VG3][8][?][8]: [http://media-in-motion.co.uk/control-logic-–-extensive-av-interface-for-vw-phaeton/][9]
160
+CON-VG3: [http://media-in-motion.co.uk/control-logic-–-extensive-av-interface-for-vw-phaeton/][9]
161 161
162 162
Replaces TV tuner, provides two AV inputs.
163 163
Car/PhaetonService1.md
... ...
@@ -7,7 +7,7 @@ When
7 7
8 8
9 9
10
-# [ToDo][1][?][1]
10
+# ToDo
11 11
12 12
* Fix headlight washer covers
13 13
* Fix squealing brakes
Car/PhaetonService4.md
... ...
@@ -23,7 +23,7 @@ title: PhaetonService4
23 23
# Done
24 24
25 25
Garage
26
-: [GermanTech][1][?][1]
26
+: GermanTech
27 27
28 28
When
29 29
: 2019-01-31
Car/PhaetonService5.md
... ...
@@ -7,7 +7,7 @@ See [Trello][1].
7 7
8 8
9 9
Garage
10
-: [GermanTech][2][?][2]
10
+: GermanTech
11 11
12 12
When
13 13
: 2019-12-16
Car/RecentChanges.md
... ...
@@ -2,26 +2,26 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [MorganAero8][1] . . . 29 September 2021, at 06:14 PM UTC by [Gnome][2][?][2]: 5W40 topup
6
-* [GolfTdi][3] . . . 05 July 2021, at 08:21 PM UTC by [Gnome][2][?][2]: rear wiper blades
7
-* [Car][4] . . . 25 June 2021, at 10:46 AM UTC by [Gnome][2][?][2]: link Sports Car
8
-* [Phaeton][5] . . . 07 November 2020, at 10:04 PM UTC by [Gnome][2][?][2]: Oil, Battery disconnection
9
-* [PhaetonService5][6] . . . 08 September 2020, at 11:13 AM UTC by [Gnome][2][?][2]: Cost, link trello
10
-* [PhaetonService4][7] . . . 31 January 2019, at 12:46 PM UTC by [Gnome][2][?][2]: date format
11
-* [PhaetonService3][8] . . . 23 November 2018, at 01:12 AM UTC by [Gnome][2][?][2]: some stuff that was done
12
-* [SportsCar][9] . . . 11 May 2018, at 03:18 PM UTC by [Gnome][2][?][2]: Ginetta
13
-* [PhaetonService2][10] . . . 15 January 2018, at 12:46 AM UTC by [Gnome][2][?][2]: update Service 2
14
-* [PhaetonService1][11] . . . 16 September 2016, at 12:03 PM UTC by [Gnome][2][?][2]: cost
15
-* [Computer][12] . . . 30 March 2016, at 01:28 PM UTC by [Gnome][2][?][2]: AV connectivity
16
-* [LuxoBarge][13] . . . 09 March 2016, at 04:13 PM UTC by [Gnome][2][?][2]: link BmwE66
17
-* [BmwE66][14] . . . 09 March 2016, at 04:09 PM UTC by [Gnome][2][?][2]: hidden service menu
18
-* [Runabout][15] . . . 20 July 2015, at 02:12 PM UTC by [Gnome][2][?][2]: revert
19
-* [4x4][16] . . . 23 March 2015, at 06:34 PM UTC by [Gnome][2][?][2]: Defender 300tdi
20
-* [Next][17] . . . 20 August 2014, at 01:34 PM UTC by [Gnome][2][?][2]: options
21
-* [Stereo][18] . . . 28 May 2011, at 01:29 AM GMT by [Gnome][2][?][2]: link DEH-2200UB
22
-* [Home][19][?][19] . . . 12 January 2011, at 06:53 PM GMT by [Gnome][2][?][2]: fix link
23
-* [TVR][20] . . . 12 November 2009, at 10:36 AM GMT by [Gnome][2][?][2]: add Bell Hill parts
24
-* [Tuscan][21][?][21] . . . 21 April 2009, at 10:09 AM GMT by [Gnome][2][?][2]: front tyres
5
+* [MorganAero8][1] . . . 29 September 2021, at 06:14 PM UTC by Gnome: 5W40 topup
6
+* [GolfTdi][3] . . . 05 July 2021, at 08:21 PM UTC by Gnome: rear wiper blades
7
+* [Car][4] . . . 25 June 2021, at 10:46 AM UTC by Gnome: link Sports Car
8
+* [Phaeton][5] . . . 07 November 2020, at 10:04 PM UTC by Gnome: Oil, Battery disconnection
9
+* [PhaetonService5][6] . . . 08 September 2020, at 11:13 AM UTC by Gnome: Cost, link trello
10
+* [PhaetonService4][7] . . . 31 January 2019, at 12:46 PM UTC by Gnome: date format
11
+* [PhaetonService3][8] . . . 23 November 2018, at 01:12 AM UTC by Gnome: some stuff that was done
12
+* [SportsCar][9] . . . 11 May 2018, at 03:18 PM UTC by Gnome: Ginetta
13
+* [PhaetonService2][10] . . . 15 January 2018, at 12:46 AM UTC by Gnome: update Service 2
14
+* [PhaetonService1][11] . . . 16 September 2016, at 12:03 PM UTC by Gnome: cost
15
+* [Computer][12] . . . 30 March 2016, at 01:28 PM UTC by Gnome: AV connectivity
16
+* [LuxoBarge][13] . . . 09 March 2016, at 04:13 PM UTC by Gnome: link BmwE66
17
+* [BmwE66][14] . . . 09 March 2016, at 04:09 PM UTC by Gnome: hidden service menu
18
+* [Runabout][15] . . . 20 July 2015, at 02:12 PM UTC by Gnome: revert
19
+* [4x4][16] . . . 23 March 2015, at 06:34 PM UTC by Gnome: Defender 300tdi
20
+* [Next][17] . . . 20 August 2014, at 01:34 PM UTC by Gnome: options
21
+* [Stereo][18] . . . 28 May 2011, at 01:29 AM GMT by Gnome: link DEH-2200UB
22
+* Home . . . 12 January 2011, at 06:53 PM GMT by Gnome: fix link
23
+* [TVR][20] . . . 12 November 2009, at 10:36 AM GMT by Gnome: add Bell Hill parts
24
+* Tuscan . . . 21 April 2009, at 10:09 AM GMT by Gnome: front tyres
25 25
26 26
[1]: MorganAero8
27 27
[3]: GolfTdi
Car/Runabout.md
... ...
@@ -37,9 +37,9 @@ Need a cheap, reliable runabout.
37 37
38 38
## Hatchbacks
39 39
40
-* VW Golf [MkIV][3][?][3] 1.9TDI 5-dr ~£3500, Group 13 ([parkers][4])
40
+* VW Golf MkIV 1.9TDI 5-dr ~£3500, Group 13 ([parkers][4])
41 41
* Audi A3
42
-* Honda Jazz 2003- 1.4 i-[DSi][5][?][5] ~£4000, Group 3/4
42
+* Honda Jazz 2003- 1.4 i-DSi ~£4000, Group 3/4
43 43
* Fiat Panda 4x4
44 44
* Suzuki Swift
45 45
... ...
@@ -53,12 +53,12 @@ Need a cheap, reliable runabout.
53 53
54 54
55 55
56
-## [SUVs][6][?][6] and 4x4s
56
+## SUVs and 4x4s
57 57
58 58
* Nissan X-Trail (too big?)
59 59
* Suzuki Grand Vitara 3dr ([whatcar][7])
60
-* Toyota [RAV4][8][?][8] 3dr ([whatcar][9], [Parkers][10])
61
- * 2.0 VVTI [XT3][11][?][11]
60
+* Toyota RAV4 3dr ([whatcar][9], [Parkers][10])
61
+ * 2.0 VVTI XT3
62 62
* D4-D
63 63
* XT-R has cruise control and traction control
64 64
* Subaru (Legacy) Outback 2.5i
... ...
@@ -71,7 +71,7 @@ Need a cheap, reliable runabout.
71 71
| Toyota RAV-4 3dr D-4D | 150-230 | 21-23 | J |
72 72
| Toyota RAV-4 5dr | 586-1400 |   |   |
73 73
| Suzuki Grand Vitara 3dr |   |   |
74
-| VW Golf [MkIV][3][?][3] 1.9TDI | 350-1305 | 17 | I |
74
+| VW Golf MkIV 1.9TDI | 350-1305 | 17 | I |
75 75
| Audi A3 1.9TDI SE 02 | 350-1100 | 27 | F |
76 76
| Audi A3 1.9TDI SE 04 | 350-1080 | 17 | E |
77 77
| Subaru Outback 2.5i | 450-1600 | 23 | K |
... ...
@@ -82,25 +82,25 @@ Need a cheap, reliable runabout.
82 82
83 83
| Make | Year | Mileage | Insurance | Location |
84 84
|:------------------------------------------------------ | ---- | ------- | --------- | ----------------------- |
85
-| [Audi A3 1.9TDi][12] [SM04YJT][13][?][13] | 04 | 100 | 589 |
86
-| [BMW 320d Touring 120k][14] [KJ52DJU][15][?][15] £4650 | 52 | 120 | 630 | Offord [PE19 5RH][16] |
87
-| [Audi A4 Avant 1.9TDi][17], [AP02BWU][18][?][18] £3995 | 02 | ?? | 636 | Newmarket [CB8 0EA][19] |
88
-| [Jaguar X-Type 2.0D SE][20] [MT05HOJ][21][?][21] £4290 | 05 | 130 | 673 |
89
-| [Golf 1.9S TDI][22] [AJ02FKE][23][?][23] £3695 | 02 | 110 | 550 | CCS [CB25 9DA][24] |
90
-| [Golf 1.9GT TDI][25] [LS03AGX][26][?][26] £4995 | 03 | ?? | 584 | Audi [CB25 0DU][27] |
91
-| [Golf 1.9GT TDI][28] [RX52VSN][29][?][29] £4295 | 52 | 105 | 545 | St Ives [PE27 6RG][30] |
85
+| [Audi A3 1.9TDi][12] SM04YJT | 04 | 100 | 589 |
86
+| [BMW 320d Touring 120k][14] KJ52DJU £4650 | 52 | 120 | 630 | Offord [PE19 5RH][16] |
87
+| [Audi A4 Avant 1.9TDi][17], AP02BWU £3995 | 02 | ?? | 636 | Newmarket [CB8 0EA][19] |
88
+| [Jaguar X-Type 2.0D SE][20] MT05HOJ £4290 | 05 | 130 | 673 |
89
+| [Golf 1.9S TDI][22] AJ02FKE £3695 | 02 | 110 | 550 | CCS [CB25 9DA][24] |
90
+| [Golf 1.9GT TDI][25] LS03AGX £4995 | 03 | ?? | 584 | Audi [CB25 0DU][27] |
91
+| [Golf 1.9GT TDI][28] RX52VSN £4295 | 52 | 105 | 545 | St Ives [PE27 6RG][30] |
92 92
| [Golf 1.9 SE TDI 100][31] £4495 | ?? | 81 |   | MJ Warner [SG9 0EA][32] |
93 93
94 94
95 95
96 96
# Locations
97 97
98
-* [Offord][33] [PE195RH][34][?][34] 01480811484
99
-* [St Ives][35] [PE276RG][36][?][36] 01480464093
100
-* [Newmarket][37] [CB80EA][38][?][38] 01638666404
101
-* [CCS][39] [CB259DA][40][?][40] 01223812915
102
-* [Audi][41] [CB250DU][42][?][42] 01223654500
103
-* [MJ Warner][43] [SG90EA][44][?][44]
98
+* [Offord][33] PE195RH 01480811484
99
+* [St Ives][35] PE276RG 01480464093
100
+* [Newmarket][37] CB80EA 01638666404
101
+* [CCS][39] CB259DA 01223812915
102
+* [Audi][41] CB250DU 01223654500
103
+* [MJ Warner][43] SG90EA
104 104
105 105
[1]: GolfTdi
106 106
[2]: http://www.thatcham.org/abigrouprating/index.jsp?page=343
Car/SportsCar.md
... ...
@@ -45,7 +45,7 @@ title: SportsCar
45 45
46 46
* VW Eos
47 47
48
-* Vauxhall [VX220][1][?][1]
48
+* Vauxhall VX220
49 49
* Pre 1996 2.2: £10k
50 50
* Post 1996 2.0 Turbo: £20k
51 51
... ...
@@ -86,11 +86,11 @@ title: SportsCar
86 86
87 87
88 88
* Jaguar
89
- * [XK120][3][?][3]/140/150
89
+ * XK120/140/150
90 90
* [Autotune Aristocat][4]
91 91
* Broomstick evocation?
92
- * [XK180][5][?][5] replica
93
- * [JePe][6][?][6] Specials <http://www.jepespecials.com/cms/index.php/en/jaguar-uk>
92
+ * XK180 replica
93
+ * JePe Specials <http://www.jepespecials.com/cms/index.php/en/jaguar-uk>
94 94
* [GRP conversion][7]
95 95
96 96
Car/Stereo.md
... ...
@@ -25,8 +25,8 @@ title: Stereo
25 25
| Model | CD | AUX | USB | BT | iPod | Price |
26 26
|:--------------------------- | --- | ----- | ----- | --- | ---- | -------- |
27 27
| Sony [CDX-GT45IP][2] | Yes | Front | No | No | Yes | 65 |
28
-| Sony CDX-[GT25][3][?][3] | Yes | Front | No | No | No | [45][4] |
29
-| Kenwood KDC-[BT30][5][?][5] | Yes | Front | No | Yes | No | [115][6] |
28
+| Sony CDX-GT25 | Yes | Front | No | No | No | [45][4] |
29
+| Kenwood KDC-BT30 | Yes | Front | No | Yes | No | [115][6] |
30 30
| [Pioneer DEH-2200UB][7] | Yes | Front | Front | No | No | [63][8] |
31 31
| [JVC KD-R411][9] | Yes | Front | Yes | No | No | [62][10] |
32 32
Car/TVR.md
... ...
@@ -17,7 +17,7 @@ title: TVR
17 17
18 18
## Parkers
19 19
20
-| Model | Mileage | [DealFran][52][?][52] | [DealIndy][53][?][53] | Priv Good | Priv Poor |
20
+| Model | Mileage | DealFran | DealIndy | Priv Good | Priv Poor |
21 21
||
22 22
| 2000/V | 80000 |   | 9780 | 8915 | 6420 |
23 23
| 2000/W | 80000 |   | 9915 | 9140 | 6755 |
... ...
@@ -52,14 +52,14 @@ title: TVR
52 52
53 53
| Dealer | Location | Contact |
54 54
|:-------------------- | --------------------- | ------------ |
55
-| [Offord][54] | [PE19][55][?][55] 5RH |   |
56
-| [Castle][56] | [CM24][57][?][57] 8LP |   |
57
-| [Trimar/Barnet][58] | [EN5][59][?][59] 3LJ |   |
58
-| [Racing Green][60] | [GU12][61][?][61] 5QD | 01252 894840 |
59
-| [Hexham][62] | [NE46][63][?][63] 3EW |   |
55
+| [Offord][54] | PE19 5RH |   |
56
+| [Castle][56] | CM24 8LP |   |
57
+| [Trimar/Barnet][58] | EN5 3LJ |   |
58
+| [Racing Green][60] | GU12 5QD | 01252 894840 |
59
+| [Hexham][62] | NE46 3EW |   |
60 60
| [James Agger][64] |   | 07970 530890 |
61
-| [Dream Machines][65] | [TN21][66][?][66] 8JA | 01435 868456 |
62
-| [Fernhurst][67] | [GU27][68][?][68] 3EE | 01428 653924 |
61
+| [Dream Machines][65] | TN21 8JA | 01435 868456 |
62
+| [Fernhurst][67] | GU27 3EE | 01428 653924 |
63 63
64 64
65 65
... ...
@@ -68,7 +68,7 @@ title: TVR
68 68
| [Douglas Valley Breakers][69] | 01257472866 |
69 69
||
70 70
| [Bell Hill][70] | 01373 834253 |
71
-| [AutoWash][71][?][71] repairs (Glen) | 01670521100 or 07886097954 |
71
+| AutoWash repairs (Glen) | 01670521100 or 07886097954 |
72 72
73 73
74 74
... ...
@@ -98,7 +98,7 @@ title: TVR
98 98
* <http://www.tvr-centre.co.uk/used-cars/view/119889>
99 99
* Alloy Pearl / Portland
100 100
* 15150 miles
101
-* [T9USC][75][?][75] reg
101
+* T9USC reg
102 102
* Aircon
103 103
* TVR Centre / Trimar
104 104
* Alloy Pearl with Portland Grey/Nimbus 1/2 Hide Trim, Grey Carpets, 4 Owners FSH, 15150 Miles, Air-Conditioning, 18" Alloys, Alloy Switchgear, 6CD Stacker, Alarm/Immobiliser. Tvr Number plate negotiable.
... ...
@@ -133,7 +133,7 @@ title: TVR
133 133
* <http://pistonheads.com/sales/890728.htm>
134 134
* James Agger
135 135
* 21900 miles
136
-* 02 Reg 4000cc, Chameleon Blue, Portland Hide, 2002 Model Year, 18 Inch Alloys, Drilled Discs, Carbon Can Exhaust Upgrade, [MP3][76][?][76] Upgrade, CD Changer, Remote Window Closure, Factory Centre LED Brake Lamp, Kick Plates, FTVRSH, 12,000 Serviced Just Done @ Straight 6, Waxoyled Chassis, 12 Months MOT, Previous supplied by ourselves, Very nice car - aren't they all!
136
+* 02 Reg 4000cc, Chameleon Blue, Portland Hide, 2002 Model Year, 18 Inch Alloys, Drilled Discs, Carbon Can Exhaust Upgrade, MP3 Upgrade, CD Changer, Remote Window Closure, Factory Centre LED Brake Lamp, Kick Plates, FTVRSH, 12,000 Serviced Just Done @ Straight 6, Waxoyled Chassis, 12 Months MOT, Previous supplied by ourselves, Very nice car - aren't they all!
137 137
138 138
### Price
139 139
... ...
@@ -355,7 +355,7 @@ title: TVR
355 355
* [Autotrader][84]
356 356
* Morrison Motors
357 357
* 12400 miles
358
-* [DK04BHY][85][?][85]
358
+* DK04BHY
359 359
* Ice Green / Grey
360 360
* Not an 'S'
361 361
... ...
@@ -380,7 +380,7 @@ title: TVR
380 380
* <http://pistonheads.com/sales/723633.htm>
381 381
* Portland and Navy
382 382
* SSCC TVR
383
-* Tuscan 4.0 in Le Mans Blue Pearl with portland and navy Hide.18" Spider Alloys. New Dampers Service with Valve Clearence Adjustment last week.Always 15 [TVRs][86][?][86] in Stock Check Out Website
383
+* Tuscan 4.0 in Le Mans Blue Pearl with portland and navy Hide.18" Spider Alloys. New Dampers Service with Valve Clearence Adjustment last week.Always 15 TVRs in Stock Check Out Website
384 384
385 385
| Date | Price |
386 386
|:------ | ----- |
... ...
@@ -474,7 +474,7 @@ title: TVR
474 474
* <http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&ssPageName=STRK:MEWAX:IT&item=300291661271>
475 475
* 16500 miles
476 476
* Trevor Hewitt
477
-* [OO02TUS][91][?][91]
477
+* OO02TUS
478 478
* Light & Dark grey interior
479 479
480 480
| Date | Price |
... ...
@@ -493,7 +493,7 @@ title: TVR
493 493
* No a/c
494 494
* 2 owners
495 495
* Garaged
496
-* [GN51][92][?][92] PBZ, 16900 miles, Le Mans Blue with Portland Grey half hide interior, blue carpets piped in prussian blue, prussian blue to dash top, seat inserts, gaitors and steering rim, blue stitching throughout, grey alcantara to door panels and headlining. Fitted with 18 inch spider alloys, ali pack and 6 stack CD. The engine runs but needs new finger followers as one follower has failed..
496
+* GN51 PBZ, 16900 miles, Le Mans Blue with Portland Grey half hide interior, blue carpets piped in prussian blue, prussian blue to dash top, seat inserts, gaitors and steering rim, blue stitching throughout, grey alcantara to door panels and headlining. Fitted with 18 inch spider alloys, ali pack and 6 stack CD. The engine runs but needs new finger followers as one follower has failed..
497 497
498 498
| Date | Price |
499 499
|:------ | ----- |
... ...
@@ -650,7 +650,7 @@ As-is price 14500.
650 650
* 29,000 miles
651 651
* Tamora - Immaculate with Rebuild, Full TVR Service History, 18" Alloys, Air Conditioning
652 652
653
-Blaupunkt [MP3][96][?][96], Road Pilot, Finished in Grigio Titanium, Full engine rebuild at 20,000 New clutch at 12,000, TVR Power Sports Exhausts and Originals, Second owner from new (Original factory build pics)
653
+Blaupunkt MP3, Road Pilot, Finished in Grigio Titanium, Full engine rebuild at 20,000 New clutch at 12,000, TVR Power Sports Exhausts and Originals, Second owner from new (Original factory build pics)
654 654
655 655
656 656
Clothing/MorningDress.md
... ...
@@ -12,7 +12,7 @@ With edging.
12 12
13 13
14 14
15
-## [Tailor4Less][1][?][1]
15
+## Tailor4Less
16 16
17 17
£285: <http://www.tailor4less.com/>
18 18
Clothing/RecentChanges.md
... ...
@@ -2,9 +2,9 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [HikingBoots][1] . . . 04 May 2017, at 12:23 PM UTC by [Gnome][2][?][2]: Scarpa R-Evo
6
-* [Clothing][3] . . . 27 April 2017, at 07:38 PM UTC by [Gnome][2][?][2]: hiking boots
7
-* [MorningDress][4] . . . 18 May 2016, at 05:05 PM UTC by [Gnome][2][?][2]: dunno
5
+* [HikingBoots][1] . . . 04 May 2017, at 12:23 PM UTC by Gnome: Scarpa R-Evo
6
+* [Clothing][3] . . . 27 April 2017, at 07:38 PM UTC by Gnome: hiking boots
7
+* [MorningDress][4] . . . 18 May 2016, at 05:05 PM UTC by Gnome: dunno
8 8
9 9
[1]: HikingBoots
10 10
[3]: Clothing
Code/Cdcopy.md
... ...
@@ -2,41 +2,42 @@
2 2
title: Cdcopy
3 3
---
4 4
5
-Bash script to automate copying data from [CDs][1][?][1].
5
+Bash script to automate copying data from CDs.
6 6
7 7
Detects media insertion (via HAL, using polling \*blegh\*)
8 8
9 9
10 10
11
-#!/bin/bash
12
-# cdcopy.sh: copy a data CD to disk
13
-#  mark AT cognomen DOT co DOT uk
14
-
15
-CDROM=$1     # CD-ROM device
16
-MNTPNT=$2    # CD-ROM mount point
17
-OF=/data/         # output directory
18
-
19
-eject $CDROM
20
-UDI=`hal-find-by-property --key block.device --string $CDROM | tail -n1`
21
-
22
-while ((1)) ; do
23
-        if [ `hal-get-property --udi $UDI --key storage.removable.media_available` == 'true' ]
24
-        then
25
-                mount $CDROM
26
-                if ((! $?))
27
-                then
28
-                        echo; echo "Copying the source CD to $OF."
29
-                        cp -av $MNTPNT/* $OF || echo Copy failed
30
-
31
-                else
32
-                        echo; echo "Failed to mount CD. Ejecting"
33
-                fi
34
-                eject $CDROM
35
-        fi
36
-        sleep 3
11
+```shell
12
+#!/bin/bash
13
+# cdcopy.sh: copy a data CD to disk
14
+#  mark AT cognomen DOT co DOT uk
15
+
16
+CDROM=$1     # CD-ROM device
17
+MNTPNT=$2    # CD-ROM mount point
18
+OF=/data/         # output directory
19
+
20
+eject $CDROM
21
+UDI=`hal-find-by-property --key block.device --string $CDROM | tail -n1`
22
+
23
+while ((1)) ; do
24
+        if [ `hal-get-property --udi $UDI --key storage.removable.media_available` == 'true' ]
25
+        then
26
+                mount $CDROM
27
+                if ((! $?))
28
+                then
29
+                        echo; echo "Copying the source CD to $OF."
30
+                        cp -av $MNTPNT/* $OF || echo Copy failed
31
+
32
+                else
33
+                        echo; echo "Failed to mount CD. Ejecting"
34
+                fi
35
+                eject $CDROM
36
+        fi
37
+        sleep 3
37 38
done
38 39
39
-[[$[Get Code]]][2]
40
+```
40 41
41 42
42 43
Code/Code.md
... ...
@@ -7,7 +7,7 @@ Code snippets
7 7
8 8
9 9
* [Transcode][1] - A python script to transcode between music formats.
10
-* [cdcopy][2] - Bash script to automate copying data from [CDs][3][?][3]
10
+* [cdcopy][2] - Bash script to automate copying data from CDs
11 11
* [ProgrammingNotes][4] - Notes on programming style
12 12
* [HFSM][5] - Hierarchical Finite State Machine in C (as Samek)
13 13
* [IncludeTree][6] - Print #include dependencies
Code/GccgMythos.md
... ...
@@ -154,8 +154,8 @@ If you can't download .bat files then you can create it manually instead:
154 154
155 155
* At the start of a game you're prompted to select the investigator you'll be using
156 156
* It's your own damn fault if you remove-from-game all your investigators
157
-* **Ctrl+[PgUp][19][?][19]** puts a card on **top of your Story Deck** (from 0.2.4 onwards)
158
-* **Ctrl+[PgDown][20][?][20]** buries a card at the **bottom of your Story Deck** (from 0.2.4 onwards)
157
+* **Ctrl+PgUp** puts a card on **top of your Story Deck** (from 0.2.4 onwards)
158
+* **Ctrl+PgDown** buries a card at the **bottom of your Story Deck** (from 0.2.4 onwards)
159 159
* **"+x"** or **"-x"** or just **"x"** modifies your SAN
160 160
* **"/ap x"** modifies your adventure points
161 161
* **"/pass"** announces a Pass (but does little else for now)
... ...
@@ -180,7 +180,7 @@ This git repo is a super-project containing:
180 180
181 181
Git [http repo][24] (read-only)
182 182
183
-If you think some of the graphics look weird it's because they had to be recreated from the "cleaned" images that were available - using [ImageMagick][25][?][25] to merge in the text from the card database.
183
+If you think some of the graphics look weird it's because they had to be recreated from the "cleaned" images that were available - using ImageMagick to merge in the text from the card database.
184 184
185 185
186 186
Code/HFSM.md
... ...
@@ -6,7 +6,7 @@ Hierarchical Finite State Machine in C
6 6
7 7
8 8
9
-## [ToDo][1][?][1]
9
+## ToDo
10 10
11 11
## Download
12 12
Code/IncludeTree.md
... ...
@@ -9,38 +9,39 @@ Simple #include dependency printer.
9 9
10 10
11 11
12
-#!/bin/sh
13
-
14
-# Prints a #include dependency tree
15
-# Reads arguments from either command line or stdin (but not both)
16
-
17
-DEPTH=
18
-
19
-extract_filename()
20
-{
21
-    sed 's/\W\*#include\W["<]\([^">]\*\)[">].*$/\1/g'
22
-}
23
-
24
-extract_includes()
25
-{
26
-    DEPTH="$DEPTH    ";
27
-    while read current; do
28
-        echo "$DEPTH$current"
29
-        grep '#include' "$current" | extract_filename | extract_includes 2> /dev/null
30
-    done
31
-}
32
-
33
-# read from commandline
34
-for FILE in $@; do
35
-    echo "$FILE:"
36
-    echo "$FILE" | extract_includes
37
-done
38
-
39
-# read from stdin
40
-if [ -z $@ ]; then
41
-    extract_includes
12
+```shell
13
+#!/bin/sh
14
+
15
+# Prints a #include dependency tree
16
+# Reads arguments from either command line or stdin (but not both)
17
+
18
+DEPTH=
19
+
20
+extract_filename()
21
+{
22
+    sed 's/\W\*#include\W["<]\([^">]\*\)[">].*$/\1/g'
23
+}
24
+
25
+extract_includes()
26
+{
27
+    DEPTH="$DEPTH    ";
28
+    while read current; do
29
+        echo "$DEPTH$current"
30
+        grep '#include' "$current" | extract_filename | extract_includes 2> /dev/null
31
+    done
32
+}
33
+
34
+# read from commandline
35
+for FILE in $@; do
36
+    echo "$FILE:"
37
+    echo "$FILE" | extract_includes
38
+done
39
+
40
+# read from stdin
41
+if [ -z $@ ]; then
42
+    extract_includes
42 43
fi
43 44
44
-[[$[Get Code]]][1]
45
+```
45 46
46 47
[1]: IncludeTree?action=sourceblock&num=1
... ...
\ No newline at end of file
Code/RecentChanges.md
... ...
@@ -2,16 +2,16 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [GccgMythos][1] . . . 29 January 2015, at 03:17 PM UTC by [Gnome][2][?][2]: Shutdown test servers
6
-* [SvnImportSnapshots][3] . . . 10 April 2012, at 09:34 PM GMT by [Gnome][2][?][2]: syntaxlove
7
-* [IncludeTree][4] . . . 10 April 2012, at 09:32 PM GMT by [Gnome][2][?][2]: syntaxlove
8
-* [Cdcopy][5] . . . 10 April 2012, at 09:31 PM GMT by [Gnome][2][?][2]: syntaxlove
9
-* [Home][6][?][6] . . . 25 July 2011, at 08:07 AM GMT by [Gnome][2][?][2]: GccgMythos
10
-* [SipRedirectPatch][7] . . . 22 January 2010, at 04:15 PM GMT by [Gnome][2][?][2]: fix start stop daemon
11
-* [AwkRenumber][8] . . . 19 March 2009, at 05:18 PM GMT by [Gnome][2][?][2]: AwkRenumber
12
-* [HFSM][9] . . . 05 November 2008, at 04:46 PM GMT by [Gnome][2][?][2]: references
13
-* [ProgrammingNotes][10] . . . 02 June 2008, at 10:19 AM GMT by [Gnome][2][?][2]: headers
14
-* [Transcode][11] . . . 29 December 2006, at 02:19 PM GMT by [Gnome][2][?][2]: gluon.za.net/mark -> markferry.net
5
+* [GccgMythos][1] . . . 29 January 2015, at 03:17 PM UTC by Gnome: Shutdown test servers
6
+* [SvnImportSnapshots][3] . . . 10 April 2012, at 09:34 PM GMT by Gnome: syntaxlove
7
+* [IncludeTree][4] . . . 10 April 2012, at 09:32 PM GMT by Gnome: syntaxlove
8
+* [Cdcopy][5] . . . 10 April 2012, at 09:31 PM GMT by Gnome: syntaxlove
9
+* Home . . . 25 July 2011, at 08:07 AM GMT by Gnome: GccgMythos
10
+* [SipRedirectPatch][7] . . . 22 January 2010, at 04:15 PM GMT by Gnome: fix start stop daemon
11
+* [AwkRenumber][8] . . . 19 March 2009, at 05:18 PM GMT by Gnome: AwkRenumber
12
+* [HFSM][9] . . . 05 November 2008, at 04:46 PM GMT by Gnome: references
13
+* [ProgrammingNotes][10] . . . 02 June 2008, at 10:19 AM GMT by Gnome: headers
14
+* [Transcode][11] . . . 29 December 2006, at 02:19 PM GMT by Gnome: gluon.za.net/mark -> markferry.net
15 15
16 16
[1]: GccgMythos
17 17
[3]: SvnImportSnapshots
Code/SvnImportSnapshots.md
... ...
@@ -39,78 +39,79 @@ Bash script to commit snapshots to SVN branch
39 39
40 40
# Script
41 41
42
-#!/bin/sh
43
-
44
-REPO_URL="http://path/to/project"
45
-WORKING_BRANCH="trunk"
46
-TAG_BRANCH="tags"
47
-
48
-ROOT="/path/to/snapshots" # root of snapshot dir
49
-WORKING="$ROOT/svn/working/copy" # working copy
50
-LABELS="$ROOT/snapshot_list"
51
-
52
-VERBOSE=1
53
-
54
-die() {
55
-    echo ERROR: $1 ; exit 1
56
-}
57
-
58
-# labels pre-check
59
-#
60
-cat "$LABELS" | while read LABEL
61
-do
62
-    [ -d "$ROOT/$LABEL" ] || die "no label"
63
-done
64
-
65
-cat "$LABELS" | while read LABEL
66
-do
67
-    cd "$ROOT" || break
68
-
69
-    [ -d "$ROOT/$LABEL" ] || die "no label"
70
-    (($VERBOSE)) && echo $LABEL: found
71
-
72
-    # update
73
-    svn update $(cygpath -m "$WORKING") || die "svn update"
74
-    (($VERBOSE)) && echo $LABEL: updated
75
-
76
-    # clean working
77
-    find "$WORKING" -name '.svn' -prune -o -type f -exec rm -f {} \;
78
-    (($VERBOSE)) && echo $LABEL: cleaned
79
-    # copy new snapshot
80
-    cp -r "$ROOT/$LABEL"/* "$WORKING/"  || die "new snapshot"
81
-    (($VERBOSE)) && echo $LABEL: new snapshot
82
-
83
-    # Resolve
84
-    #  Prune empty directories
85
-    find "$WORKING" -name '.svn' -prune -o -type d -print | while read DIR
86
-    do
87
-        DIRCOUNT=$(find "$DIR" -mindepth 1 -maxdepth 1 -name '.svn' -prune -o -print | wc -l)
88
-        if ! (($DIRCOUNT))
89
-        then
90
-            svn delete $(cygpath -m "$DIR")
91
-        fi
92
-    done
93
-    (($VERBOSE)) && echo $LABEL: pruned empty
94
-    # Delete missing
95
-    svn status $(cygpath -m "$WORKING") | grep '\!' | awk '{print "\"" $2 "\"" ;}' | xargs svn rm
96
-    (($VERBOSE)) && echo $LABEL: deleted missing
97
-    # Add non-versioned
98
-    svn status $(cygpath -m "$WORKING") | grep '\?' | awk '{print "\"" $2 "\"" ;}' | xargs svn add
99
-    (($VERBOSE)) && echo $LABEL: added new
100
-
101
-    # Sanity check
102
-    diff -x .svn -r "$ROOT/$LABEL" "$WORKING/"  || (echo "diff failed: exit to continue" ; /bin/sh)
103
-
104
-    # commit
105
-    svn commit $(cygpath -m "$WORKING") -m "\"Import VSS_$LABEL\"" || die "commit failed"
106
-    (($VERBOSE)) && echo $LABEL: committed
107
-
108
-    #COMMIT_REV=$(svn log $(cygpath -m "$WORKING") --revision "HEAD" | head -2 | tail -1 | awk '{print $1}' | cut -c 2-)
109
-    # tag
110
-    svn copy -m "Tag VSS_$LABEL" "$REPO_URL/$WORKING_BRANCH" "$REPO_URL/$TAG_BRANCH/VSS_$LABEL" || die "tag failed"
111
-    (($VERBOSE)) && echo $LABEL: tagged
42
+```shell
43
+#!/bin/sh
44
+
45
+REPO_URL="http://path/to/project"
46
+WORKING_BRANCH="trunk"
47
+TAG_BRANCH="tags"
48
+
49
+ROOT="/path/to/snapshots" # root of snapshot dir
50
+WORKING="$ROOT/svn/working/copy" # working copy
51
+LABELS="$ROOT/snapshot_list"
52
+
53
+VERBOSE=1
54
+
55
+die() {
56
+    echo ERROR: $1 ; exit 1
57
+}
58
+
59
+# labels pre-check
60
+#
61
+cat "$LABELS" | while read LABEL
62
+do
63
+    [ -d "$ROOT/$LABEL" ] || die "no label"
64
+done
65
+
66
+cat "$LABELS" | while read LABEL
67
+do
68
+    cd "$ROOT" || break
69
+
70
+    [ -d "$ROOT/$LABEL" ] || die "no label"
71
+    (($VERBOSE)) && echo $LABEL: found
72
+
73
+    # update
74
+    svn update $(cygpath -m "$WORKING") || die "svn update"
75
+    (($VERBOSE)) && echo $LABEL: updated
76
+
77
+    # clean working
78
+    find "$WORKING" -name '.svn' -prune -o -type f -exec rm -f {} \;
79
+    (($VERBOSE)) && echo $LABEL: cleaned
80
+    # copy new snapshot
81
+    cp -r "$ROOT/$LABEL"/* "$WORKING/"  || die "new snapshot"
82
+    (($VERBOSE)) && echo $LABEL: new snapshot
83
+
84
+    # Resolve
85
+    #  Prune empty directories
86
+    find "$WORKING" -name '.svn' -prune -o -type d -print | while read DIR
87
+    do
88
+        DIRCOUNT=$(find "$DIR" -mindepth 1 -maxdepth 1 -name '.svn' -prune -o -print | wc -l)
89
+        if ! (($DIRCOUNT))
90
+        then
91
+            svn delete $(cygpath -m "$DIR")
92
+        fi
93
+    done
94
+    (($VERBOSE)) && echo $LABEL: pruned empty
95
+    # Delete missing
96
+    svn status $(cygpath -m "$WORKING") | grep '\!' | awk '{print "\"" $2 "\"" ;}' | xargs svn rm
97
+    (($VERBOSE)) && echo $LABEL: deleted missing
98
+    # Add non-versioned
99
+    svn status $(cygpath -m "$WORKING") | grep '\?' | awk '{print "\"" $2 "\"" ;}' | xargs svn add
100
+    (($VERBOSE)) && echo $LABEL: added new
101
+
102
+    # Sanity check
103
+    diff -x .svn -r "$ROOT/$LABEL" "$WORKING/"  || (echo "diff failed: exit to continue" ; /bin/sh)
104
+
105
+    # commit
106
+    svn commit $(cygpath -m "$WORKING") -m "\"Import VSS_$LABEL\"" || die "commit failed"
107
+    (($VERBOSE)) && echo $LABEL: committed
108
+
109
+    #COMMIT_REV=$(svn log $(cygpath -m "$WORKING") --revision "HEAD" | head -2 | tail -1 | awk '{print $1}' | cut -c 2-)
110
+    # tag
111
+    svn copy -m "Tag VSS_$LABEL" "$REPO_URL/$WORKING_BRANCH" "$REPO_URL/$TAG_BRANCH/VSS_$LABEL" || die "tag failed"
112
+    (($VERBOSE)) && echo $LABEL: tagged
112 113
done
113 114
114
-[[$[Get Code]]][1]
115
+```
115 116
116 117
[1]: SvnImportSnapshots?action=sourceblock&num=1
... ...
\ No newline at end of file
Do/RecentChanges.md
... ...
@@ -2,8 +2,8 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [TableTennis][1] . . . 09 September 2016, at 01:09 PM UTC by [Gnome][2][?][2]: TI 400 purchased
6
-* [Do][3] . . . 09 September 2016, at 12:29 PM UTC by [Gnome][2][?][2]: Table Tennis
5
+* [TableTennis][1] . . . 09 September 2016, at 01:09 PM UTC by Gnome: TI 400 purchased
6
+* [Do][3] . . . 09 September 2016, at 12:29 PM UTC by Gnome: Table Tennis
7 7
8 8
[1]: TableTennis
9 9
[3]: Do
... ...
\ No newline at end of file
Embedded/RecentChanges.md
... ...
@@ -2,6 +2,6 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [LazyStructs][1] . . . 29 December 2009, at 04:36 PM GMT by [Gnome][2][?][2]: link asn1c
5
+* [LazyStructs][1] . . . 29 December 2009, at 04:36 PM GMT by Gnome: link asn1c
6 6
7 7
[1]: LazyStructs
Flying/RecentChanges.md
... ...
@@ -2,6 +2,6 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Flying][1] . . . 08 June 2016, at 01:07 PM UTC by [Gnome][2][?][2]: schools
5
+* [Flying][1] . . . 08 June 2016, at 01:07 PM UTC by Gnome: schools
6 6
7 7
[1]: Flying
Games/RecentChanges.md
... ...
@@ -2,8 +2,8 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Games][1] . . . 08 August 2013, at 03:40 PM UTC by [Gnome][2][?][2]: adopt Dominion
6
-* [Dominion][3] . . . 10 April 2012, at 12:47 AM GMT by [Gnome][2][?][2]: add rspeer's Dominion simulator
5
+* [Games][1] . . . 08 August 2013, at 03:40 PM UTC by Gnome: adopt Dominion
6
+* [Dominion][3] . . . 10 April 2012, at 12:47 AM GMT by Gnome: add rspeer's Dominion simulator
7 7
8 8
[1]: Games
9 9
[3]: Dominion
... ...
\ No newline at end of file
HomeAutomation/AeotecDSB05.md
... ...
@@ -3,8 +3,8 @@ title: AeotecDSB05
3 3
---
4 4
5 5
Include
6
-: Press the black [ZWave][1][?][1] button under the cover to confirm
6
+: Press the black ZWave button under the cover to confirm
7 7
8 8
Exclude
9
-: Press the black [ZWave][1][?][1] button under the cover to confirm
9
+: Press the black ZWave button under the cover to confirm
10 10
HomeAutomation/AeotecMultiSensor6.md
... ...
@@ -6,5 +6,5 @@ Manual
6 6
: <https://aeotec.freshdesk.com/support/solutions/articles/6000057073-multisensor-6-user-guide->
7 7
8 8
Include
9
-: Press the action button on the back cover. The LED on [MultiSensor][1][?][1] will blink Green rapidly, followed by a solid Green LED for 1 second for successful inclusion, or a solid red LED for 1 second for a failed inclusion.
9
+: Press the action button on the back cover. The LED on MultiSensor will blink Green rapidly, followed by a solid Green LED for 1 second for successful inclusion, or a solid red LED for 1 second for a failed inclusion.
10 10
HomeAutomation/EurotronicStellaZ.md
... ...
@@ -25,40 +25,41 @@ Include
25 25
26 26
`stellaz-poll.sh`
27 27
28
-#!/bin/sh
29
-set -e
30
-
31
-PRETEND=echo
32
-
33
-MQTT_SERVER=localhost   # CUSTOMIZE ME
34
-MQTT_TIMEOUT=5
35
-
36
-# StellaZ multilevel sensor for air temperature
37
-AIR\_TEMPERATURE\_CLASS=49
38
-
39
-# intensity 10 ~= 1 minute
40
-# wakeup is 480s ~ 8min so poll every 7mins
41
-INTENSITY=70
42
-
43
-get\_value\_id() {
44
-    node_id=$1
45
-    mosquitto_sub -W $MQTT_TIMEOUT -C 1 -h $MQTT_SERVER -t "OpenZWave/1/node/$node_id/instance/1/commandclass/$AIR\_TEMPERATURE\_CLASS/value/#" \
46
-        | python -c "import sys,json; j = json.load(sys.stdin); print(j['ValueIDKey'])"
47
-    }
48
-
49
-enable_polling() {
50
-    value_id=$1
51
-    payload='{"ValueIDKey": '$value_id', "Intensity": '$INTENSITY'}'
52
-    echo mosquitto_pub -h $MQTT_SERVER -t "OpenZWave/1/command/enablepoll/" -m "$payload"
53
-}
54
-
55
-for node_id in $@
56
-do
57
-    value_id=$(get\_value\_id $node_id)
58
-    enable_polling $value_id
28
+```shell
29
+#!/bin/sh
30
+set -e
31
+
32
+PRETEND=echo
33
+
34
+MQTT_SERVER=localhost   # CUSTOMIZE ME
35
+MQTT_TIMEOUT=5
36
+
37
+# StellaZ multilevel sensor for air temperature
38
+AIR\_TEMPERATURE\_CLASS=49
39
+
40
+# intensity 10 ~= 1 minute
41
+# wakeup is 480s ~ 8min so poll every 7mins
42
+INTENSITY=70
43
+
44
+get\_value\_id() {
45
+    node_id=$1
46
+    mosquitto_sub -W $MQTT_TIMEOUT -C 1 -h $MQTT_SERVER -t "OpenZWave/1/node/$node_id/instance/1/commandclass/$AIR\_TEMPERATURE\_CLASS/value/#" \
47
+        | python -c "import sys,json; j = json.load(sys.stdin); print(j['ValueIDKey'])"
48
+    }
49
+
50
+enable_polling() {
51
+    value_id=$1
52
+    payload='{"ValueIDKey": '$value_id', "Intensity": '$INTENSITY'}'
53
+    echo mosquitto_pub -h $MQTT_SERVER -t "OpenZWave/1/command/enablepoll/" -m "$payload"
54
+}
55
+
56
+for node_id in $@
57
+do
58
+    value_id=$(get\_value\_id $node_id)
59
+    enable_polling $value_id
59 60
done
60 61
61
-[[$[Get Code]]][1]
62
+```
62 63
63 64
Usage:
64 65
HomeAutomation/FibaroFGD212.md
... ...
@@ -9,7 +9,7 @@ Model
9 9
: Universal Dimmer 2
10 10
11 11
Model ID
12
-: [FGD212][1][?][1]
12
+: FGD212
13 13
14 14
Type
15 15
: Z-Wave Dimmer
... ...
@@ -41,7 +41,7 @@ Manual
41 41
| Red | Calibrate with LED Bypass |
42 42
| White | ON/OFF |
43 43
| Green | Reset power consumption data |
44
-| Violet | [ZWave][2][?][2] Range test |
44
+| Violet | ZWave Range test |
45 45
| Yellow | Factory reset |
46 46
47 47
HomeAutomation/HeimanHS1DSZ.md
... ...
@@ -7,7 +7,7 @@ Manual
7 7
8 8
9 9
10
-# [ZWave][1][?][1]
10
+# ZWave
11 11
12 12
## Inclusion
13 13
HomeAutomation/Horstmann.md
... ...
@@ -9,13 +9,13 @@ title: Horstmann
9 9
10 10
11 11
Include
12
-: Setup [ZWave][1][?][1] / Learn
12
+: Setup ZWave / Learn
13 13
14 14
Exclude
15
-: Setup [ZWave][1][?][1] / Learn
15
+: Setup ZWave / Learn
16 16
17 17
Associate
18
-: Setup [ZWave][1][?][1] / Associate Node
18
+: Setup ZWave / Associate Node
19 19
20 20
21 21
... ...
@@ -44,7 +44,7 @@ From (Grant) Combi boiler:
44 44
* N (blue) to N
45 45
* Switched CH-On (green/yellow!) to 4
46 46
47
-[SSR302][2][?][2] internal electronics provide permanent Live (L) to switched outputs (1, 2, 3, 4).
47
+SSR302 internal electronics provide permanent Live (L) to switched outputs (1, 2, 3, 4).
48 48
49 49
Switched outputs are:
50 50
... ...
@@ -72,6 +72,6 @@ Observations:
72 72
## Associate SCS-317 and SSR-302
73 73
74 74
* Send HA a NIF from the SCS-317 to synchronize associations with HA
75
-* On the SCS-317 [ZWave][1][?][1] setup menu, associate node
75
+* On the SCS-317 ZWave setup menu, associate node
76 76
* Press and Hold both white buttons on SSR-302
77 77
HomeAutomation/MqttDasherService.md
... ...
@@ -18,28 +18,28 @@ This assumes `npm install` without the global flag so uses `/opt/node_modules` i
18 18
# Install
19 19
20 20
21
-# install nodejs from debsource
22
-curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
23
-sudo apt-get install -y nodejs
24
-
25
-# install mqtt-dasher and libpcap dependency
26
-sudo apt-get install libpcap-dev
27
-sudo npm install mqtt-dasher
28
-
29
-# add user to run the service, and group to limit access to setcap files
30
-sudo useradd mqtt-dasher -d /opt/node_modules/mqtt-dasher -U
31
-
32
-# make a copy of nodejs to set privileged net capabilities on
33
-sudo cp `which nodejs` /opt/node_modules/mqtt-dasher/nodejs.setcap
34
-
35
-# set user and group for mqtt-dasher first
36
-sudo chgrp mqtt-dasher /opt/node_modules/mqtt-dasher/nodejs.setcap
37
-sudo chmod 750 /opt/node_modules/mqtt-dasher/nodejs.setcap
38
-
39
-# allow raw sockets and net admin for promiscuous mode
40
-sudo setcap 'CAP\_NET\_RAW+eip CAP\_NET\_ADMIN+eip' /opt/node_modules/mqtt-dasher/nodejs.setcap
41 21
42
-[[$[Get Code]]][1]
22
+ # install nodejs from debsource
23
+ curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
24
+ sudo apt-get install -y nodejs
25
+
26
+ # install mqtt-dasher and libpcap dependency
27
+ sudo apt-get install libpcap-dev
28
+ sudo npm install mqtt-dasher
29
+
30
+ # add user to run the service, and group to limit access to setcap files
31
+ sudo useradd mqtt-dasher -d /opt/node_modules/mqtt-dasher -U
32
+
33
+ # make a copy of nodejs to set privileged net capabilities on
34
+ sudo cp `which nodejs` /opt/node_modules/mqtt-dasher/nodejs.setcap
35
+
36
+ # set user and group for mqtt-dasher first
37
+ sudo chgrp mqtt-dasher /opt/node_modules/mqtt-dasher/nodejs.setcap
38
+ sudo chmod 750 /opt/node_modules/mqtt-dasher/nodejs.setcap
39
+
40
+ # allow raw sockets and net admin for promiscuous mode
41
+ sudo setcap 'CAP\_NET\_RAW+eip CAP\_NET\_ADMIN+eip' /opt/node_modules/mqtt-dasher/nodejs.setcap
42
+
43 43
44 44
45 45
... ...
@@ -89,10 +89,10 @@ sudo mkdir /etc/mqtt-dasher
89 89
90 90
91 91
92
-sudo systemctl enable mqtt-dasher
93
-sudo systemctl start mqtt-dasher
94 92
95
-[[$[Get Code]]][3]
93
+ sudo systemctl enable mqtt-dasher
94
+ sudo systemctl start mqtt-dasher
95
+
96 96
97 97
98 98
... ...
@@ -106,16 +106,16 @@ An mqtt switch which:
106 106
107 107
108 108
109
-switch:
110
-- name: Listerine
111
-  platform: mqtt
112
-  command_topic: ha/dash/listerine
113
-  state_topic: ha/dash/listerine
114
-  payload_on: 'active'
115
-  payload_off: 'inactive'
116
-  retain: false
117 109
118
-[[$[Get Code]]][4]
110
+ switch:
111
+ - name: Listerine
112
+   platform: mqtt
113
+   command_topic: ha/dash/listerine
114
+   state_topic: ha/dash/listerine
115
+   payload_on: 'active'
116
+   payload_off: 'inactive'
117
+   retain: false
118
+
119 119
120 120
The switch isn't intended to be used in the HA UI, it should be mapped to a script instead.
121 121
HomeAutomation/OliveSmartOilMonitor.md
... ...
@@ -34,7 +34,7 @@ Open ports
34 34
35 35
36 36
Battery
37
-: [CR2430][6][?][6], 3V. (Though a [CR2032][7][?][7] will fit too.)
37
+: CR2430, 3V. (Though a CR2032 will fit too.)
38 38
39 39
40 40
... ...
@@ -42,7 +42,7 @@ Battery
42 42
43 43
* Antenna mount (type?)
44 44
* USB power
45
-* [RJ45][8][?][8] ethernet socket
45
+* RJ45 ethernet socket
46 46
47 47
48 48
... ...
@@ -50,7 +50,7 @@ Manufacturer
50 50
: Tekelek Europe
51 51
52 52
Model
53
-: [TEK608A][9][?][9] Broadband gateway
53
+: TEK608A Broadband gateway
54 54
55 55
Open Ports
56 56
: 80 (http)
... ...
@@ -75,7 +75,7 @@ Uses the microchip TCP/IP stack and `mchp.js` Microchip javascript library
75 75
76 76
77 77
78
-### Indicator [LEDs][11][?][11]
78
+### Indicator LEDs
79 79
80 80
Orange
81 81
: Power On
... ...
@@ -105,7 +105,7 @@ Frequency
105 105
106 106
107 107
108
-### [SoC][12][?][12]
108
+### SoC
109 109
110 110
#### PIC
111 111
... ...
@@ -138,7 +138,7 @@ EUSART
138 138
MSSP[1][14] SPI w/DMA
139 139
: 2, Y
140 140
141
-MSSP [I2C][15][?][15]
141
+MSSP I2C
142 142
: Y
143 143
144 144
A/D 12-bit (ch)
... ...
@@ -175,7 +175,7 @@ RTCC[4][18]
175 175
176 176
#### Radio
177 177
178
-[Si4330][23] [BPS17E][24][?][24] . 1515
178
+[Si4330][23] BPS17E . 1515
179 179
180 180
181 181
... ...
@@ -188,7 +188,7 @@ Type
188 188
Modulation Scheme (max kbps) FSK / OOK
189 189
: 256 / 40
190 190
191
-Frequency Range ([MHz][25][?][25])
191
+Frequency Range (MHz)
192 192
: 240-960
193 193
194 194
Output Power Range (dBm)
... ...
@@ -204,13 +204,13 @@ TX current (mA)
204 204
: -
205 205
206 206
Package
207
-: [QFN20][26][?][26]
207
+: QFN20
208 208
209 209
210 210
211 211
#### SPI Flash
212 212
213
-[SST25VF040B][27] 80-41-[S2AE][28][?][28] 1537WC7-B
213
+[SST25VF040B][27] 80-41-S2AE 1537WC7-B
214 214
215 215
216 216
HomeAutomation/OwnTracks.md
... ...
@@ -18,16 +18,16 @@ title: OwnTracks
18 18
19 19
## Sign Client cert with CA key
20 20
21
-## Send [PKCS12][1][?][1] encoded Client cert to the user
21
+## Send PKCS12 encoded Client cert to the user
22 22
23
-openssl pkcs12 \
24
-  -export \
25
-  -in username.crt \
26
-  -inkey username.key \
27
-  -name "User's certificate/key" \
28
-  -out username.p12
29 23
30
-[[$[Get Code]]][2]
24
+ openssl pkcs12 \
25
+   -export \
26
+   -in username.crt \
27
+   -inkey username.key \
28
+   -name "User's certificate/key" \
29
+   -out username.p12
30
+
31 31
32 32
On iOS the file needs a `.otrp` extension.
33 33
HomeAutomation/OzwDaemon.md
... ...
@@ -10,16 +10,16 @@ Install ozwdaemon on Raspbian 10 (without Docker).
10 10
11 11
# Extract from Docker
12 12
13
-Do this on a dev host. We don't need or want docker on the [RPi][9][?][9].
13
+Do this on a dev host. We don't need or want docker on the RPi.
14 14
15 15
Get the latest `linux/arm` tag from <https://hub.docker.com/r/openzwave/ozwdaemon/tags>
16 16
17
-OZW=openzwave/ozwdaemon:latest@sha256:f51ed08d35d45280b3f5dccfc982d7914c27a548ca4453548b5713c6ab8ec9e8
18
-docker pull $OZW
19
-OZW_CONT=$(docker create $OZW)
20
-docker export $OZW_CONT > ozwdaemon.f51ed08d.tar
21 17
22
-[[$[Get Code]]][10]
18
+ OZW=openzwave/ozwdaemon:latest@sha256:f51ed08d35d45280b3f5dccfc982d7914c27a548ca4453548b5713c6ab8ec9e8
19
+ docker pull $OZW
20
+ OZW_CONT=$(docker create $OZW)
21
+ docker export $OZW_CONT > ozwdaemon.f51ed08d.tar
22
+
23 23
24 24
25 25
... ...
@@ -54,15 +54,15 @@ I suppose I should make a deb for it...
54 54
55 55
On the dev host:
56 56
57
-# explode the tar
58
-tar xvf ozwdaemon.f51ed08d.tar
59
-
60
-# you'll need to deal with some /opt and ~/.local permissions yourself...
61
-
62
-scp usr/local/bin/ozwdaemon pi@rpi:.local/bin/
63
-scp -r opt/qt pi@rpi:/opt/qt
64 57
65
-[[$[Get Code]]][13]
58
+ # explode the tar
59
+ tar xvf ozwdaemon.f51ed08d.tar
60
+
61
+ # you'll need to deal with some /opt and ~/.local permissions yourself...
62
+
63
+ scp usr/local/bin/ozwdaemon pi@rpi:.local/bin/
64
+ scp -r opt/qt pi@rpi:/opt/qt
65
+
66 66
67 67
68 68
HomeAutomation/RecentChanges.md
... ...
@@ -2,23 +2,23 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [OzwDaemon][1] . . . 15 October 2020, at 11:56 AM UTC by [Gnome][2][?][2]: Add restart to ozw service
6
-* [RoomAssistant][3] . . . 14 October 2020, at 01:44 PM UTC by [Gnome][2][?][2]: room-assistant is installed in /usr/bin
7
-* [EurotronicStellaZ][4] . . . 30 September 2020, at 12:30 PM UTC by [Gnome][2][?][2]: Stella Z polling script
8
-* [EurotronicSpiritZ][5] . . . 27 September 2020, at 11:09 AM UTC by [Gnome][2][?][2]: link treblig
9
-* [FibaroFGD212][6] . . . 26 September 2020, at 11:48 PM UTC by [Gnome][2][?][2]: inclusion
10
-* [AeotecMultiSensor6][7] . . . 26 September 2020, at 10:50 PM UTC by [Gnome][2][?][2]: inclusion
11
-* [HomeAutomation][8] . . . 26 September 2020, at 10:46 PM UTC by [Gnome][2][?][2]: Aeotec MultiSensor 6
12
-* [AeotecDSB05][9] . . . 26 September 2020, at 10:45 PM UTC by [Gnome][2][?][2]: Aeotec DSB05 inclusion and exclusion
13
-* [OliveSmartOilMonitor][10] . . . 02 March 2020, at 12:00 AM UTC by [Mark][11][?][11]:
14
-* [Horstmann][12] . . . 01 December 2019, at 08:23 PM UTC by [Gnome][2][?][2]: formatting
15
-* [AeotecZ-Stick][13] . . . 16 February 2019, at 11:18 PM UTC by [Gnome][2][?][2]: manual for gen5
16
-* [HeimanHS1DSZ][14] . . . 05 October 2017, at 07:41 PM UTC by [Gnome][2][?][2]: inclusion
17
-* [GreenwavePowernode][15] . . . 28 September 2017, at 11:05 PM UTC by [Gnome][2][?][2]:
18
-* [MqttDasherService][16] . . . 13 May 2017, at 11:55 AM UTC by [Gnome][2][?][2]: nexe
19
-* [AmazonDash][17][?][17] . . . 13 May 2017, at 11:25 AM UTC by [Gnome][2][?][2]: yml
20
-* [DanfossLC13][18] . . . 01 January 2017, at 04:03 PM UTC by [Gnome][2][?][2]: vesternet manual, E5 link test
21
-* [OwnTracks][19] . . . 10 February 2016, at 12:36 AM UTC by [Gnome][2][?][2]: MQTT bridge with tls
5
+* [OzwDaemon][1] . . . 15 October 2020, at 11:56 AM UTC by Gnome: Add restart to ozw service
6
+* [RoomAssistant][3] . . . 14 October 2020, at 01:44 PM UTC by Gnome: room-assistant is installed in /usr/bin
7
+* [EurotronicStellaZ][4] . . . 30 September 2020, at 12:30 PM UTC by Gnome: Stella Z polling script
8
+* [EurotronicSpiritZ][5] . . . 27 September 2020, at 11:09 AM UTC by Gnome: link treblig
9
+* [FibaroFGD212][6] . . . 26 September 2020, at 11:48 PM UTC by Gnome: inclusion
10
+* [AeotecMultiSensor6][7] . . . 26 September 2020, at 10:50 PM UTC by Gnome: inclusion
11
+* [HomeAutomation][8] . . . 26 September 2020, at 10:46 PM UTC by Gnome: Aeotec MultiSensor 6
12
+* [AeotecDSB05][9] . . . 26 September 2020, at 10:45 PM UTC by Gnome: Aeotec DSB05 inclusion and exclusion
13
+* [OliveSmartOilMonitor][10] . . . 02 March 2020, at 12:00 AM UTC by Mark:
14
+* [Horstmann][12] . . . 01 December 2019, at 08:23 PM UTC by Gnome: formatting
15
+* [AeotecZ-Stick][13] . . . 16 February 2019, at 11:18 PM UTC by Gnome: manual for gen5
16
+* [HeimanHS1DSZ][14] . . . 05 October 2017, at 07:41 PM UTC by Gnome: inclusion
17
+* [GreenwavePowernode][15] . . . 28 September 2017, at 11:05 PM UTC by Gnome:
18
+* [MqttDasherService][16] . . . 13 May 2017, at 11:55 AM UTC by Gnome: nexe
19
+* AmazonDash . . . 13 May 2017, at 11:25 AM UTC by Gnome: yml
20
+* [DanfossLC13][18] . . . 01 January 2017, at 04:03 PM UTC by Gnome: vesternet manual, E5 link test
21
+* [OwnTracks][19] . . . 10 February 2016, at 12:36 AM UTC by Gnome: MQTT bridge with tls
22 22
23 23
[1]: OzwDaemon
24 24
[3]: RoomAssistant
HomeAutomation/RoomAssistant.md
... ...
@@ -10,20 +10,20 @@ Requires Node 12.
10 10
11 11
12 12
13
-curl -sL https://deb.nodesource.com/setup_12.x | bash -
14
-apt-get install -y nodejs
15 13
16
-[[$[Get Code]]][1]
14
+ curl -sL https://deb.nodesource.com/setup_12.x | bash -
15
+ apt-get install -y nodejs
16
+
17 17
18 18
19 19
20 20
# Service User
21 21
22
-sudo useradd -r -d /var/room-assistant room-assistant
23
-sudo mkdir /var/room-assistant
24
-sudo chown room-assistant:room-assistant /var/room-assistant
25 22
26
-[[$[Get Code]]][2]
23
+ sudo useradd -r -d /var/room-assistant room-assistant
24
+ sudo mkdir /var/room-assistant
25
+ sudo chown room-assistant:room-assistant /var/room-assistant
26
+
27 27
28 28
29 29
... ...
@@ -65,11 +65,11 @@ sudo chown room-assistant:room-assistant /var/room-assistant
65 65
66 66
# BLE configuration
67 67
68
-sudo setcap cap\_net\_raw+eip $(eval readlink -f `which node`)
69
-sudo setcap cap\_net\_raw+eip $(eval readlink -f `which hcitool`)
70
-sudo setcap cap\_net\_admin+eip $(eval readlink -f `which hciconfig`)
71 68
72
-[[$[Get Code]]][3]
69
+ sudo setcap cap\_net\_raw+eip $(eval readlink -f `which node`)
70
+ sudo setcap cap\_net\_raw+eip $(eval readlink -f `which hcitool`)
71
+ sudo setcap cap\_net\_admin+eip $(eval readlink -f `which hciconfig`)
72
+
73 73
74 74
[1]: RoomAssistant?action=sourceblock&num=1
75 75
[2]: RoomAssistant?action=sourceblock&num=2
HorseRiding/RecentChanges.md
... ...
@@ -2,15 +2,15 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [PoloKit][1] . . . 12 May 2013, at 08:41 PM GMT by [Gnome][2][?][2]: Update prices
6
-* [Kit][3] . . . 14 May 2012, at 02:51 PM GMT by [Gnome][2][?][2]: add riser type
7
-* [HorseRiding][4] . . . 14 May 2012, at 02:21 PM GMT by [Gnome][2][?][2]: add Kit
8
-* [Polo][5] . . . 02 March 2012, at 02:18 AM GMT by [Gnome][2][?][2]: people
9
-* [PoloChukkas][6] . . . 03 July 2011, at 04:00 PM GMT by [Gnome][2][?][2]: Match analysis, chukka 4
10
-* [PoloLessons][7] . . . 13 June 2011, at 06:24 PM GMT by [Gnome][2][?][2]: Summer 2011 section
11
-* [PoloStickAndBall][8] . . . 12 May 2011, at 01:24 AM GMT by [Gnome][2][?][2]: Stick and Ball 35
12
-* [PoloClubs][9] . . . 26 August 2010, at 05:29 PM GMT by [Gnome][2][?][2]: Polo Club Pays Basque
13
-* [Home][10][?][10] . . . 26 August 2010, at 05:29 PM GMT by [Gnome][2][?][2]: add Polo Clubs
5
+* [PoloKit][1] . . . 12 May 2013, at 08:41 PM GMT by Gnome: Update prices
6
+* [Kit][3] . . . 14 May 2012, at 02:51 PM GMT by Gnome: add riser type
7
+* [HorseRiding][4] . . . 14 May 2012, at 02:21 PM GMT by Gnome: add Kit
8
+* [Polo][5] . . . 02 March 2012, at 02:18 AM GMT by Gnome: people
9
+* [PoloChukkas][6] . . . 03 July 2011, at 04:00 PM GMT by Gnome: Match analysis, chukka 4
10
+* [PoloLessons][7] . . . 13 June 2011, at 06:24 PM GMT by Gnome: Summer 2011 section
11
+* [PoloStickAndBall][8] . . . 12 May 2011, at 01:24 AM GMT by Gnome: Stick and Ball 35
12
+* [PoloClubs][9] . . . 26 August 2010, at 05:29 PM GMT by Gnome: Polo Club Pays Basque
13
+* Home . . . 26 August 2010, at 05:29 PM GMT by Gnome: add Polo Clubs
14 14
15 15
[1]: PoloKit
16 16
[3]: Kit
House/RecentChanges.md
... ...
@@ -2,16 +2,16 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [WhaleBarnMedia][1] . . . 12 August 2021, at 02:23 PM UTC by [Gnome][2][?][2]: DietPi replaces Volumio
6
-* [WhaleBarnAutomation][3] . . . 13 January 2017, at 06:50 PM UTC by [Gnome][2][?][2]: gu5.3 in study
7
-* [WhaleBarn][4] . . . 23 December 2016, at 01:58 PM UTC by [Gnome][2][?][2]: link floorplanner, roomstyler
8
-* [Automation][5] . . . 19 May 2014, at 12:09 PM UTC by [Gnome][2][?][2]: redirect to Network.HomeAutomation
9
-* [Club][6] . . . 17 April 2014, at 02:23 PM UTC by [Gnome][2][?][2]: Requirements
10
-* [House][7] . . . 08 April 2014, at 03:29 PM UTC by [Gnome][2][?][2]: link Club
11
-* [WestfieldFarm][8] . . . 03 January 2013, at 11:54 AM GMT by [Gnome][2][?][2]: activities map
12
-* [TempsfordMill][9] . . . 18 January 2012, at 03:09 AM GMT by [Gnome][2][?][2]: descriptions
13
-* [GlenalmondAvenue][10] . . . 21 August 2011, at 03:55 PM GMT by [Gnome][2][?][2]: glenalmond 2-bedroom
14
-* [AkemanBarn][11] . . . 16 August 2011, at 09:53 PM GMT by [Gnome][2][?][2]: french doors
5
+* [WhaleBarnMedia][1] . . . 12 August 2021, at 02:23 PM UTC by Gnome: DietPi replaces Volumio
6
+* [WhaleBarnAutomation][3] . . . 13 January 2017, at 06:50 PM UTC by Gnome: gu5.3 in study
7
+* [WhaleBarn][4] . . . 23 December 2016, at 01:58 PM UTC by Gnome: link floorplanner, roomstyler
8
+* [Automation][5] . . . 19 May 2014, at 12:09 PM UTC by Gnome: redirect to Network.HomeAutomation
9
+* [Club][6] . . . 17 April 2014, at 02:23 PM UTC by Gnome: Requirements
10
+* [House][7] . . . 08 April 2014, at 03:29 PM UTC by Gnome: link Club
11
+* [WestfieldFarm][8] . . . 03 January 2013, at 11:54 AM GMT by Gnome: activities map
12
+* [TempsfordMill][9] . . . 18 January 2012, at 03:09 AM GMT by Gnome: descriptions
13
+* [GlenalmondAvenue][10] . . . 21 August 2011, at 03:55 PM GMT by Gnome: glenalmond 2-bedroom
14
+* [AkemanBarn][11] . . . 16 August 2011, at 09:53 PM GMT by Gnome: french doors
15 15
16 16
[1]: WhaleBarnMedia
17 17
[3]: WhaleBarnAutomation
House/WhaleBarn.md
... ...
@@ -3,7 +3,7 @@ title: WhaleBarn
3 3
---
4 4
5 5
Postcode
6
-: [CB23][1][?][1] 4NS
6
+: CB23 4NS
7 7
8 8
Council Tax
9 9
: [Band G][2]
... ...
@@ -375,7 +375,7 @@ Dimensions
375 375
[34]: https://roomstyler.com/rooms/16818984/whale-barn-ground-floor
376 376
[35]: https://roomstyler.com/rooms/16818975/whale-barn-1st-floor
377 377
[36]: http://floorplanner.com/projects/28534891-whale-barn
378
- []: http://markferry.net/house/whale-barn-floor-plan.jpg
378
+ [37]: http://markferry.net/house/whale-barn-floor-plan.jpg
379 379
[38]: http://www.daftlogic.com/projects-google-maps-area-calculator-tool.htm
380 380
[39]: http://www.daftlogic.com/downloads/kml/14042014-0rhvs49n.kml
381 381
[40]: http://viewer.zmags.com/publication/e8ffb87c#/e8ffb87c/98
House/WhaleBarnAutomation.md
... ...
@@ -10,7 +10,7 @@ Implements
10 10
# Main Control
11 11
12 12
Controller 0
13
-: [OpenHAB][2][?][2] on Raspberry Pi [Pixie][3]
13
+: OpenHAB on Raspberry Pi [Pixie][3]
14 14
15 15
Controller 1
16 16
: Domoticz slave controller (see [Domoticz sharing][4])
... ...
@@ -41,7 +41,7 @@ Curtains
41 41
# Study
42 42
43 43
Lighting, Over
44
-: 1 2-gang dimmer module (two sets of [GU5][5][?][5].3 rails), 25mm pattress!
44
+: 1 2-gang dimmer module (two sets of GU5.3 rails), 25mm pattress!
45 45
46 46
Lighting, Standing
47 47
: ???
House/WhaleBarnMedia.md
... ...
@@ -14,13 +14,13 @@ Implements
14 14
| `study` | RPi 3B 1.2 | OSMC | TV 2.0 |
15 15
| `lounge` | RPi 3B 1.2 | OSMC | Z5500 5.1 |
16 16
| `ballroom` | RPi 3B+ 1.3 | OSMC | Onkyo 5.0 |
17
-| `outside` | RPi 2B 1.1 | [DietPi][3][?][3] | Onkyo 5.0, 2+2 |
18
-| `library` | RPi 1B rev2 | [DietPi][3][?][3] | Clever CPA 40 2.0 |
19
-| `bedroom-mark` | RPi 1B rev2 | [DietPi][3][?][3] | Microlabs 2.1 |
17
+| `outside` | RPi 2B 1.1 | DietPi | Onkyo 5.0, 2+2 |
18
+| `library` | RPi 1B rev2 | DietPi | Clever CPA 40 2.0 |
19
+| `bedroom-mark` | RPi 1B rev2 | DietPi | Microlabs 2.1 |
20 20
21 21
22 22
23
-# [RPi][4][?][4] CPU Revision Codes
23
+# RPi CPU Revision Codes
24 24
25 25
<https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md>
26 26
MediaCentre/BackEnd.md
... ...
@@ -64,7 +64,7 @@ Implemented by
64 64
65 65
# File Permissions
66 66
67
-* Requires [ACLs][7][?][7]
67
+* Requires ACLs
68 68
69 69
70 70
... ...
@@ -99,7 +99,7 @@ Implemented by
99 99
* All media files have other permissions "\---|"
100 100
* All MEDIATYPE files have named group "mcadm-MEDIATYPE" permissions "rw-"
101 101
* All MEDIATYPE files have named group "mc-MEDIATYPE" permissions "r--"
102
-* All MEDIATYPE directories have default [ACLs][7][?][7] reflecting the above permissions
102
+* All MEDIATYPE directories have default ACLs reflecting the above permissions
103 103
104 104
105 105
... ...
@@ -149,7 +149,7 @@ Example ACL (`getfacl /mnt/media/movies`)
149 149
# User Contributed Files
150 150
151 151
* All users have a `$user/shared-media` directory with write permission
152
-* `$user/shared-media` [ACLs][7][?][7] allow access by mediasys groups
152
+* `$user/shared-media` ACLs allow access by mediasys groups
153 153
* `mediasys/users/$user` is a symlink to `$user/shared-media`
154 154
* CIFS requires `wide links = yes` for the `mediasys` share.
155 155
* Not compatible with NFS.
... ...
@@ -244,7 +244,7 @@ Read-only Exports (without security)
244 244
/export/mediasys/photos/meta 192.168.0.0/24(ro,nohide,sync,no_subtree_check)
245 245
246 246
247
-Permissions fixes for [NFSv3][8][?][8]
247
+Permissions fixes for NFSv3
248 248
249 249
/export/mediasys 192.168.0.0/24(ro,fsid=0,sync,no_subtree_check,all_squash,anongid=3000)
250 250
/export/mediasys/movies/library 192.168.0.0/24(ro,nohide,sync,no_subtree_check,anongid=3003)
... ...
@@ -267,8 +267,8 @@ mount -t nfs4 -o ro media: /mnt/media
267 267
268 268
[ivtv Driver supported hardware][10]
269 269
270
-* [CX23415][11][?][11]
271
-* [CX23416][12][?][12]
270
+* CX23415
271
+* CX23416
272 272
273 273
274 274
... ...
@@ -283,16 +283,16 @@ mount -t nfs4 -o ro media: /mnt/media
283 283
| Nova-T-500 | Yes | | 2 | £55 [Ebuyer][16] | USB bridge device; not fully supported |
284 284
| Pinnacle PCTV DVB-T Pro PCI | No | | 2 | £56 [scan][17] | No support |
285 285
| [DViCO FusionHDTV Dual Digital][18] | Yes | | 2 |   |   |
286
-| [AverTV][19][?][19] DVB-T A771 |   |   |   | £35 [SpecialTech][20] |   |
287
-| [AverTV][19][?][19] DVB-T A777 | Yes | | 1 | Supplier?? | Replaces A771 |
288
-| [TerraTec][21][?][21] Cinergy 2400i PCI-E |   | | 2 |   | [No support yet][22] |
289
-| Compro [VideoMate][23][?][23] DVB-T200 PCI | Yes | | 1 |   |   |
286
+| AverTV DVB-T A771 |   |   |   | £35 [SpecialTech][20] |   |
287
+| AverTV DVB-T A777 | Yes | | 1 | Supplier?? | Replaces A771 |
288
+| TerraTec Cinergy 2400i PCI-E |   | | 2 |   | [No support yet][22] |
289
+| Compro VideoMate DVB-T200 PCI | Yes | | 1 |   |   |
290 290
291 291
292 292
293 293
* * *
294 294
295
-# [CAMs][24][?][24]
295
+# CAMs
296 296
297 297
* <http://www.divineo.co.uk/cgi-bin/div-uk/elv-phoenix.html> (can use for Nova-T PCI)
298 298
... ...
@@ -312,7 +312,7 @@ mount -t nfs4 -o ro media: /mnt/media
312 312
### High Quality Compressed
313 313
314 314
* H.264 video
315
-* [AC3][26][?][26] audio
315
+* AC3 audio
316 316
* mp4 container
317 317
* ~2GB
318 318
... ...
@@ -320,8 +320,8 @@ mount -t nfs4 -o ro media: /mnt/media
320 320
321 321
### High Quality Raw
322 322
323
-* [MPEG2][27][?][27]
324
-* [AC3][26][?][26] audio
323
+* MPEG2
324
+* AC3 audio
325 325
* VOB
326 326
* ~9GB
327 327
... ...
@@ -333,16 +333,16 @@ mount -t nfs4 -o ro media: /mnt/media
333 333
334 334
* Hardware or software encoding?
335 335
* Hard enc more expensive, Soft enc needs more powerful CPU
336
- * No encoder needed, DVB-T is [MPEG2][27][?][27]. [MPEG2][27][?][27]->[MPEG4][28][?][28] needed anyway
337
-* Does a software encoder require encoding to [MPEG2][27][?][27]?
336
+ * No encoder needed, DVB-T is MPEG2. MPEG2->MPEG4 needed anyway
337
+* Does a software encoder require encoding to MPEG2?
338 338
* Yes, or some other codec
339 339
* Can a software encoder encode to something else in Realtime?
340
- * [DivX][29][?][29], Xvid, H.264 check processor requirements
340
+ * DivX, Xvid, H.264 check processor requirements
341 341
* MPEG-4 encoders
342 342
* Hauppauge HVR-4000 does H.264
343
-* Front end may need up to 1GB RAM to store [MythTV][30][?][30] UI elements for 1080p displays
344
-* VIA [UniChromePro][31][?][31] graphics may eventually be capable of H.264 acceleration with [XvMC][32][?][32]
345
-* VIA & nVidia cards can accelerate decoding of [MPEG2][27][?][27]
343
+* Front end may need up to 1GB RAM to store MythTV UI elements for 1080p displays
344
+* VIA UniChromePro graphics may eventually be capable of H.264 acceleration with XvMC
345
+* VIA & nVidia cards can accelerate decoding of MPEG2
346 346
347 347
[1]: /Network/Hastur
348 348
[2]: /Network/Cyclops
MediaCentre/Catalogue.md
... ...
@@ -4,7 +4,7 @@ title: Catalogue
4 4
5 5
# DVD - Services
6 6
7
-## [DVDCorral][1][?][1]
7
+## DVDCorral
8 8
9 9
* <http://www.dvdcorral.com>
10 10
... ...
@@ -30,7 +30,7 @@ title: Catalogue
30 30
31 31
32 32
33
-## [GCStar][2][?][2]
33
+## GCStar
34 34
35 35
* <http://www.gcstar.org>
36 36
MediaCentre/CleverAcousticsCPA40.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: Clever Acoustics
7 7
8 8
Model
9
-: [CPA40][1][?][1]
9
+: CPA40
10 10
11 11
Type
12 12
: 2x20W Amp with autosensing power on and off
MediaCentre/FrontEnd.md
... ...
@@ -26,10 +26,10 @@ title: FrontEnd
26 26
* 5.1 audio output
27 27
* Connect to [Z5500][5] (Optical or Digital Co-ax)
28 28
* 1080p video playback
29
-* mini PCI slot? (for [BCM90015][6][?][6])
29
+* mini PCI slot? (for BCM90015)
30 30
* Silent
31 31
* Integrated IR?
32
-* More RAM than the [ATV1][7][?][7]?
32
+* More RAM than the ATV1?
33 33
34 34
35 35
... ...
@@ -44,7 +44,7 @@ title: FrontEnd
44 44
* Mac Mini
45 45
* Via Epia - Low Power for SD (P3 600MHz)
46 46
* [Apple TV][1]
47
-* [ASRock][9][?][9] Vision 3D
47
+* ASRock Vision 3D
48 48
* Zotac
49 49
* [Boxee Box][10] - closed hardware, GPL violations
50 50
* [Intel NUC][11]
... ...
@@ -57,13 +57,13 @@ title: FrontEnd
57 57
| [AppleTV][1] 1 | x86 | 1080p | yes | optical | yes | ebay £100 |
58 58
| [Celeron NUC][13] | x86 | 1080p | no | HDMI | yes | [142+][14] |
59 59
| [Zotac ID80][15] | x86 | 1080p | USB | optical | yes | ~300 |
60
-| Zotac [ID17][16][?][16] | x86 | 1080p | USB | optical | yes | [190][17] |
60
+| Zotac ID17 | x86 | 1080p | USB | optical | yes | [190][17] |
61 61
| Lenovo Q190 | x86 | 1080p | no | optical | no | [158][18] |
62 62
| Acer Revo L80 | x86 | 1080p | no | spdif | 2 | [190][19] |
63 63
| G-Box Midnight | arm | 1080p | yes | hdmi | no | [70][20] |
64 64
| Nano1 Slim+[1][21] | arm | 1080p | yes | hdmi | no | [50][22] |
65 65
| Pivos XIOS DS | arm | 1080p | yes | hdmi | no | [130][23] |
66
-| [SolidRun][24][?][24] [CuBox][25][?][25] i2 | arm | 1080p | yes | hdmi, optical | no | [$80][26] |
66
+| SolidRun CuBox i2 | arm | 1080p | yes | hdmi, optical | no | [$80][26] |
67 67
68 68
69 69
... ...
@@ -88,8 +88,8 @@ title: FrontEnd
88 88
### CPU Power
89 89
90 90
* HD needs at least P4 3GHz
91
-* [XvMC][28][?][28] necessary for HD
92
-* [GeForce][29][?][29] [FX5200][30][?][30] fanless and supports [XvMC][28][?][28]
91
+* XvMC necessary for HD
92
+* GeForce FX5200 fanless and supports XvMC
93 93
* Allows Chromakey hack and has colour and contrast adjustment not present on 6-series
94 94
95 95
... ...
@@ -98,10 +98,10 @@ title: FrontEnd
98 98
99 99
| **Task** | **Min CPU** |
100 100
||
101
-| [MPEG2][31][?][31] SD, Play DVD | 600MHz |
102
-| [MPEG2][31][?][31] HD | 1GHz AMD + [XvMC][28][?][28] |
103
-| [DivX][32][?][32], [XviD][33][?][33], H.264 | ? |
104
-| [MPEG4][34][?][34] HD |   |
101
+| MPEG2 SD, Play DVD | 600MHz |
102
+| MPEG2 HD | 1GHz AMD + XvMC |
103
+| DivX, XviD, H.264 | ? |
104
+| MPEG4 HD |   |
105 105
| Rip DVD |   |
106 106
107 107
MediaCentre/Games.md
... ...
@@ -2,7 +2,7 @@
2 2
title: Games
3 3
---
4 4
5
-# Installing [RetroPie][1][?][1] in OSMC
5
+# Installing RetroPie in OSMC
6 6
7 7
<https://github.com/RetroPie/RetroPie-Setup/wiki/OSMC>
8 8
... ...
@@ -13,9 +13,9 @@ The script:
13 13
14 14
15 15
16
-# Auto-mount [ROMs][2][?][2] from CIFS
16
+# Auto-mount ROMs from CIFS
17 17
18
-## Configure [AutoFS][3][?][3]
18
+## Configure AutoFS
19 19
20 20
sudo apt-get install autofs
21 21
... ...
@@ -35,7 +35,7 @@ This combination mounts `//media/mediasys` as `/mnt/mediasys`.
35 35
36 36
37 37
38
-## Reconfigure [EmulationStation][5][?][5]
38
+## Reconfigure EmulationStation
39 39
40 40
`/etc/emulationstation/es_systems.cfg` using
41 41
... ...
@@ -44,29 +44,29 @@ This combination mounts `//media/mediasys` as `/mnt/mediasys`.
44 44
45 45
46 46
47
-<?xml version="1.0"?>
48
-<systemList>
49
-  <system>
50
-    <name>amstradcpc</name>
51
-    <fullname>Amstrad CPC</fullname>
52
-    <path>/mnt/mediasys/games/library/amstradcpc</path>
53
-    <extension>.cdt .cpc .dsk .zip .CDT .CPC .DSK .ZIP</extension>
54
-    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 \_SYS\_ amstradcpc %ROM%</command>
55
-    <platform>amstradcpc</platform>
56
-    <theme>amstradcpc</theme>
57
-  </system>
58
-  <system>
59
-    <name>arcade</name>
60
-    <fullname>Arcade</fullname>
61
-    <path>/mnt/mediasys/games/library/arcade</path>
62
-    <extension>.7z .cue .fba .iso .zip .7Z .CUE .FBA .ISO .ZIP</extension>
63
-    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 \_SYS\_ arcade %ROM%</command>
64
-    <platform>arcade</platform>
65
-    <theme>arcade</theme>
66
-  </system>
67
-  ...
68
-
69
-[[$[Get Code]]][6]
47
+
48
+ <?xml version="1.0"?>
49
+ <systemList>
50
+   <system>
51
+     <name>amstradcpc</name>
52
+     <fullname>Amstrad CPC</fullname>
53
+     <path>/mnt/mediasys/games/library/amstradcpc</path>
54
+     <extension>.cdt .cpc .dsk .zip .CDT .CPC .DSK .ZIP</extension>
55
+     <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 \_SYS\_ amstradcpc %ROM%</command>
56
+     <platform>amstradcpc</platform>
57
+     <theme>amstradcpc</theme>
58
+   </system>
59
+   <system>
60
+     <name>arcade</name>
61
+     <fullname>Arcade</fullname>
62
+     <path>/mnt/mediasys/games/library/arcade</path>
63
+     <extension>.7z .cue .fba .iso .zip .7Z .CUE .FBA .ISO .ZIP</extension>
64
+     <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 \_SYS\_ arcade %ROM%</command>
65
+     <platform>arcade</platform>
66
+     <theme>arcade</theme>
67
+   </system>
68
+   ...
69
+
70 70
71 71
[4]: Games?action=sourceblock&num=1
72 72
[6]: Games?action=sourceblock&num=2
... ...
\ No newline at end of file
MediaCentre/HDProjector.md
... ...
@@ -14,14 +14,14 @@ title: HDProjector
14 14
15 15
| **Model** | **Lumens** | **Delivered** |
16 16
||
17
-| Optoma [HD600X][1][?][1] | 1500 | [425][2] |
18
-| Optoma [HD67][3][?][3] | 1500 | [400][4][1][5] |
17
+| Optoma HD600X | 1500 | [425][2] |
18
+| Optoma HD67 | 1500 | [400][4][1][5] |
19 19
20 20
1 refurb? [⇑][6]
21 21
22 22
23 23
24
-* Optoma [HD600X][1][?][1] and [HD67][3][?][3] much the same except colour (black, white) and warranty (1yr, 3yr)
24
+* Optoma HD600X and HD67 much the same except colour (black, white) and warranty (1yr, 3yr)
25 25
26 26
27 27
... ...
@@ -29,9 +29,9 @@ title: HDProjector
29 29
30 30
| **Model** | **Lumens** | **Delivered** |
31 31
||
32
-| Optoma [HD70][7][?][7] | 1000 | £648 |
33
-| Optoma [HD72][8][?][8] | 1300 | £1300 |
34
-| Panasonic PT-[AX100U][9][?][9] | 2000 | £889 |
32
+| Optoma HD70 | 1000 | £648 |
33
+| Optoma HD72 | 1300 | £1300 |
34
+| Panasonic PT-AX100U | 2000 | £889 |
35 35
| Mitsubishi HD-1000U | 1500 | £875 |
36 36
| Sanyo PLV-Z5 | 1100 | £740 |
37 37
MediaCentre/HDTV.md
... ...
@@ -34,7 +34,7 @@ Currently implemented by [LG-42LD490][1].
34 34
35 35
| Model | Notes | Price | Delivered |
36 36
|:--------------------------- | ---------------- | --------------------- | -------------- |
37
-| Sony [KDL40EX403U][2][?][2] | LF | [400][3] | 340 |
37
+| Sony KDL40EX403U | LF | [400][3] | 340 |
38 38
| Sony [KDL40NX503][4] | LF | [399][5] | 330 |
39 39
| Toshiba [40BV700B][6] | L | [349.99][7], [350][8] | 296 |
40 40
| [Samsung LE40B530][9] | L | [349.99][10] | 350 |
... ...
@@ -44,7 +44,7 @@ Currently implemented by [LG-42LD490][1].
44 44
| [40RV753B][18] | F | [379][19] | 379 |
45 45
| [LG 42LD450][20] | f | [338][21] |
46 46
| [LG 42LD490][22] | FL | [404][23] (392) |
47
-| [Toshiba 42SL738B][24] | [DHf][25][?][25] | [408][26] |
47
+| [Toshiba 42SL738B][24] | DHf | [408][26] |
48 48
49 49
50 50
... ...
@@ -62,15 +62,15 @@ Currently implemented by [LG-42LD490][1].
62 62
63 63
* Woolworths 8% quidco
64 64
* Very 10% new credit account, 8% quidco
65
-* [BestBuy][27][?][27] 15% quidco
65
+* BestBuy 15% quidco
66 66
* Pixmania -5 and 5% quidco
67
-* Co-op Electrical - [YMX30][28][?][28] (£30), 5% TCB
67
+* Co-op Electrical - YMX30 (£30), 5% TCB
68 68
69 69
70 70
71 71
# Purchased
72 72
73
-* [LE40C580][29][?][29] from Best-Buy. Still waiting for Quidco.
73
+* LE40C580 from Best-Buy. Still waiting for Quidco.
74 74
* Cancelled
75 75
* [LG-42LD490][1]
76 76
MediaCentre/KindleFire7.md
... ...
@@ -49,10 +49,10 @@ Wireless charging
49 49
2. Enable ADB
50 50
3. Enable Security|Apps from Unknown Sources
51 51
4. Downgrade to 5.1.2
52
-5. Run [RootJunky][4][?][4] [SuperTool][5][?][5] script
52
+5. Run RootJunky SuperTool script
53 53
1. Install Play Store
54
- 2. Install [KingRoot][6][?][6]
55
-6. Reboot and run [KingRoot][6][?][6]
54
+ 2. Install KingRoot
55
+6. Reboot and run KingRoot
56 56
57 57
58 58
... ...
@@ -75,78 +75,78 @@ Wireless charging
75 75
76 76
## Build updated version of ADB
77 77
78
-#Needed tools
79
-sudo apt-get install zlib1g-dev libssl-dev git make gcc
80
-
81
-#Download source code (this is currently the newest branch, in future it might still work without issues)
82
-git clone -b android-5.0.2_r1 https://android.googlesource.com/platform/system/core/ android-core
83
-cd android-core/adb
84
-
85
-#Create Makefile
86
-echo -e '
87
-# standalone Makefile for adb
88
-SRCS+= adb.c
89
-SRCS+= fdevent.c
90
-SRCS+= adb_client.c
91
-SRCS+= commandline.c
92
-SRCS+= console.c
93
-SRCS+= file\_sync\_client.c
94
-SRCS+= get\_my\_path_linux.c
95
-SRCS+= services.c
96
-SRCS+= sockets.c
97
-SRCS+= transport.c
98
-SRCS+= transport_local.c
99
-SRCS+= transport_usb.c
100
-SRCS+= usb_linux.c
101
-SRCS+= usb_vendors.c
102
-SRCS+= adb\_auth\_host.c
103
-
104
-VPATH+= ../libcutils
105
-SRCS+= socket\_inaddr\_any_server.c
106
-SRCS+= socket\_local\_client.c
107
-SRCS+= socket\_local\_server.c
108
-SRCS+= socket\_loopback\_client.c
109
-SRCS+= socket\_loopback\_server.c
110
-SRCS+= socket\_network\_client.c
111
-SRCS+= load_file.c
112
-
113
-VPATH+= ../libzipfile
114
-SRCS+= centraldir.c
115
-SRCS+= zipfile.c
116
-
117
-CPPFLAGS+= -DADB_HOST=1
118
-CPPFLAGS+= -DHAVE_FORKEXEC=1
119
-CPPFLAGS+= -DHAVE_SYMLINKS
120
-CPPFLAGS+= -DHAVE\_TERMIO\_H
121
-CPPFLAGS+= -DHAVE\_SYS\_SOCKET_H
122
-CPPFLAGS+= -DHAVE\_OFF64\_T
123
-CPPFLAGS+= -D\_GNU\_SOURCE
124
-CPPFLAGS+= -D\_XOPEN\_SOURCE
125
-CPPFLAGS+= -I.
126
-CPPFLAGS+= -I../include
127
-
128
-LIBS= -lcrypto -lpthread -lrt -lz
129
-CC= gcc
130
-LD= gcc
131
-
132
-OBJS= $(SRCS:.c=.o)
133
-
134
-all: adb
135
-
136
-adb: $(OBJS)
137
-        $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
138
-
139
-clean:
140
-        rm -rf $(OBJS) adb
141
-' > Makefile
142
-
143
-make -f Makefile
144
-./adb version
145
-cp ./adb /home/gnome/bin/adb-1.0.32
146
-
147
-sudo adb-1.0.32 sideload fire-OS-5.1.2-update-kindle-global-37.5.4.2\_user\_542168620.bin
148
-
149
-[[$[Get Code]]][8]
78
+
79
+ #Needed tools
80
+ sudo apt-get install zlib1g-dev libssl-dev git make gcc
81
+
82
+ #Download source code (this is currently the newest branch, in future it might still work without issues)
83
+ git clone -b android-5.0.2_r1 https://android.googlesource.com/platform/system/core/ android-core
84
+ cd android-core/adb
85
+
86
+ #Create Makefile
87
+ echo -e '
88
+ # standalone Makefile for adb
89
+ SRCS+= adb.c
90
+ SRCS+= fdevent.c
91
+ SRCS+= adb_client.c
92
+ SRCS+= commandline.c
93
+ SRCS+= console.c
94
+ SRCS+= file\_sync\_client.c
95
+ SRCS+= get\_my\_path_linux.c
96
+ SRCS+= services.c
97
+ SRCS+= sockets.c
98
+ SRCS+= transport.c
99
+ SRCS+= transport_local.c
100
+ SRCS+= transport_usb.c
101
+ SRCS+= usb_linux.c
102
+ SRCS+= usb_vendors.c
103
+ SRCS+= adb\_auth\_host.c
104
+
105
+ VPATH+= ../libcutils
106
+ SRCS+= socket\_inaddr\_any_server.c
107
+ SRCS+= socket\_local\_client.c
108
+ SRCS+= socket\_local\_server.c
109
+ SRCS+= socket\_loopback\_client.c
110
+ SRCS+= socket\_loopback\_server.c
111
+ SRCS+= socket\_network\_client.c
112
+ SRCS+= load_file.c
113
+
114
+ VPATH+= ../libzipfile
115
+ SRCS+= centraldir.c
116
+ SRCS+= zipfile.c
117
+
118
+ CPPFLAGS+= -DADB_HOST=1
119
+ CPPFLAGS+= -DHAVE_FORKEXEC=1
120
+ CPPFLAGS+= -DHAVE_SYMLINKS
121
+ CPPFLAGS+= -DHAVE\_TERMIO\_H
122
+ CPPFLAGS+= -DHAVE\_SYS\_SOCKET_H
123
+ CPPFLAGS+= -DHAVE\_OFF64\_T
124
+ CPPFLAGS+= -D\_GNU\_SOURCE
125
+ CPPFLAGS+= -D\_XOPEN\_SOURCE
126
+ CPPFLAGS+= -I.
127
+ CPPFLAGS+= -I../include
128
+
129
+ LIBS= -lcrypto -lpthread -lrt -lz
130
+ CC= gcc
131
+ LD= gcc
132
+
133
+ OBJS= $(SRCS:.c=.o)
134
+
135
+ all: adb
136
+
137
+ adb: $(OBJS)
138
+         $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
139
+
140
+ clean:
141
+         rm -rf $(OBJS) adb
142
+ ' > Makefile
143
+
144
+ make -f Makefile
145
+ ./adb version
146
+ cp ./adb /home/gnome/bin/adb-1.0.32
147
+
148
+ sudo adb-1.0.32 sideload fire-OS-5.1.2-update-kindle-global-37.5.4.2\_user\_542168620.bin
149
+
150 150
151 151
152 152
... ...
@@ -179,8 +179,8 @@ Or if sshdroid in installed just use `vi`:
179 179
180 180
## Apps
181 181
182
-* [SSHdroid][9][?][9]
183
-* [AFWall][10][?][10]+
182
+* SSHdroid
183
+* AFWall+
184 184
# forward port 80 connections to Kodi on 8080
185 185
$IPTABLES -A "afwall" -p TCP --destination-port 80 -j RETURN
186 186
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
... ...
@@ -199,14 +199,14 @@ Or if sshdroid in installed just use `vi`:
199 199
200 200
* mqtt
201 201
* Soundcloud
202
-* [YouTube][11][?][11]
202
+* YouTube
203 203
204 204
205 205
206 206
# Log
207 207
208 208
2016-02-13
209
-: Arrived. Running [FireOS][12][?][12] 5.0.1
209
+: Arrived. Running FireOS 5.0.1
210 210
211 211
[1]: https://en.wikipedia.org/wiki/Kindle_Fire#Models
212 212
[2]: KindleFireHD
MediaCentre/Kodi.md
... ...
@@ -48,11 +48,11 @@ This is a **non-userdata setting** so must be restored after upgrades.
48 48
49 49
## Disable Logging
50 50
51
-<advancedsettings>
52
-    <loglevel>-1</loglevel>
53
-</advancedsettings>
54 51
55
-[[$[Get Code]]][8]
52
+ <advancedsettings>
53
+     <loglevel>-1</loglevel>
54
+ </advancedsettings>
55
+
56 56
57 57
58 58
... ...
@@ -64,53 +64,53 @@ Set [advancedsettings/network/buffermode][9] (v17 Krypton: [advancedsettings/cac
64 64
65 65
66 66
67
-<advancedsettings>
68
-  <network>
69
-    <buffermode>1</buffermode>
70
-    <readbufferfactor>5</readbufferfactor>
71
-    <!-- <cachemembuffersize>52428800</cachemembuffersize> -->
72
-  </network>
73
-</advancedsettings>
74 67
75
-[[$[Get Code]]][11]
68
+ <advancedsettings>
69
+   <network>
70
+     <buffermode>1</buffermode>
71
+     <readbufferfactor>5</readbufferfactor>
72
+     <!-- <cachemembuffersize>52428800</cachemembuffersize> -->
73
+   </network>
74
+ </advancedsettings>
75
+
76 76
77 77
78 78
79 79
## Shared Database
80 80
81
-<advancedsettings>
82
-  <musicdatabase>
83
-    <type>mysql</type>
84
-    <host>${MYSQL_IP}</host>
85
-    <port>3306</port>
86
-    <user>${USER}</user>
87
-    <pass>${PASSWORD}</pass>
88
-  </musicdatabase>
89
-  <videodatabase>
90
-    <type>mysql</type>
91
-    <host>${MYSQL_IP}</host>
92
-    <port>3306</port>
93
-    <user>${USER}</user>
94
-    <pass>${PASSWORD}</pass>
95
-  </videodatabase>
96
-  <videolibrary>
97
-    <importwatchedstate>true</importwatchedstate>
98
-    <importresumepoint>true</importresumepoint>
99
-  </videolibrary>
100
-</advancedsettings>
101
-
102
-[[$[Get Code]]][12]
81
+
82
+ <advancedsettings>
83
+   <musicdatabase>
84
+     <type>mysql</type>
85
+     <host>${MYSQL_IP}</host>
86
+     <port>3306</port>
87
+     <user>${USER}</user>
88
+     <pass>${PASSWORD}</pass>
89
+   </musicdatabase>
90
+   <videodatabase>
91
+     <type>mysql</type>
92
+     <host>${MYSQL_IP}</host>
93
+     <port>3306</port>
94
+     <user>${USER}</user>
95
+     <pass>${PASSWORD}</pass>
96
+   </videodatabase>
97
+   <videolibrary>
98
+     <importwatchedstate>true</importwatchedstate>
99
+     <importresumepoint>true</importresumepoint>
100
+   </videolibrary>
101
+ </advancedsettings>
102
+
103 103
104 104
105 105
106 106
`${MYSQL_IP}`
107
-: Hostname or IP address of [MySQL][13][?][13] server.
107
+: Hostname or IP address of MySQL server.
108 108
109 109
`${USER}`
110
-: [MySQL][13][?][13] username
110
+: MySQL username
111 111
112 112
`${PASSWORD}`
113
-: [MySQL][13][?][13] password
113
+: MySQL password
114 114
115 115
116 116
... ...
@@ -128,34 +128,34 @@ Give user permission to use and create new Kodi databases.
128 128
129 129
Enables Airplay, [UPnP][14], web interface (no username or password)
130 130
131
-<settings>
132
-    <services>
133
-        <airplay>true</airplay>
134
-        <airplaypassword default="true"></airplaypassword>
135
-        <airplayvolumecontrol default="true">true</airplayvolumecontrol>
136
-        <devicename>${LOCATION}</devicename>
137
-        <esallinterfaces>true</esallinterfaces>
138
-        <escontinuousdelay default="true">25</escontinuousdelay>
139
-        <esenabled default="true">true</esenabled>
140
-        <esinitialdelay default="true">750</esinitialdelay>
141
-        <esmaxclients default="true">20</esmaxclients>
142
-        <esport default="true">9777</esport>
143
-        <esportrange default="true">10</esportrange>
144
-        <upnpannounce default="true">true</upnpannounce>
145
-        <upnpcontroller default="true">false</upnpcontroller>
146
-        <upnprenderer>true</upnprenderer>
147
-        <upnpserver default="true">false</upnpserver>
148
-        <useairplaypassword default="true">false</useairplaypassword>
149
-        <webserver>true</webserver>
150
-        <webserverpassword></webserverpassword>
151
-        <webserverport default="true">80</webserverport>
152
-        <webserverusername default="true"></webserverusername>
153
-        <webskin default="true">${WEB_INTERFACE}</webskin>
154
-        <zeroconf default="true">true</zeroconf>
155
-    </services>
156
-</settings>
157
-
158
-[[$[Get Code]]][15]
131
+
132
+ <settings>
133
+     <services>
134
+         <airplay>true</airplay>
135
+         <airplaypassword default="true"></airplaypassword>
136
+         <airplayvolumecontrol default="true">true</airplayvolumecontrol>
137
+         <devicename>${LOCATION}</devicename>
138
+         <esallinterfaces>true</esallinterfaces>
139
+         <escontinuousdelay default="true">25</escontinuousdelay>
140
+         <esenabled default="true">true</esenabled>
141
+         <esinitialdelay default="true">750</esinitialdelay>
142
+         <esmaxclients default="true">20</esmaxclients>
143
+         <esport default="true">9777</esport>
144
+         <esportrange default="true">10</esportrange>
145
+         <upnpannounce default="true">true</upnpannounce>
146
+         <upnpcontroller default="true">false</upnpcontroller>
147
+         <upnprenderer>true</upnprenderer>
148
+         <upnpserver default="true">false</upnpserver>
149
+         <useairplaypassword default="true">false</useairplaypassword>
150
+         <webserver>true</webserver>
151
+         <webserverpassword></webserverpassword>
152
+         <webserverport default="true">80</webserverport>
153
+         <webserverusername default="true"></webserverusername>
154
+         <webskin default="true">${WEB_INTERFACE}</webskin>
155
+         <zeroconf default="true">true</zeroconf>
156
+     </services>
157
+ </settings>
158
+
159 159
160 160
161 161
MediaCentre/LG-42LD490.md
... ...
@@ -31,7 +31,7 @@ Depth
31 31
32 32
## Platform
33 33
34
-* Broadcom [BCM3556][3][?][3]
34
+* Broadcom BCM3556
35 35
* 42LD490-ZB
36 36
37 37
... ...
@@ -59,8 +59,8 @@ Depth
59 59
* USB 2.0
60 60
* 3x HDMI input
61 61
* HDMI-CEC (Simplink)
62
-* VGA ([DE15][4][?][4]) input
63
-* [RS232][5][?][5] control IO
62
+* VGA (DE15) input
63
+* RS232 control IO
64 64
* AV output
65 65
* Headphone output
66 66
* CI slot
MediaCentre/MediaCentre.md
... ...
@@ -35,7 +35,7 @@ Project to create a low-cost HD home media network
35 35
36 36
## Renderers
37 37
38
-| Device | Video AVI | Video VOB | Video MKV | Video [MP4][16][?][16] | Video DVD | Video HD | Video meta | Video SRT (AVI) | Video SRT ([MP4][16][?][16]) | Music | Album art | Photos |
38
+| Device | Video AVI | Video VOB | Video MKV | Video MP4 | Video DVD | Video HD | Video meta | Video SRT (AVI) | Video SRT (MP4) | Music | Album art | Photos |
39 39
|:------------------ | --------- | --------- | --------- | ---------------------- | --------- | -------- | ---------- | --------------- | ---------------------------- | ----- | --------- | ------ |
40 40
| [OSMC][17] | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
41 41
| [XiosDS][18] XBMC | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
... ...
@@ -68,13 +68,13 @@ Project to create a low-cost HD home media network
68 68
69 69
## Renderers
70 70
71
-| Device | Video AVI | Video VOB | Video MKV | Video [MP4][16][?][16] | Video DVD | Video HD | Video meta | Video SRT (AVI) | Video SRT ([MP4][16][?][16]) | Music | Album art | Photos |
71
+| Device | Video AVI | Video VOB | Video MKV | Video MP4 | Video DVD | Video HD | Video meta | Video SRT (AVI) | Video SRT (MP4) | Music | Album art | Photos |
72 72
|:------------------------- | ---------- | --------- | ---------- | ---------------------- | --------- | -------- | ---------- | --------------- | ---------------------------- | ----- | --------- | ------ |
73 73
| [Archos80Cobalt][29] XBMC | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
74 74
| [MythTV][19] | yes | yes | yes | yes | yes | no | yes | yes | ? | yes |   |   |
75 75
| [AppleTV][30] | ~ | yes | yes[1][31] | yes | ~[2][32] | no | no | yes | no | yes | yes |   |
76 76
| [Boxee][33] | yes | ? | ? | yes | ? | no | ? | ? | ? | yes | yes | yes |
77
-| [MediaCloud][34][?][34] | yes | yes |   | yes | no | no | no | ? | ? | no | no | no |
77
+| MediaCloud | yes | yes |   | yes | no | no | no | ? | ? | no | no | no |
78 78
| [PS3][35] | ~[3][36] | no | no | yes[4][37] | no | ? | no | no | no | mp3 | no | yes |
79 79
| [N770][38] | yes[5][39] | no | no | no [6][40] | no | no | no | - | - | yes | no | yes |
80 80
... ...
@@ -84,7 +84,7 @@ Project to create a low-cost HD home media network
84 84
85 85
1 Some dropped frames, seek issues [⇑][41]
86 86
87
-2 [NitoTV][42][?][42] works sometimes [⇑][43]
87
+2 NitoTV works sometimes [⇑][43]
88 88
89 89
3 Only some [⇑][44]
90 90
MediaCentre/MedialabsFC330.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: Medialabs
7 7
8 8
Model
9
-: [FC330][1][?][1]
9
+: FC330
10 10
11 11
Type
12 12
: 2.1 surround speakers
MediaCentre/MultiRoomAudio.md
... ...
@@ -248,11 +248,11 @@ Note that snapclient on volumio is symlinked to `/usr/sbin/snapclient`. The defa
248 248
249 249
Install with:
250 250
251
-sudo systemctl enable snapclient@1
252
-sudo systemctl enable snapclient@2
253
-...etc..
254 251
255
-[[$[Get Code]]][51]
252
+ sudo systemctl enable snapclient@1
253
+ sudo systemctl enable snapclient@2
254
+ ...etc..
255
+
256 256
257 257
258 258
... ...
@@ -305,11 +305,11 @@ Depends on snapserver. Using TCP ports 22120-22129.
305 305
306 306
Install with:
307 307
308
-sudo systemctl enable librespot@1
309
-sudo systemctl enable librespot@2
310
-...etc..
311 308
312
-[[$[Get Code]]][52]
309
+ sudo systemctl enable librespot@1
310
+ sudo systemctl enable librespot@2
311
+ ...etc..
312
+
313 313
314 314
315 315
... ...
@@ -325,14 +325,14 @@ Packages available from: <https://www.lesbonscomptes.com/upmpdcli/downloads.html
325 325
326 326
### Install
327 327
328
-# Depends on libjsoncpp0:
329
-echo "deb http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi" >> /etc/apt/sources.list.d/raspbian.list
330
-apt-key adv --keyserver pool.sks-keyservers.net --recv-keys F8E3347256922A8AE767605B7808CE96D38B9201
331
-echo "deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ stretch main" > /etc/apt/sources.list.d/upmpdcli.list
332
-apt-get update
333
-apt-get install upmpdcli
334 328
335
-[[$[Get Code]]][53]
329
+ # Depends on libjsoncpp0:
330
+ echo "deb http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi" >> /etc/apt/sources.list.d/raspbian.list
331
+ apt-key adv --keyserver pool.sks-keyservers.net --recv-keys F8E3347256922A8AE767605B7808CE96D38B9201
332
+ echo "deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ stretch main" > /etc/apt/sources.list.d/upmpdcli.list
333
+ apt-get update
334
+ apt-get install upmpdcli
335
+
336 336
337 337
338 338
MediaCentre/PS3.md
... ...
@@ -16,13 +16,13 @@ For streaming videos and music
16 16
17 17
### Video
18 18
19
-Supports [MP4][4][?][4] level 4.1 with aac audio. Very picky about encoding options. Dimensions must be divisible by 16.
19
+Supports MP4 level 4.1 with aac audio. Very picky about encoding options. Dimensions must be divisible by 16.
20 20
21 21
22 22
23 23
### Audio
24 24
25
-Supports [MP3][5][?][5].
25
+Supports MP3.
26 26
27 27
Supports streaming audio with 50+ seconds delay and stream mode (not chunk mode)
28 28
MediaCentre/RaspBMC.md
... ...
@@ -10,7 +10,7 @@ Make
10 10
: Raspberry Pi
11 11
12 12
Model
13
-: Rpi3, [RPi2][2][?][2], [RPi1][3][?][3] (see [Whale Barn Media][4])
13
+: Rpi3, RPi2, RPi1 (see [Whale Barn Media][4])
14 14
15 15
Type
16 16
: Single-board Computer
... ...
@@ -41,10 +41,10 @@ Edit `/etc/hostname`:
41 41
42 42
## kodi and systemd
43 43
44
-sudo systemctl stop mediacenter
45
-sudo systemctl start mediacenter
46 44
47
-[[$[Get Code]]][6]
45
+ sudo systemctl stop mediacenter
46
+ sudo systemctl start mediacenter
47
+
48 48
49 49
50 50
... ...
@@ -68,10 +68,10 @@ sudo systemctl start mediacenter
68 68
## SNMP
69 69
70 70
71
-**GeSHi Error:** GeSHi could not find the language bashapt-get (using path /var/www/data/mark/pmwiki/cookbook/geshi/geshi/) (code 2)
72
-
73 71
74
-[[$[Get Code]]][7]
72
+ **GeSHi Error:** GeSHi could not find the language bashapt-get (using path /var/www/data/mark/pmwiki/cookbook/geshi/geshi/) (code 2)
73
+
74
+
75 75
76 76
77 77
... ...
@@ -89,15 +89,15 @@ Blue screen (on Study TV after power cycle).
89 89
90 90
Workaround:
91 91
92
-tvservice -o
93
-tvservice -p
94
-sudo systemctl restart mediacenter
95 92
96
-[[$[Get Code]]][9]
93
+ tvservice -o
94
+ tvservice -p
95
+ sudo systemctl restart mediacenter
96
+
97 97
98 98
See [related OSMC issue][10].
99 99
100
-Try boosting hdmi in [RPi][11][?][11] config: `/boot/config.txt`
100
+Try boosting hdmi in RPi config: `/boot/config.txt`
101 101
102 102
config_hdmi_boost=6
103 103
... ...
@@ -183,22 +183,23 @@ Rootfs
183 183
184 184
185 185
186
-#!/bin/bash
187
-
188
-KERNEL=xec-kernel
189
-ROOT=raspbmc0.img
190
-
191
-qemu-system-arm \
192
-    -cpu arm1176 \
193
-    -nographic \
194
-    -kernel "$KERNEL" \
195
-    -m 128 \
196
-    -M versatilepb -no-reboot \
197
-    -hda "$ROOT" \
198
-    -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw"
186
+```shell
187
+#!/bin/bash
188
+
189
+KERNEL=xec-kernel
190
+ROOT=raspbmc0.img
191
+
192
+qemu-system-arm \
193
+    -cpu arm1176 \
194
+    -nographic \
195
+    -kernel "$KERNEL" \
196
+    -m 128 \
197
+    -M versatilepb -no-reboot \
198
+    -hda "$ROOT" \
199
+    -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw"
199 200
 
200 201
201
-[[$[Get Code]]][15]
202
+```
202 203
203 204
204 205
MediaCentre/RecentChanges.md
... ...
@@ -2,45 +2,45 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [RaspBMC][1] . . . 12 August 2021, at 02:15 PM UTC by [Gnome][2][?][2]: updates
6
-* [KindleFireHD][3] . . . 18 October 2019, at 10:31 AM UTC by [Gnome][2][?][2]: Replaces TescoHudl2
7
-* [KindleFire7][4] . . . 23 September 2019, at 09:35 PM UTC by [Gnome][2][?][2]: replaced by KindleFireHD
8
-* [TX-NR636][5] . . . 07 September 2019, at 04:33 PM UTC by [Gnome][2][?][2]: USB update
9
-* [Kodi][6] . . . 26 August 2019, at 01:20 PM UTC by [Gnome][2][?][2]: xbmc mysql kodi database permissions grants
10
-* [MediaCentre][7] . . . 23 January 2019, at 04:06 PM UTC by [Gnome][2][?][2]: games
11
-* [Games][8] . . . 23 January 2019, at 04:00 PM UTC by [Gnome][2][?][2]: Installing retropie, emulation
12
-* [BackEnd][9] . . . 23 January 2019, at 01:18 PM UTC by [Gnome][2][?][2]: added mc-games
13
-* [MultiRoomAudio][10] . . . 05 October 2018, at 11:40 PM UTC by [Gnome][2][?][2]: libjsoncpp0
14
-* [XiosDS][11] . . . 12 March 2017, at 03:30 PM UTC by [Gnome][2][?][2]: toc
15
-* [TescoHudl2][12] . . . 11 March 2017, at 12:54 PM UTC by [Gnome][2][?][2]: specs and processor
16
-* [NetworkReceivers][13] . . . 22 March 2016, at 02:53 PM UTC by [Gnome][2][?][2]: bindings for Denon
17
-* [VoiceRecognition][14] . . . 19 January 2016, at 07:21 PM UTC by [Gnome][2][?][2]: modprobe jasper usb-audio
18
-* [OSMC][15] . . . 15 June 2015, at 01:36 PM UTC by [Gnome][2][?][2]: redirect to RaspBMC
19
-* [LG-42LD490][16] . . . 14 April 2015, at 02:04 PM UTC by [Gnome][2][?][2]: Dimensions
20
-* [XBMC][17] . . . 19 March 2015, at 07:48 PM UTC by [Gnome][2][?][2]: redirect
21
-* [CleverAcousticsCPA40][18] . . . 09 March 2015, at 08:16 PM UTC by [Gnome][2][?][2]: purchased
22
-* [MedialabsFC330][19] . . . 09 March 2015, at 08:12 PM UTC by [Gnome][2][?][2]: inputs, outputs, power
23
-* [MultiRoomVideo][20] . . . 09 October 2014, at 11:26 PM UTC by [Gnome][2][?][2]: link XBMC
24
-* [Archos80Cobalt][21] . . . 09 October 2014, at 10:24 PM UTC by [Gnome][2][?][2]: fix MultiRoomAudio link
25
-* [FrontEnd][22] . . . 09 September 2014, at 12:29 PM UTC by [Gnome][2][?][2]: SolidRun CuBox
26
-* [UPnP][23] . . . 05 March 2014, at 03:10 PM UTC by [Gnome][2][?][2]: Renderer-Controllers for Linux
27
-* [SurroundSound][24] . . . 28 February 2014, at 05:39 PM UTC by [Gnome][2][?][2]: Switched amp to take passthrough optical from HD TV
28
-* [Z5500][25] . . . 16 July 2013, at 11:26 AM UTC by [Gnome][2][?][2]: Inputs
29
-* [RemoteControl][26] . . . 10 April 2012, at 08:21 PM GMT by [Gnome][2][?][2]: fix Home links
30
-* [PS3][27] . . . 10 April 2012, at 08:20 PM GMT by [Gnome][2][?][2]: fix Home links
31
-* [HD][28] . . . 10 April 2012, at 08:19 PM GMT by [Gnome][2][?][2]: fix Home links
32
-* [HDTV][29] . . . 15 November 2011, at 03:26 PM GMT by [Gnome][2][?][2]: implementation
33
-* [Home][30][?][30] . . . 15 November 2011, at 03:19 PM GMT by [Gnome][2][?][2]: link Remote Control
34
-* [HDProjector][31] . . . 16 February 2011, at 04:15 PM GMT by [Gnome][2][?][2]: HD67 and obsolete
35
-* [Catalogue][32] . . . 02 September 2009, at 01:16 PM GMT by [Gnome][2][?][2]: spout, dvdcorral, iheartmovies, gcstar, griffith
36
-* [N770][33] . . . 04 July 2008, at 12:05 AM GMT by [Gnome][2][?][2]: added Vegalume
37
-* [CircumventingARccOS][34] . . . 07 June 2008, at 04:23 PM GMT by [Gnome][2][?][2]: ddrescue supercedes dd_rescue
38
-* [Multi-roomAudioPlayback][35][?][35] . . . 26 February 2008, at 10:21 PM GMT by [Gnome][2][?][2]: added Muse
39
-* [Home][36][?][36] . . . 22 November 2007, at 02:51 AM GMT by [Gnome][2][?][2]: multi-frontend media centre
40
-* [BackEnd][37][?][37] . . . 09 November 2007, at 10:33 PM GMT by [Gnome][2][?][2]: DVD encoding
41
-* [Multi-roomAudioPlayback][38][?][38] . . . 20 July 2007, at 04:56 PM GMT by [Gnome][2][?][2]: bought second N770
42
-* [FrontEnd][39] . . . 16 July 2007, at 03:27 PM GMT by [Gnome][2][?][2]: moved Back End info
43
-* [HDProjector][40][?][40] . . . 20 May 2007, at 04:02 AM GMT by [Gnome][2][?][2]: prices
5
+* [RaspBMC][1] . . . 12 August 2021, at 02:15 PM UTC by Gnome: updates
6
+* [KindleFireHD][3] . . . 18 October 2019, at 10:31 AM UTC by Gnome: Replaces TescoHudl2
7
+* [KindleFire7][4] . . . 23 September 2019, at 09:35 PM UTC by Gnome: replaced by KindleFireHD
8
+* [TX-NR636][5] . . . 07 September 2019, at 04:33 PM UTC by Gnome: USB update
9
+* [Kodi][6] . . . 26 August 2019, at 01:20 PM UTC by Gnome: xbmc mysql kodi database permissions grants
10
+* [MediaCentre][7] . . . 23 January 2019, at 04:06 PM UTC by Gnome: games
11
+* [Games][8] . . . 23 January 2019, at 04:00 PM UTC by Gnome: Installing retropie, emulation
12
+* [BackEnd][9] . . . 23 January 2019, at 01:18 PM UTC by Gnome: added mc-games
13
+* [MultiRoomAudio][10] . . . 05 October 2018, at 11:40 PM UTC by Gnome: libjsoncpp0
14
+* [XiosDS][11] . . . 12 March 2017, at 03:30 PM UTC by Gnome: toc
15
+* [TescoHudl2][12] . . . 11 March 2017, at 12:54 PM UTC by Gnome: specs and processor
16
+* [NetworkReceivers][13] . . . 22 March 2016, at 02:53 PM UTC by Gnome: bindings for Denon
17
+* [VoiceRecognition][14] . . . 19 January 2016, at 07:21 PM UTC by Gnome: modprobe jasper usb-audio
18
+* [OSMC][15] . . . 15 June 2015, at 01:36 PM UTC by Gnome: redirect to RaspBMC
19
+* [LG-42LD490][16] . . . 14 April 2015, at 02:04 PM UTC by Gnome: Dimensions
20
+* [XBMC][17] . . . 19 March 2015, at 07:48 PM UTC by Gnome: redirect
21
+* [CleverAcousticsCPA40][18] . . . 09 March 2015, at 08:16 PM UTC by Gnome: purchased
22
+* [MedialabsFC330][19] . . . 09 March 2015, at 08:12 PM UTC by Gnome: inputs, outputs, power
23
+* [MultiRoomVideo][20] . . . 09 October 2014, at 11:26 PM UTC by Gnome: link XBMC
24
+* [Archos80Cobalt][21] . . . 09 October 2014, at 10:24 PM UTC by Gnome: fix MultiRoomAudio link
25
+* [FrontEnd][22] . . . 09 September 2014, at 12:29 PM UTC by Gnome: SolidRun CuBox
26
+* [UPnP][23] . . . 05 March 2014, at 03:10 PM UTC by Gnome: Renderer-Controllers for Linux
27
+* [SurroundSound][24] . . . 28 February 2014, at 05:39 PM UTC by Gnome: Switched amp to take passthrough optical from HD TV
28
+* [Z5500][25] . . . 16 July 2013, at 11:26 AM UTC by Gnome: Inputs
29
+* [RemoteControl][26] . . . 10 April 2012, at 08:21 PM GMT by Gnome: fix Home links
30
+* [PS3][27] . . . 10 April 2012, at 08:20 PM GMT by Gnome: fix Home links
31
+* [HD][28] . . . 10 April 2012, at 08:19 PM GMT by Gnome: fix Home links
32
+* [HDTV][29] . . . 15 November 2011, at 03:26 PM GMT by Gnome: implementation
33
+* Home . . . 15 November 2011, at 03:19 PM GMT by Gnome: link Remote Control
34
+* [HDProjector][31] . . . 16 February 2011, at 04:15 PM GMT by Gnome: HD67 and obsolete
35
+* [Catalogue][32] . . . 02 September 2009, at 01:16 PM GMT by Gnome: spout, dvdcorral, iheartmovies, gcstar, griffith
36
+* [N770][33] . . . 04 July 2008, at 12:05 AM GMT by Gnome: added Vegalume
37
+* [CircumventingARccOS][34] . . . 07 June 2008, at 04:23 PM GMT by Gnome: ddrescue supercedes dd_rescue
38
+* [Multi-roomAudioPlayback][35][?][35] . . . 26 February 2008, at 10:21 PM GMT by Gnome: added Muse
39
+* Home . . . 22 November 2007, at 02:51 AM GMT by Gnome: multi-frontend media centre
40
+* BackEnd . . . 09 November 2007, at 10:33 PM GMT by Gnome: DVD encoding
41
+* [Multi-roomAudioPlayback][38][?][38] . . . 20 July 2007, at 04:56 PM GMT by Gnome: bought second N770
42
+* [FrontEnd][39] . . . 16 July 2007, at 03:27 PM GMT by Gnome: moved Back End info
43
+* HDProjector . . . 20 May 2007, at 04:02 AM GMT by Gnome: prices
44 44
45 45
[1]: RaspBMC
46 46
[3]: KindleFireHD
MediaCentre/TescoHudl2.md
... ...
@@ -19,7 +19,7 @@ Specs
19 19
: [wikipedia][2]
20 20
21 21
Platform
22
-: x86-32, Intel Atom [Z3735D][3][?][3]
22
+: x86-32, Intel Atom Z3735D
23 23
24 24
Purchased
25 25
: 2015-05-23 from Tesco for £80 (£100 with £20 off)
MediaCentre/UPnP.md
... ...
@@ -17,7 +17,7 @@ title: UPnP
17 17
18 18
# Servers
19 19
20
-## [MediaTomb][3][?][3]
20
+## MediaTomb
21 21
22 22
* <http://mediatomb.cc/>
23 23
* album art and movie thumbnails as transcode script
... ...
@@ -40,7 +40,7 @@ title: UPnP
40 40
41 41
## Linux
42 42
43
-No good [UIs][4][?][4]?
43
+No good UIs?
44 44
45 45
46 46
... ...
@@ -69,7 +69,7 @@ Both need an extra plugin.
69 69
70 70
71 71
72
-### [PlugPlayer][5][?][5]
72
+### PlugPlayer
73 73
74 74
* Only controls one renderer
75 75
* Expensive
... ...
@@ -112,7 +112,7 @@ See [N770][8]
112 112
113 113
* Media Streamer app
114 114
* Plays transcoded audio
115
-* Needs upgrade to [OS2007][9][?][9] to play streamed video
115
+* Needs upgrade to OS2007 to play streamed video
116 116
117 117
118 118
MediaCentre/VoiceRecognition.md
... ...
@@ -53,10 +53,10 @@ title: VoiceRecognition
53 53
54 54
## Support packages
55 55
56
-sudo apt-get install alsa-utils python-pip python-yaml python-dateutil python-pyaudio
57
-sudo pip install apscheduler # need never versions, apt versions are too old
58 56
59
-[[$[Get Code]]][5]
57
+ sudo apt-get install alsa-utils python-pip python-yaml python-dateutil python-pyaudio
58
+ sudo pip install apscheduler # need never versions, apt versions are too old
59
+
60 60
61 61
62 62
... ...
@@ -196,42 +196,42 @@ For split active and passive STT we need pocketsphinx and related packages.
196 196
197 197
198 198
199
-## [RPi2][7][?][7] Installation
199
+## RPi2 Installation
200 200
201
-For [RPi2][7][?][7] (armv7) we can use packages from Debian experimental:
201
+For RPi2 (armv7) we can use packages from Debian experimental:
202 202
203 203
204 204
205
-sudo su -c "echo 'deb http://ftp.debian.org/debian experimental main contrib non-free' > /etc/apt/sources.list.d/experimental.list"
206
-sudo apt-get update
207
-sudo apt-get -t experimental install cmuclmtk phonetisaurus m2m-aligner mitlm libfst-tools libfst1-plugins-base libfst-dev
208 205
209
-[[$[Get Code]]][8]
206
+ sudo su -c "echo 'deb http://ftp.debian.org/debian experimental main contrib non-free' > /etc/apt/sources.list.d/experimental.list"
207
+ sudo apt-get update
208
+ sudo apt-get -t experimental install cmuclmtk phonetisaurus m2m-aligner mitlm libfst-tools libfst1-plugins-base libfst-dev
209
+
210 210
211 211
212 212
213
-## [RPi1][9][?][9] Installation
213
+## RPi1 Installation
214 214
215
-For [RPi1][9][?][9] (armv6) we can't use packages from Debian experimental so must build from source or install from elsewhere.
215
+For RPi1 (armv6) we can't use packages from Debian experimental so must build from source or install from elsewhere.
216 216
217 217
218 218
219 219
### Install cognomen packages
220 220
221
-# add repo
222
-sudo su -c "echo 'deb http://cognomen.co.uk/apt/debian jessie main' > /etc/apt/sources.list.d/cognomen.list"
223
-# import pgp key
224
-gpg --keyserver keyserver.ubuntu.com --recv  FC88E181D61C9391C4A49682CF36B219807AA92B && gpg --export --armor keymaster@cognomen.co.uk | sudo apt-key add -
225
-# update
226
-sudo apt-get update
227
-sudo apt-get install pocketsphinx pocketsphinx-hmm-en-hub4wsj python-pocketsphinx python-yaml phonetisaurus m2m-aligner mitlm libfst-tools libfst1-plugins-base libfst-dev cmuclmtk python-semantic
228
229 221
230
-[[$[Get Code]]][10]
222
+ # add repo
223
+ sudo su -c "echo 'deb http://cognomen.co.uk/apt/debian jessie main' > /etc/apt/sources.list.d/cognomen.list"
224
+ # import pgp key
225
+ gpg --keyserver keyserver.ubuntu.com --recv  FC88E181D61C9391C4A49682CF36B219807AA92B && gpg --export --armor keymaster@cognomen.co.uk | sudo apt-key add -
226
+ # update
227
+ sudo apt-get update
228
+ sudo apt-get install pocketsphinx pocketsphinx-hmm-en-hub4wsj python-pocketsphinx python-yaml phonetisaurus m2m-aligner mitlm libfst-tools libfst1-plugins-base libfst-dev cmuclmtk python-semantic
229
+  
230
+
231 231
232 232
233 233
234
-## Building [RPi1][9][?][9] dependencies from source
234
+## Building RPi1 dependencies from source
235 235
236 236
### Trying to Cross Compile
237 237
... ...
@@ -241,11 +241,11 @@ Don't need `crosstool-ng` can use prebuilt raspberrypi-tools x86-32 linaro cross
241 241
242 242
### Naïve openfst cross-compile
243 243
244
-export PATH=~/src/raspberrypi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:$PATH
245
-./configure --host arm-linux-gnueabihf --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt
246
-make -j 8
247 244
248
-[[$[Get Code]]][11]
245
+ export PATH=~/src/raspberrypi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:$PATH
246
+ ./configure --host arm-linux-gnueabihf --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt
247
+ make -j 8
248
+
249 249
250 250
Cross compilation works but [Debian RaspberryPi Packaging][12] doesn't.
251 251
... ...
@@ -253,11 +253,11 @@ Cross compilation works but [Debian RaspberryPi Packaging][12] doesn't.
253 253
254 254
### Build natively
255 255
256
-apt-get source phonetisaurus m2m-aligner mitlm openfst
257
-# for each
258
-dpkg-buildpackage -us -uc -rfakeroot
259 256
260
-[[$[Get Code]]][13]
257
+ apt-get source phonetisaurus m2m-aligner mitlm openfst
258
+ # for each
259
+ dpkg-buildpackage -us -uc -rfakeroot
260
+
261 261
262 262
263 263
... ...
@@ -265,14 +265,14 @@ dpkg-buildpackage -us -uc -rfakeroot
265 265
266 266
On the system with the signing keys:
267 267
268
-sshfs yuggoth:/ yuggoth-ssh
269
-cd yuggoth-ssh/var/www/data/cognomen.co.uk/apt/debian
270
-for i in *.deb
271
-do
272
-    reprepro includedeb jessie "$i"
273
-done
274 268
275
-[[$[Get Code]]][14]
269
+ sshfs yuggoth:/ yuggoth-ssh
270
+ cd yuggoth-ssh/var/www/data/cognomen.co.uk/apt/debian
271
+ for i in *.deb
272
+ do
273
+     reprepro includedeb jessie "$i"
274
+ done
275
+
276 276
277 277
278 278
... ...
@@ -284,22 +284,22 @@ Not used by jasper.
284 284
285 285
286 286
287
-sudo apt-get install libsox2
288
-wget https://github.com/wit-ai/witd/releases/download/v0.1/witd-armv6
289
-chmod a+x witd-armv6
290
-./witd-armv6
291 287
292
-[[$[Get Code]]][15]
288
+ sudo apt-get install libsox2
289
+ wget https://github.com/wit-ai/witd/releases/download/v0.1/witd-armv6
290
+ chmod a+x witd-armv6
291
+ ./witd-armv6
292
+
293 293
294 294
295 295
296
-## Voice Command for [RPi][16][?][16]
296
+## Voice Command for RPi
297 297
298 298
* <http://stevenhickson.blogspot.co.uk/2013/06/voice-command-v30-for-raspberry-pi.html>
299 299
300 300
301 301
302
-## CMU Sphinx, [PocketSphinx][17][?][17], [KodiVC][18][?][18]
302
+## CMU Sphinx, PocketSphinx, KodiVC
303 303
304 304
* <http://cmusphinx.sourceforge.net/wiki/raspberrypi>
305 305
... ...
@@ -313,7 +313,7 @@ sudo apt-get install bison libpulse-dev
313 313
314 314
[[$[Get Code]]][20]
315 315
316
-[KodiVC][18][?][18]: [github][21]
316
+KodiVC: [github][21]
317 317
318 318
319 319
... ...
@@ -327,20 +327,21 @@ V1 API probably doesn't work any more. V2 needs at least a new API key (limited
327 327
328 328
From <http://blog.oscarliang.net/raspberry-pi-voice-recognition-works-like-siri/> :
329 329
330
-#!/bin/bash
331
-
332
-echo "Recording... Press Ctrl+C to Stop."
333
-arecord -D "plughw:1,0" -q -f cd -t wav | ffmpeg -loglevel panic -y -i - -ar 16000 -acodec flac file.flac  > /dev/null 2>&1
334
-
335
-echo "Processing..."
336
-wget -q -U "Mozilla/5.0" --post-file file.flac --header "Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=en-us&client=chromium" | cut -d\" -f12  >stt.txt
337
-
338
-echo -n "You Said: "
339
-cat stt.txt
340
-
330
+```shell
331
+#!/bin/bash
332
+
333
+echo "Recording... Press Ctrl+C to Stop."
334
+arecord -D "plughw:1,0" -q -f cd -t wav | ffmpeg -loglevel panic -y -i - -ar 16000 -acodec flac file.flac  > /dev/null 2>&1
335
+
336
+echo "Processing..."
337
+wget -q -U "Mozilla/5.0" --post-file file.flac --header "Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=en-us&client=chromium" | cut -d\" -f12  >stt.txt
338
+
339
+echo -n "You Said: "
340
+cat stt.txt
341
+
341 342
rm file.flac  > /dev/null 2>&1
342 343
343
-[[$[Get Code]]][22]
344
+```
344 345
345 346
346 347
MediaCentre/XiosDS.md
... ...
@@ -10,7 +10,7 @@ Hardware version
10 10
: M3
11 11
12 12
Platform
13
-: AMLOGIC [MESON3][1][?][1] 8726M SKT SH
13
+: AMLOGIC MESON3 8726M SKT SH
14 14
15 15
CPU
16 16
: ARM Cortex-A9
... ...
@@ -61,14 +61,14 @@ pass
61 61
62 62
## Move userdata to sdcard or USB stick
63 63
64
-/etc/init.d/S95xbmc stop
65
-cd .xbmc
66
-cp -r userdata /media/usb0/
67
-mv userdata userdata.bak
68
-ln -s /media/usb0/userdata userdata
69
-reboot
70 64
71
-[[$[Get Code]]][25]
65
+ /etc/init.d/S95xbmc stop
66
+ cd .xbmc
67
+ cp -r userdata /media/usb0/
68
+ mv userdata userdata.bak
69
+ ln -s /media/usb0/userdata userdata
70
+ reboot
71
+
72 72
73 73
74 74
... ...
@@ -95,12 +95,12 @@ cp /usr/share/xbmc/system/keymaps/keyboard.xml ~/.xbmc/userdata/keymaps/
95 95
96 96
[[$[Get Code]]][26]
97 97
98
-In [FullscreenVideo][27][?][27]:
98
+In FullscreenVideo:
99 99
100 100
* Back button is Stop
101 101
* Return, Enter and Menu (m) is Pause
102 102
* Context (c) is OSD
103
-* Left is [SmallStepBack][28][?][28] (-7s)
103
+* Left is SmallStepBack (-7s)
104 104
105 105
106 106
... ...
@@ -108,10 +108,10 @@ In [FullscreenVideo][27][?][27]:
108 108
109 109
1. backup [AppleTV][30] XBMC data
110 110
111
-ssh root@openelec "tar czvf - .xbmc" > xbmc-backup.tgz
112
113 111
114
-[[$[Get Code]]][31]
112
+ ssh root@openelec "tar czvf - .xbmc" > xbmc-backup.tgz
113
+  
114
+
115 115
116 116
117 117
... ...
@@ -171,7 +171,7 @@ Release
171 171
172 172
173 173
174
-## [TOFULinux][32][?][32]
174
+## TOFULinux
175 175
176 176
1. . Upgrade via `script.module.tofulinux.tool` plugin.
177 177
2. . Restore `exclude.txt`, `remote.conf` and `userdata` symlink.
Miscellany/DressesForLiane.md
... ...
@@ -14,7 +14,7 @@ title: DressesForLiane
14 14
* [After Dark][3]
15 15
* [Harvest][4] - [Place][5]
16 16
* Fairy Goth Mother
17
- * <http://www.fairygothmother.co.uk/scripts/clearanceonline.php> [XXpalebluegownfront][6][?][6]
17
+ * <http://www.fairygothmother.co.uk/scripts/clearanceonline.php> XXpalebluegownfront
18 18
* Fenwicks
19 19
* Kelsey Rose
20 20
* The Robina Group
... ...
@@ -25,7 +25,7 @@ title: DressesForLiane
25 25
* <http://www.youngbritishdesigners.com/shop/products/ss11.z.05~cloud-nine-dress~by~z~mode>
26 26
* Karen Millen
27 27
* <http://www.karenmillen.com/Satin-long-dress/Dresses/karenmillen/fcp-product/903000056271>
28
-* [TheOutnet][7][?][7].com
28
+* TheOutnet.com
29 29
* <http://www.theoutnet.com/product/216862>
30 30
* [Halston Heritage strapless silk-satin in Blue][8]
31 31
* [McQueen Wrap-effect Crepe dress in lavender][9]
Miscellany/Gamebooks.md
... ...
@@ -77,6 +77,7 @@ title: Gamebooks
77 77
78 78
### Piece of Leather
79 79
80
+
80 81
Swinebeard of Yore.
81 82
You have been found guilty of the crime of wilful and malicious arson a most serious offence in the dry region of Salamonis. As punishment you are sentenced to undertake a perilous mission of recovery. You must travel northwrds and enter the underground domain of Zharradan Marr there to seek out and recover flasks containing swirling vapours. These are the vapours of Stittle-Woad. You must fnd the three flasks containing these vapours and return them to this court. ON NO ACCOUNT MUST THEY BE OPENED. This is the sentence of the court and the geas has been cast. This is your punishment. You must succeed in your mission or die in the attempt.
82 83
Vapour of Knowledge / Flaxenmane of Silverton= Winged Helmet.
... ...
@@ -95,4 +96,3 @@ Leave me alone
95 96
96 97
### 241
97 98
98
-Who is it? What is happening? What has disturbed us? Please god release this black eye curse.
... ...
\ No newline at end of file
Miscellany/Gin.md
... ...
@@ -71,7 +71,7 @@ title: Gin
71 71
* Sipsmith
72 72
* Sloane's
73 73
* Spirit of London
74
-* [SW4][1][?][1]
74
+* SW4
75 75
* Tanqueray
76 76
* Tanqueray Rangpur
77 77
* Tesco Aromatic Gin (Greenall's)
Miscellany/PartyThemes.md
... ...
@@ -25,7 +25,7 @@ Fancy-dress Party List:
25 25
26 26
27 27
* Lara
28
- * Secret [H2G2][1][?][1] LARP
28
+ * Secret H2G2 LARP
29 29
30 30
31 31
* Élodie
Miscellany/RecentChanges.md
... ...
@@ -2,27 +2,27 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Wine][1] . . . 30 December 2019, at 05:14 PM UTC by [Gnome][2][?][2]: winemakers I've met
6
-* [PartyThemes][3] . . . 16 October 2018, at 06:57 PM UTC by [Gnome][2][?][2]: fancy dress
7
-* [Rum][4] . . . 13 May 2017, at 11:59 AM UTC by [Gnome][2][?][2]: rum
8
-* [Miscellany][5] . . . 13 May 2017, at 11:58 AM UTC by [Gnome][2][?][2]: rum
9
-* [Port][6] . . . 14 October 2016, at 01:18 PM UTC by [Gnome][2][?][2]: Graham's 20
10
-* [CambridgeTech][7] . . . 18 November 2015, at 04:24 PM UTC by [Gnome][2][?][2]: DisplayLink
11
-* [Gin][8] . . . 27 March 2015, at 07:10 PM UTC by [Gnome][2][?][2]: Updates
12
-* [Clubs][9] . . . 04 March 2014, at 02:08 PM UTC by [Gnome][2][?][2]: ROSL
13
-* [Gamebooks][10] . . . 04 March 2014, at 01:26 PM UTC by [Gnome][2][?][2]: Update fighting fantasy purchases
14
-* [Watches][11] . . . 28 January 2014, at 12:11 PM UTC by [Gnome][2][?][2]:
15
-* [DVDs][12] . . . 21 May 2012, at 03:24 PM GMT by [Gnome][2][?][2]: stü
16
-* [MovingHouse][13] . . . 15 May 2012, at 11:45 AM GMT by [Gnome][2][?][2]: agents
17
-* [Home][14][?][14] . . . 10 April 2012, at 12:46 AM GMT by [Gnome][2][?][2]: Dominion
18
-* [Glyndebourne2011][15] . . . 27 May 2011, at 02:33 PM GMT by [Gnome][2][?][2]: Accommodation at Newick Park
19
-* [DressesForLiane][16] . . . 23 May 2011, at 12:01 AM GMT by [Gnome][2][?][2]: The Amanda Wakely
20
-* [Tidbits][17] . . . 11 February 2011, at 12:04 PM GMT by [Gnome][2][?][2]: dental hygiene
21
-* [XmasRoast2010ShoppingList][18] . . . 15 December 2010, at 06:15 PM GMT by [Gnome][2][?][2]: peppercorn mousse
22
-* [XmasRoast2010][19] . . . 15 December 2010, at 05:49 PM GMT by [Gnome][2][?][2]: shopping
23
-* [BusinessCards][20] . . . 02 July 2010, at 01:26 PM GMT by [Gnome][2][?][2]: slide rule and gears
24
-* [555][21] . . . 13 February 2010, at 06:38 PM GMT by [Gnome][2][?][2]: homeboy shopping network
25
-* [Champagne][22] . . . 19 August 2009, at 02:00 PM GMT by [Gnome][2][?][2]: tom stevenson 1996 review
5
+* [Wine][1] . . . 30 December 2019, at 05:14 PM UTC by Gnome: winemakers I've met
6
+* [PartyThemes][3] . . . 16 October 2018, at 06:57 PM UTC by Gnome: fancy dress
7
+* [Rum][4] . . . 13 May 2017, at 11:59 AM UTC by Gnome: rum
8
+* [Miscellany][5] . . . 13 May 2017, at 11:58 AM UTC by Gnome: rum
9
+* [Port][6] . . . 14 October 2016, at 01:18 PM UTC by Gnome: Graham's 20
10
+* [CambridgeTech][7] . . . 18 November 2015, at 04:24 PM UTC by Gnome: DisplayLink
11
+* [Gin][8] . . . 27 March 2015, at 07:10 PM UTC by Gnome: Updates
12
+* [Clubs][9] . . . 04 March 2014, at 02:08 PM UTC by Gnome: ROSL
13
+* [Gamebooks][10] . . . 04 March 2014, at 01:26 PM UTC by Gnome: Update fighting fantasy purchases
14
+* [Watches][11] . . . 28 January 2014, at 12:11 PM UTC by Gnome:
15
+* [DVDs][12] . . . 21 May 2012, at 03:24 PM GMT by Gnome: stü
16
+* [MovingHouse][13] . . . 15 May 2012, at 11:45 AM GMT by Gnome: agents
17
+* Home . . . 10 April 2012, at 12:46 AM GMT by Gnome: Dominion
18
+* [Glyndebourne2011][15] . . . 27 May 2011, at 02:33 PM GMT by Gnome: Accommodation at Newick Park
19
+* [DressesForLiane][16] . . . 23 May 2011, at 12:01 AM GMT by Gnome: The Amanda Wakely
20
+* [Tidbits][17] . . . 11 February 2011, at 12:04 PM GMT by Gnome: dental hygiene
21
+* [XmasRoast2010ShoppingList][18] . . . 15 December 2010, at 06:15 PM GMT by Gnome: peppercorn mousse
22
+* [XmasRoast2010][19] . . . 15 December 2010, at 05:49 PM GMT by Gnome: shopping
23
+* [BusinessCards][20] . . . 02 July 2010, at 01:26 PM GMT by Gnome: slide rule and gears
24
+* [555][21] . . . 13 February 2010, at 06:38 PM GMT by Gnome: homeboy shopping network
25
+* [Champagne][22] . . . 19 August 2009, at 02:00 PM GMT by Gnome: tom stevenson 1996 review
26 26
27 27
[1]: Wine
28 28
[3]: PartyThemes
Miscellany/Wine.md
... ...
@@ -19,7 +19,7 @@ Notes about wine we like
19 19
* Tim Martin
20 20
* David & Nadia Sadie (David)
21 21
* *Adi Badenhorst*
22
-* *Pieter Walser* ([BLANKBottle][1][?][1])
22
+* *Pieter Walser* (BLANKBottle)
23 23
* *Johan and Diane Simons* (Dragonridge)
24 24
* *Tremayne Smith* (Blacksmith)
25 25
* *Ryan Mostert* (Terracura)
Music/Clarinet.md
... ...
@@ -37,5 +37,5 @@ Arpeggios
37 37
38 38
## Howarth
39 39
40
-## [LeBlanc][1][?][1]
40
+## LeBlanc
41 41
Music/RecentChanges.md
... ...
@@ -2,12 +2,12 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Clarinet][1] . . . 11 April 2016, at 02:46 PM UTC by [Gnome][2][?][2]: Instruments
6
-* [Music][3] . . . 15 December 2015, at 05:43 PM UTC by [Gnome][2][?][2]: link Clarinet
7
-* [Repertoire][4] . . . 13 May 2012, at 01:17 PM GMT by [Gnome][2][?][2]: polonaise
8
-* [Home][5][?][5] . . . 09 July 2010, at 09:47 AM GMT by [Gnome][2][?][2]: add Repertoire
9
-* [PianoLessons][6] . . . 29 June 2010, at 10:39 AM GMT by [Gnome][2][?][2]: lesson update
10
-* [Composition][7] . . . 25 March 2010, at 11:29 AM GMT by [Gnome][2][?][2]: moved from Music.Home
5
+* [Clarinet][1] . . . 11 April 2016, at 02:46 PM UTC by Gnome: Instruments
6
+* [Music][3] . . . 15 December 2015, at 05:43 PM UTC by Gnome: link Clarinet
7
+* [Repertoire][4] . . . 13 May 2012, at 01:17 PM GMT by Gnome: polonaise
8
+* Home . . . 09 July 2010, at 09:47 AM GMT by Gnome: add Repertoire
9
+* [PianoLessons][6] . . . 29 June 2010, at 10:39 AM GMT by Gnome: lesson update
10
+* [Composition][7] . . . 25 March 2010, at 11:29 AM GMT by Gnome: moved from Music.Home
11 11
12 12
[1]: Clarinet
13 13
[3]: Music
Network/ADSLModem.md
... ...
@@ -8,10 +8,10 @@ whr-hp-g54
8 8
9 9
* <http://www.broadbandbuyer.co.uk/default_ShopGroup.asp?ShopGroupID=1>
10 10
11
-* [DrayTek][1][?][1] Vigor 100 [ADSL2][2][?][2]+ [PPPoE][3][?][3]-to-[PPPoA][4][?][4] bridge modem
12
-* Linksys [AM200][5][?][5]
11
+* DrayTek Vigor 100 ADSL2+ PPPoE-to-PPPoA bridge modem
12
+* Linksys AM200
13 13
* D-Link DSL-320T
14
-* Netgear [DM111P][6][?][6]
14
+* Netgear DM111P
15 15
* Thomson Speedtouch 516
16 16
* £25: <http://www.dslsource.co.uk/details.aspx?idProduct=756&category=>
17 17
... ...
@@ -19,11 +19,11 @@ Bought the Thomson Speedtouch 516.
19 19
20 20
* HOWTO [Upgrade the Thomson Speedtouch in Linux][7]
21 21
22
-Most bridge-mode modems will not work with [PPPoA][4][?][4]-only [DSLAMs][8][?][8]. e.g. LLU.
22
+Most bridge-mode modems will not work with PPPoA-only DSLAMs. e.g. LLU.
23 23
24
-BT [DSLAMs][8][?][8] support [PPPoE][3][?][3] and [PPPoA][4][?][4].
24
+BT DSLAMs support PPPoE and PPPoA.
25 25
26
-[WRTSL54][9][?][9] - [WRT54][10][?][10] with USB. [OpenWRT][11][?][11] with Speedtouch USB.
26
+WRTSL54 - WRT54 with USB. OpenWRT with Speedtouch USB.
27 27
28 28
29 29
... ...
@@ -31,10 +31,10 @@ BT [DSLAMs][8][?][8] support [PPPoE][3][?][3] and [PPPoA][4][?][4].
31 31
32 32
| Unit | Ports | Price |
33 33
||
34
-| Linksys [AM200][5][?][5] | ADSL | R432 |
34
+| Linksys AM200 | ADSL | R432 |
35 35
| [WRT54GL][12] | Wifi,LAN | R580 |
36 36
| Billion 5200S | ADSL,LAN | R406 |
37
-| Linksys [WAG200G][13][?][13] | ADSL,LAN,Wifi | R688 |
37
+| Linksys WAG200G | ADSL,LAN,Wifi | R688 |
38 38
39 39
[7]: SpeedtouchUpgrade
40 40
[12]: WRT54GL
Network/Archix.md
... ...
@@ -26,7 +26,7 @@ Make
26 26
: Samsung
27 27
28 28
Model
29
-: [XE503C12][6][?][6]-[K01UK][7][?][7]
29
+: XE503C12-K01UK
30 30
31 31
CPU
32 32
: Exynos 5420 quad-A15 / quad-A7
... ...
@@ -50,7 +50,7 @@ Price
50 50
51 51
# Accessories
52 52
53
-## [MicroSD][8][?][8] card
53
+## MicroSD card
54 54
55 55
Bug report on UHS support: <http://code.google.com/p/chromium/issues/detail?id=309462>
56 56
... ...
@@ -59,7 +59,7 @@ Need fast random read/write speeds.
59 59
If the microSD reader supports UHC-2, wait for Toshiba card to become available. Otherwise based on [The Wire Cutter][9]:
60 60
61 61
* Samsung EVO (64GB/32GB) (£28 / £13)
62
-* [SanDisk][10][?][10] Extreme Plus (64GB/32GB) (£60 / £30)
62
+* SanDisk Extreme Plus (64GB/32GB) (£60 / £30)
63 63
64 64
The Samsung EVO seems much better value.
65 65
... ...
@@ -72,10 +72,10 @@ The Samsung EVO seems much better value.
72 72
Read/write in MB/s:
73 73
74 74
* Samsung EVO: 43.9 / 32.0
75
-* [SanDisk][10][?][10] Extreme Plus: 85.9 / 43.8
76
-* [SanDisk][10][?][10] Extreme PRO: 87.6 / 13.4
75
+* SanDisk Extreme Plus: 85.9 / 43.8
76
+* SanDisk Extreme PRO: 87.6 / 13.4
77 77
* Samsung microSDHC Plus: 67.35 / 20.04
78
-* [SanDisk][10][?][10] Ultra: 43.98 / 2.45
78
+* SanDisk Ultra: 43.98 / 2.45
79 79
* Toshiba microSD: 33.1 / 1.6
80 80
81 81
[1]: /Tech/Netbook
Network/ArchixApplicationSoftware.md
... ...
@@ -6,7 +6,7 @@ title: ArchixApplicationSoftware
6 6
7 7
Copied old connection information from Nixie `/<span class="wikiword"><a class='createlinktext' rel='nofollow'
8 8
9
-Insufficient permissions for netdev users to edit [NetworkManager][1][?][1] system connections. See <http://jeffhoogland.blogspot.co.uk/2012/05/howto-give-network-manager-sufficient.html>
9
+Insufficient permissions for netdev users to edit NetworkManager system connections. See <http://jeffhoogland.blogspot.co.uk/2012/05/howto-give-network-manager-sufficient.html>
10 10
11 11
Edit `/etc/polkit-1/localauthority/50-local.d/org.<span class="wikiword"><a class='createlinktext' rel='nofollow'
12 12
Network/ArchixSystemSoftware.md
... ...
@@ -2,7 +2,7 @@
2 2
title: ArchixSystemSoftware
3 3
---
4 4
5
-[ChrUbuntu][1][?][1] installation on Samsung Chromebook 2 [XE503C12][2][?][2]
5
+ChrUbuntu installation on Samsung Chromebook 2 XE503C12
6 6
7 7
8 8
... ...
@@ -42,7 +42,7 @@ cgpt add -i 6 -P 5 -T 1 -S /dev/mmcblk0p6
42 42
43 43
[[$[Get Code]]][42]
44 44
45
-# [ChrUbuntu][1][?][1]
45
+# ChrUbuntu
46 46
47 47
After doing a reinstall on a USB stick, inexplicably succeeded in booting to the root partition on the internal eMMC!
48 48
... ...
@@ -84,7 +84,7 @@ If I mount, create dir, unmount the fs is corrupted.
84 84
85 85
# SDHC (Old)
86 86
87
-Configure an SDHC containing an [LVM2][45][?][45] volume group and a logical volume for `/home`
87
+Configure an SDHC containing an LVM2 volume group and a logical volume for `/home`
88 88
89 89
90 90
... ...
@@ -94,11 +94,11 @@ Attempting to use cryptsetup without a GPT resulted in corruption of the LUKS he
94 94
95 95
On a 32GB sdcard, create a 30GB partition, reserving the last 1440MB just in case.
96 96
97
-sudo parted /dev/mmcblk1 mklabel gpt
98
-sudo parted /dev/mmcblk1 mkpart primary 30G
99
-sudo parted /dev/mmcblk1 mkpart primary 30G -- -1  # -- needed to pass -1 (end of disk)
100 97
101
-[[$[Get Code]]][46]
98
+ sudo parted /dev/mmcblk1 mklabel gpt
99
+ sudo parted /dev/mmcblk1 mkpart primary 30G
100
+ sudo parted /dev/mmcblk1 mkpart primary 30G -- -1  # -- needed to pass -1 (end of disk)
101
+
102 102
103 103
104 104
... ...
@@ -106,23 +106,23 @@ sudo parted /dev/mmcblk1 mkpart primary 30G -- -1  # -- needed to pass -1 (end
106 106
107 107
No xts kernel module, so use cbc-essiv instead.
108 108
109
-sudo cryptsetup -v luksFormat -c "aes-cbc-essiv:sha256" -s 256 /dev/mmcblk1p1
110
-sudo cryptsetup luksOpen /dev/mmcblk1p1 crypt-sdhc
111 109
112
-[[$[Get Code]]][47]
110
+ sudo cryptsetup -v luksFormat -c "aes-cbc-essiv:sha256" -s 256 /dev/mmcblk1p1
111
+ sudo cryptsetup luksOpen /dev/mmcblk1p1 crypt-sdhc
112
+
113 113
114 114
115 115
116
-## [LVM2][45][?][45]
116
+## LVM2
117 117
118 118
LVM stack including 20G home directory. Reserving remaining 10G for later. Zeroing fails, so disable it when creating lvs.
119 119
120
-sudo pvcreate /dev/mapper/crypt-sdhc
121
-sudo vgcreate vg-sdhc /dev/mapper/crypt-sdhc
122
-sudo vgchange -a y vg-sdhc
123
-sudo lvcreate -Zn -n home -L20g vg-sdhc # disable zeroing as workaround
124 120
125
-[[$[Get Code]]][48]
121
+ sudo pvcreate /dev/mapper/crypt-sdhc
122
+ sudo vgcreate vg-sdhc /dev/mapper/crypt-sdhc
123
+ sudo vgchange -a y vg-sdhc
124
+ sudo lvcreate -Zn -n home -L20g vg-sdhc # disable zeroing as workaround
125
+
126 126
127 127
128 128
... ...
@@ -168,10 +168,10 @@ Leaving root on the eMMC for now while I evaluate the performance. Home is on th
168 168
169 169
Reading the current kernel config
170 170
171
-modprobe configs
172
-zless /proc/config.gz
173 171
174
-[[$[Get Code]]][51]
172
+ modprobe configs
173
+ zless /proc/config.gz
174
+
175 175
176 176
177 177
... ...
@@ -185,10 +185,10 @@ sudo usermod -l myuser -d /home/myuser user
185 185
186 186
## Hostname
187 187
188
-sudo hostname "myhost"
189
-sudo echo "myhost" > /etc/hostname
190 188
191
-[[$[Get Code]]][53]
189
+ sudo hostname "myhost"
190
+ sudo echo "myhost" > /etc/hostname
191
+
192 192
193 193
`sudo vi /etc/hosts`
194 194
... ...
@@ -209,10 +209,10 @@ Set system locale to `en_GB.UTF-8`
209 209
210 210
211 211
212
-sudo locale-gen en_GB.UTF-8
213
-sudo dpkg-reconfigure tzdata
214 212
215
-[[$[Get Code]]][54]
213
+ sudo locale-gen en_GB.UTF-8
214
+ sudo dpkg-reconfigure tzdata
215
+
216 216
217 217
218 218
... ...
@@ -234,10 +234,10 @@ setxkbmap -option compose:lwin
234 234
235 235
Then
236 236
237
-sudo dpkg-reconfigure console-data   # select layout from full list
238
-sudo dpkg-reconfigure console-setup  # rebuilds initramfs with new settings
239 237
240
-[[$[Get Code]]][56]
238
+ sudo dpkg-reconfigure console-data   # select layout from full list
239
+ sudo dpkg-reconfigure console-setup  # rebuilds initramfs with new settings
240
+
241 241
242 242
243 243
... ...
@@ -253,7 +253,7 @@ Missing kernel modules x\_tables, xt\_limit, etc.
253 253
254 254
* Wifi 802.11bgn
255 255
* Touchpad
256
-* Ethernet (my Asix [USB2][57][?][57] gigabit adapter)
256
+* Ethernet (my Asix USB2 gigabit adapter)
257 257
* Bluetooth
258 258
* Camera
259 259
... ...
@@ -282,19 +282,19 @@ New link: <http://community.arm.com/docs/DOC-9494>
282 282
283 283
### With loopback and kpartx
284 284
285
-dd if=/dev/zero of=mali.img bs=1k count=1M
286
-# create partitions manually based on chromebook-setup.sh
287
-sudo kpartx mali.img  # creates /dev/loopXpY etc
288
-# comment out options sanitising and storage formatting from script
289
-./chromebook-setup.sh --variant=XE503C12 --storage=/dev/loop1p do_everything
290 285
291
-[[$[Get Code]]][58]
286
+ dd if=/dev/zero of=mali.img bs=1k count=1M
287
+ # create partitions manually based on chromebook-setup.sh
288
+ sudo kpartx mali.img  # creates /dev/loopXpY etc
289
+ # comment out options sanitising and storage formatting from script
290
+ ./chromebook-setup.sh --variant=XE503C12 --storage=/dev/loop1p do_everything
291
+
292 292
293 293
294 294
295 295
### Old instructions
296 296
297
-* ARM Mali [T628MP6][59][?][59]
297
+* ARM Mali T628MP6
298 298
* Needs kernel support (present?)
299 299
* Needs custom built driver
300 300
... ...
@@ -370,7 +370,7 @@ Change the `wicd` preferences to use `mlan0`.
370 370
371 371
372 372
373
-### Prevent [NetworkManager][61][?][61] messing with `uap0` and `p2p0`
373
+### Prevent NetworkManager messing with `uap0` and `p2p0`
374 374
375 375
Add `uap0` and `p2p0` to `/etc/network/interfaces` as manual interfaces:
376 376
... ...
@@ -404,7 +404,7 @@ Mute digital:
404 404
* "Digital EQ 5 Band"
405 405
* "Digital EQ 7 Band"
406 406
407
-Unmute Speaker [DACs][63][?][63]:
407
+Unmute Speaker DACs:
408 408
409 409
* "Left Speaker Mixer Left DAC" = 00
410 410
* "Left Speaker Mixer Right DAC" = 00
... ...
@@ -444,10 +444,10 @@ Finally irritated enough by constant freezes.
444 444
445 445
Create a trusty chroot on the SD card
446 446
447
-sudo mount -t ext4 /dev/mmcblk0p7 /mnt/0p7
448
-sudo sh -e ~/Downloads/crouton -r trusty -t lxde -p /mnt/0p7
449 447
450
-[[$[Get Code]]][64]
448
+ sudo mount -t ext4 /dev/mmcblk0p7 /mnt/0p7
449
+ sudo sh -e ~/Downloads/crouton -r trusty -t lxde -p /mnt/0p7
450
+
451 451
452 452
453 453
... ...
@@ -465,11 +465,11 @@ Add workaround to `/etc/rc.local`:
465 465
466 466
467 467
468
-xauth -f /var/host/Xauthority add : MIT-MAGIC-COOKIE-1 \
469
-    `xauth -f /var/host/Xauthority list | sed -e 's/.*  MIT-MAGIC-COOKIE-1  //'`
470
471 468
472
-[[$[Get Code]]][67]
469
+ xauth -f /var/host/Xauthority add : MIT-MAGIC-COOKIE-1 \
470
+     `xauth -f /var/host/Xauthority list | sed -e 's/.*  MIT-MAGIC-COOKIE-1  //'`
471
+  
472
+
473 473
474 474
[38]: http://linux-exynos.org/wiki/Samsung_Chromebook_2_XE503C12
475 475
[39]: http://linux-exynos.org/wiki/Samsung_Chromebook_2_XE503C12/Installing_Linux
Network/Authentication.md
... ...
@@ -39,7 +39,7 @@ Generate and scp passwd files?
39 39
40 40
## NIS
41 41
42
-## [FreeIPA][1][?][1]
42
+## FreeIPA
43 43
44 44
<http://www.freeipa.org/>
45 45
Network/Azathoth.md
... ...
@@ -17,8 +17,8 @@ Firewall / Router
17 17
| HDD | Maxtor | 90650U2 | IDE | 6.5GB |
18 18
| Graphics Adapter | Intel | i810 | onboard |   |
19 19
| CD-ROM | LG | CRD-8400B | IDE |   |
20
-| Soundcard | Ensoniq | [ES1371][1][?][1] | onboard |   |
20
+| Soundcard | Ensoniq | ES1371 | onboard |   |
21 21
| NIC | Intel | i810 eepro100 | PCI | 100Mbit |
22 22
| NIC | 3Com | Boomerang (3c900) | PCI | 10Mbit |
23
-| Zip | Iomega | [ZIP250][2][?][2] | IDE | 250MB |
23
+| Zip | Iomega | ZIP250 | IDE | 250MB |
24 24
Network/BandwidthManagement.md
... ...
@@ -2,12 +2,12 @@
2 2
title: BandwidthManagement
3 3
---
4 4
5
-# [QoS][1][?][1]
5
+# QoS
6 6
7
-* Supported on [OpenWRT][2][?][2]
8
-* Implemented on [PerimiterRouter][3][?][3]
7
+* Supported on OpenWRT
8
+* Implemented on PerimiterRouter
9 9
10
-## [ToDo][4][?][4]
10
+## ToDo
11 11
12 12
* Implement separate management for public subnet
13 13
Network/Canard.md
... ...
@@ -16,7 +16,7 @@ Make
16 16
: Dell
17 17
18 18
Model
19
-: [XPS13][3][?][3] 9370
19
+: XPS13 9370
20 20
21 21
Screen
22 22
: 13.3" 1080p
... ...
@@ -25,10 +25,10 @@ CPU
25 25
: i7-8550 @ 1.8GHz Kabylake
26 26
27 27
RAM
28
-: 16GB [LPDDR3][4][?][4] 2133MHz
28
+: 16GB LPDDR3 2133MHz
29 29
30 30
Storage
31
-: 512GB [NVMe][5][?][5] (28IS101YT3ZQ)
31
+: 512GB NVMe (28IS101YT3ZQ)
32 32
33 33
Graphics
34 34
:
Network/CanardApplicationSoftware.md
... ...
@@ -2,19 +2,19 @@
2 2
title: CanardApplicationSoftware
3 3
---
4 4
5
-# [OpenVPN][1][?][1]
5
+# OpenVPN
6 6
7 7
## systemd-resolvconf
8 8
9
-sudo pacman -S systemd-resolvconf
10
-sudo systemctl enable systemd-resolvconf
11
-sudo systemctl start systemd-resolvconf
12 9
13
-[[$[Get Code]]][2]
10
+ sudo pacman -S systemd-resolvconf
11
+ sudo systemctl enable systemd-resolvconf
12
+ sudo systemctl start systemd-resolvconf
13
+
14 14
15 15
16 16
17
-## [NetworkManager][3][?][3]
17
+## NetworkManager
18 18
19 19
<https://wiki.archlinux.org/index.php/NetworkManager#systemd-resolved>
20 20
Network/CanardSystemSoftware.md
... ...
@@ -45,13 +45,13 @@ cryptsetup -c aes-xts-plain64 -y --key-size 512 -y --use-random luksFormat /dev/
45 45
46 46
Set in @@xfce4-keyboard-settings@
47 47
48
-[XF86AudioMute][13][?][13]
48
+XF86AudioMute
49 49
: `pactl set-sink-mute 0 toggle`
50 50
51
-[XF86AudioLowerVolume][14][?][14]
51
+XF86AudioLowerVolume
52 52
: `pactl set-sink-volume 0 -5%`
53 53
54
-[XF86AudioRaiseVolume][15][?][15]
54
+XF86AudioRaiseVolume
55 55
: `pactl set-sink-volume 0 +5%`
56 56
57 57
... ...
@@ -66,7 +66,7 @@ Run `sudo locale-gen`
66 66
67 67
## Display Manager
68 68
69
-### [LightDM][16][?][16]
69
+### LightDM
70 70
71 71
Switch the default login screen keyboard layout.
72 72
... ...
@@ -119,14 +119,14 @@ Replace the Linux firmware blobs with those from the Windows driver.
119 119
120 120
121 121
122
-unzip Killer-Wireless-AC-1525-1535-1435-Bluetooth-Driver\_1JVK3\_WIN\_10.0.0.448\_A07.EXE
123
-sudo cp /lib/firmware/qca/nvm\_usb\_00000302.bin /lib/firmware/qca/nvm\_usb\_00000302.bin.orig
124
-sudo cp /lib/firmware/qca/rampatch\_usb\_00000302.bin /lib/firmware/qca/rampatch\_usb\_00000302.bin.orig
125
-
126
-sudo cp ./drivers/Production/Windows10-x64/Bluetooth_driver/ramps\_0x00000302\_48.dfu /lib/firmware/qca/nvm\_usb\_00000302.bin
127
-sudo cp ./drivers/Production/Windows10-x64/Bluetooth_driver/AthrBT_0x00000302.dfu /lib/firmware/qca/rampatch\_usb\_00000302.bin
128 122
129
-[[$[Get Code]]][19]
123
+ unzip Killer-Wireless-AC-1525-1535-1435-Bluetooth-Driver\_1JVK3\_WIN\_10.0.0.448\_A07.EXE
124
+ sudo cp /lib/firmware/qca/nvm\_usb\_00000302.bin /lib/firmware/qca/nvm\_usb\_00000302.bin.orig
125
+ sudo cp /lib/firmware/qca/rampatch\_usb\_00000302.bin /lib/firmware/qca/rampatch\_usb\_00000302.bin.orig
126
+
127
+ sudo cp ./drivers/Production/Windows10-x64/Bluetooth_driver/ramps\_0x00000302\_48.dfu /lib/firmware/qca/nvm\_usb\_00000302.bin
128
+ sudo cp ./drivers/Production/Windows10-x64/Bluetooth_driver/AthrBT_0x00000302.dfu /lib/firmware/qca/rampatch\_usb\_00000302.bin
129
+
130 130
131 131
132 132
... ...
@@ -207,7 +207,7 @@ Update `mkinitcpio` to move keyboard hook immediately after udev:
207 207
208 208
After some failed boot attempts ("No bootable devices") reboots tripped into Dell Recovery.
209 209
210
-Drop in to BIOS (F2) and reconfigure the [NVMe][20][?][20] disk as an EFI boot disk.
210
+Drop in to BIOS (F2) and reconfigure the NVMe disk as an EFI boot disk.
211 211
212 212
213 213
... ...
@@ -222,7 +222,7 @@ Driver
222 222
: ath10k_pci
223 223
224 224
Model
225
-: [QCA6174][21][?][21]
225
+: QCA6174
226 226
227 227
228 228
... ...
@@ -244,22 +244,23 @@ Bonded wifi and wired connections for seamless handover. Prefer wired.
244 244
245 245
246 246
247
-#!/bin/sh
248
-CON_BOND=failover
249
-DEV_BOND=bond0
250
-CON_WIFI=${CON_BOND}-wifi
251
-DEV_WIFI=wlp2s0
252
-CON_WIRED=${CON_BOND}-wired
253
-DEV_WIRED=enp57s0u1u1
254
-SSID=not-the-real-ssid
255
-WIFI_PASS=not-the-real-password
256
-
257
-$ECHO nmcli con add type bond con-name $CON_BOND ifname $DEV_BOND mode active-backup primary $DEV_WIRED +bond.options "fail\_over\_mac=active,miimon=100,primary_reselect=always,updelay=200"
258
-$ECHO nmcli con add type wifi con-name $CON_WIFI slave-type bond master $CON_BOND ifname $DEV_WIFI ssid $SSID
259
-$ECHO nmcli con modify $CON_WIFI wifi-sec.key-mgmt wpa-psk wifi-sec.psk $WIFI_PASS
247
+```shell
248
+#!/bin/sh
249
+CON_BOND=failover
250
+DEV_BOND=bond0
251
+CON_WIFI=${CON_BOND}-wifi
252
+DEV_WIFI=wlp2s0
253
+CON_WIRED=${CON_BOND}-wired
254
+DEV_WIRED=enp57s0u1u1
255
+SSID=not-the-real-ssid
256
+WIFI_PASS=not-the-real-password
257
+
258
+$ECHO nmcli con add type bond con-name $CON_BOND ifname $DEV_BOND mode active-backup primary $DEV_WIRED +bond.options "fail\_over\_mac=active,miimon=100,primary_reselect=always,updelay=200"
259
+$ECHO nmcli con add type wifi con-name $CON_WIFI slave-type bond master $CON_BOND ifname $DEV_WIFI ssid $SSID
260
+$ECHO nmcli con modify $CON_WIFI wifi-sec.key-mgmt wpa-psk wifi-sec.psk $WIFI_PASS
260 261
$ECHO nmcli con add type ethernet con-name $CON_WIRED slave-type bond master $CON_BOND ifname $DEV_WIRED
261 262
262
-[[$[Get Code]]][22]
263
+```
263 264
264 265
Also need to:
265 266
... ...
@@ -282,13 +283,13 @@ Using `intel_pstate`.
282 283
283 284
284 285
285
-# current cpufreq driver
286
-sudo cpupower frequency-info
287
-
288
-# current cpu governor
289
-cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
290 286
291
-[[$[Get Code]]][23]
287
+ # current cpufreq driver
288
+ sudo cpupower frequency-info
289
+
290
+ # current cpu governor
291
+ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
292
+
292 293
293 294
[12]: CanardSystemSoftware?action=sourceblock&num=1
294 295
[17]: CanardSystemSoftware?action=sourceblock&num=2
Network/CliMateCM-2.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: Swiftbase
7 7
8 8
Model
9
-: [CliMate][1][?][1] CM-2
9
+: CliMate CM-2
10 10
11 11
Version
12 12
: 3.5.6
Network/CyclopsApplicationSoftware.md
... ...
@@ -32,26 +32,26 @@ Deploy as a replacement for apt-cacher-ng.
32 32
33 33
## Server
34 34
35
-apt-get install squid-deb-proxy
36
-# allow cognomen repo
37
-cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/20-cognomen
38
-cognomen.co.uk
39
-^D
40
-# allow raspbian and osmc repos
41
-cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/30-osmc
42
-mirrordirector.raspbian.org
43
-apt.osmc.tv
44
-^D
45
-# update iptables
46
-echo "8000 squid-deb-proxy" >> /etc/iptables/ports\_in\_tcp_allow
47
-# disable on startup, move cache, restart
48
-systemctl disable squid-deb-proxy
49
-cd /var/cache
50
-mv squid-deb-proxy /mnt/md6-media/systems/cyclops/var/cache/
51
-ln -s /mnt/md6-media/systems/cyclops/var/cache/squid-deb-proxy
52
-systemctl start squid-deb-proxy
53
-
54
-[[$[Get Code]]][10]
35
+
36
+ apt-get install squid-deb-proxy
37
+ # allow cognomen repo
38
+ cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/20-cognomen
39
+ cognomen.co.uk
40
+ ^D
41
+ # allow raspbian and osmc repos
42
+ cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/30-osmc
43
+ mirrordirector.raspbian.org
44
+ apt.osmc.tv
45
+ ^D
46
+ # update iptables
47
+ echo "8000 squid-deb-proxy" >> /etc/iptables/ports\_in\_tcp_allow
48
+ # disable on startup, move cache, restart
49
+ systemctl disable squid-deb-proxy
50
+ cd /var/cache
51
+ mv squid-deb-proxy /mnt/md6-media/systems/cyclops/var/cache/
52
+ ln -s /mnt/md6-media/systems/cyclops/var/cache/squid-deb-proxy
53
+ systemctl start squid-deb-proxy
54
+
55 55
56 56
Allow access and caching of unofficial repos in `/etc/squid-deb-proxy/squid-deb-proxy.conf`:
57 57
Network/CyclopsHardware.md
... ...
@@ -3,34 +3,34 @@ title: CyclopsHardware
3 3
---
4 4
5 5
Make and Model
6
-: HPE [DL320e][1][?][1] Gen8 v2
6
+: HPE DL320e Gen8 v2
7 7
8 8
CPU
9 9
: Intel i3-4130 @ 3.4GHz
10 10
11 11
RAM
12
-: 4x8GB [PC3][2][?][2]-12800E [DDR3][3][?][3] 1600 (ECC)
12
+: 4x8GB PC3-12800E DDR3 1600 (ECC)
13 13
14 14
Raid (new)
15
-: LSI [SAS9207][4][?][4]-8e ([SAS2308][5][?][5])
15
+: LSI SAS9207-8e (SAS2308)
16 16
17 17
Raid (old)
18
-: [HP P411][6] SAS controller (dual SFF-8088, non-JBOD, [PM8011][7][?][7] SRC)
18
+: [HP P411][6] SAS controller (dual SFF-8088, non-JBOD, PM8011 SRC)
19 19
20 20
Raid, int
21 21
: B120i RAID controller v3.54
22 22
23 23
Optical
24
-: HP DVD RAM [UJ8C][8][?][8] DVD+R DL
24
+: HP DVD RAM UJ8C DVD+R DL
25 25
26 26
Network
27 27
: 2x 1Gb 332i adapter
28 28
29 29
Video
30
-: Matrox [G200eH][9][?][9] video
30
+: Matrox G200eH video
31 31
32 32
HDD
33
-: 2x 120GB SDD Intel DC S3500 ([SSDSC2BB120G4B][10][?][10])
33
+: 2x 120GB SDD Intel DC S3500 (SSDSC2BB120G4B)
34 34
35 35
36 36
... ...
@@ -43,15 +43,15 @@ Correct rails are 663201-B21
43 43
# RAM
44 44
45 45
Maximum
46
-: 4x8GB [DDR3][3][?][3] (controller limit)
46
+: 4x8GB DDR3 (controller limit)
47 47
48 48
Part Number
49 49
: HP 669239-081
50 50
51
-* Supports both Low-Voltage [DDR3L][11][?][11] (1.35V) and [DDR3][3][?][3] (1.5V)
51
+* Supports both Low-Voltage DDR3L (1.35V) and DDR3 (1.5V)
52 52
* Supports only Unbuffered ECC DIMM
53 53
* <http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0109093>
54
-* Purchased 2x8GB "SAMSUNG 8GB RAM ECC Registered 2RX4 [PC3L][12][?][12]-10600R [M393B1K70CHD][13][?][13]-[CH9][14][?][14]" from eBay ~£34
54
+* Purchased 2x8GB "SAMSUNG 8GB RAM ECC Registered 2RX4 PC3L-10600R M393B1K70CHD-CH9" from eBay ~£34
55 55
* Unsupported *registered* DIMM
56 56
57 57
... ...
@@ -67,15 +67,15 @@ sudo dmidecode -t 17
67 67
### Likely
68 68
69 69
* [SkHynix HMT41GU7AFR8C][16], [spec][17]
70
- * HMT41GU7AFR8C-PB/RD: 8GB 1Gx72 512Mx8([H5TQ4G83MFR][18][?][18])*18 2-rank
71
- * PB = 1600MHz = [PC3][2][?][2]-12800
72
- * RD = 1866MHz = [PC3][2][?][2]-14900
70
+ * HMT41GU7AFR8C-PB/RD: 8GB 1Gx72 512Mx8(H5TQ4G83MFR)*18 2-rank
71
+ * PB = 1600MHz = PC3-12800
72
+ * RD = 1866MHz = PC3-14900
73 73
* Purchased from Dr Memory for £90
74
-* SkHynix HMT41GU7BFR8C-PB, [spec][19]: Newer revision of [AFR8C][20][?][20]
74
+* SkHynix HMT41GU7BFR8C-PB, [spec][19]: Newer revision of AFR8C
75 75
* SkHynix HMT41GU7DFR8C-PB, <https://www.skhynix.com/products.view.do?vseq=1788&cseq=75,spec>: D-die version (2015)
76 76
* [SkHynix HMT41GU7AFR8A][21], [spec][22]
77
- * [DDR3L][11][?][11] version (1.35V), but works in both [DDR3L][11][?][11] and [DDR3][3][?][3] (1.5V) modes
78
- * PB = 1600MHz = [PC3][2][?][2]-12800 (no RD spec)
77
+ * DDR3L version (1.35V), but works in both DDR3L and DDR3 (1.5V) modes
78
+ * PB = 1600MHz = PC3-12800 (no RD spec)
79 79
80 80
81 81
... ...
@@ -91,8 +91,8 @@ sudo dmidecode -t 17
91 91
### No
92 92
93 93
* Hynix
94
- * All [GU6][23][?][23] (which are 64-bit wide) are *non-ECC*
95
- * HMT41GU6AFR8C-PB/RD: 8GB 1Gx64 512Mx8([H5TQ4G83AFR][24][?][24])*16 2-rank
94
+ * All GU6 (which are 64-bit wide) are *non-ECC*
95
+ * HMT41GU6AFR8C-PB/RD: 8GB 1Gx64 512Mx8(H5TQ4G83AFR)*16 2-rank
96 96
97 97
98 98
... ...
@@ -105,16 +105,16 @@ LSI 1068 are limited to 2TB disks.
105 105
106 106
107 107
* [LSI 9200-8e][26]
108
-* LSI 9201-16e - HBA, [PCIe2][27][?][27] 8x ~£80
108
+* LSI 9201-16e - HBA, PCIe2 8x ~£80
109 109
* [LSI 9280-8e][28] (BBU, JBOD?), [ServeRAID M5025 SAS/SATA][29]
110
-* LSI SAS 9205-8e - 2x4 ports SAS external, no cache, no BBU, can be flashed to either IT or IR mode, possibly even to [LSI9240][30][?][30] making it a dual core version (LSI 9245 which was planned)
110
+* LSI SAS 9205-8e - 2x4 ports SAS external, no cache, no BBU, can be flashed to either IT or IR mode, possibly even to LSI9240 making it a dual core version (LSI 9245 which was planned)
111 111
* LSI SAS 9285-8e (Dell H810)
112 112
113 113
114 114
115 115
## LSI JBOD
116 116
117
-### [SAS2008][31][?][31]
117
+### SAS2008
118 118
119 119
* 9200 [[£50 eBay UK)
120 120
* 9201 - 16e [£80 eBay UK][32][?][32]
... ...
@@ -124,14 +124,14 @@ LSI 1068 are limited to 2TB disks.
124 124
125 125
126 126
127
-### [SAS2308][5][?][5]
127
+### SAS2308
128 128
129
-* 9205 ([PCIe2][27][?][27]?)
130
-* 9207-8e - [PCIe3][34][?][34], IT default - £50 eBay UK (purchased)
129
+* 9205 (PCIe2?)
130
+* 9207-8e - PCIe3, IT default - £50 eBay UK (purchased)
131 131
132 132
133 133
134
-### [SAS3008][35][?][35] and [SAS3108][36][?][36]
134
+### SAS3008 and SAS3108
135 135
136 136
* HD SAS only
137 137
Network/CyclopsSystemSoftware.md
... ...
@@ -4,14 +4,14 @@ title: CyclopsSystemSoftware
4 4
5 5
# RAID 1
6 6
7
-Copy partition table from `/dev/sda` to `/dev/sdb` and extend btrfs to [RAID1][1][?][1]
7
+Copy partition table from `/dev/sda` to `/dev/sdb` and extend btrfs to RAID1
8 8
9
-sfdisk -d /dev/sda > part_table
10
-sfdisk /dev/sdb < part_table
11
-btrfs device add /dev/sdb1 /
12
-btrfs balance start -dconvert=raid1 -mconvert=raid1 /
13 9
14
-[[$[Get Code]]][2]
10
+ sfdisk -d /dev/sda > part_table
11
+ sfdisk /dev/sdb < part_table
12
+ btrfs device add /dev/sdb1 /
13
+ btrfs balance start -dconvert=raid1 -mconvert=raid1 /
14
+
15 15
16 16
17 17
... ...
@@ -19,10 +19,10 @@ btrfs balance start -dconvert=raid1 -mconvert=raid1 /
19 19
20 20
Configure grub to use `4.9.0-12` kernel in `/etc/default/grub`:
21 21
22
-GRUB_DEFAULT="1>4"
23 22
24
-
25
-[[$[Get Code]]][3]
23
+ GRUB_DEFAULT="1>4"
24
+
25
+
26 26
27 27
Selects \*2nd\* menu option ("Advanced settings"), then \*5th\* submenu option.
28 28
Network/DG834GT.md
... ...
@@ -24,7 +24,7 @@ Sky Router
24 24
25 25
#### 2012-09-10
26 26
27
-* Set DHCP starting IP back to x.x.0.2, reserve [IPs][2][?][2] for Hastur and [AppleTV][3] (netgear.003.cfg)
27
+* Set DHCP starting IP back to x.x.0.2, reserve IPs for Hastur and [AppleTV][3] (netgear.003.cfg)
28 28
29 29
30 30
Network/DGS-1008D.md
... ...
@@ -12,7 +12,7 @@ Description
12 12
: 8-port Gigabit switch
13 13
14 14
Power Supply
15
-: 5V 2A [JTA0302D][1][?][1]-C
15
+: 5V 2A JTA0302D-C
16 16
17 17
18 18
Network/DNS.md
... ...
@@ -36,7 +36,7 @@ title: DNS
36 36
* `_xmpp-client` is for client-to-server connections
37 37
* `_xmpp-server` is for server-to-server connections
38 38
39
-For [GTalk][4][?][4]:
39
+For GTalk:
40 40
41 41
_xmpp-client._tcp 10800 IN SRV 20 0 5222 alt1.xmpp-server.l.google.com.
42 42
_xmpp-client._tcp 10800 IN SRV 20 0 5222 alt2.xmpp-server.l.google.com.
... ...
@@ -73,14 +73,14 @@ These requirements were largely meant for the publically accessible network now
73 73
* A
74 74
* AAAA ([IPv6][6])
75 75
* MX (Mail)
76
- * SRV (for [VoIP][7][?][7])
76
+ * SRV (for VoIP)
77 77
* Zone transfers
78 78
* Local Caching DNS
79 79
80 80
This involves eventually having three authoritative nameservers.
81 81
82
-* Two for publicly accessible systems ([DNS1][8][?][8] and an off-site Secondary)
83
-* A third for the private net ([DNS2][9][?][9])
82
+* Two for publicly accessible systems (DNS1 and an off-site Secondary)
83
+* A third for the private net (DNS2)
84 84
85 85
[Phase I][10][?][10] requires a single authoritative [DNS][11] server ([Niggurath][12]) for publicly accessible systems and one caching DNS (for resolving non-local addresses).
86 86
Network/GeolocationTunneling.md
... ...
@@ -28,7 +28,7 @@ Remote Resolver
28 28
: [Yuggoth][5]
29 29
30 30
Fallback Resolver
31
-: Google DNS, [OpenDNS][6][?][6]
31
+: Google DNS, OpenDNS
32 32
33 33
34 34
Network/Hastur.md
... ...
@@ -28,7 +28,7 @@ Includes [RAID and dmcrypt benchmarks][5]
28 28
29 29
Moved to [Hastur Software][6]
30 30
31
-Includes [MythTV][7][?][7], Mediatomb, [UPnP][8][?][8] and media centre [ACLs][9][?][9]
31
+Includes MythTV, Mediatomb, UPnP and media centre ACLs
32 32
33 33
34 34
Network/HasturAtaFailures.md
... ...
@@ -120,7 +120,7 @@ See /root/messages.sdf-failing. Or possibly just a raid glitch.
120 120
121 121
### Swap power supply cables
122 122
123
-* Removed and cleaned 5-bay [IcyDock][1][?][1]
123
+* Removed and cleaned 5-bay IcyDock
124 124
* Swap power supply cables
125 125
* Old: Cables 1->A, 2->BC, 3->DE.
126 126
* New: 1->BC, 2->DE, 3->A
... ...
@@ -220,7 +220,7 @@ See /root/messages.sdf-failing. Or possibly just a raid glitch.
220 220
### Reconnect Everything
221 221
222 222
* Reconnected all drives through PMP bridges
223
-* PMP bridges to [SiI3132][2][?][2]
223
+* PMP bridges to SiI3132
224 224
* Reboot seemed normal
225 225
226 226
Network/HasturHardware.md
... ...
@@ -15,23 +15,23 @@ Back to [Hastur][1]
15 15
| Type | Make | Model | Connector | Specs | Notes | Price £ |
16 16
|:------------- | ----------- | -------------------------------------------------------- | ------------------ | ---------------------------------------------- | ---------------- | ------------ |
17 17
| CPU | Intel | Core2 Quad Q6600 (SLACR) | Socket 775 | Quad 2.4GHz | G0 stepping | [149.99][37] |
18
-| Motherboard | Gigabyte | GA-[P35C][38][?][38]-[DS3R][39][?][39] | Socket 775 |   | [1][40], [2][41] | [61.69][42] |
19
-| RAM | Corsair | [TwinX][43][?][43] [XMS2][44][?][44] [PC6400][45][?][45] |   | [DDR2][46][?][46] 800MHz 2GB [CAS4][47][?][47] |   | [54.99][48] |
18
+| Motherboard | Gigabyte | GA-P35C-DS3R | Socket 775 |   | [1][40], [2][41] | [61.69][42] |
19
+| RAM | Corsair | TwinX XMS2 PC6400 |   | DDR2 800MHz 2GB CAS4 |   | [54.99][48] |
20 20
| Heatsink | Scythe | Infinity |   |   | [3][49] | [24.29][50] |
21
-| Fan | Silverstone | [FN121][51][?][51] |   |   | [4][52] | [4.49][53] |
22
-| Fan | Silverstone | [FN121][51][?][51] |   |   | [5][54] | [4.49][53] |
23
-| Fan | Silverstone | [FN121][51][?][51] |   |   | [6][55] | [4.49][53] |
21
+| Fan | Silverstone | FN121 |   |   | [4][52] | [4.49][53] |
22
+| Fan | Silverstone | FN121 |   |   | [5][54] | [4.49][53] |
23
+| Fan | Silverstone | FN121 |   |   | [6][55] | [4.49][53] |
24 24
| Thermal Paste | Arctic | Silver 5 |   |   |   | [3.83][53] |
25
-| Graphics Card | PNY | [GeForce][56][?][56] 7300 LE | PCI-E x16 | VGA,DVI,TV-out,passive | [7][57] | [15.31][58] |
25
+| Graphics Card | PNY | GeForce 7300 LE | PCI-E x16 | VGA,DVI,TV-out,passive | [7][57] | [15.31][58] |
26 26
| DVD-RW | Pioneer | DVR-112BK | PATA | 18xDVD±R 10xDVD-DL | [8][59], black | [15.60][60] |
27 27
| DVD-RW | Pioneer | DVR-112BK | PATA | 18xDVD±R 10xDVD-DL |   | [15.60][60] |
28
-| HDD | Seagate | [ST380815AS][61][?][61] | [SATA1][62][?][62] | 80GB, 8MB cache | [9][63] | [22.39][64] |
28
+| HDD | Seagate | ST380815AS | SATA1 | 80GB, 8MB cache | [9][63] | [22.39][64] |
29 29
| DVB-T Capture | Hauppauge | Nova-T PCI | PCI |   |   | [24.39][65] |
30 30
| DVB-T Capture | Hauppauge | Nova-T PCI | PCI |   | [10][66] | [24.79][67] |
31 31
| Network Card | Intel | Pro 1000PT | PCI-E | 1Gbps, Jumbo:16k |   | [21.02][68] |
32 32
| Case | Gigabyte | Triton |   | 5-bay ext | black | [41.65][69] |
33 33
| PSU | Corsair | VX 450 |   | 450W |   | [39.00][70] |
34
-| eSATA Host | No-name | [SiI3132][71][?][71] | PCI-e-1x, 2xeSATA | [SiI3132][71][?][71], PM-FIS |   | [19.99][72] |
34
+| eSATA Host | No-name | SiI3132 | PCI-e-1x, 2xeSATA | SiI3132, PM-FIS |   | [19.99][72] |
35 35
36 36
37 37
... ...
@@ -45,12 +45,12 @@ See [HasturRaidArray][73]
45 45
46 46
| Type | Make | Model | Connector | Specs | Notes | Price £ |
47 47
|:---- | ------- | ------------------------ | ------------------ | ----- | ------------------------------------------ | ----------- |
48
-| HDD | Seagate | [ST3500630AS][74][?][74] | [SATA2][75][?][75] | 500GB | 9QG3T5QW (#4) | [54.89][76] |
49
-| HDD | Seagate | [ST3500630AS][74][?][74] | [SATA2][75][?][75] | 500GB | 9QG3T61X (#3) | [54.89][76] |
50
-| HDD | Seagate | [ST3500630AS][74][?][74] | [SATA2][75][?][75] | 500GB | 9QG3V6HN (#2) | [54.89][76] |
51
-| HDD | Seagate | [ST3500630AS][74][?][74] | [SATA2][75][?][75] | 500GB | 9QG3T5QM (#5) | [54.89][76] |
52
-| HDD | Samsung | [HD501LJ][77][?][77] | [SATA2][75][?][75] | 500GB | [11][78], [S0MUJ1DPC01407][79][?][79] (#6) | [52.89][80] |
53
-| HDD | Samsung | [HD501LJ][77][?][77] | [SATA2][75][?][75] | 500GB | [12][81], [S0MUJ1KP715582][82][?][82] (#1) | [52.89][80] |
48
+| HDD | Seagate | ST3500630AS | SATA2 | 500GB | 9QG3T5QW (#4) | [54.89][76] |
49
+| HDD | Seagate | ST3500630AS | SATA2 | 500GB | 9QG3T61X (#3) | [54.89][76] |
50
+| HDD | Seagate | ST3500630AS | SATA2 | 500GB | 9QG3V6HN (#2) | [54.89][76] |
51
+| HDD | Seagate | ST3500630AS | SATA2 | 500GB | 9QG3T5QM (#5) | [54.89][76] |
52
+| HDD | Samsung | HD501LJ | SATA2 | 500GB | [11][78], S0MUJ1DPC01407 (#6) | [52.89][80] |
53
+| HDD | Samsung | HD501LJ | SATA2 | 500GB | [12][81], S0MUJ1KP715582 (#1) | [52.89][80] |
54 54
55 55
56 56
... ...
@@ -58,10 +58,10 @@ See [HasturRaidArray][73]
58 58
59 59
| Type | Make | Model | Specs | Notes | Price £ |
60 60
|:---- | ------- | ------------------------ | ------------------ | ------------------------------------- | ----------- |
61
-| HDD | Samsung | [HD203WI][83][?][83] | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317052, TLER(R) | [85.09][84] |
62
-| HDD | Samsung | [HD203WI][83][?][83] | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317063, TLER(R) | [85.09][84] |
63
-| HDD | Seagate | [ST3200542AS][85][?][85] | 2TB, 32MB, 5900rpm | #9XW09GDN, [CC34][86][?][86], TLER(R) | [93.60][87] |
64
-| HDD | Seagate | [ST3200542AS][85][?][85] | 2TB, 32MB, 5900rpm | #9XW08GNB, [CC34][86][?][86], TLER(R) | [93.60][87] |
61
+| HDD | Samsung | HD203WI | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317052, TLER(R) | [85.09][84] |
62
+| HDD | Samsung | HD203WI | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317063, TLER(R) | [85.09][84] |
63
+| HDD | Seagate | ST3200542AS | 2TB, 32MB, 5900rpm | #9XW09GDN, CC34, TLER(R) | [93.60][87] |
64
+| HDD | Seagate | ST3200542AS | 2TB, 32MB, 5900rpm | #9XW08GNB, CC34, TLER(R) | [93.60][87] |
65 65
66 66
67 67
... ...
@@ -69,12 +69,12 @@ See [HasturRaidArray][73]
69 69
70 70
| Type | Make | Model | Specs | Notes | Price £ |
71 71
|:---- | ------- | ------------------------ | ------------------ | ------------------------------------- | ----------------- |
72
-| HDD | Samsung | [HD203WI][83][?][83] | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317052, TLER(R) | [85.09][84] |
73
-| HDD | Samsung | [HD203WI][83][?][83] | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317063, TLER(R) | [85.09][84] |
74
-| HDD | Seagate | [ST3200542AS][85][?][85] | 2TB, 32MB, 5900rpm | #9XW09GDN, [CC34][86][?][86], TLER(R) | [93.60][87] |
75
-| HDD | Seagate | [ST3200542AS][85][?][85] | 2TB, 32MB, 5900rpm | #9XW08GNB, [CC34][86][?][86], TLER(R) | [93.60][87] |
76
-| HDD | Seagate | [ST3000DM001][88][?][88] | 3TB, 64MB, 7200rpm | #Z1F1K11M, warranty until 2015-01-26 | [89.98][89] incl. |
77
-| HDD | Seagate | [ST3000DM001][88][?][88] | 3TB, 64MB, 7200rpm | #W1F1PG24, warranty until 2015-02-17 | [89.98][89] incl. |
72
+| HDD | Samsung | HD203WI | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317052, TLER(R) | [85.09][84] |
73
+| HDD | Samsung | HD203WI | 2TB, 32MB, 5400rpm | #S1UYJ1CZ317063, TLER(R) | [85.09][84] |
74
+| HDD | Seagate | ST3200542AS | 2TB, 32MB, 5900rpm | #9XW09GDN, CC34, TLER(R) | [93.60][87] |
75
+| HDD | Seagate | ST3200542AS | 2TB, 32MB, 5900rpm | #9XW08GNB, CC34, TLER(R) | [93.60][87] |
76
+| HDD | Seagate | ST3000DM001 | 3TB, 64MB, 7200rpm | #Z1F1K11M, warranty until 2015-01-26 | [89.98][89] incl. |
77
+| HDD | Seagate | ST3000DM001 | 3TB, 64MB, 7200rpm | #W1F1PG24, warranty until 2015-02-17 | [89.98][89] incl. |
78 78
79 79
80 80
... ...
@@ -83,11 +83,11 @@ See [HasturRaidArray][73]
83 83
| Type | Make | Model | Connector | Specs | Notes | Price £ |
84 84
|:--------------- | -------- | --------------------- | --------------------------------------- | --------------------------- | ------------------------------- | ----------- |
85 85
| Enclosure Kit | Span | IB-5SPB |   | [CFI CF-1051][90], 320W PSU | [13][91] | [84.00][92] |
86
-| eSATA PM Bridge | Span | IRSA-[MM5][93][?][93] | [SiI3726][94][?][94], 5xSATA to 1xeSATA |   | [14][95], Included in kit above |   |
86
+| eSATA PM Bridge | Span | IRSA-MM5 | SiI3726, 5xSATA to 1xeSATA |   | [14][95], Included in kit above |   |
87 87
| SATA Cable ×5 |   |   | 2xSATA(m) | 30cm | Included in kit above |   |
88 88
| Hotswap Caddy | Icy Dock | MB-455SPF | 5xSATA | 3-bay, 5-disk |   | [67.46][96] |
89 89
| Hotswap Caddy | Icy Dock | MB-453SPF | 3xSATA | 2-bay, 3-disk |   | [39.89][97] |
90
-| eSATA PM Bridge | Span | IRSA-[MM5][93][?][93] | [SiI3726][94][?][94], 5xSATA to 1xeSATA |   | [15][98], [SiI3726][94][?][94] | [31.00][99] |
90
+| eSATA PM Bridge | Span | IRSA-MM5 | SiI3726, 5xSATA to 1xeSATA |   | [15][98], SiI3726 | [31.00][99] |
91 91
| eSATA Cable | Span | IRSEE-100 | 2xeSATA(m) | 1m |   | [3.60][100] |
92 92
93 93
... ...
@@ -101,9 +101,9 @@ See [HasturRaidArray][73]
101 101
102 102
 
103 103
104
-1 [ICH9R][101][?][101] PM supported >2.6.17 [⇑][102]
104
+1 ICH9R PM supported >2.6.17 [⇑][102]
105 105
106
-2 1×[PCIe][103][?][103]-16x, 3×[PCIe][103][?][103]-1x, 3×PCI [⇑][104]
106
+2 1×PCIe-16x, 3×PCIe-1x, 3×PCI [⇑][104]
107 107
108 108
3 [Scythe Infinity review][105] [⇑][106]
109 109
... ...
@@ -140,7 +140,7 @@ See [HasturRaidArray][73]
140 140
### Requirements
141 141
142 142
* Intel Core 2 Duo socket
143
-* 2 [GBit][120][?][120] LAN, at least one jumbo frame capable
143
+* 2 GBit LAN, at least one jumbo frame capable
144 144
* 7 SATA (RAID 5, Hot spare, system disk)
145 145
* 2 PATA (Dual DVD writer)
146 146
* 2 PCI (Nova-T PCI)
... ...
@@ -149,13 +149,13 @@ See [HasturRaidArray][73]
149 149
150 150
### Intel P35
151 151
152
-| Make | Model | SATA | IDE | Chipset | LAN | [PCIe][103][?][103] | PCI | Notes |
152
+| Make | Model | SATA | IDE | Chipset | LAN | PCIe | PCI | Notes |
153 153
|:-------- | -------------------------------------- | ---- | ------------------------------------------- | ------------------------------------------- | --------- | ------------------- | --- | ------------ |
154
-| Asus | [P5K][121][?][121] P35 Deluxe | 6+1 | [ICH9R][101][?][101], [JMB361][122][?][122] |   | 2 (j9,nj) | 1x16,1x4,2x1 | 3 | [Specs][123] |
155
-| Abit | [IP35][124][?][124] Pro | 6+2e | 1 | [ICH9R][101][?][101], [JMB363][125][?][125] | 2 (nj,nj) | 1x16,1x4,1x1 | 3 | [Specs][126] |
156
-| Foxconn | [P35A][127][?][127] | 4+1e | 1 | [ICH9R][101][?][101], [JMB361][122][?][122] | 1 (nj) | 1x16,1x4,1x1 | 3 | [Specs][128] |
157
-| Gigabyte | GA-P35-[DQ6][129][?][129] | 8 | 1 | [ICH9R][101][?][101], [JMB363][125][?][125] | 1 (nj) | 1x16,1x4,3x1 | 2 | [Specs][130] |
158
-| Gigabyte | GA-[P35C][38][?][38]-[DS3R][39][?][39] | 8 | 1 | [ICH9R][101][?][101], [JMB363][125][?][125] | 1 (nj) | 1x16,3x1 | 3 | [Specs][131] |
154
+| Asus | P5K P35 Deluxe | 6+1 | ICH9R, JMB361 |   | 2 (j9,nj) | 1x16,1x4,2x1 | 3 | [Specs][123] |
155
+| Abit | IP35 Pro | 6+2e | 1 | ICH9R, JMB363 | 2 (nj,nj) | 1x16,1x4,1x1 | 3 | [Specs][126] |
156
+| Foxconn | P35A | 4+1e | 1 | ICH9R, JMB361 | 1 (nj) | 1x16,1x4,1x1 | 3 | [Specs][128] |
157
+| Gigabyte | GA-P35-DQ6 | 8 | 1 | ICH9R, JMB363 | 1 (nj) | 1x16,1x4,3x1 | 2 | [Specs][130] |
158
+| Gigabyte | GA-P35C-DS3R | 8 | 1 | ICH9R, JMB363 | 1 (nj) | 1x16,3x1 | 3 | [Specs][131] |
159 159
| MSI | P35 Neo | 5 |   |   | 2 (nj,nj) |   |   | [Specs][132] |
160 160
| MSI | P35 Platinum | 5+2e |   |   | 1 (nj) |   |   | [Specs][133] |
161 161
... ...
@@ -163,19 +163,19 @@ See [HasturRaidArray][73]
163 163
164 164
### Nvidia 650i
165 165
166
-| Make | Model | SATA | IDE | LAN | [PCIe][103][?][103] | PCI | Notes |
166
+| Make | Model | SATA | IDE | LAN | PCIe | PCI | Notes |
167 167
|:-------- | ----------------------------------------- | ---- | --- | ------- | ------------------- | --- | ------------ |
168
-| Abit | FP-[IN9][134][?][134] SLI | 4 | 2 | 1 (nj?) | 2x16,2x1 | 2 | [Specs][135] |
169
-| Asus | [P5N][136][?][136]-E | 4 | 2 | 1 (nj?) | 2x16,1x1 | 2 | [Specs][137] |
170
-| Gigabyte | [N650SLI][138][?][138]-[DS4][139][?][139] | 4 | 2 | 1 (nj?) | 2x16,1x1 | 2 |   |
168
+| Abit | FP-IN9 SLI | 4 | 2 | 1 (nj?) | 2x16,2x1 | 2 | [Specs][135] |
169
+| Asus | P5N-E | 4 | 2 | 1 (nj?) | 2x16,1x1 | 2 | [Specs][137] |
170
+| Gigabyte | N650SLI-DS4 | 4 | 2 | 1 (nj?) | 2x16,1x1 | 2 |   |
171 171
172 172
173 173
174 174
### Nvidia 680i
175 175
176
-| Make | Model | SATA | IDE | LAN | [PCIe][103][?][103] | PCI | Notes |
176
+| Make | Model | SATA | IDE | LAN | PCIe | PCI | Notes |
177 177
|:-------- | -------------------------------------------- | ---- | --- | ------ | ------------------- | --- | ------------ |
178
-| Gigabyte | GA-[N680SLI][140][?][140]-[DQ6][129][?][129] | 10 | 1 | 4 (nj) | 2x16,1x8,1x1 | 3 | [Specs][141] |
178
+| Gigabyte | GA-N680SLI-DQ6 | 10 | 1 | 4 (nj) | 2x16,1x8,1x1 | 3 | [Specs][141] |
179 179
180 180
jN = jumbo capable, Nk frame; nj = non-jumbo
181 181
... ...
@@ -185,9 +185,9 @@ jN = jumbo capable, Nk frame; nj = non-jumbo
185 185
* [N650i roundup][143]
186 186
* [Firing Squad N680i roundup][144]
187 187
* [Tom's Hardware 680i roundup][145] (Dec 2006)
188
-* MSI S775 Intel P35 [DDR2][46][?][46]
188
+* MSI S775 Intel P35 DDR2
189 189
* Marvell 8056 Ethernet drivers [buggy][146] on kernel 2.6.20-x
190
-* <http://home-tj.org/wiki/index.php/Libata-tj-stable> dmraid PM status ([ICH9R][101][?][101])
190
+* <http://home-tj.org/wiki/index.php/Libata-tj-stable> dmraid PM status (ICH9R)
191 191
192 192
193 193
... ...
@@ -202,7 +202,7 @@ jN = jumbo capable, Nk frame; nj = non-jumbo
202 202
203 203
### Cases
204 204
205
-| Make | Model | !Ext Bays | !Int Bays | [WxHxD][147][?][147] | Link |
205
+| Make | Model | !Ext Bays | !Int Bays | WxHxD | Link |
206 206
|:------------ | ------------- | --------- |:-------------------- | -------------- |
207 207
| Asus | CK-1022-5 |   |   |   |   |
208 208
| Lian-Li | PC-V2000 |   |   |   |   |
... ...
@@ -258,7 +258,7 @@ DVB-T: 6Mbit RAID: PCI: 127
258 258
259 259
260 260
* <http://www.pcguide.com/ref/mbsys/buses/funcBandwidth-c.html> - PCI bandwidth
261
-* <http://arstechnica.com/articles/paedia/hardware/pcie.ars/1> - [PCIe][103][?][103] guide
261
+* <http://arstechnica.com/articles/paedia/hardware/pcie.ars/1> - PCIe guide
262 262
* <http://articles.techrepublic.com.com/5100-6349-1054944.html> - RAID guide
263 263
264 264
... ...
@@ -296,11 +296,11 @@ Moved to [HasturAtaFailures][153]
296 296
| Make | Model | Platters | Specs | Notes | Price £ | p/GB |
297 297
|:------- | ------------------------------- | -------- | ------------------ | ----------------- | ------------ | ----- |
298 298
| Hitachi | 7K1000.C | 2 | 7200rpm, 32MB |   | [49.98][164] | 4.998 |
299
-| Samsung | [HD103SJ][165][?][165] | 3 | 7200rpm, 32MB | Spinpoint F3, 3yr | [52.36][166] | 5.236 |
300
-| Seagate | [ST31000520AS][167][?][167] |   | 5900rpm | Barracuda LP | [54.83][168] | 5.483 |
301
-| Seagate | [ST31000528AS][169][?][169] | 2 | 7200rpm, 32MB | 7200.12 | [54.86][170] | 5.486 |
302
-| WD | [WD10EADS][171][?][171] Green |   | variable rpm, 32MB |   | [61.60][172] | 6.160 |
303
-| WD | [WD1001FALS][173][?][173] Black | 3 | 7200rpm, 32MB | No NCQ, 5yr | [65.77][174] | 6.577 |
299
+| Samsung | HD103SJ | 3 | 7200rpm, 32MB | Spinpoint F3, 3yr | [52.36][166] | 5.236 |
300
+| Seagate | ST31000520AS |   | 5900rpm | Barracuda LP | [54.83][168] | 5.483 |
301
+| Seagate | ST31000528AS | 2 | 7200rpm, 32MB | 7200.12 | [54.86][170] | 5.486 |
302
+| WD | WD10EADS Green |   | variable rpm, 32MB |   | [61.60][172] | 6.160 |
303
+| WD | WD1001FALS Black | 3 | 7200rpm, 32MB | No NCQ, 5yr | [65.77][174] | 6.577 |
304 304
305 305
306 306
... ...
@@ -308,12 +308,12 @@ Moved to [HasturAtaFailures][153]
308 308
309 309
| Make | Model | Platters | Specs | Notes | Price £ | p/GB |
310 310
|:------- | --------------------------- | -------- | -------------------- | -------------------------- | ------------ | ----- |
311
-| Samsung | [HD154UI][175][?][175] | 3 | 1.5TB, 32MB, 5400rpm | [EcoGreen][176][?][176] F2 | [62.97][177] | 4.198 |
312
-| Samsung | [HD153WI][178][?][178] |   | 1.5TB, 32MB, 5400rpm | [EcoGreen][176][?][176] F3 | [66.69][179] | 4.446 |
313
-| WD | [WD15EADS][180][?][180] | 3 | 1.5TB |   | 69.97?? | 4.665 |
314
-| WD | [WD15EARS][181][?][181] |   | 1.5TB, 64MB |   | [72.29][182] | 4.819 |
315
-| Seagate | [ST31500341AS][183][?][183] | 4 | 1.5TB, 32MB, 7200rpm | 7200.11 | [68.00][184] | 4.533 |
316
-| Seagate | [ST31500541AS][185][?][185] |   | 1.5TB, 32MB, 5900rpm |   | [77.52][186] | 5.168 |
311
+| Samsung | HD154UI | 3 | 1.5TB, 32MB, 5400rpm | EcoGreen F2 | [62.97][177] | 4.198 |
312
+| Samsung | HD153WI |   | 1.5TB, 32MB, 5400rpm | EcoGreen F3 | [66.69][179] | 4.446 |
313
+| WD | WD15EADS | 3 | 1.5TB |   | 69.97?? | 4.665 |
314
+| WD | WD15EARS |   | 1.5TB, 64MB |   | [72.29][182] | 4.819 |
315
+| Seagate | ST31500341AS | 4 | 1.5TB, 32MB, 7200rpm | 7200.11 | [68.00][184] | 4.533 |
316
+| Seagate | ST31500541AS |   | 1.5TB, 32MB, 5900rpm |   | [77.52][186] | 5.168 |
317 317
318 318
319 319
... ...
@@ -326,12 +326,12 @@ Moved to [HasturAtaFailures][153]
326 326
327 327
| Make | Model | Platters | Specs | Notes | Price £ | p/GB |
328 328
|:------- | ------------------------ | -------- | ------------------- | ----------------- | ---------------------------------- | ------------ |
329
-| Samsung | [HD203WI][83][?][83] | 4 | 2TB, 32MB, 5400rpm | TLER(R) | [92.79][189], [84.27][84][1][190] | 4.639, 4.213 |
330
-| Samsung | [HD204UI][191][?][191] | 3 | 2TB, 32MB, 5400rpm | TLER(R),[2][192] | [56.99][193] | 2.782 |
331
-| WD | [WD20EARS][194][?][194] | 4 | 2TB, 64MB, 5400rpm |   | [92.98][195] | 4.649 |
329
+| Samsung | HD203WI | 4 | 2TB, 32MB, 5400rpm | TLER(R) | [92.79][189], [84.27][84][1][190] | 4.639, 4.213 |
330
+| Samsung | HD204UI | 3 | 2TB, 32MB, 5400rpm | TLER(R),[2][192] | [56.99][193] | 2.782 |
331
+| WD | WD20EARS | 4 | 2TB, 64MB, 5400rpm |   | [92.98][195] | 4.649 |
332 332
| Hitachi | 7K2000 | 5 | 2TB, 32MB, 7200rpm |   | [95.51][196], [89.35][197] | 4.775, 4.467 |
333
-| WD | [WD20EADS][198][?][198] | 4 | 2TB, 32MB, ~5400rpm |   | [97.15][199], [85.09][200][3][201] | 4.857, 4.255 |
334
-| Seagate | [ST3200542AS][85][?][85] | 4 | 2TB, 32MB, 5900rpm | TLER(R), [4][202] | [107.98][203], [89.35][87][5][204] | 5.399, 4.46 |
333
+| WD | WD20EADS | 4 | 2TB, 32MB, ~5400rpm |   | [97.15][199], [85.09][200][3][201] | 4.857, 4.255 |
334
+| Seagate | ST3200542AS | 4 | 2TB, 32MB, 5900rpm | TLER(R), [4][202] | [107.98][203], [89.35][87][5][204] | 5.399, 4.46 |
335 335
336 336
337 337
... ...
@@ -357,12 +357,13 @@ Moved to [HasturAtaFailures][153]
357 357
358 358
| Make | Model | Platters | Specs | Notes | Price £ | p/GB |
359 359
|:------- | ------------------------- | -------- | ------------------ | ----- | ----------------------------------------------------------- | ----------------------- |
360
-| Seagate | [ST3000DM001][88][?][88] | 3 | 3TB, 64MB, 7200rpm | OEM | oem: [79.98][212]
360
+| Seagate | ST3000DM001 | 3 | 3TB, 64MB, 7200rpm | OEM | oem: [79.98][212]
361 361
1yr: [85.96][213]
362
+
362 363
2yr: [88.80][214] | 2.603516
363 364
2.798
364 365
2.96 |
365
-| Toshiba | [DT01ACA300][215][?][215] | 3 | 3TB, 64MB, 7200rpm | OEM | oem: [74.76][216]
366
+| Toshiba | DT01ACA300 | 3 | 3TB, 64MB, 7200rpm | OEM | oem: [74.76][216]
366 367
2yr: [87.77][217]
367 368
2yr: [80.40][218] | 2.492
368 369
2.857096
... ...
@@ -374,9 +375,9 @@ Moved to [HasturAtaFailures][153]
374 375
375 376
| Make | Model | Platters | Specs | Notes | Price £ | p/GB |
376 377
|:------- | ----------------------------- | -------- | ------------------ | ----- | ------------- | -------- |
377
-| WD | [WD40EFRX][219][?][219] Red |   |   |   | [136.20][220] | 3.325195 |
378
-| WD | [WD40EZRX][221][?][221] Green |   | 4TB, 64MB, 5900rpm | OEM | [121.68][222] | 2.970703 |
379
-| Seagate | [ST4000DM000][223][?][223] |   | 4TB, 64MB, 5900rpm | OEM | [118.08][224] | 2.882812 |
378
+| WD | WD40EFRX Red |   |   |   | [136.20][220] | 3.325195 |
379
+| WD | WD40EZRX Green |   | 4TB, 64MB, 5900rpm | OEM | [121.68][222] | 2.970703 |
380
+| Seagate | ST4000DM000 |   | 4TB, 64MB, 5900rpm | OEM | [118.08][224] | 2.882812 |
380 381
381 382
Further drive comparisons extracted to local spreadsheet.
382 383
... ...
@@ -386,24 +387,24 @@ Further drive comparisons extracted to local spreadsheet.
386 387
387 388
| Type | Make | Model | Connector | Specs | Quant | Price £ |
388 389
|:------------------------------------------- | ---- | -------------------------- | --------------------------- | ------- | ----- | ------------ |
389
-| ML Device Adapter | Span | IRSA-[SM2][225][?][225] | 2xML to 8xSATA |   |   | [27.50][226] |
390
-| ML Device Adapter | Span | IRSA-[SM1][227][?][227] | 1xML to 4xSATA |   |   | [9.70][228] |
391
-| ML Host Adapter | Span | IRSA-[PM2][229][?][229] | 2xML to 8xSATA |   |   | [22.90][230] |
392
-| ML Host Adapter | Span | IRSA-[PM1][231][?][231] | 1xML to 4xSATA |   |   | [9.00][232] |
390
+| ML Device Adapter | Span | IRSA-SM2 | 2xML to 8xSATA |   |   | [27.50][226] |
391
+| ML Device Adapter | Span | IRSA-SM1 | 1xML to 4xSATA |   |   | [9.70][228] |
392
+| ML Host Adapter | Span | IRSA-PM2 | 2xML to 8xSATA |   |   | [22.90][230] |
393
+| ML Host Adapter | Span | IRSA-PM1 | 1xML to 4xSATA |   |   | [9.00][232] |
393 394
| ML Cable | Span | IRSE-M1 | 2xML | 1m long |   | [28.50][233] |
394
-| ML Host Adapter |   |   | 2xML to [PCIe][103][?][103] |   |   |   |
395
-| [MiniSAS][234][?][234] Device Adapter | Span | IRA-[SS2][235][?][235] | 2xSFF8088 to 2xSFF8087 |   | 1 | [26.30][236] |
396
-| [MiniSAS][234][?][234] Host Adapter | Span | IRA-[PS2][237][?][237] | 2xSFF8087 to 2xSFF8088 |   | 1 | [28.80][238] |
397
-| [MiniSAS][234][?][234] Cable | Span | IRA-8888-1 | 2xSFF8088 | 1m long | 2 | [26.20][239] |
398
-| [MiniSAS][234][?][234] Fanout Cable | Span | IRA-87SA-05 | 1xSFF8087 to 4xSATA | 50cm | 2 | [8.40][240] |
399
-| [MiniSAS][234][?][234] Fanout Cable | Span | IRA-87SA-03 | 1xSFF8087 to 4xSATA | 30cm | | [7.60][241] |
400
-| [MiniSAS][234][?][234] Reverse Fanout Cable | Span | IRA-[SA87][242][?][242]-05 | 4xSATA to 1xSFF8087 | 50cm | 2 | [8.10][243] |
395
+| ML Host Adapter |   |   | 2xML to PCIe |   |   |   |
396
+| MiniSAS Device Adapter | Span | IRA-SS2 | 2xSFF8088 to 2xSFF8087 |   | 1 | [26.30][236] |
397
+| MiniSAS Host Adapter | Span | IRA-PS2 | 2xSFF8087 to 2xSFF8088 |   | 1 | [28.80][238] |
398
+| MiniSAS Cable | Span | IRA-8888-1 | 2xSFF8088 | 1m long | 2 | [26.20][239] |
399
+| MiniSAS Fanout Cable | Span | IRA-87SA-05 | 1xSFF8087 to 4xSATA | 50cm | 2 | [8.40][240] |
400
+| MiniSAS Fanout Cable | Span | IRA-87SA-03 | 1xSFF8087 to 4xSATA | 30cm | | [7.60][241] |
401
+| MiniSAS Reverse Fanout Cable | Span | IRA-SA87-05 | 4xSATA to 1xSFF8087 | 50cm | 2 | [8.10][243] |
401 402
402 403
403 404
404 405
# RAM Upgrade
405 406
406
-* Awaiting delivery of 2x2GB [DDR3][244][?][244]
407
+* Awaiting delivery of 2x2GB DDR3
407 408
* Delivered
408 409
409 410
... ...
@@ -424,7 +425,7 @@ Further drive comparisons extracted to local spreadsheet.
424 425
* Ctrl+F1 on main screen enables overclocking options in Intelligent Tweaker.
425 426
* Only after reboot with new RAM are proper timings visible
426 427
427
-Recommended settings for [DDR3][244][?][244] at 1333MHz
428
+Recommended settings for DDR3 at 1333MHz
428 429
429 430
MIB Intelligent Tweaker (M.I.T.)
430 431
... ...
@@ -462,7 +463,7 @@ Recommended settings for [DDR3][244][?][244] at 1333MHz
462 463
* MIT shows memory frequency of 1066:1066
463 464
* AHCI mode or IDE mode
464 465
465
-Settings when it successfully booted with both [DDR3][244][?][244] chips:
466
+Settings when it successfully booted with both DDR3 chips:
466 467
467 468
MIB Intelligent Tweaker (M.I.T.)
468 469
... ...
@@ -504,7 +505,7 @@ Health Status showed:
504 505
505 506
### Try 2.4GHz core without Turbo
506 507
507
-* No [WinT][247][?][247] cards, no DVD-RW, no backup HDD
508
+* No WinT cards, no DVD-RW, no backup HDD
508 509
509 510
* Works, shows 4GB RAM but reports CPU frequency 1600MHz.
510 511
* CPU frequency is not a problem. Under load jumps to 2400MHz.
... ...
@@ -512,15 +513,15 @@ Health Status showed:
512 513
513 514
514 515
515
-### Try 2.4GHz with single [DDR3][244][?][244]
516
+### Try 2.4GHz with single DDR3
516 517
517 518
* Removed one stick and posted successfully
518
-* Set [DDR3][248][?][248] overvoltage +0.1V
519
+* Set DDR3 overvoltage +0.1V
519 520
* Stable memtester (63 iterations)
520 521
521 522
522 523
523
-### Bump voltage then two [DDR3s][249][?][249]
524
+### Bump voltage then two DDR3s
524 525
525 526
* Overvoltage +0.2V
526 527
* PCI-E voltage +0.1V
... ...
@@ -546,34 +547,34 @@ Health Status showed:
546 547
547 548
548 549
549
-### Last good [DDR3][244][?][244] settings +0.2V
550
+### Last good DDR3 settings +0.2V
550 551
551
-* [DDR3][244][?][244] +0.2V
552
+* DDR3 +0.2V
552 553
* CPU 1.275V
553 554
554 555
555 556
556
-One [DDR3][244][?][244]
557
+One DDR3
557 558
: 1066 @8-8-8-20 1.76V
558 559
559
-Two [DDR3][244][?][244]
560
+Two DDR3
560 561
: No Post
561 562
562 563
1066 @8-8-8-20 1.76V
563 564
564 565
565 566
566
-### Last good [DDR3][244][?][244] settings +0.3V
567
+### Last good DDR3 settings +0.3V
567 568
568
-One [DDR3][244][?][244]
569
+One DDR3
569 570
: 1.872V
570 571
571
-Two [DDR3][244][?][244]
572
+Two DDR3
572 573
: No Post
573 574
574 575
575 576
576
-### Last good [DDR3][244][?][244] with manual timings
577
+### Last good DDR3 with manual timings
577 578
578 579
1. 9-9-9-24
579 580
2. 266/1066/10-10-10-20 = 1066/8-8-8-20
... ...
@@ -614,7 +615,7 @@ Howto
614 615
* "Not large enough to join array"
615 616
* "Too small for array"
616 617
617
-Samsung [HD203WI][83][?][83] (serial no. #S1UYJ1CZ317063) dropped out of the array for being suddenly and inexplicably too short.
618
+Samsung HD203WI (serial no. #S1UYJ1CZ317063) dropped out of the array for being suddenly and inexplicably too short.
618 619
619 620
620 621
... ...
@@ -656,7 +657,7 @@ After:
656 657
657 658
## Diagnosis
658 659
659
-By chance when playing with [GParted][253][?][253] Live came across a reference to Host Protected Area
660
+By chance when playing with GParted Live came across a reference to Host Protected Area
660 661
661 662
See [https://en.wikipedia.org/wiki/Host\_protected\_area#Identification\_and\_manipulation][254]
662 663
... ...
@@ -694,7 +695,7 @@ Random errors which kill processors.
694 695
695 696
## Replace RAM
696 697
697
-Buy another RAM pair? ([TW3X4G1333C9A][255][?][255])
698
+Buy another RAM pair? (TW3X4G1333C9A)
698 699
699 700
700 701
... ...
@@ -718,19 +719,19 @@ updated to F10 firmware after boot failure
718 719
719 720
#### 2008-08-07
720 721
721
-re-added the RMA'd [HD501LJ][77][?][77]
722
+re-added the RMA'd HD501LJ
722 723
723 724
724 725
725 726
#### 2009-02-01
726 727
727
-/dev/sdg Read failures. copy of log in /root, [ST3500630AS][74][?][74], 9QG3T5QM
728
+/dev/sdg Read failures. copy of log in /root, ST3500630AS, 9QG3T5QM
728 729
729 730
730 731
731 732
#### 2010-05-09
732 733
733
-Ordered 2x [HD203WI][83][?][83], 2x [ST3200542AS][85][?][85] from eBuyer (~£37)
734
+Ordered 2x HD203WI, 2x ST3200542AS from eBuyer (~£37)
734 735
735 736
736 737
... ...
@@ -748,7 +749,7 @@ Shutdown for [Hastur Raid Upgrade][154]
748 749
749 750
#### 2010-12-13
750 751
751
-Purchased two [HD204UI][191][?][191] backup [HDDs][258][?][258]
752
+Purchased two HD204UI backup HDDs
752 753
753 754
754 755
... ...
@@ -760,7 +761,7 @@ Purchased miniSAS hardware
760 761
761 762
#### 2013-01-29
762 763
763
-Purchased two [ST3000DM001][88][?][88] 3TB disks
764
+Purchased two ST3000DM001 3TB disks
764 765
765 766
766 767
... ...
@@ -773,15 +774,15 @@ Purchased two [ST3000DM001][88][?][88] 3TB disks
773 774
#### 2013-02-02
774 775
775 776
* Added disks to enclosure. Only one disk added to array.
776
-* Noted [ST3500630AS][74][?][74] 500GB backup disk showing stable 10 reallocated sectors.
777
-* One [ST32000542AS][259][?][259] 2TB array disks showing 302 reallocated sectors. Up from zero on 2011-09-13.
777
+* Noted ST3500630AS 500GB backup disk showing stable 10 reallocated sectors.
778
+* One ST32000542AS 2TB array disks showing 302 reallocated sectors. Up from zero on 2011-09-13.
778 779
* See [HasturRaidUpgradePath][260]
779 780
780 781
781 782
782 783
#### 2013-03-07
783 784
784
-* /dev/sdd ([ST32000542AS][259][?][259]) started failing on 2013-03-04
785
+* /dev/sdd (ST32000542AS) started failing on 2013-03-04
785 786
=== START OF INFORMATION SECTION ===
786 787
Device Model: ST32000542AS
787 788
Serial Number: 9XW08GNB
... ...
@@ -812,43 +813,43 @@ Yet strangely /dev/sdc was kicked out of the array.
812 813
813 814
#### 2013-12-03
814 815
815
-* Ordered 2x2GB [DDR3][244][?][244] Corsair [XMS3][261][?][261] ([TW3X4G1333C9A][255][?][255]) from eBuyer
816
+* Ordered 2x2GB DDR3 Corsair XMS3 (TW3X4G1333C9A) from eBuyer
816 817
817 818
818 819
819 820
#### 2014-02-25
820 821
821
-* Attempted to fit the [DDR3][244][?][244]. Only one stick working.
822
+* Attempted to fit the DDR3. Only one stick working.
822 823
823 824
824 825
825 826
#### 2014-02-26
826 827
827
-* [HD203WI][83][?][83] ([S1UYJ1CZ317063][262][?][262]) has shrunk following BIOS futzing.
828
+* HD203WI (S1UYJ1CZ317063) has shrunk following BIOS futzing.
828 829
829 830
830 831
831 832
#### 2014-03-20
832 833
833
-* Solved [HD203WI][83][?][83] shrinkage. Disabled HPA which had been enabled somehow.
834
+* Solved HD203WI shrinkage. Disabled HPA which had been enabled somehow.
834 835
835 836
836 837
837 838
#### 2014-11-23
838 839
839
-* Ordered 2x Toshiba [DT01ACA300][215][?][215] 3TB disks from dabs.com (£74.98 each inc VAT)
840
+* Ordered 2x Toshiba DT01ACA300 3TB disks from dabs.com (£74.98 each inc VAT)
840 841
841 842
842 843
843 844
#### 2015-11-06
844 845
845
-* Ordered 2x Toshiba [DT01ACA300][215][?][215] 3TB disks from scan.co.uk (£141.95, £70 each)
846
+* Ordered 2x Toshiba DT01ACA300 3TB disks from scan.co.uk (£141.95, £70 each)
846 847
847 848
848 849
849 850
#### 2016-02-28
850 851
851
-* Ordered 2x Western Digital [WD30EFRX][263][?][263] 3TB disks from scan.co.uk (£188.60, £91.56 each inc VAT)
852
+* Ordered 2x Western Digital WD30EFRX 3TB disks from scan.co.uk (£188.60, £91.56 each inc VAT)
852 853
853 854
854 855
... ...
@@ -1008,4 +1009,3 @@ Yet strangely /dev/sdc was kicked out of the array.
1008 1009
[254]: https://en.wikipedia.org/wiki/Host_protected_area#Identification_and_manipulation
1009 1010
[256]: https://www.scan.co.uk/products/asrock-z97-extreme6-intel-z97-s1150-ddr3-pcie-30-x16-quad-sli-quad-crossfirex-displayport-dvi-i-hd?utm_source=google+shopping&utm_medium=cpc&gclid=CNW89tKipc0CFeRe2wodB5ACdA
1010 1011
[257]: HasturReplacement
1011
- [260]: HasturRaidUpgradePath
Network/HasturRaidConfiguration.md
... ...
@@ -47,7 +47,7 @@ title: HasturRaidConfiguration
47 47
| Slot | Enclosure | Serial | Current device |
48 48
|:---- | --------- | ------------------------- | -------------- |
49 49
| | #2 | 9QG3V6HN | sdb |
50
-| 1 | #1 | [S0MUJ1KP715582][1][?][1] | sdg |
50
+| 1 | #1 | S0MUJ1KP715582 | sdg |
51 51
| 2 | #4 | 9QG3T5QW | sdd |
52 52
| 3 | #3 | 9QG3T61X | sdc |
53 53
| 4 | #5 | 9QG3T5QM | sdf |
... ...
@@ -112,7 +112,7 @@ title: HasturRaidConfiguration
112 112
113 113
#### 2009-09-09
114 114
115
-* Make sure first ports of [SiI][2][?][2]-3726s are occupied
115
+* Make sure first ports of SiI-3726s are occupied
116 116
117 117
| Enclosure | PM Port |
118 118
|:--------- | ------- |
Network/HasturRaidUpgrade.md
... ...
@@ -2,7 +2,7 @@
2 2
title: HasturRaidUpgrade
3 3
---
4 4
5
-Upgrading from 6x 500GB [RAID5][1][?][1] to 4x 2TB [RAID6][2][?][2]
5
+Upgrading from 6x 500GB RAID5 to 4x 2TB RAID6
6 6
7 7
8 8
... ...
@@ -110,7 +110,7 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
110 110
111 111
112 112
113
-* No obvious difference for [RAID0][40][?][40]
113
+* No obvious difference for RAID0
114 114
115 115
* Stop
116 116
# for dev in md66 md67 ; do umount /mnt/$dev ; mdadm --stop /dev/$dev ; done
... ...
@@ -200,14 +200,14 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
200 200
201 201
202 202
203
-* [RAID5][1][?][1], for comparison
203
+* RAID5, for comparison
204 204
hastur,3750M,,,80460,10,29684,4,,,76040,5,270.2,0,,,,,,,,,,,,,
205 205
206 206
207 207
208 208
209 209
210
-* [RAID0][40][?][40], for comparison
210
+* RAID0, for comparison
211 211
hastur,3750M,,,99602,12,40017,6,,,94923,7,291.6,0,,,,,,,,,,,,,
212 212
213 213
... ...
@@ -255,8 +255,8 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
255 255
256 256
#### Layout
257 257
258
-* 300GB [RAID0][40][?][40] (75GB per disk)
259
-* 3850GB [RAID6][2][?][2] (1925GB per disk)
258
+* 300GB RAID0 (75GB per disk)
259
+* 3850GB RAID6 (1925GB per disk)
260 260
261 261
# for dev in {b..e} ; do parted /dev/sd$dev mklabel ; done
262 262
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
... ...
@@ -278,7 +278,7 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
278 278
279 279
#### Decided against partitioning.
280 280
281
-* [RAID0][40][?][40] isn't expandable
281
+* RAID0 isn't expandable
282 282
* LVM will replace the separation from partitioning
283 283
284 284
... ...
@@ -386,7 +386,7 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
386 386
387 387
### Filesystems
388 388
389
-* [EXT4][46][?][46]
389
+* EXT4
390 390
391 391
#### Resize reservation
392 392
... ...
@@ -402,7 +402,7 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
402 402
* <http://www.ep.ph.bham.ac.uk/general/support/raid/raidperf11.html>
403 403
* <http://busybox.net/~aldot/mkfs_stride.html>
404 404
* Stride controls the space between metadata blocks. If stride == RAID chunk size there would be a bitmap in every chunk. Worst case would be a bitmap every stripe_width which would put all the bitmaps on a single disk.
405
-* Stripe-width lets the FS calculate the number of disks allowing parallel [IOs][47][?][47]
405
+* Stripe-width lets the FS calculate the number of disks allowing parallel IOs
406 406
stride(64k) = raid_chunk_size / ext4_block_size
407 407
= 64k / 4k
408 408
= 16
... ...
@@ -506,7 +506,7 @@ NOTE: dd_rescue doesn't stop when it reaches the end of the output device!
506 506
### SNMP
507 507
508 508
* Add disk space graphs in cacti
509
- * Had to restart snmpd to update [GetMountedPartitions][48][?][48] query
509
+ * Had to restart snmpd to update GetMountedPartitions query
510 510
511 511
512 512
Network/HasturRaidUpgrade3.md
... ...
@@ -11,17 +11,17 @@ Upgrade to 18TB raw, 12TB usable
11 11
12 12
# Add 3TB disk and grow md6
13 13
14
-mdadm --add /dev/md6 /dev/sdh # replaces failed disk
15
-# resync
16
-mdadm --add-spare /dev/md6 /dev/sdb  # previously a backup disk
17
-mdadm --add-spare /dev/md6 /dev/sdg
18
-# fail old 2TB disk
19
-mdadm --fail /dev/md6 /dev/sda
20
-mdadm --remove /dev/md6 /dev/sda
21
-# resync and grow across all 3TB disks
22
-mdadm --grow /dev/md6 --raid-devices=6  # will this pick up the new device size?
23
-
24
-[[$[Get Code]]][1]
14
+
15
+ mdadm --add /dev/md6 /dev/sdh # replaces failed disk
16
+ # resync
17
+ mdadm --add-spare /dev/md6 /dev/sdb  # previously a backup disk
18
+ mdadm --add-spare /dev/md6 /dev/sdg
19
+ # fail old 2TB disk
20
+ mdadm --fail /dev/md6 /dev/sda
21
+ mdadm --remove /dev/md6 /dev/sda
22
+ # resync and grow across all 3TB disks
23
+ mdadm --grow /dev/md6 --raid-devices=6  # will this pick up the new device size?
24
+
25 25
26 26
27 27
Network/HasturRaidUpgradePath.md
... ...
@@ -10,7 +10,7 @@ See also: [HasturRaidArray][1]
10 10
11 11
# 3TB
12 12
13
-Original configuration of 6 x 500GB disks in [RAID5][2][?][2].
13
+Original configuration of 6 x 500GB disks in RAID5.
14 14
15 15
Usable capacity: 2.4TB = (6 * 0.5TB) * ((5-1)/5)
16 16
... ...
@@ -18,7 +18,7 @@ Usable capacity: 2.4TB = (6 * 0.5TB) * ((5-1)/5)
18 18
19 19
# 8TB
20 20
21
-[Hastur Raid Upgrade][3] to 4x 2TB disks in [RAID6][4][?][4].
21
+[Hastur Raid Upgrade][3] to 4x 2TB disks in RAID6.
22 22
23 23
Usable capacity: 4.0TB = (4 * 2TB) * ((4-2)/4)
24 24
... ...
@@ -26,7 +26,7 @@ Usable capacity: 4.0TB = (4 * 2TB) * ((4-2)/4)
26 26
27 27
# Backup
28 28
29
-2x 2TB disks added as backups (1 on-site, 1 off-site) in [RAID1][5][?][5].
29
+2x 2TB disks added as backups (1 on-site, 1 off-site) in RAID1.
30 30
31 31
Added no extra capacity.
32 32
... ...
@@ -87,7 +87,7 @@ Replace 2x 3TB with 2x 6TB
87 87
88 88
# 36TB
89 89
90
-[CyclopsRaidUpgrade1][8][?][8]
90
+CyclopsRaidUpgrade1
91 91
92 92
* Add 4x 6TB disks
93 93
* -> 666666[24]
Network/HasturReplacement.md
... ...
@@ -15,31 +15,31 @@ Rack max depth ~500mm.
15 15
16 16
17 17
18
-## Dell [PowerEdge][3][?][3] R710
18
+## Dell PowerEdge R710
19 19
20 20
* Depth 681mm
21 21
* £200-300 on eBay
22 22
* PERC H800 external RAID card (dual miniSAS)
23
-* Or non-raid [PCIe][4][?][4] with dual miniSAS
23
+* Or non-raid PCIe with dual miniSAS
24 24
* lots of RAM
25
-* [CPUs][5][?][5]?
25
+* CPUs?
26 26
* X5650 > E5645 > E5620 > E5606 > E5507 > X5560 = X5550
27 27
* power and thermal requirements?
28
-* [PCIe][4][?][4] expansion slots?
28
+* PCIe expansion slots?
29 29
* 2xGigE
30 30
31 31
32 32
33
-## Dell [PowerEdge][3][?][3] R210
33
+## Dell PowerEdge R210
34 34
35 35
* [R210 II specs][6]
36 36
* Depth 390mm
37
-* HP Version of the R210 II is the [DL320e][7][?][7] Gen8 v2
38
-* 1x [PCIe][4][?][4] x16
37
+* HP Version of the R210 II is the DL320e Gen8 v2
38
+* 1x PCIe x16
39 39
40 40
41 41
42
-## HP [DL320e][7][?][7] G8 v2
42
+## HP DL320e G8 v2
43 43
44 44
* [G8 v2 specs][8]
45 45
* Depth 381cm
... ...
@@ -48,11 +48,11 @@ Rack max depth ~500mm.
48 48
* Single Xeon
49 49
* 1U
50 50
* Seems like G8 v1 was a full depth chassis
51
-* 2x [PCIe][4][?][4] (x8, x4)
51
+* 2x PCIe (x8, x4)
52 52
53 53
54 54
55
-## HP [DL20][9][?][9] G9
55
+## HP DL20 G9
56 56
57 57
* Compact 1U
58 58
* Too expensive?
... ...
@@ -73,16 +73,16 @@ Rack max depth ~500mm.
73 73
## Storage adapter
74 74
75 75
* Dual miniSAS (SFF-8088)
76
-* [PCIe][4][?][4]
76
+* PCIe
77 77
* Dell H200 (internal only?, JBOD)
78
-* LSI-SAS 9207-8e ([PCIe][4][?][4] 8x, SFF-8088)
78
+* LSI-SAS 9207-8e (PCIe 8x, SFF-8088)
79 79
* LSI-SAS 9200-8e (some IBM card cross-flashed?)
80 80
81 81
82 82
83
-### LSI [LSI00138][11][?][11]
83
+### LSI LSI00138
84 84
85
-* [PCIe][4][?][4] 8x
85
+* PCIe 8x
86 86
* SAS only?
87 87
88 88
Network/HasturSoftware.md
... ...
@@ -90,7 +90,7 @@ Abandoned until later.
90 90
91 91
92 92
93
-## [ToDo][65][?][65]
93
+## ToDo
94 94
95 95
### Transcode to format for [AppleTV][66]
96 96
... ...
@@ -133,7 +133,7 @@ It's convenient to use the laptop drive to rip. Perhaps consider creating an iso
133 133
134 134
135 135
136
-# Media Centre [ACLs][67][?][67]
136
+# Media Centre ACLs
137 137
138 138
* <http://www.suse.de/~agruen/acl/linux-acls/online/>
139 139
... ...
@@ -249,15 +249,15 @@ WTF?? was I half asleep when I was doing this?
249 249
250 250
251 251
252
-# [UPnP][68][?][68]
252
+# UPnP
253 253
254 254
See also [MediaCentre.UPnP][69]
255 255
256
-Moved [AppleTV][66] to [Frontrow][70] with [MediaCloud][71][?][71] [UPnP][68][?][68] client plugin
256
+Moved [AppleTV][66] to [Frontrow][70] with MediaCloud UPnP client plugin
257 257
258 258
259 259
260
-## [MediaTomb][72][?][72] Installation
260
+## MediaTomb Installation
261 261
262 262
* [Debian installation guide][73]
263 263
... ...
@@ -289,7 +289,7 @@ Transcode audio to mp3 for Nokia [N770][74]
289 289
290 290
mediatomb-transcode-audio script: [MediaCentre.N770#AudioTranscoding][76]
291 291
292
-Modifications for OGG to [MP3][77][?][77] transcoding to play on Nokia N770
292
+Modifications for OGG to MP3 transcoding to play on Nokia N770
293 293
294 294
<map from="ogg" to="audio/ogg"/>
295 295
...
... ...
@@ -317,13 +317,13 @@ For [N770][74]
317 317
* [Internet Tablet Talk][78]
318 318
* [Living with Linux][79]
319 319
* [Maemo.org][80]
320
-* Needs upgrade to [OS2007][81][?][81] to play transcoded video
321
- * Try with 3GPP or [MPEG2][82][?][82] container?
320
+* Needs upgrade to OS2007 to play transcoded video
321
+ * Try with 3GPP or MPEG2 container?
322 322
* Hack it with pre-transcoded file on FS with transcode script redirect?
323 323
324 324
mediatomb-transcode-video-n770 script: [MediaCentre.N770#VideoTranscoding][83]
325 325
326
-Modifications for OGG to [MP3][77][?][77] transcoding to play on Nokia N770
326
+Modifications for OGG to MP3 transcoding to play on Nokia N770
327 327
328 328
<map from="ogg" to="audio/ogg"/>
329 329
...
... ...
@@ -390,7 +390,7 @@ Currently getting "XFS: unknown mount option [grpquota]"
390 390
391 391
392 392
393
-# [BitTorrent][84][?][84]
393
+# BitTorrent
394 394
395 395
## Install rtorrent and moblock
396 396
... ...
@@ -401,7 +401,7 @@ Currently getting "XFS: unknown mount option [grpquota]"
401 401
402 402
## Configure Moblock
403 403
404
-Moblock needs a number of [NetFilter][85][?][85] modules. I have the following loaded:
404
+Moblock needs a number of NetFilter modules. I have the following loaded:
405 405
406 406
nfnetlink_queue
407 407
nfnetlink
... ...
@@ -523,25 +523,25 @@ From 0.8.6 to 0.9.2.
523 523
524 524
### Get
525 525
526
-wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz
527
-wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
528
-tar -xzvf libtorrent-0.13.2.tar.gz
529
-tar -xzvf rtorrent-0.9.2.tar.gz
530 526
531
-[[$[Get Code]]][88]
527
+ wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz
528
+ wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
529
+ tar -xzvf libtorrent-0.13.2.tar.gz
530
+ tar -xzvf rtorrent-0.9.2.tar.gz
531
+
532 532
533 533
534 534
535 535
### Build
536 536
537
-cd libtorrent-0.13.2
538
-./configure --enable-ipv6 && make && sudo make install
539
-cd ../rtorrent-0.9.2
540
-./configure --enable-ipv6 && make
541
-cp /usr/local/bin/rtorrent{,-0.8.6}
542
-make install
543 537
544
-[[$[Get Code]]][89]
538
+ cd libtorrent-0.13.2
539
+ ./configure --enable-ipv6 && make && sudo make install
540
+ cd ../rtorrent-0.9.2
541
+ ./configure --enable-ipv6 && make
542
+ cp /usr/local/bin/rtorrent{,-0.8.6}
543
+ make install
544
+
545 545
546 546
547 547
... ...
@@ -549,12 +549,12 @@ make install
549 549
550 550
* max\_open\_sockets command became network.max\_open\_sockets
551 551
552
-mv ~/.rtorrent.rc ~/.rtorrent-0.8.rc
553
-cp ~/.rtorrent-0.8.rc ~/.rtorrent-0.9.rc
554
-sed -i -e "s/^max\_open\_sockets\W*=/network.&/" ~/.rtorrent-0.9.rc
555
-ln -sf ~/.rtorrent-0.9.rc ~/.rtorrent.rc
556 552
557
-[[$[Get Code]]][90]
553
+ mv ~/.rtorrent.rc ~/.rtorrent-0.8.rc
554
+ cp ~/.rtorrent-0.8.rc ~/.rtorrent-0.9.rc
555
+ sed -i -e "s/^max\_open\_sockets\W*=/network.&/" ~/.rtorrent-0.9.rc
556
+ ln -sf ~/.rtorrent-0.9.rc ~/.rtorrent.rc
557
+
558 558
559 559
560 560
... ...
@@ -569,96 +569,97 @@ ln -sf ~/.rtorrent-0.9.rc ~/.rtorrent.rc
569 569
570 570
### Rebuild libtorrent
571 571
572
-# update
573
-cd ~/src/libtorrent
574
-git checkout master
575
-git pull
576
-git checkout 0.13.1
577
-# build
578
-sudo apt-get install libcppunit-dev
579
-./autogen.sh
580
-./configure --enable-ipv6
581
-make && sudo make install
582 572
583
-[[$[Get Code]]][91]
573
+ # update
574
+ cd ~/src/libtorrent
575
+ git checkout master
576
+ git pull
577
+ git checkout 0.13.1
578
+ # build
579
+ sudo apt-get install libcppunit-dev
580
+ ./autogen.sh
581
+ ./configure --enable-ipv6
582
+ make && sudo make install
583
+
584 584
585 585
586 586
587 587
### Rebuild rtorrent with xmlrpc-c
588 588
589
-# update
590
-cd ~/src/rtorrent
591
-git checkout master
592
-git pull
593
-git checkout 0.9.1
594
-# build
595
-sudo apt-get install libxmlrpc-c3-dev
596
-./autogen.sh
597
-./configure --enable-ipv6 --with-xmlrpc-c
598
-make && sudo make install
599 589
600
-[[$[Get Code]]][92]
590
+ # update
591
+ cd ~/src/rtorrent
592
+ git checkout master
593
+ git pull
594
+ git checkout 0.9.1
595
+ # build
596
+ sudo apt-get install libxmlrpc-c3-dev
597
+ ./autogen.sh
598
+ ./configure --enable-ipv6 --with-xmlrpc-c
599
+ make && sudo make install
600
+
601 601
602 602
603 603
604
-# [BitTorrent][84][?][84] Multi-User
604
+# BitTorrent Multi-User
605 605
606 606
## rutorrent
607 607
608
-# libapache2-mod-scgi already installed
609
-cd ~/src
610
-svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent
611
-sudo cp -a rutorrent/rutorrent /var/www/
612 608
613
-[[$[Get Code]]][93]
609
+ # libapache2-mod-scgi already installed
610
+ cd ~/src
611
+ svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent
612
+ sudo cp -a rutorrent/rutorrent /var/www/
613
+
614 614
615 615
Created /var/www/fix-permissions.sh
616 616
617
-# fix permissions
618
-RUTORRENT=/var/www/rutorrent
619
-chown -R root:root $RUTORRENT/ &&
620
-    chown -R www-data:www-data $RUTORRENT/share/ &&
621
-    find $RUTORRENT/share/ -type d -exec chmod 775 {} \; &&
622
-    find $RUTORRENT/share/ -type f -exec chmod 664 {} \;
623 617
624
-[[$[Get Code]]][94]
618
+ # fix permissions
619
+ RUTORRENT=/var/www/rutorrent
620
+ chown -R root:root $RUTORRENT/ &&
621
+     chown -R www-data:www-data $RUTORRENT/share/ &&
622
+     find $RUTORRENT/share/ -type d -exec chmod 775 {} \; &&
623
+     find $RUTORRENT/share/ -type f -exec chmod 664 {} \;
624
+
625 625
626 626
Created /root/new-rutorrent-users.sh
627 627
628
-#!/bin/sh
629
-
630
-USERS=$*
631
-#PRETEND=echo
632
-
633
-RUTORRENT_ROOT=/var/www/rutorrent
634
-
635
-function add\_rutorrent\_user
636
-{
637
-    user=$1
638
-    NEW\_USER\_DIR="${RUTORRENT_ROOT}/conf/users/$user"
639
-    RPC_PORT=$(( $(id -u $user) + 4000 ))  # 5000...
640
-    RPC_MOUNT="/RPC$(( $(id -u $user) - 998 ))"  # 2...
641
-
642
-    echo -e "Adding rutorrent user $user\tRPC_PORT=$RPC_PORT\tRPC_MOUNT=$RPC_MOUNT"
643
-
644
-    $PRETEND mkdir -p "$NEW\_USER\_DIR" \
645
-    && $PRETEND cp "${RUTORRENT_ROOT}/conf"/*.ini "${RUTORRENT_ROOT}/conf"/*.php "$NEW\_USER\_DIR"
646
-
647
-    # rewrite config.php
648
-    cat "${RUTORRENT_ROOT}/conf/config.php" \
649
-        | sed "s%\(\$scgi_port\>\s\*=\s\*\)[0-9]\+%\1$RPC_PORT%
650
-               s%\(\$XMLRPCMountPoint\s\*=\s\*\)[^;]*;%\1\"$RPC_MOUNT\";%" \
651
-        > "$NEW\_USER\_DIR"/config.php
652
-
653
-
654
-}
655
-
656
-for user in $USERS
657
-do
658
-    add\_rutorrent\_user $user
628
+```shell
629
+#!/bin/sh
630
+
631
+USERS=$*
632
+#PRETEND=echo
633
+
634
+RUTORRENT_ROOT=/var/www/rutorrent
635
+
636
+function add\_rutorrent\_user
637
+{
638
+    user=$1
639
+    NEW\_USER\_DIR="${RUTORRENT_ROOT}/conf/users/$user"
640
+    RPC_PORT=$(( $(id -u $user) + 4000 ))  # 5000...
641
+    RPC_MOUNT="/RPC$(( $(id -u $user) - 998 ))"  # 2...
642
+
643
+    echo -e "Adding rutorrent user $user\tRPC_PORT=$RPC_PORT\tRPC_MOUNT=$RPC_MOUNT"
644
+
645
+    $PRETEND mkdir -p "$NEW\_USER\_DIR" \
646
+    && $PRETEND cp "${RUTORRENT_ROOT}/conf"/*.ini "${RUTORRENT_ROOT}/conf"/*.php "$NEW\_USER\_DIR"
647
+
648
+    # rewrite config.php
649
+    cat "${RUTORRENT_ROOT}/conf/config.php" \
650
+        | sed "s%\(\$scgi_port\>\s\*=\s\*\)[0-9]\+%\1$RPC_PORT%
651
+               s%\(\$XMLRPCMountPoint\s\*=\s\*\)[^;]*;%\1\"$RPC_MOUNT\";%" \
652
+        > "$NEW\_USER\_DIR"/config.php
653
+
654
+
655
+}
656
+
657
+for user in $USERS
658
+do
659
+    add\_rutorrent\_user $user
659 660
done
660 661
661
-[[$[Get Code]]][95]
662
+```
662 663
663 664
664 665
... ...
@@ -681,7 +682,7 @@ htpasswd -c /etc/rutorrent/htpasswd $user
681 682
682 683
# Windows Virtualization
683 684
684
-* KVM, [VMware][97][?][97], Qemu, [VirtualBox][98][?][98]
685
+* KVM, VMware, Qemu, VirtualBox
685 686
* <http://marsbox.com/blog/reviews/vmware-vs-virtualbox/1/>
686 687
* <http://www.linux-gamers.net/smartsection.item.56/virtualbox-vs-qemu.html>
687 688
... ...
@@ -830,10 +831,10 @@ Nightly
830 831
831 832
* Add squeezeboxserver to `mc-music` group and restart
832 833
833
-usermod -a -G mc-music squeezeboxserver
834
-/etc/init.d/logitechmediaserver restart
835 834
836
-[[$[Get Code]]][105]
835
+ usermod -a -G mc-music squeezeboxserver
836
+ /etc/init.d/logitechmediaserver restart
837
+
837 838
838 839
* Drop iptables
839 840
* <http://hastur:9000>
... ...
@@ -860,17 +861,17 @@ With postgres backend: <http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql
860 861
861 862
## Postgres database
862 863
863
-# Create postgres database
864
-sudo -u postgres createdb trac
865
-# Add postgres user trac
866
-sudo -u postgres createuser -P trac
867
-sudo -u postgres psql
868
-trac=> alter user trac with password 'PASSWORD'
869
-trac=> GRANT ALL PRIVILEGES ON DATABASE trac to trac;
870
-# Install python bindings
871
-sudo apt-get install python-psycopg2
872 864
873
-[[$[Get Code]]][106]
865
+ # Create postgres database
866
+ sudo -u postgres createdb trac
867
+ # Add postgres user trac
868
+ sudo -u postgres createuser -P trac
869
+ sudo -u postgres psql
870
+ trac=> alter user trac with password 'PASSWORD'
871
+ trac=> GRANT ALL PRIVILEGES ON DATABASE trac to trac;
872
+ # Install python bindings
873
+ sudo apt-get install python-psycopg2
874
+
874 875
875 876
Configure permissions in `pg_hba.conf`:
876 877
... ...
@@ -882,21 +883,21 @@ Configure permissions in `pg_hba.conf`:
882 883
883 884
## Trac itself
884 885
885
-# Initialize
886
-sudo trac-admin /var/www/trac initenv
887
-# You will be asked for the project-name and the database connection.
888
-> trac
889
-> postgres://trac:PASSWORD@/trac?host=/var/run/postgresql
890
-
891
-# Install Apache2, mod_wsgi:
892
-sudo apt-get install apache2 libapache2-mod-wsgi
893
-# Configure WSGI by running:
894
-sudo trac-admin /var/www/trac deploy /var/www/trac
895
-# which will create a /var/www/trac/cgi-bin/trac.wsgi file.
896
-# Give Apache the required privileges:
897
-sudo chown -R www-data /var/www/trac
898
-
899
-[[$[Get Code]]][107]
886
+
887
+ # Initialize
888
+ sudo trac-admin /var/www/trac initenv
889
+ # You will be asked for the project-name and the database connection.
890
+ > trac
891
+ > postgres://trac:PASSWORD@/trac?host=/var/run/postgresql
892
+
893
+ # Install Apache2, mod_wsgi:
894
+ sudo apt-get install apache2 libapache2-mod-wsgi
895
+ # Configure WSGI by running:
896
+ sudo trac-admin /var/www/trac deploy /var/www/trac
897
+ # which will create a /var/www/trac/cgi-bin/trac.wsgi file.
898
+ # Give Apache the required privileges:
899
+ sudo chown -R www-data /var/www/trac
900
+
900 901
901 902
Configure Apache by adding the following to `/etc/apache2/sites-available/trac`:
902 903
... ...
@@ -914,11 +915,11 @@ Configure Apache by adding the following to `/etc/apache2/sites-available/trac`:
914 915
915 916
## Server config
916 917
917
-sudo apt-get install deluged deluge-console
918
-sudo su --shell /bin/bash --login debian-deluged
919
-deluged -d -L debug  # test
920 918
921
-[[$[Get Code]]][108]
919
+ sudo apt-get install deluged deluge-console
920
+ sudo su --shell /bin/bash --login debian-deluged
921
+ deluged -d -L debug  # test
922
+
922 923
923 924
924 925
... ...
@@ -926,10 +927,10 @@ deluged -d -L debug  # test
926 927
927 928
`/var/lib/deluged/.config/deluge/auth`
928 929
929
-# FIXME: add to new-user script!
930
-echo "user:pass:5" >> .config/deluge/auth
931 930
932
-[[$[Get Code]]][109]
931
+ # FIXME: add to new-user script!
932
+ echo "user:pass:5" >> .config/deluge/auth
933
+
933 934
934 935
935 936
... ...
@@ -942,10 +943,10 @@ echo "user:pass:5" >> .config/deluge/auth
942 943
943 944
## Client config
944 945
945
-deluge-console
946
-> connect localhost [user] [pass]
947 946
948
-[[$[Get Code]]][110]
947
+ deluge-console
948
+ > connect localhost [user] [pass]
949
+
949 950
950 951
951 952
... ...
@@ -991,20 +992,20 @@ Deploy as a replacement for apt-cacher-ng.
991 992
992 993
## Server
993 994
994
-apt-get install squid-deb-proxy
995
-# allow cognomen repo
996
-cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/20-cognomen
997
-cognomen.co.uk
998
-^D
999
-# allow raspbian and osmc repos
1000
-cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/30-osmc
1001
-mirrordirector.raspbian.org
1002
-apt.osmc.tv
1003
-^D
1004
-# update iptables
1005
-echo "8000 squid-deb-proxy" >> /etc/iptables/ports\_in\_tcp_allow
1006
-
1007
-[[$[Get Code]]][111]
995
+
996
+ apt-get install squid-deb-proxy
997
+ # allow cognomen repo
998
+ cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/20-cognomen
999
+ cognomen.co.uk
1000
+ ^D
1001
+ # allow raspbian and osmc repos
1002
+ cat > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/30-osmc
1003
+ mirrordirector.raspbian.org
1004
+ apt.osmc.tv
1005
+ ^D
1006
+ # update iptables
1007
+ echo "8000 squid-deb-proxy" >> /etc/iptables/ports\_in\_tcp_allow
1008
+
1008 1009
1009 1010
Allow access and caching of unofficial repos in `/etc/squid-deb-proxy/squid-deb-proxy.conf`:
1010 1011
Network/HasturSystemSoftware.md
... ...
@@ -270,20 +270,20 @@ Partition the disks
270 270
# for dev in {b..g} ; do cat sfdisk.format | sfdisk /dev/sd$dev ; done
271 271
272 272
273
-Create [RAID0][63][?][63] for swap
273
+Create RAID0 for swap
274 274
275 275
# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=6 /dev/sd{b..g}1
276 276
# mkswap /dev/md0
277 277
# swapon /dev/md0 -p0
278 278
279 279
280
-Create [RAID10][64][?][64] for database
280
+Create RAID10 for database
281 281
282 282
# mdadm --create --verbose /dev/md1 --level=10 --raid-devices=6 /dev/sd{b..g}2
283 283
# mkfs.xfs -f /dev/md1
284 284
285 285
286
-Create [RAID5][65][?][65] for general data
286
+Create RAID5 for general data
287 287
288 288
# mdadm --create --verbose /dev/md5 --level=5 --raid-devices=5 --spare-devices=1 /dev/sd{b..g}3
289 289
# mkfs.xfs -f /dev/md5
... ...
@@ -306,7 +306,7 @@ Tested various RAID configurations. Seems /dev/sdc is broken.
306 306
* md1, raid 10, 6 disks, stripe of 3 mirrored pairs
307 307
* md5, raid 5, 5 disks + 1 hot spare
308 308
309
-Setup: 4 Seagate, 2 Samsung. XFS with default options. 2.6.22.1. NCQ 31/32. SATA PM through 2 [SATA300][66][?][66] channels. 3 disks multiplexed per channel.
309
+Setup: 4 Seagate, 2 Samsung. XFS with default options. 2.6.22.1. NCQ 31/32. SATA PM through 2 SATA300 channels. 3 disks multiplexed per channel.
310 310
311 311
| Version 1.03 | Sequential Output | Sequential Input | Random |
312 312
||
... ...
@@ -369,7 +369,7 @@ Post-optimization benchmarks
369 369
| md1 | 4024M |   |   | 95734 | 12 | 49719 | 6 |   |   | 127244 | 7 | 482.1 | |
370 370
| md5 | 4024M |   |   |   |   |   |   |   |   |   |   |   |   |
371 371
372
-Now rearrange md0 to alternate [PMs][67][?][67]
372
+Now rearrange md0 to alternate PMs
373 373
374 374
# mdadm --stop /dev/md{0,1,5}
375 375
# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=6 /dev/sd{b,e,c,f,d,g}1
... ...
@@ -594,15 +594,15 @@ Then
594 594
595 595
Partitioning scheme:
596 596
597
-Seagate 500GB = 500106780160 bytes = 476938.9917 [MiB][78][?][78] = 465.760734 [GiB][79][?][79] Samsung 500GB = 500107862016 bytes = 476940.0234 [MiB][78][?][78] = 465.761742 [GiB][79][?][79]
597
+Seagate 500GB = 500106780160 bytes = 476938.9917 MiB = 465.760734 GiB Samsung 500GB = 500107862016 bytes = 476940.0234 MiB = 465.761742 GiB
598 598
599 599
| md | Start | End | Blocks | Raid Size | Partition | Notes |
600 600
|:--- | ----- | ---- | ------ | --------- | ------------------ | -------------------------------- |
601 601
| md0 | 0M | 749M |   | 4.5GB | Swap | Separate so crypto can be random |
602
-| md2 | 750M | 50G |   | 300GB | [RAID0][63][?][63] | /var,/tmp |
603
-| md3 | 50G | 465G |   | 1660GB | [RAID5][65][?][65] | Everything else |
602
+| md2 | 750M | 50G |   | 300GB | RAID0 | /var,/tmp |
603
+| md3 | 50G | 465G |   | 1660GB | RAID5 | Everything else |
604 604
605
-Partition the disks, use sfdisk [MiB][78][?][78] format
605
+Partition the disks, use sfdisk MiB format
606 606
607 607
# cat > sfdisk.format
608 608
,750,fd
... ...
@@ -614,9 +614,9 @@ Partition the disks, use sfdisk [MiB][78][?][78] format
614 614
615 615
616 616
617
-### md0 - [RAID0][63][?][63] - swap
617
+### md0 - RAID0 - swap
618 618
619
-Create [RAID0][63][?][63] for swap
619
+Create RAID0 for swap
620 620
621 621
# mdadm --create --metadata=1.2 --verbose --level=0 --raid-devices=6 /dev/md0 /dev/sd{b..g}1
622 622
... ...
@@ -634,13 +634,13 @@ Do first initialization manually
634 634
# swapon /dev/mapper/md0-swap -p0 # set higher priority
635 635
636 636
637
-Don't think chunk size matters for [RAID0][63][?][63]. [RAID5][65][?][65] must be carefully tuned however.
637
+Don't think chunk size matters for RAID0. RAID5 must be carefully tuned however.
638 638
639 639
640 640
641
-### md2 - [RAID0][63][?][63]
641
+### md2 - RAID0
642 642
643
-Create [RAID0][63][?][63] for general use
643
+Create RAID0 for general use
644 644
645 645
# mdadm --create --metadata=1.2 --verbose --level=0 --raid-devices=6 /dev/md2 /dev/sd{b..g}2
646 646
# cryptsetup -c aes-lrw-benbi:sha256 -s 256 luksFormat /dev/md2
... ...
@@ -696,7 +696,7 @@ etc...
696 696
697 697
698 698
699
-##### [RAID0][63][?][63]
699
+##### RAID0
700 700
701 701
| Version 1.03 | Sequential Output | Sequential Input | Random |
702 702
||
... ...
@@ -710,9 +710,9 @@ Stick to 64k chunk size.
710 710
711 711
712 712
713
-### md3 - [RAID5][65][?][65]
713
+### md3 - RAID5
714 714
715
-Create [RAID5][65][?][65] for general use
715
+Create RAID5 for general use
716 716
717 717
* Test various chunk sizes
718 718
... ...
@@ -817,7 +817,7 @@ echo 4096 > /sys/block/md3/md/stripe\_cache\_size
817 817
# mount -t xfs /dev/mapper/crypt-md3 /mnt/md3
818 818
819 819
820
-Limit rebuild speed ([KiB][84][?][84]/sec)
820
+Limit rebuild speed (KiB/sec)
821 821
822 822
# echo 1000 > /proc/sys/dev/raid/speed_limit_min
823 823
# echo 20000 > /proc/sys/dev/raid/speed_limit_max
... ...
@@ -844,12 +844,12 @@ Shutdown
844 844
845 845
#### 2007-11-30
846 846
847
-* Added a [SiI3132][85][?][85] [PCIe][86][?][86] controller. Should exhibit 130mbit bandwidth limit.
847
+* Added a SiI3132 PCIe controller. Should exhibit 130mbit bandwidth limit.
848 848
* Only 5 disks working now so have to force bonnie++ to run with < 2×RAM.
849 849
850 850
851 851
852
-#### Benchmark [RAID0][63][?][63]
852
+#### Benchmark RAID0
853 853
854 854
# mdadm --create --metadata=1.2 --verbose --level=0 --raid-devices=6 /dev/md0 /dev/sd{b..g}1
855 855
# cryptsetup -c aes-lrw-benbi:sha256 -s 256 luksFormat /dev/md0
... ...
@@ -953,7 +953,7 @@ Have to fix detecting the devices. May not always be sd{a..f}
953 953
954 954
### Limit rebuild speed
955 955
956
-In [KiB][84][?][84]/sec:
956
+In KiB/sec:
957 957
958 958
# echo 1000 > /proc/sys/dev/raid/speed_limit_min
959 959
# echo 20000 > /proc/sys/dev/raid/speed_limit_max
... ...
@@ -984,7 +984,7 @@ In [KiB][84][?][84]/sec:
984 984
985 985
## Process Limits
986 986
987
-* Set limits to prevent processes like lsdvd killing the system when freaking out on dodgy [ISOs][87][?][87]
987
+* Set limits to prevent processes like lsdvd killing the system when freaking out on dodgy ISOs
988 988
989 989
# cat >> /etc/profile
990 990
if [ $UID -ge 1000 ]
... ...
@@ -1184,10 +1184,10 @@ Following [Debian manual][94]
1184 1184
1185 1185
* apt-get upgrade
1186 1186
1187
-apt-get install linux-image-2.6-amd64
1188
-# fails out of space on /lib!
1189 1187
1190
-[[$[Get Code]]][95]
1188
+ apt-get install linux-image-2.6-amd64
1189
+ # fails out of space on /lib!
1190
+
1191 1191
1192 1192
1193 1193
... ...
@@ -1198,21 +1198,21 @@ apt-get install linux-image-2.6-amd64
1198 1198
* Resize hastur-home LVM
1199 1199
* Reduce fs to 50G, reduce lv to 52G, expand fs again to fill lv
1200 1200
1201
-umount /home
1202
-HOME_DEV=/dev/mapper/hastur-home
1203
-e2fsck -f $HOME_DEV
1204
-resize2fs $HOME_DEV 50G
1205
-e2fsck -f $HOME_DEV
1206
-lvreduce -L 52G $HOME_DEV
1207
-resize2fs $HOME_DEV
1208
-# Extend home-root by 512GB, leave the rest unused
1209
-ROOT_DEV=/dev/mapper/hastur-root
1210
-lvextend -L +512M $ROOT_DEV
1211
-resize2fs $ROOT_DEV
1212
-# Redo kernel upgrade
1213
-apt-get -f install
1214 1201
1215
-[[$[Get Code]]][96]
1202
+ umount /home
1203
+ HOME_DEV=/dev/mapper/hastur-home
1204
+ e2fsck -f $HOME_DEV
1205
+ resize2fs $HOME_DEV 50G
1206
+ e2fsck -f $HOME_DEV
1207
+ lvreduce -L 52G $HOME_DEV
1208
+ resize2fs $HOME_DEV
1209
+ # Extend home-root by 512GB, leave the rest unused
1210
+ ROOT_DEV=/dev/mapper/hastur-root
1211
+ lvextend -L +512M $ROOT_DEV
1212
+ resize2fs $ROOT_DEV
1213
+ # Redo kernel upgrade
1214
+ apt-get -f install
1215
+
1216 1216
1217 1217
1218 1218
... ...
@@ -1221,64 +1221,64 @@ apt-get -f install
1221 1221
* Problem with libc6-i386 dependencies related to transition to multiarch.
1222 1222
* Solution: Removed ia32-libs and all dependents. Removed libc6-i386
1223 1223
1224
-apt-get remove dpt-i2o-raidutils
1225
-dpkg --remove lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 lib32z1-dev libc6-dev-i386 libc6-i386
1226
-# resume udev install (with some deps including gcc4.4-base)
1227
-apt-get install udev
1228 1224
1229
-[[$[Get Code]]][97]
1225
+ apt-get remove dpt-i2o-raidutils
1226
+ dpkg --remove lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 lib32z1-dev libc6-dev-i386 libc6-i386
1227
+ # resume udev install (with some deps including gcc4.4-base)
1228
+ apt-get install udev
1229
+
1230 1230
1231 1231
1232 1232
1233 1233
### dist-upgrade
1234 1234
1235
-apt-get upgrade
1236
-apt-get dist-upgrade  # fails with perl libanyevent problems
1237
-# check anyevent-perl deps
1238
-apt-cache showpkg anyevent-perl  # none!
1239
-dpkg -r anyevent-perl
1240
-apt-get install -f   # fix the packages that anyevent-perl broke
1241 1235
1242
-[[$[Get Code]]][98]
1236
+ apt-get upgrade
1237
+ apt-get dist-upgrade  # fails with perl libanyevent problems
1238
+ # check anyevent-perl deps
1239
+ apt-cache showpkg anyevent-perl  # none!
1240
+ dpkg -r anyevent-perl
1241
+ apt-get install -f   # fix the packages that anyevent-perl broke
1242
+
1243 1243
1244 1244
1245 1245
1246 1246
#### mediatomb
1247 1247
1248
-# backup
1249
-/etc/init.d/mediatomb stop
1250
-cd /etc
1251
-tar -czvf mediatomb.tgz mediatomb/
1252
-# remove
1253
-apt-get purge mediatomb mediatomb-common mediatomb-daemon
1254
-rm -rf /etc/mediatomb
1255
-apt-get install mediatomb-daemon
1256
-# extract backup and merge configs
1257
-cd /etc/mediatomb
1258
-tar -xzvf /etc/mediatomb.tgz
1259
-mv mediatomb old
1260
-vimdiff config.xml old/config.xml
1261
-# restart
1262
-/etc/init.d/mediatomb restart
1263 1248
1264
-[[$[Get Code]]][99]
1249
+ # backup
1250
+ /etc/init.d/mediatomb stop
1251
+ cd /etc
1252
+ tar -czvf mediatomb.tgz mediatomb/
1253
+ # remove
1254
+ apt-get purge mediatomb mediatomb-common mediatomb-daemon
1255
+ rm -rf /etc/mediatomb
1256
+ apt-get install mediatomb-daemon
1257
+ # extract backup and merge configs
1258
+ cd /etc/mediatomb
1259
+ tar -xzvf /etc/mediatomb.tgz
1260
+ mv mediatomb old
1261
+ vimdiff config.xml old/config.xml
1262
+ # restart
1263
+ /etc/init.d/mediatomb restart
1264
+
1265 1265
1266 1266
1267 1267
1268 1268
#### Switch postgresql
1269 1269
1270
-# Stop and backup
1271
-/etc/init.d/postgresql stop
1272
-tar -czvf 8.3.bak.tgz /etc/postgresql/8.3 /var/lib/postgresql/8.3
1273
-tar -czvf 8.4.bak.tgz /etc/postgresql/8.4 /var/lib/postgresql/8.4
1274
-# Drop default 8.4 cluster
1275
-/etc/init.d/postgresql start
1276
-pg_dropcluster --stop 8.4 main
1277
-# Upgrade 8.3 to 8.4
1278
-pg_upgradecluster 8.3 main
1279
-pg_dropcluster --stop 8.3 main
1280 1270
1281
-[[$[Get Code]]][100]
1271
+ # Stop and backup
1272
+ /etc/init.d/postgresql stop
1273
+ tar -czvf 8.3.bak.tgz /etc/postgresql/8.3 /var/lib/postgresql/8.3
1274
+ tar -czvf 8.4.bak.tgz /etc/postgresql/8.4 /var/lib/postgresql/8.4
1275
+ # Drop default 8.4 cluster
1276
+ /etc/init.d/postgresql start
1277
+ pg_dropcluster --stop 8.4 main
1278
+ # Upgrade 8.3 to 8.4
1279
+ pg_upgradecluster 8.3 main
1280
+ pg_dropcluster --stop 8.3 main
1281
+
1282 1282
1283 1283
1284 1284
... ...
@@ -1292,25 +1292,25 @@ pg_dropcluster --stop 8.3 main
1292 1292
1293 1293
* install etckeeper and baseline
1294 1294
1295
-apt-get install etckeeper
1296
-cd /etc
1297
-etckeeper init
1298
-# check the git staging area and remove unwanted stuff
1299
-git commit -a -m "etc: squeeze baseline"
1300
-git tag -a -m "squeeze"
1301 1295
1302
-[[$[Get Code]]][101]
1296
+ apt-get install etckeeper
1297
+ cd /etc
1298
+ etckeeper init
1299
+ # check the git staging area and remove unwanted stuff
1300
+ git commit -a -m "etc: squeeze baseline"
1301
+ git tag -a -m "squeeze"
1302
+
1303 1303
1304 1304
1305 1305
1306 1306
* updated apt-sources
1307 1307
* Check estimated space and extend /var by 2GB
1308 1308
1309
-apt-get -o APT::Get::Trivial-Only=true dist-upgrade
1310
-lvextend /dev/mapper/hastur-var -L +2G
1311
-resize2fs /dev/mapper/hastur-var
1312 1309
1313
-[[$[Get Code]]][102]
1310
+ apt-get -o APT::Get::Trivial-Only=true dist-upgrade
1311
+ lvextend /dev/mapper/hastur-var -L +2G
1312
+ resize2fs /dev/mapper/hastur-var
1313
+
1314 1314
1315 1315
1316 1316
... ...
@@ -1345,10 +1345,10 @@ Fixed md127 mdadm device in /etc/mdadm/mdadm.conf
1345 1345
1346 1346
### Migrate to rsyslogd
1347 1347
1348
-sudo apt-get install rsyslog
1349
-sudo apt-get purge inetutils-syslogd
1350 1348
1351
-[[$[Get Code]]][103]
1349
+ sudo apt-get install rsyslog
1350
+ sudo apt-get purge inetutils-syslogd
1351
+
1352 1352
1353 1353
1354 1354
Network/HomeAutomation.md
... ...
@@ -26,15 +26,15 @@ See also:
26 26
| Socket Dimmer | LW | Siemens | 17 |
27 27
| Socket Dimmer | Z | TKB | 26[2][26] |
28 28
| Mood Switch | LW | Siemens | 27 |
29
-| Dimmer 1-gang 1-way | LW | Siemens [LW2x][27][?][27] | 25 |
30
-| Dimmer 1-gang 2-way | LW | JSJS [LW400][28][?][28] | 40 |
31
-| Dimmer 1+1-gang 1-way [3][29] | Z | TKB [TZ65][30][?][30]-D [4][31] | 40 |
32
-| Dimmer 2-gang 1-way | LW | Siemens [LW220][32][?][32] | 40 |
33
-| Dimmer 2-gang 2-way | LW | LW [LW420][33][?][33] | 65 |
29
+| Dimmer 1-gang 1-way | LW | Siemens LW2x | 25 |
30
+| Dimmer 1-gang 2-way | LW | JSJS LW400 | 40 |
31
+| Dimmer 1+1-gang 1-way [3][29] | Z | TKB TZ65-D [4][31] | 40 |
32
+| Dimmer 2-gang 1-way | LW | Siemens LW220 | 40 |
33
+| Dimmer 2-gang 2-way | LW | LW LW420 | 65 |
34 34
| Inline dimmer | Z | Fibaro[5][34] | [48][35] |
35 35
| PIR | LW | Megaman | 28 |
36
-| TRV | FHT | Conrad [EQ3][36][?][36][6][37] | 25 |
37
-| TRV [LW900][38][?][38] | LW | [Technoline][39] | ? |
36
+| TRV | FHT | Conrad EQ3[6][37] | 25 |
37
+| TRV LW900 | LW | [Technoline][39] | ? |
38 38
| TRV | Z | [Stella][40] | [48][41] |
39 39
| TRV | Z | Danfoss | [52][42] |
40 40
| TRV iTemp i30 | Peg | Pegler i30 | [18.9][43] [7][44] |
... ...
@@ -59,7 +59,7 @@ See also:
59 59
60 60
61 61
62
-# Solution A - Z-Wave and [LightwaveRF][52][?][52]
62
+# Solution A - Z-Wave and LightwaveRF
63 63
64 64
## Milestone 1 - Basic Functionality
65 65
... ...
@@ -95,8 +95,8 @@ Control heating. Allow end-users to operate it.
95 95
96 96
97 97
98
-[TRVs][57][?][57]
99
-: [StellaZ][58][?][58]
98
+TRVs
99
+: StellaZ
100 100
101 101
Control Software
102 102
: [OpenHAB][59]
... ...
@@ -152,11 +152,11 @@ Geofencing, presence and proximity trigger events.
152 152
* Mesh
153 153
* Two-way
154 154
* Plug adapters ~£28
155
-* [LightwaveRF][52][?][52]
155
+* LightwaveRF
156 156
* One-way fire-and-forget
157 157
* Low cost
158
-* [OpenEnergyMonitor][63][?][63] ([RFM12B][64][?][64])
159
-* [WattWave][65][?][65]
158
+* OpenEnergyMonitor (RFM12B)
159
+* WattWave
160 160
161 161
* [Lightwave vs Z-Wave][66]
162 162
... ...
@@ -218,7 +218,7 @@ Geofencing, presence and proximity trigger events.
218 218
219 219
## Thermostatic Valves
220 220
221
-* [TRVs][57][?][57] (Thermostatic Radiator Valves)
221
+* TRVs (Thermostatic Radiator Valves)
222 222
* [OpenTRV][71]
223 223
224 224
... ...
@@ -236,7 +236,7 @@ Geofencing, presence and proximity trigger events.
236 236
237 237
Boilers with out a bypass system:
238 238
239
-* All [TRVs][57][?][57] closed
239
+* All TRVs closed
240 240
* Temperature is below set-point
241 241
* Boiler is pumping against no circulation and cannot dissipate heat.
242 242
* So there is usually at least one non-TRV radiator
... ...
@@ -271,7 +271,7 @@ Boiler Control, 2-channel
271 271
272 272
273 273
274
-### Honeywell [EvoHome][82][?][82]
274
+### Honeywell EvoHome
275 275
276 276
* Radiator valve sensor/controllers use RF 868MHz FSK
277 277
* Possible interference with LTE
... ...
@@ -286,7 +286,7 @@ Boiler Control, 2-channel
286 286
287 287
### Danfoss Link
288 288
289
-(With Living Connect [TRVs][57][?][57]) [Forum post about it][85]
289
+(With Living Connect TRVs) [Forum post about it][85]
290 290
291 291
292 292
... ...
@@ -348,10 +348,10 @@ Also:
348 348
349 349
350 350
351
-| [CMA401][94][?][94] Frontplate | 1g |   |
351
+| CMA401 Frontplate | 1g |   |
352 352
||
353
-| [MD075PW][95][?][95] | 3p |   |
354
-| [CMA401][94][?][94]+[MD075PW][95][?][95] | 1g 3p | [£7.20][96] |
353
+| MD075PW | 3p |   |
354
+| CMA401+MD075PW | 1g 3p | [£7.20][96] |
355 355
356 356
357 357
... ...
@@ -370,7 +370,7 @@ Also:
370 370
* <http://www.raspberrypi.org/phpBB3/viewtopic.php?t=16603&p=225970>
371 371
* <http://lightwaverfcommunity.org.uk/>
372 372
* <http://openenergymonitor.org/emon/>
373
-* <http://www.enmodus.com/> ([WattWave][65][?][65])
373
+* <http://www.enmodus.com/> (WattWave)
374 374
* <http://www.devolo.com/en/> (Powerline)
375 375
* [2009 Linux.com article][97]
376 376
* [Roundup of Home Automation technologies][98]
Network/IPv6.md
... ...
@@ -23,11 +23,11 @@ title: IPv6
23 23
24 24
# WAN
25 25
26
-## [PPPoE][9][?][9]
26
+## PPPoE
27 27
28 28
* Enabled on Entanet
29 29
* 2011-11-08: Enabled on AAISP, allocated /48
30
-* AAISP ipv6 [DNSes][10][?][10] 2001:8b0:6464::1 and 2001:8b0:6464::2
30
+* AAISP ipv6 DNSes 2001:8b0:6464::1 and 2001:8b0:6464::2
31 31
32 32
33 33
... ...
@@ -40,7 +40,7 @@ title: IPv6
40 40
41 41
# Mobile
42 42
43
-* [OpenWRT][11][?][11] needs custom kernel
43
+* OpenWRT needs custom kernel
44 44
* But 2.6 kernel wireless is unstable?
45 45
46 46
[1]: IPv6
Network/LetsEncrypt.md
... ...
@@ -4,12 +4,12 @@ title: LetsEncrypt
4 4
5 5
On Yuggoth:
6 6
7
-# cert updates managed by a cron job
8
-# now update mosquitto
9
-cd /etc/letsencrypt
10
-sudo make update restart
11 7
12
-[[$[Get Code]]][1]
8
+ # cert updates managed by a cron job
9
+ # now update mosquitto
10
+ cd /etc/letsencrypt
11
+ sudo make update restart
12
+
13 13
14 14
On Pixie: [Pixie][2]
15 15
Network/Mail.md
... ...
@@ -22,7 +22,7 @@ title: Mail
22 22
23 23
### Send and Receive
24 24
25
-Supported by all [MTAs][1][?][1]
25
+Supported by all MTAs
26 26
27 27
28 28
... ...
@@ -93,6 +93,7 @@ Postfix can't run filters on message body?
93 93
* courier
94 94
* bincimap
95 95
96
+
96 97
Two main contenders are Courier and Dovecot.
97 98
Originally installed Dovecot, but it supports neither quotas nor STARTTLS.
98 99
Will stay with it for the moment. Courier-imap needs perl. Don't really want to bbloat the jail.
... ...
@@ -118,7 +119,7 @@ Will stay with it for the moment. Courier-imap needs perl. Don't really want to
118 119
119 120
See <http://acme.com/mail_filtering/>
120 121
121
-* [SpamAssassin][4][?][4] (<http://spamassassin.apache.org/>)
122
+* SpamAssassin (<http://spamassassin.apache.org/>)
122 123
123 124
circumvented by spammers according to acme
124 125
... ...
@@ -166,7 +167,7 @@ IMAP requires a decent quota on the mail server as well as backups. Single locat
166 167
167 168
### Filtering
168 169
169
-[SpamAssassin][4][?][4] is widely used but apparently a target of spammers.
170
+SpamAssassin is widely used but apparently a target of spammers.
170 171
Bogofilter is less widely used.
171 172
Bogofilter it is then (at least initially).
172 173
... ...
@@ -184,4 +185,3 @@ Decided on Postfix. Actively maintained (unlike qmail+patches). Full-featured.
184 185
<http://jamm.sourceforge.net/howto/single-html/mailserver.html>
185 186
186 187
[2]: Security
187
- [3]: http://www.tummy.com/journals/entries/jafo_20050120_010505
Network/MediaTranscoder.md
... ...
@@ -4,7 +4,7 @@ title: MediaTranscoder
4 4
5 5
## Options
6 6
7
-* [PS3][1][?][1], encoders optimized for cell?
7
+* PS3, encoders optimized for cell?
8 8
* FPGA coprocessor?
9
-* Off-the-shelf hardware encoder, [FireWire][2][?][2]
9
+* Off-the-shelf hardware encoder, FireWire
10 10
Network/MobileRouter.md
... ...
@@ -40,7 +40,7 @@ A high bandwidth broadband solution for rural areas.
40 40
41 41
# Software Support
42 42
43
-* [OpenWRT][1][?][1]
43
+* OpenWRT
44 44
* [OpenWRT multiwan][2]
45 45
46 46
... ...
@@ -49,7 +49,7 @@ A high bandwidth broadband solution for rural areas.
49 49
50 50
* Beware of burst current limit for USB devices
51 51
* Solve with powered USB hub
52
-* [WiFi][3][?][3] 3G 4G interference
52
+* WiFi 3G 4G interference
53 53
* Solve with (high quality) USB extension cable or external aerials
54 54
* PPP limited to 25Mbps?
55 55
* Solve with Rooter project firmware
... ...
@@ -71,7 +71,7 @@ Solves the PPP limit problem
71 71
72 72
| Device | Radio | Cost | Notes |
73 73
|:--------------------- | ---------------------- | ---- | ----------------------------------- |
74
-| [TP-Link WDR4900][4] | 450@2.4GHz, 450@5GHz |   | Immature [OpenWRT][1][?][1] support |
74
+| [TP-Link WDR4900][4] | 450@2.4GHz, 450@5GHz |   | Immature OpenWRT support |
75 75
| [TP-Link WDR4300][5] | 300 @2.4GHz, 450@5GHz | £60 | 2xUSB |
76 76
| [TP-Link WDR3600][6] | 300 @2.4GHz, 300 @5GHz | £49 | 2xUSB |
77 77
| [TP-Link WR1043ND][7] | 300 @2.4GHz | £36 | 1xUSB |
... ...
@@ -97,7 +97,7 @@ Notes
97 97
98 98
99 99
100
-## ZTE [MF730M][10][?][10]
100
+## ZTE MF730M
101 101
102 102
Description
103 103
: 3G USB dongle
... ...
@@ -113,7 +113,7 @@ Notes
113 113
114 114
115 115
116
-## ZTE [MF823][12][?][12]
116
+## ZTE MF823
117 117
118 118
Description
119 119
: 4G USB dongle
... ...
@@ -151,9 +151,10 @@ Notes
151 151
## Huawei E5786
152 152
153 153
Description
154
-: Mobile [WiFi][3][?][3] bridge
154
+: Mobile WiFi bridge
155 155
156 156
Protocols
157
+
157 158
: FDD LTE CA(DL) 300 Mbps,
158 159
TDD LTE CA(DL) 224 Mbps,
159 160
High-speed LTE FDD (DL) 150 Mbps,
... ...
@@ -190,12 +191,12 @@ Link
190 191
191 192
| Provider | Network | Terms | Allowance | GBP/GB[2][17] | Notes |
192 193
|:--------------------- | -------- | ------- | --------- | ------------- | --------------------------------------------- |
193
-| [MobiData][18][?][18] | DC-HSDPA | 3mnth | 10GB | 1.96 | Sim only, NOT 20GB! |
194
+| MobiData | DC-HSDPA | 3mnth | 10GB | 1.96 | Sim only, NOT 20GB! |
194 195
| EE | LTE | 24mnths | 20GB | 1.80 | 60Mbps? Huawei E5776 |
195 196
| Three | LTE | 24mnths | 15GB | 1.68 | Setup £50 |
196 197
| Three | LTE | 24mnths | 15GB | 1.42 | Setup £35 |
197 198
| Three | 3G | 24mnths | 15GB | 1.40 | Included Mi-Fi. Limited offer £25 M&S voucher |
198
-| Three | DC-HSDPA | 24mnths | 15GB | 1.33 | Dongle. ZTE [MF730M][10][?][10] |
199
+| Three | DC-HSDPA | 24mnths | 15GB | 1.33 | Dongle. ZTE MF730M |
199 200
| EE | LTE | 1mnth | 15GB | 1.33 | EE Buzzard |
200 201
| EE | LTE | 1mnth | 25GB | 1.20 | EE Buzzard |
201 202
| Three | LTE | 1mnths | 15GB | 1.06[3][19] |   |
... ...
@@ -209,7 +210,7 @@ Link
209 210
210 211
211 212
212
-## Wireless [ISPs][23][?][23]
213
+## Wireless ISPs
213 214
214 215
[http://www.ispreview.co.uk/isp\_list/ISP\_List_Wireless.php][24]
215 216
... ...
@@ -246,4 +247,3 @@ Link
246 247
[22]: #fnr1_3
247 248
[24]: http://www.ispreview.co.uk/isp_list/ISP_List_Wireless.php
248 249
[25]: WDR3600
249
- [26]: http://www.amazon.co.uk/TP-Link-TL-WDR3600-Wireless-Gigabit-300Mbps/dp/B008QBAXI4/ref=sr_1_1?s=computers&ie=UTF8&qid=1399028547&sr=1-1&keywords=WDR-3600
... ...
\ No newline at end of file
Network/Monitoring.md
... ...
@@ -22,7 +22,7 @@ title: Monitoring
22 22
23 23
## Components
24 24
25
-* [InfluxDB][2][?][2]
25
+* InfluxDB
26 26
* Telegraf
27 27
* Grafana
28 28
Network/Network.md
... ...
@@ -11,7 +11,7 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
11 11
## By Name
12 12
13 13
* [Azathoth][2] - [Phase I][3][?][3] general purpose gateway
14
-* [Byatis][4][?][4]
14
+* Byatis
15 15
* [Niggurath][5] - general purpose app server
16 16
* [Hastur][6] - media processor and storage
17 17
* [Cyclops][7] - new media server
... ...
@@ -25,8 +25,8 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
25 25
* [Perimeter Router][10]
26 26
* [Log Server][11]
27 27
* [Storage Server][12]
28
-* [DNS1][13][?][13]
29
-* [DNS2][14][?][14]
28
+* DNS1
29
+* DNS2
30 30
* [VoIP Gateway][15][?][15]
31 31
* [Mobile Router][16]
32 32
* [Automation Hub][17] - for [Home Automation][18]
... ...
@@ -50,11 +50,11 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
50 50
51 51
## Switches
52 52
53
-* Extreme Networks [Summit X450e-24p][30] Gigabit [PoE][31][?][31] switch
53
+* Extreme Networks [Summit X450e-24p][30] Gigabit PoE switch
54 54
* Dell [PowerConnect 2716][32] - 16-port gigabit rackmount switch
55 55
* Zyxel [GS108][33] - 8-port gigabit "media" switch
56
-* Netgear [FS105][34][?][34] - 5-port 100Mbit desktop switch
57
-* On-Networks [DSG005][35][?][35] - 5-port gigabit desktop switch
56
+* Netgear FS105 - 5-port 100Mbit desktop switch
57
+* On-Networks DSG005 - 5-port gigabit desktop switch
58 58
59 59
60 60
... ...
@@ -74,12 +74,12 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
74 74
75 75
# Services
76 76
77
-* [Routing][40][?][40]
77
+* Routing
78 78
* [Name resolution][41]
79 79
* [Mail][42]
80 80
* [Web][43]
81 81
* [Logging][44]
82
-* [VoIP][45][?][45]
82
+* VoIP
83 83
* [LDAP][46]
84 84
* [Network Storage][12]
85 85
* [Video Surveillance][47]
... ...
@@ -92,7 +92,7 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
92 92
# Features
93 93
94 94
* [Security][51]
95
-* [Gigabit][52][?][52] ethernet
95
+* Gigabit ethernet
96 96
* [Bandwidth Management][53]
97 97
* [IPv6][1]
98 98
* [Public Wireless][54][?][54]
... ...
@@ -102,7 +102,7 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
102 102
103 103
# Clients
104 104
105
-* [Omenbook][56][?][56] laptop
105
+* Omenbook laptop
106 106
* [Nixie][57] netbook
107 107
* [Archix][58] laptop
108 108
* [Shochu][59] laptop
... ...
@@ -132,17 +132,17 @@ A project to construct a reliable, low-cost, secure, [IPv6][1] gigabit intranet.
132 132
133 133
* [Perimeter Subnet][64][?][64], [Private Subnet][65][?][65] and [Wireless Subnet][66][?][66]
134 134
* [Public Wireless][54][?][54]
135
-* [IPv6][1] tunnelled to public internet via [IPv6][1]-over-[IPv4][67][?][67] tunnel
136
-* [Gigabit][52][?][52] ethernet
135
+* [IPv6][1] tunnelled to public internet via [IPv6][1]-over-IPv4 tunnel
136
+* Gigabit ethernet
137 137
* Public and local [DNS][41]
138 138
* [Web][43], [Mail][42], [VPN][48] servers
139 139
* Remote logging / [SNMP][44]
140
-* [OpenBSD][68][?][68] [Perimeter/Wireless Router][10] on embedded hardware
140
+* OpenBSD [Perimeter/Wireless Router][10] on embedded hardware
141 141
* [Private Router][69][?][69] with Gigabit throughput
142 142
* Network [Storage Server][12]
143 143
* [SAN][70]
144 144
* [Media transcoding][71] system
145
-* Thin-client [Home-Theatre PC][72] using [MythTV][73][?][73]
145
+* Thin-client [Home-Theatre PC][72] using MythTV
146 146
147 147
148 148
... ...
@@ -154,9 +154,9 @@ Network is implemented in three phases:
154 154
155 155
## Phase I - Single subnet
156 156
157
-In this phase a single privately addressed ([NATted][74][?][74]) subnet is created.
157
+In this phase a single privately addressed (NATted) subnet is created.
158 158
159
-* Single general purpose [gateway][69][?][69] ([Azathoth][2])
159
+* Single general purpose gateway ([Azathoth][2])
160 160
* Public systems are accessible via DNAT on the [gateway][2].
161 161
* One [DNS][41] server provides local cacheing and authoritative for public systems.
162 162
* Private [DNS][41] info is kept in /etc/hosts on each system.
... ...
@@ -173,7 +173,7 @@ In this phase the subnet is split in to perimeter (non-NAT) and private (NAT) an
173 173
174 174
* Second switch is added and Azathoth assumes the role of private router.
175 175
* Attempt Gigabit routing throughput on [Azathoth][2].
176
-* Private net migrates to pure [IPv6][1], router provides [IPv6][1]-to-[IPv4][67][?][67]
176
+* Private net migrates to pure [IPv6][1], router provides [IPv6][1]-to-IPv4
177 177
* Second [DNS][41] is added and provides cacheing and DNS for all systems
178 178
* Perimeter router provides [Bandwith Management][75][?][75]
179 179
* VPN gateway provides two-factor authenticated access to private network.
Network/Niggurath.md
... ...
@@ -16,7 +16,7 @@ General Purpose App Server
16 16
| RAM | Kingston |   |   | 256MB ECC |
17 17
| HDD | IBM |   | SCSI | 9GB |
18 18
| HDD | IBM |   | SCSI | 9GB |
19
-| Graphics Adapter | Diamond | [FireGL][1][?][1] 1000 Pro 8MB AGP | AGP | 8MB 100MHz SGRAM 8ns |
19
+| Graphics Adapter | Diamond | FireGL 1000 Pro 8MB AGP | AGP | 8MB 100MHz SGRAM 8ns |
20 20
| SCSI Controller | Adaptec | AIC-7880 | PCI? |   |
21 21
| SCSI Raid Adapter | Adaptec | ARO-1130C | PCI? | 16MB |
22 22
| CD-ROM | NEC |   | SCSI |
... ...
@@ -29,9 +29,9 @@ General Purpose App Server
29 29
30 30
31 31
32
-# [ToDo][2][?][2]
32
+# ToDo
33 33
34
-* Get fan for [CPUs][3][?][3]
34
+* Get fan for CPUs
35 35
* <http://memberwebs.com/nielsen/freebsd/jails/docs/jail_security.html>
36 36
* create CA and sign certs
37 37
* create proper file permission hierarchy for cert access
... ...
@@ -94,11 +94,11 @@ build SMP kernel
94 94
95 95
## **2006-04-12**
96 96
97
-Updated to [FreeBSD][4][?][4] 6-STABLE branch. <http://www.freebsd.org/doc/en/books/handbook/makeworld.html>
97
+Updated to FreeBSD 6-STABLE branch. <http://www.freebsd.org/doc/en/books/handbook/makeworld.html>
98 98
99 99
100 100
101
-# Fill in: [CVSup][5][?][5] config, make.conf
101
+# Fill in: CVSup config, make.conf
102 102
103 103
# cd /usr/src
104 104
# make -j4 buildworld && make buildkernel
... ...
@@ -310,6 +310,7 @@ Set domain names for all servers to *.phase1 to make it easy to grep.
310 310
311 311
Other files changed: /etc/hosts /etc/resolv.conf
312 312
313
+
313 314
Change the jail ip address.
314 315
Fix interface alias:
315 316
... ...
@@ -507,7 +508,7 @@ Installing Dovecot (1.0.beta3):
507 508
LDAP
508 509
509 510
510
-[GnuTLS][8][?][8] was removed from Dovecot as it was broken. Falls back to [OpenSSL][9][?][9] instead. Fine by me. Auto-creates user and group dovecot.
511
+GnuTLS was removed from Dovecot as it was broken. Falls back to OpenSSL instead. Fine by me. Auto-creates user and group dovecot.
511 512
512 513
Then it broke. I think because older versions of libiconv and cyrus-sasl were already installed (by postfix). So build just the dovecot package:
513 514
... ...
@@ -726,13 +727,13 @@ Configure tinydns so prevent lame DNS lookups. This is **very important!**
726 727
^D
727 728
728 729
729
-This makes tinydns authoritative for all [RFC1918][10][?][10] addresses (private IP blocks). Setting up dnscache to consult tinydns for these IP blocks then prevents reverse-lookups being leaked to the internet.
730
+This makes tinydns authoritative for all RFC1918 addresses (private IP blocks). Setting up dnscache to consult tinydns for these IP blocks then prevents reverse-lookups being leaked to the internet.
730 731
731
-It's fine to have these globally visible because there shouldn't be any DNS records (A, AAAA, MX or whatever) for these [IPs][11][?][11] in a public auth DNS. If there are, remote clients can get information about hidden hosts.
732
+It's fine to have these globally visible because there shouldn't be any DNS records (A, AAAA, MX or whatever) for these IPs in a public auth DNS. If there are, remote clients can get information about hidden hosts.
732 733
733 734
1.
734 735
735
-Setting up dnscach to consult the auth DNS for [RFC1918][10][?][10] addresses:
736
+Setting up dnscach to consult the auth DNS for RFC1918 addresses:
736 737
Creating a file containing the IP of the auth DNS for each block:
737 738
738 739
# cd /var/service/dnscache/root/servers
... ...
@@ -745,4 +746,3 @@ Creating a file containing the IP of the auth DNS for each block:
745 746
#
746 747
747 748
[6]: http://www.section6.net/wiki/index.php/Creating_a_FreeBSD_Jail
748
- [7]: Mail
Network/Nixie.md
... ...
@@ -23,7 +23,7 @@ Make
23 23
: Acer
24 24
25 25
Model
26
-: A150 / D150 / [ZG5][5][?][5]
26
+: A150 / D150 / ZG5
27 27
28 28
Weight
29 29
: 0.99
Network/NixieApplicationSoftware.md
... ...
@@ -2,7 +2,7 @@
2 2
title: NixieApplicationSoftware
3 3
---
4 4
5
-# [ToDo][1][?][1]
5
+# ToDo
6 6
7 7
## Install
8 8
Network/NixieSystemSoftware.md
... ...
@@ -2,7 +2,7 @@
2 2
title: NixieSystemSoftware
3 3
---
4 4
5
-# [ToDo][1][?][1]
5
+# ToDo
6 6
7 7
## Partition and encrypt disks
8 8
... ...
@@ -19,7 +19,7 @@ title: NixieSystemSoftware
19 19
20 20
* cfdisk /dev/sda
21 21
22
-| Device | Flags | [PType][2][?][2] | FS | Size (MB) |
22
+| Device | Flags | PType | FS | Size (MB) |
23 23
|:------ | ----- | ---------------- | -------- | --------- |
24 24
| sda1 | boot | primary | 83 Linux | 254.99 |
25 25
| sda2 |   | primary | 82 Swap | 1793.12 |
... ...
@@ -108,31 +108,31 @@ title: NixieSystemSoftware
108 108
109 109
* Scripts installed to /etc/iptables
110 110
* Symlinks created in /etc/network/if-pre-up.d (not implemented in Ubuntu)
111
-* Script created in /[NetworkManager][4][?][4]/dispatcher.d
112
-
113
-if [ -x /usr/bin/logger ]; then
114
-        LOGGER="/usr/bin/logger -s -p daemon.info -t FirewallHandler"
115
-else
116
-        LOGGER=echo
117
-fi
118
-
119
-case "$2" in
120
-        up)
121
-                if [ ! -x /etc/iptables/iptables-start.sh ]; then
122
-                        ${LOGGER} "No script exists to set iptables rules."
123
-                        return
124
-                fi
125
-                ${LOGGER} "Restoring iptables rules"
126
-                /etc/iptables/iptables-start.sh
127
-                ;;
128
-        down)
129
-                # /etc/iptables/iptables-stop.sh
130
-                ;;
131
-        *)
132
-                ;;
133
-esac
134
-
135
-[[$[Get Code]]][5]
111
+* Script created in /NetworkManager/dispatcher.d
112
+
113
+
114
+ if [ -x /usr/bin/logger ]; then
115
+         LOGGER="/usr/bin/logger -s -p daemon.info -t FirewallHandler"
116
+ else
117
+         LOGGER=echo
118
+ fi
119
+
120
+ case "$2" in
121
+         up)
122
+                 if [ ! -x /etc/iptables/iptables-start.sh ]; then
123
+                         ${LOGGER} "No script exists to set iptables rules."
124
+                         return
125
+                 fi
126
+                 ${LOGGER} "Restoring iptables rules"
127
+                 /etc/iptables/iptables-start.sh
128
+                 ;;
129
+         down)
130
+                 # /etc/iptables/iptables-stop.sh
131
+                 ;;
132
+         *)
133
+                 ;;
134
+ esac
135
+
136 136
137 137
138 138
Network/PerimeterRouter.md
... ...
@@ -6,7 +6,7 @@ title: PerimeterRouter
6 6
7 7
* Routing
8 8
* LAN static IP assignment
9
-* Support [GeolocationTunnelling][1][?][1] (custom DNS)
9
+* Support GeolocationTunnelling (custom DNS)
10 10
* Remote logging
11 11
* Ad Blocking
12 12
Network/Pixie.md
... ...
@@ -45,18 +45,18 @@ Aeonlabs Z-Stick S2 is `/dev/ttyUSB21`, Rfxcom is `/dev/ttyUSB22`
45 45
46 46
47 47
48
-* Enable [I2C][23][?][23]
48
+* Enable I2C
49 49
* `apt-get install i2c-tools`
50 50
51 51
52 52
53 53
# Home-Assistant mysql Database
54 54
55
-CREATE DATABASE hass;
56
-GRANT ALL PRIVILEGES ON hass.* TO 'hass'@'%' WITH GRANT OPTION;
57
-FLUSH PRIVILEGES;
58 55
59
-[[$[Get Code]]][24]
56
+ CREATE DATABASE hass;
57
+ GRANT ALL PRIVILEGES ON hass.* TO 'hass'@'%' WITH GRANT OPTION;
58
+ FLUSH PRIVILEGES;
59
+
60 60
61 61
62 62
... ...
@@ -66,28 +66,28 @@ FLUSH PRIVILEGES;
66 66
67 67
68 68
69
-mysql> SET GLOBAL max\_connect\_errors=10000;
70
-mysql> flush hosts;
71 69
72
-[[$[Get Code]]][25]
70
+ mysql> SET GLOBAL max\_connect\_errors=10000;
71
+ mysql> flush hosts;
72
+
73 73
74 74
75 75
76
-# [OpenZWave][26][?][26]
76
+# OpenZWave
77 77
78 78
## Upgrading
79 79
80
-sudo su hass
81
-. /srv/hass/hass_venv/bin/activate
82
-cd /srv/hass/src/python-openzwave
83
-git pull origin
84
-cd openzwave
85
-git pull origin
86
-cd ..
87
-make build
88
-make install
89 80
90
-[[$[Get Code]]][27]
81
+ sudo su hass
82
+ . /srv/hass/hass_venv/bin/activate
83
+ cd /srv/hass/src/python-openzwave
84
+ git pull origin
85
+ cd openzwave
86
+ git pull origin
87
+ cd ..
88
+ make build
89
+ make install
90
+
91 91
92 92
93 93
... ...
@@ -95,10 +95,10 @@ make install
95 95
96 96
Using openzwave dev branch from github:
97 97
98
-. /srv/hass/hass_venv/bin/activate
99
-pip install python_openzwave --install-option="--flavor=dev" --no-deps --ignore-installed --no-cache-dir
100 98
101
-[[$[Get Code]]][28]
99
+ . /srv/hass/hass_venv/bin/activate
100
+ pip install python_openzwave --install-option="--flavor=dev" --no-deps --ignore-installed --no-cache-dir
101
+
102 102
103 103
104 104
... ...
@@ -173,10 +173,10 @@ Make nginx depend on home-assistant startup.
173 173
174 174
175 175
176
-sudo mkdir -p /etc/systemd/system/nginx.service.d
177
-sudo vim /etc/systemd/system/nginx.service.d/override.conf
178 176
179
-[[$[Get Code]]][30]
177
+ sudo mkdir -p /etc/systemd/system/nginx.service.d
178
+ sudo vim /etc/systemd/system/nginx.service.d/override.conf
179
+
180 180
181 181
Create `/etc/systemd/system/nginx.service.d/override.conf`:
182 182
... ...
@@ -187,7 +187,7 @@ Create `/etc/systemd/system/nginx.service.d/override.conf`:
187 187
188 188
189 189
190
-# Python with [PyEnv][31][?][31]
190
+# Python with PyEnv
191 191
192 192
Manage python version upgrades with pyenv.
193 193
... ...
@@ -195,28 +195,28 @@ Manage python version upgrades with pyenv.
195 195
196 196
197 197
198
-sudo apt-get install bzip2 libbz2-dev libreadline6 libreadline6-dev libffi-dev libssl1.0-dev sqlite3 libsqlite3-dev -y
199
-git clone git://github.com/yyuu/pyenv.git .pyenv
200
-echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
201
-echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
202
-echo 'eval "$(pyenv init -)"' >> ~/.bashrc
203
-. ~/.bashrc
204 198
205
-[[$[Get Code]]][32]
199
+ sudo apt-get install bzip2 libbz2-dev libreadline6 libreadline6-dev libffi-dev libssl1.0-dev sqlite3 libsqlite3-dev -y
200
+ git clone git://github.com/yyuu/pyenv.git .pyenv
201
+ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
202
+ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
203
+ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
204
+ . ~/.bashrc
205
+
206 206
207 207
System-wide install of 3.8.5:
208 208
209 209
210 210
211
-mkdir tmp
212
-sudo su  # otherwise TMPDIR doesn't affect the pyenv subshell...
213
-TMPDIR=`pwd`/tmp .pyenv/plugins/python-build/bin/python-build 3.8.5 /usr/local/python-3.8.5/
214 211
215
-[[$[Get Code]]][33]
212
+ mkdir tmp
213
+ sudo su  # otherwise TMPDIR doesn't affect the pyenv subshell...
214
+ TMPDIR=`pwd`/tmp .pyenv/plugins/python-build/bin/python-build 3.8.5 /usr/local/python-3.8.5/
215
+
216 216
217 217
218 218
219
-# [Zwave2Mqtt][34][?][34]
219
+# Zwave2Mqtt
220 220
221 221
Chose this over ozwdaemon (which requires a custom build of QT 5.12!)
222 222
... ...
@@ -226,14 +226,14 @@ Chose this over ozwdaemon (which requires a custom build of QT 5.12!)
226 226
227 227
Version 1.6+. User `pi`
228 228
229
-mkdir -p src/open-zwave
230
-git clone https://github.com/OpenZWave/open-zwave.git
231
-# tag v1.6 failed with gcc 6.3
232
-git checkout -b live master
233
-make
234
-sudo make install
235 229
236
-[[$[Get Code]]][35]
230
+ mkdir -p src/open-zwave
231
+ git clone https://github.com/OpenZWave/open-zwave.git
232
+ # tag v1.6 failed with gcc 6.3
233
+ git checkout -b live master
234
+ make
235
+ sudo make install
236
+
237 237
238 238
239 239
... ...
@@ -241,15 +241,15 @@ sudo make install
241 241
242 242
User `hass`
243 243
244
-sudo apt-get install npm
245
-# npm config set registry https://registry.npmjs.org  # unnecessary?
246
-# https://github.com/nebrius/raspi-serial/issues/8
247
-sudo npm install -g npm  # upgraded to 6.14.8, old /usr/bin/npm still 1.4.21
248
-sudo npm install -g n
249
-sudo n stable # upgraded to node v12.18.4
250
251 244
252
-[[$[Get Code]]][36]
245
+ sudo apt-get install npm
246
+ # npm config set registry https://registry.npmjs.org  # unnecessary?
247
+ # https://github.com/nebrius/raspi-serial/issues/8
248
+ sudo npm install -g npm  # upgraded to 6.14.8, old /usr/bin/npm still 1.4.21
249
+ sudo npm install -g n
250
+ sudo n stable # upgraded to node v12.18.4
251
+  
252
+
253 253
254 254
255 255
... ...
@@ -257,13 +257,13 @@ sudo n stable # upgraded to node v12.18.4
257 257
258 258
User `hass`
259 259
260
-mkdir -p src/zwave2mqtt
261
-# though actually I just pushed v4.0.3 and "live" from canard
262
-git clone https://github.com/OpenZWave/Zwave2Mqtt
263
-npm install  # takes a long time because it's freaking 571MB of stuff
264
-npm run build
265 260
266
-[[$[Get Code]]][37]
261
+ mkdir -p src/zwave2mqtt
262
+ # though actually I just pushed v4.0.3 and "live" from canard
263
+ git clone https://github.com/OpenZWave/Zwave2Mqtt
264
+ npm install  # takes a long time because it's freaking 571MB of stuff
265
+ npm run build
266
+
267 267
268 268
269 269
Network/Power.md
... ...
@@ -10,17 +10,17 @@ Devices needing backup power or surge protection
10 10
11 11
## Backup
12 12
13
-### [IEC320][1][?][1]
13
+### IEC320
14 14
15 15
* [Cyclops][2]
16 16
* Shub
17 17
* Dell [PowerConnect 2716][3]
18
-* [Summit X450e][4] [PoE][5][?][5] switch
19
- * Ubiquiti [PoE][5][?][5] [APs][6][?][6]
18
+* [Summit X450e][4] PoE switch
19
+ * Ubiquiti PoE APs
20 20
21 21
22 22
23
-### [BS1363][7][?][7]
23
+### BS1363
24 24
25 25
* [router0][8]
26 26
* D-Link USB powered hub (4G modems)
... ...
@@ -33,7 +33,7 @@ Devices needing backup power or surge protection
33 33
34 34
## No Protection
35 35
36
-* [HG612][9][?][9] VDSL modem
36
+* HG612 VDSL modem
37 37
* [Pixie][10]
38 38
* Zyxel [GS108][11] 8-port switch (8W)
39 39
... ...
@@ -74,8 +74,8 @@ At 150W
74 74
# Unprotected
75 75
76 76
* [router1][8]
77
- * [PowerInspired][12][?][12] DC backup
78
-* Media system [RPis][13][?][13]
77
+ * PowerInspired DC backup
78
+* Media system RPis
79 79
80 80
81 81
Network/PowerConnect2716.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: Dell
7 7
8 8
Model
9
-: [PowerConnect][1][?][1] 2716
9
+: PowerConnect 2716
10 10
11 11
Description
12 12
: 16-port managed gigabit switch
... ...
@@ -72,7 +72,7 @@ Replaced C2, C3
72 72
73 73
## Substitute PSU
74 74
75
-Artesyn [NLP40][3][?][3]-7605J
75
+Artesyn NLP40-7605J
76 76
77 77
78 78
... ...
@@ -88,7 +88,7 @@ Artesyn [NLP40][3][?][3]-7605J
88 88
89 89
**'2014-02-21**' Replaced C2 (100µF). Still not working.
90 90
91
-**'2014-02-22**' Purchased replacement PSU (Artesyn [NLP40][3][?][3]-7605J) from RS Components (£23)
91
+**'2014-02-22**' Purchased replacement PSU (Artesyn NLP40-7605J) from RS Components (£23)
92 92
93 93
**'2014-02-25**' Replaced C3. Fixed!
94 94
Network/RaidArray.md
... ...
@@ -10,13 +10,13 @@ Current configuration of Hastur Raid Array
10 10
11 11
| Device | Bracket | Description | Serial | Firmware | Warranty Until |
12 12
|:------ | ------- | --------------------------- | ---------------- | ----------- | ------------------- |
13
-| sdc | 1 | [DT01ACA300][1][?][1] 3TB | `84QE6EHGS TZ6 ` |   |   |
14
-| sdd | 4 | [DT01ACA300][1][?][1] 3TB | `84QDMZ9GS TZ6 ` |   |   |
15
-| sdg | 5 | [DT01ACA300][1][?][1] 3TB | `Z4V4DZVGS TZ6 ` | `AA00/BB0 ` | Scan 2017-11-04 RTB |
16
-| sde | 6 | [DT01ACA300][1][?][1] 3TB | `Z4V4TR4GS TZ6 ` | `AA00/BB0 ` | Scan 2017-11-04 RTB |
17
-| sdf | 2 | [WD30EFRX][2][?][2] 3TB | `WCC4N6PT8RHR ` | `1AN10003 ` | WD 2019-01-16 |
18
-| sdh | 7 | [HDWG460UZSVA][3][?][3] 6TB | `71A0A13QFA4H ` | `0601` | Tosh ~2025-05-01 |
19
-| sd_ | 8 | [HDWG460UZSVA][3][?][3] 6TB | `91W0A06JFA4H ` | `0601` | Tosh ~2025-05-01 |
13
+| sdc | 1 | DT01ACA300 3TB | `84QE6EHGS TZ6 ` |   |   |
14
+| sdd | 4 | DT01ACA300 3TB | `84QDMZ9GS TZ6 ` |   |   |
15
+| sdg | 5 | DT01ACA300 3TB | `Z4V4DZVGS TZ6 ` | `AA00/BB0 ` | Scan 2017-11-04 RTB |
16
+| sde | 6 | DT01ACA300 3TB | `Z4V4TR4GS TZ6 ` | `AA00/BB0 ` | Scan 2017-11-04 RTB |
17
+| sdf | 2 | WD30EFRX 3TB | `WCC4N6PT8RHR ` | `1AN10003 ` | WD 2019-01-16 |
18
+| sdh | 7 | HDWG460UZSVA 6TB | `71A0A13QFA4H ` | `0601` | Tosh ~2025-05-01 |
19
+| sd_ | 8 | HDWG460UZSVA 6TB | `91W0A06JFA4H ` | `0601` | Tosh ~2025-05-01 |
20 20
21 21
22 22
... ...
@@ -26,25 +26,25 @@ Current configuration of Hastur Raid Array
26 26
27 27
# Backup Drives
28 28
29
-| sd_ |   | [HD204UI][4][?][4] 2TB | ` S2HGJ1CZ904925 ` |   |   |
29
+| sd_ |   | HD204UI 2TB | ` S2HGJ1CZ904925 ` |   |   |
30 30
||
31
-| sd_ | backup510 | [HD501LJ][5][?][5] 500GB | ` S0MUJ1KP715582 ` |   |   |
32
-| sd_ | backup1, off-site | [HD204UI][4][?][4] 2TB |   |   |   |
31
+| sd_ | backup510 | HD501LJ 500GB | ` S0MUJ1KP715582 ` |   |   |
32
+| sd_ | backup1, off-site | HD204UI 2TB |   |   |   |
33 33
| sd_ | backup500, off-site | ?? 500GB | ?? |   |   |
34 34
| sd_ | backup300, off-site, usb | ` STBV3000200 ` 3TB | ` NA4KE2M3 ` |   |
35
-| sdh | in chassis | [HD203WI][6][?][6] 2TB | ` #S1UYJ1CZ317063 `[1][7] | ` 1AN10003 ` |   |
35
+| sdh | in chassis | HD203WI 2TB | ` #S1UYJ1CZ317063 `[1][7] | ` 1AN10003 ` |   |
36 36
37 37
38 38
39 39
# Failed Drives
40 40
41
-| sd_ | 0F | [ST3200542AS][8][?][8] 2TB | `#9XW09GDN ` |   |   |
41
+| sd_ | 0F | ST3200542AS 2TB | `#9XW09GDN ` |   |   |
42 42
||
43
-| sd_ | F | [ST3200542AS][8][?][8] 2TB | `#9XW08GNB ` |   |   |
44
-| sd_ | F | [ST3000DM001][9][?][9] 3TB | `#Z1F1K11M ` | Dead |   |
45
-| sd_ | 6F | [ST3000DM001][9][?][9] 3TB | `#W1F1PG24 ` | Dead |   |
46
-| sd_ | F | [HD203WI][6][?][6] 2TB | `S1UYJ1CZ317052 ` | `1AN10002 ` |   |
47
-| sd_ |   | [WD30EFRX][2][?][2] 3TB | `WCC4N6SXZRHD ` | `1AN10003 ` | 2021-12-01 |
43
+| sd_ | F | ST3200542AS 2TB | `#9XW08GNB ` |   |   |
44
+| sd_ | F | ST3000DM001 3TB | `#Z1F1K11M ` | Dead |   |
45
+| sd_ | 6F | ST3000DM001 3TB | `#W1F1PG24 ` | Dead |   |
46
+| sd_ | F | HD203WI 2TB | `S1UYJ1CZ317052 ` | `1AN10002 ` |   |
47
+| sd_ |   | WD30EFRX 3TB | `WCC4N6SXZRHD ` | `1AN10003 ` | 2021-12-01 |
48 48
49 49
50 50
... ...
@@ -74,11 +74,11 @@ smartctl -l scterc,70,70 /dev/sdX
74 74
75 75
76 76
77
-mdadm --remove /dev/md6 /dev/sdX   # remove failed disk
78
-mdadm --add /dev/md6 /dev/sdX  # add replacement disk
79
-sysctl dev.raid.speed\_limit\_max=51200  # limit speed to ~50MB/sec
80 77
81
-[[$[Get Code]]][12]
78
+ mdadm --remove /dev/md6 /dev/sdX   # remove failed disk
79
+ mdadm --add /dev/md6 /dev/sdX  # add replacement disk
80
+ sysctl dev.raid.speed\_limit\_max=51200  # limit speed to ~50MB/sec
81
+
82 82
83 83
84 84
... ...
@@ -88,8 +88,9 @@ sysctl dev.raid.speed\_limit\_max=51200  # limit speed to ~50MB/sec
88 88
89 89
# Log
90 90
91
+
91 92
**2013-12-10**: Removed failed 2TB sde. Replaced with 500GB backup.
92
-**2014-03-20**: Moved backup [HD204UI][4][?][4] into array in place of shrunken [HD203WI][6][?][6]
93
+**2014-03-20**: Moved backup HD204UI into array in place of shrunken HD203WI
93 94
**2014-07-02**: Errors on sde (9XW...). 108 sectors newly reallocated
94 95
**2015-11-06**: Two more Tosh 3TB to replace dead Seagate 3TB
95 96
**2021-12-01**: One WD 3TB failed
... ...
@@ -98,4 +99,3 @@ sysctl dev.raid.speed\_limit\_max=51200  # limit speed to ~50MB/sec
98 99
[7]: #fn2_1
99 100
[10]: https://myapps.taec.toshiba.com/myapps/admin/jsp/webrma/addRequest1NoLogin.jsp?Action=NEW
100 101
[11]: RaidArray?action=sourceblock&num=1
101
- [12]: RaidArray?action=sourceblock&num=2
... ...
\ No newline at end of file
Network/Reboot.md
... ...
@@ -20,7 +20,7 @@ Cause
20 20
: Node boots before [Perimeter Router][1] DNS service is ready.
21 21
22 22
Further Causes
23
-: [OpenWRT][2][?][2] dnsmasq leases file is scrubbed by a reboot. Network nodes typically resume the lease they held before the power failure. Since dnsmasq has no record of the lease it cannot resolve the hostname.
23
+: OpenWRT dnsmasq leases file is scrubbed by a reboot. Network nodes typically resume the lease they held before the power failure. Since dnsmasq has no record of the lease it cannot resolve the hostname.
24 24
25 25
Fix
26 26
: Create barebones `/etc/network/interfaces` and `ifup` it.
Network/RecentChanges.md
... ...
@@ -2,93 +2,93 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [RaidArray][1] . . . 10 May 2022, at 10:41 AM UTC by [Gnome][2][?][2]: 6TB 71A is sdh
6
-* [HasturRaidUpgradePath][3] . . . 10 May 2022, at 10:28 AM UTC by [Gnome][2][?][2]:
7
-* [HasturRaidArray][4] . . . 06 May 2022, at 03:44 PM UTC by [Gnome][2][?][2]: move to Network.RaidArray and redirect
8
-* [Pixie][5] . . . 25 August 2021, at 01:18 PM UTC by [Gnome][2][?][2]: pyenv as root
9
-* [Canard][6] . . . 01 June 2021, at 03:23 PM UTC by [Gnome][2][?][2]: battery
10
-* [CanardSystemSoftware][7] . . . 13 February 2021, at 12:52 PM UTC by [Gnome][2][?][2]: current cpu freq driver and governor
11
-* [CyclopsSystemSoftware][8] . . . 08 November 2020, at 07:06 PM UTC by [Gnome][2][?][2]: quotes
12
-* [WDR3600][9] . . . 24 July 2020, at 02:27 PM UTC by [Gnome][2][?][2]: grammar
13
-* [Power][10] . . . 15 June 2020, at 04:49 PM UTC by [Gnome][2][?][2]:
14
-* [CyclopsApplicationSoftware][11] . . . 26 August 2019, at 10:59 PM UTC by [Gnome][2][?][2]: Fix postfix config
15
-* [CyclopsSoftware][12] . . . 26 August 2019, at 10:58 PM UTC by [Gnome][2][?][2]: redirect back to Cyclops
16
-* [CanardApplicationSoftware][13] . . . 25 July 2018, at 06:45 PM UTC by [Gnome][2][?][2]: openvpn-update-systemd-resolved
17
-* [Shochu][14] . . . 10 July 2018, at 06:54 PM UTC by [Gnome][2][?][2]: disk setup
18
-* [CyclopsHardware][15] . . . 03 April 2018, at 06:18 PM UTC by [Gnome][2][?][2]: actually has 32GB RAM now
19
-* [ShochuSystemSoftware][16] . . . 10 January 2018, at 04:58 PM UTC by [Gnome][2][?][2]: disable per-tty sudo authentication
20
-* [ShochuApplicationSoftware][17] . . . 16 December 2017, at 03:50 PM UTC by [Gnome][2][?][2]: wrong script
21
-* [LetsEncrypt][18] . . . 02 September 2017, at 05:30 PM UTC by [Gnome][2][?][2]:
22
-* [Network][19] . . . 23 August 2017, at 04:30 PM UTC by [Gnome][2][?][2]: link Cyclops
23
-* [HasturReplacement][20] . . . 18 August 2017, at 12:58 PM UTC by [Gnome][2][?][2]: cyclops
24
-* [DNS][21] . . . 18 August 2017, at 10:49 AM UTC by [Gnome][2][?][2]: srv records for gtalk
25
-* [Cyclops][22] . . . 17 August 2017, at 11:20 PM UTC by [Gnome][2][?][2]: cyclops pages
26
-* [Hastur][23] . . . 07 August 2017, at 12:18 PM UTC by [Gnome][2][?][2]:
27
-* [HasturHardware][24] . . . 07 July 2017, at 11:15 PM UTC by [Gnome][2][?][2]: link HasturReplacement
28
-* [VideoSurveillance][25] . . . 30 June 2017, at 11:15 AM UTC by [Gnome][2][?][2]: Dahua IPC-HFW5231E-Z12
29
-* [Yuggoth][26] . . . 07 June 2017, at 12:15 PM UTC by [Gnome][2][?][2]:
30
-* [Upgrade2017][27] . . . 27 March 2017, at 02:54 PM UTC by [Gnome][2][?][2]: redirect
31
-* [Upgrade2016][28] . . . 27 March 2017, at 02:53 PM UTC by [Gnome][2][?][2]:
32
-* [HasturSoftware][29] . . . 20 March 2017, at 08:20 PM UTC by [Gnome][2][?][2]: samba auth bug and workaround
33
-* [Monitoring][30] . . . 13 March 2017, at 11:22 AM UTC by [Gnome][2][?][2]: influx, telegraf and grafana
34
-* [CliMateCM-2][31] . . . 17 February 2017, at 02:17 PM UTC by [Gnome][2][?][2]: details
35
-* [UnifiAP][32] . . . 14 February 2017, at 01:29 AM UTC by [Gnome][2][?][2]: udp
36
-* [SummitX450e][33] . . . 13 February 2017, at 11:39 PM UTC by [Gnome][2][?][2]: upgrade procedure
37
-* [HomeAutomation][34] . . . 11 February 2017, at 06:27 PM UTC by [Gnome][2][?][2]: link to fix ssr302 for direct control
38
-* [EclipseEco1200][35] . . . 07 January 2017, at 01:23 PM UTC by [Gnome][2][?][2]: details
39
-* [VPN][36] . . . 21 November 2016, at 06:03 PM UTC by [Gnome][2][?][2]: NordVPN
40
-* [WAP4410N][37] . . . 11 September 2016, at 07:17 PM UTC by [Gnome][2][?][2]: firmware upgrade
41
-* [Ricoh213W][38] . . . 10 September 2016, at 02:10 PM UTC by [Gnome][2][?][2]: default access code
42
-* [IndoorPositioning][39] . . . 07 June 2016, at 03:46 PM UTC by [Gnome][2][?][2]: beacons
43
-* [MobileRouter][40] . . . 25 April 2016, at 11:10 AM UTC by [Gnome][2][?][2]: Update mobile data offers
44
-* [Authentication][41] . . . 19 April 2016, at 03:34 PM UTC by [Gnome][2][?][2]: Solutions
45
-* [HasturRaidUpgrade2][42] . . . 02 March 2016, at 02:12 PM UTC by [Gnome][2][?][2]: restore
46
-* [HasturRaidUpgrade3][43] . . . 02 March 2016, at 02:06 PM UTC by [Gnome][2][?][2]: Oops. Edited the wrong page.
47
-* [Reboot][44] . . . 19 November 2015, at 01:43 PM UTC by [Gnome][2][?][2]: Cannot resolve address of media node
48
-* [PerimeterRouter][45] . . . 08 November 2015, at 06:32 PM UTC by [Gnome][2][?][2]: link WDR3600, adblock
49
-* [ArchixSystemSoftware][46] . . . 15 September 2015, at 03:24 PM UTC by [Gnome][2][?][2]: set correct partition for linux kernel boot
50
-* [WanBonding][47] . . . 28 July 2015, at 03:48 PM UTC by [Gnome][2][?][2]: Xen bonding
51
-* [SNMP][48] . . . 30 June 2015, at 01:27 PM UTC by [Gnome][2][?][2]: remove obsolete Clients info
52
-* [AutomationHub][49] . . . 19 March 2015, at 07:52 PM UTC by [Gnome][2][?][2]: link to Pixie
53
-* [ArchixApplicationSoftware][50] . . . 25 September 2014, at 05:47 PM UTC by [Gnome][2][?][2]: disable tapping
54
-* [Stella][51][?][51] . . . 24 August 2014, at 04:09 PM UTC by [Gnome][2][?][2]:
55
-* [Archix][52] . . . 24 June 2014, at 01:16 PM UTC by [Gnome][2][?][2]: rename to Archix
56
-* [Nixie][53] . . . 03 June 2014, at 02:08 PM UTC by [Gnome][2][?][2]: link Netbook
57
-* [PLA5205][54] . . . 24 May 2014, at 12:09 AM UTC by [Gnome][2][?][2]: PLA5205
58
-* [GS108][55] . . . 22 May 2014, at 10:31 PM UTC by [Gnome][2][?][2]: details. Link Zyxel PLA5205
59
-* [WRT54GL][56] . . . 02 May 2014, at 11:19 AM UTC by [Gnome][2][?][2]: Replaced by WDR-3600
60
-* [Web][57] . . . 23 April 2014, at 04:54 PM SAST by [Gnome][2][?][2]: Mezzanine Grapelli
61
-* [GeolocationTunneling][58] . . . 06 March 2014, at 02:23 PM UTC by [Gnome][2][?][2]: dns tunnel
62
-* [LogServer][59] . . . 06 March 2014, at 02:12 PM UTC by [Gnome][2][?][2]: link SNMP
63
-* [PowerConnect2716][60] . . . 25 February 2014, at 12:35 AM UTC by [Gnome][2][?][2]: Fixed Dell PowerConnect 2716
64
-* [DGS-1008D][61] . . . 04 February 2014, at 05:43 PM UTC by [Gnome][2][?][2]: Another blown power supply
65
-* [HasturSystemSoftware][62] . . . 23 November 2013, at 05:38 PM UTC by [Gnome][2][?][2]: Post-upgrade fix rsyslog and cacti
66
-* [NixieSystemSoftware][63] . . . 25 October 2013, at 02:38 AM UTC by [Gnome][2][?][2]: iptables
67
-* [Speedtouch516][64] . . . 21 October 2013, at 12:02 AM UTC by [Gnome][2][?][2]: pptp-to-pppoa
68
-* [DG834GT][65] . . . 11 September 2012, at 08:14 PM GMT by [Gnome][2][?][2]: switch to channel 7 for macbooks
69
-* [SpeedtouchUpgrade][66] . . . 23 April 2012, at 01:17 PM GMT by [Gnome][2][?][2]: Format 716 reset attribution
70
-* [IPv6][67] . . . 10 April 2012, at 08:26 PM GMT by [Gnome][2][?][2]: fix Home links
71
-* [Proto41Filtering][68] . . . 16 December 2010, at 04:57 PM GMT by [Gnome][2][?][2]: fix link
72
-* [Home][69][?][69] . . . 16 December 2010, at 01:06 PM GMT by [Gnome][2][?][2]: proto 41 filtering
73
-* [HasturRaidUpgrade][70] . . . 12 November 2010, at 02:17 PM GMT by [Gnome][2][?][2]: ext4 stride and stripe calculator link
74
-* [StorageServer][71] . . . 18 May 2010, at 03:21 PM GMT by [Gnome][2][?][2]: ext4, reformat
75
-* [PPTP][72] . . . 29 January 2010, at 11:17 PM GMT by [Gnome][2][?][2]: troubleshooting links
76
-* [BandwidthManagement][73] . . . 25 January 2010, at 02:14 PM GMT by [Gnome][2][?][2]: qos
77
-* [NixieApplicationSoftware][74] . . . 25 September 2009, at 11:02 AM GMT by [Gnome][2][?][2]:
78
-* [HasturRaidConfiguration][75] . . . 13 September 2009, at 06:56 PM GMT by [Gnome][2][?][2]: update after recovery again
79
-* [HasturRaidRecovery][76] . . . 13 September 2009, at 06:53 PM GMT by [Gnome][2][?][2]: force assemble would work but require an array rebuild
80
-* [HasturAtaFailures][77] . . . 10 July 2009, at 10:16 AM GMT by [Gnome][2][?][2]: link HasturRaidRecovery
81
-* [ADSLModem][78] . . . 11 May 2009, at 01:00 PM GMT by [Gnome][2][?][2]: formatting
82
-* [Storageserver][79][?][79] . . . 06 September 2008, at 04:12 PM GMT by [uynowmm][80][?][80]: UjAWMGqPqJqoidel
83
-* [StorageServerActionEdit][81][?][81] . . . 21 March 2008, at 03:28 PM GMT by [zznaoglmsn][82][?][82]: ccLXAQGsZbeEfPmKgwT
84
-* [HTPC][83] . . . 21 May 2007, at 02:46 PM GMT by [Gnome][2][?][2]: moved to HomeTheatre.FrontEnd
85
-* [SAN][84] . . . 16 May 2007, at 04:05 PM GMT by [Gnome][2][?][2]: heh, no IPv6 if it's ATAoE, fool...
86
-* [MediaTranscoder][85] . . . 27 December 2006, at 11:49 AM GMT by [Gnome][2][?][2]: added transcoding options
87
-* [LDAP][86] . . . 30 September 2006, at 07:22 PM GMT by [Gnome][2][?][2]: address book per user
88
-* [Azathoth][87] . . . 12 September 2006, at 11:38 PM GMT by [Gnome][2][?][2]: fix motherboard specs
89
-* [Niggurath][88] . . . 28 April 2006, at 03:16 PM UTC by [Gnome][2][?][2]: enable saslauthd at boot
90
-* [Mail][89] . . . 21 April 2006, at 09:13 PM UTC by [Gnome][2][?][2]: courier-imap depends on perl
91
-* [Security][90] . . . 19 April 2006, at 12:58 AM UTC by [Gnome][2][?][2]: added Two-Factor
5
+* [RaidArray][1] . . . 10 May 2022, at 10:41 AM UTC by Gnome: 6TB 71A is sdh
6
+* [HasturRaidUpgradePath][3] . . . 10 May 2022, at 10:28 AM UTC by Gnome:
7
+* [HasturRaidArray][4] . . . 06 May 2022, at 03:44 PM UTC by Gnome: move to Network.RaidArray and redirect
8
+* [Pixie][5] . . . 25 August 2021, at 01:18 PM UTC by Gnome: pyenv as root
9
+* [Canard][6] . . . 01 June 2021, at 03:23 PM UTC by Gnome: battery
10
+* [CanardSystemSoftware][7] . . . 13 February 2021, at 12:52 PM UTC by Gnome: current cpu freq driver and governor
11
+* [CyclopsSystemSoftware][8] . . . 08 November 2020, at 07:06 PM UTC by Gnome: quotes
12
+* [WDR3600][9] . . . 24 July 2020, at 02:27 PM UTC by Gnome: grammar
13
+* [Power][10] . . . 15 June 2020, at 04:49 PM UTC by Gnome:
14
+* [CyclopsApplicationSoftware][11] . . . 26 August 2019, at 10:59 PM UTC by Gnome: Fix postfix config
15
+* [CyclopsSoftware][12] . . . 26 August 2019, at 10:58 PM UTC by Gnome: redirect back to Cyclops
16
+* [CanardApplicationSoftware][13] . . . 25 July 2018, at 06:45 PM UTC by Gnome: openvpn-update-systemd-resolved
17
+* [Shochu][14] . . . 10 July 2018, at 06:54 PM UTC by Gnome: disk setup
18
+* [CyclopsHardware][15] . . . 03 April 2018, at 06:18 PM UTC by Gnome: actually has 32GB RAM now
19
+* [ShochuSystemSoftware][16] . . . 10 January 2018, at 04:58 PM UTC by Gnome: disable per-tty sudo authentication
20
+* [ShochuApplicationSoftware][17] . . . 16 December 2017, at 03:50 PM UTC by Gnome: wrong script
21
+* [LetsEncrypt][18] . . . 02 September 2017, at 05:30 PM UTC by Gnome:
22
+* [Network][19] . . . 23 August 2017, at 04:30 PM UTC by Gnome: link Cyclops
23
+* [HasturReplacement][20] . . . 18 August 2017, at 12:58 PM UTC by Gnome: cyclops
24
+* [DNS][21] . . . 18 August 2017, at 10:49 AM UTC by Gnome: srv records for gtalk
25
+* [Cyclops][22] . . . 17 August 2017, at 11:20 PM UTC by Gnome: cyclops pages
26
+* [Hastur][23] . . . 07 August 2017, at 12:18 PM UTC by Gnome:
27
+* [HasturHardware][24] . . . 07 July 2017, at 11:15 PM UTC by Gnome: link HasturReplacement
28
+* [VideoSurveillance][25] . . . 30 June 2017, at 11:15 AM UTC by Gnome: Dahua IPC-HFW5231E-Z12
29
+* [Yuggoth][26] . . . 07 June 2017, at 12:15 PM UTC by Gnome:
30
+* [Upgrade2017][27] . . . 27 March 2017, at 02:54 PM UTC by Gnome: redirect
31
+* [Upgrade2016][28] . . . 27 March 2017, at 02:53 PM UTC by Gnome:
32
+* [HasturSoftware][29] . . . 20 March 2017, at 08:20 PM UTC by Gnome: samba auth bug and workaround
33
+* [Monitoring][30] . . . 13 March 2017, at 11:22 AM UTC by Gnome: influx, telegraf and grafana
34
+* [CliMateCM-2][31] . . . 17 February 2017, at 02:17 PM UTC by Gnome: details
35
+* [UnifiAP][32] . . . 14 February 2017, at 01:29 AM UTC by Gnome: udp
36
+* [SummitX450e][33] . . . 13 February 2017, at 11:39 PM UTC by Gnome: upgrade procedure
37
+* [HomeAutomation][34] . . . 11 February 2017, at 06:27 PM UTC by Gnome: link to fix ssr302 for direct control
38
+* [EclipseEco1200][35] . . . 07 January 2017, at 01:23 PM UTC by Gnome: details
39
+* [VPN][36] . . . 21 November 2016, at 06:03 PM UTC by Gnome: NordVPN
40
+* [WAP4410N][37] . . . 11 September 2016, at 07:17 PM UTC by Gnome: firmware upgrade
41
+* [Ricoh213W][38] . . . 10 September 2016, at 02:10 PM UTC by Gnome: default access code
42
+* [IndoorPositioning][39] . . . 07 June 2016, at 03:46 PM UTC by Gnome: beacons
43
+* [MobileRouter][40] . . . 25 April 2016, at 11:10 AM UTC by Gnome: Update mobile data offers
44
+* [Authentication][41] . . . 19 April 2016, at 03:34 PM UTC by Gnome: Solutions
45
+* [HasturRaidUpgrade2][42] . . . 02 March 2016, at 02:12 PM UTC by Gnome: restore
46
+* [HasturRaidUpgrade3][43] . . . 02 March 2016, at 02:06 PM UTC by Gnome: Oops. Edited the wrong page.
47
+* [Reboot][44] . . . 19 November 2015, at 01:43 PM UTC by Gnome: Cannot resolve address of media node
48
+* [PerimeterRouter][45] . . . 08 November 2015, at 06:32 PM UTC by Gnome: link WDR3600, adblock
49
+* [ArchixSystemSoftware][46] . . . 15 September 2015, at 03:24 PM UTC by Gnome: set correct partition for linux kernel boot
50
+* [WanBonding][47] . . . 28 July 2015, at 03:48 PM UTC by Gnome: Xen bonding
51
+* [SNMP][48] . . . 30 June 2015, at 01:27 PM UTC by Gnome: remove obsolete Clients info
52
+* [AutomationHub][49] . . . 19 March 2015, at 07:52 PM UTC by Gnome: link to Pixie
53
+* [ArchixApplicationSoftware][50] . . . 25 September 2014, at 05:47 PM UTC by Gnome: disable tapping
54
+* Stella . . . 24 August 2014, at 04:09 PM UTC by Gnome:
55
+* [Archix][52] . . . 24 June 2014, at 01:16 PM UTC by Gnome: rename to Archix
56
+* [Nixie][53] . . . 03 June 2014, at 02:08 PM UTC by Gnome: link Netbook
57
+* [PLA5205][54] . . . 24 May 2014, at 12:09 AM UTC by Gnome: PLA5205
58
+* [GS108][55] . . . 22 May 2014, at 10:31 PM UTC by Gnome: details. Link Zyxel PLA5205
59
+* [WRT54GL][56] . . . 02 May 2014, at 11:19 AM UTC by Gnome: Replaced by WDR-3600
60
+* [Web][57] . . . 23 April 2014, at 04:54 PM SAST by Gnome: Mezzanine Grapelli
61
+* [GeolocationTunneling][58] . . . 06 March 2014, at 02:23 PM UTC by Gnome: dns tunnel
62
+* [LogServer][59] . . . 06 March 2014, at 02:12 PM UTC by Gnome: link SNMP
63
+* [PowerConnect2716][60] . . . 25 February 2014, at 12:35 AM UTC by Gnome: Fixed Dell PowerConnect 2716
64
+* [DGS-1008D][61] . . . 04 February 2014, at 05:43 PM UTC by Gnome: Another blown power supply
65
+* [HasturSystemSoftware][62] . . . 23 November 2013, at 05:38 PM UTC by Gnome: Post-upgrade fix rsyslog and cacti
66
+* [NixieSystemSoftware][63] . . . 25 October 2013, at 02:38 AM UTC by Gnome: iptables
67
+* [Speedtouch516][64] . . . 21 October 2013, at 12:02 AM UTC by Gnome: pptp-to-pppoa
68
+* [DG834GT][65] . . . 11 September 2012, at 08:14 PM GMT by Gnome: switch to channel 7 for macbooks
69
+* [SpeedtouchUpgrade][66] . . . 23 April 2012, at 01:17 PM GMT by Gnome: Format 716 reset attribution
70
+* [IPv6][67] . . . 10 April 2012, at 08:26 PM GMT by Gnome: fix Home links
71
+* [Proto41Filtering][68] . . . 16 December 2010, at 04:57 PM GMT by Gnome: fix link
72
+* Home . . . 16 December 2010, at 01:06 PM GMT by Gnome: proto 41 filtering
73
+* [HasturRaidUpgrade][70] . . . 12 November 2010, at 02:17 PM GMT by Gnome: ext4 stride and stripe calculator link
74
+* [StorageServer][71] . . . 18 May 2010, at 03:21 PM GMT by Gnome: ext4, reformat
75
+* [PPTP][72] . . . 29 January 2010, at 11:17 PM GMT by Gnome: troubleshooting links
76
+* [BandwidthManagement][73] . . . 25 January 2010, at 02:14 PM GMT by Gnome: qos
77
+* [NixieApplicationSoftware][74] . . . 25 September 2009, at 11:02 AM GMT by Gnome:
78
+* [HasturRaidConfiguration][75] . . . 13 September 2009, at 06:56 PM GMT by Gnome: update after recovery again
79
+* [HasturRaidRecovery][76] . . . 13 September 2009, at 06:53 PM GMT by Gnome: force assemble would work but require an array rebuild
80
+* [HasturAtaFailures][77] . . . 10 July 2009, at 10:16 AM GMT by Gnome: link HasturRaidRecovery
81
+* [ADSLModem][78] . . . 11 May 2009, at 01:00 PM GMT by Gnome: formatting
82
+* Storageserver . . . 06 September 2008, at 04:12 PM GMT by uynowmm: UjAWMGqPqJqoidel
83
+* StorageServerActionEdit . . . 21 March 2008, at 03:28 PM GMT by zznaoglmsn: ccLXAQGsZbeEfPmKgwT
84
+* [HTPC][83] . . . 21 May 2007, at 02:46 PM GMT by Gnome: moved to HomeTheatre.FrontEnd
85
+* [SAN][84] . . . 16 May 2007, at 04:05 PM GMT by Gnome: heh, no IPv6 if it's ATAoE, fool...
86
+* [MediaTranscoder][85] . . . 27 December 2006, at 11:49 AM GMT by Gnome: added transcoding options
87
+* [LDAP][86] . . . 30 September 2006, at 07:22 PM GMT by Gnome: address book per user
88
+* [Azathoth][87] . . . 12 September 2006, at 11:38 PM GMT by Gnome: fix motherboard specs
89
+* [Niggurath][88] . . . 28 April 2006, at 03:16 PM UTC by Gnome: enable saslauthd at boot
90
+* [Mail][89] . . . 21 April 2006, at 09:13 PM UTC by Gnome: courier-imap depends on perl
91
+* [Security][90] . . . 19 April 2006, at 12:58 AM UTC by Gnome: added Two-Factor
92 92
93 93
[1]: RaidArray
94 94
[3]: HasturRaidUpgradePath
Network/SAN.md
... ...
@@ -8,7 +8,7 @@ Storage Area Network implemented as ATA over Ethernet VLAN alongside an [IPv6][1
8 8
9 9
## Features
10 10
11
-* [ATAoE][2][?][2]
11
+* ATAoE
12 12
* [IPv6][1]
13 13
* Jumbo frames
14 14
... ...
@@ -17,8 +17,8 @@ Storage Area Network implemented as ATA over Ethernet VLAN alongside an [IPv6][1
17 17
## Requirements
18 18
19 19
* Managed Switch
20
-* Jumbo frames capable [NICs][3][?][3]
21
-* 802.1Q (VLAN tagging) capable [NICs][3][?][3]
20
+* Jumbo frames capable NICs
21
+* 802.1Q (VLAN tagging) capable NICs
22 22
23 23
24 24
Network/SNMP.md
... ...
@@ -4,9 +4,9 @@ title: SNMP
4 4
5 5
# Daemons
6 6
7
-## [OpenWRT][1][?][1]
7
+## OpenWRT
8 8
9
-* mini-snmpd ([OpenWrt][2][?][2] 8.09.2)
9
+* mini-snmpd (OpenWrt 8.09.2)
10 10
11 11
12 12
Network/Security.md
... ...
@@ -12,7 +12,7 @@ Mail submission?
12 12
13 13
* SMTP-AUTH - TLS
14 14
15
-Alternatively no remote access to [POP3][1][?][1]
15
+Alternatively no remote access to POP3
16 16
Access from VPN. Or SSH tunnel.
17 17
18 18
Initially remote access with TLS and 1-factor auth.
... ...
@@ -26,7 +26,7 @@ Close off and separate IMAP/POP server once VPN in place.
26 26
27 27
or try: <http://www.cacert.org/>
28 28
29
-* Create certs for use by Postfix, Dovecot, [SquirrelMail][2][?][2]
29
+* Create certs for use by Postfix, Dovecot, SquirrelMail
30 30
31 31
**Can the same CA cert be used to sign all service certs?**
32 32
... ...
@@ -34,6 +34,7 @@ Should do. domain should only need to match exactly for the service certs. The C
34 34
35 35
**Can a single server be used for mail & https authentication?**
36 36
37
+
37 38
SASL can probably be configured to delegate to a single server
38 39
<http://www.openinput.com/auth-howto/>
39 40
... ...
@@ -46,4 +47,3 @@ SASL can probably be configured to delegate to a single server
46 47
<http://www.aladdin.com>
47 48
Suitable for system login and SSL?
48 49
Requires client software?
49
-
Network/Shochu.md
... ...
@@ -26,7 +26,7 @@ Make
26 26
: Toshiba
27 27
28 28
Model
29
-: [CB35][6][?][6]-C3300
29
+: CB35-C3300
30 30
31 31
CPU
32 32
: Intel Celeron 3215U
... ...
@@ -66,13 +66,13 @@ Delivered
66 66
67 67
68 68
69
-# [GalliumOS][8][?][8] install
69
+# GalliumOS install
70 70
71 71
## Prep
72 72
73 73
* Developer Mode
74 74
75
-## [SeaBIOS][9][?][9]
75
+## SeaBIOS
76 76
77 77
* Flashed Legacy bios from johnlewis.ie
78 78
... ...
@@ -108,14 +108,14 @@ FIXED.
108 108
`/usr/lib/dbus-1.0/dbus-daemon-launch-helper`
109 109
110 110
chrx@chrx:/$ ls -l /usr/lib/dbus-1.0/dbus-daemon-launch-helper
111
--rwsr-xr-- 1 root 201 302704 Mar 31  2015 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
112
-# wrong group permissions! non-existent group 201
113
-# correct group
114
-sudo chgrp messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
115
-# reapply SUID
116
-sudo chmod 04754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
117 111
118
-[[$[Get Code]]][11]
112
+ -rwsr-xr-- 1 root 201 302704 Mar 31  2015 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
113
+ # wrong group permissions! non-existent group 201
114
+ # correct group
115
+ sudo chgrp messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
116
+ # reapply SUID
117
+ sudo chmod 04754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
118
+
119 119
120 120
121 121
... ...
@@ -123,7 +123,7 @@ sudo chmod 04754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
123 123
124 124
## SSD Upgrade
125 125
126
-[MyDigitalSSD][12][?][12]
126
+MyDigitalSSD
127 127
: [TheSSDReview][13], [AnandTech][14]
128 128
129 129
Kingmax
... ...
@@ -136,11 +136,11 @@ Adata
136 136
137 137
| Make | Model | Price | Capacity | Read/Write | R-Seq | W-Seq | R-512 | W-512 | R-4k | W-4k | R-4k-q32 | W-4k-q32 | AVG | Features | Warranty | Power Idle/Active |
138 138
|:------------------------- | ---------------------------------------- | ----- | -------- | ---------- | ----- | ----- | ----- | ----- | ---- | ---- | -------- | -------- | ------- | -------------------------------------- | -------- | ----------------- |
139
-| [MyDigitalSSD][12][?][12] | [MDM242][17][?][17]-[SC2][18][?][18]-128 | 52.20 | 128 | 530/430 | 531 | 185 | 319 | 155 | 39 | 76 | 139 | 104 | 193.5 | SMART, [ECC24][19][?][19], SPO | 3y | 0.5/0.9 |
139
+| MyDigitalSSD | MDM242-SC2-128 | 52.20 | 128 | 530/430 | 531 | 185 | 319 | 155 | 39 | 76 | 139 | 104 | 193.5 | SMART, ECC24, SPO | 3y | 0.5/0.9 |
140 140
| ZTE |   |   | 128 | 550/490 |   |   |   |   |   |   |   |   |   | TRIM, SMART | 3y |   |
141
-| Adata | [ASP600NS34][20][?][20]-128GM-C | 59.99 | 128 | 550/320 | 465 | 144 |   |   | 31 | 94 | 279 | 144 | 192.83 | SMART, TRIM, [ECC72][21][?][21], SLEEP | 3y |   |
141
+| Adata | ASP600NS34-128GM-C | 59.99 | 128 | 550/320 | 465 | 144 |   |   | 31 | 94 | 279 | 144 | 192.83 | SMART, TRIM, ECC72, SLEEP | 3y |   |
142 142
| Transcend |   | 55.49 | 128 | 550/460 | 491 | 296 | 222 | 66 | 12 | 48 | 222 | 66 | 177.875 | SMART, TRIM, SLEEP, NCQ, ECC, SPO | 3y |   |
143
-| Adata | [ASP900NS34][22][?][22]-128GM-C | ?? | 128 | 550/530 | 469 | 266 |   |   | 19 | 79 | 100 | 231 | 194 |   |   | 4.7/0.6 |
143
+| Adata | ASP900NS34-128GM-C | ?? | 128 | 550/530 | 469 | 266 |   |   | 19 | 79 | 100 | 231 | 194 |   |   | 4.7/0.6 |
144 144
145 145
146 146
... ...
@@ -151,7 +151,7 @@ Doused in water on 29 June 2018. Laptop is working but charging circuit seems to
151 151
152 152
153 153
Purchased
154
-: Dell XPS 13 9370, i7-8550, 16GB RAM, 512GB [NVMe][23][?][23] refurb for £1186
154
+: Dell XPS 13 9370, i7-8550, 16GB RAM, 512GB NVMe refurb for £1186
155 155
156 156
Delivery
157 157
: 2018-07-10
... ...
@@ -165,8 +165,8 @@ Delivery
165 165
| Google | Pixelbook | 1000? |   |   |   |   |
166 166
| Dell | XPS 13 9370 | 1198 | i7-8550 | 8GB | 256GB |   |
167 167
| Dell | XPS 13 9370 | 1398 | i7-8550 | 16GB | 512GB |   |
168
-| Razer | Blade Stealth | [£1500][24] | i7-8550 | 16GB | 256GB [NVMe][23][?][23] |   |
169
-| Lenovo | Thinkpad L380 | [£780][25] | i5-8250 | 8GB | 256GB [NVMe][23][?][23] |   |
168
+| Razer | Blade Stealth | [£1500][24] | i7-8550 | 16GB | 256GB NVMe |   |
169
+| Lenovo | Thinkpad L380 | [£780][25] | i5-8250 | 8GB | 256GB NVMe |   |
170 170
| Entroware | Apollo 2018 | 870 | i5-8250 | 16GB | 250GB | US kb |
171 171
| Tuxedo | Infinity Book | 864 | i5-8250 | 16GB | 250GB |   |
172 172
| Juno | Jupiter | 734 | i5-8250 | 16GB | sata 128GB |   |
... ...
@@ -185,7 +185,7 @@ Make
185 185
: Dell
186 186
187 187
Model
188
-: [XPS13][26][?][26] 9370
188
+: XPS13 9370
189 189
190 190
Screen
191 191
: 13.3" 1080p
... ...
@@ -194,10 +194,10 @@ CPU
194 194
: i7-8550 @ 1.8GHz Kabylake
195 195
196 196
RAM
197
-: 16GB [LPDDR3][27][?][27] 2133MHz
197
+: 16GB LPDDR3 2133MHz
198 198
199 199
Storage
200
-: 512GB [NVMe][23][?][23] (28IS101YT3ZQ)
200
+: 512GB NVMe (28IS101YT3ZQ)
201 201
202 202
Graphics
203 203
:
Network/ShochuApplicationSoftware.md
... ...
@@ -6,27 +6,28 @@ title: ShochuApplicationSoftware
6 6
7 7
Replace `xscreensaver` with `i3lock`
8 8
9
-[XFCE4][1][?][1] uses `/usr/bin/xflock4` to select the screensaver. Uninstall `xscreensaver` so we can override it.
9
+XFCE4 uses `/usr/bin/xflock4` to select the screensaver. Uninstall `xscreensaver` so we can override it.
10 10
11 11
12 12
13
-# Remove xscreensaver
14
-sudo dpkg -r --force-depends xscreensaver
15 13
16
-[[$[Get Code]]][2]
14
+ # Remove xscreensaver
15
+ sudo dpkg -r --force-depends xscreensaver
16
+
17 17
18 18
Create `/usr/bin/xscreensaver-command`. Prevent a user running it more than once:
19 19
20
-#!/bin/sh
21
-LOCKER=i3lock
22
-ARGS="-c 103010"
23
-
24
-if ! pgrep -u $USER "$LOCKER|$0"
25
-then
26
-    $LOCKER $ARGS
20
+```shell
21
+#!/bin/sh
22
+LOCKER=i3lock
23
+ARGS="-c 103010"
24
+
25
+if ! pgrep -u $USER "$LOCKER|$0"
26
+then
27
+    $LOCKER $ARGS
27 28
fi
28 29
29
-[[$[Get Code]]][3]
30
+```
30 31
31 32
[2]: ShochuApplicationSoftware?action=sourceblock&num=1
32 33
[3]: ShochuApplicationSoftware?action=sourceblock&num=2
... ...
\ No newline at end of file
Network/ShochuSystemSoftware.md
... ...
@@ -20,15 +20,15 @@ Disable per-tty authentication:
20 20
21 21
## Partitioning
22 22
23
-cgpt add -i 1 -b 8671232 -s 6156288 /dev/sda
24
-# force check, ignore size/corruption warnings
25
-e2fsck /dev/sda1
26
-# resize to partition limit
27
-resize2fs /dev/sda1
28
-# new partition  ("-i 13" is optional)
29
-cgpt add -i 13 -b 14827520 -s 224690176 -t rootfs  /dev/sda
30 23
31
-[[$[Get Code]]][19]
24
+ cgpt add -i 1 -b 8671232 -s 6156288 /dev/sda
25
+ # force check, ignore size/corruption warnings
26
+ e2fsck /dev/sda1
27
+ # resize to partition limit
28
+ resize2fs /dev/sda1
29
+ # new partition  ("-i 13" is optional)
30
+ cgpt add -i 13 -b 14827520 -s 224690176 -t rootfs  /dev/sda
31
+
32 32
33 33
New layout:
34 34
... ...
@@ -77,10 +77,10 @@ Algorithm benchmarks:
77 77
78 78
Encrypt:
79 79
80
-cryptsetup -c serpent-xts-plain64 -s 512 luksFormat /dev/sda13
81
-cryptsetup luksOpen --allow-discards /dev/sda13 crypt-root
82 80
83
-[[$[Get Code]]][20]
81
+ cryptsetup -c serpent-xts-plain64 -s 512 luksFormat /dev/sda13
82
+ cryptsetup luksOpen --allow-discards /dev/sda13 crypt-root
83
+
84 84
85 85
Benchmark:
86 86
... ...
@@ -102,7 +102,7 @@ Benchmark:
102 102
103 103
104 104
105
-## [LVM2][21][?][21]
105
+## LVM2
106 106
107 107
Enable discards in `/etc/lvm/lvm.conf`:
108 108
... ...
@@ -117,19 +117,19 @@ Enable discards in `/etc/lvm/lvm.conf`:
117 117
118 118
119 119
120
-pvcreate /dev/mapper/crypt-root
121
-vgcreate vg-root /dev/mapper/crypt-root
122
-vgchange -a y vg-root
123
-# don't zero
124
-lvcreate -Zn -n root -L1g vg-root
125
-lvcreate -Zn -n usr -L25G vg-root
126
-lvcreate -Zn -n var -L5g vg-root
127
-lvcreate -Zn -n tmp -L1.5g vg-root
128
-lvcreate -Zn -n home -l100%FREE vg-root
129 120
130
-[[$[Get Code]]][22]
121
+ pvcreate /dev/mapper/crypt-root
122
+ vgcreate vg-root /dev/mapper/crypt-root
123
+ vgchange -a y vg-root
124
+ # don't zero
125
+ lvcreate -Zn -n root -L1g vg-root
126
+ lvcreate -Zn -n usr -L25G vg-root
127
+ lvcreate -Zn -n var -L5g vg-root
128
+ lvcreate -Zn -n tmp -L1.5g vg-root
129
+ lvcreate -Zn -n home -l100%FREE vg-root
130
+
131 131
132
-Resultant [LVs][23][?][23]:
132
+Resultant LVs:
133 133
134 134
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
135 135
home vg-root -wi-a----- 74.64g
... ...
@@ -143,15 +143,15 @@ Resultant [LVs][23][?][23]:
143 143
144 144
## Ext4
145 145
146
-for i in tmp usr var home ; do mkfs.ext4 -m /dev/vg-root/$i ; done
147
-cd /mnt
148
-for i in root tmp usr var ; do mkdir "$i" && mount /dev/vg-root/$i "./$i"; done
149
-for i in tmp usr var ; do cp -a /$i/* $i/ ; done
150
-tar cvf /mnt/usr/root.tar --one-file-system  /
151
-cd /mnt/root
152
-tar xvf ../usr/root.tar  --exclude=usr --exclude=var
153 146
154
-[[$[Get Code]]][24]
147
+ for i in tmp usr var home ; do mkfs.ext4 -m /dev/vg-root/$i ; done
148
+ cd /mnt
149
+ for i in root tmp usr var ; do mkdir "$i" && mount /dev/vg-root/$i "./$i"; done
150
+ for i in tmp usr var ; do cp -a /$i/* $i/ ; done
151
+ tar cvf /mnt/usr/root.tar --one-file-system  /
152
+ cd /mnt/root
153
+ tar xvf ../usr/root.tar  --exclude=usr --exclude=var
154
+
155 155
156 156
157 157
... ...
@@ -186,11 +186,11 @@ Other keys:
186 186
| Search + ] | Keyboard backlight up |
187 187
| Search + Alt | Caps Lock |
188 188
| Search + Backspace | Delete |
189
-| Search + <[AB09][25][?][25]> (. or v) | Insert |
189
+| Search + <AB09> (. or v) | Insert |
190 190
| Search + Left | Home |
191 191
| Search + Right | End |
192
-| Search + Up | [PgUp][26][?][26] |
193
-| Search + Down | [PgDn][27][?][27] |
192
+| Search + Up | PgUp |
193
+| Search + Down | PgDn |
194 194
195 195
196 196
... ...
@@ -207,7 +207,7 @@ Run as part of the session:
207 207
208 208
# Shochu Reinstallation
209 209
210
-Using [GalliumOS][28][?][28] 2.1
210
+Using GalliumOS 2.1
211 211
212 212
213 213
Network/Speedtouch516.md
... ...
@@ -4,7 +4,7 @@ title: Speedtouch516
4 4
5 5
# Description
6 6
7
-* [ADSL2][1][?][1]+ gateway
7
+* ADSL2+ gateway
8 8
* Single port 100Mbit ethernet
9 9
* Bridged to router
10 10
... ...
@@ -21,11 +21,11 @@ Software Version
21 21
22 22
23 23
24
-# PPTP-to-[PPPoA][3][?][3] Bridge
24
+# PPTP-to-PPPoA Bridge
25 25
26 26
<http://tjworld.net/wiki/Howto/SpeedtouchPptpBridge>
27 27
28
-Transparently bridge the Speedtouch between [PPtP][4][?][4] and [PPPoA][3][?][3]. Allows a router (like the [WRT54GL][5]) to login using PPTP, forwarded by the [ST516][6][?][6] to [PPPoA][3][?][3].
28
+Transparently bridge the Speedtouch between PPtP and PPPoA. Allows a router (like the [WRT54GL][5]) to login using PPTP, forwarded by the ST516 to PPPoA.
29 29
30 30
31 31
Network/StorageServer.md
... ...
@@ -6,7 +6,7 @@ title: StorageServer
6 6
7 7
# Requirements
8 8
9
-* [ACLs][21][?][21]
9
+* ACLs
10 10
* Fault-tolerant RAID
11 11
* 3+ Terabyte capacity
12 12
* Data encryption
... ...
@@ -27,11 +27,11 @@ title: StorageServer
27 27
28 28
# Configuration
29 29
30
-* 4-8 Disk [RAID6][22][?][22]
30
+* 4-8 Disk RAID6
31 31
* dmcrypt
32 32
* LVM
33 33
34
-Linux >2.6.17 can resize [RAID5][23][?][23]
34
+Linux >2.6.17 can resize RAID5
35 35
36 36
37 37
... ...
@@ -42,7 +42,7 @@ Linux >2.6.17 can resize [RAID5][23][?][23]
42 42
* Backup data (/systems)
43 43
* Project data (/src)
44 44
* Multimedia data (/media)
45
-* Fast access data ([RAID0][25][?][25])
45
+* Fast access data (RAID0)
46 46
47 47
48 48
... ...
@@ -55,7 +55,7 @@ Linux >2.6.17 can resize [RAID5][23][?][23]
55 55
## XFS
56 56
57 57
* Very fast
58
-* [ACLs][21][?][21]
58
+* ACLs
59 59
* Not-resizeable
60 60
61 61
Both XFS and JFS are good candidates.
... ...
@@ -100,10 +100,10 @@ XFS important options:
100 100
101 101
102 102
103
-## [EXT4][30][?][30]
103
+## EXT4
104 104
105 105
* Resizeable
106
-* [ACLs][21][?][21]
106
+* ACLs
107 107
* Comparable performance to XFS, better metadata performance
108 108
* Clear upgrade path to btrfs. (btrfs_convert)
109 109
... ...
@@ -115,8 +115,8 @@ XFS important options:
115 115
116 116
CPU Power
117 117
118
-* Buffalo [TeraStation][31][?][31] uses Freescale [MPC8241][32][?][32] PPC @ 266MHz, 128MB RAM
119
- * [TeraStation][31][?][31] has Realtek 8110 ethernet, not Jumbo clean
118
+* Buffalo TeraStation uses Freescale MPC8241 PPC @ 266MHz, 128MB RAM
119
+ * TeraStation has Realtek 8110 ethernet, not Jumbo clean
120 120
121 121
122 122
... ...
@@ -126,7 +126,7 @@ CPU Power
126 126
||
127 127
| Buffalo Terastation Pro | 4 | ~700 |   |
128 128
| Synology 407e | 4 | £380 |   |
129
-| Infrant [ReadyNAS][33][?][33] NV+ | 4 | £500 |   |
129
+| Infrant ReadyNAS NV+ | 4 | £500 |   |
130 130
| D-Link DNS-323 | 2 | £150 | [froogle][34] |
131 131
132 132
... ...
@@ -136,9 +136,9 @@ CPU Power
136 136
| **Model** | **Type** | **Ports** | **Price** |
137 137
||
138 138
| Adaptec 2410SA | SATA | 4 | £220 |
139
-| [HighPoint][35][?][35] [RocketRAID][36][?][36] 1640 | SATA | 4 |   |
139
+| HighPoint RocketRAID 1640 | SATA | 4 |   |
140 140
| ICP Vortex 8546RZ | SATA | 4 |   |
141
-| LSI [MegaRAID][37][?][37] 150-4 | SATA | 4 |   |
141
+| LSI MegaRAID 150-4 | SATA | 4 |   |
142 142
143 143
144 144
... ...
@@ -147,8 +147,8 @@ CPU Power
147 147
| **Model** | **Type** | **Ports** | **Price** |
148 148
||
149 149
| Adaptec 1430SA | PCI-E | 4 | £62 |
150
-| Promise [SATA300][38][?][38] [TX4][39][?][39] | PCI-66 | 4 | £55 |
151
-| Promise [SATA300][38][?][38] [TX4302][40][?][40] | PCI-66 | 2, 2e | £55 |
150
+| Promise SATA300 TX4 | PCI-66 | 4 | £55 |
151
+| Promise SATA300 TX4302 | PCI-66 | 2, 2e | £55 |
152 152
153 153
[http://www.span.com/catalog/product\_info.php?products\_id=5090&source=gbaseuk&currency=GBP][41]
154 154
... ...
@@ -179,7 +179,8 @@ CPU Power
179 179
180 180
Maxtor: 250=6.5, 320=6.8
181 181
WD: 320=5.9, 400=4.8, 500=6.4
182
-Seagate: 400=5.47, 500=6.7 ([ST3500641AS][52][?][52]), 500=5.95
182
+
183
+Seagate: 400=5.47, 500=6.7 (ST3500641AS), 500=5.95
183 184
*
184 185
185 186
| **Model** | **Buffer** | **Capacity** | **Price** | **Warranty** |
... ...
@@ -216,9 +217,9 @@ Support from patched 2.6.22
216 217
* <http://www.avsforum.com/avs-vb/showthread.php?t=869763>
217 218
* [SATA PM vs SATA ML][56]
218 219
* <http://www.mail-archive.com/linux-ide@vger.kernel.org/> - Linux-ide mailing list archive
219
-* <http://marc.info/?l=linux-ide&m=118825737704343&w=2> - [SiI3132][57][?][57] is buggy (Limited to 120MB/sec)
220
+* <http://marc.info/?l=linux-ide&m=118825737704343&w=2> - SiI3132 is buggy (Limited to 120MB/sec)
220 221
* <http://www.amug.org/amug-web/html/amug/reviews/reviews.html> - Loads of reviews of enclosures
221
-* <http://www.amug.org/amug-web/html/amug/reviews/articles/addonics/adsa3gpx8-4em/> - [SiI3124][58][?][58] beats 120MB/sec
222
+* <http://www.amug.org/amug-web/html/amug/reviews/articles/addonics/adsa3gpx8-4em/> - SiI3124 beats 120MB/sec
222 223
223 224
224 225
... ...
@@ -228,7 +229,7 @@ Support from patched 2.6.22
228 229
229 230
* Calculator: <http://www.ibeast.com/content/tools/RaidCalc/RaidCalc.asp>
230 231
* <http://articles.techrepublic.com.com/5100-6349-1054944.html> - Guide
231
-* <http://www.chemistry.wustl.edu/~gelb/castle_raid.html> - HW vs SW [RAID5][23][?][23]
232
+* <http://www.chemistry.wustl.edu/~gelb/castle_raid.html> - HW vs SW RAID5
232 233
233 234
* * *
234 235
... ...
@@ -273,4 +274,3 @@ Support from patched 2.6.22
273 274
[55]: http://www.google.co.uk/products?q=ST3500630AS
274 275
[56]: http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid5_gci1242421,00.html
275 276
[59]: http://en.wikipedia.org/wiki/Lustre_%28file_system%29
276
- [60]: http://www.tomshardware.co.uk/pci-express-sata-raid-controllers-for-smb-servers-uk,review-1927.html
... ...
\ No newline at end of file
Network/SummitX450e.md
... ...
@@ -12,7 +12,7 @@ Variant
12 12
: 24p
13 13
14 14
Description
15
-: 24-port gigabit [PoE][1][?][1] managed switch
15
+: 24-port gigabit PoE managed switch
16 16
17 17
Purchased
18 18
: 2017-02-10 from eBay for £105
Network/Upgrade2016.md
... ...
@@ -43,20 +43,20 @@ Network Upgrade
43 43
## Central
44 44
45 45
* Cat 6 run from armoury to kitchen loft
46
-* [PoE][2][?][2] AP in long hall ceiling
46
+* PoE AP in long hall ceiling
47 47
48 48
49 49
50 50
## West
51 51
52 52
* Cat 6 run from armoury to annex hall
53
-* [PoE][2][?][2] AP in annex hall ceiling
53
+* PoE AP in annex hall ceiling
54 54
55 55
56 56
57 57
## East
58 58
59 59
* Cat 6 run from armoury to Long Hall East
60
-* [PoE][2][?][2] AP in long hall ceiling east
60
+* PoE AP in long hall ceiling east
61 61
62 62
[1]: SummitX450e
Network/VPN.md
... ...
@@ -11,11 +11,11 @@ title: VPN
11 11
12 12
# Hardware
13 13
14
-## TL-[WDR7500][2][?][2] / Archer C7
14
+## TL-WDR7500 / Archer C7
15 15
16 16
<http://wiki.openwrt.org/toh/tp-link/tl-wdr7500>
17 17
18
-Has [MiniPCIe][3][?][3] wifi for 802.11a/n/ac. Replace with crypto accelerator
18
+Has MiniPCIe wifi for 802.11a/n/ac. Replace with crypto accelerator
19 19
20 20
21 21
... ...
@@ -29,7 +29,7 @@ Has [MiniPCIe][3][?][3] wifi for 802.11a/n/ac. Replace with crypto accelerator
29 29
30 30
31 31
32
-## [NordVPN][4][?][4]
32
+## NordVPN
33 33
34 34
* Up to 6 devices
35 35
* Only 1 device per-protocol per-server
Network/VideoSurveillance.md
... ...
@@ -21,12 +21,12 @@ title: VideoSurveillance
21 21
22 22
Options:
23 23
24
-* [PoE][2][?][2]
24
+* PoE
25 25
* <http://shop.panasonic.com/shop/model/BB-HCM735A> (obsolete)
26
- * Foscam [FI9961][3][?][3] - 1080p dome, fixed view - [£104][4]
26
+ * Foscam FI9961 - 1080p dome, fixed view - [£104][4]
27 27
* Hikvision DS-2CD2142 - 1080p dome, fixed - [£101][5]
28 28
* Hikvision DS-2CD2642FWD-I - 1080p bullet, fixed, 30m night vision
29
- * Dahua [SD29204T][6][?][6]-GN [£150][7]
29
+ * Dahua SD29204T-GN [£150][7]
30 30
* Dahua [IPC-HFW5231E-Z12][8] (or Z5) - bullet varifocal, starlight, long-range IR
31 31
32 32
Network/WDR3600.md
... ...
@@ -76,7 +76,7 @@ Arrived
76 76
Link
77 77
: <http://homepage.ruhr-uni-bochum.de/Jan.Holthuis/misc/adblock-on-your-openwrt-router/>
78 78
79
-[GitHub][19][?][19]
79
+GitHub
80 80
: <https://gist.github.com/Holzhaus/ed4ac1675a57f11c3057>
81 81
82 82
Allow googleadservices.
... ...
@@ -85,7 +85,7 @@ Allow googleadservices.
85 85
86 86
## VPN Troubleshooting
87 87
88
-VPN concentrator sees multiple ([NATted][20][?][20]) [IPs][21][?][21] for a client so kicks it off.
88
+VPN concentrator sees multiple (NATted) IPs for a client so kicks it off.
89 89
90 90
### Conntrack Monitoring
91 91
... ...
@@ -119,7 +119,7 @@ while ((true)) ; do cat /proc/net/nf_conntrack | grep -o  'ESTABLISHED.\*${SRC\
119 119
120 120
### nf\_conntrack\_max and hashsize
121 121
122
-Mainline kernel `nf_conntrack_max` default derives from the amount of system RAM but [OpenWRT][17][?][17] (15.05) uses a fixed 16384.
122
+Mainline kernel `nf_conntrack_max` default derives from the amount of system RAM but OpenWRT (15.05) uses a fixed 16384.
123 123
124 124
Doubling `nf_conntrack_max` requires also doubling the nf_conntrack hashsize parameter.
125 125
... ...
@@ -140,7 +140,7 @@ Persist it in `/etc/modules.d/nf-conntrack` by appending the parameters to the m
140 140
141 141
### nf\_conntrack\_tcp\_timeout\_established
142 142
143
-[OpenWRT][17][?][17] default is [7440s ~=2 hours][24], derived from [rfc-5382 NAT Behavioral Requirements for TCP][25].
143
+OpenWRT default is [7440s ~=2 hours][24], derived from [rfc-5382 NAT Behavioral Requirements for TCP][25].
144 144
145 145
Generally best to leave this as 2h4m.
146 146
... ...
@@ -152,7 +152,7 @@ sysctl -w net.netfilter.nf\_conntrack\_tcp\_timeout\_established=7440
152 152
153 153
154 154
155
-## [DoS][27][?][27] Attack Mitigation
155
+## DoS Attack Mitigation
156 156
157 157
Attack filled up the conntrack table. Reduce conntrack timeout.
158 158
Network/WRT54GL.md
... ...
@@ -17,7 +17,7 @@ title: WRT54GL
17 17
18 18
## [IPv6][35]
19 19
20
-* Attempted on Gargoyle ([OpenWRT][36][?][36] 8.09-beta)
20
+* Attempted on Gargoyle (OpenWRT 8.09-beta)
21 21
* <http://wiki.openwrt.org/IPv6_howto>
22 22
* NOTE: opkg has replaced ipkg
23 23
... ...
@@ -33,7 +33,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
33 33
34 34
## TFTP Upgrade
35 35
36
-* Upgrading [OpenWRT][36][?][36] via TFTP
36
+* Upgrading OpenWRT via TFTP
37 37
* Run tftp
38 38
39 39
` atftp --trace --option "timeout 10" --option "mode octet" --put --local-file openwrt-xxx-x.x-xxx.bin 192.168.1.1 `
... ...
@@ -49,7 +49,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
49 49
50 50
#### 2009-08-20
51 51
52
-* Attempted on [OpenWRT][36][?][36] 8.09 X-WRT
52
+* Attempted on OpenWRT 8.09 X-WRT
53 53
* <https://forum.openwrt.org/viewtopic.php?id=19603>
54 54
55 55
opkg update
... ...
@@ -210,7 +210,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
210 210
211 211
212 212
213
-* Set [IPv6][35] Address in [WebIf][37][?][37] to 2001:470:1f09:471::1/64
213
+* Set [IPv6][35] Address in WebIf to 2001:470:1f09:471::1/64
214 214
215 215
216 216
... ...
@@ -300,13 +300,13 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
300 300
301 301
302 302
303
-### Enable [WebIf][37][?][37] services
303
+### Enable WebIf services
304 304
305 305
* Enable ipv6tunnel, radvd
306 306
307 307
308 308
309
-### Official [OpenWRT][36][?][36] [IPv6][35] howto
309
+### Official OpenWRT [IPv6][35] howto
310 310
311 311
* <http://nuwiki.openwrt.org/oldwiki/IPv6_howto>
312 312
... ...
@@ -530,7 +530,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
530 530
531 531
532 532
533
-### Allow [IPv6][35]-in-[IPv4][39][?][39] through iptables
533
+### Allow [IPv6][35]-in-IPv4 through iptables
534 534
535 535
$IPTABLES -A input_wan -p ipv6 -j zone_wan_ACCEPT
536 536
... ...
@@ -677,7 +677,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
677 677
678 678
679 679
680
-### [QoS][40][?][40]
680
+### QoS
681 681
682 682
opkg update
683 683
opkg install qos-scripts
... ...
@@ -713,7 +713,7 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
713 713
714 714
715 715
716
-* [OpenDNS][41][?][41] configuration
716
+* OpenDNS configuration
717 717
cat >> /etc/resolv.conf.opendns
718 718
nameserver 208.67.222.222
719 719
nameserver 208.67.220.220
... ...
@@ -761,11 +761,11 @@ Insmod ipv6 fails with: ` > insmod: unresolved symbol tcp_destroy_sock `
761 761
762 762
763 763
764
-# [OpenWRT][36][?][36]
764
+# OpenWRT
765 765
766 766
## Upgrade
767 767
768
-* Upgrade to [OpenWrt][42][?][42] 8.09.2
768
+* Upgrade to OpenWrt 8.09.2
769 769
* ipv6 broken on x-wrt as it was on Gargoyle
770 770
771 771
... ...
@@ -1095,7 +1095,7 @@ Configure rsyslogd
1095 1095
1096 1096
1097 1097
1098
-### [OpenWRT][36][?][36]
1098
+### OpenWRT
1099 1099
1100 1100
Set log\_ip and log\_port. Default port is 514
1101 1101
... ...
@@ -1132,7 +1132,7 @@ Replaced by [WDR-3600][49][?][49], see [Mobile Router][50]
1132 1132
1133 1133
#### 2009-01-21
1134 1134
1135
-Turned on [QoS][40][?][40]. Prioritized www and ssh over bittorrent
1135
+Turned on QoS. Prioritized www and ssh over bittorrent
1136 1136
1137 1137
1138 1138
... ...
@@ -1144,14 +1144,14 @@ Installed DD-WRT.
1144 1144
1145 1145
#### 2009-01-27
1146 1146
1147
-Installed [OpenWRT][51][?][51]
1147
+Installed OpenWRT
1148 1148
Configure [IPv6][35]
1149 1149
1150 1150
1151 1151
1152 1152
#### 2009-04-02
1153 1153
1154
-Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?id=12408>
1154
+Fix OpenDNS configuration <http://forum.openwrt.org/viewtopic.php?id=12408>
1155 1155
1156 1156
1157 1157
... ...
@@ -1174,12 +1174,12 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1174 1174
1175 1175
#### 2009-08-18
1176 1176
1177
-* Replaced Gargoyle with x-wrt [OpenWRT][36][?][36] 8.09
1177
+* Replaced Gargoyle with x-wrt OpenWRT 8.09
1178 1178
* Web interface upgrade didn't work so flashed via TFTP
1179 1179
* [X-WRT Kamikaze 8.09 brcm-2.4 default][52]
1180 1180
* Configured WAN in pppoe mode, no bridge
1181 1181
* Configured LAN, bridge mode (for wireless)
1182
-* Set LAN DNS servers to [OpenDNS][41][?][41]
1182
+* Set LAN DNS servers to OpenDNS
1183 1183
1184 1184
1185 1185
... ...
@@ -1187,7 +1187,7 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1187 1187
1188 1188
* Configured wireless
1189 1189
* Configured port forwarding
1190
-* Set [PPPoE][53][?][53] MTU to 1472
1190
+* Set PPPoE MTU to 1472
1191 1191
1192 1192
1193 1193
... ...
@@ -1371,7 +1371,7 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1371 1371
#### 2010-02-26
1372 1372
1373 1373
* Switch br-lan back to 192.168.1.0/24
1374
-* Rename "30 Rustat Public" to "[SavePublicWifi][55][?][55].org"
1374
+* Rename "30 Rustat Public" to "SavePublicWifi.org"
1375 1375
1376 1376
1377 1377
... ...
@@ -1385,7 +1385,7 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1385 1385
1386 1386
#### 2010-03-03
1387 1387
1388
-* Upgrade to [OpenWrt][42][?][42]-8.09.2
1388
+* Upgrade to OpenWrt-8.09.2
1389 1389
* Fix configuration of dnsmasq (used to have /etc/resolv.conf.opendns)
1390 1390
1391 1391
... ...
@@ -1404,7 +1404,7 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1404 1404
1405 1405
#### 2010-05-04
1406 1406
1407
-* [OpenWrt][42][?][42] 10.03
1407
+* OpenWrt 10.03
1408 1408
* Got snmp and ipv6 working again
1409 1409
1410 1410
... ...
@@ -1454,22 +1454,22 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1454 1454
1455 1455
#### 2013-10-20
1456 1456
1457
-* Investigate and abandon upgrade to [OpenWrt][42][?][42]-12.09 "attitude adjustment"
1457
+* Investigate and abandon upgrade to OpenWrt-12.09 "attitude adjustment"
1458 1458
* Create git repo for settings
1459 1459
1460 1460
1461 1461
1462 1462
#### 2013-10-22
1463 1463
1464
-* Configure for PPTP-to-[PPPoA][57][?][57] with Sky
1464
+* Configure for PPTP-to-PPPoA with Sky
1465 1465
1466 1466
1467 1467
1468 1468
# To Do
1469 1469
1470
-## [QoS][40][?][40]
1470
+## QoS
1471 1471
1472
-## [OpenWrt][42][?][42] 12.03 Attitude Adjustment
1472
+## OpenWrt 12.03 Attitude Adjustment
1473 1473
1474 1474
* <http://downloads.openwrt.org/attitude_adjustment/12.09/brcm47xx/generic/>
1475 1475
... ...
@@ -1490,7 +1490,7 @@ Fix [OpenDNS][41][?][41] configuration <http://forum.openwrt.org/viewtopic.php?i
1490 1490
1491 1491
## Public Wifi
1492 1492
1493
-* Route [SavePublicWifi][55][?][55].org through tor
1493
+* Route SavePublicWifi.org through tor
1494 1494
* <http://hardy.dropbear.id.au/blog/2008/02/hosting-multiple-wireless-networks-on-openwrt>
1495 1495
* <http://kokoro.ucsd.edu/nodogsplash/>
1496 1496
* Needs a reflash upgrade
Network/WanBonding.md
... ...
@@ -10,7 +10,7 @@ See Also
10 10
# Requirements
11 11
12 12
* Router with multiple WAN devices
13
-* [VPN][1] or [VPS][2][?][2] supporting channel bonding driver within containers
13
+* [VPN][1] or VPS supporting channel bonding driver within containers
14 14
* Low-overhead encryption
15 15
16 16
... ...
@@ -29,17 +29,17 @@ See Also
29 29
30 30
31 31
32
-## [OpenWRT][3][?][3] Barrier Breaker
32
+## OpenWRT Barrier Breaker
33 33
34
-opkg update
35
-opkg install ifenslave # also installs kmod-bonding
36
-opeg install openvpn-nossl # test without SSL initially
37 34
38
-[[$[Get Code]]][4]
35
+ opkg update
36
+ opkg install ifenslave # also installs kmod-bonding
37
+ opeg install openvpn-nossl # test without SSL initially
38
+
39 39
40 40
41 41
42
-### Configure [OpenVPN][5][?][5] tun interfaces
42
+### Configure OpenVPN tun interfaces
43 43
44 44
tun
45 45
: layer 3 tunnel (i.e. a gateway)
... ...
@@ -80,9 +80,9 @@ Configure `/etc/network/interfaces`
80 80
81 81
82 82
83
-## [OpenVZ][6][?][6] - Debian 6
83
+## OpenVZ - Debian 6
84 84
85
-[OpenVZ][6][?][6] doesn't seem to create `bond0` when the bonding driver is enabled in the kernel.
85
+OpenVZ doesn't seem to create `bond0` when the bonding driver is enabled in the kernel.
86 86
87 87
Configure `/etc/network/interfaces`
88 88
... ...
@@ -115,21 +115,21 @@ VPS search engine
115 115
116 116
| Supplier Plan | Bandwith (GB) | Cost £/mnth |
117 117
|:---------------------------------- | ------------- | ----------- |
118
-| [MiniVPS][8][?][8] 2 | 250 | [2][9] |
119
-| [UK2][10][?][10] [VPS1][11][?][11] | 3000 | [5][12] |
118
+| MiniVPS 2 | 250 | [2][9] |
119
+| UK2 VPS1 | 3000 | [5][12] |
120 120
| Digital Ocean $5/mo | 1000 | [3.25][13] |
121 121
122 122
123 123
124 124
# VPN Suppliers
125 125
126
-## [IPVanish][14][?][14]
126
+## IPVanish
127 127
128 128
Site
129 129
: <https://www.vpncompare.co.uk/ipvanish-com-information/>
130 130
131 131
Connections
132
-: 1 [OpenVPN][5][?][5], 1 other
132
+: 1 OpenVPN, 1 other
133 133
134 134
135 135
Network/WirelessPeering.md
... ...
@@ -13,11 +13,11 @@ title: WirelessPeering
13 13
14 14
* One wifi access point per network
15 15
16
-## [DWL2100][1][?][1]-AP
16
+## DWL2100-AP
17 17
18
-* 2x D-Link [DWL2100][1][?][1]-AP (?)
18
+* 2x D-Link DWL2100-AP (?)
19 19
20
-## Fonera [FON2201][2][?][2]
20
+## Fonera FON2201
21 21
22 22
* [£35][3] on eBay
23 23
... ...
@@ -42,7 +42,7 @@ title: WirelessPeering
42 42
43 43
### 1:1 NAT on both ends
44 44
45
-Local (192.168.0.x)->(192.168.66.0) [AP0][4][?][4] -> [AP1][5][?][5] (x.x.66.0)->(x.x.x.x) Remote
45
+Local (192.168.0.x)->(192.168.66.0) AP0 -> AP1 (x.x.66.0)->(x.x.x.x) Remote
46 46
47 47
48 48
PIM/Mail.md
... ...
@@ -90,10 +90,10 @@ A little python dictionary of credentials to isolate it from the rest of the (ve
90 90
91 91
`~/.auth.py`:
92 92
93
-auth = dict()
94
-auth['blah@markferry.net'] = 'My obvious password'
95 93
96
-[[$[Get Code]]][3]
94
+ auth = dict()
95
+ auth['blah@markferry.net'] = 'My obvious password'
96
+
97 97
98 98
99 99
... ...
@@ -101,27 +101,28 @@ auth['blah@markferry.net'] = 'My obvious password'
101 101
102 102
Adapted for bash from the [offlineimap FAQ][4]
103 103
104
-#!/bin/sh
105
-# remove any old instances of this shell script or offlineimap
106
-for pid in $(pgrep offlineimap)
107
-do
108
-    if  [ $pid -ne $$ ]
109
-    then
110
-        kill $pid
111
-        echo killed old process: $pid
112
-    fi
113
-done
114
-
115
-# wait for compiz (or whatever) to start and setup wifi
116
-#sleep 20
117
-# If offlineimap exits, restart it
118
-while ((true))
119
-do
120
-    ( exec /usr/bin/offlineimap -u quiet )
121
-    sleep 60 # prevents extended failure condition
104
+```shell
105
+#!/bin/sh
106
+# remove any old instances of this shell script or offlineimap
107
+for pid in $(pgrep offlineimap)
108
+do
109
+    if  [ $pid -ne $$ ]
110
+    then
111
+        kill $pid
112
+        echo killed old process: $pid
113
+    fi
114
+done
115
+
116
+# wait for compiz (or whatever) to start and setup wifi
117
+#sleep 20
118
+# If offlineimap exits, restart it
119
+while ((true))
120
+do
121
+    ( exec /usr/bin/offlineimap -u quiet )
122
+    sleep 60 # prevents extended failure condition
122 123
done
123 124
124
-[[$[Get Code]]][5]
125
+```
125 126
126 127
127 128
PIM/PIM.md
... ...
@@ -16,7 +16,7 @@ Synchronize PIM data
16 16
17 17
# Devices
18 18
19
-* [Laptop][1][?][1]
19
+* Laptop
20 20
* [Netbook][2]
21 21
* [N770][3]
22 22
* Nokia E65
... ...
@@ -29,7 +29,7 @@ Synchronize PIM data
29 29
30 30
## Backend
31 31
32
-* [GoogleApps][5][?][5] Contacts
32
+* GoogleApps Contacts
33 33
* May require a personal LDAP server
34 34
35 35
... ...
@@ -58,7 +58,7 @@ PC Suite doesn't seem to support multiple fields of the same name. Crashes on im
58 58
59 59
## Backend
60 60
61
-[GoogleApps][5][?][5] Calendar
61
+GoogleApps Calendar
62 62
63 63
64 64
... ...
@@ -68,7 +68,7 @@ PC Suite doesn't seem to support multiple fields of the same name. Crashes on im
68 68
|:------- | -------------------------- | ------------------ | -------------------------------------- |
69 69
| Laptop | Thunderbird, Lightning 0.8 | [GCal Provider][6] | [Lightning For LinuxPPC][7] |
70 70
| Netbook | Browser, GNOME panel |   |   |
71
-| N770 | GPE calendar |   | Crash-on-sync bug in [OS2007][8][?][8] |
71
+| N770 | GPE calendar |   | Crash-on-sync bug in OS2007 |
72 72
| E65 | Mail-for-Exchange | [Google Sync][9] |   |
73 73
| Online | Browser |   |   |
74 74
| Blade | Android Calendar |   |   |
... ...
@@ -85,7 +85,7 @@ See also:
85 85
86 86
## Backend
87 87
88
-[GoogleApps][5][?][5] Mail
88
+GoogleApps Mail
89 89
90 90
91 91
... ...
@@ -93,8 +93,8 @@ See also:
93 93
94 94
| Device | Software | Encryption | Notes |
95 95
|:------- | -------- | ------------------ | ---------------------- |
96
-| Laptop | mutt | [GnuPG][11][?][11] |   |
97
-| Netbook | mutt | [GnuPG][11][?][11] |   |
96
+| Laptop | mutt | GnuPG |   |
97
+| Netbook | mutt | GnuPG |   |
98 98
| N770 | Built-in | - |   |
99 99
| E65 | Built-in | - |   |
100 100
| Online | Web | - | Greasemonkey? |
PIM/RecentChanges.md
... ...
@@ -2,9 +2,9 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Mail][1] . . . 13 February 2021, at 01:54 PM UTC by [Gnome][2][?][2]: link mbsync
6
-* [PIM][3] . . . 04 February 2014, at 12:16 PM UTC by [Gnome][2][?][2]: moto-g, link Mail
7
-* [Home][4][?][4] . . . 20 January 2011, at 11:17 AM GMT by [Gnome][2][?][2]: ZTE Blade
5
+* [Mail][1] . . . 13 February 2021, at 01:54 PM UTC by Gnome: link mbsync
6
+* [PIM][3] . . . 04 February 2014, at 12:16 PM UTC by Gnome: moto-g, link Mail
7
+* Home . . . 20 January 2011, at 11:17 AM GMT by Gnome: ZTE Blade
8 8
9 9
[1]: Mail
10 10
[3]: PIM
Privacy/RecentChanges.md
... ...
@@ -2,5 +2,5 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Home][1][?][1] . . . 24 August 2010, at 01:55 PM GMT by [Gnome][2][?][2]: IDT Prime
5
+* Home . . . 24 August 2010, at 01:55 PM GMT by Gnome: IDT Prime
6 6
Sailing/RecentChanges.md
... ...
@@ -2,6 +2,6 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Sailing][1] . . . 16 August 2016, at 03:21 PM UTC by [Gnome][2][?][2]: tornado
5
+* [Sailing][1] . . . 16 August 2016, at 03:21 PM UTC by Gnome: tornado
6 6
7 7
[1]: Sailing
Scuba/RecentChanges.md
... ...
@@ -2,6 +2,6 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Scuba][1] . . . 08 August 2012, at 02:18 PM GMT by [Gnome][2][?][2]: Scuba log
5
+* [Scuba][1] . . . 08 August 2012, at 02:18 PM GMT by Gnome: Scuba log
6 6
7 7
[1]: Scuba
Skills/RecentChanges.md
... ...
@@ -2,7 +2,7 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Skills][1] . . . 19 February 2013, at 10:51 PM GMT by [Gnome][2][?][2]: add Freediving
6
-* [Home][3][?][3] . . . 18 November 2009, at 09:16 AM GMT by [Gnome][2][?][2]: Add rock climbing
5
+* [Skills][1] . . . 19 February 2013, at 10:51 PM GMT by Gnome: add Freediving
6
+* Home . . . 18 November 2009, at 09:16 AM GMT by Gnome: Add rock climbing
7 7
8 8
[1]: Skills
Study/RecentChanges.md
... ...
@@ -2,5 +2,5 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Home][1][?][1] . . . 05 June 2009, at 10:05 AM GMT by [Gnome][2][?][2]: courses, funding
5
+* Home . . . 05 June 2009, at 10:05 AM GMT by Gnome: courses, funding
6 6
Tech/3GModem.md
... ...
@@ -4,7 +4,7 @@ title: 3GModem
4 4
5 5
* [Huawei E1750][1] - T-mobile UK dongle
6 6
* [ZTE MF823][2] - 4G dongle
7
-* [Buzzard 2][3] - Huawei E8377 EE Buzzard 2 4G car [MiFi][4][?][4]
7
+* [Buzzard 2][3] - Huawei E8377 EE Buzzard 2 4G car MiFi
8 8
9 9
[1]: HuaweiE1750
10 10
[2]: ZTEMF823
Tech/ApplicationPackageManager.md
... ...
@@ -31,7 +31,7 @@ Interface
31 31
: cli
32 32
33 33
Integration
34
-: [TeamCity][1][?][1], FTP
34
+: TeamCity, FTP
35 35
36 36
Concepts
37 37
: include path substitution, library path substitution
... ...
@@ -45,7 +45,7 @@ Concepts
45 45
46 46
47 47
48
-# RTSC / [XDCtools][2][?][2]
48
+# RTSC / XDCtools
49 49
50 50
* <http://www.eclipse.org/rtsc/>
51 51
... ...
@@ -84,13 +84,13 @@ Build config
84 84
* Package paths (much like Java Classpaths)
85 85
* Canonical include paths?
86 86
87
-#include <acme/utils/Bench.h>
88
-#include <charlie/sqrtlib/isqrt.h>
89
-#include <xdc/runtime/System.h>
90 87
91
-[[$[Get Code]]][3]
88
+ #include <acme/utils/Bench.h>
89
+ #include <charlie/sqrtlib/isqrt.h>
90
+ #include <xdc/runtime/System.h>
91
+
92 92
93
-* Build configuration in prog.cfg ([JavaScript][4][?][4])
93
+* Build configuration in prog.cfg (JavaScript)
94 94
* configuro takes *prog*.cfg and produces compiler.opt and linker.cmd
95 95
96 96
... ...
@@ -124,7 +124,7 @@ See [BuildrForC][5]
124 124
125 125
# chocolatey
126 126
127
-* Based on .NET [NuGet][6][?][6]
127
+* Based on .NET NuGet
128 128
* <http://chocolatey.org/>
129 129
130 130
Tech/Bitcoin.md
... ...
@@ -8,43 +8,43 @@ title: Bitcoin
8 8
9 9
A vague attempt to build just the bitcoind Debian package from patched 0.8.5 git. Opted in the end just to build bitcoind and install manually.
10 10
11
-# clone and create local branch
12
-git clone git://github.com/bitcoin/bitcoin.git
13
-git checkout v0.8.5
14
-git checkout -b v0.8.5-gnome
15
-# debianize using debian dir from 0.8.5 package
16
-cp -a ../debian-0.8.5/debian ./
17
-git add debian
18
-git commit -m "debianize"
19
-# wheezify
20
-cat >> debian/changelog <<END
21
-bitcoin (0.8.0-wheezy1) wheezy; urgency=low
22
-
23
-  * Mark for wheezy.
24
-
25
- -- Matt Corallo <matt@bluematt.me>  Sat, 23 Feb 2013 16:24:00 -0500
26
-
27
-END
28
-# deps
29
-apt-get install bash-completion qt4-qmake libboost-dev libdb5.1++-dev libminiupnpc-dev minissdpd libboost-{system,filesystem,program-options,thread}-dev
30
-# clean
31
-debian/rules clean
32
-# build
33
-debian/rules binary
34
-# install
35
-cp src/bitcoind ~/bin/
36
-
37
-[[$[Get Code]]][1]
11
+
12
+ # clone and create local branch
13
+ git clone git://github.com/bitcoin/bitcoin.git
14
+ git checkout v0.8.5
15
+ git checkout -b v0.8.5-gnome
16
+ # debianize using debian dir from 0.8.5 package
17
+ cp -a ../debian-0.8.5/debian ./
18
+ git add debian
19
+ git commit -m "debianize"
20
+ # wheezify
21
+ cat >> debian/changelog <<END
22
+ bitcoin (0.8.0-wheezy1) wheezy; urgency=low
23
+
24
+   * Mark for wheezy.
25
+
26
+  -- Matt Corallo <matt@bluematt.me>  Sat, 23 Feb 2013 16:24:00 -0500
27
+
28
+ END
29
+ # deps
30
+ apt-get install bash-completion qt4-qmake libboost-dev libdb5.1++-dev libminiupnpc-dev minissdpd libboost-{system,filesystem,program-options,thread}-dev
31
+ # clean
32
+ debian/rules clean
33
+ # build
34
+ debian/rules binary
35
+ # install
36
+ cp src/bitcoind ~/bin/
37
+
38 38
39 39
40 40
41 41
## Running
42 42
43
-bitcoind &
44
-# status
45
-bitcoind getinfo
46 43
47
-[[$[Get Code]]][2]
44
+ bitcoind &
45
+ # status
46
+ bitcoind getinfo
47
+
48 48
49 49
50 50
... ...
@@ -104,14 +104,14 @@ Error:
104 104
105 105
1. Could not link against boost_thread
106 106
107
-sudo apt-get install libboost-test-dev
108
-./configure --with-gui=no --with-incompatible-bdb --with-boost-libdir=/usr/lib64
109
-# Success!
110
-make
111
-# Had to pass abs\_top\_builddir otherwise it'd attempt to create /src/obj ??
112
-sudo make abs\_top\_builddir=.  install
113 107
114
-[[$[Get Code]]][5]
108
+ sudo apt-get install libboost-test-dev
109
+ ./configure --with-gui=no --with-incompatible-bdb --with-boost-libdir=/usr/lib64
110
+ # Success!
111
+ make
112
+ # Had to pass abs\_top\_builddir otherwise it'd attempt to create /src/obj ??
113
+ sudo make abs\_top\_builddir=.  install
114
+
115 115
116 116
[1]: Bitcoin?action=sourceblock&num=1
117 117
[2]: Bitcoin?action=sourceblock&num=2
Tech/BitfieldGotchas.md
... ...
@@ -16,67 +16,67 @@ The resulting code fails to assign the boolean flag correctly. The bug is a non-
16 16
17 17
## Source
18 18
19
-#include <stdio.h> //printf
20
-
21
-#if \_\_STDC\_VERSION\\_\_ >= 199901
22
-#   include <stdbool.h>
23
-    typedef _Bool BOOL;
24
-#   define FALSE false
25
-
26
-#else
27
-    /* C89 Fake bool */
28
-    typedef int BOOL;
29
-#   define FALSE (0)
30
-
31
-#endif
32
-
33
-
34
-
35
-/* Source data */
36
-enum EFLAGS {
37
-    FLAG_NONE = 0x00,
38
-    FLAG_FOO = 0x01,
39
-    FLAG_BAR = 0x02,
40
-    FLAG_MAX
41
-} srcFlags = FLAG_NONE;
42
-
43
-struct SFLAGS
44
-{
45
-    int isFoo   :1;
46
-    int isBar   :1;
47
-} dstFlags = {, };
48
-
49
-
50
-int main(void)
51
-{
52
-    BOOL tmpBool = FALSE;
53
-
54
-    srcFlags |= FLAG_BAR; /* set BAR in src */
55
-
56
-    tmpBool = (srcFlags & FLAG_BAR); /* pass in BOOL */
57
-    /* fake BOOL: tmpBool has value 2
58
-     * C99 _Bool: tmpBool has value true
59
-     */
60
-
61
-    dstFlags.isBar = tmpBool; /* set in dst */
62
-    /* fake BOOL: isBar is assigned (2 & 0x01) = 0  !!!
63
-     * C99 _Bool: isBar is assigned true
64
-     */
65
-
66
-    if (dstFlags.isBar)
67
-    {
68
-        printf("dstFlags.isBar is TRUE");
69
-    }
70
-    else
71
-    {
72
-        printf("dstFlags.isBar is FALSE");
73
-    }
74
-
75
-    return ;
76
-}
77
78
-
79
-[[$[Get Code]]][1]
19
+
20
+ #include <stdio.h> //printf
21
+
22
+ #if \_\_STDC\_VERSION\\_\_ >= 199901
23
+ #   include <stdbool.h>
24
+     typedef _Bool BOOL;
25
+ #   define FALSE false
26
+
27
+ #else
28
+     /* C89 Fake bool */
29
+     typedef int BOOL;
30
+ #   define FALSE (0)
31
+
32
+ #endif
33
+
34
+
35
+
36
+ /* Source data */
37
+ enum EFLAGS {
38
+     FLAG_NONE = 0x00,
39
+     FLAG_FOO = 0x01,
40
+     FLAG_BAR = 0x02,
41
+     FLAG_MAX
42
+ } srcFlags = FLAG_NONE;
43
+
44
+ struct SFLAGS
45
+ {
46
+     int isFoo   :1;
47
+     int isBar   :1;
48
+ } dstFlags = {, };
49
+
50
+
51
+ int main(void)
52
+ {
53
+     BOOL tmpBool = FALSE;
54
+
55
+     srcFlags |= FLAG_BAR; /* set BAR in src */
56
+
57
+     tmpBool = (srcFlags & FLAG_BAR); /* pass in BOOL */
58
+     /* fake BOOL: tmpBool has value 2
59
+      * C99 _Bool: tmpBool has value true
60
+      */
61
+
62
+     dstFlags.isBar = tmpBool; /* set in dst */
63
+     /* fake BOOL: isBar is assigned (2 & 0x01) = 0  !!!
64
+      * C99 _Bool: isBar is assigned true
65
+      */
66
+
67
+     if (dstFlags.isBar)
68
+     {
69
+         printf("dstFlags.isBar is TRUE");
70
+     }
71
+     else
72
+     {
73
+         printf("dstFlags.isBar is FALSE");
74
+     }
75
+
76
+     return ;
77
+ }
78
+  
79
+
80 80
81 81
82 82
Tech/BrilliantForWindows.md
... ...
@@ -13,9 +13,9 @@ Borland DB engine doesn't run.
13 13
14 14
15 15
16
-# [DLLs][1][?][1]
16
+# DLLs
17 17
18
-Using [SysInternals][2][?][2] [ListDLLs][3][?][3]
18
+Using SysInternals ListDLLs
19 19
20 20
21 21
Tech/BuildTools.md
... ...
@@ -16,7 +16,7 @@ title: BuildTools
16 16
17 17
* gcc x86
18 18
* MSVC
19
-* IAR [MSP430][3][?][3]
19
+* IAR MSP430
20 20
* IAR ARM
21 21
* Eclipse - CDT
22 22
* TI c6xxx
Tech/BuildrForC.md
... ...
@@ -15,83 +15,83 @@ title: BuildrForC
15 15
16 16
## Header only project
17 17
18
-repositories.remote << 'file:///deploy-test/repo'
19
-repositories.release_to = 'file:///deploy-test/repo'
20
-
21
-define 'Base' do
22
-    task :default => :package
23
-    task :compile do
24
-    end
25
-
26
-    project.group = :Modular
27
-    project.version = '1.0'
28
-    package.include(_('Enum'))
29
-    package.exclude('*/.git', '*/.svn')
30
-    package :zip
31
-end
32 18
33
-[[$[Get Code]]][1]
19
+ repositories.remote << 'file:///deploy-test/repo'
20
+ repositories.release_to = 'file:///deploy-test/repo'
21
+
22
+ define 'Base' do
23
+     task :default => :package
24
+     task :compile do
25
+     end
26
+
27
+     project.group = :Modular
28
+     project.version = '1.0'
29
+     package.include(_('Enum'))
30
+     package.exclude('*/.git', '*/.svn')
31
+     package :zip
32
+ end
33
+
34 34
35 35
36 36
37 37
## Shared library projec
38 38
39
-require 'buildr/gcc'
40
-
41
-repositories.remote << 'file:///deploy-test/repo'
42
-repositories.release_to = 'file:///deploy-test/repo'
43
-
44
-BASE = transitive('Modular:Base:zip:1.0')
45
-
46
-DEPS = BASE
47
-
48
-API = ['inc', 'lib']
49
-EXCLUDE = ['*.swp']
50
-SRC = ['src']
51
-
52
-my_layout = Layout.new
53
-my_layout[:source, :main, :c] = 'src'
54
-my_layout[:target, :main, :obj] = 'obj'
55
-
56
-define 'Slave', :layout=>my_layout do
57
-    package\_with\_sources
58
-    project.version = '1.1'
59
-    project.group = :Modular
60
-    compile.using(:gcc)
61
-    compile.with BASE
62
-
63
-    package :zip
64
-    package.include(API)
65
-    package.exclude(EXCLUDE)
66
-
67
-    #package(:sources).include(API,SRC)
68
-    #package(:sources).exclude(EXCLUDE)
69
-end
70
-
71
-[[$[Get Code]]][2]
39
+
40
+ require 'buildr/gcc'
41
+
42
+ repositories.remote << 'file:///deploy-test/repo'
43
+ repositories.release_to = 'file:///deploy-test/repo'
44
+
45
+ BASE = transitive('Modular:Base:zip:1.0')
46
+
47
+ DEPS = BASE
48
+
49
+ API = ['inc', 'lib']
50
+ EXCLUDE = ['*.swp']
51
+ SRC = ['src']
52
+
53
+ my_layout = Layout.new
54
+ my_layout[:source, :main, :c] = 'src'
55
+ my_layout[:target, :main, :obj] = 'obj'
56
+
57
+ define 'Slave', :layout=>my_layout do
58
+     package\_with\_sources
59
+     project.version = '1.1'
60
+     project.group = :Modular
61
+     compile.using(:gcc)
62
+     compile.with BASE
63
+
64
+     package :zip
65
+     package.include(API)
66
+     package.exclude(EXCLUDE)
67
+
68
+     #package(:sources).include(API,SRC)
69
+     #package(:sources).exclude(EXCLUDE)
70
+ end
71
+
72 72
73 73
74 74
75 75
## Application
76 76
77
-repositories.remote << 'file:///deploy-test/repo'
78
-repositories.release_to = 'file:///deploy-test/repo'
79
-
80
-SLAVE = transitive('Slave:Slave:zip:1.1')
81
-
82
-DEPS = SLAVE
83
-
84
-define 'SomeApp' do
85
-        project.version = '0.1.0'
86
-        compile.with DEPS
87
-        package :zip
88
-
89
-        build do
90
-                system "cc -I../Base/ -I../Slave/inc -Iinc ../Slave/lib/slave.o src/someapp.c -o someapp.out"
91
-        end
92
-end
93
-
94
-[[$[Get Code]]][3]
77
+
78
+ repositories.remote << 'file:///deploy-test/repo'
79
+ repositories.release_to = 'file:///deploy-test/repo'
80
+
81
+ SLAVE = transitive('Slave:Slave:zip:1.1')
82
+
83
+ DEPS = SLAVE
84
+
85
+ define 'SomeApp' do
86
+         project.version = '0.1.0'
87
+         compile.with DEPS
88
+         package :zip
89
+
90
+         build do
91
+                 system "cc -I../Base/ -I../Slave/inc -Iinc ../Slave/lib/slave.o src/someapp.c -o someapp.out"
92
+         end
93
+ end
94
+
95 95
96 96
[1]: BuildrForC?action=sourceblock&num=1
97 97
[2]: BuildrForC?action=sourceblock&num=2
Tech/CMake.md
... ...
@@ -6,7 +6,7 @@ title: CMake
6 6
7 7
* The current project has custom [CMake][1] modules under cmake_modules/
8 8
9
-Append the path in the top-level [CMakeLists][2][?][2].txt:
9
+Append the path in the top-level CMakeLists.txt:
10 10
11 11
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
12 12
... ...
@@ -15,7 +15,7 @@ Append the path in the top-level [CMakeLists][2][?][2].txt:
15 15
16 16
# Out-of-Tree Sub-Projects
17 17
18
-* myLib is out-of-tree library source with its own [CMakeLists][2][?][2].txt
18
+* myLib is out-of-tree library source with its own CMakeLists.txt
19 19
* we want to build and link against the out-of-tree library
20 20
21 21
Instruct [CMake][1] to build the external library beneath the current binary dir explicitly:
Tech/CMakeBuildDeps.md
... ...
@@ -10,68 +10,68 @@ If you already have all your libraries under your project root, you don't need t
10 10
11 11
# Manifest Utils
12 12
13
-include(/path/to/ManifestFile)
14
-
15
-# Add a library from anywhere in the source tree, only once, as a "subdirectory"
16
-function(builddep\_find\_lib lib_name)
17
-    # Already loaded?
18
-    get_property(${lib_name}\_defined\_globally GLOBAL PROPERTY global_${lib_name}_loaded DEFINED)
19
-
20
-    if(NOT ${lib_name}\_defined\_globally)
21
-        define_property(GLOBAL PROPERTY global_${lib_name}_loaded
22
-            BRIEF_DOCS "Boolean variable indicating whether a lib was loaded"
23
-            FULL_DOCS "See Brief Docs")
24
-        set_property(GLOBAL PROPERTY global_${lib_name}_loaded FALSE)
25
-    endif(NOT ${lib_name}\_defined\_globally)
26
-
27
-    get_property(${lib_name}\_loaded GLOBAL PROPERTY global\_${lib_name}_loaded)
28
-
29
-    # Use the two arg form of add\_subdirectory to specify the binary\_dir for the dependency
30
-    if(NOT ${lib_name}_loaded)
31
-        set_property(GLOBAL PROPERTY global_${lib_name}_loaded TRUE)
32
-        string(TOUPPER ${lib_name} lib\_name\_upper)
33
-        add_subdirectory(${${lib\_name\_upper}\_IMPORT\_DIR} ${CMAKE\_BINARY\_DIR}/${lib_name})
34
-    endif(NOT ${lib_name}_loaded)
35
-endfunction()
36
-
37
-
38
-# Add just the library's public includes.
39
-# Only needed to handle circular header deps.
40
-#
41
-function(builddep\_target\_add\_headers target\_name scope lib_name)
42
-  string(TOUPPER ${lib_name} lib\_name\_upper)
43
-  target\_include\_directories(${target_name} ${scope} ${${lib\_name\_upper}\_IMPORT\_DIR}/include)
44
-endfunction()
45
-
46
-[[$[Get Code]]][1]
13
+
14
+ include(/path/to/ManifestFile)
15
+
16
+ # Add a library from anywhere in the source tree, only once, as a "subdirectory"
17
+ function(builddep\_find\_lib lib_name)
18
+     # Already loaded?
19
+     get_property(${lib_name}\_defined\_globally GLOBAL PROPERTY global_${lib_name}_loaded DEFINED)
20
+
21
+     if(NOT ${lib_name}\_defined\_globally)
22
+         define_property(GLOBAL PROPERTY global_${lib_name}_loaded
23
+             BRIEF_DOCS "Boolean variable indicating whether a lib was loaded"
24
+             FULL_DOCS "See Brief Docs")
25
+         set_property(GLOBAL PROPERTY global_${lib_name}_loaded FALSE)
26
+     endif(NOT ${lib_name}\_defined\_globally)
27
+
28
+     get_property(${lib_name}\_loaded GLOBAL PROPERTY global\_${lib_name}_loaded)
29
+
30
+     # Use the two arg form of add\_subdirectory to specify the binary\_dir for the dependency
31
+     if(NOT ${lib_name}_loaded)
32
+         set_property(GLOBAL PROPERTY global_${lib_name}_loaded TRUE)
33
+         string(TOUPPER ${lib_name} lib\_name\_upper)
34
+         add_subdirectory(${${lib\_name\_upper}\_IMPORT\_DIR} ${CMAKE\_BINARY\_DIR}/${lib_name})
35
+     endif(NOT ${lib_name}_loaded)
36
+ endfunction()
37
+
38
+
39
+ # Add just the library's public includes.
40
+ # Only needed to handle circular header deps.
41
+ #
42
+ function(builddep\_target\_add\_headers target\_name scope lib_name)
43
+   string(TOUPPER ${lib_name} lib\_name\_upper)
44
+   target\_include\_directories(${target_name} ${scope} ${${lib\_name\_upper}\_IMPORT\_DIR}/include)
45
+ endfunction()
46
+
47 47
48 48
49 49
50 50
# Manifest File
51 51
52
-set(FOO\_IMPORT\_DIR /path/to/foo)
53
-set(BAR\_IMPORT\_DIR /path/to/bar)
54 52
55
-[[$[Get Code]]][2]
53
+ set(FOO\_IMPORT\_DIR /path/to/foo)
54
+ set(BAR\_IMPORT\_DIR /path/to/bar)
55
+
56 56
57 57
58 58
59 59
# Usage
60 60
61
-builddep\_find\_lib(foo)
62
-builddep\_find\_lib(bar)
63
-
64
-add_executable(helloworld
65
-  helloworld.cpp
66
-)
67
-
68
-target\_link\_libraries(helloworld
69
-  PRIVATE
70
-    foo
71
-    bar
72
-)
73
-
74
-[[$[Get Code]]][3]
61
+
62
+ builddep\_find\_lib(foo)
63
+ builddep\_find\_lib(bar)
64
+
65
+ add_executable(helloworld
66
+   helloworld.cpp
67
+ )
68
+
69
+ target\_link\_libraries(helloworld
70
+   PRIVATE
71
+     foo
72
+     bar
73
+ )
74
+
75 75
76 76
[1]: CMakeBuildDeps?action=sourceblock&num=1
77 77
[2]: CMakeBuildDeps?action=sourceblock&num=2
Tech/CodeGeneration.md
... ...
@@ -8,89 +8,89 @@ Code generation in C with the pre-processor.
8 8
9 9
# Applied X-Macros
10 10
11
-* Based on [luser-droog][1]'s [answer][2] on [StackOverflow][3][?][3]
11
+* Based on [luser-droog][1]'s [answer][2] on StackOverflow
12 12
* Code generation with Meta-X-Macros
13 13
14 14
15 15
16
-#include <stdio.h>
17
-
18
-#define ERRORS(_) \
19
-    _(NO_ERROR, 0x00) \
20
-    /* discontiguous  */ \
21
-    _(EMPTY, 0x02) \
22
-    _(OVERFLOW, 0x03) \
23
-    _(TIMEOUT, 0x04) \
24
-
25
-/** X-Macro to define ERROR_<FOO> enum entries */
26
-#define AS\_ENUM(name, ID) ERROR\_##name = ID,
27
-/** X-Macro to define {"ERROR_FOO", ID} struct table entries */
28
-#define AS_LIST(name, ID) {#name, ID},
29
-
30
-/** Register Enum */
31
-enum ERROR {
32
-    /* Generate enum elements with X-Macro */
33
-    ERRORS(AS_ENUM)
34
-
35
-    ERROR_MAX
36
-};
37
-
38
-/**
39
- * Error List Generated by X-Macro @ref AS_LIST.
40
- *
41
- * Works with non-contiguous sets.
42
- */
43
-static const struct ErrorEntry {
44
-    char* name;
45
-    enum ERROR id;
46
-} ERROR_LIST[] = {
47
-    ERRORS(AS_LIST)
48
-};
49
-
50
-void PrintAll(void)
51
-{
52
-    size_t idx = ;
53
-
54
-    for (idx = ;
55
-         idx < sizeof(ERROR_LIST)/sizeof(ERROR_LIST[]);
56
-         idx++)
57
-    {
58
-        const struct ErrorEntry* reg = &ERROR_LIST[idx];
59
-        printf("Error message 0x%x is \"%s\"\n", reg->id, reg->name);
60
-    }
61
-}
62
-
63
-int main(void)
64
-{
65
-    PrintAll();
66
-}
67
-
68
-[[$[Get Code]]][4]
69 16
70
-
71
-
72
-## Method
73
-
74
-1. ERRORS(AS_ENUM) expands to enum ERROR {
75
-     /* Generate enum elements with X-Macro */
76
-     AS_ENUM(NO_ERROR, 0x00) \
77
-     AS_ENUM(EMPTY, 0x02) \
78
-     ...
79
-
80
-     ERROR_MAX
17
+ #include <stdio.h>
18
+
19
+ #define ERRORS(_) \
20
+     _(NO_ERROR, 0x00) \
21
+     /* discontiguous  */ \
22
+     _(EMPTY, 0x02) \
23
+     _(OVERFLOW, 0x03) \
24
+     _(TIMEOUT, 0x04) \
25
+
26
+ /** X-Macro to define ERROR_<FOO> enum entries */
27
+ #define AS\_ENUM(name, ID) ERROR\_##name = ID,
28
+ /** X-Macro to define {"ERROR_FOO", ID} struct table entries */
29
+ #define AS_LIST(name, ID) {#name, ID},
30
+
31
+ /** Register Enum */
32
+ enum ERROR {
33
+     /* Generate enum elements with X-Macro */
34
+     ERRORS(AS_ENUM)
35
+
36
+     ERROR_MAX
81 37
};
82 38
83
- [[$[Get Code]]][5]
84
-
85
-2. Each of these is then expanded again by the preprocessor to enum ERROR {
86
-     ERROR\_NO\_ERROR = 0x00,
87
-     ERROR_EMPTY = 0x02,
88
-     ...
89
-
90
-     ERROR_MAX
39
+ /**
40
+  * Error List Generated by X-Macro @ref AS_LIST.
41
+  *
42
+  * Works with non-contiguous sets.
43
+  */
44
+ static const struct ErrorEntry {
45
+     char* name;
46
+     enum ERROR id;
47
+ } ERROR_LIST[] = {
48
+     ERRORS(AS_LIST)
91 49
};
92 50
93
- [[$[Get Code]]][6]
51
+ void PrintAll(void)
52
+ {
53
+     size_t idx = ;
54
+
55
+     for (idx = ;
56
+          idx < sizeof(ERROR_LIST)/sizeof(ERROR_LIST[]);
57
+          idx++)
58
+     {
59
+         const struct ErrorEntry* reg = &ERROR_LIST[idx];
60
+         printf("Error message 0x%x is \"%s\"\n", reg->id, reg->name);
61
+     }
62
+ }
63
+
64
+ int main(void)
65
+ {
66
+     PrintAll();
67
+ }
68
+
69
+
70
+
71
+
72
+## Method
73
+
74
+
75
+ 1. ERRORS(AS_ENUM) expands to enum ERROR {
76
+     /* Generate enum elements with X-Macro */
77
+     AS_ENUM(NO_ERROR, 0x00) \
78
+     AS_ENUM(EMPTY, 0x02) \
79
+     ...
80
+
81
+     ERROR_MAX
82
+ };
83
+
84
+
85
+
86
+ 2. Each of these is then expanded again by the preprocessor to enum ERROR {
87
+     ERROR\_NO\_ERROR = 0x00,
88
+     ERROR_EMPTY = 0x02,
89
+     ...
90
+
91
+     ERROR_MAX
92
+ };
93
+
94 94
95 95
3. Similar expansion applies for the ERROR_LIST struct list entries
96 96
Tech/ContourHD.md
... ...
@@ -28,7 +28,7 @@ Purchase based on [Tech.HelmetCamera][1].
28 28
29 29
* Delivered
30 30
* Firmware update to 1.34
31
-* Configured with [EasyEdit][5][?][5]
31
+* Configured with EasyEdit
32 32
33 33
[1]: HelmetCamera
34 34
[2]: http://www.fawkes-cycles.co.uk/10159/products/Waterproof_housing_for_ContourHD_and_ContourHD_1080p.aspx
Tech/CrossCompilePowerPC.md
... ...
@@ -2,7 +2,7 @@
2 2
title: CrossCompilePowerPC
3 3
---
4 4
5
-Cross Compiling Debian [PowerPC][1][?][1] kernels on x86-64
5
+Cross Compiling Debian PowerPC kernels on x86-64
6 6
7 7
Embedded Debian repo, install toolchain
8 8
... ...
@@ -10,7 +10,7 @@ Embedded Debian repo, install toolchain
10 10
apt-get install gcc-4.1-powerpc-linux-gnu
11 11
12 12
13
-This uses [EmDebian][2][?][2]'s stable repo (for Etch)
13
+This uses EmDebian's stable repo (for Etch)
14 14
15 15
16 16
Tech/DWM.md
... ...
@@ -24,10 +24,11 @@ title: DWM
24 24
25 25
# Status Bar
26 26
27
-#!/bin/sh
27
+```shell
28
+#!/bin/sh
28 29
DISPLAY=:0.0 xsetroot -name "$(date '+%F %R %Z')"
29 30
30
-[[$[Get Code]]][3]
31
+```
31 32
32 33
Update every minute in `crontab`:
33 34
Tech/DebianRaspberryPiPackaging.md
... ...
@@ -26,20 +26,20 @@ dpkg-buildpackages -rfakeroot -us -uc
26 26
27 27
## Dependencies
28 28
29
-sudo dpkg --add-architecture armhf
30
-sudo apt-get update
31
-sudo apt-get -a armhf install cdbs devscripts libtool dh-buildinfo fakeroot
32 29
33
-[[$[Get Code]]][3]
30
+ sudo dpkg --add-architecture armhf
31
+ sudo apt-get update
32
+ sudo apt-get -a armhf install cdbs devscripts libtool dh-buildinfo fakeroot
33
+
34 34
35 35
36 36
37 37
## Environment
38 38
39
-dpkg-architecture -aarmhf
40
-export DEB\_BUILD\_OPTIONS=nocheck
41 39
42
-[[$[Get Code]]][4]
40
+ dpkg-architecture -aarmhf
41
+ export DEB\_BUILD\_OPTIONS=nocheck
42
+
43 43
44 44
45 45
Tech/DoogeeT5.md
... ...
@@ -18,13 +18,13 @@ Returned
18 18
: 2017-02-09
19 19
20 20
IP Rating
21
-: [IP67][1][?][1], waterproof, dust-proof, pressure-proof
21
+: IP67, waterproof, dust-proof, pressure-proof
22 22
23 23
Screen
24 24
: 5.0 inch capacitive screen, 1280x720
25 25
26 26
CPU
27
-: [MTK6753][2][?][2] 64bit Cortex-A53 1.3GHz octa-core.
27
+: MTK6753 64bit Cortex-A53 1.3GHz octa-core.
28 28
29 29
GPU
30 30
: Mali-T720
... ...
@@ -39,7 +39,7 @@ SIM
39 39
: Single Micro-SIM model?
40 40
41 41
Camera
42
-: 5.0MP ([SW8][3][?][3].0MP) front camera, 13.0MP(Samsung 3P3) camera with flashlight and auto focus
42
+: 5.0MP (SW8.0MP) front camera, 13.0MP(Samsung 3P3) camera with flashlight and auto focus
43 43
44 44
Power
45 45
: 4500mAh 5V/2A fast charge
... ...
@@ -76,7 +76,7 @@ RF 4G
76 76
77 77
## Backup NVRAM
78 78
79
-Specific to MTK [SoCs][4][?][4]? Saves IMEI etc.
79
+Specific to MTK SoCs? Saves IMEI etc.
80 80
81 81
82 82
... ...
@@ -91,9 +91,9 @@ Specific to MTK [SoCs][4][?][4]? Saves IMEI etc.
91 91
## Flash Custom Recovery
92 92
93 93
1. Extract scatter file from TWRP custom recovery ` unrar x TWRP_Doogee_T5.rar `
94
-2. Run [SPFlash][5][?][5] Tool and load scatterfile into Download tab
94
+2. Run SPFlash Tool and load scatterfile into Download tab
95 95
3. Select "Download Only" and recovery
96 96
4. Need to catch phone during preloader boot phase, so
97
-5. Set [SPFlash][5][?][5] Tool running "Download"
97
+5. Set SPFlash Tool running "Download"
98 98
6. Remove battery, plug phone into USB, insert battery, power on (with Vol+?)
99 99
Tech/EllipticCurveCrypto.md
... ...
@@ -10,10 +10,10 @@ title: EllipticCurveCrypto
10 10
11 11
# Application Support
12 12
13
-[OpenSSH][1][?][1]
13
+OpenSSH
14 14
: In version 5.9p1 at least (Ubuntu Precise)
15 15
16
-[GnuPG][2][?][2]
16
+GnuPG
17 17
: In mainline, not in any distro builds I have.
18 18
19 19
Tech/EmbeddedSystemTesting.md
... ...
@@ -11,7 +11,7 @@ title: EmbeddedSystemTesting
11 11
12 12
# Ideas
13 13
14
-* Get [TeamCity][1][?][1] to load and run tests on simulators?
14
+* Get TeamCity to load and run tests on simulators?
15 15
16 16
17 17
... ...
@@ -46,11 +46,11 @@ title: EmbeddedSystemTesting
46 46
47 47
# Questions
48 48
49
-* What OS runs on the [TorqueController][3][?][3]?
49
+* What OS runs on the TorqueController?
50 50
51 51
52 52
53
-## [TeamCity][1][?][1]
53
+## TeamCity
54 54
55 55
* How are tests run?
56 56
* How are results communicated?
... ...
@@ -62,9 +62,9 @@ title: EmbeddedSystemTesting
62 62
63 63
| Arch | OS | Sim |
64 64
|:----------------- | ------------------- | ------ |
65
-| ARM M3 | [SafeRTOS][4][?][4] | Win32? |
66
-| [TMS320][5][?][5] | SYS/BIOS | loadti |
67
-| [MSP430][6][?][6] | None |   |
65
+| ARM M3 | SafeRTOS | Win32? |
66
+| TMS320 | SYS/BIOS | loadti |
67
+| MSP430 | None |   |
68 68
| PIC | None |   |
69 69
| Matlab | None |   |
70 70
| FPGA | None |   |
Tech/FirmwareUpgrade.md
... ...
@@ -11,11 +11,11 @@ A simple method on Linux to upgrade HDD and motherboard firmware where the firmw
11 11
Grab the fdboot.img from [Freedos][1], then:
12 12
13 13
sudo mount -o loop fdboot.img /mnt/some-dir # mount as a loopback device
14
-sudo cp FIRMWARE.EXE /mnt/some-dir/  # Copy the necessary executable to /mnt/some-dir/
15
-sudo umount /mnt/some-dir  #  unmount image
16
-sudo dd if=fdboot.img of=/dev/sdX  # copy to USB stick /dev/sdX
17 14
18
-[[$[Get Code]]][2]
15
+ sudo cp FIRMWARE.EXE /mnt/some-dir/  # Copy the necessary executable to /mnt/some-dir/
16
+ sudo umount /mnt/some-dir  #  unmount image
17
+ sudo dd if=fdboot.img of=/dev/sdX  # copy to USB stick /dev/sdX
18
+
19 19
20 20
[1]: http://www.freedos.org/download/
21 21
[2]: FirmwareUpgrade?action=sourceblock&num=1
... ...
\ No newline at end of file
Tech/FixedWidthTypes.md
... ...
@@ -14,9 +14,9 @@ title: FixedWidthTypes
14 14
15 15
* If you choose fixed width types then there is less chance of code breaking when moved onto a different platform
16 16
* I think that's a fallacy.
17
- * Where we're needlessly using [INT16][1][?][1] or [UINT16][2][?][2], we're actually trying to guarantee that int hold a 16-bit value. That's already guaranteed by the C standard anyway.
18
- * Similarly with [INT32][3][?][3] or [UINT32][4][?][4], where the C standard guarantees a long will hold the necessary values.
19
- * Consider also the [CHAR8][5][?][5]*, [UINT8][6][?][6]*, string.h mess we've got. It really would be simpler to use plain char for strings.
17
+ * Where we're needlessly using INT16 or UINT16, we're actually trying to guarantee that int hold a 16-bit value. That's already guaranteed by the C standard anyway.
18
+ * Similarly with INT32 or UINT32, where the C standard guarantees a long will hold the necessary values.
19
+ * Consider also the CHAR8*, UINT8*, string.h mess we've got. It really would be simpler to use plain char for strings.
20 20
21 21
22 22
... ...
@@ -45,7 +45,7 @@ title: FixedWidthTypes
45 45
46 46
* it gives Lint a greater chance of picking up errors.
47 47
* Nope, lint already knows about the width of the platform's standard types.
48
- * If we want better checking we should use purely-semantic typedefs (e.g. typedef [UINT16][2][?][2] [CRC16][7][?][7]_T) more and turn on lint's strong type checks.
48
+ * If we want better checking we should use purely-semantic typedefs (e.g. typedef UINT16 CRC16_T) more and turn on lint's strong type checks.
49 49
50 50
51 51
Tech/FlacToMp3.md
... ...
@@ -43,14 +43,14 @@ Convert flac library to other formats in one go.
43 43
44 44
# Single flac with cue to multiflac
45 45
46
-metaflac --import-cuesheet-from=CDImage.cue CDImage.flac
47
-abcde -d CDImage.flac -o flac:"-6 -V"
48 46
49
-[[$[Get Code]]][2]
47
+ metaflac --import-cuesheet-from=CDImage.cue CDImage.flac
48
+ abcde -d CDImage.flac -o flac:"-6 -V"
49
+
50 50
51 51
52 52
53
-# Force [MusicBrainz][3][?][3] Lookup
53
+# Force MusicBrainz Lookup
54 54
55 55
Set `<span class="wikiword"><a class='createlinktext' rel='nofollow'
56 56
Tech/FlashBench.md
... ...
@@ -19,7 +19,7 @@ Make
19 19
: Samsung
20 20
21 21
Model
22
-: MB-[MP32D][1][?][1]
22
+: MB-MP32D
23 23
24 24
Class
25 25
: Class 10, UHS-1
... ...
@@ -82,7 +82,7 @@ Make
82 82
: Sandisk
83 83
84 84
Model
85
-: SDSDQU-016G-[U46A][2][?][2]
85
+: SDSDQU-016G-U46A
86 86
87 87
Class
88 88
: Class 10, UHS-1
Tech/GnuPGKeyManagement.md
... ...
@@ -259,14 +259,14 @@ To remove the 2nd subkey:
259 259
260 260
# Hashing Algorithm
261 261
262
-[SHA1][28][?][28] is broken. [SHA256][29][?][29] or [SHA512][30][?][30] should be used.
262
+SHA1 is broken. SHA256 or SHA512 should be used.
263 263
264 264
echo "digest-algo SHA256" >> .gnupg/gpg.conf
265 265
266 266
267 267
268 268
269
-# Adding [UIDs][31][?][31]
269
+# Adding UIDs
270 270
271 271
* TODO
272 272
... ...
@@ -313,7 +313,7 @@ To remove the 2nd subkey:
313 313
314 314
## Signing a Key
315 315
316
-* Use key ID "FEEDBEEF" to sign key ID "[DEADC0DE][32][?][32]"
316
+* Use key ID "FEEDBEEF" to sign key ID "DEADC0DE"
317 317
318 318
### Transcript
319 319
... ...
@@ -404,7 +404,7 @@ To remove the 2nd subkey:
404 404
405 405
406 406
407
-## Role [UIDs][31][?][31]
407
+## Role UIDs
408 408
409 409
* TODO
410 410
* UID for each role (and associated contact address) within the organisation
... ...
@@ -443,7 +443,7 @@ Example: Agent A leaves role R, Agent B takes over role R
443 443
### Preliminaries
444 444
445 445
* New Agent generates a new Agent Key
446
-* Agent adds [UIDs][31][?][31] for organizational roles
446
+* Agent adds UIDs for organizational roles
447 447
448 448
449 449
... ...
@@ -536,7 +536,7 @@ Example: Agent A leaves role R, Agent B takes over role R
536 536
537 537
* See [GnuPG Cross Certification][34]
538 538
* Secondary signing key only for day-to-day use or on vulnerable systems. (e.g. mobile phones)
539
- * Secret subkey import not supported by [BouncyCastle][35][?][35]
539
+ * Secret subkey import not supported by BouncyCastle
540 540
* Add signing subkey
541 541
* cross-certify
542 542
Tech/GoogleAppsMigration.md
... ...
@@ -6,7 +6,7 @@ title: GoogleAppsMigration
6 6
7 7
# Mail
8 8
9
-## [TinyDNS][1][?][1]
9
+## TinyDNS
10 10
11 11
@markferry.net::aspmx.l.google.com.:1:1800
12 12
@markferry.net::alt1.aspmx.l.google.com.:5:1800
... ...
@@ -39,7 +39,7 @@ title: GoogleAppsMigration
39 39
40 40
41 41
42
-## [TinyDNS][1][?][1]
42
+## TinyDNS
43 43
44 44
# Jabber SRV
45 45
:_xmpp-server._tcp:33:\000\000\000\005\024\225\013xmpp-server\001l\006google\003com\000:
Tech/GpsFiltering.md
... ...
@@ -73,7 +73,7 @@ Crossing
73 73
74 74
# Rendering
75 75
76
-* [GpsVisualizer][3][?][3]
76
+* GpsVisualizer
77 77
* Google Maps
78 78
* Paste the gpx URL in the google maps search box
79 79
Tech/HuaweiE3372.md
... ...
@@ -9,7 +9,7 @@ Model
9 9
: E3372s-153
10 10
11 11
Antenna Connector
12
-: 2x [CRC9][1][?][1]
12
+: 2x CRC9
13 13
14 14
Provider
15 15
: Vodafone UK
... ...
@@ -18,7 +18,7 @@ Interface
18 18
:
19 19
20 20
Protocols
21
-: [LTE4][2][?][2] (150Mbps down, 50Mbps up), DC-HSPA+ (42Mbps)
21
+: LTE4 (150Mbps down, 50Mbps up), DC-HSPA+ (42Mbps)
22 22
23 23
Lock status
24 24
: Locked
Tech/Images.md
... ...
@@ -16,7 +16,7 @@ exiftool -all=  $file
16 16
17 17
# Convert Canon Raw Images
18 18
19
-Batch convert [CR2][2][?][2] images using 4 threads
19
+Batch convert CR2 images using 4 threads
20 20
21 21
find . -iname '*.CR2' -print0 | xargs -0 -n 1 -P 4 -I %% convert %% %%.jpg
22 22
Tech/InstantMessaging.md
... ...
@@ -12,7 +12,7 @@ title: InstantMessaging
12 12
13 13
## Pidgin
14 14
15
-Create $HOME/.purple/gtkrc-2.0 (c:/Users/$[AppData][1][?][1]/Roaming/.purple/gtkrc-2.0):
15
+Create $HOME/.purple/gtkrc-2.0 (c:/Users/$AppData/Roaming/.purple/gtkrc-2.0):
16 16
17 17
# This is the style section. You need this for the examples below.
18 18
# If you are going to copy the example, copy the entire block,
Tech/JavaOnX64.md
... ...
@@ -20,10 +20,10 @@ export \_JAVA\_OPTIONS=
20 20
21 21
22 22
23
-java -Xmx384m -Xss256k
24
25 23
26
-[[$[Get Code]]][2]
24
+ java -Xmx384m -Xss256k
25
+  
26
+
27 27
28 28
29 29
... ...
@@ -35,10 +35,10 @@ java -Xmx384m -Xss256k
35 35
36 36
37 37
38
-java -XX:-UseCompressedOops
39
40 38
41
-[[$[Get Code]]][3]
39
+ java -XX:-UseCompressedOops
40
+  
41
+
42 42
43 43
[1]: JavaOnX64?action=sourceblock&num=1
44 44
[2]: JavaOnX64?action=sourceblock&num=2
Tech/JenkinsMultibranchPipelineWithGitTagDiscovery.md
... ...
@@ -16,33 +16,33 @@ But` branchSources / branchSource / source / git`, however, does!
16 16
17 17
18 18
19
-multibranchPipelineJob('my_repo') {
20
-    factory {
21
-        workflowBranchProjectFactory {
22
-            scriptPath('Jenkinsfile')
23
-        }
24
-    }
25
-    branchSources {
26
-        branchSource {
27
-            source {
28
-                git {
29
-                    remote(git_url)
30
-                    credentialsId('my\_credential\_id')
31
-                    traits {
32
-                        gitBranchDiscovery()
33
-                        gitTagDiscovery()  // be careful you don't create a build storm!
34
-                        headWildcardFilter {
35
-                            includes('my\_branch1 my\_branches* my_tags* )
36
-                            excludes('')
37
-                        }
38
-                    }
39
-                }
40
-            }
41
-        }
42
-    }
43
-}
44
-
45
-[[$[Get Code]]][7]
19
+
20
+ multibranchPipelineJob('my_repo') {
21
+     factory {
22
+         workflowBranchProjectFactory {
23
+             scriptPath('Jenkinsfile')
24
+         }
25
+     }
26
+     branchSources {
27
+         branchSource {
28
+             source {
29
+                 git {
30
+                     remote(git_url)
31
+                     credentialsId('my\_credential\_id')
32
+                     traits {
33
+                         gitBranchDiscovery()
34
+                         gitTagDiscovery()  // be careful you don't create a build storm!
35
+                         headWildcardFilter {
36
+                             includes('my\_branch1 my\_branches* my_tags* )
37
+                             excludes('')
38
+                         }
39
+                     }
40
+                 }
41
+             }
42
+         }
43
+     }
44
+ }
45
+
46 46
47 47
[1]: https://jenkins.io/
48 48
[2]: https://wiki.jenkins.io/display/JENKINS/Pipeline+Multibranch+Plugin
Tech/LLVMBackend.md
... ...
@@ -11,15 +11,15 @@ title: LLVMBackend
11 11
12 12
# Source
13 13
14
-git clone http://llvm.org/git/llvm.git
15
-# upstream is SVN so always rebase master
16
-git config branch.master.rebase true
17
-# clangc
18
-cd tools
19
-git clone http://llvm.org/git/clang.git
20
-git config branch.master.rebase true
21 14
22
-[[$[Get Code]]][1]
15
+ git clone http://llvm.org/git/llvm.git
16
+ # upstream is SVN so always rebase master
17
+ git config branch.master.rebase true
18
+ # clangc
19
+ cd tools
20
+ git clone http://llvm.org/git/clang.git
21
+ git config branch.master.rebase true
22
+
23 23
24 24
25 25
... ...
@@ -27,10 +27,10 @@ git config branch.master.rebase true
27 27
28 28
## Prerequisites
29 29
30
-sudo apt-get build-dep llvm clang
31
-sudo apt-get install ninja-build ccache
32 30
33
-[[$[Get Code]]][2]
31
+ sudo apt-get build-dep llvm clang
32
+ sudo apt-get install ninja-build ccache
33
+
34 34
35 35
36 36
... ...
@@ -38,29 +38,29 @@ sudo apt-get install ninja-build ccache
38 38
39 39
Had 4GB with 6GB zram0. Bumping zram0 to 8GB worked.
40 40
41
-cat /sys/block/zram0/disksize   # current size, readonly while in use
42
-swapoff /dev/zram0
43
-rmmod zram  # what's the proper way to disable a zram dev?
44
-modprobe zram
45
-echo 8G > /sys/block/zram0/disksize
46
-mkswap /dev/zram0
47
-swapon /dev/zram0
48 41
49
-[[$[Get Code]]][3]
42
+ cat /sys/block/zram0/disksize   # current size, readonly while in use
43
+ swapoff /dev/zram0
44
+ rmmod zram  # what's the proper way to disable a zram dev?
45
+ modprobe zram
46
+ echo 8G > /sys/block/zram0/disksize
47
+ mkswap /dev/zram0
48
+ swapon /dev/zram0
49
+
50 50
51 51
52 52
53 53
## Compile
54 54
55
-mkdir build && cd build
56
-cmake -G Ninja \
57
-    -DLLVM\_TARGETS\_TO_BUILD="X86;MSP430" \
58
-    -DCMAKE\_INSTALL\_PREFIX=/usr/local \
59
-    -DLLVM\_BUILD\_LLVM_DYLIB=true \
60
-    ../
61
-ninja
62 55
63
-[[$[Get Code]]][4]
56
+ mkdir build && cd build
57
+ cmake -G Ninja \
58
+     -DLLVM\_TARGETS\_TO_BUILD="X86;MSP430" \
59
+     -DCMAKE\_INSTALL\_PREFIX=/usr/local \
60
+     -DLLVM\_BUILD\_LLVM_DYLIB=true \
61
+     ../
62
+ ninja
63
+
64 64
65 65
[1]: LLVMBackend?action=sourceblock&num=1
66 66
[2]: LLVMBackend?action=sourceblock&num=2
Tech/LightningForLinuxPPC.md
... ...
@@ -19,7 +19,7 @@ Right-click "Save As...", then install from the Add-ons menu item in Thunderbird
19 19
20 20
21 21
22
-## [GData][3][?][3] Provider
22
+## GData Provider
23 23
24 24
* [gdata-provider-0.5 for Linux PPC][4]
25 25
* [gdata-provider-0.4pre for Linux PPC][5]
... ...
@@ -30,7 +30,7 @@ Official versions are available at [addons.mozilla.org][6]
30 30
31 31
## Status
32 32
33
-Works with Thunderbird 2.0.0.17 on Ubuntu Gutsy ([LinuxPPC][7][?][7]), including bi-directional syncing with Google Calendar.
33
+Works with Thunderbird 2.0.0.17 on Ubuntu Gutsy (LinuxPPC), including bi-directional syncing with Google Calendar.
34 34
35 35
36 36
... ...
@@ -59,7 +59,7 @@ This .mozconfig worked for me: [.mozconfig-lightning][8]
59 59
3. cd to the newly created mozilla directory
60 60
4. copy my [.mozconfig-lightning][8] to .mozconfig
61 61
5. make -f client.mk clean ; make -f client.mk build
62
-6. if all goes well, the [XPIs][10][?][10] will be in dist/xpi-stage
62
+6. if all goes well, the XPIs will be in dist/xpi-stage
63 63
64 64
NOTE: When changing options in .mozconfig I had to "make -f client.mk clean" before rebuilding.
65 65
Tech/MSVCProductivity.md
... ...
@@ -6,10 +6,11 @@ title: MSVCProductivity
6 6
7 7
## List of source files
8 8
9
-#!/bin/sh
9
+```shell
10
+#!/bin/sh
10 11
xmlstarlet sel -t -c 'Project/ItemGroup/ClCompile' -i "contains(Include,'.cpp')" -o "ClCompile" -n  libVinoDriverUnitTests.vcxproj
11 12
12
-[[$[Get Code]]][1]
13
+```
13 14
14 15
15 16
... ...
@@ -20,7 +21,7 @@ xmlstarlet sel -t -c 'Project/ItemGroup/ClCompile' -i "contains(Include,'.cpp')"
20 21
21 22
22 23
23
-## [VCProj][3][?][3]
24
+## VCProj
24 25
25 26
<Configuration
26 27
Name="Debug|Win32"
... ...
@@ -93,7 +94,7 @@ xmlstarlet sel -t -c 'Project/ItemGroup/ClCompile' -i "contains(Include,'.cpp')"
93 94
94 95
95 96
96
-* Possibly [WholeProgramOptimization][4][?][4], [ExcludeBuckets][5][?][5] or [EnableFunctionLevelLinking][6][?][6] have something to do with the fix.
97
+* Possibly WholeProgramOptimization, ExcludeBuckets or EnableFunctionLevelLinking have something to do with the fix.
97 98
98 99
[1]: MSVCProductivity?action=sourceblock&num=1
99 100
[2]: http://github.com/cognomen/C-MsgGen
Tech/MatshitaUJ816.md
... ...
@@ -2,7 +2,7 @@
2 2
title: MatshitaUJ816
3 3
---
4 4
5
-[DXJ3][1][?][1] firmware causes problems for hald-addon-storage
5
+DXJ3 firmware causes problems for hald-addon-storage
6 6
7 7
8 8
Tech/MiniHDCamera.md
... ...
@@ -7,7 +7,7 @@ title: MiniHDCamera
7 7
8 8
9 9
10
-# [LEDs][3][?][3]
10
+# LEDs
11 11
12 12
| Y | R | Mode |
13 13
|:--- | --- | -------------------------- |
Tech/MinimalistCodeStyle.md
... ...
@@ -37,14 +37,14 @@ A C coding style which:
37 37
* Parameters
38 38
* Comma-decl style for parameters
39 39
40
-extern return\_type\_t
41
-Function(
42
-         int param1
43
-         , int param2
44
-         , int param3
45
-        );
46 40
47
-[[$[Get Code]]][1]
41
+ extern return\_type\_t
42
+ Function(
43
+          int param1
44
+          , int param2
45
+          , int param3
46
+         );
47
+
48 48
49 49
50 50
... ...
@@ -52,16 +52,16 @@ Function(
52 52
53 53
* Mandatory last element
54 54
55
-enum Enumeration {
56
-   ZEROTH = ,   /**! Short description */
57
-   FIRST = 1,
58
-   SECOND = 2,
59
-
60
-   /** Mandatory last element */
61
-   LAST
62
-};
63 55
64
-[[$[Get Code]]][2]
56
+ enum Enumeration {
57
+    ZEROTH = ,   /**! Short description */
58
+    FIRST = 1,
59
+    SECOND = 2,
60
+
61
+    /** Mandatory last element */
62
+    LAST
63
+ };
64
+
65 65
66 66
67 67
... ...
@@ -70,17 +70,17 @@ enum Enumeration {
70 70
* Separate lines for each argument
71 71
* New indent for each sub-expression
72 72
73
-    if (booleanA
74
-        && booleanB
75
-        || (booleanC
76
-            && booleanD
77
-           )
78
-       )
79
-    {
80
-
81
-    }
82
-
83
-[[$[Get Code]]][3]
73
+
74
+     if (booleanA
75
+         && booleanB
76
+         || (booleanC
77
+             && booleanD
78
+            )
79
+        )
80
+     {
81
+
82
+     }
83
+
84 84
85 85
[1]: MinimalistCodeStyle?action=sourceblock&num=1
86 86
[2]: MinimalistCodeStyle?action=sourceblock&num=2
Tech/MotoG.md
... ...
@@ -9,7 +9,7 @@ Model
9 9
: Moto G
10 10
11 11
Model Code
12
-: [XT1039][1][?][1]
12
+: XT1039
13 13
14 14
Purchased
15 15
: 2013-11-24
... ...
@@ -83,11 +83,11 @@ or
83 83
1. Install android SDK
84 84
2. Connect device via USB and switch it to fastboot mode
85 85
1. power off, then hold power and volume-down button
86
-3. Extract unlock key (bootloader) 0123456789ABCDEF#0123456789ABCD
87
- (bootloader) EF0123456789ABCDEF01234567#0123
88
- ...
89
-
90
- [[$[Get Code]]][3]
86
+
87
+ 3. Extract unlock key (bootloader) 0123456789ABCDEF#0123456789ABCD
88
+ (bootloader) EF0123456789ABCDEF01234567#0123
89
+ ...
90
+
91 91
92 92
4. Login to [Motorola unlock page][4] and enter key to retrieve unlock code.
93 93
5. Code is 20-character alphanumeric
... ...
@@ -103,21 +103,21 @@ sudo fastboot oem unlock UNLOCK_CODE
103 103
104 104
105 105
106
-# Flash [CyanogenMod][6][?][6]
106
+# Flash CyanogenMod
107 107
108 108
[https://wiki.cyanogenmod.org/w/Install\_CM\_for_peregrine][7]
109 109
110 110
111 111
112
-* Download CM, [CMRecovery][8][?][8], [OpenGApps][9]
113
-* Install [CMRecovery][8][?][8]
112
+* Download CM, CMRecovery, [OpenGApps][9]
113
+* Install CMRecovery
114 114
adb reboot bootloader
115 115
sudo fastboot flash recovery ./cm-13.0-20160820-SNAPSHOT-ZNH5YAO0J6-peregrine-recovery.img
116 116
117 117
118 118
119 119
* Boot recovery
120
-* In [CMRecovery][8][?][8]:
120
+* In CMRecovery:
121 121
* Factory Reset / Wipe
122 122
123 123
... ...
@@ -159,10 +159,10 @@ Need to [update Radio firmware][10]
159 159
160 160
## Post-flash config
161 161
162
-* Install [OpenGApps][11][?][11] from fastboot
162
+* Install OpenGApps from fastboot
163 163
* Encrypt phone
164 164
* Restart
165
-* Install [TitaniumBackup][12][?][12]
165
+* Install TitaniumBackup
166 166
* Restore data
167 167
168 168
[2]: http://www.reddit.com/r/MotoG/comments/22mimr/the_guide_to_rooting_the_motog_with_a_howto/
Tech/MotoG5.md
... ...
@@ -9,7 +9,7 @@ Model
9 9
: Moto G5
10 10
11 11
Model Code
12
-: [XT1676][1][?][1]
12
+: XT1676
13 13
14 14
Model Codename
15 15
: Cedric
... ...
@@ -24,7 +24,7 @@ RAM
24 24
: 3GB
25 25
26 26
Latest
27
-: [NPP25][2][?][2].137-93
27
+: NPP25.137-93
28 28
29 29
30 30
... ...
@@ -38,15 +38,15 @@ Latest
38 38
39 39
1. Unlock Bootloader
40 40
41
-adb reboot-bootloader
42
-sudo fastboot oem get\_unlock\_data
43
-# paste together code and post into moto form ...
44
-# wait for unlock key from motorola ...
45
-sudo fastboot oem unlock KEY
46
-sudo fastboot oem unlock KEY  # have to run it twice
47
-sudo fastboot reboot
48 41
49
-[[$[Get Code]]][4]
42
+ adb reboot-bootloader
43
+ sudo fastboot oem get\_unlock\_data
44
+ # paste together code and post into moto form ...
45
+ # wait for unlock key from motorola ...
46
+ sudo fastboot oem unlock KEY
47
+ sudo fastboot oem unlock KEY  # have to run it twice
48
+ sudo fastboot reboot
49
+
50 50
51 51
52 52
... ...
@@ -55,13 +55,13 @@ sudo fastboot reboot
55 55
56 56
57 57
58
-adb reboot-bootloader
59
-sudo fastboot flash recovery twrp-3.3.1--cedric.img
60
-# "Image not signed or corrupt" is harmless.
61
-# Immediately select recovery using bootloader screen
62
-#  otherwise boot will overwrite twrp
63 58
64
-[[$[Get Code]]][5]
59
+ adb reboot-bootloader
60
+ sudo fastboot flash recovery twrp-3.3.1--cedric.img
61
+ # "Image not signed or corrupt" is harmless.
62
+ # Immediately select recovery using bootloader screen
63
+ #  otherwise boot will overwrite twrp
64
+
65 65
66 66
1. Wipe
67 67
1. In the Decrypt /data screen, press cancel, then "Swipe to Allow Modifications"
... ...
@@ -70,7 +70,7 @@ sudo fastboot flash recovery twrp-3.3.1--cedric.img
70 70
4. "Swipe to Allow Modifications"
71 71
2. Disable forced encryption
72 72
1. Push and flash "no-verity-opt-encrypt-5.1.zip"
73
-3. Flash [SuperSU][6][?][6]
73
+3. Flash SuperSU
74 74
4. Flash Magisk
75 75
1. Push and flash "Magisk-v11.6.zip" # NOT VERSION 12!
76 76
2. After the setup, come back to TWRP main menu, go to REBOOT, then SYSTEM, then DO NOT INSTALL
... ...
@@ -98,7 +98,7 @@ This will reset the home screen.
98 98
99 99
# Backup and Restore
100 100
101
-## [UIDs][7][?][7] and [GIDs][8][?][8]
101
+## UIDs and GIDs
102 102
103 103
adb shell
104 104
su
Tech/MultiwayRadio.md
... ...
@@ -24,7 +24,7 @@ title: MultiwayRadio
24 24
25 25
* 100m range from an in-car transmitter is possible
26 26
27
-## [SMesh][1][?][1]
27
+## SMesh
28 28
29 29
* no devices on the market?
30 30
... ...
@@ -44,6 +44,6 @@ title: MultiwayRadio
44 44
* Local wifi hotspot (range?)
45 45
* Mesh networking
46 46
* Android audio-conferencing app?
47
-* [TomTom][2][?][2] integration?
47
+* TomTom integration?
48 48
* Teamspeak?
49 49
Tech/MusicTagging.md
... ...
@@ -40,7 +40,7 @@ Current Debian versions tend to be old.
40 40
41 41
42 42
43
-# [MusicBrainz][1][?][1]
43
+# MusicBrainz
44 44
45 45
1. picard
46 46
1. Import
... ...
@@ -81,10 +81,10 @@ Preferred Release Formats
81 81
: CD
82 82
83 83
Before Tagging
84
-: clear existing, remove [ID3][2][?][2] from FLAC, remove APE from [MP3][3][?][3]
84
+: clear existing, remove ID3 from FLAC, remove APE from MP3
85 85
86 86
Tag Compatibility
87
-: [ID3v2][4][?][4].4, UTF-8
87
+: ID3v2.4, UTF-8
88 88
89 89
90 90
... ...
@@ -143,7 +143,7 @@ Forces multiple genres into separate tags.
143 143
144 144
* Also replace ' / ' (which is forced to '_' by picard) to '; '
145 145
* Album: drop everything from the second ':' onwards
146
-* [DiscSubtitle][5][?][5]: add to the path if it exists
146
+* DiscSubtitle: add to the path if it exists
147 147
148 148
$replace($noop(?)
149 149
$replace($noop(:)
... ...
@@ -201,7 +201,7 @@ Trying for something like `composer/work/performance/(01x01 - )composer - title`
201 201
Produces:
202 202
203 203
* `Wolfgang Amadeus Mozart/Don Giovanni/Freiburger Barockorchester, René Jacobs/01x01 - Wolfgang Amadeus Mozart - Il dissoluto punito, ossia il Don Giovanni, K. 527 - Ouverture. Andante - allegro molto.mp3`
204
-* @@Wolfgang Amadeus Mozart/Requiem/Berliner Philharmoniker/Wolfgang Amadeus Mozart - Requiem in D minor, K. 626 (Süßmayr completion) - [IIIa][6][?][6]. Sequenz - 'Dies irae'.mp3
204
+* @@Wolfgang Amadeus Mozart/Requiem/Berliner Philharmoniker/Wolfgang Amadeus Mozart - Requiem in D minor, K. 626 (Süßmayr completion) - IIIa. Sequenz - 'Dies irae'.mp3
205 205
206 206
@@
207 207
Tech/Mutt.md
... ...
@@ -58,43 +58,44 @@ muttrc
58 58
59 59
<http://nickmurdoch.livejournal.com/391409.html>
60 60
61
-sudo apt-get install ruby1.9.3
62
-sudo gem1.9.3 install -v 1.5.4 icalendar"
63
-
64
-[[$[Get Code]]][1]
65
-
66
-
67
-
68
-#!/usr/bin/env ruby
69
-
70
-require "rubygems" # apt-get install rubygems
71
-require "icalendar" # gem install icalendar
72
-require "date"
73
-
74
-class DateTime
75
-  def myformat
76
-    (self.offset == ? (DateTime.parse(self.strftime("%a %b %d %Y, %H:%M ") + self.icalendar_tzid)) : self).
77
-        new_offset(Rational(Time.now.utc_offset - 60*60, 24*60*60)).strftime("%a %b %d %Y, %H:%M")
78
-        # - 60*60 to compensate for icalendar gem/Outlook mismatch
79
-  end
80
-end
81
-
82
-cals = Icalendar.parse($<)
83
-cals.each do |cal|
84
-  cal.events.each do |event|
85
-    puts "Organizer: #{event.organizer}"
86
-    puts "Event:     #{event.summary}"
87
-    puts "Starts:    #{event.dtstart.myformat} local time"
88
-    puts "Ends:      #{event.dtend.myformat}"
89
-    puts "Location:  #{event.location}"
90
-    puts "Contact:   #{event.contacts}"
91
-    puts "Description:\n#{event.description}"
92
-    puts ""
93
-    end
94
-end
61
+
62
+ sudo apt-get install ruby1.9.3
63
+ sudo gem1.9.3 install -v 1.5.4 icalendar"
64
+
65
+
66
+
67
+
68
+```ruby
69
+#!/usr/bin/env ruby
70
+
71
+require "rubygems" # apt-get install rubygems
72
+require "icalendar" # gem install icalendar
73
+require "date"
74
+
75
+class DateTime
76
+  def myformat
77
+    (self.offset == ? (DateTime.parse(self.strftime("%a %b %d %Y, %H:%M ") + self.icalendar_tzid)) : self).
78
+        new_offset(Rational(Time.now.utc_offset - 60*60, 24*60*60)).strftime("%a %b %d %Y, %H:%M")
79
+        # - 60*60 to compensate for icalendar gem/Outlook mismatch
80
+  end
81
+end
82
+
83
+cals = Icalendar.parse($<)
84
+cals.each do |cal|
85
+  cal.events.each do |event|
86
+    puts "Organizer: #{event.organizer}"
87
+    puts "Event:     #{event.summary}"
88
+    puts "Starts:    #{event.dtstart.myformat} local time"
89
+    puts "Ends:      #{event.dtend.myformat}"
90
+    puts "Location:  #{event.location}"
91
+    puts "Contact:   #{event.contacts}"
92
+    puts "Description:\n#{event.description}"
93
+    puts ""
94
+    end
95
+end
95 96
 
96 97
97
-[[$[Get Code]]][2]
98
+```
98 99
99 100
`.mailcap`:
100 101
Tech/Netbook.md
... ...
@@ -66,10 +66,10 @@ title: Netbook
66 66
|:---------- | --------------------- | ------ | --------- | --------- | ------- | ---------------- | ------------------------- | ---------------- |
67 67
| Asus | 901 | 1.10 | Atom N270 | 20GB | 6-8 | 8.9", 1024 x 600 | Cam, SD Card, BT, 802.11n | 299 |
68 68
| Asus | 1000 | 1.33 | Atom N270 | 40GB | 5-6 | 10", 1024 x 600 | Cam, SD Card, BT, 802.11n |   |
69
-| Acer | [A110L][23][?][23] | 0.99 | Atom N270 | 8GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card | 129 |
70
-| Acer | [A110X][24][?][24] | 0.99 | Atom N270 | 16GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card |   |
71
-| Acer | A150-[BGw][25][?][25] | 0.99 | Atom N270 | 0/160GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card, 3G | [199][26] |
72
-| Acer | [ZG5][27][?][27] | ?? | Atom N270 | 16GB | 6-7 | 8.9", 1024 x 600 | Cam, SD Card |   |
69
+| Acer | A110L | 0.99 | Atom N270 | 8GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card | 129 |
70
+| Acer | A110X | 0.99 | Atom N270 | 16GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card |   |
71
+| Acer | A150-BGw | 0.99 | Atom N270 | 0/160GB | 3, 6-7 | 8.9", 1024 x 600 | Cam, SD Card, 3G | [199][26] |
72
+| Acer | ZG5 | ?? | Atom N270 | 16GB | 6-7 | 8.9", 1024 x 600 | Cam, SD Card |   |
73 73
| MSI | Wind U115 | 0.94 | Atom Z530 | 8GB/160GB | 10 | 10", 1024 x 600 | Cam, SD Card, BT, 802.11n |   |
74 74
| MSI/Advent | U100/4211-c | 1.12 | Atom N270 | 0/160GB |   | 10", 1024 x 600 | Cam, SD, BT | [refurb 180][28] |
75 75
... ...
@@ -86,17 +86,17 @@ title: Netbook
86 86
87 87
| Make | Model | Compatibility | Weight (kg) | CPU | SSD/HDD | Battery (hours) | Screen | Other | Price |
88 88
|:---------------------- | ---------------------------------- | ------------- | ----------- | ------------------------------------ | ---------------- | --------------- | -------------------- | -------------------------------------------------- | ------------ |
89
-| Samsung | Chromebook 2 [XE503C12][29][?][29] |   |   | ARM Exynos 54?? | 16GB eMMC | >7 | 11.6" |   | $299 |
90
-| Acer | Chromebook C720 | good [1][30] | 1.25 | Intel Haswell 1.4 (2955U) | 16GB SSD | 8.5 | 11.6" 1366x768 | 1 [USB3][31][?][31], 1 [USB2][32][?][32], HDMI, SD | 199 |
91
-| Lenovo | X131e |   | 1.80 | Intel |   | 7.5 | 11.6" 1366x768 | 2 [USB3][31][?][31], 1 [USB2][32][?][32], Eth | $399+[2][33] |
92
-| HP | Chromebook 11 | excellent | 1.04 | ARM Exynos 5250 1.7GHz | 16GB SSD | 6 | 11.6" 1366x768 | 2 [USB2][32][?][32] | 229 |
93
-| Samsung | Chromebook [XE303C12][34][?][34] |   | 1.10 | ARM Exynos 5250 1.7GHz | 16GB SSD | 7 | 11.6" 1366x768 | 1 [USB3][31][?][31], 1 [USB2][32][?][32] | 229 |
89
+| Samsung | Chromebook 2 XE503C12 |   |   | ARM Exynos 54?? | 16GB eMMC | >7 | 11.6" |   | $299 |
90
+| Acer | Chromebook C720 | good [1][30] | 1.25 | Intel Haswell 1.4 (2955U) | 16GB SSD | 8.5 | 11.6" 1366x768 | 1 USB3, 1 USB2, HDMI, SD | 199 |
91
+| Lenovo | X131e |   | 1.80 | Intel |   | 7.5 | 11.6" 1366x768 | 2 USB3, 1 USB2, Eth | $399+[2][33] |
92
+| HP | Chromebook 11 | excellent | 1.04 | ARM Exynos 5250 1.7GHz | 16GB SSD | 6 | 11.6" 1366x768 | 2 USB2 | 229 |
93
+| Samsung | Chromebook XE303C12 |   | 1.10 | ARM Exynos 5250 1.7GHz | 16GB SSD | 7 | 11.6" 1366x768 | 1 USB3, 1 USB2 | 229 |
94 94
| HP | Chromebook 14 |   | 1.84 | Intel Haswell 1.4 | 16GB SSD |   | 14" 1366x768 |   | 299 |
95
-| Asus | Transformer T100 | poor [3][35] | 1.10 | Intel [AtomZ3740][36][?][36] 1.33GHz | 32GB SSD (or 64) | 10 | 10.1" 1366x768 Touch | 1 [USB3][31][?][31], 1 [USB2][32][?][32], sensors | 349 |
95
+| Asus | Transformer T100 | poor [3][35] | 1.10 | Intel AtomZ3740 1.33GHz | 32GB SSD (or 64) | 10 | 10.1" 1366x768 Touch | 1 USB3, 1 USB2, sensors | 349 |
96 96
| Apple | Macbook Pro 13" |   |   |   |   |   |   |   | 1099 |
97 97
| Lenovo | X240 |   |   |   |   |   |   |   | ~1400 |
98 98
| Lenovo | Carbon X1 |   |   |   |   |   |   |   | 1439 |
99
-| [AArch64][37][?][37] ? |   |   |   |   |   |   |   |   |   |
99
+| AArch64 ? |   |   |   |   |   |   |   |   |   |
100 100
101 101
102 102
... ...
@@ -117,17 +117,17 @@ Purchased
117 117
118 118
# Replacement 2015
119 119
120
-The Samsung [XE503C12][29][?][29] sucked. Dodgy [SDcard][41][?][41] slot, no 2D accelerated graphics, 3D acceleration via [OpenGLES][42][?][42] only (Wayland still too immature).
120
+The Samsung XE503C12 sucked. Dodgy SDcard slot, no 2D accelerated graphics, 3D acceleration via OpenGLES only (Wayland still too immature).
121 121
122 122
123 123
124 124
| Make | Model | CPU | RAM | SSD | Bat | Screen | Ports | Price £ |
125 125
|:------- | ----------------------- | -------------------- | -------- | ----------------------- | --- | --------------- | -------------------------------------------------- | ----------------- |
126
-| Acer | Chromebook C720 | Intel 1.4 (2955U) | 2GB (UK) | Any | 8.5 | 11.6" 1366x768 | 1 [USB3][31][?][31], 1 [USB2][32][?][32], HDMI, SD | ? |
126
+| Acer | Chromebook C720 | Intel 1.4 (2955U) | 2GB (UK) | Any | 8.5 | 11.6" 1366x768 | 1 USB3, 1 USB2, HDMI, SD | ? |
127 127
| Dell | Chromebook 13 | Core i5005 2GHz | 4GB-8GB | Any |   | 13" 1080p |   | 550 |
128
-| Toshiba | [CB30][43][?][43]-B104 | N2840 | 4GB | 16GB |   | 13.3" 1080p IPS |   | 219 |
128
+| Toshiba | CB30-B104 | N2840 | 4GB | 16GB |   | 13.3" 1080p IPS |   | 219 |
129 129
| Toshiba | [CB35-C3300][44] | Celeron 3215 | 4GB | [Any M.2 NGFF 42mm][45] |   | 13.3" 1080p IPS |   | [~292][46][1][47] |
130
-| Toshiba | [CB35][48][?][48]-C3350 | Core i3 5015 [2][49] | 4GB | Any M.2 |   | 13.3" 1080p IPS |   |   |
130
+| Toshiba | CB35-C3350 | Core i3 5015 [2][49] | 4GB | Any M.2 |   | 13.3" 1080p IPS |   |   |
131 131
132 132
133 133
Tech/NookSimpleTouch.md
... ...
@@ -30,7 +30,7 @@ Delivered
30 30
31 31
* [NookManager][1]
32 32
* [NTGAppsAttack][2] - for Google Market
33
-* Download and install [SearchMarket][3][?][3] from sdcard
33
+* Download and install SearchMarket from sdcard
34 34
35 35
36 36
... ...
@@ -49,20 +49,20 @@ Create sdcard with two partitions. A vfat partition of 64MB and an ext2 partitio
49 49
50 50
51 51
52
-# sudo sfdisk -uM /dev/mmcblk0 <<EOF
53
-,64,c
54
-,,L
55
-EOF
56
-# sudo mkfs.vfat -n nook1 /dev/mmcblk0p1
57
-# sudo mkfs.ext2 /dev/mmcblk0p2
58 52
59
-[[$[Get Code]]][4]
53
+ # sudo sfdisk -uM /dev/mmcblk0 <<EOF
54
+ ,64,c
55
+ ,,L
56
+ EOF
57
+ # sudo mkfs.vfat -n nook1 /dev/mmcblk0p1
58
+ # sudo mkfs.ext2 /dev/mmcblk0p2
59
+
60 60
61 61
62 62
63 63
# Install apps on sdcard
64 64
65
-* Install [Link2SD][5][?][5]
65
+* Install Link2SD
66 66
* <http://forum.xda-developers.com/showthread.php?t=919326>
67 67
68 68
Tech/OpenWRT.md
... ...
@@ -9,7 +9,7 @@ Home
9 9
10 10
# Peripheral Support
11 11
12
-## [DisplayLink][1][?][1] USB Adapter
12
+## DisplayLink USB Adapter
13 13
14 14
Link
15 15
: <http://www.displaylink.com/shop/adapters/>
Tech/PCLintAndMake.md
... ...
@@ -2,7 +2,7 @@
2 2
title: PCLintAndMake
3 3
---
4 4
5
-Using [PCLint][1][?][1] and Make
5
+Using PCLint and Make
6 6
7 7
8 8
Tech/PdfEditing.md
... ...
@@ -2,16 +2,16 @@
2 2
title: PdfEditing
3 3
---
4 4
5
-Various methods of filling in PDF forms which are just normal [PDFs][1][?][1]
5
+Various methods of filling in PDF forms which are just normal PDFs
6 6
7 7
8 8
9 9
# oocalc
10 10
11
-pdftops
12
-ps2eps
13 11
14
-[[$[Get Code]]][2]
12
+ pdftops
13
+ ps2eps
14
+
15 15
16 16
In oocalc:
17 17
... ...
@@ -25,14 +25,14 @@ In oocalc:
25 25
26 26
27 27
28
-pdfseparate orig.pdf separated.%d.pdf
29
-pdfunite separated.[123...].pdf signed-page.pdf signed.pdf
30 28
31
-[[$[Get Code]]][3]
29
+ pdfseparate orig.pdf separated.%d.pdf
30
+ pdfunite separated.[123...].pdf signed-page.pdf signed.pdf
31
+
32 32
33 33
34 34
35
-# [ToDo][4][?][4]
35
+# ToDo
36 36
37 37
* Fix transparency of sig.tiff
38 38
Tech/PioneerDEH-2200UB.md
... ...
@@ -34,7 +34,7 @@ Pioneer DEH-2200UB Car Stereo
34 34
### Easytag
35 35
36 36
* Fill Tag from Filename
37
- * [MusicBrainz][1][?][1] Opera format
37
+ * MusicBrainz Opera format
38 38
* (Doesn't work for tracks without Libretto names in quotes)
39 39
* %i - %c.%i '%t' %i
40 40
Tech/PmWikiFixEncoding.md
... ...
@@ -16,14 +16,14 @@ file * | grep -i non-ISO | cut -d: -f1 | xargs rename 's/$/.bak'
16 16
17 17
18 18
19
-* Convert from WINDOWS-1252 first to [ISO8859][2][?][2]-1 with transliteration (so that smart-quotes are converted to ASCII quotes) then to UTF-8 (the new default encoding).
19
+* Convert from WINDOWS-1252 first to ISO8859-1 with transliteration (so that smart-quotes are converted to ASCII quotes) then to UTF-8 (the new default encoding).
20 20
21
-for i in *.bak
22
-do
23
-  iconv -f WINDOWS-1252 -t ISO8859-1//TRANSLIT "$i" | iconv -f ISO8859-1 -t UTF-8 > $(basename "$i" .bak)
24
-done
25 21
26
-[[$[Get Code]]][3]
22
+ for i in *.bak
23
+ do
24
+   iconv -f WINDOWS-1252 -t ISO8859-1//TRANSLIT "$i" | iconv -f ISO8859-1 -t UTF-8 > $(basename "$i" .bak)
25
+ done
26
+
27 27
28 28
[1]: PmWikiFixEncoding?action=sourceblock&num=1
29 29
[3]: PmWikiFixEncoding?action=sourceblock&num=2
... ...
\ No newline at end of file
Tech/RakeExampleBuildDirectory.md
... ...
@@ -27,82 +27,82 @@ The OBJ_DIR can depend on arguments passed to rake, e.g.:
27 27
28 28
29 29
#
30
-# Rakefile for output directory mapping example
31
-#
32
-require 'rake/clean'
33
-
34
-## Tasks
35
-Dir['tasks/*.rake'].each { |f| import f }
36
-
37
-##### Config ######
38
-PROJ = "raketest"
39
-CONFIG = ENV["CONFIG"] || "Release"
40
-
41
-## Arch-ABI-Configuration
42
-ARCH = "x86"
43
-ABI = "abi"
44
-AAC = [ARCH, ABI, CONFIG].join('-')
45
-
46
-##### Tools #####
47
-CC = "gcc"
48
-
49
-##### Inputs ######
50
-SRC_DIR = "src"
51
-OBJ_DIR = File.join("build", AAC)
52
-DIST_DIR = File.join("dist", AAC)
53
-
54
-DIST_EXE = File.join(DIST_DIR, PROJ).ext('exe')
55
-
56
-
57
-C_SRCS = FileList["#{SRC_DIR}/*\*/\*.c"]
58
-
59
-##### Outputs ######
60
-
61
-# Map sources to objects
62
-C\_OBJS = C\_SRCS.map { |f|
63
-  f.sub(/^#{SRC\_DIR}/, OBJ\_DIR).ext('.o')
64
-}
65
-
66
-##### Targets ######
67
-CLEAN.include C_OBJS
68
-CLEAN.include DIST_DIR
69
-
70
-directory OBJ_DIR
71
-directory DIST_DIR
72
-
73
-# Create output dirs for each include dir
74
-C_OBJS.each do |f|
75
-  directory f.pathmap('%d')
76
-end
77
-
78
-task :default => :build
79
-
80
-desc "Build"
81
-task :build => DIST_EXE
82
-
83
-task :info do
84
-  p C_SRCS
85
-  p C_OBJS
86
-  p DIST_EXE
87
-end
88
-
89
-##### Rules ######
90
-
91
-## CC
92
-rule '.o' => [
93
-    proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
94
-    '%d'
95
-  ] do |t|
96
-  sh %Q{#{CC} -c "#{t.source}" -o "#{t.name}"}
97
-end
98
-
99
-## LD
100
-rule '.exe' => [*C_OBJS, '%d'] do |t|
101
-  sh %Q{#{CC} -o "#{t.name}" #{C_OBJS}}
102
-end
103
104 30
105
-[[$[Get Code]]][1]
31
+ # Rakefile for output directory mapping example
32
+ #
33
+ require 'rake/clean'
34
+
35
+ ## Tasks
36
+ Dir['tasks/*.rake'].each { |f| import f }
37
+
38
+ ##### Config ######
39
+ PROJ = "raketest"
40
+ CONFIG = ENV["CONFIG"] || "Release"
41
+
42
+ ## Arch-ABI-Configuration
43
+ ARCH = "x86"
44
+ ABI = "abi"
45
+ AAC = [ARCH, ABI, CONFIG].join('-')
46
+
47
+ ##### Tools #####
48
+ CC = "gcc"
49
+
50
+ ##### Inputs ######
51
+ SRC_DIR = "src"
52
+ OBJ_DIR = File.join("build", AAC)
53
+ DIST_DIR = File.join("dist", AAC)
54
+
55
+ DIST_EXE = File.join(DIST_DIR, PROJ).ext('exe')
56
+
57
+
58
+ C_SRCS = FileList["#{SRC_DIR}/*\*/\*.c"]
59
+
60
+ ##### Outputs ######
61
+
62
+ # Map sources to objects
63
+ C\_OBJS = C\_SRCS.map { |f|
64
+   f.sub(/^#{SRC\_DIR}/, OBJ\_DIR).ext('.o')
65
+ }
66
+
67
+ ##### Targets ######
68
+ CLEAN.include C_OBJS
69
+ CLEAN.include DIST_DIR
70
+
71
+ directory OBJ_DIR
72
+ directory DIST_DIR
73
+
74
+ # Create output dirs for each include dir
75
+ C_OBJS.each do |f|
76
+   directory f.pathmap('%d')
77
+ end
78
+
79
+ task :default => :build
80
+
81
+ desc "Build"
82
+ task :build => DIST_EXE
83
+
84
+ task :info do
85
+   p C_SRCS
86
+   p C_OBJS
87
+   p DIST_EXE
88
+ end
89
+
90
+ ##### Rules ######
91
+
92
+ ## CC
93
+ rule '.o' => [
94
+     proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
95
+     '%d'
96
+   ] do |t|
97
+   sh %Q{#{CC} -c "#{t.source}" -o "#{t.name}"}
98
+ end
99
+
100
+ ## LD
101
+ rule '.exe' => [*C_OBJS, '%d'] do |t|
102
+   sh %Q{#{CC} -o "#{t.name}" #{C_OBJS}}
103
+ end
104
+  
105
+
106 106
107 107
108 108
Tech/RakeForMakeUsers.md
... ...
@@ -22,10 +22,10 @@ Immediate evaluation assignment.
22 22
DOCS := $(PROJ).html $(PROJ).odt
23 23
24 24
25
-PROJ = "MyDoc"
26
-DOCS = [ "#{PROJ}.html", "#{PROJ}.odt" ]
27 25
28
-[[$[Get Code]]][21]
26
+ PROJ = "MyDoc"
27
+ DOCS = [ "#{PROJ}.html", "#{PROJ}.odt" ]
28
+
29 29
30 30
Lazy evaluation assignment.
31 31
... ...
@@ -39,10 +39,10 @@ Lazy evaluation assignment.
39 39
images: $(IMAGES)
40 40
41 41
42
-desc "Build images"
43
-task :images => IMAGES
44 42
45
-[[$[Get Code]]][22]
43
+ desc "Build images"
44
+ task :images => IMAGES
45
+
46 46
47 47
48 48
... ...
@@ -54,11 +54,11 @@ Create .html files by combining .rst and .svg:
54 54
rst2html.py $< $@
55 55
56 56
57
-rule '.html' => ['.rst','.svg'] do |t|
58
-        sh "rst2html.py #{t.source} #{t.name}"
59
-end
60 57
61
-[[$[Get Code]]][23]
58
+ rule '.html' => ['.rst','.svg'] do |t|
59
+         sh "rst2html.py #{t.source} #{t.name}"
60
+ end
61
+
62 62
63 63
64 64
... ...
@@ -68,10 +68,10 @@ end
68 68
OBJ := $(patsubst %.c,%.o,$(SRC))
69 69
70 70
71
-SRC = FileList['*.c']
72
-OBJ = SRC.ext('o')
73 71
74
-[[$[Get Code]]][24]
72
+ SRC = FileList['*.c']
73
+ OBJ = SRC.ext('o')
74
+
75 75
76 76
77 77
... ...
@@ -85,13 +85,13 @@ Generate output files with names based on the input files. Support output to a s
85 85
86 86
To create an OBJ list with an output path in Rake we can use the pathmap syntax %X and substitute known paths %{obj,src}.
87 87
88
-Pathmap is limited though. Substituting a variable like OBJDIR in the pathmap syntax for [FileLists][25][?][25] doesn't work. It should work with the '*' symbol allowing one to specify a block to do the required substitution, but [FileList][26][?][26] breaks this, substituting a literal '*'.
88
+Pathmap is limited though. Substituting a variable like OBJDIR in the pathmap syntax for FileLists doesn't work. It should work with the '*' symbol allowing one to specify a block to do the required substitution, but FileList breaks this, substituting a literal '*'.
89 89
90 90
The mapping of SRC to OBJ needs to be reversed in the '.o' generation rule. Without using a `proc` this example needs to repeat the output path in multiple places. (Not very DRY.)
91 91
92 92
Note also that the substitution depends on SRC paths starting with './'.
93 93
94
-[DRYer][27][?][27], more flexible mapping is achieved with a `map` and a `proc`. See below.
94
+DRYer, more flexible mapping is achieved with a `map` and a `proc`. See below.
95 95
96 96
97 97
... ...
@@ -103,15 +103,15 @@ Note also that the substitution depends on SRC paths starting with './'.
103 103
$(CC) -c -o $@ $<
104 104
105 105
106
-OBJDIR = "obj"
107
-OBJS = C_SRCS.pathmap('%{.,path/to/obj/dir}X.o')
108
-
109
-rule '.o' => ['%{path/to/obj/dir,.}X.c', '%d'] do |t|
110
-   mkdir_p t.name.pathmap('%d')
111
-   sh "#{CC} #{t.source} -o #{t.name} #{STDLIB\_CFLAGS} #{STDLIB\_LFLAGS}"
112
-end
113 106
114
-[[$[Get Code]]][28]
107
+ OBJDIR = "obj"
108
+ OBJS = C_SRCS.pathmap('%{.,path/to/obj/dir}X.o')
109
+
110
+ rule '.o' => ['%{path/to/obj/dir,.}X.c', '%d'] do |t|
111
+    mkdir_p t.name.pathmap('%d')
112
+    sh "#{CC} #{t.source} -o #{t.name} #{STDLIB\_CFLAGS} #{STDLIB\_LFLAGS}"
113
+ end
114
+
115 115
116 116
117 117
... ...
@@ -121,20 +121,20 @@ Use `map` and `proc` to map source trees to output trees in a flexible way.
121 121
122 122
123 123
124
-# Map sources to objects
125
-OBJS = C_SRCS.map { |f|
126
-      f.sub(/^#{SRC_DIR}/, OBJDIR).ext('.o')
127
-}
128
-
129
-# Map objects to sources
130
-rule '.o' => [
131
-    proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
132
-     '%d'
133
- ] do |t|
134
- sh %Q{#{CC} -c "#{t.source}" -o "#{t.name}"}
135
-end
136 124
137
-[[$[Get Code]]][29]
125
+ # Map sources to objects
126
+ OBJS = C_SRCS.map { |f|
127
+       f.sub(/^#{SRC_DIR}/, OBJDIR).ext('.o')
128
+ }
129
+
130
+ # Map objects to sources
131
+ rule '.o' => [
132
+     proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
133
+      '%d'
134
+  ] do |t|
135
+  sh %Q{#{CC} -c "#{t.source}" -o "#{t.name}"}
136
+ end
137
+
138 138
139 139
An example showing how to use procs to map outputs to a build directory. [RakeExampleBuildDirectory][30]
140 140
... ...
@@ -142,7 +142,7 @@ An example showing how to use procs to map outputs to a build directory. [RakeEx
142 142
143 143
### Creating directories
144 144
145
-In [GNUMake][31][?][31], use a silent `mkdir -p` and the `dir` built-in.
145
+In GNUMake, use a silent `mkdir -p` and the `dir` built-in.
146 146
147 147
$(OBJDIR)/%.o : src/%.c
148 148
@mkdir -p $(dir $@)
... ...
@@ -158,17 +158,17 @@ A more efficient way is to:
158 158
159 159
160 160
161
-# declare directory tasks for each object file path
162
-OBJS.each do |d|
163
-  directory d.pathmap('%d')
164
-end
165
-
166
-# Depend on the source file and the output directory
167
-rule '.o' => ['%{path/to/obj/dir,.}X.c', '%d'] do |t|
168
-  sh "#{CC} #{C\_FLAGS} #{C\_DEFINE} #{C_INCLUDE} #{t.source} -o#{t.name}"
169
-end
170 161
171
-[[$[Get Code]]][32]
162
+ # declare directory tasks for each object file path
163
+ OBJS.each do |d|
164
+   directory d.pathmap('%d')
165
+ end
166
+
167
+ # Depend on the source file and the output directory
168
+ rule '.o' => ['%{path/to/obj/dir,.}X.c', '%d'] do |t|
169
+   sh "#{CC} #{C\_FLAGS} #{C\_DEFINE} #{C_INCLUDE} #{t.source} -o#{t.name}"
170
+ end
171
+
172 172
173 173
The source file must come first for 't.source' to work correctly. Here the pathmap syntax '%d' does the work of extracting the path from the filepath.
174 174
... ...
@@ -180,16 +180,16 @@ Mapping an array of include paths to a string passed to the compiler.
180 180
181 181
182 182
183
-INCLUDE_DIRS = [
184
-  ".",
185
-  "inc",
186
-  "/usr/include/blah",
187
-]
188
-
189
-# Map to the compiler's command line format
190
-C\_INCLUDE = INCLUDE\_DIRS.map {|s| "-I "+s }.join(" ")
191 183
192
-[[$[Get Code]]][33]
184
+ INCLUDE_DIRS = [
185
+   ".",
186
+   "inc",
187
+   "/usr/include/blah",
188
+ ]
189
+
190
+ # Map to the compiler's command line format
191
+ C\_INCLUDE = INCLUDE\_DIRS.map {|s| "-I "+s }.join(" ")
192
+
193 193
194 194
195 195
... ...
@@ -199,44 +199,44 @@ C\_INCLUDE = INCLUDE\_DIRS.map {|s| "-I "+s }.join(" ")
199 199
200 200
Require [shellwords][34]
201 201
202
-require 'shellwords'
203
-
204
-rule '.out' => [*C_OBJS, '%d'] do |t|
205
-  sh %Q{#{CC} -o #{t.name.shellescape} #{C_OBJS.shelljoin}}
206
-end
207 202
208
-[[$[Get Code]]][35]
203
+ require 'shellwords'
204
+
205
+ rule '.out' => [*C_OBJS, '%d'] do |t|
206
+   sh %Q{#{CC} -o #{t.name.shellescape} #{C_OBJS.shelljoin}}
207
+ end
208
+
209 209
210 210
211 211
212 212
### The Manual Way with Monkey-patching
213 213
214
-If you're not using Bash as your shell you may have to do some manual substitution. In rake, we insert ("monkey patch" or "duck punch") a method in [FileList][26][?][26] and Array to convert each to a list of quoted strings.
214
+If you're not using Bash as your shell you may have to do some manual substitution. In rake, we insert ("monkey patch" or "duck punch") a method in FileList and Array to convert each to a list of quoted strings.
215 215
216 216
217 217
218
-# Extension to quote lists (of object files, for example)
219
-class Array
220
-  def to\_quoted\_s(q='"')
221
-  "#{q}#{self.join("#{q} #{q}")}#{q}"
222
-  end
223
-end
224
-
225
-class FileList
226
-  def to\_quoted\_s(q='"')
227
-    self.to_a.to\_quoted\_s(q)
228
-  end
229
-end
230 218
231
-[[$[Get Code]]][36]
219
+ # Extension to quote lists (of object files, for example)
220
+ class Array
221
+   def to\_quoted\_s(q='"')
222
+   "#{q}#{self.join("#{q} #{q}")}#{q}"
223
+   end
224
+ end
225
+
226
+ class FileList
227
+   def to\_quoted\_s(q='"')
228
+     self.to_a.to\_quoted\_s(q)
229
+   end
230
+ end
231
+
232 232
233 233
Then a rule looks like:
234 234
235
-rule '.out' => [*C_OBJS, '%d'] do |t|
236
-  sh %Q{#{CC} #{LD\_FLAGS} #{C\_FLAGS} #{C\_DEFINE} #{C\_INCLUDE} -o "#{t.name}" #{C\_OBJS.to\_quoted_s}}
237
-end
238 235
239
-[[$[Get Code]]][37]
236
+ rule '.out' => [*C_OBJS, '%d'] do |t|
237
+   sh %Q{#{CC} #{LD\_FLAGS} #{C\_FLAGS} #{C\_DEFINE} #{C\_INCLUDE} -o "#{t.name}" #{C\_OBJS.to\_quoted_s}}
238
+ end
239
+
240 240
241 241
This could be extended (with a map-join or inject) to escape cases where the quote character appears in the filenames themselves.
242 242
... ...
@@ -270,30 +270,30 @@ This could be extended (with a map-join or inject) to escape cases where the quo
270 270
271 271
### Rake
272 272
273
-def os
274
-  @os ||= (
275
-    host_os = RbConfig::CONFIG['host_os']
276
-    case host_os
277
-    when /mswin|bccwin|wince|emc/
278
-      :windows
279
-    when /cygwin/
280
-      :cygwin
281
-    when /mingw|msys/
282
-      :mingw
283
-    when /darwin|mac os/
284
-      :macosx
285
-    when /linux/
286
-      :linux
287
-    when /solaris|bsd/
288
-      :unix
289
-    else
290
-      :unknown
291
-    end
292
-  )
293
-end
294
295
-
296
-[[$[Get Code]]][38]
273
+
274
+ def os
275
+   @os ||= (
276
+     host_os = RbConfig::CONFIG['host_os']
277
+     case host_os
278
+     when /mswin|bccwin|wince|emc/
279
+       :windows
280
+     when /cygwin/
281
+       :cygwin
282
+     when /mingw|msys/
283
+       :mingw
284
+     when /darwin|mac os/
285
+       :macosx
286
+     when /linux/
287
+       :linux
288
+     when /solaris|bsd/
289
+       :unix
290
+     else
291
+       :unknown
292
+     end
293
+   )
294
+ end
295
+  
296
+
297 297
298 298
299 299
... ...
@@ -343,20 +343,20 @@ CONFIG = ENV["CONFIG"] || "Release"
343 343
344 344
As of 0.9.3 rake has phony built in:
345 345
346
-require 'rake/phony'
347
-task :clean => :phony
348 346
349
-[[$[Get Code]]][40]
347
+ require 'rake/phony'
348
+ task :clean => :phony
349
+
350 350
351 351
But it can be simulated with:
352 352
353
-def (task(:phony)).timestamp
354
-  Time.at
355
-end
356
-
357
-task :clean => :phony
358 353
359
-[[$[Get Code]]][41]
354
+ def (task(:phony)).timestamp
355
+   Time.at
356
+ end
357
+
358
+ task :clean => :phony
359
+
360 360
361 361
362 362
... ...
@@ -374,13 +374,13 @@ task :clean => :phony
374 374
375 375
## Make and Rake
376 376
377
-An example project which takes a [ReStructuredText][42][?][42] document and graphviz/dot files and generates a single html or odt document.
377
+An example project which takes a ReStructuredText document and graphviz/dot files and generates a single html or odt document.
378 378
379 379
The html document has SVG images, the odt document has png images.
380 380
381 381
382 382
383
-### [GNUmake][43][?][43]
383
+### GNUmake
384 384
385 385
#
386 386
# GNUmakefile for dot and reStructuredText
... ...
@@ -424,50 +424,50 @@ The html document has SVG images, the odt document has png images.
424 424
### Rake
425 425
426 426
#
427
-# Rakefile for dot and reStructuredText
428
-#
429
-require 'rake/clean'
430
-
431
-##### Inputs ######
432
-
433
-PROJ = "MyDoc"
434
-
435
-DOCS = [ "#{PROJ}.html", "#{PROJ}.odt" ]
436
-IMAGES = [ "#{PROJ}.svg", "#{PROJ}.png" ]
437
-
438
-##### Targets ######
439
-
440
-CLEAN.include DOCS, IMAGES
441
-
442
-desc "Build documents"
443
-task :docs => DOCS
444
-
445
-desc "Build images"
446
-task :images => IMAGES
447
-
448
-desc "Build all"
449
-task :default => 'docs'
450
-
451
-##### Rules ######
452
-
453
-rule '.svg' => ['.dot'] do |t|
454
-        sh "dot -Tsvg #{t.source} -o #{t.name}"
455
-end
456
-
457
-rule '.png' => ['.dot'] do |t|
458
-        sh "dot -Tpng #{t.source} -o #{t.name}"
459
-end
460
-
461
-rule '.html' => ['.rst','.svg'] do |t|
462
-        sh "rst2html.py #{t.source} #{t.name}"
463
-end
464
-
465
-rule '.odt' => ['.rst','.png'] do |t|
466
-        sh "sed 's/\.svg/\.png/g' #{t.source} | rst2odt.py > #{t.name}"
467
-end
468
469
-
470
-[[$[Get Code]]][44]
427
+
428
+ # Rakefile for dot and reStructuredText
429
+ #
430
+ require 'rake/clean'
431
+
432
+ ##### Inputs ######
433
+
434
+ PROJ = "MyDoc"
435
+
436
+ DOCS = [ "#{PROJ}.html", "#{PROJ}.odt" ]
437
+ IMAGES = [ "#{PROJ}.svg", "#{PROJ}.png" ]
438
+
439
+ ##### Targets ######
440
+
441
+ CLEAN.include DOCS, IMAGES
442
+
443
+ desc "Build documents"
444
+ task :docs => DOCS
445
+
446
+ desc "Build images"
447
+ task :images => IMAGES
448
+
449
+ desc "Build all"
450
+ task :default => 'docs'
451
+
452
+ ##### Rules ######
453
+
454
+ rule '.svg' => ['.dot'] do |t|
455
+         sh "dot -Tsvg #{t.source} -o #{t.name}"
456
+ end
457
+
458
+ rule '.png' => ['.dot'] do |t|
459
+         sh "dot -Tpng #{t.source} -o #{t.name}"
460
+ end
461
+
462
+ rule '.html' => ['.rst','.svg'] do |t|
463
+         sh "rst2html.py #{t.source} #{t.name}"
464
+ end
465
+
466
+ rule '.odt' => ['.rst','.png'] do |t|
467
+         sh "sed 's/\.svg/\.png/g' #{t.source} | rst2odt.py > #{t.name}"
468
+ end
469
+  
470
+
471 471
472 472
473 473
... ...
@@ -494,28 +494,28 @@ The solution is either to:
494 494
495 495
### As A Method
496 496
497
-task :build => [:some\_other\_tasks] do
498
-  build
499
-end
500
-
501
-task :build_all do
502
-  [:debug, :release].each { |t| build t }
503
-end
504
-
505
-def build(type = :debug)
506
-  # ...
507
-end
508 497
509
-[[$[Get Code]]][46]
498
+ task :build => [:some\_other\_tasks] do
499
+   build
500
+ end
501
+
502
+ task :build_all do
503
+   [:debug, :release].each { |t| build t }
504
+ end
505
+
506
+ def build(type = :debug)
507
+   # ...
508
+ end
509
+
510 510
511 511
512 512
513 513
### Reenabling tasks
514 514
515
-Rake::Task[':build'].reenable
516
-Rake::Task[':build'].invoke
517 515
518
-[[$[Get Code]]][47]
516
+ Rake::Task[':build'].reenable
517
+ Rake::Task[':build'].invoke
518
+
519 519
520 520
521 521
Tech/RakeTemplate.md
... ...
@@ -2,90 +2,90 @@
2 2
title: RakeTemplate
3 3
---
4 4
5
-# Rakefile template for building C code.
6
-#
7
-# Outputs to a separate build tree
8
-# Escapes filenames correctly (for bash at least).
9
-#
10
-# Author: mark at markferry dot net
11
-# Licence: public domain, use it as you wish
12
-#
13
-require 'rake/clean'
14
-require 'shellwords'
15
-
16
-## Tasks
17
-Dir['tasks/*.rake'].each { |f| import f }
18
-
19
-##### Inputs ######
20
-SRC_DIR = "src"
21
-
22
-# Not working. Needs pathmap variables
23
-CONFIG = ENV["CONFIG"] || "Release"
24
-
25
-## Arch-ABI-Configuration
26
-ARCH = "x86"
27
-ABI = "gnuabi"
28
-AAC = [ARCH, ABI, CONFIG].join('-')
29
-
30
-OBJ_DIR = File.join("build", AAC)
31
-DIST_DIR = File.join("dist", AAC)
32
-
33
-PROJ = "raketest"
34
-
35
-DIST_EXE = File.join(DIST_DIR, PROJ).ext('exe')
36
-
37
-## CC
38
-CC = "gcc"
39
-
40
-C_SRCS = FileList["#{SRC_DIR}/*\*/\*.c"]
41
-
42
-def to_obj(objdir, f)
43
-  f.sub(/^#{SRC_DIR}/, objdir).ext('.o')
44
-end
45
-
46
-C\_OBJS = C\_SRCS.map { |f|
47
-  to_obj(OBJ_DIR, f)
48
-}
49
-
50
-##### Targets ######
51
-CLEAN.include C_OBJS
52
-CLEAN.include DIST_DIR
53
-
54
-directory OBJ_DIR
55
-directory DIST_DIR
56
-
57
-# Create output dirs for each include dir
58
-C_OBJS.each do |d|
59
-  directory d.pathmap('%d')
60
-end
61
-
62
-task :default => :build
63
-
64
-desc "Build"
65
-task :build => DIST_EXE
66
-
67
-task :info do
68
-  p C_SRCS
69
-  p C_OBJS
70
-  p DIST_EXE
71
-end
72
-
73
-##### Rules ######
74
-
75
-## CC
76
-rule '.o' => [
77
-    proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
78
-    '%d'
79
-  ] do |t|
80
-  sh %Q{#{CC} -c #{t.source.shellescape} -o #{t.name.shellescape}}
81
-end
82
-
83
-## LD
84
-rule '.exe' => [*C_OBJS, '%d'] do |t|
85
-  sh %Q{#{CC} -o #{t.name.shellescape} #{C_OBJS.shelljoin}}
86
-end
87
88 5
89
-[[$[Get Code]]][1]
6
+ # Rakefile template for building C code.
7
+ #
8
+ # Outputs to a separate build tree
9
+ # Escapes filenames correctly (for bash at least).
10
+ #
11
+ # Author: mark at markferry dot net
12
+ # Licence: public domain, use it as you wish
13
+ #
14
+ require 'rake/clean'
15
+ require 'shellwords'
16
+
17
+ ## Tasks
18
+ Dir['tasks/*.rake'].each { |f| import f }
19
+
20
+ ##### Inputs ######
21
+ SRC_DIR = "src"
22
+
23
+ # Not working. Needs pathmap variables
24
+ CONFIG = ENV["CONFIG"] || "Release"
25
+
26
+ ## Arch-ABI-Configuration
27
+ ARCH = "x86"
28
+ ABI = "gnuabi"
29
+ AAC = [ARCH, ABI, CONFIG].join('-')
30
+
31
+ OBJ_DIR = File.join("build", AAC)
32
+ DIST_DIR = File.join("dist", AAC)
33
+
34
+ PROJ = "raketest"
35
+
36
+ DIST_EXE = File.join(DIST_DIR, PROJ).ext('exe')
37
+
38
+ ## CC
39
+ CC = "gcc"
40
+
41
+ C_SRCS = FileList["#{SRC_DIR}/*\*/\*.c"]
42
+
43
+ def to_obj(objdir, f)
44
+   f.sub(/^#{SRC_DIR}/, objdir).ext('.o')
45
+ end
46
+
47
+ C\_OBJS = C\_SRCS.map { |f|
48
+   to_obj(OBJ_DIR, f)
49
+ }
50
+
51
+ ##### Targets ######
52
+ CLEAN.include C_OBJS
53
+ CLEAN.include DIST_DIR
54
+
55
+ directory OBJ_DIR
56
+ directory DIST_DIR
57
+
58
+ # Create output dirs for each include dir
59
+ C_OBJS.each do |d|
60
+   directory d.pathmap('%d')
61
+ end
62
+
63
+ task :default => :build
64
+
65
+ desc "Build"
66
+ task :build => DIST_EXE
67
+
68
+ task :info do
69
+   p C_SRCS
70
+   p C_OBJS
71
+   p DIST_EXE
72
+ end
73
+
74
+ ##### Rules ######
75
+
76
+ ## CC
77
+ rule '.o' => [
78
+     proc { |tn| tn.sub(/#{OBJ\_DIR}/, SRC\_DIR).ext('.c') },
79
+     '%d'
80
+   ] do |t|
81
+   sh %Q{#{CC} -c #{t.source.shellescape} -o #{t.name.shellescape}}
82
+ end
83
+
84
+ ## LD
85
+ rule '.exe' => [*C_OBJS, '%d'] do |t|
86
+   sh %Q{#{CC} -o #{t.name.shellescape} #{C_OBJS.shelljoin}}
87
+ end
88
+  
89
+
90 90
91 91
[1]: RakeTemplate?action=sourceblock&num=1
... ...
\ No newline at end of file
Tech/RecentChanges.md
... ...
@@ -2,138 +2,138 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [FirefoxProductivity][1] . . . 22 April 2022, at 08:04 PM UTC by [Gnome][2][?][2]: Disable website shortcuts
6
-* [Accounting][3] . . . 05 April 2022, at 03:08 PM UTC by [Gnome][2][?][2]: zero-sum
7
-* [Tech][4] . . . 09 March 2022, at 02:26 PM UTC by [Gnome][2][?][2]: accounting
8
-* [UbuntuProductivity][5] . . . 11 November 2021, at 10:13 AM UTC by [Gnome][2][?][2]: xfce4-notifyd-config
9
-* [MusicTagging][6] . . . 23 August 2020, at 11:06 PM UTC by [Gnome][2][?][2]: python3 venv
10
-* [FlacToMp3][7] . . . 10 August 2020, at 06:29 PM UTC by [Gnome][2][?][2]: to mp3
11
-* [Video][8] . . . 10 April 2020, at 07:33 PM UTC by [Gnome][2][?][2]: Motion detection
12
-* [XmlStar][9] . . . 01 February 2020, at 05:02 PM UTC by [Gnome][2][?][2]: list attributes
13
-* [MotoG5][10] . . . 01 February 2020, at 04:55 PM UTC by [Gnome][2][?][2]: list uids and gids
14
-* [GnuPGKeyManagement][11] . . . 31 January 2020, at 03:33 PM UTC by [Gnome][2][?][2]: removing subkeys
15
-* [MySQL][12] . . . 26 August 2019, at 12:55 PM UTC by [Gnome][2][?][2]: show grants, privileges
16
-* [WikiToGit][13] . . . 08 August 2019, at 11:48 AM UTC by [Gnome][2][?][2]: Makefile
17
-* [VIMAndSystemVerilog][14] . . . 31 July 2019, at 12:07 PM UTC by [Gnome][2][?][2]:
18
-* [CMakeBuildDeps][15] . . . 04 April 2019, at 12:08 PM UTC by [Gnome][2][?][2]: use the bash brush for now
19
-* [JenkinsMultibranchPipelineWithGitTagDiscovery][16] . . . 08 March 2019, at 06:17 PM UTC by [Gnome][2][?][2]: fix code
20
-* [BrilliantForWindows][17] . . . 09 January 2019, at 01:24 PM UTC by [Gnome][2][?][2]:
21
-* [Grafana][18] . . . 02 July 2018, at 12:32 PM UTC by [Gnome][2][?][2]: Presence graph with stacking
22
-* [HuaweiE3372][19] . . . 10 September 2017, at 05:59 PM UTC by [Gnome][2][?][2]: rooting
23
-* [MSVCProductivity][20] . . . 21 June 2017, at 03:07 PM UTC by [Gnome][2][?][2]: msvc-source-files
24
-* [VIMAndIAR][21] . . . 21 June 2017, at 02:39 PM UTC by [Gnome][2][?][2]: use codestart, codeend
25
-* [SniffSerialPort][22] . . . 12 February 2017, at 06:21 PM UTC by [Gnome][2][?][2]: socat and xxd
26
-* [DoogeeT5][23] . . . 09 February 2017, at 10:10 AM UTC by [Gnome][2][?][2]: returned
27
-* [StellaZ][24] . . . 01 January 2017, at 03:13 PM UTC by [Gnome][2][?][2]:
28
-* [MotoG][25] . . . 14 November 2016, at 05:11 PM UTC by [Gnome][2][?][2]: post-flash setup
29
-* [MinimalistCodeStyle][26] . . . 18 August 2016, at 12:44 PM UTC by [Gnome][2][?][2]: indent and uncrustify
30
-* [Buzzard2][27] . . . 18 July 2016, at 12:51 PM UTC by [Gnome][2][?][2]: unlock link
31
-* [WindowsVm][28] . . . 11 July 2016, at 09:57 AM UTC by [Gnome][2][?][2]: plan
32
-* [WindowsProductivity][29] . . . 10 July 2016, at 01:33 PM UTC by [Gnome][2][?][2]: toc
33
-* [VIM][30] . . . 06 May 2016, at 02:13 PM UTC by [Gnome][2][?][2]: esc delay
34
-* [VIMPlugins][31] . . . 06 May 2016, at 02:11 PM UTC by [Gnome][2][?][2]: link vim-powerline
35
-* [3GModem][32] . . . 25 April 2016, at 10:50 AM UTC by [Gnome][2][?][2]: MF823, Buzzard 2
36
-* [Mutt][33] . . . 09 March 2016, at 03:31 PM UTC by [Gnome][2][?][2]: fix mailcap location
37
-* [LLVMBackend][34] . . . 02 March 2016, at 04:53 PM UTC by [Gnome][2][?][2]: rmmod zram
38
-* [JavaOnX64][35] . . . 09 January 2016, at 10:11 PM UTC by [Gnome][2][?][2]: Memory switches
39
-* [Netbook][36] . . . 07 January 2016, at 03:14 AM UTC by [Gnome][2][?][2]: link Network.Shochu
40
-* [PmWikiBits][37] . . . 15 December 2015, at 05:14 PM UTC by [Gnome][2][?][2]: mini gallery
41
-* [OpenWRT][38] . . . 18 November 2015, at 04:16 PM UTC by [Gnome][2][?][2]: DisplayLink USB adapter
42
-* [FlashBench][39] . . . 10 September 2015, at 02:27 PM UTC by [Gnome][2][?][2]: analysis
43
-* [SatNavs][40] . . . 31 August 2015, at 07:42 PM UTC by [Gnome][2][?][2]: tomtom go
44
-* [TomTomOne][41] . . . 31 August 2015, at 07:40 PM UTC by [Gnome][2][?][2]: link SatNavs
45
-* [RakeForMakeUsers][42] . . . 05 August 2015, at 01:26 PM UTC by [Gnome][2][?][2]: task iteration
46
-* [DebianRaspberryPiPackaging][43] . . . 21 July 2015, at 08:28 PM UTC by [Gnome][2][?][2]: build deps?
47
-* [WatchmanSonic][44] . . . 02 July 2015, at 12:44 PM UTC by [Gnome][2][?][2]: Radio details
48
-* [FoxyProxy][45] . . . 12 February 2015, at 03:01 PM UTC by [Gnome][2][?][2]: fix
49
-* [HuaweiE3131][46] . . . 21 January 2015, at 05:56 PM UTC by [Gnome][2][?][2]: usb modeswitch
50
-* [ZTEMF823][47] . . . 21 January 2015, at 05:54 PM UTC by [Gnome][2][?][2]: TS-9 antenna connector
51
-* [Images][48] . . . 23 October 2014, at 01:39 AM UTC by [Gnome][2][?][2]: convert CR2 to jpg
52
-* [DWM][49] . . . 29 May 2014, at 11:02 AM UTC by [Gnome][2][?][2]: Formatting
53
-* [HuaweiE1750][50] . . . 05 April 2014, at 01:36 PM UTC by [Gnome][2][?][2]: protocols HSDPA HSUPA, specs
54
-* [PdfEditing][51] . . . 28 March 2014, at 06:37 PM UTC by [Gnome][2][?][2]: oocalc PDF editing
55
-* [FirmwareUpgrade][52] . . . 20 March 2014, at 01:13 AM UTC by [Gnome][2][?][2]: Upgrade firmware with USB and freedos
56
-* [BuildTools][53] . . . 19 February 2014, at 06:04 PM UTC by [Gnome][2][?][2]: Fabricate description
57
-* [MultiwayRadio][54] . . . 17 February 2014, at 01:39 AM UTC by [Gnome][2][?][2]: Ideas
58
-* [Bitcoin][55] . . . 10 February 2014, at 02:00 AM UTC by [Gnome][2][?][2]: make install
59
-* [3GModemUnlocking][56] . . . 24 November 2013, at 05:38 PM UTC by [Gnome][2][?][2]: E3131 unlock info
60
-* [CellC3G][57] . . . 15 November 2013, at 02:13 PM UTC by [Gnome][2][?][2]: chap auth
61
-* [NookSimpleTouch][58] . . . 08 November 2013, at 12:53 AM UTC by [Gnome][2][?][2]: Format SD card
62
-* [RakeTemplate][59] . . . 04 October 2013, at 04:40 PM UTC by [Gnome][2][?][2]: Rakefile template
63
-* [Xmonad][60] . . . 03 October 2013, at 10:54 AM UTC by [Gnome][2][?][2]: Xmonad layouts for netbooks
64
-* [WindowManagers][61] . . . 03 October 2013, at 10:52 AM UTC by [Gnome][2][?][2]: DWM and Xmonad
65
-* [EllipticCurveCrypto][62] . . . 07 August 2013, at 05:02 PM UTC by [Gnome][2][?][2]: gnupg-ecc
66
-* [PmWikiFixEncoding][63] . . . 28 June 2013, at 04:41 PM UTC by [Gnome][2][?][2]: iconv
67
-* [GoogleAppsEmigration][64] . . . 12 June 2013, at 11:30 PM GMT by [Gnome][2][?][2]: Systems and options
68
-* [GoogleAppsMigration][65] . . . 12 June 2013, at 11:24 PM GMT by [Gnome][2][?][2]: google apps emigration
69
-* [MiniHDCamera][66] . . . 22 May 2013, at 01:29 PM GMT by [Gnome][2][?][2]: line breaks
70
-* [CasioSPS-300][67][?][67] . . . 22 April 2013, at 06:13 PM GMT by [Gnome][2][?][2]: features
71
-* [CasioDBC-32][68][?][68] . . . 22 April 2013, at 06:02 PM GMT by [Gnome][2][?][2]: features
72
-* [GpsFiltering][69] . . . 19 March 2013, at 07:37 PM GMT by [Gnome][2][?][2]: Crossing gps icon
73
-* [GarminForetrex][70] . . . 13 March 2013, at 12:17 AM GMT by [Gnome][2][?][2]: gps serial pins
74
-* [RakeExampleBuildDirectory][71] . . . 28 February 2013, at 01:31 PM GMT by [Gnome][2][?][2]: Update example
75
-* [RepositoryLayout][72] . . . 28 February 2013, at 12:41 AM GMT by [Gnome][2][?][2]: arch-vendor-OS-abi
76
-* [SupMail][73] . . . 26 February 2013, at 06:01 PM GMT by [Gnome][2][?][2]: IMAP
77
-* [DesignDocsInDoxygen][74] . . . 25 February 2013, at 03:31 PM GMT by [Gnome][2][?][2]: design docs in doxygen
78
-* [VersionStrings][75] . . . 21 February 2013, at 06:15 PM GMT by [Gnome][2][?][2]: SubWCRev
79
-* [ConfigDefines][76] . . . 21 February 2013, at 02:49 PM GMT by [Gnome][2][?][2]: Notes
80
-* [StructNamespaces][77] . . . 21 February 2013, at 02:21 PM GMT by [Gnome][2][?][2]: fixes
81
-* [MPLABXAndCI][78] . . . 21 February 2013, at 01:41 PM GMT by [Gnome][2][?][2]: notes
82
-* [ApplicationPackageManager][79] . . . 21 February 2013, at 01:10 PM GMT by [Gnome][2][?][2]: asbo details
83
-* [CrossCompilePIC][80] . . . 07 February 2013, at 03:01 PM GMT by [Gnome][2][?][2]: picgcc
84
-* [StateMachineStyle][81] . . . 17 December 2012, at 12:35 PM GMT by [Gnome][2][?][2]: State arrays 2 style TODO
85
-* [BitfieldGotchas][82] . . . 05 December 2012, at 04:28 PM GMT by [Gnome][2][?][2]: comma
86
-* [StaticAssert][83] . . . 09 November 2012, at 02:31 AM GMT by [Gnome][2][?][2]: updated for scope brackets and syntax highlighting
87
-* [HierarchicalDoxygen][84] . . . 30 October 2012, at 04:52 PM GMT by [Gnome][2][?][2]: link stackoverflow
88
-* [BuildrForC][85] . . . 29 October 2012, at 03:20 PM GMT by [Gnome][2][?][2]: ruby syntax highlighting
89
-* [InstantMessaging][86] . . . 26 September 2012, at 11:31 AM GMT by [Gnome][2][?][2]: formatting
90
-* [T4CodeGeneration][87] . . . 01 June 2012, at 01:46 PM GMT by [Gnome][2][?][2]: workaround
91
-* [CodeGeneration][88] . . . 31 May 2012, at 04:56 PM GMT by [Gnome][2][?][2]: c-msggen
92
-* [SourceSafeCommands][89] . . . 10 April 2012, at 09:38 PM GMT by [Gnome][2][?][2]: syntaxlove
93
-* [ZteBlade][90] . . . 16 February 2012, at 11:50 PM GMT by [Gnome][2][?][2]: add TextSecure
94
-* [Home][91][?][91] . . . 09 February 2012, at 03:17 PM GMT by [Gnome][2][?][2]: Application Package Manager
95
-* [EmbeddedSystemTesting][92] . . . 18 January 2012, at 01:50 PM GMT by [Gnome][2][?][2]: formatting
96
-* [GenericAnnotationOfCode][93] . . . 14 December 2011, at 05:11 PM GMT by [Gnome][2][?][2]: table formatting
97
-* [VIMAndTI][94] . . . 09 December 2011, at 01:44 PM GMT by [Gnome][2][?][2]: syntax
98
-* [CMake][95] . . . 28 November 2011, at 05:54 PM GMT by [Gnome][2][?][2]: Custom module path, Out-of-Tree sub-project, MSVC runtime libs
99
-* [LaCrosseWS9029U-IT][96] . . . 15 November 2011, at 05:51 PM GMT by [Gnome][2][?][2]: resync
100
-* [TinyDnsHiddenPrimary][97] . . . 10 November 2011, at 12:15 AM GMT by [Gnome][2][?][2]: home domain
101
-* [GitSvnNotes][98] . . . 21 October 2011, at 12:40 PM GMT by [Gnome][2][?][2]: git svn relocate
102
-* [VIMProjectVimrc][99] . . . 05 September 2011, at 02:15 PM GMT by [Gnome][2][?][2]: link VIMAndIAR, VIMAndTI
103
-* [CygwinWindowsIntegration][100][?][100] . . . 11 August 2011, at 09:12 AM GMT by [Gnome][2][?][2]:
104
-* [PioneerDEH-2200UB][101] . . . 28 May 2011, at 02:31 AM GMT by [Gnome][2][?][2]: display width
105
-* [RsyncIPod][102] . . . 28 May 2011, at 12:20 AM GMT by [Gnome][2][?][2]: Extended, not reserved
106
-* [PCLintAndMake][103] . . . 10 December 2010, at 12:25 PM GMT by [Gnome][2][?][2]: makefile
107
-* [CanonIxus800][104] . . . 04 December 2010, at 08:14 PM GMT by [Gnome][2][?][2]: SD lock enables CHDK
108
-* [FlashN770][105] . . . 04 December 2010, at 07:34 PM GMT by [Gnome][2][?][2]: formatting
109
-* [Subtitles][106] . . . 18 June 2010, at 02:35 PM GMT by [Gnome][2][?][2]: merging 2-CD SRTs
110
-* [ContourHD][107] . . . 16 June 2010, at 02:34 PM GMT by [Gnome][2][?][2]: Details, log, mounting, accessories, waterproof case
111
-* [HelmetCamera][108] . . . 16 June 2010, at 02:27 PM GMT by [Gnome][2][?][2]: Purchased Contour HD
112
-* [AudioCD][109] . . . 23 April 2010, at 01:21 PM GMT by [Gnome][2][?][2]: Audio CD clone
113
-* [CrossCompileMSP430][110] . . . 14 April 2010, at 12:54 PM GMT by [Gnome][2][?][2]: mailing list
114
-* [VoIP][111] . . . 25 January 2010, at 01:04 PM GMT by [Gnome][2][?][2]: encryption articles
115
-* [NokiaSeries60VoIP][112] . . . 25 January 2010, at 12:32 PM GMT by [Gnome][2][?][2]: nokia support
116
-* [Tascam144][113] . . . 24 January 2010, at 01:34 AM GMT by [Gnome][2][?][2]: installation, testing
117
-* [MigrateVSStoSVN][114] . . . 15 January 2010, at 03:00 PM GMT by [Gnome][2][?][2]: importing labels
118
-* [UnorderedSets][115] . . . 13 January 2010, at 12:49 PM GMT by [Gnome][2][?][2]: gcc version
119
-* [ComplexNumberStyle][116][?][116] . . . 13 January 2010, at 10:40 AM GMT by [Gnome][2][?][2]: unordered sets
120
-* [ParseAndPackDecoder][117] . . . 05 January 2010, at 12:14 AM GMT by [Gnome][2][?][2]: formatting
121
-* [FixedWidthTypes][118] . . . 04 January 2010, at 05:44 PM GMT by [Gnome][2][?][2]: reformat
122
-* [ElseIfStyle][119] . . . 04 January 2010, at 05:34 PM GMT by [Gnome][2][?][2]: first cut and link c2.com
123
-* [NetbookSystemSoftware][120][?][120] . . . 24 September 2009, at 01:25 PM GMT by [Gnome][2][?][2]: partition, install
124
-* [NetbookApplicationSoftware][121][?][121] . . . 22 September 2009, at 01:42 PM GMT by [Gnome][2][?][2]: seafarer
125
-* [BluetoothGprsModem][122] . . . 05 August 2009, at 09:15 PM GMT by [Gnome][2][?][2]: details
126
-* [VIMAndPCLint][123] . . . 23 January 2009, at 03:01 PM GMT by [Gnome][2][?][2]: makeprg
127
-* [FallbackImplementation][124] . . . 22 January 2009, at 06:01 PM GMT by [Gnome][2][?][2]: first draft
128
-* [Geotag][125] . . . 04 January 2009, at 05:24 PM GMT by [Gnome][2][?][2]: exiftool tag
129
-* [MatshitaUJ816][126] . . . 04 January 2009, at 11:41 AM GMT by [Gnome][2][?][2]: solved!
130
-* [CrossCompilePowerPC][127] . . . 21 November 2008, at 01:54 AM GMT by [Gnome][2][?][2]: fix typos
131
-* [LightningForLinuxPPC][128] . . . 16 November 2008, at 06:34 PM GMT by [Gnome][2][?][2]: updated
132
-* [ResizeLUKS][129] . . . 03 November 2008, at 12:00 PM GMT by [Gnome][2][?][2]: wikispam
133
-* [PowerbookDvorakKeymaps][130] . . . 11 October 2008, at 02:31 AM GMT by [Gnome][2][?][2]: description
134
-* [JabraBluetoothHeadset][131] . . . 05 October 2008, at 06:55 PM GMT by [Gnome][2][?][2]: setup and test
135
-* [MuxingMatroska][132] . . . 24 August 2008, at 12:31 AM GMT by [Gnome][2][?][2]: fixed mkvmerge process
136
-* [PPCChroot][133] . . . 12 November 2007, at 05:44 PM GMT by [Gnome][2][?][2]: didn't work
5
+* [FirefoxProductivity][1] . . . 22 April 2022, at 08:04 PM UTC by Gnome: Disable website shortcuts
6
+* [Accounting][3] . . . 05 April 2022, at 03:08 PM UTC by Gnome: zero-sum
7
+* [Tech][4] . . . 09 March 2022, at 02:26 PM UTC by Gnome: accounting
8
+* [UbuntuProductivity][5] . . . 11 November 2021, at 10:13 AM UTC by Gnome: xfce4-notifyd-config
9
+* [MusicTagging][6] . . . 23 August 2020, at 11:06 PM UTC by Gnome: python3 venv
10
+* [FlacToMp3][7] . . . 10 August 2020, at 06:29 PM UTC by Gnome: to mp3
11
+* [Video][8] . . . 10 April 2020, at 07:33 PM UTC by Gnome: Motion detection
12
+* [XmlStar][9] . . . 01 February 2020, at 05:02 PM UTC by Gnome: list attributes
13
+* [MotoG5][10] . . . 01 February 2020, at 04:55 PM UTC by Gnome: list uids and gids
14
+* [GnuPGKeyManagement][11] . . . 31 January 2020, at 03:33 PM UTC by Gnome: removing subkeys
15
+* [MySQL][12] . . . 26 August 2019, at 12:55 PM UTC by Gnome: show grants, privileges
16
+* [WikiToGit][13] . . . 08 August 2019, at 11:48 AM UTC by Gnome: Makefile
17
+* [VIMAndSystemVerilog][14] . . . 31 July 2019, at 12:07 PM UTC by Gnome:
18
+* [CMakeBuildDeps][15] . . . 04 April 2019, at 12:08 PM UTC by Gnome: use the bash brush for now
19
+* [JenkinsMultibranchPipelineWithGitTagDiscovery][16] . . . 08 March 2019, at 06:17 PM UTC by Gnome: fix code
20
+* [BrilliantForWindows][17] . . . 09 January 2019, at 01:24 PM UTC by Gnome:
21
+* [Grafana][18] . . . 02 July 2018, at 12:32 PM UTC by Gnome: Presence graph with stacking
22
+* [HuaweiE3372][19] . . . 10 September 2017, at 05:59 PM UTC by Gnome: rooting
23
+* [MSVCProductivity][20] . . . 21 June 2017, at 03:07 PM UTC by Gnome: msvc-source-files
24
+* [VIMAndIAR][21] . . . 21 June 2017, at 02:39 PM UTC by Gnome: use codestart, codeend
25
+* [SniffSerialPort][22] . . . 12 February 2017, at 06:21 PM UTC by Gnome: socat and xxd
26
+* [DoogeeT5][23] . . . 09 February 2017, at 10:10 AM UTC by Gnome: returned
27
+* [StellaZ][24] . . . 01 January 2017, at 03:13 PM UTC by Gnome:
28
+* [MotoG][25] . . . 14 November 2016, at 05:11 PM UTC by Gnome: post-flash setup
29
+* [MinimalistCodeStyle][26] . . . 18 August 2016, at 12:44 PM UTC by Gnome: indent and uncrustify
30
+* [Buzzard2][27] . . . 18 July 2016, at 12:51 PM UTC by Gnome: unlock link
31
+* [WindowsVm][28] . . . 11 July 2016, at 09:57 AM UTC by Gnome: plan
32
+* [WindowsProductivity][29] . . . 10 July 2016, at 01:33 PM UTC by Gnome: toc
33
+* [VIM][30] . . . 06 May 2016, at 02:13 PM UTC by Gnome: esc delay
34
+* [VIMPlugins][31] . . . 06 May 2016, at 02:11 PM UTC by Gnome: link vim-powerline
35
+* [3GModem][32] . . . 25 April 2016, at 10:50 AM UTC by Gnome: MF823, Buzzard 2
36
+* [Mutt][33] . . . 09 March 2016, at 03:31 PM UTC by Gnome: fix mailcap location
37
+* [LLVMBackend][34] . . . 02 March 2016, at 04:53 PM UTC by Gnome: rmmod zram
38
+* [JavaOnX64][35] . . . 09 January 2016, at 10:11 PM UTC by Gnome: Memory switches
39
+* [Netbook][36] . . . 07 January 2016, at 03:14 AM UTC by Gnome: link Network.Shochu
40
+* [PmWikiBits][37] . . . 15 December 2015, at 05:14 PM UTC by Gnome: mini gallery
41
+* [OpenWRT][38] . . . 18 November 2015, at 04:16 PM UTC by Gnome: DisplayLink USB adapter
42
+* [FlashBench][39] . . . 10 September 2015, at 02:27 PM UTC by Gnome: analysis
43
+* [SatNavs][40] . . . 31 August 2015, at 07:42 PM UTC by Gnome: tomtom go
44
+* [TomTomOne][41] . . . 31 August 2015, at 07:40 PM UTC by Gnome: link SatNavs
45
+* [RakeForMakeUsers][42] . . . 05 August 2015, at 01:26 PM UTC by Gnome: task iteration
46
+* [DebianRaspberryPiPackaging][43] . . . 21 July 2015, at 08:28 PM UTC by Gnome: build deps?
47
+* [WatchmanSonic][44] . . . 02 July 2015, at 12:44 PM UTC by Gnome: Radio details
48
+* [FoxyProxy][45] . . . 12 February 2015, at 03:01 PM UTC by Gnome: fix
49
+* [HuaweiE3131][46] . . . 21 January 2015, at 05:56 PM UTC by Gnome: usb modeswitch
50
+* [ZTEMF823][47] . . . 21 January 2015, at 05:54 PM UTC by Gnome: TS-9 antenna connector
51
+* [Images][48] . . . 23 October 2014, at 01:39 AM UTC by Gnome: convert CR2 to jpg
52
+* [DWM][49] . . . 29 May 2014, at 11:02 AM UTC by Gnome: Formatting
53
+* [HuaweiE1750][50] . . . 05 April 2014, at 01:36 PM UTC by Gnome: protocols HSDPA HSUPA, specs
54
+* [PdfEditing][51] . . . 28 March 2014, at 06:37 PM UTC by Gnome: oocalc PDF editing
55
+* [FirmwareUpgrade][52] . . . 20 March 2014, at 01:13 AM UTC by Gnome: Upgrade firmware with USB and freedos
56
+* [BuildTools][53] . . . 19 February 2014, at 06:04 PM UTC by Gnome: Fabricate description
57
+* [MultiwayRadio][54] . . . 17 February 2014, at 01:39 AM UTC by Gnome: Ideas
58
+* [Bitcoin][55] . . . 10 February 2014, at 02:00 AM UTC by Gnome: make install
59
+* [3GModemUnlocking][56] . . . 24 November 2013, at 05:38 PM UTC by Gnome: E3131 unlock info
60
+* [CellC3G][57] . . . 15 November 2013, at 02:13 PM UTC by Gnome: chap auth
61
+* [NookSimpleTouch][58] . . . 08 November 2013, at 12:53 AM UTC by Gnome: Format SD card
62
+* [RakeTemplate][59] . . . 04 October 2013, at 04:40 PM UTC by Gnome: Rakefile template
63
+* [Xmonad][60] . . . 03 October 2013, at 10:54 AM UTC by Gnome: Xmonad layouts for netbooks
64
+* [WindowManagers][61] . . . 03 October 2013, at 10:52 AM UTC by Gnome: DWM and Xmonad
65
+* [EllipticCurveCrypto][62] . . . 07 August 2013, at 05:02 PM UTC by Gnome: gnupg-ecc
66
+* [PmWikiFixEncoding][63] . . . 28 June 2013, at 04:41 PM UTC by Gnome: iconv
67
+* [GoogleAppsEmigration][64] . . . 12 June 2013, at 11:30 PM GMT by Gnome: Systems and options
68
+* [GoogleAppsMigration][65] . . . 12 June 2013, at 11:24 PM GMT by Gnome: google apps emigration
69
+* [MiniHDCamera][66] . . . 22 May 2013, at 01:29 PM GMT by Gnome: line breaks
70
+* [CasioSPS-300][67][?][67] . . . 22 April 2013, at 06:13 PM GMT by Gnome: features
71
+* [CasioDBC-32][68][?][68] . . . 22 April 2013, at 06:02 PM GMT by Gnome: features
72
+* [GpsFiltering][69] . . . 19 March 2013, at 07:37 PM GMT by Gnome: Crossing gps icon
73
+* [GarminForetrex][70] . . . 13 March 2013, at 12:17 AM GMT by Gnome: gps serial pins
74
+* [RakeExampleBuildDirectory][71] . . . 28 February 2013, at 01:31 PM GMT by Gnome: Update example
75
+* [RepositoryLayout][72] . . . 28 February 2013, at 12:41 AM GMT by Gnome: arch-vendor-OS-abi
76
+* [SupMail][73] . . . 26 February 2013, at 06:01 PM GMT by Gnome: IMAP
77
+* [DesignDocsInDoxygen][74] . . . 25 February 2013, at 03:31 PM GMT by Gnome: design docs in doxygen
78
+* [VersionStrings][75] . . . 21 February 2013, at 06:15 PM GMT by Gnome: SubWCRev
79
+* [ConfigDefines][76] . . . 21 February 2013, at 02:49 PM GMT by Gnome: Notes
80
+* [StructNamespaces][77] . . . 21 February 2013, at 02:21 PM GMT by Gnome: fixes
81
+* [MPLABXAndCI][78] . . . 21 February 2013, at 01:41 PM GMT by Gnome: notes
82
+* [ApplicationPackageManager][79] . . . 21 February 2013, at 01:10 PM GMT by Gnome: asbo details
83
+* [CrossCompilePIC][80] . . . 07 February 2013, at 03:01 PM GMT by Gnome: picgcc
84
+* [StateMachineStyle][81] . . . 17 December 2012, at 12:35 PM GMT by Gnome: State arrays 2 style TODO
85
+* [BitfieldGotchas][82] . . . 05 December 2012, at 04:28 PM GMT by Gnome: comma
86
+* [StaticAssert][83] . . . 09 November 2012, at 02:31 AM GMT by Gnome: updated for scope brackets and syntax highlighting
87
+* [HierarchicalDoxygen][84] . . . 30 October 2012, at 04:52 PM GMT by Gnome: link stackoverflow
88
+* [BuildrForC][85] . . . 29 October 2012, at 03:20 PM GMT by Gnome: ruby syntax highlighting
89
+* [InstantMessaging][86] . . . 26 September 2012, at 11:31 AM GMT by Gnome: formatting
90
+* [T4CodeGeneration][87] . . . 01 June 2012, at 01:46 PM GMT by Gnome: workaround
91
+* [CodeGeneration][88] . . . 31 May 2012, at 04:56 PM GMT by Gnome: c-msggen
92
+* [SourceSafeCommands][89] . . . 10 April 2012, at 09:38 PM GMT by Gnome: syntaxlove
93
+* [ZteBlade][90] . . . 16 February 2012, at 11:50 PM GMT by Gnome: add TextSecure
94
+* Home . . . 09 February 2012, at 03:17 PM GMT by Gnome: Application Package Manager
95
+* [EmbeddedSystemTesting][92] . . . 18 January 2012, at 01:50 PM GMT by Gnome: formatting
96
+* [GenericAnnotationOfCode][93] . . . 14 December 2011, at 05:11 PM GMT by Gnome: table formatting
97
+* [VIMAndTI][94] . . . 09 December 2011, at 01:44 PM GMT by Gnome: syntax
98
+* [CMake][95] . . . 28 November 2011, at 05:54 PM GMT by Gnome: Custom module path, Out-of-Tree sub-project, MSVC runtime libs
99
+* [LaCrosseWS9029U-IT][96] . . . 15 November 2011, at 05:51 PM GMT by Gnome: resync
100
+* [TinyDnsHiddenPrimary][97] . . . 10 November 2011, at 12:15 AM GMT by Gnome: home domain
101
+* [GitSvnNotes][98] . . . 21 October 2011, at 12:40 PM GMT by Gnome: git svn relocate
102
+* [VIMProjectVimrc][99] . . . 05 September 2011, at 02:15 PM GMT by Gnome: link VIMAndIAR, VIMAndTI
103
+* CygwinWindowsIntegration . . . 11 August 2011, at 09:12 AM GMT by Gnome:
104
+* [PioneerDEH-2200UB][101] . . . 28 May 2011, at 02:31 AM GMT by Gnome: display width
105
+* [RsyncIPod][102] . . . 28 May 2011, at 12:20 AM GMT by Gnome: Extended, not reserved
106
+* [PCLintAndMake][103] . . . 10 December 2010, at 12:25 PM GMT by Gnome: makefile
107
+* [CanonIxus800][104] . . . 04 December 2010, at 08:14 PM GMT by Gnome: SD lock enables CHDK
108
+* [FlashN770][105] . . . 04 December 2010, at 07:34 PM GMT by Gnome: formatting
109
+* [Subtitles][106] . . . 18 June 2010, at 02:35 PM GMT by Gnome: merging 2-CD SRTs
110
+* [ContourHD][107] . . . 16 June 2010, at 02:34 PM GMT by Gnome: Details, log, mounting, accessories, waterproof case
111
+* [HelmetCamera][108] . . . 16 June 2010, at 02:27 PM GMT by Gnome: Purchased Contour HD
112
+* [AudioCD][109] . . . 23 April 2010, at 01:21 PM GMT by Gnome: Audio CD clone
113
+* [CrossCompileMSP430][110] . . . 14 April 2010, at 12:54 PM GMT by Gnome: mailing list
114
+* [VoIP][111] . . . 25 January 2010, at 01:04 PM GMT by Gnome: encryption articles
115
+* [NokiaSeries60VoIP][112] . . . 25 January 2010, at 12:32 PM GMT by Gnome: nokia support
116
+* [Tascam144][113] . . . 24 January 2010, at 01:34 AM GMT by Gnome: installation, testing
117
+* [MigrateVSStoSVN][114] . . . 15 January 2010, at 03:00 PM GMT by Gnome: importing labels
118
+* [UnorderedSets][115] . . . 13 January 2010, at 12:49 PM GMT by Gnome: gcc version
119
+* ComplexNumberStyle . . . 13 January 2010, at 10:40 AM GMT by Gnome: unordered sets
120
+* [ParseAndPackDecoder][117] . . . 05 January 2010, at 12:14 AM GMT by Gnome: formatting
121
+* [FixedWidthTypes][118] . . . 04 January 2010, at 05:44 PM GMT by Gnome: reformat
122
+* [ElseIfStyle][119] . . . 04 January 2010, at 05:34 PM GMT by Gnome: first cut and link c2.com
123
+* NetbookSystemSoftware . . . 24 September 2009, at 01:25 PM GMT by Gnome: partition, install
124
+* NetbookApplicationSoftware . . . 22 September 2009, at 01:42 PM GMT by Gnome: seafarer
125
+* [BluetoothGprsModem][122] . . . 05 August 2009, at 09:15 PM GMT by Gnome: details
126
+* [VIMAndPCLint][123] . . . 23 January 2009, at 03:01 PM GMT by Gnome: makeprg
127
+* [FallbackImplementation][124] . . . 22 January 2009, at 06:01 PM GMT by Gnome: first draft
128
+* [Geotag][125] . . . 04 January 2009, at 05:24 PM GMT by Gnome: exiftool tag
129
+* [MatshitaUJ816][126] . . . 04 January 2009, at 11:41 AM GMT by Gnome: solved!
130
+* [CrossCompilePowerPC][127] . . . 21 November 2008, at 01:54 AM GMT by Gnome: fix typos
131
+* [LightningForLinuxPPC][128] . . . 16 November 2008, at 06:34 PM GMT by Gnome: updated
132
+* [ResizeLUKS][129] . . . 03 November 2008, at 12:00 PM GMT by Gnome: wikispam
133
+* [PowerbookDvorakKeymaps][130] . . . 11 October 2008, at 02:31 AM GMT by Gnome: description
134
+* [JabraBluetoothHeadset][131] . . . 05 October 2008, at 06:55 PM GMT by Gnome: setup and test
135
+* [MuxingMatroska][132] . . . 24 August 2008, at 12:31 AM GMT by Gnome: fixed mkvmerge process
136
+* [PPCChroot][133] . . . 12 November 2007, at 05:44 PM GMT by Gnome: didn't work
137 137
138 138
[1]: FirefoxProductivity
139 139
[3]: Accounting
Tech/RepositoryLayout.md
... ...
@@ -29,13 +29,13 @@ abi
29 29
## Examples
30 30
31 31
i686-pc-linux-gnu
32
-: The default x86 tuple for [PCs][1][?][1].
32
+: The default x86 tuple for PCs.
33 33
34 34
x86_64-pc-linux-gnu
35
-: The default tuple for 64-bit x86 Machines (such as the AMD 64 and [IA64][2][?][2] architectures).
35
+: The default tuple for 64-bit x86 Machines (such as the AMD 64 and IA64 architectures).
36 36
37 37
powerpc-unknown-linux-gnu
38
-: Support for [PowerPC][3][?][3] [PCs][1][?][1], such as Apple Macintoshes.
38
+: Support for PowerPC PCs, such as Apple Macintoshes.
39 39
40 40
armv7a-hardfloat-linux-gnueabi
41 41
: Support for embedded devices with newer Cortex-A9 based ARM chips.
... ...
@@ -91,11 +91,11 @@ I recommend (here's the beef):
91 91
2. Structure each project as a directory tree with a single root.
92 92
3. Create an automated build script for each project in its root directory that will build it from scratch, with NO dependencies on an IDE (but don't prevent it from being built in the IDE, if feasible).
93 93
4. Consider nAnt for .NET projects on Windows, or something similar based on your OS, target platform, etc.
94
-5. Make every project build script reference its external (3rd-party) dependencies from a single local shared "library" directory, with every such binary FULLY identified by version: %[DirLibraryRoot][5][?][5]%\[ComponentA][6][?][6]-1.2.3.4.dll, %[DirLibraryRoot][5][?][5]%\[ComponentB][7][?][7]-5.6.7.8.dll.
95
-6. Make every project build script publish the primary deliverable to a single local shared "output" directory: %[DirOutputRoot][8][?][8]%\[ProjectA][9][?][9]-9.10.11.12.dll, %[DirOutputRoot][8][?][8]%\[ProjectB][10][?][10]-13.14.15.16.exe.
94
+5. Make every project build script reference its external (3rd-party) dependencies from a single local shared "library" directory, with every such binary FULLY identified by version: %DirLibraryRoot%\ComponentA-1.2.3.4.dll, %DirLibraryRoot%\ComponentB-5.6.7.8.dll.
95
+6. Make every project build script publish the primary deliverable to a single local shared "output" directory: %DirOutputRoot%\ProjectA-9.10.11.12.dll, %DirOutputRoot%\ProjectB-13.14.15.16.exe.
96 96
7. Make every project build script reference its dependencies via configurable and fully-versioned absolute paths (see above) in the "library" and "output" directories, AND NO WHERE ELSE.
97 97
8. NEVER let a project directly reference another project or any of its contents--only allow references to the primary deliverables in the "output" directory (see above).
98
-9. Make every project build script reference its required build tools by a configurable and fully-versioned absolute path: %[DirToolRoot][11][?][11]%\[ToolA][12][?][12]\1.2.3.4, %[DirToolRoot][11][?][11]%\[ToolB][13][?][13]\5.6.7.8.
98
+9. Make every project build script reference its required build tools by a configurable and fully-versioned absolute path: %DirToolRoot%\ToolA\1.2.3.4, %DirToolRoot%\ToolB\5.6.7.8.
99 99
10. Make every project build script reference source content by an absolute path relative to the project root directory: ${project.base.dir}/src, ${project.base.dir}/tst (syntax varies by build tool).
100 100
11. ALWAYS require a project build script to reference EVERY file or directory via an absolute, configurable path (rooted at a directory specified by a configurable variable): ${project.base.dir}/some/dirs or ${env.Variable}/other/dir.
101 101
12. NEVER allow a project build script to reference ANYTHING with a relative path like .\some\dirs\here or ..\some\more\dirs, ALWAYS use absolute paths.
... ...
@@ -121,6 +121,6 @@ Please don't use Subversion externals (or similar in other tools), they are an a
121 121
122 122
When you implement continuous integration, or even when you just want to automate the release process, create a script for it. Make a single shell script that: takes parameters of the project name (as listed in the repository) and tag name, creates a temporary directory within a configurable root directory, checks out the source for the given project name and tag name (by constructing the appropriate URL in the case of Subversion) to that temporary directory, performs a clean build that runs tests and packages the deliverable. This shell script should work on any project and should be checked into source control as part of your "build tools" project. Your continuous integration server can use this script as its foundation for building projects, or it might even provide it (but you still might want your own).
123 123
124
-@[VonC][14][?][14]: You do NOT want to work at all times with "ant.jar" rather than "ant-a.b.c.d.jar" after you get burned when your build script breaks because you unknowingly ran it with an incompatible version of Ant. This is particularly common between Ant 1.6.5 and 1.7.0. Generalizing, you ALWAYS want to know what specific version of EVERY component is being used, including your platform (Java A.B.C.D) and your build tool (Ant E.F.G.H). Otherwise, you will eventually encounter a bug and your first BIG problem will be tracking down what versions of your various components are involved. It is simply better to solve that problem up front.
124
+@VonC: You do NOT want to work at all times with "ant.jar" rather than "ant-a.b.c.d.jar" after you get burned when your build script breaks because you unknowingly ran it with an incompatible version of Ant. This is particularly common between Ant 1.6.5 and 1.7.0. Generalizing, you ALWAYS want to know what specific version of EVERY component is being used, including your platform (Java A.B.C.D) and your build tool (Ant E.F.G.H). Otherwise, you will eventually encounter a bug and your first BIG problem will be tracking down what versions of your various components are involved. It is simply better to solve that problem up front.
125 125
126 126
[4]: http://stackoverflow.com/questions/222827/how-do-you-organize-your-version-control-repository#304036
Tech/ResizeLUKS.md
... ...
@@ -2,7 +2,7 @@
2 2
title: ResizeLUKS
3 3
---
4 4
5
-Resizing LUKS+[LVM2][1][?][1]+ext3 after replacing the harddisk with a larger one.
5
+Resizing LUKS+LVM2+ext3 after replacing the harddisk with a larger one.
6 6
7 7
8 8
... ...
@@ -11,16 +11,16 @@ Resizing LUKS+[LVM2][1][?][1]+ext3 after replacing the harddisk with a larger on
11 11
## Setup
12 12
13 13
* Aluminium Powerbook 1.25GHz 15" (Powerboook5,2)
14
-* 80GB HDD (Fujitsu [MHT2080AT][18][?][18] 4200rpm)
14
+* 80GB HDD (Fujitsu MHT2080AT 4200rpm)
15 15
* /dev/hda14 LUKS partition "cryptroot"
16
-* [LVM2][1][?][1] volume group "vgroot" on "cryptroot"
17
-* [LVM2][1][?][1] logical volumes "lvroot" "lvhome" "lvtmp" "lvusr" "lvvar" on "vgroot"
16
+* LVM2 volume group "vgroot" on "cryptroot"
17
+* LVM2 logical volumes "lvroot" "lvhome" "lvtmp" "lvusr" "lvvar" on "vgroot"
18 18
19 19
20 20
21 21
### New hardware
22 22
23
-* 160GB HDD (Seagate [ST9160821A][19][?][19] 5400rpm)
23
+* 160GB HDD (Seagate ST9160821A 5400rpm)
24 24
25 25
26 26
... ...
@@ -49,10 +49,10 @@ Partitions on old 80GB disk
49 49
| 8 | Patch Partition | 1312 | 1823 | 512 | 256K | Apple patch partition |
50 50
| 9 | Untitled | 1824 | 41945088 | 41943265 | 20G | OS X root |
51 51
| 10 | Shared | 41945089 | 111151104 | 69206016 | 33G | Shared ext3 |
52
-| 11 | bootstrap | 111151105 | 111152704 | 1600 | 800K | [NewWorld][20][?][20] bootblock |
52
+| 11 | bootstrap | 111151105 | 111152704 | 1600 | 800K | NewWorld bootblock |
53 53
| 12 | boot | 111152705 | 111314943 | 162239 | 79.22M | /boot |
54 54
| 13 | swap | 111314944 | 113282623 | 1967680 | 960.78M | swap |
55
-| 14 | linux | 113282624 | 156301487 | 43018864 | 20.51G | root, LUKS, [LVM2][1][?][1] |
55
+| 14 | linux | 113282624 | 156301487 | 43018864 | 20.51G | root, LUKS, LVM2 |
56 56
57 57
58 58
... ...
@@ -119,7 +119,7 @@ In moving from 80GB to 160GB:
119 119
120 120
### Overview
121 121
122
-Migrate data from dying 80GB disk to new 160GB disk, keeping data intact including LUKS partition with [LVM2][1][?][1] inside. Resize partitions to take advantage of the bigger disk.
122
+Migrate data from dying 80GB disk to new 160GB disk, keeping data intact including LUKS partition with LVM2 inside. Resize partitions to take advantage of the bigger disk.
123 123
124 124
125 125
... ...
@@ -208,7 +208,7 @@ Nothing to do, the encrypted swap gets recreated on each boot. So just resize th
208 208
209 209
HFS+ can't be enlarged without a third-party utility.
210 210
211
-So create a new partition instead. To be used as an encrypted Home partition through [FileVault][22][?][22].
211
+So create a new partition instead. To be used as an encrypted Home partition through FileVault.
212 212
213 213
` parted /dev/hda unit s mkpart 41945089 83887903 `
214 214
Tech/SatNavs.md
... ...
@@ -2,15 +2,15 @@
2 2
title: SatNavs
3 3
---
4 4
5
-Old [SatNav][1][?][1]
5
+Old SatNav
6 6
: [TomTomOne][2] XL
7 7
8 8
9 9
10 10
# Replacements
11 11
12
-## [TomTom][3][?][3] Go 500
12
+## TomTom Go 500
13 13
14
-## [TomTom][3][?][3] Go 5000
14
+## TomTom Go 5000
15 15
16 16
[2]: TomTomOne
Tech/SourceSafeCommands.md
... ...
@@ -48,31 +48,32 @@ Formatted for Cygwin bash.
48 48
49 49
# Example Script
50 50
51
-#!/bin/sh
52
-# Get project from VSS
53
-#
54
-# Usage: vss-get.sh PROJECT [LABEL]
55
-#
56
-#  e.g. vss-get.sh $/Path/Project 0.1
57
-#
58
-VSS_PROJ="$1"
59
-LABEL="$2"
60
-SS="/c/Program Files/Microsoft Visual Studio/VSS/win32/SS.EXE"
61
-#echo SSDIR=$SSDIR
62
-#echo VSS\_PROJ=$VSS\_PROJ
63
-#echo USER=$USER
64
-
65
-if [ -z "$LABEL" ]
66
-then
67
-    # get latest
68
-    #echo "$SS" Get "$VSS_PROJ" "-Y$USER", -R -I-
69
-    "$SS" Get "$VSS_PROJ" "-Y$USER", -R -I-
70
-else
71
-    # get label
72
-    #echo "$SS" Get "$VSS_PROJ" "-Vl$LABEL" "-Y$USER", -R -I-
73
-    "$SS" Get "$VSS_PROJ" "-Vl$LABEL" "-Y$USER", -R -I-
51
+```shell
52
+#!/bin/sh
53
+# Get project from VSS
54
+#
55
+# Usage: vss-get.sh PROJECT [LABEL]
56
+#
57
+#  e.g. vss-get.sh $/Path/Project 0.1
58
+#
59
+VSS_PROJ="$1"
60
+LABEL="$2"
61
+SS="/c/Program Files/Microsoft Visual Studio/VSS/win32/SS.EXE"
62
+#echo SSDIR=$SSDIR
63
+#echo VSS\_PROJ=$VSS\_PROJ
64
+#echo USER=$USER
65
+
66
+if [ -z "$LABEL" ]
67
+then
68
+    # get latest
69
+    #echo "$SS" Get "$VSS_PROJ" "-Y$USER", -R -I-
70
+    "$SS" Get "$VSS_PROJ" "-Y$USER", -R -I-
71
+else
72
+    # get label
73
+    #echo "$SS" Get "$VSS_PROJ" "-Vl$LABEL" "-Y$USER", -R -I-
74
+    "$SS" Get "$VSS_PROJ" "-Vl$LABEL" "-Y$USER", -R -I-
74 75
fi
75 76
76
-[[$[Get Code]]][1]
77
+```
77 78
78 79
[1]: SourceSafeCommands?action=sourceblock&num=1
... ...
\ No newline at end of file
Tech/StateMachineStyle.md
... ...
@@ -16,42 +16,42 @@ title: StateMachineStyle
16 16
# Enum state variable
17 17
18 18
* Switch statement
19
-* [OnState][1][?][1] (transition) and [DoState][2][?][2] (tick)
19
+* OnState (transition) and DoState (tick)
20 20
* function-scope static state variables?
21 21
22 22
23 23
24 24
## Example
25 25
26
-typedef enum STATE STATE_T;
27
-enum STATE {
28
-    STATE_ONE,
29
-    STATE_TWO,
30
-    ...
31
-    STATE_COUNT
32
-} currentState;
33
-
34
-void OnEvent(EVENT_T evt)
35
-{
36
-    switch(currentState)
37
-    {
38
-    case STATE_ONE:
39
-        switch (evt)
40
-        {
41
-        case EVENT_ONE:
42
-            ...
43
-            break;
44
-        ...    
45
-        }
46
-        ...
47
-        break;
48
-    case STATE_TWO:
49
-        ...
50
-        break;
51
-    }
52
-}
53
-
54
-[[$[Get Code]]][3]
26
+
27
+ typedef enum STATE STATE_T;
28
+ enum STATE {
29
+     STATE_ONE,
30
+     STATE_TWO,
31
+     ...
32
+     STATE_COUNT
33
+ } currentState;
34
+
35
+ void OnEvent(EVENT_T evt)
36
+ {
37
+     switch(currentState)
38
+     {
39
+     case STATE_ONE:
40
+         switch (evt)
41
+         {
42
+         case EVENT_ONE:
43
+             ...
44
+             break;
45
+         ...    
46
+         }
47
+         ...
48
+         break;
49
+     case STATE_TWO:
50
+         ...
51
+         break;
52
+     }
53
+ }
54
+
55 55
56 56
57 57
... ...
@@ -81,55 +81,55 @@ void OnEvent(EVENT_T evt)
81 81
82 82
## Example
83 83
84
-/* Transition function */
85
-typedef void (* const HANDLER_FNP)(EVENT_T e);
86
-
87
-typedef struct
88
-{
89
-    EVENT_T event;       /* Event ID */
90
-    HANDLER_FNP handler;  /* Pointer to corresponding handler */
91
-} TRANSITION_T;
92
-
93
-static const TRANSITION\_T STATE\_ONE[] = {
94
-    {EVENT\_ONE, handler\_one},
95
-    {EVENT\_TWO, handler\_two},
96
-    ...
97
-    {EVENT_MAX,  NULL}
98
-};
99
-
100
-struct FSM
101
-{
102
-    const TRANSITION_T** currentState;
103
-
104
-    const TRANSITION_T* stateOne;
105
-    const TRANSITION_T* stateTwo;
106
-    ...
107
-};
108
-
109
-// Instantiation
110
-struct FSM fsm = {
111
-    NULL,  // currentState
112
-    STATE_ONE,
113
-    STATE_TWO,
114
-    ...
115
-};
116
-
117
-void OnEvent(EVENT_T event)
118
-{
119
-    const TRANSITION_T* current = fsm->current;
120
-
121
-    // stop searching when a NULL handler is found
122
-    for (i = ; currentState[i].handler != NULL ; i++)
123
-    {
124
-        if (currentState[i].event == event)
125
-        {
126
-            currentState[i].handler(event);
127
-            break;
128
-        }
129
-    }
130
-}
131
-
132
-[[$[Get Code]]][4]
84
+
85
+ /* Transition function */
86
+ typedef void (* const HANDLER_FNP)(EVENT_T e);
87
+
88
+ typedef struct
89
+ {
90
+     EVENT_T event;       /* Event ID */
91
+     HANDLER_FNP handler;  /* Pointer to corresponding handler */
92
+ } TRANSITION_T;
93
+
94
+ static const TRANSITION\_T STATE\_ONE[] = {
95
+     {EVENT\_ONE, handler\_one},
96
+     {EVENT\_TWO, handler\_two},
97
+     ...
98
+     {EVENT_MAX,  NULL}
99
+ };
100
+
101
+ struct FSM
102
+ {
103
+     const TRANSITION_T** currentState;
104
+
105
+     const TRANSITION_T* stateOne;
106
+     const TRANSITION_T* stateTwo;
107
+     ...
108
+ };
109
+
110
+ // Instantiation
111
+ struct FSM fsm = {
112
+     NULL,  // currentState
113
+     STATE_ONE,
114
+     STATE_TWO,
115
+     ...
116
+ };
117
+
118
+ void OnEvent(EVENT_T event)
119
+ {
120
+     const TRANSITION_T* current = fsm->current;
121
+
122
+     // stop searching when a NULL handler is found
123
+     for (i = ; currentState[i].handler != NULL ; i++)
124
+     {
125
+         if (currentState[i].event == event)
126
+         {
127
+             currentState[i].handler(event);
128
+             break;
129
+         }
130
+     }
131
+ }
132
+
133 133
134 134
135 135
Tech/StaticAssert.md
... ...
@@ -6,21 +6,21 @@ See <http://www.pixelbeat.org/programming/gcc/static_assert.html>
6 6
7 7
8 8
9
-#define ASSERT\_CONCAT\_(a, b) a##b
10
-#define ASSERT\_CONCAT(a, b) ASSERT\_CONCAT_(a, b)
11
-/* These can't be used after statements in c89. */
12
-#ifdef \_\_COUNTER\_\_
13
-  #define STATIC_ASSERT(e,m) \
14
-    { enum { ASSERT_CONCAT(static\_assert\_, \_\_COUNTER\_\_) = 1/(!!(e)) }; }
15
-#else
16
-  /* This can't be used twice on the same line so ensure if using in headers
17
-   * that the headers are not included twice (by wrapping in #ifndef...#endif)
18
-   * Note it doesn't cause an issue when used on same line of separate modules
19
-   * compiled with gcc -combine -fwhole-program.  */
20
-  #define STATIC_ASSERT(e,m) \
21
-    { enum { ASSERT_CONCAT(assert\_line\_, \_\_LINE\_\_) = 1/(!!(e)) }; }
22
-#endif
23 9
24
-[[$[Get Code]]][1]
10
+ #define ASSERT\_CONCAT\_(a, b) a##b
11
+ #define ASSERT\_CONCAT(a, b) ASSERT\_CONCAT_(a, b)
12
+ /* These can't be used after statements in c89. */
13
+ #ifdef \_\_COUNTER\_\_
14
+   #define STATIC_ASSERT(e,m) \
15
+     { enum { ASSERT_CONCAT(static\_assert\_, \_\_COUNTER\_\_) = 1/(!!(e)) }; }
16
+ #else
17
+   /* This can't be used twice on the same line so ensure if using in headers
18
+    * that the headers are not included twice (by wrapping in #ifndef...#endif)
19
+    * Note it doesn't cause an issue when used on same line of separate modules
20
+    * compiled with gcc -combine -fwhole-program.  */
21
+   #define STATIC_ASSERT(e,m) \
22
+     { enum { ASSERT_CONCAT(assert\_line\_, \_\_LINE\_\_) = 1/(!!(e)) }; }
23
+ #endif
24
+
25 25
26 26
[1]: StaticAssert?action=sourceblock&num=1
... ...
\ No newline at end of file
Tech/StructNamespaces.md
... ...
@@ -6,14 +6,14 @@ title: StructNamespaces
6 6
7 7
8 8
9
-struct Engine_Data {
10
-    struct State* currentState;
11
-    int someFlags;
12
-};
13
-
14
-static struct Engine_Data s;
15 9
16
-[[$[Get Code]]][1]
10
+ struct Engine_Data {
11
+     struct State* currentState;
12
+     int someFlags;
13
+ };
14
+
15
+ static struct Engine_Data s;
16
+
17 17
18 18
Putting all static vars in a compilation unit into a single struct has advantages:
19 19
... ...
@@ -23,28 +23,28 @@ Putting all static vars in a compilation unit into a single struct has advantage
23 23
24 24
25 25
26
-struct Engine_vtable {
27
-    int (*start)();
28
-    int (*stop)();
29
-};
30
-
31
-/* Reusable class */
32
-struct Engine {
33
-    struct Engine_vtable* vtable;
34
-    struct Engine_Data s;
35
-};
36
-
37
-/* Initializer */
38
-void Engine_Init(struct Engine* e);
39
-
40
-int main()
41
-{
42
-    struct Engine engine;
43
-
44
-    Engine_Init(&engine);
45
-}
46 26
47
-[[$[Get Code]]][2]
27
+ struct Engine_vtable {
28
+     int (*start)();
29
+     int (*stop)();
30
+ };
31
+
32
+ /* Reusable class */
33
+ struct Engine {
34
+     struct Engine_vtable* vtable;
35
+     struct Engine_Data s;
36
+ };
37
+
38
+ /* Initializer */
39
+ void Engine_Init(struct Engine* e);
40
+
41
+ int main()
42
+ {
43
+     struct Engine engine;
44
+
45
+     Engine_Init(&engine);
46
+ }
47
+
48 48
49 49
[1]: StructNamespaces?action=sourceblock&num=1
50 50
[2]: StructNamespaces?action=sourceblock&num=2
... ...
\ No newline at end of file
Tech/SupMail.md
... ...
@@ -6,7 +6,7 @@ title: SupMail
6 6
7 7
## Primary
8 8
9
-* Retrieve mail from [GoogleApps][1][?][1] Mail
9
+* Retrieve mail from GoogleApps Mail
10 10
* Support GPG
11 11
* Command-line UI
12 12
Tech/T4CodeGeneration.md
... ...
@@ -2,7 +2,7 @@
2 2
title: T4CodeGeneration
3 3
---
4 4
5
-Code generation with T4 in [VS2008][1][?][1] and above.
5
+Code generation with T4 in VS2008 and above.
6 6
7 7
8 8
... ...
@@ -10,14 +10,14 @@ Code generation with T4 in [VS2008][1][?][1] and above.
10 10
11 11
* <http://www.agilification.com/post/T4-Templates-For-The-NET-Compact-Framework.aspx>
12 12
* By default prints the following errors:
13
- 1. Compiling transformation: The type or namespace name '[CompilerError][2][?][2]' does not exist in the namespace '[System.CodeDom][3][?][3].Compiler' (are you missing an assembly reference?)
14
- 2. Compiling transformation: The type '[System.CodeDom][3][?][3].[Compiler.CompilerErrorCollection][4][?][4]' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=2.0.0.0, Culture=neutral, [PublicKeyToken][5][?][5]=b77a5c561934e089'.
13
+ 1. Compiling transformation: The type or namespace name 'CompilerError' does not exist in the namespace '[System.CodeDom][3][?][3].Compiler' (are you missing an assembly reference?)
14
+ 2. Compiling transformation: The type '[System.CodeDom][3][?][3].[Compiler.CompilerErrorCollection][4][?][4]' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
15 15
3. Compiling transformation: '[System.CodeDom][3][?][3].[Compiler.CompilerErrorCollection][4][?][4]' does not contain a definition for 'Add'
16 16
17 17
18 18
*"Why doesn't this work? Because Visual Studio is attempting to use the Compact Framework assemblies in order to process the T4 template file. But the Compact Framework assemblies don't include the [System.CodeDom][3][?][3] namespace.*
19 19
20
- *I don't think Microsoft is ever going to add the [CodeDom][6][?][6] namespace to the Compact Framework. But there is a way to get T4 templates working in a Compact Framework project. You basically start off by creating two separate projects, one targeting the full .NET Framework, and another targeting the Compact Framework. Then, combine these projects into the same folder so they can share files between them. Finally, you can add .tt files to the full .NET Framework project and include the generated .cs files in your Compact Framework project. Voila! Templates for the Compact Framework."*
20
+ *I don't think Microsoft is ever going to add the CodeDom namespace to the Compact Framework. But there is a way to get T4 templates working in a Compact Framework project. You basically start off by creating two separate projects, one targeting the full .NET Framework, and another targeting the Compact Framework. Then, combine these projects into the same folder so they can share files between them. Finally, you can add .tt files to the full .NET Framework project and include the generated .cs files in your Compact Framework project. Voila! Templates for the Compact Framework."*
21 21
22 22
* Workaround is to create a C# project with access to the complete .NET environment, incorporating the T4 script outputting a CS file overlaid with the normal CF project. The CF project then includes only the generated CS file.
23 23
Tech/Tech.md
... ...
@@ -24,7 +24,7 @@ title: Tech
24 24
25 25
26 26
27
-### Window Managers, Editors and [IDEs][15][?][15]
27
+### Window Managers, Editors and IDEs
28 28
29 29
* [VIM][16] tweaks
30 30
* [VIM and IAR][17]
... ...
@@ -85,7 +85,7 @@ title: Tech
85 85
* [Updating Speedtouch Router Firmware][47] from Linux
86 86
* [Matshita UJ816][48] DVD-RW drive issues
87 87
* [Jabra Bluetooth Headset][49]
88
-* [CanonIxus800][50] (aka [SD700][51][?][51])
88
+* [CanonIxus800][50] (aka SD700)
89 89
* GPS - [Garmin Foretrex][52]
90 90
* Satnav - [TomTomOne][53]
91 91
* [Netbook][54] - [Nixie][55]
... ...
@@ -156,9 +156,9 @@ title: Tech
156 156
* [PmWikiFixEncoding][108] - fix encoding following php default encoding change to UTF-8
157 157
* [Video][109] - manipulating video containers
158 158
* [Images][110] - manipulating images
159
-* [PdfEditing][111] - sticking things into [PDFs][112][?][112] which are not PDF-forms
159
+* [PdfEditing][111] - sticking things into PDFs which are not PDF-forms
160 160
* [FoxyProxy][113] - useful foxy proxy settings
161
-* [Skype][114][?][114] - tips and settings for software development
161
+* Skype - tips and settings for software development
162 162
* [SniffSerialPort][115] - continuous hexdump
163 163
* [BrilliantForWindows][116]
164 164
* [FirefoxProductivity][117]
Tech/TinyDnsHiddenPrimary.md
... ...
@@ -2,7 +2,7 @@
2 2
title: TinyDnsHiddenPrimary
3 3
---
4 4
5
-Notes on configuring a hidden primary [TinyDNS][1][?][1] server
5
+Notes on configuring a hidden primary TinyDNS server
6 6
7 7
8 8
... ...
@@ -15,11 +15,11 @@ Hidden Primary is a DNS configuration in which the primary DNS exports the autho
15 15
# Reasons
16 16
17 17
* Convenient management of the zone file on a server you control
18
-* Export DNS records to services like [ZoneEdit][2][?][2] which don't support all types of records (like SRV)
18
+* Export DNS records to services like ZoneEdit which don't support all types of records (like SRV)
19 19
20 20
21 21
22
-# [TinyDNS][1][?][1] configuration
22
+# TinyDNS configuration
23 23
24 24
## Types of records
25 25
... ...
@@ -31,7 +31,7 @@ Hidden Primary is a DNS configuration in which the primary DNS exports the autho
31 31
| . | NS, A, SOA |
32 32
| + | A |
33 33
| = | A, PTR |
34
-| : | custom format: SRV, AAAA ([IPv6][3][?][3]) |
34
+| : | custom format: SRV, AAAA (IPv6) |
35 35
| @ | MX |
36 36
37 37
Tech/TomTomOne.md
... ...
@@ -9,7 +9,7 @@ Category
9 9
10 10
# Spec
11 11
12
-[TomTom][2][?][2] One XL v1
12
+TomTom One XL v1
13 13
14 14
15 15
... ...
@@ -113,9 +113,9 @@ Music output doesn't work through internal speaker. May not work at all. (Missin
113 113
114 114
115 115
116
-# [TomTom][2][?][2] Home
116
+# TomTom Home
117 117
118
-## [UserAgent][6][?][6]
118
+## UserAgent
119 119
120 120
* xul/defaults/preferences/tthome-prefs.js
121 121
... ...
@@ -124,14 +124,14 @@ Music output doesn't work through internal speaker. May not work at all. (Missin
124 124
125 125
126 126
127
-# [TTConsole][7][?][7]
127
+# TTConsole
128 128
129 129
* <http://www.opentom.org/TomTom_Console>
130 130
131 131
## Layout
132 132
133 133
* <http://www.opentom.org/Talk:TomTom_Console>
134
-* Modify /mnt/[TTconsole][8][?][8]/[TTconsole][9][?][9]-wrapper
134
+* Modify /mnt/TTconsole/TTconsole-wrapper
135 135
--keyboardlayout_en
136 136
137 137
... ...
@@ -225,7 +225,7 @@ Music output doesn't work through internal speaker. May not work at all. (Missin
225 225
226 226
* <http://www.ilpiola.it/roberto/tomtom/navcore8.asp>
227 227
* <http://www.mail-archive.com/opentom@lists.gnumonks.org/msg00293.html>
228
-* [TomTom][2][?][2].mnu
228
+* TomTom.mnu
229 229
230 230
The default menu items for 8.562 (no bluetooth) are roughly:
231 231
... ...
@@ -314,13 +314,13 @@ The default menu items for 8.562 (no bluetooth) are roughly:
314 314
* [http://www.fixya.com/support/t957302-tomtom\_keeps\_rebooting_itself][10]
315 315
316 316
1. Plug your tomtom into your PC.
317
-2. Run [TomTom][2][?][2] Home
318
-3. Select the option to run your [TomTom][2][?][2] through your PC (TT Home)
317
+2. Run TomTom Home
318
+3. Select the option to run your TomTom through your PC (TT Home)
319 319
4. You should be greated with the select language screen
320 320
5. Then simply select language etc.
321
-6. When you get to the voice selection: select a voice (here [TTHome][11][?][11] should freeze) <- also strangely enough notice the cancel button doesn't on the screen (as it does when doing this on the device)
321
+6. When you get to the voice selection: select a voice (here TTHome should freeze) <- also strangely enough notice the cancel button doesn't on the screen (as it does when doing this on the device)
322 322
7. Don't panic TT Home should start working again in a few seconds
323
-8. Disconnect your [TomTom][2][?][2] and that should have solved the problem, the normal map screen should show up upon starting up your [TomTom][2][?][2]
323
+8. Disconnect your TomTom and that should have solved the problem, the normal map screen should show up upon starting up your TomTom
324 324
325 325
326 326
Tech/UbuntuProductivity.md
... ...
@@ -85,13 +85,13 @@ Switching from `csh` to `bash`. Must be done for interactive shells only otherwi
85 85
86 86
`.cshrc`
87 87
88
-# Exec bash only if using an interactive shell.
89
-if ($?prompt) then
90
-    setenv SHELL /bin/bash
91
-    exec $SHELL
92
-endif
93 88
94
-[[$[Get Code]]][11]
89
+ # Exec bash only if using an interactive shell.
90
+ if ($?prompt) then
91
+     setenv SHELL /bin/bash
92
+     exec $SHELL
93
+ endif
94
+
95 95
96 96
97 97
Tech/VIMAndIAR.md
... ...
@@ -6,7 +6,7 @@ VIM snippets for using the IAR ARM compiler (Embedded Workbench).
6 6
7 7
8 8
9
-* Various bits were tested either with IAR ARM or IAR [MSP430][1][?][1] compilers
9
+* Various bits were tested either with IAR ARM or IAR MSP430 compilers
10 10
11 11
12 12
... ...
@@ -61,7 +61,7 @@ xml sel -t -m "/project/file|/project//group/file" -i "contains(name,'.c') or co
61 61
62 62
### Extract with xmlstar
63 63
64
-* [XPath][5][?][5]: /project/configuration(Debug)/settings([ICC430][6][?][6])/option([CCStdIncludePaths][7][?][7]|newCCIncludePaths)/state
64
+* XPath: /project/configuration(Debug)/settings(ICC430)/option(CCStdIncludePaths|newCCIncludePaths)/state
65 65
66 66
67 67
... ...
@@ -124,7 +124,7 @@ vimrc project settings
124 124
125 125
126 126
127
-## [ToDo][10][?][10]
127
+## ToDo
128 128
129 129
* more compiler configuration - C99 etc.
130 130
Tech/VIMAndTI.md
... ...
@@ -104,7 +104,7 @@ Uncomment the required modules and adapt the path to your system.
104 104
105 105
106 106
107
-## [ErrorFormat][1][?][1]
107
+## ErrorFormat
108 108
109 109
cl6x
110 110
Tech/VersionStrings.md
... ...
@@ -14,7 +14,7 @@ Template header: Provide a template with keywords which are processed and output
14 14
15 15
# Tools
16 16
17
-[TortoiseSVN][1][?][1]: [SubWCRev][2][?][2]
17
+TortoiseSVN: SubWCRev
18 18
19 19
svn: svnversion
20 20
... ...
@@ -31,7 +31,7 @@ git: git-describe
31 31
-D`svnversion`
32 32
33 33
34
-Requires svn command line tools (not installed by default with [TortoiseSVN][1][?][1]).
34
+Requires svn command line tools (not installed by default with TortoiseSVN).
35 35
36 36
37 37
... ...
@@ -45,7 +45,7 @@ Requires svn command line tools (not installed by default with [TortoiseSVN][1][
45 45
## Keyword substitution
46 46
47 47
* An anti-pattern
48
-* Unsuitable for [VCSs][3][?][3] with no global version id (SVN).
48
+* Unsuitable for VCSs with no global version id (SVN).
49 49
50 50
51 51
... ...
@@ -55,18 +55,18 @@ Requires svn command line tools (not installed by default with [TortoiseSVN][1][
55 55
56 56
Create a template header file "version.in" of the form:
57 57
58
-#ifndef VERSION_H
59
-#define VERSION_H
60
-
61
-#define VERSION\_VCS\_REV "$WCREV$"
62
-#define VERSION\_BUILD\_TIME "$WCNOW$"
63
-#define VERSION\_VCS\_PATH "$WCURL$"
64
-#define VERSION\_LOCAL\_MODS $WCMODS?1:0$
65
-
66
-#endif /\*VERSION_H\*/
67
68 58
69
-[[$[Get Code]]][4]
59
+ #ifndef VERSION_H
60
+ #define VERSION_H
61
+
62
+ #define VERSION\_VCS\_REV "$WCREV$"
63
+ #define VERSION\_BUILD\_TIME "$WCNOW$"
64
+ #define VERSION\_VCS\_PATH "$WCURL$"
65
+ #define VERSION\_LOCAL\_MODS $WCMODS?1:0$
66
+
67
+ #endif /\*VERSION_H\*/
68
+  
69
+
70 70
71 71
and in the build script run
72 72
... ...
@@ -75,18 +75,18 @@ and in the build script run
75 75
76 76
The generated output looks like
77 77
78
-#ifndef VERSION_H
79
-#define VERSION_H
80
-
81
-#define VERSION\_VCS\_REV "120"
82
-#define VERSION\_BUILD\_TIME "2013/02/21 17:44:46"
83
-#define VERSION\_VCS\_PATH "http://path/to/repo/trunk"
84
-#define VERSION\_LOCAL\_MODS 1
85
-
86
-#endif /\*VERSION_H\*/
87
88
-
89
-[[$[Get Code]]][5]
78
+
79
+ #ifndef VERSION_H
80
+ #define VERSION_H
81
+
82
+ #define VERSION\_VCS\_REV "120"
83
+ #define VERSION\_BUILD\_TIME "2013/02/21 17:44:46"
84
+ #define VERSION\_VCS\_PATH "http://path/to/repo/trunk"
85
+ #define VERSION\_LOCAL\_MODS 1
86
+
87
+ #endif /\*VERSION_H\*/
88
+  
89
+
90 90
91 91
92 92
Tech/VoIP.md
... ...
@@ -22,7 +22,7 @@ Details for creating a [VoIP][1] presence
22 22
* Talk to gTalk users
23 23
* Secure Authentication
24 24
* Encryption
25
-* [IPv6][2][?][2]
25
+* IPv6
26 26
27 27
28 28
... ...
@@ -79,7 +79,7 @@ Details for creating a [VoIP][1] presence
79 79
* No bluetooth headset support
80 80
* Gizmo - x86 only - SIP,Jabber
81 81
* Empathy/Telepathy
82
-* [WengoPhone][7][?][7] - SIP,Jabber
82
+* WengoPhone - SIP,Jabber
83 83
* QT
84 84
* no video??
85 85
* Twinkle
... ...
@@ -95,7 +95,7 @@ Details for creating a [VoIP][1] presence
95 95
96 96
* Gizmo - SIP,Jabber
97 97
* Xten - SIP,SIMPLE
98
-* [GTalk][8][?][8] - Jingle,Jabber
98
+* GTalk - Jingle,Jabber
99 99
* no video?
100 100
101 101
... ...
@@ -149,7 +149,7 @@ Details for creating a [VoIP][1] presence
149 149
## Talk to Windows Users, Video Chat
150 150
151 151
* SIP
152
-* Ekiga (Linux), Gizmo (Windows), [XTen][18][?][18] (Windows)
152
+* Ekiga (Linux), Gizmo (Windows), XTen (Windows)
153 153
154 154
155 155
Tech/WatchmanSonic.md
... ...
@@ -16,7 +16,7 @@ Tx interval
16 16
: 15min
17 17
18 18
Patent coverage
19
-: [GB2318696][1][?][1], [GB2302178][2][?][2] and [GB2303920][3][?][3]
19
+: GB2318696, GB2302178 and GB2303920
20 20
21 21
22 22
Tech/WikiToGit.md
... ...
@@ -2,7 +2,7 @@
2 2
title: WikiToGit
3 3
---
4 4
5
-# [MoinMoin][1][?][1]
5
+# MoinMoin
6 6
7 7
`Makefile`:
8 8
Tech/WindowsProductivity.md
... ...
@@ -15,7 +15,7 @@ title: WindowsProductivity
15 15
## cmd
16 16
17 17
* Properties
18
- * Options | Edit Options | [QuickEdit][34][?][34] Mode = ON
18
+ * Options | Edit Options | QuickEdit Mode = ON
19 19
* Font | Font = "Lucida Console", Size = 11
20 20
* Layout | Screen Buffer Size { Width = 220, Height = 5500 }
21 21
... ...
@@ -68,12 +68,12 @@ title: WindowsProductivity
68 68
69 69
Runs well under cygwin.
70 70
71
-git clone git://github.com/OfflineIMAP/offlineimap.git
72
-pip install sqlite json urllib
73
-cd offlineimap
74
-python setup.py
75 71
76
-[[$[Get Code]]][35]
72
+ git clone git://github.com/OfflineIMAP/offlineimap.git
73
+ pip install sqlite json urllib
74
+ cd offlineimap
75
+ python setup.py
76
+
77 77
78 78
79 79
... ...
@@ -300,7 +300,7 @@ Still doesn't work within screen though.
300 300
301 301
302 302
303
-## [VisVim][37][?][37]
303
+## VisVim
304 304
305 305
### Visual Studio 2005 MDI
306 306
... ...
@@ -368,10 +368,10 @@ Ignore chmod changes in git-gui, etc.
368 368
369 369
## Create rule: move sent message to inbox
370 370
371
-## Disable [AutoCorrect][38][?][38]
371
+## Disable AutoCorrect
372 372
373 373
1. File | Options | Mail | Editor Options...
374
-2. [AutoCorrect][38][?][38] Options... | [AutoCorrect][38][?][38]
374
+2. AutoCorrect Options... | AutoCorrect
375 375
1. Disable all except "Correct accidental usage of cAPS LOCK key"
376 376
377 377
... ...
@@ -395,7 +395,7 @@ Ignore chmod changes in git-gui, etc.
395 395
2. OK
396 396
3. Tools | Macro | Visual Basic Editor (or Alt-F11)
397 397
1. File | Import File (or Ctrl-M)
398
- 2. Choose the file ...\vimfiles\plugin\[OutlookVim][40][?][40].bas
398
+ 2. Choose the file ...\vimfiles\plugin\OutlookVim.bas
399 399
3. Expand Modules folder
400 400
4. Module1 | Project Properties
401 401
5. project name = "Vim"
... ...
@@ -468,41 +468,42 @@ Mount network share as a folder, rather than a drive.
468 468
469 469
470 470
471
-* Configure [MD5][41][?][41] authentication
471
+* Configure MD5 authentication
472 472
* Save as genpw.py
473 473
474
-#!/usr/bin/python
475
-
476
-from optparse import OptionParser
477
-# The md5 module is deprecated in Python 2.5
478
-try:
479
-    from hashlib import md5
480
-except ImportError:
481
-    from md5 import md5
482
-realm = 'trac'
483
-
484
-# build the options
485
-usage = "usage: %prog [options]"
486
-parser = OptionParser(usage=usage)
487
-parser.add_option("-u", "--username",action="store", dest="username", type = "string",
488
-                  help="the username for whom to generate a password")
489
-parser.add_option("-p", "--password",action="store", dest="password", type = "string",
490
-                  help="the password to use")
491
-parser.add_option("-r", "--realm",action="store", dest="realm", type = "string",
492
-                  help="the realm in which to create the digest")
493
-(options, args) = parser.parse_args()
494
-
495
-# check options
496
-if (options.username is None) or (options.password is None):
497
-   parser.error("You must supply both the username and password")
498
-if (options.realm is not None):
499
-   realm = options.realm
500
-
501
-# Generate the string to enter into the htdigest file
502
-kd = lambda x: md5(':'.join(x)).hexdigest()
474
+```python
475
+#!/usr/bin/python
476
+
477
+from optparse import OptionParser
478
+# The md5 module is deprecated in Python 2.5
479
+try:
480
+    from hashlib import md5
481
+except ImportError:
482
+    from md5 import md5
483
+realm = 'trac'
484
+
485
+# build the options
486
+usage = "usage: %prog [options]"
487
+parser = OptionParser(usage=usage)
488
+parser.add_option("-u", "--username",action="store", dest="username", type = "string",
489
+                  help="the username for whom to generate a password")
490
+parser.add_option("-p", "--password",action="store", dest="password", type = "string",
491
+                  help="the password to use")
492
+parser.add_option("-r", "--realm",action="store", dest="realm", type = "string",
493
+                  help="the realm in which to create the digest")
494
+(options, args) = parser.parse_args()
495
+
496
+# check options
497
+if (options.username is None) or (options.password is None):
498
+   parser.error("You must supply both the username and password")
499
+if (options.realm is not None):
500
+   realm = options.realm
501
+
502
+# Generate the string to enter into the htdigest file
503
+kd = lambda x: md5(':'.join(x)).hexdigest()
503 504
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))
504 505
505
-[[$[Get Code]]][42]
506
+```
506 507
507 508
508 509
... ...
@@ -524,8 +525,8 @@ print ':'.join((options.username, realm, kd([options.username, realm, options.pa
524 525
* Keyboard and Region
525 526
* Add English (UK)/US-Dvorak
526 527
* Show Language Bar
527
- * [LAlt][43][?][43]+Shift+1 = UK/Qwerty
528
- * [LAlt][43][?][43]+Shift+2 = UK/US-Dvorak
528
+ * LAlt+Shift+1 = UK/Qwerty
529
+ * LAlt+Shift+2 = UK/US-Dvorak
529 530
* Outlook
530 531
* Firefox, plugins etc
531 532
* Adblock
... ...
@@ -546,7 +547,7 @@ print ':'.join((options.username, realm, kd([options.username, realm, options.pa
546 547
* .vimrc
547 548
* Source Control
548 549
* .svn
549
- * [TortoiseSVN][44][?][44]
550
+ * TortoiseSVN
550 551
* External diff tool:
551 552
C:\opt\vim\vim73\gvim.exe -d %base %mine
552 553
Tech/ZTEMF823.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: ZTE
7 7
8 8
Model
9
-: [MF823][1][?][1]
9
+: MF823
10 10
11 11
Antenna Connector
12 12
: FME TS-9?
... ...
@@ -69,7 +69,7 @@ password
69 69
70 70
## No dhcp lease
71 71
72
-router0 - [MultiWeb][3][?][3] - no dhcp lease
72
+router0 - MultiWeb - no dhcp lease
73 73
74 74
Sep 3 14:36:16 router0 kernel: [588280.020000] usb 1-1.1.5.4: new high-speed USB device number 28 using ehci-platform
75 75
Sep 3 14:36:16 router0 kernel: [588280.280000] usb-storage 1-1.1.5.4:1.0: USB Mass Storage device detected
... ...
@@ -166,7 +166,7 @@ router0 - [MultiWeb][3][?][3] - no dhcp lease
166 166
Sep 3 15:12:25 router0 usb-modeswitch: *****************************************************************
167 167
168 168
169
-router1 - [FunnelWeb][4][?][4] - works correctly
169
+router1 - FunnelWeb - works correctly
170 170
171 171
Sep 4 00:22:03 router1 kernel: [1057040.600000] usb 1-1.1: new high-speed USB device number 3 using ehci-platform
172 172
Sep 4 00:22:03 router1 kernel: [1057040.840000] usb-storage 1-1.1:1.0: USB Mass Storage device detected
Tech/ZteBlade.md
... ...
@@ -3,7 +3,7 @@ title: ZteBlade
3 3
---
4 4
5 5
* Orange San Francisco
6
-* Purchased 2011-01-18 from [PrepaidMania][1][?][1] for £90
6
+* Purchased 2011-01-18 from PrepaidMania for £90
7 7
8 8
9 9
... ...
@@ -29,7 +29,7 @@ title: ZteBlade
29 29
* [ROMs intro][10]
30 30
* [MoDaCo Zte Blade ROMs][11]
31 31
* [r8-update-modacocustomrom-blade-kitchen-unsigned][12]
32
-* [r11-update-modacocustomrom-blade-kitchen-unsigned-a2sd%2B-stock-dialer][13] - requires SD card partitioned for [A2SD][14][?][14]
32
+* [r11-update-modacocustomrom-blade-kitchen-unsigned-a2sd%2B-stock-dialer][13] - requires SD card partitioned for A2SD
33 33
34 34
35 35
... ...
@@ -52,8 +52,8 @@ title: ZteBlade
52 52
# Issues
53 53
54 54
* CVS import of contacts breaks Caller ID, had to sync via google contacts.
55
-* [TextSecure][15][?][15] failed to send [SMSs][16][?][16], uninstalled
56
-* [PdaNet][17][?][17] bluetooth DUN not working
55
+* TextSecure failed to send SMSs, uninstalled
56
+* PdaNet bluetooth DUN not working
57 57
58 58
59 59
... ...
@@ -63,9 +63,9 @@ title: ZteBlade
63 63
* APG (pgp)
64 64
* Anysoft Keyboard (dvorak)
65 65
* Contact Group Manager
66
-* [ConnectBot][18][?][18] (ssh)
66
+* ConnectBot (ssh)
67 67
* Barcode Scanner
68
-* [RealCalc][19][?][19]
68
+* RealCalc
69 69
* Shopper
70 70
* Sipdroid (voip)
71 71
* Tango (voip)
... ...
@@ -78,7 +78,7 @@ title: ZteBlade
78 78
79 79
80 80
81
-# [ToDo][20][?][20]
81
+# ToDo
82 82
83 83
* Software Upgrade
84 84
* Encrypt
... ...
@@ -103,7 +103,7 @@ title: ZteBlade
103 103
* Download Cyanogen 7.1.0 ROM [cm7.1-blade-gen1-to-gen2-tpt.zip][21] - (md5:e3ea353eea248ee1174d0f6b4cf735e8)
104 104
* Unzip ROM to sdcard root (creates /image)
105 105
* Reboot into TPT
106
-* Power off, wait a few seconds, then power on with menu & vol+ held. "It should take a few seconds to flash the new Gen2 firmware (you should see some green text), then it should reboot into [ClockworkMod][22][?][22] recovery, use that to wipe data & then install your Gen2 rom."
106
+* Power off, wait a few seconds, then power on with menu & vol+ held. "It should take a few seconds to flash the new Gen2 firmware (you should see some green text), then it should reboot into ClockworkMod recovery, use that to wipe data & then install your Gen2 rom."
107 107
* Remove the image directory from the sd card
108 108
109 109
Once installed, vol+ & power boots into TPT if there is an image directory.
Travel/AmericanExpressPlatinum.md
... ...
@@ -70,7 +70,7 @@ title: AmericanExpressPlatinum
70 70
### Starwood Preferred Guest Gold
71 71
72 72
Brands
73
-: Sheraton, Westin, [WHotels][2][?][2], Le Mridien, The Luxury Collection, St. Regis, Four Points by Sheraton, Aloft, Element
73
+: Sheraton, Westin, WHotels, Le Mridien, The Luxury Collection, St. Regis, Four Points by Sheraton, Aloft, Element
74 74
75 75
76 76
Travel/Champagne2012.md
... ...
@@ -17,7 +17,7 @@ title: Champagne2012
17 17
18 18
19 19
20
-## [CookIn][2][?][2]'
20
+## CookIn'
21 21
22 22
* French/Thai fusion
23 23
* [http://www.tripadvisor.co.uk/Restaurant\_Review-g187136-d2010725-Reviews-Cook\_In-Epernay\_Marne\_Champagne_Ardenne.html][3]
Travel/CreditCards.md
... ...
@@ -10,7 +10,7 @@ title: CreditCards
10 10
11 11
# Barclaycard
12 12
13
-## Hilton [HHonors][2][?][2] Platinum Visa
13
+## Hilton HHonors Platinum Visa
14 14
15 15
Sign-up Req
16 16
: £750 within 90 days
Travel/EtihadGuest.md
... ...
@@ -16,9 +16,9 @@ Search
16 16
# Book with Partner Airlines
17 17
18 18
Partners
19
-: [AirBerlin][1][?][1], [AirNewZealand][2][?][2], Alitalia, ANA, [AmericanAirlines][3][?][3]
19
+: AirBerlin, AirNewZealand, Alitalia, ANA, AmericanAirlines
20 20
21
-[GuestSeat][4][?][4] availability = Partner award availability
21
+GuestSeat availability = Partner award availability
22 22
23 23
<http://thepointsguy.com/2015/02/booking-etihad-award-flights-with-guest-rewards-and-partners/>
24 24
Travel/EuroRoadTrip.md
... ...
@@ -183,10 +183,10 @@ Covering Spain, Andorra, France, Monaco, Italy, Switzerland, Liechtenstein, Aust
183 183
184 184
# Top Gear
185 185
186
-* [S04E01][33][?][33]: London to Monte Carlo
187
-* [S07E03][34][?][34]: Millau Viaduct, D907, Gorges du Verdon (Ford GT, Zonda, F430)
188
-* [S10E01][35][?][35]: Greatest driving road in the World
189
-* [S12E05][36][?][36]: Portofino to St Tropez. 215 miles
186
+* S04E01: London to Monte Carlo
187
+* S07E03: Millau Viaduct, D907, Gorges du Verdon (Ford GT, Zonda, F430)
188
+* S10E01: Greatest driving road in the World
189
+* S12E05: Portofino to St Tropez. 215 miles
190 190
* Autostrada
191 191
* A-road ~20miles out of St Tropez
192 192
Travel/EuroRoadTripKitList.md
... ...
@@ -39,7 +39,7 @@ See also [TvrTuscan.Touring][1]
39 39
* Cellphone
40 40
* [Nixie][2]
41 41
* 3G Dongle
42
-* [TomTom][3][?][3] Satnav
42
+* TomTom Satnav
43 43
* USB Sticks x 2
44 44
* Camera
45 45
* [ContourHD][4]
... ...
@@ -59,7 +59,7 @@ See also [TvrTuscan.Touring][1]
59 59
* Camera charger
60 60
* iPod charger
61 61
* iPod USB cable
62
-* [TomTom][3][?][3] charger
62
+* TomTom charger
63 63
64 64
65 65
Travel/Hotels.md
... ...
@@ -5,16 +5,16 @@ title: Hotels
5 5
# Groups and Brands
6 6
7 7
Accor
8
-: Sofitel, [MGallery][1][?][1], Pullman, Mama Shelter, Adagio, Novotel, Mercure, Ibis
8
+: Sofitel, MGallery, Pullman, Mama Shelter, Adagio, Novotel, Mercure, Ibis
9 9
10 10
Carlson
11 11
: Radisson, Country Inns & Suites, Hotel Missoni, Park Inn, Park Plaza, Quorvus
12 12
13 13
IHG
14
-: [InterContinental][2][?][2], Candlewood Suites, Crowne Plaza, Holiday Inn, Holiday Inn Express, Indigo, Staybridge Suites
14
+: InterContinental, Candlewood Suites, Crowne Plaza, Holiday Inn, Holiday Inn Express, Indigo, Staybridge Suites
15 15
16 16
Hilton
17
-: Hilton, Waldorf Astoria, Conrad, [DoubleTree][3][?][3], Embasy, Hampton Inn, Hilton Garden Inn, Home 2 Suites
17
+: Hilton, Waldorf Astoria, Conrad, DoubleTree, Embasy, Hampton Inn, Hilton Garden Inn, Home 2 Suites
18 18
19 19
Starwood
20 20
: Marriott, Westin, Sheraton, The Luxury Collection, Four Points by Sheraton, W Hotels, St. Regis, Le Méridien, Aloft, a Vision of W Hotels, Element by Westin, Tribute
Travel/ITAMatrix.md
... ...
@@ -61,7 +61,7 @@ A380: `/ aircraft t:380`
61 61
62 62
# Cape Town
63 63
64
-## [BA55][1][?][1], [BA56][2][?][2]
64
+## BA55, BA56
65 65
66 66
(A380 most of the time)
67 67
... ...
@@ -73,11 +73,11 @@ Outbound Routing
73 73
Inbound Routing
74 74
: `<span class="wikiword"><a class='createlinktext' rel='nofollow'
75 75
76
-[BA59][3][?][3] BRU-LHR-CPT-LHR-BRU £
76
+BA59 BRU-LHR-CPT-LHR-BRU £
77 77
78
-22 May [BA397][4][?][4] BRU-LHR 22 May [BA55][1][?][1] LHR-JNB (A380)
78
+22 May BA397 BRU-LHR 22 May BA55 LHR-JNB (A380)
79 79
80
-7 Jun [BA56][2][?][2] JNB-LHR (A380) 7 Jun [BA388][5][?][5] LHR-BRU
80
+7 Jun BA56 JNB-LHR (A380) 7 Jun BA388 LHR-BRU
81 81
82 82
£1330 (I,J) + 50000 = F
83 83
Travel/LimogesSkye2015.md
... ...
@@ -8,10 +8,10 @@ title: LimogesSkye2015
8 8
: STN-LIG (Ryanair)
9 9
10 10
22 Aug
11
-: BVE-AMS ([CityJet][1][?][1])
11
+: BVE-AMS (CityJet)
12 12
13 13
23 Aug
14
-: AMS-INV ([FlyBe][2][?][2])
14
+: AMS-INV (FlyBe)
15 15
16 16
27 Aug
17 17
: Home (Car)
Travel/Loire2016.md
... ...
@@ -18,5 +18,5 @@ title: Loire2016
18 18
# Transport
19 19
20 20
* Phaeton
21
-* [MR2][1][?][1]
21
+* MR2
22 22
Travel/RecentChanges.md
... ...
@@ -2,50 +2,50 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Travel][1] . . . 09 March 2022, at 02:47 PM UTC by [Gnome][2][?][2]: update
6
-* [TurkishAirlines][3] . . . 04 January 2020, at 05:16 PM UTC by [Gnome][2][?][2]: turkish
7
-* [ITAMatrix][4] . . . 08 January 2018, at 11:18 PM UTC by [Gnome][2][?][2]: QR EU
8
-* [Madrid2017][5] . . . 11 September 2017, at 06:53 PM UTC by [Gnome][2][?][2]:
9
-* [Hotels][6] . . . 12 June 2017, at 03:47 PM UTC by [Gnome][2][?][2]: Hilton Plat -> Gold
10
-* [Tools][7] . . . 05 January 2017, at 06:04 PM UTC by [Gnome][2][?][2]: BA Call Centre Finder
11
-* [ZA2016][8] . . . 28 December 2016, at 08:15 AM UTC by [Gnome][2][?][2]: wines
12
-* [Sailing2013][9] . . . 26 September 2016, at 03:05 PM UTC by [Gnome][2][?][2]: formatting
13
-* [Points][10] . . . 24 September 2016, at 05:07 PM UTC by [Gnome][2][?][2]: Update Gold, no more 1st year bonus
14
-* [BritishAirwaysExecutiveClub][11] . . . 07 September 2016, at 02:24 PM UTC by [Gnome][2][?][2]: distances
15
-* [Skye2017][12] . . . 30 August 2016, at 01:00 PM UTC by [Gnome][2][?][2]: more details
16
-* [EtihadGuest][13] . . . 30 July 2016, at 02:49 PM UTC by [Gnome][2][?][2]: Etihad
17
-* [CreditCards][14] . . . 21 July 2016, at 10:50 AM UTC by [Gnome][2][?][2]: DiamondClub discount
18
-* [Loire2016][15] . . . 29 March 2016, at 04:04 PM UTC by [Gnome][2][?][2]: details
19
-* [Status][16] . . . 02 December 2015, at 03:23 PM UTC by [Gnome][2][?][2]: SPG Plat
20
-* [Sailing2016][17] . . . 30 September 2015, at 02:23 PM UTC by [Gnome][2][?][2]: redirect
21
-* [TransAtlantic2015][18] . . . 30 September 2015, at 02:22 PM UTC by [Gnome][2][?][2]: redirect
22
-* [Berlin2015][19] . . . 30 September 2015, at 02:18 PM UTC by [Gnome][2][?][2]: Flights
23
-* [MilanPalermo2015][20] . . . 30 September 2015, at 02:16 PM UTC by [Gnome][2][?][2]: Itinerary
24
-* [LimogesSkye2015][21] . . . 12 August 2015, at 02:07 PM UTC by [Gnome][2][?][2]: itinerary
25
-* [AirportLounges][22] . . . 27 March 2015, at 06:59 PM UTC by [Gnome][2][?][2]: Concorde Room
26
-* [ZA2015][23] . . . 09 March 2015, at 03:15 PM UTC by [Gnome][2][?][2]: Flights got more expensive
27
-* [CocktailKit][24] . . . 17 November 2014, at 06:28 PM UTC by [Gnome][2][?][2]: Liqueurs
28
-* [Argentina2014][25] . . . 09 November 2014, at 01:39 PM UTC by [Gnome][2][?][2]: Airpass
29
-* [AmericanExpressPlatinum][26] . . . 05 April 2014, at 02:21 PM UTC by [Gnome][2][?][2]: Hotel membership
30
-* [StTropez2014][27] . . . 02 April 2014, at 02:08 PM UTC by [Gnome][2][?][2]: Driving times to Paris
31
-* [Roads][28] . . . 19 March 2014, at 11:17 AM UTC by [Gnome][2][?][2]: alpine roads link
32
-* [France][29] . . . 23 February 2014, at 06:03 AM UTC by [Gnome][2][?][2]: moved to Roads
33
-* [ZA2013][30] . . . 15 November 2013, at 01:36 PM UTC by [Gnome][2][?][2]: Data
34
-* [Italy2013][31] . . . 29 August 2013, at 02:19 PM UTC by [Gnome][2][?][2]: Rome Accommodation
35
-* [EuroRoadTrip][32] . . . 08 August 2013, at 03:33 PM UTC by [Gnome][2][?][2]: adopt KitList
36
-* [Skye2013][33] . . . 04 July 2013, at 02:59 PM UTC by [Gnome][2][?][2]: Pistonheads scotland thread
37
-* [Tenerife2013][34] . . . 22 April 2013, at 06:43 PM GMT by [Gnome][2][?][2]: kit and stuff
38
-* [TransAtlantic2013][35] . . . 04 April 2013, at 01:23 PM GMT by [Gnome][2][?][2]: Norwegian
39
-* [Tenerife2012][36] . . . 29 December 2012, at 12:04 AM GMT by [Gnome][2][?][2]: hostel
40
-* [RidingArdChe][37][?][37] . . . 08 August 2012, at 03:12 PM GMT by [Gnome][2][?][2]: details
41
-* [ZA2012KitList][38] . . . 22 June 2012, at 01:53 AM GMT by [Gnome][2][?][2]: garmin serial adapter, GPS formatting
42
-* [ZA2012][39] . . . 21 June 2012, at 03:42 PM GMT by [Gnome][2][?][2]: kit list
43
-* [Champagne2012][40] . . . 17 May 2012, at 06:17 PM GMT by [Gnome][2][?][2]: tastings
44
-* [EuroRoadTripKitList][41] . . . 06 September 2010, at 02:17 PM GMT by [Gnome][2][?][2]: kit
45
-* [KenyaKili][42] . . . 30 July 2010, at 11:53 AM GMT by [Gnome][2][?][2]: people
46
-* [Home][43][?][43] . . . 05 February 2010, at 04:35 PM GMT by [Gnome][2][?][2]: road trip
47
-* [ThaiOz][44] . . . 03 October 2009, at 08:01 PM GMT by [Gnome][2][?][2]: things to do in Chiang Mai
48
-* [ThaiOzKitList][45] . . . 24 September 2009, at 01:36 PM GMT by [Gnome][2][?][2]: rename Pixie to Nixie
5
+* [Travel][1] . . . 09 March 2022, at 02:47 PM UTC by Gnome: update
6
+* [TurkishAirlines][3] . . . 04 January 2020, at 05:16 PM UTC by Gnome: turkish
7
+* [ITAMatrix][4] . . . 08 January 2018, at 11:18 PM UTC by Gnome: QR EU
8
+* [Madrid2017][5] . . . 11 September 2017, at 06:53 PM UTC by Gnome:
9
+* [Hotels][6] . . . 12 June 2017, at 03:47 PM UTC by Gnome: Hilton Plat -> Gold
10
+* [Tools][7] . . . 05 January 2017, at 06:04 PM UTC by Gnome: BA Call Centre Finder
11
+* [ZA2016][8] . . . 28 December 2016, at 08:15 AM UTC by Gnome: wines
12
+* [Sailing2013][9] . . . 26 September 2016, at 03:05 PM UTC by Gnome: formatting
13
+* [Points][10] . . . 24 September 2016, at 05:07 PM UTC by Gnome: Update Gold, no more 1st year bonus
14
+* [BritishAirwaysExecutiveClub][11] . . . 07 September 2016, at 02:24 PM UTC by Gnome: distances
15
+* [Skye2017][12] . . . 30 August 2016, at 01:00 PM UTC by Gnome: more details
16
+* [EtihadGuest][13] . . . 30 July 2016, at 02:49 PM UTC by Gnome: Etihad
17
+* [CreditCards][14] . . . 21 July 2016, at 10:50 AM UTC by Gnome: DiamondClub discount
18
+* [Loire2016][15] . . . 29 March 2016, at 04:04 PM UTC by Gnome: details
19
+* [Status][16] . . . 02 December 2015, at 03:23 PM UTC by Gnome: SPG Plat
20
+* [Sailing2016][17] . . . 30 September 2015, at 02:23 PM UTC by Gnome: redirect
21
+* [TransAtlantic2015][18] . . . 30 September 2015, at 02:22 PM UTC by Gnome: redirect
22
+* [Berlin2015][19] . . . 30 September 2015, at 02:18 PM UTC by Gnome: Flights
23
+* [MilanPalermo2015][20] . . . 30 September 2015, at 02:16 PM UTC by Gnome: Itinerary
24
+* [LimogesSkye2015][21] . . . 12 August 2015, at 02:07 PM UTC by Gnome: itinerary
25
+* [AirportLounges][22] . . . 27 March 2015, at 06:59 PM UTC by Gnome: Concorde Room
26
+* [ZA2015][23] . . . 09 March 2015, at 03:15 PM UTC by Gnome: Flights got more expensive
27
+* [CocktailKit][24] . . . 17 November 2014, at 06:28 PM UTC by Gnome: Liqueurs
28
+* [Argentina2014][25] . . . 09 November 2014, at 01:39 PM UTC by Gnome: Airpass
29
+* [AmericanExpressPlatinum][26] . . . 05 April 2014, at 02:21 PM UTC by Gnome: Hotel membership
30
+* [StTropez2014][27] . . . 02 April 2014, at 02:08 PM UTC by Gnome: Driving times to Paris
31
+* [Roads][28] . . . 19 March 2014, at 11:17 AM UTC by Gnome: alpine roads link
32
+* [France][29] . . . 23 February 2014, at 06:03 AM UTC by Gnome: moved to Roads
33
+* [ZA2013][30] . . . 15 November 2013, at 01:36 PM UTC by Gnome: Data
34
+* [Italy2013][31] . . . 29 August 2013, at 02:19 PM UTC by Gnome: Rome Accommodation
35
+* [EuroRoadTrip][32] . . . 08 August 2013, at 03:33 PM UTC by Gnome: adopt KitList
36
+* [Skye2013][33] . . . 04 July 2013, at 02:59 PM UTC by Gnome: Pistonheads scotland thread
37
+* [Tenerife2013][34] . . . 22 April 2013, at 06:43 PM GMT by Gnome: kit and stuff
38
+* [TransAtlantic2013][35] . . . 04 April 2013, at 01:23 PM GMT by Gnome: Norwegian
39
+* [Tenerife2012][36] . . . 29 December 2012, at 12:04 AM GMT by Gnome: hostel
40
+* RidingArdChe . . . 08 August 2012, at 03:12 PM GMT by Gnome: details
41
+* [ZA2012KitList][38] . . . 22 June 2012, at 01:53 AM GMT by Gnome: garmin serial adapter, GPS formatting
42
+* [ZA2012][39] . . . 21 June 2012, at 03:42 PM GMT by Gnome: kit list
43
+* [Champagne2012][40] . . . 17 May 2012, at 06:17 PM GMT by Gnome: tastings
44
+* [EuroRoadTripKitList][41] . . . 06 September 2010, at 02:17 PM GMT by Gnome: kit
45
+* [KenyaKili][42] . . . 30 July 2010, at 11:53 AM GMT by Gnome: people
46
+* Home . . . 05 February 2010, at 04:35 PM GMT by Gnome: road trip
47
+* [ThaiOz][44] . . . 03 October 2009, at 08:01 PM GMT by Gnome: things to do in Chiang Mai
48
+* [ThaiOzKitList][45] . . . 24 September 2009, at 01:36 PM GMT by Gnome: rename Pixie to Nixie
49 49
50 50
[1]: Travel
51 51
[3]: TurkishAirlines
Travel/StTropez2014.md
... ...
@@ -69,7 +69,7 @@ Cost
69 69
| 14h31+00 | St Pancras | Eurostar #9032 | 39[1][23] | 107 |
70 70
| 18h47+01 | G du Nord |   |   |   |
71 71
| Dinner | [Le Train Bleu][24] |   |   |   |
72
-| 21h23+01 | d'Austerlitz | [IdN][25][?][25] #5773 | 43 | 66 |
72
+| 21h23+01 | d'Austerlitz | IdN #5773 | 43 | 66 |
73 73
| 07h41+01 | St Raphaël |   |   |   |
74 74
| 08h46+01 | Nice |   |   |   |
75 75
... ...
@@ -317,11 +317,11 @@ Dates
317 317
318 318
### Yachts
319 319
320
-* [Hélia 44][35] - 13.3m, 8 berth - [EUR3640][36][?][36] (£3073) to [EUR6500][37][?][37] (£5488) pw
320
+* [Hélia 44][35] - 13.3m, 8 berth - EUR3640 (£3073) to EUR6500 (£5488) pw
321 321
* Check that dinghy davits have been fixed for outboard
322
-* [Lipari 41][38] - 11.95m, 8 berth - [EUR2890][39][?][39] to [EUR5160][40][?][40] (£4357) per week
323
-* [Lipari 41][41] - [EUR3900][42][?][42] ([EUR3510][43][?][43] with discounts)
324
-* [Absolu 50][44] - 15.24m, 12 berth - [EUR3506][45][?][45] to [EUR6260][46][?][46] pw
322
+* [Lipari 41][38] - 11.95m, 8 berth - EUR2890 to EUR5160 (£4357) per week
323
+* [Lipari 41][41] - EUR3900 (EUR3510 with discounts)
324
+* [Absolu 50][44] - 15.24m, 12 berth - EUR3506 to EUR6260 pw
325 325
326 326
327 327
Travel/Status.md
... ...
@@ -12,7 +12,7 @@ Obtaining perpetual status by status matching.
12 12
13 13
# Status Match Routes
14 14
15
-* CX -> Gulf Air (ffp AT gulfair.com) -> [AirBerlin][1][?][1] (service AT topbonus.de)
15
+* CX -> Gulf Air (ffp AT gulfair.com) -> AirBerlin (service AT topbonus.de)
16 16
17 17
18 18
Travel/Tenerife2013.md
... ...
@@ -91,7 +91,7 @@ One week back at El Médano, Tenerife.
91 91
* Targus travel AC/DC laptop charger
92 92
* iPod USB charger
93 93
* iPod USB cable
94
-* [MicroUSB][6][?][6] cable
94
+* MicroUSB cable
95 95
* Adapter 2UK to 1EU
96 96
* Backup cellphone
97 97
Travel/ThaiOz.md
... ...
@@ -142,7 +142,7 @@ title: ThaiOz
142 142
143 143
144 144
145
-# [ToDo][26][?][26]
145
+# ToDo
146 146
147 147
* [PADI Open Water 1][27]
148 148
* Vaccinations
Travel/ZA2012KitList.md
... ...
@@ -37,7 +37,7 @@ title: ZA2012KitList
37 37
* USB Sticks x 2
38 38
* Survivor
39 39
* Other
40
-* [MicroSDHC][5][?][5] 8GB cards x 2
40
+* MicroSDHC 8GB cards x 2
41 41
* Micro to SD adapter
42 42
* Camera
43 43
* Mini to SD adapter
Travel/ZA2015.md
... ...
@@ -4,7 +4,7 @@ title: ZA2015
4 4
5 5
# Flights
6 6
7
-## [BA55][1][?][1], [BA56][2][?][2]
7
+## BA55, BA56
8 8
9 9
(A380 most of the time)
10 10
... ...
@@ -16,15 +16,15 @@ Outbound Routing
16 16
Inbound Routing
17 17
: `<span class="wikiword"><a class='createlinktext' rel='nofollow'
18 18
19
-[BA59][3][?][3] BRU-LHR-CPT-LHR-BRU £ 1330
19
+BA59 BRU-LHR-CPT-LHR-BRU £ 1330
20 20
21 21
22 22
23 23
## BA J from BRU
24 24
25
-22 May [BA397][4][?][4] BRU-LHR 22 May [BA55][1][?][1] LHR-JNB (A380)
25
+22 May BA397 BRU-LHR 22 May BA55 LHR-JNB (A380)
26 26
27
-7 Jun [BA56][2][?][2] JNB-LHR (A380) 7 Jun [BA388][5][?][5] LHR-BRU
27
+7 Jun BA56 JNB-LHR (A380) 7 Jun BA388 LHR-BRU
28 28
29 29
£1330 (I,J) + 50000 = F
30 30
... ...
@@ -36,7 +36,7 @@ Route
36 36
: AMS-JNB
37 37
38 38
Flights
39
-: [BA55][1][?][1], [BA56][2][?][2]
39
+: BA55, BA56
40 40
41 41
Cost
42 42
: £1319 (I,J)
... ...
@@ -49,7 +49,7 @@ Route
49 49
: DUB-LHR-JNB-LHR-AMS
50 50
51 51
Flights
52
-: [BA55][1][?][1], [BA56][2][?][2]
52
+: BA55, BA56
53 53
54 54
Cost
55 55
: £1808 (I,J)
TvrTuscan/Log.md
... ...
@@ -127,7 +127,7 @@ Log
127 127
| 2010-09-07 | 24840? | Chesterford, Haggis |
128 128
| 2010-09-08 | 24853 | Haggis |
129 129
| 2010-09-09 | 24860 | Haggis with M&D |
130
-| 2010-09-25 | 27688 | [EuroGT][4][?][4]. Replaced throttle cable, new slave seals |
130
+| 2010-09-25 | 27688 | EuroGT. Replaced throttle cable, new slave seals |
131 131
| 2010-09-27 | 27691 | Grafton |
132 132
| 2010-10-30 |   | Haggis. Barrington. Petrol £35? 1l Oil (overfilled?) |
133 133
| 2010-11-02 |   | Haggis |
TvrTuscan/RecentChanges.md
... ...
@@ -2,17 +2,17 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Log][1] . . . 30 June 2014, at 11:54 AM UTC by [Gnome][2][?][2]: Some France details
6
-* [Instructions][3] . . . 04 June 2014, at 06:52 PM UTC by [Gnome][2][?][2]: French
7
-* [TvrTuscan][4] . . . 04 June 2014, at 06:39 PM UTC by [Gnome][2][?][2]: Instructions
8
-* [Service5][5] . . . 10 March 2014, at 02:33 PM UTC by [Gnome][2][?][2]: service 5 notes
9
-* [Service4][6] . . . 12 March 2013, at 06:45 PM GMT by [Gnome][2][?][2]: post-service update
10
-* [Service3][7] . . . 02 March 2012, at 01:20 AM GMT by [Gnome][2][?][2]: Instruments screen
11
-* [Home][8][?][8] . . . 11 October 2011, at 11:07 AM GMT by [Gnome][2][?][2]: link Service3
12
-* [EuroRoadTrip][9] . . . 14 October 2010, at 02:34 PM GMT by [Gnome][2][?][2]: rough outline of Euro GT problems
13
-* [Touring][10] . . . 23 August 2010, at 02:59 PM GMT by [Gnome][2][?][2]: H7 bulbs
14
-* [Service2][11] . . . 28 June 2010, at 12:17 PM GMT by [Gnome][2][?][2]: service 2 fixes
15
-* [Service1][12] . . . 24 June 2009, at 08:41 AM GMT by [Gnome][2][?][2]: battery cover
5
+* [Log][1] . . . 30 June 2014, at 11:54 AM UTC by Gnome: Some France details
6
+* [Instructions][3] . . . 04 June 2014, at 06:52 PM UTC by Gnome: French
7
+* [TvrTuscan][4] . . . 04 June 2014, at 06:39 PM UTC by Gnome: Instructions
8
+* [Service5][5] . . . 10 March 2014, at 02:33 PM UTC by Gnome: service 5 notes
9
+* [Service4][6] . . . 12 March 2013, at 06:45 PM GMT by Gnome: post-service update
10
+* [Service3][7] . . . 02 March 2012, at 01:20 AM GMT by Gnome: Instruments screen
11
+* Home . . . 11 October 2011, at 11:07 AM GMT by Gnome: link Service3
12
+* [EuroRoadTrip][9] . . . 14 October 2010, at 02:34 PM GMT by Gnome: rough outline of Euro GT problems
13
+* [Touring][10] . . . 23 August 2010, at 02:59 PM GMT by Gnome: H7 bulbs
14
+* [Service2][11] . . . 28 June 2010, at 12:17 PM GMT by Gnome: service 2 fixes
15
+* [Service1][12] . . . 24 June 2009, at 08:41 AM GMT by Gnome: battery cover
16 16
17 17
[1]: Log
18 18
[3]: Instructions
TvrTuscan/Service4.md
... ...
@@ -3,7 +3,7 @@ title: Service4
3 3
---
4 4
5 5
* 2012
6
-* TVR Power, [CV6][1][?][1] 6BN
6
+* TVR Power, CV6 6BN
7 7
* 12k Service
8 8
* 2013-02-09
9 9
TvrTuscan/Service5.md
... ...
@@ -47,7 +47,7 @@ Service Total
47 47
48 48
49 49
50
-## [MoT][1][?][1] Notes
50
+## MoT Notes
51 51
52 52
Corrected Itemps:
53 53
TvrTuscan/TvrTuscan.md
... ...
@@ -27,7 +27,7 @@ title: TvrTuscan
27 27
28 28
29 29
30
-# [ToDo][33][?][33]
30
+# ToDo
31 31
32 32
* Test diagnostic software
33 33
... ...
@@ -54,7 +54,7 @@ title: TvrTuscan
54 54
* Portable fire extinguisher
55 55
* Allen Key screwdriver
56 56
* Velcro tape
57
-* [AutoGlym][37][?][37] Metal Polish (for speed sensor)
57
+* AutoGlym Metal Polish (for speed sensor)
58 58
59 59
60 60
... ...
@@ -98,7 +98,7 @@ title: TvrTuscan
98 98
* Manning, called
99 99
* Heritage - Peter, 2240
100 100
* Hagerty - Marcus, no under 30s
101
-* [APlan][50][?][50] - no applicable policies
101
+* APlan - no applicable policies
102 102
* Confused.com - various quotes {1984..4256}
103 103
104 104
... ...
@@ -109,7 +109,7 @@ title: TvrTuscan
109 109
| AON |   |   |   | [Click][52] |
110 110
| A Plan |   | 01635 874646 |   | [Click][53] |
111 111
| Adrian Flux |   | 0800 0838833 |   | [Click][54] |
112
-| [ClassicLine][55][?][55] |   | 01455 639000 |   | [Click][56] |
112
+| ClassicLine |   | 01455 639000 |   | [Click][56] |
113 113
| Hagerty | >30 | 08700 420220 |   | [Click][57] |
114 114
| Heritage |   | 0845 3300660 |   | [Click][58] |
115 115
| MSM |   | 01279 870535 | June04 £785.57 | [Click][59] |
... ...
@@ -160,7 +160,7 @@ title: TvrTuscan
160 160
161 161
* Front: Goodyear Eagle Asymmetric
162 162
* Rear: Goodyear Eagle F1
163
-* Recommended tyre: Goodyear Eagle Asymmetric, Goodyear Eagle F1 [GSD3][62][?][62]
163
+* Recommended tyre: Goodyear Eagle Asymmetric, Goodyear Eagle F1 GSD3
164 164
165 165
166 166
... ...
@@ -191,7 +191,7 @@ title: TvrTuscan
191 191
192 192
* Tank is ~55 litres
193 193
* Unleaded 95 day-to-day
194
-* [SuperUnleaded][67][?][67] 97 once a month
194
+* SuperUnleaded 97 once a month
195 195
196 196
197 197
UAV/RecentChanges.md
... ...
@@ -2,12 +2,12 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [HubsanX4][1] . . . 09 October 2014, at 02:14 PM UTC by [Gnome][2][?][2]: lost!
6
-* [SymaX1][3] . . . 09 October 2014, at 02:10 PM UTC by [Gnome][2][?][2]: broken
7
-* [UAV][4] . . . 09 October 2014, at 01:47 PM UTC by [Gnome][2][?][2]: add Hubsan X4
8
-* [Hexacopter][5] . . . 11 August 2013, at 11:27 PM UTC by [Gnome][2][?][2]: link research paper
9
-* [Udi816][6] . . . 22 May 2013, at 01:29 PM GMT by [Gnome][2][?][2]: line breaks
10
-* [Encryption][7] . . . 24 April 2013, at 01:23 PM GMT by [Gnome][2][?][2]: XBee
5
+* [HubsanX4][1] . . . 09 October 2014, at 02:14 PM UTC by Gnome: lost!
6
+* [SymaX1][3] . . . 09 October 2014, at 02:10 PM UTC by Gnome: broken
7
+* [UAV][4] . . . 09 October 2014, at 01:47 PM UTC by Gnome: add Hubsan X4
8
+* [Hexacopter][5] . . . 11 August 2013, at 11:27 PM UTC by Gnome: link research paper
9
+* [Udi816][6] . . . 22 May 2013, at 01:29 PM GMT by Gnome: line breaks
10
+* [Encryption][7] . . . 24 April 2013, at 01:23 PM GMT by Gnome: XBee
11 11
12 12
[1]: HubsanX4
13 13
[3]: SymaX1
UAV/SymaX1.md
... ...
@@ -29,7 +29,7 @@ Batteries
29 29
30 30
# Log
31 31
32
+
32 33
**2013-05-22**: Delivered, charged. HD camera flight tests.
33 34
**2014-07**: Broke a prop mount (again)
34 35
35
- [1]: /Tech/MiniHDCamera
... ...
\ No newline at end of file
UAV/Udi816.md
... ...
@@ -30,7 +30,7 @@ Batteries
30 30
31 31
# Log
32 32
33
-**2013-05-15**: [HobbyStores][2][?][2] in Trumpington + spare battery.
33
+
34
+**2013-05-15**: HobbyStores in Trumpington + spare battery.
34 35
**2013-05-21**: Damaged gyro. Won't fly.
35 36
36
- [1]: /Tech/MiniHDCamera
Watch/Pebble.md
... ...
@@ -12,7 +12,7 @@ Can't load settings screen. May not support original pebble.
12 12
13 13
14 14
15
-## [PebbleHAB][1][?][1]
15
+## PebbleHAB
16 16
17 17
<https://github.com/trusk89/PebbleHAB>
18 18
Watch/RecentChanges.md
... ...
@@ -2,12 +2,12 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Watch][1] . . . 05 March 2020, at 11:22 AM UTC by [Gnome][2][?][2]: ConnectIQ
6
-* [SeikoSKS403P2][3] . . . 04 January 2020, at 07:25 PM UTC by [Gnome][2][?][2]:
7
-* [CasioSPS-300][4] . . . 16 August 2019, at 12:22 PM UTC by [Gnome][2][?][2]: wrong manual
8
-* [Pebble][5] . . . 01 December 2015, at 02:16 PM UTC by [Gnome][2][?][2]: skipstone
9
-* [CasioDBC-32][6] . . . 28 February 2014, at 12:36 PM UTC by [Gnome][2][?][2]: Definition list
10
-* [VostokAmphibia][7] . . . 29 January 2014, at 04:28 PM UTC by [Gnome][2][?][2]: zissou
5
+* [Watch][1] . . . 05 March 2020, at 11:22 AM UTC by Gnome: ConnectIQ
6
+* [SeikoSKS403P2][3] . . . 04 January 2020, at 07:25 PM UTC by Gnome:
7
+* [CasioSPS-300][4] . . . 16 August 2019, at 12:22 PM UTC by Gnome: wrong manual
8
+* [Pebble][5] . . . 01 December 2015, at 02:16 PM UTC by Gnome: skipstone
9
+* [CasioDBC-32][6] . . . 28 February 2014, at 12:36 PM UTC by Gnome: Definition list
10
+* [VostokAmphibia][7] . . . 29 January 2014, at 04:28 PM UTC by Gnome: zissou
11 11
12 12
[1]: Watch
13 13
[3]: SeikoSKS403P2
Watch/SeikoSKS403P2.md
... ...
@@ -6,7 +6,7 @@ Make
6 6
: Seiko
7 7
8 8
Model
9
-: [SKS403P2][1][?][1]
9
+: SKS403P2
10 10
11 11
Calibre
12 12
: 4T57-00A0
... ...
@@ -21,7 +21,7 @@ Strap
21 21
: Brown leather
22 22
23 23
Strap Part
24
-: [L01W][2][?][2] B20
24
+: L01W B20
25 25
26 26
Received
27 27
: 2016-12-07
... ...
@@ -30,7 +30,7 @@ Cost
30 30
: £47 via Argos eBay outlet
31 31
32 32
Battery
33
-: [SR920SW][3][?][3], [AG6][4][?][4]
33
+: SR920SW, AG6
34 34
35 35
36 36
... ...
@@ -44,5 +44,5 @@ Battery
44 44
45 45
# Strap
46 46
47
-Also on watch.co.uk as [L01W014J0][5][?][5]
47
+Also on watch.co.uk as L01W014J0
48 48
Watch/Watch.md
... ...
@@ -26,9 +26,9 @@ title: Watch
26 26
27 27
28 28
Ski Mode
29
-: Requires an altimeter, present in Vivoactive, [FR645][7][?][7], [FR9x5][8][?][8], Fenix
29
+: Requires an altimeter, present in Vivoactive, FR645, FR9x5, Fenix
30 30
31
-[ConnectIQ][9][?][9]
31
+ConnectIQ
32 32
: programming API, [HassIQ][10]
33 33
34 34
WirelessPeering/RecentChanges.md
... ...
@@ -2,5 +2,5 @@
2 2
title: RecentChanges
3 3
---
4 4
5
-* [Home][1][?][1] . . . 12 July 2010, at 01:08 PM GMT by [Gnome][2][?][2]: Fon2201
5
+* Home . . . 12 July 2010, at 01:08 PM GMT by Gnome: Fon2201
6 6