5ff775c87eaa9a1d7215b0fc0002a8eb69895c46
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¤cy=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 |