ee3e5551dbe532794645eab5d0d4e9da42f79eff
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 |