diff options
Diffstat (limited to 'technical/reviews')
| -rw-r--r-- | technical/reviews/linux.conf.au-2017.md | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/technical/reviews/linux.conf.au-2017.md b/technical/reviews/linux.conf.au-2017.md new file mode 100644 index 0000000..9eb8da7 --- /dev/null +++ b/technical/reviews/linux.conf.au-2017.md @@ -0,0 +1,330 @@ +# linux.conf.au 2017 + +## General comments + +Re-stating the audience's questions before replying is helpful. + +## Choose Your Own Adventure, Please! + +Keynote by Pia Waugh. + +Warns against short-sighted itch-scratching; wants to encourage more +long-lasting systemic change. To contrast with Maciej Cegłowski, who +warns against [ivory-tower wank] in Sillicon Valley, where no-one +seems interested in working on the severe poverty problems nearby. + +(To be fair, Pia does say we need both "symptomatic relief" and +systemic change.) + +41:30 + +> My favourite story from my studies with martial arts was actually +> about two monks walking around. They're walking along, elder one, +> younger one, and when they get to the river, a person comes and says +> "I'm being chased by robbers, can you help me across the river +> please?". The older monk says "Yep, not a problem", picks them up +> and carries them across (because they're hurt). The person gets +> away. And they're walking along, still in silence, and the younger +> monk says: "… You know, back at the river back there"; the older +> monk says "Yeah?"; the younger monk says "I thought we had taken a +> vow of silence". The other goes, "Yeah?". "… Should you have +> spoken to that person?", and the older monk says: "I put that person +> down back at the river. Why haven't you?" + +That story appeals to me: it's got some sort of +Jesus-ish-unconditional-forgiveness-Zen vibe that feels reassuring, +"it's OK to make mistakes, as long as you aimed for the Greater Good, +focus on the Spirit of the Law instead of upholding the Letter". But +slippery slope turns that into "move fast and break things", +consequences and accountability be damned. + +You can even link that to ["fussy" compilers] and false alarms: why +should Buddhist GCC warn on Vow-of-Silence violation if it's not +actually a problem? The warning should be refined, the diagnosis +should be smarter, the standard amended, otherwise how do you +distinguish between the shades of red? + +["fussy" compilers]: https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00190.html +[ivory-tower wank]: http://idlewords.com/talks/superintelligence.htm + +## Stephen King's practical advice for tech writers + +By Rikki Endsley. + +Lots of pointers, e.g. [The Care and Feeding of the +Press](http://netpress.org/care-feeding-press/). + +Suggested outline: + +- intro (invite the reader in) +- state the problem (background) +- solution +- (for tech article, tutorial, whitepaper: technical stuff (howto, FAQ)) +- conclude (important dates, action items) + +Parasite words: "very", "some". Be mindful of slang. + +## Sharing the love: making games with PICO-8 + +By John Dalton. + +> Sad old people, longing for the glory days + +PICO-8 restores the "Democracy of Creating". + +Kids get the point of sharing without having to be "encouraged" by +licences. + +## Writing less, saying more: UX lessons from the small screen + +By Claire Mahoney. + +- "mobile" is not necessarily "on the move" +- a "mobile" app does not have to be a "diet" version of the original + +Users do not expect the functionality to be diminished. + +> Context can be better than words + +(I feel like there is a connection to be made here with namespaces in +programming languages.) + +Patterns are good, repetition is not. + +Defining purpose with "when X, I want Y so I can Z" helps "keeping it +real" and reminding you of the user out there. + +## Mamas Don't Let Your Babies Grow Up to Be Rock Star Developers + +By Rikki Endsley. + +When writing job descriptions, stop asking for rock stars. Focus on: + +- job requirements +- job environment + +Makes it easier for people to figure whether they will fit in. + +Look for developers interested in making *others* succeed, learning +*new* skills; make sure they are accessible, they use the best tool +for the job, and they are able to innovate, lead, and collaborate with +a diverse mix of people. + +If you have a rockstar on your hands, make sure the janitors still get +some credits. + +## Why haven't you licensed your project? + +By Richard Fontana. + +"Post open-source" has actually been a thing for a while: the term +describes the widespread trend of not attributing a license to one's +project. + +Berne convention says that copyright is automatic, so this POSS +software might be implicitly "proprietary". Why worry? There is a +lot of proprietary software already. + +Not putting on a license constitutes a statement for some developers. + +Some attempts at public-domain dedication: + +- [WTFPL](http://www.wtfpl.net/) +- [Unlicense](http://unlicense.org/) +- [0-clause BSD](http://landley.net/toybox/license.html) +- [BOLA](https://blitiri.com.ar/p/bola/) +- [CC0](https://creativecommons.org/share-your-work/public-domain/cc0/) + +## Handle Conflict, Like a Boss! + +By Deb Nicholson. + +Conflict mostly comes from missing information, mismatched goals. + +Avoidance, accomodation and assertion each have their own issues as +conflict-handling strategies. + +Using historical motivations can help give credit to new ideas. + +Hypotheticals such as "What's the worst that could happen?" help +identify the root issues people will not directly talk about. + +No ad hominem. No name-calling. Period. Beware of [Contempt Culture]. + +Setting expectations can help enforce a civil tone and constructive +criticism. + +[Contempt Culture]: (https://blog.aurynn.com/2015/12/16-contempt-culture). + +## The journey of a word: how text ends up on a page + +By Simon Cozens. + +Very interesting explanations on the lengths Unicode must go to in +order to turn humanity's sprawling mess of written communication +methods into rigorous rules that a computer can understand. + +Some diacritics can be encoded either with a single code point or a +vowel plus a combining code point; this is because Unicode intends to +have one code point for *every character that other encodings have +ever contained*. + +Cozens is publishing a free online book on the subject: [Fonts and +Layout for Global Scripts]. + +[Fonts and Layout for Global Scripts]: https://simoncozens.github.io/fonts-and-layout/ + +## Surviving the Next 30 Years of Free Software + +By Karen Sandler. + +Is copyright assignment to big organizations (Canonical, FSF?) the +solution to problems we cannot anticipate? + +Wills are tricky: recipients might be taxed on the "monetary value" of +the "legacy". + +Using a trust as a "legal hack": would build a "registry" of free +software; the trust can map handles to contact information to preserve +anonymity. + +The idea is vaporware for now, since this trust cannot be built +without debating a lot of finer points. + +> The best gift you can give to the people you love is to make sure +> they're prepared for when you're gone. + +## The relationship between openness and democracy + +By Pia Waugh. + +Openness creates a natural incentive for "doing the right thing". + +Some people think shady deals which allow politicians to make huge +amounts of money from the industry are fair game, since they have to +get the investments they made during their campaign back. + +On "policy-based evidence" as an alternative to evidence-based policy: + +> That's rather funny'n'clever'n'witty… Oh shit, you're serious. + +How representative and legitimate are elected individuals? Never mind +the participation rate, most people vote for (or against) one or two +things, not the whole program. + +> (13:00) Everyone loves to kick public servants; **everyone**. + +> (14:30) I was gonna start a cartoon. And the first thing was gonna +> be someone saying "I'm surprised that you're working in government, +> I would've thought you'd disagree with X, Y, Z." OK. +> +> The second panel somone saying to me "I just can't believe you're +> working in government! I thought you had *integrity*! I thought +> you would disagree with all of these things!" … *OK*. +> +> The third person says "YOU MOTHER-"… Anyway, goes on a complete +> tirade, I'll probably get hit on the head. +> +> The fourth panel is me running off in the distance. Into the +> sunset. And the three people saying to each other "Why are there no +> good people in government?" + +"Consulting the public" used to be a point on a checklist, not +intended to yield useful outputs. + +## JavaScript is Awe-ful + +By Katie McLaughlin. + +In JavaScript, functions have to add `var` explicitly to their local +variable declarations, otherwise they will assign to global variables. + +``` javascript +> [] + [] +"" +> [] + {} +[object Object] +> {} + [] +0 +> {} + {} +NaN +``` + +JavaScript is a registered trademark; ECMAScript is the actual, +*standardised*, **versioned** language. + +Some examples of things which can be accomplished without JavaScript: +<http://youmightnotneedjs.com/>. + +Cross-compilers alleviate some of the pain; one has to be careful with +their prefered language's warts though. + +In Ruby, `&&` and `and` do not have the same precedence with respect +to `not`. + +## Data Structures and Algorithms in the 21st Century + +By Jacinta Catherine Richardson. + +Voronoi diagrams have a lot of applications: + +- modeling the capacity of wireless networks +- robot navigation +- mouse hoverstate + +Fourier transforms help with data compression. Naively: O(n²); from +the sixties onward: O(n log(n)). Nearly Optimal Sparse Fourier +Transform (2012): O(k log(n)), helps on-the-fly data compression. + +Singular Value Decomposition helps with pattern recognition/comparison +by allowing to express e.g. rotations. + +> New stuff! + +Evolutionary algorithms (a form of AI/machine learning) to find +optima: + +- a function to tell "is this good enough?" + +Genetic algorithms (a form of evolutionary): + +- fitness criteria +- swap information ("breed") +- random-ish variations + +> Setting up the fitness criteria and the initial conditions for +> genetic algorithms […] is as much art as it is science. + +Artificial Immune Systems (90s) is used in computer security. + +Swarm algorithms: agents share the value of their findings and +converge. Used e.g. to locate cancer; considered for e.g. traveling +sales person problem, unmanned cars. + +Bacterial Foraging Optimization; Shuffled Frog Leaping; +Teaching-Learning-Based Optimisations. + +[Foldit](http://fold.it) is an experiment consisting in making humans +solve hard problems (e.g. protein folding) through competitive gaming. + +Graph isomorphism is *hard*. Easy to verify, hard to solve. Until a +week ago: we can now solve them in quasi-polynomial time. + +## My personal fight against the modern laptop + +By Hamish Coleman. + +Ports, durability, keys are getting worse. + +Plugging an older keyboard on newer Thinkpads presents issues: + +- the motherboard sends in high-voltage current to enable backlight +- some keys don't work; the firmware must be changed (and then + re-encrypted) + +Sharing firmware patches is challenging; most end-users have no idea +what these even are; some of them run Windows and cannot easily use +the patching tools. + +Newer firmwares seem to be signed; this will probably make them harder +to tweak. |
