memory-leaks

Still reachable: lots of words in many pages.
git clone https://git.kevinlegouguec.net/memory-leaks
Log | Files | Refs | README | LICENSE

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.