linux.conf.au-2017.md (10857B)
1 # linux.conf.au 2017 2 3 ## General comments 4 5 Re-stating the audience's questions before replying is helpful. 6 7 ## Choose Your Own Adventure, Please! 8 9 Keynote by Pia Waugh. 10 11 Warns against short-sighted itch-scratching; wants to encourage more 12 long-lasting systemic change. To contrast with Maciej Cegłowski, who 13 warns against [ivory-tower wank] in Sillicon Valley, where no-one 14 seems interested in working on the severe poverty problems nearby. 15 16 (To be fair, Pia does say we need both "symptomatic relief" and 17 systemic change.) 18 19 41:30 20 21 > My favourite story from my studies with martial arts was actually 22 > about two monks walking around. They're walking along, elder one, 23 > younger one, and when they get to the river, a person comes and says 24 > "I'm being chased by robbers, can you help me across the river 25 > please?". The older monk says "Yep, not a problem", picks them up 26 > and carries them across (because they're hurt). The person gets 27 > away. And they're walking along, still in silence, and the younger 28 > monk says: "… You know, back at the river back there"; the older 29 > monk says "Yeah?"; the younger monk says "I thought we had taken a 30 > vow of silence". The other goes, "Yeah?". "… Should you have 31 > spoken to that person?", and the older monk says: "I put that person 32 > down back at the river. Why haven't you?" 33 34 That story appeals to me: it's got some sort of 35 Jesus-ish-unconditional-forgiveness-Zen vibe that feels reassuring, 36 "it's OK to make mistakes, as long as you aimed for the Greater Good, 37 focus on the Spirit of the Law instead of upholding the Letter". But 38 slippery slope turns that into "move fast and break things", 39 consequences and accountability be damned. 40 41 You can even link that to ["fussy" compilers] and false alarms: why 42 should Buddhist GCC warn on Vow-of-Silence violation if it's not 43 actually a problem? The warning should be refined, the diagnosis 44 should be smarter, the standard amended, otherwise how do you 45 distinguish between the shades of red? 46 47 ["fussy" compilers]: https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00190.html 48 [ivory-tower wank]: http://idlewords.com/talks/superintelligence.htm 49 50 ## Stephen King's practical advice for tech writers 51 52 By Rikki Endsley. 53 54 Lots of pointers, e.g. [The Care and Feeding of the 55 Press](http://netpress.org/care-feeding-press/). 56 57 Suggested outline: 58 59 - intro (invite the reader in) 60 - state the problem (background) 61 - solution 62 - (for tech article, tutorial, whitepaper: technical stuff (howto, FAQ)) 63 - conclude (important dates, action items) 64 65 Parasite words: "very", "some". Be mindful of slang. 66 67 ## Sharing the love: making games with PICO-8 68 69 By John Dalton. 70 71 > Sad old people, longing for the glory days 72 73 PICO-8 restores the "Democracy of Creating". 74 75 Kids get the point of sharing without having to be "encouraged" by 76 licences. 77 78 ## Writing less, saying more: UX lessons from the small screen 79 80 By Claire Mahoney. 81 82 - "mobile" is not necessarily "on the move" 83 - a "mobile" app does not have to be a "diet" version of the original 84 85 Users do not expect the functionality to be diminished. 86 87 > Context can be better than words 88 89 (I feel like there is a connection to be made here with namespaces in 90 programming languages.) 91 92 Patterns are good, repetition is not. 93 94 Defining purpose with "when X, I want Y so I can Z" helps "keeping it 95 real" and reminding you of the user out there. 96 97 ## Mamas Don't Let Your Babies Grow Up to Be Rock Star Developers 98 99 By Rikki Endsley. 100 101 When writing job descriptions, stop asking for rock stars. Focus on: 102 103 - job requirements 104 - job environment 105 106 Makes it easier for people to figure whether they will fit in. 107 108 Look for developers interested in making *others* succeed, learning 109 *new* skills; make sure they are accessible, they use the best tool 110 for the job, and they are able to innovate, lead, and collaborate with 111 a diverse mix of people. 112 113 If you have a rockstar on your hands, make sure the janitors still get 114 some credits. 115 116 ## Why haven't you licensed your project? 117 118 By Richard Fontana. 119 120 "Post open-source" has actually been a thing for a while: the term 121 describes the widespread trend of not attributing a license to one's 122 project. 123 124 Berne convention says that copyright is automatic, so this POSS 125 software might be implicitly "proprietary". Why worry? There is a 126 lot of proprietary software already. 127 128 Not putting on a license constitutes a statement for some developers. 129 130 Some attempts at public-domain dedication: 131 132 - [WTFPL](http://www.wtfpl.net/) 133 - [Unlicense](http://unlicense.org/) 134 - [0-clause BSD](http://landley.net/toybox/license.html) 135 - [BOLA](https://blitiri.com.ar/p/bola/) 136 - [CC0](https://creativecommons.org/share-your-work/public-domain/cc0/) 137 138 ## Handle Conflict, Like a Boss! 139 140 By Deb Nicholson. 141 142 Conflict mostly comes from missing information, mismatched goals. 143 144 Avoidance, accomodation and assertion each have their own issues as 145 conflict-handling strategies. 146 147 Using historical motivations can help give credit to new ideas. 148 149 Hypotheticals such as "What's the worst that could happen?" help 150 identify the root issues people will not directly talk about. 151 152 No ad hominem. No name-calling. Period. Beware of [Contempt Culture]. 153 154 Setting expectations can help enforce a civil tone and constructive 155 criticism. 156 157 [Contempt Culture]: https://blog.aurynn.com/2015/12/16-contempt-culture 158 159 ## The journey of a word: how text ends up on a page 160 161 By Simon Cozens. 162 163 Very interesting explanations on the lengths Unicode must go to in 164 order to turn humanity's sprawling mess of written communication 165 methods into rigorous rules that a computer can understand. 166 167 Some diacritics can be encoded either with a single code point or a 168 vowel plus a combining code point; this is because Unicode intends to 169 have one code point for *every character that other encodings have 170 ever contained*. 171 172 Cozens is publishing a free online book on the subject: [Fonts and 173 Layout for Global Scripts]. 174 175 [Fonts and Layout for Global Scripts]: https://simoncozens.github.io/fonts-and-layout/ 176 177 ## Surviving the Next 30 Years of Free Software 178 179 By Karen Sandler. 180 181 Is copyright assignment to big organizations (Canonical, FSF?) the 182 solution to problems we cannot anticipate? 183 184 Wills are tricky: recipients might be taxed on the "monetary value" of 185 the "legacy". 186 187 Using a trust as a "legal hack": would build a "registry" of free 188 software; the trust can map handles to contact information to preserve 189 anonymity. 190 191 The idea is vaporware for now, since this trust cannot be built 192 without debating a lot of finer points. 193 194 > The best gift you can give to the people you love is to make sure 195 > they're prepared for when you're gone. 196 197 ## The relationship between openness and democracy 198 199 By Pia Waugh. 200 201 Openness creates a natural incentive for "doing the right thing". 202 203 Some people think shady deals which allow politicians to make huge 204 amounts of money from the industry are fair game, since they have to 205 get the investments they made during their campaign back. 206 207 On "policy-based evidence" as an alternative to evidence-based policy: 208 209 > That's rather funny'n'clever'n'witty… Oh shit, you're serious. 210 211 How representative and legitimate are elected individuals? Never mind 212 the participation rate, most people vote for (or against) one or two 213 things, not the whole program. 214 215 > (13:00) Everyone loves to kick public servants; **everyone**. 216 217 > (14:30) I was gonna start a cartoon. And the first thing was gonna 218 > be someone saying "I'm surprised that you're working in government, 219 > I would've thought you'd disagree with X, Y, Z." OK. 220 > 221 > The second panel someone saying to me "I just can't believe you're 222 > working in government! I thought you had *integrity*! I thought 223 > you would disagree with all of these things!" … *OK*. 224 > 225 > The third person says "YOU MOTHER-"… Anyway, goes on a complete 226 > tirade, I'll probably get hit on the head. 227 > 228 > The fourth panel is me running off in the distance. Into the 229 > sunset. And the three people saying to each other "Why are there no 230 > good people in government?" 231 232 "Consulting the public" used to be a point on a checklist, not 233 intended to yield useful outputs. 234 235 ## JavaScript is Awe-ful 236 237 By Katie McLaughlin. 238 239 In JavaScript, functions have to add `var` explicitly to their local 240 variable declarations, otherwise they will assign to global variables. 241 242 ``` javascript 243 > [] + [] 244 "" 245 > [] + {} 246 [object Object] 247 > {} + [] 248 0 249 > {} + {} 250 NaN 251 ``` 252 253 JavaScript is a registered trademark; ECMAScript is the actual, 254 *standardised*, **versioned** language. 255 256 Some examples of things which can be accomplished without JavaScript: 257 <http://youmightnotneedjs.com/>. 258 259 Cross-compilers alleviate some of the pain; one has to be careful with 260 their prefered language's warts though. 261 262 In Ruby, `&&` and `and` do not have the same precedence with respect 263 to `not`. 264 265 ## Data Structures and Algorithms in the 21st Century 266 267 By Jacinta Catherine Richardson. 268 269 Voronoi diagrams have a lot of applications: 270 271 - modeling the capacity of wireless networks 272 - robot navigation 273 - mouse hoverstate 274 275 Fourier transforms help with data compression. Naively: O(n²); from 276 the sixties onward: O(n log(n)). Nearly Optimal Sparse Fourier 277 Transform (2012): O(k log(n)), helps on-the-fly data compression. 278 279 Singular Value Decomposition helps with pattern recognition/comparison 280 by allowing to express e.g. rotations. 281 282 > New stuff! 283 284 Evolutionary algorithms (a form of AI/machine learning) to find 285 optima: 286 287 - a function to tell "is this good enough?" 288 289 Genetic algorithms (a form of evolutionary): 290 291 - fitness criteria 292 - swap information ("breed") 293 - random-ish variations 294 295 > Setting up the fitness criteria and the initial conditions for 296 > genetic algorithms […] is as much art as it is science. 297 298 Artificial Immune Systems (90s) is used in computer security. 299 300 Swarm algorithms: agents share the value of their findings and 301 converge. Used e.g. to locate cancer; considered for e.g. traveling 302 sales person problem, unmanned cars. 303 304 Bacterial Foraging Optimization; Shuffled Frog Leaping; 305 Teaching-Learning-Based Optimisations. 306 307 [Foldit](http://fold.it) is an experiment consisting in making humans 308 solve hard problems (e.g. protein folding) through competitive gaming. 309 310 Graph isomorphism is *hard*. Easy to verify, hard to solve. Until a 311 week ago: we can now solve them in quasi-polynomial time. 312 313 ## My personal fight against the modern laptop 314 315 By Hamish Coleman. 316 317 Ports, durability, keys are getting worse. 318 319 Plugging an older keyboard on newer Thinkpads presents issues: 320 321 - the motherboard sends in high-voltage current to enable backlight 322 - some keys don't work; the firmware must be changed (and then 323 re-encrypted) 324 325 Sharing firmware patches is challenging; most end-users have no idea 326 what these even are; some of them run Windows and cannot easily use 327 the patching tools. 328 329 Newer firmwares seem to be signed; this will probably make them harder 330 to tweak.