Tech/Tech.md
... ...
@@ -6,167 +6,173 @@ title: Tech
6 6
7 7
### Code Style and Idiomata
8 8
9
-* [BitfieldGotchas][1] or Why Bitfields Are Dangerous
10
-* [CodeGeneration][2] in C
11
-* [ElseIfStyle][3] in C
12
-* [FixedWidthTypes][4] in C99
13
-* [Generic Annotation of Code][5] - abstracting doxygen and lint
14
-* [MinimalistCodeStyle][6] - rational, minimalist code style
15
-* [StateMachineStyle][7] in C
16
-* [StaticAssert][8] - portable runtime assert
17
-* [StructNamespaces][9] in C
18
-* [T4CodeGeneration][10] in C#
19
-* [UnorderedSets][11] in C
9
+* [BitfieldGotchas][1] or Why Bitfields Are Dangerous
10
+* [CodeGeneration][2] in C
11
+* [ElseIfStyle][3] in C
12
+* [FixedWidthTypes][4] in C99
13
+* [Generic Annotation of Code][5] - abstracting doxygen and lint
14
+* [MinimalistCodeStyle][6] - rational, minimalist code style
15
+* [StateMachineStyle][7] in C
16
+* [StaticAssert][8] - portable runtime assert
17
+* [StructNamespaces][9] in C
18
+* [T4CodeGeneration][10] in C#
19
+* [UnorderedSets][11] in C
20 20
21
-* [Parse and pack message decoding][12]
22
-* [Fallback implementation for an interface][13] in C
23
-* [Lazy structure parsing][14] for embedded C
21
+* [Parse and pack message decoding][12]
22
+* [Fallback implementation for an interface][13] in C
23
+* [Lazy structure parsing][14] for embedded C
24 24
25 25
26 26
27 27
### Window Managers, Editors and IDEs
28 28
29
-* [VIM][16] tweaks
30
-* [VIM and IAR][17]
31
-* [VIM and TI][18] - Code Composer Studio
32
-* [VIM and PCLint][19]
33
-* [VIM Project vimrc][20]
34
-* [VIM Plugins][21]
35
-* [VIM and System Verilog][22]
36
-* [MSVC Productivity][23]
37
-* [MPLABX and CI][24] - Controlling the Microchip IDE for Continuous Integration
38
-* [DWM][25] - Using dwm as it's meant to be used
29
+* [VIM][16] tweaks
30
+* [VIM and IAR][17]
31
+* [VIM and TI][18] - Code Composer Studio
32
+* [VIM and PCLint][19]
33
+* [VIM Project vimrc][20]
34
+* [VIM Plugins][21]
35
+* [VIM and System Verilog][22]
36
+* [MSVC Productivity][23]
37
+* [MPLABX and CI][24] - Controlling the Microchip IDE for Continuous Integration
38
+* [DWM][25] - Using dwm as it's meant to be used
39 39
40 40
41 41
42 42
### Compilation and Building
43 43
44
-* [Build Tools][26] - rake, scons, cmake, waf, etc
45
-* [CMake][27] - cross compilation, etc
46
-* [CMake Build Deps][28] - build lib deps from anywhere in the source tree
47
-* [ConfigDefines][29] - quick, tidy feature #defines
48
-* [MSP430 Cross Compiler][30] on i686
49
-* [PIC Cross Compiler][31] on i686
50
-* [Cross Compile PowerPC][32] on x86-64
51
-* [PCLint and Make][33]
52
-* [Rake For Make Users][34]
53
-* [Java on x64][35]
54
-* [Jenkins Multibranch Pipeline with Git Tag Discovery][36]
44
+* [Build Tools][26] - rake, scons, cmake, waf, etc
45
+* [CMake][27] - cross compilation, etc
46
+* [CMake Build Deps][28] - build lib deps from anywhere in the source tree
47
+* [ConfigDefines][29] - quick, tidy feature #defines
48
+* [MSP430 Cross Compiler][30] on i686
49
+* [PIC Cross Compiler][31] on i686
50
+* [Cross Compile PowerPC][32] on x86-64
51
+* [PCLint and Make][33]
52
+* [Rake For Make Users][34]
53
+* [Java on x64][35]
54
+* [Jenkins Multibranch Pipeline with Git Tag Discovery][36]
55 55
56 56
57 57
58 58
### Versioning and Release Management
59 59
60
-* [Version Strings][37] - methods to embed version strings into C code
61
-* [SourceSafeCommands][38]
62
-* [Migrate VSS to SVN][39]
63
-* [Git Svn Notes][40]
64
-* VCS [Repository Layout][41] - sane version control structures
65
-* [Application Package Manager][42] - embedded package management
66
-* [Debian Raspberry Pi Packaging][43]
60
+* [Version Strings][37] - methods to embed version strings into C code
61
+* [SourceSafeCommands][38]
62
+* [Migrate VSS to SVN][39]
63
+* [Git Svn Notes][40]
64
+* VCS [Repository Layout][41] - sane version control structures
65
+* [Application Package Manager][42] - embedded package management
66
+* [Debian Raspberry Pi Packaging][43]
67 67
68 68
69 69
70 70
### Documentation
71 71
72
-* [Hierarchical Doxygen][44]
73
-* [Design Docs In Doxygen][45]
72
+* [Hierarchical Doxygen][44]
73
+* [Design Docs In Doxygen][45]
74 74
75 75
76 76
77 77
## Software Engineering
78 78
79
-* [Embedded System Testing][46]
79
+* [Embedded System Testing][46]
80 80
81 81
82 82
83 83
## Hardware
84 84
85
-* [Updating Speedtouch Router Firmware][47] from Linux
86
-* [Matshita UJ816][48] DVD-RW drive issues
87
-* [Jabra Bluetooth Headset][49]
88
-* [CanonIxus800][50] (aka SD700)
89
-* GPS - [Garmin Foretrex][52]
90
-* Satnav - [TomTomOne][53]
91
-* [Netbook][54] - [Nixie][55]
92
-* [Stereo][56] - [Pioneer DEH-2200UB][57]
93
-* [HelmetCamera][58] - [ContourHD][59]
94
-* [MiniHDCamera][60]
95
-* Smart phone - [ZteBlade][61]
96
-* Smart phone - Motorola [MotoG][62]
97
-* Smart phone - Motorola [MotoG5][63]
98
-* Smart phone - [DoogeeT5][64]
99
-* Smart phone - Xiaomi [Redmi 9A]
100
-* Weather Station - [La Crosse WS9029U-IT][65]
101
-* [Casio Data Bank][66]
102
-* [Casio Sea-Pathfinder][67]
103
-* [NookSimpleTouch][68] e-book reader
104
-* [Udi816][69] - micro quadcopter
105
-* [SymaX1][70] - mini quadcopter
106
-* [3G Modem][71] - [Huawei E1750][72]
107
-* [3G Modem][71] - [Huawei E3131][73]
108
-* 4G/[3G Modem][71] - [ZTE MF823][74]
109
-* 4G/[3G Modem][71] - [Huawei E3372][75] (Vodafone K5160)
110
-* [3G Modem Unlocking][76] - Unlocking 3G USB dongles in Linux
111
-* [MultiwayRadio][77] - full-duplex multi-party mobile (in-car) audio conferencing
112
-* [FirmwareUpgrade][78] - upgrading HDD and motherboard firmware from Linux
113
-* [Watchman Sonic][79] - Sonic oil level monitor using 433MHz band
114
-* [Watch.Pebble][80] - the original Pebble smart watch
115
-* [NordCE2](NordCE2) - OnePlus Nord CE2
116
-* [PocoM4](PocoM4) - Xiaomi Poco M4 android phone
117
-
85
+### Smart Phones
86
+* Smart phone - [ZteBlade][61]
87
+* Smart phone - Motorola [MotoG][62]
88
+* Smart phone - Motorola [MotoG5][63]
89
+* Smart phone - [DoogeeT5][64]
90
+* Smart phone - Xiaomi [Redmi 9A](Redmi 9A)
91
+* Smart phone - OnePlus [Nord CE2](NordCE2)
92
+* Smart phone - Xiaomi [Poco M4](PocoM4)
93
+
94
+### Watches
95
+* [Watch.Pebble][80] - the original Pebble smart watch
96
+* [TicWatch Pro 3 Ultra](Watch.TicWatchPro)
97
+* [Samsung Galaxy Watch4](Watch.GalaxyWatch4)
98
+
99
+### Other
100
+* [Updating Speedtouch Router Firmware][47] from Linux
101
+* [Matshita UJ816][48] DVD-RW drive issues
102
+* [Jabra Bluetooth Headset][49]
103
+* [CanonIxus800][50] (aka SD700)
104
+* GPS - [Garmin Foretrex][52]
105
+* Satnav - [TomTomOne][53]
106
+* [Netbook][54] - [Nixie][55]
107
+* [Stereo][56] - [Pioneer DEH-2200UB][57]
108
+* [HelmetCamera][58] - [ContourHD][59]
109
+* [MiniHDCamera][60]
110
+* Weather Station - [La Crosse WS9029U-IT][65]
111
+* [Casio Data Bank][66]
112
+* [Casio Sea-Pathfinder][67]
113
+* [NookSimpleTouch][68] e-book reader
114
+* [Udi816][69] - micro quadcopter
115
+* [SymaX1][70] - mini quadcopter
116
+* [3G Modem][71] - [Huawei E1750][72]
117
+* [3G Modem][71] - [Huawei E3131][73]
118
+* 4G/[3G Modem][71] - [ZTE MF823][74]
119
+* 4G/[3G Modem][71] - [Huawei E3372][75] (Vodafone K5160)
120
+* [3G Modem Unlocking][76] - Unlocking 3G USB dongles in Linux
121
+* [MultiwayRadio][77] - full-duplex multi-party mobile (in-car) audio conferencing
122
+* [FirmwareUpgrade][78] - upgrading HDD and motherboard firmware from Linux
123
+* [Watchman Sonic][79] - Sonic oil level monitor using 433MHz band
118 124
119 125
120 126
## PIM related
121 127
122
-* [Lightning for LinuxPPC][81]
123
-* [Muxing Matroska][82]
124
-* [Nokia Series 60 VoIP][83] - SIP settings for Nokia Series 60
125
-* [VoIP][84] - which protocol and client?
126
-* [Powerbook Dvorak Keymaps][85]
127
-* [Instant Messaging][86] - IM tweaks
128
-* [SupMail][87] - Sup mail client configuration
128
+* [Lightning for LinuxPPC][81]
129
+* [Muxing Matroska][82]
130
+* [Nokia Series 60 VoIP][83] - SIP settings for Nokia Series 60
131
+* [VoIP][84] - which protocol and client?
132
+* [Powerbook Dvorak Keymaps][85]
133
+* [Instant Messaging][86] - IM tweaks
134
+* [SupMail][87] - Sup mail client configuration
129 135
130 136
131 137
132 138
## Networking
133 139
134
-* [TinyDnsHiddenPrimary][88]
135
-* [GoogleAppsMigration][89]
136
-* [BluetoothGprsModem][90]
137
-* [CellC 3G][91] - ZA 3g data connectivity with USB dongle.
140
+* [TinyDnsHiddenPrimary][88]
141
+* [GoogleAppsMigration][89]
142
+* [BluetoothGprsModem][90]
143
+* [CellC 3G][91] - ZA 3g data connectivity with USB dongle.
138 144
139 145
140 146
141 147
## Other
142 148
143
-* [GnuPG Key Management][92]
144
-* [Elliptic Curve Crypto][93]
145
-* [Circumventing ARccOS][94]
146
-* [PPC Chroot][95] on x86
147
-* [ResizeLUKS][96]
148
-* [FlashN770][97] on ppc linux
149
-* [Geotag][98] photos
150
-* [Music Tagging][99]
151
-* [AudioCD][100] tidbits
152
-* [Subtitles][101]
153
-* [Rsync IPod][102]
154
-* [FlacToMp3][103]
155
-* [WindowsProductivity][104]
156
-* [Bitcoin][105]
157
-* [UbuntuProductivity][106]
158
-* [Gps Filtering][107] with gpsbabel
159
-* [PmWikiFixEncoding][108] - fix encoding following php default encoding change to UTF-8
160
-* [Video][109] - manipulating video containers
161
-* [Images][110] - manipulating images
162
-* [PdfEditing][111] - sticking things into PDFs which are not PDF-forms
163
-* [FoxyProxy][113] - useful foxy proxy settings
164
-* Skype - tips and settings for software development
165
-* [SniffSerialPort][115] - continuous hexdump
166
-* [BrilliantForWindows][116]
167
-* [FirefoxProductivity][117]
168
-* [WikiToGit][118] - scripts to pull wiki content into git
169
-* [XmlStar][119] - notes on using xmlstarlet
149
+* [GnuPG Key Management][92]
150
+* [Elliptic Curve Crypto][93]
151
+* [Circumventing ARccOS][94]
152
+* [PPC Chroot][95] on x86
153
+* [ResizeLUKS][96]
154
+* [FlashN770][97] on ppc linux
155
+* [Geotag][98] photos
156
+* [Music Tagging][99]
157
+* [AudioCD][100] tidbits
158
+* [Subtitles][101]
159
+* [Rsync IPod][102]
160
+* [FlacToMp3][103]
161
+* [WindowsProductivity][104]
162
+* [Bitcoin][105]
163
+* [UbuntuProductivity][106]
164
+* [Gps Filtering][107] with gpsbabel
165
+* [PmWikiFixEncoding][108] - fix encoding following php default encoding change to UTF-8
166
+* [Video][109] - manipulating video containers
167
+* [Images][110] - manipulating images
168
+* [PdfEditing][111] - sticking things into PDFs which are not PDF-forms
169
+* [FoxyProxy][113] - useful foxy proxy settings
170
+* Skype - tips and settings for software development
171
+* [SniffSerialPort][115] - continuous hexdump
172
+* [BrilliantForWindows][116]
173
+* [FirefoxProductivity][117]
174
+* [WikiToGit][118] - scripts to pull wiki content into git
175
+* [XmlStar][119] - notes on using xmlstarlet
170 176
* [Accounting][120] - with beancount and truelayer
171 177
172 178
[1]: BitfieldGotchas