Asking questions for the benefit of your future self

Video in TIB AV-Portal: Asking questions for the benefit of your future self

Formal Metadata

Asking questions for the benefit of your future self
Growing with the Plone community
Title of Series
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Year

Content Metadata

Subject Area
In this talk I trace my history of learning in the Plone community from mailing lists and IRC to stackoverflow and the online forum. The goal of this talk is to provide a "template" for newbies who want to confidently engage with the Plone community. The underlying principles can be applied to engaging with any tech community and will help anyone who wants to benefit from and contribute to open source communities.
Plane (geometry) Data mining Zoom lens Email Inheritance (object-oriented programming) Multiplication sign Software framework Software framework Extension (kinesiology) Product (business)
Process (computing) Software developer Software framework Software framework Mereology Process (computing) Mereology Perspective (visual)
Component-based software engineering Dependent and independent variables Software developer Connectivity (graph theory) Software framework Bit Software framework Data structure Disk read-and-write head Perspective (visual)
Point (geometry) Context awareness Zoom lens Dependent and independent variables Context awareness Key (cryptography) State of matter State of matter Template (C++) Formal language Web 2.0 Data model Type theory Message passing Process (computing) Sample (statistics) Internet forum Cloning Website Endliche Modelltheorie Musical ensemble Website Message passing
Scripting language Point (geometry) Email Context awareness Dependent and independent variables Scripting language Computer file Dependent and independent variables Code State of matter Content (media) Sampling (statistics) Code Element (mathematics) Web 2.0 Plane (geometry) Optical disc drive Schwerpunktsystem Internet forum Hacker (term) Proxy server Form (programming)
Email Context awareness Multiplication sign State of matter Electronic mailing list Computer Login Online help Login Product (business) Product (business) Neuroinformatik Plane (geometry) Type theory Type theory Internet forum Internet forum Website Website Information security Arithmetic progression Information security Form (programming)
Point (geometry) Slide rule State of matter Computer Login Bit Perspective (visual) Product (business) Plane (geometry) Internet forum Website Information security Hacker (term) Arithmetic progression
Scripting language Tablet computer State of matter Hacker (term) Proxy server Arithmetic progression
Point (geometry) Inheritance (object-oriented programming) Dependent and independent variables Multiplication sign Online help Real-time operating system Newsletter Product (business) Online chat Goodness of fit Data structure Data conversion Information security Quicksort Position operator Dependent and independent variables Email Inheritance (object-oriented programming) Information Building Software developer Projective plane Electronic mailing list Bit Newsletter Personal digital assistant Order (biology) Website Quicksort Information security Buffer overflow
Sheaf (mathematics)
Common Language Infrastructure Zoom lens Dependent and independent variables Wrapper (data mining) Consistency Code File format Planning Perspective (visual) Template (C++) Template (C++) Usability Arithmetic mean Internet forum Internet forum Computing platform Cloning Arithmetic progression
Zoom lens Internet forum Information Blog Blog Multiplication sign Internet forum Shared memory
Plane (geometry) Dialect Zoom lens Group action User interface Software developer Blog Multiplication sign Programmable read-only memory Disk read-and-write head
Point (geometry) Email Code State of matter Multiplication sign Reflection (mathematics) Direction (geometry) Electronic mailing list Code Term (mathematics) Goodness of fit Process (computing) Term (mathematics) Data structure Endliche Modelltheorie Normal (geometry) Data structure Buffer overflow
Presentation of a group Touchscreen Multiplication sign Software developer Template (C++) Product (business) Plane (geometry) Medical imaging Googol Natural number Blog Musical ensemble Buffer overflow Computing platform Form (programming)
i was introduced to clone kind of indirectly by a friend of mine at the time he introduced me to the zop world and you know we're talking about it and he told me about this thing called world pilot well pilot is a fairly fancy email system for the time and he was really excited about it and i actually tried it all myself and that led me into the zop ecosystem at least that's how i remember it uh we didn't have masks though or and i definitely wasn't holding that guitar but uh one of the products of the zob ecosystem was clone and at the time i was coming from html php world and this stuff was like superpowers the stuff that i was able to do with very little knowledge so i was able to show people these things that i was doing with with zop and by extension plone and it was great frameworks can be fun but they can also be weird and unexpected and this talk is about a framework it's not not so much about clone but yeah i've grown but not really
my name is david bain and online i'm usually found under the name pigeon flight most places and i want to talk to you about a repeatable approach to learning and hopefully it will help you to survive some of the weird and unexpected that you come across and this will be presented through the lens of my plone experience this is roughly what we're going to be going through a little bit of definition talking about acting talking about answering and keeping notes of course the last two very briefly
so let's talk about oxford which is a very jamaican way of pronouncing acts first and we're talking about asking questions for the benefit of your future self and of course we need our fund made up name for the talk so we'll talk about acts first
the hardest parts of learning a new technology or framework are
getting started with new tooling and learning about build and deploy processes and this is not my perspective this is 45 of developers surveyed at a website called
here's something else that's difficult wrapping your head around a new way of completing things that you already knew how to do and 42 of the developers surveyed in response to this concern said this was a challenge and you know what was not a challenge uh most developers are not in this boat that only one percent said that they never have to learn new technologies so axe first as a framework is about problem solving and learning so think of it as adding a little bit of structure to that and you know from my perspective i see three things i say asking answering and keeping notes
so as i said before these are the components of the axos framework they're about axing answering and keeping nodes so let's go
into the meat of the matter how do we go about asking good questions
[Music] and avoid asking horrible and revealing questions uh i this is my this is my personal thing i've i've coined this idea of a revealing question and and when i talk about the revealing question i'm talking about questions that demonstrate no attempt to grasp the context or model we're encouraged to ask questions they even have kids shows where they have sounds about how questions can be useful and encouraging kids to ask questions so what is this idea of a revealing question well it's a question that says to the listener that you really haven't stopped to think about the model or you don't understand the model so for example the example that i give and this has changed now with self-driving cars but let's say a couple years back you're you've reached somewhere there's a car you drove it and now you can't find your car keys and somebody who wants to be helpful asks the following question um do you think you left it at home now you can see there's a problem with that question because there are a lot of reasons why if you understood the model you would not ask that question uh so let's see if we can help you to ask more useful questions that will help your future self as well as others here's an example of a revealing question this is a fictional one but it's based on and maybe exaggerated but it's based on questions i've seen in forums i'm trying to get clone to make my website where do i go in photoshop to publish a news item my employer needs me to do this i saw something on the web that did plone uh just the use of language here just clear and and how they're attributing the idea of photoshop publishing news items it's clear that they haven't quite grasped the model uh it's okay if you haven't grasped the model but it's important that while you're in the process of grasping the model that you make it clear so you could change this question and make it quite reasonable by saying my current understanding is that photoshop is used to publish news items that makes it easier for someone responding to say ah your current understanding might not be quite right so here's the type of response you might get from a user if you ask the question like this you know this question makes no sense please do not post questions messages while drunk and we've seen responses like this in the clone forum um so how do we get our questions to be a little better structured so that we can get the most out of the clone community and i guess give the most to the clone community uh here are my three things a clear title state your issue and also mention what you tried um this is a template sometimes you don't use all of these bits and we'll talk about that a little more but this is a good kind of starting point to guide you in accent a well-structured question
here's an actual question um that i asked a couple years ago uh i'm working on a hack to edit individual member data the principle seems sound but i seem to be missing something um basically i've hacked the personalized script and personalized form from the above files i've created two new files personalized proxy and personalized form proxy now this was 2003 we were still doing through the web and um the well i'm forgetting what it's called but customizations through the web and we would copy scripts inside of the cmi and things like that so that's the context of this question so i've i have a title that hopefully is clear i am i have stated my issue i'm working on a hack to edit individual member data and i've stated what i tried now i've i've shortened the question i put some more detail like a code sample of the contents of the personalized proxy on personalized form proxy but the the point is we have the elements uh the title the emoji is optional but sometimes it's useful to you know maybe let people know how you're feeling
and here's the actual response to that question i have some code for this that will allow you to edit arbitrary user member data so this is great this person has called of course they haven't posted the code and they're going to get back to it a little later and hopefully email me or something but that's good so as well structured question you're not guaranteed that you'll get a great answer but it's it increases the odds and it reduces the risk of getting blasted by persons in the forum
uh i thought about types of questions not every question is i like so you have the how might i question the work in progress style question and the help me plan question and each one of these questions uh takes slightly different form this is not a comprehensive list but you know it's it's it's a good start
here is a how might i question and this came uh this was something that i wrote in the mailing lists in 2004 the title persistent login so you know what we're going to be talking about uh how can i create a persistent login for my users similar to some of the more popular forum products which allow users to choose to stay logged in for a day a week a month forever etc once once they access the site using the same computer um they remain logged in this is purely for convenience i wouldn't recommend this if you're interested in security so that's that's that's a question i left out question marks but yeah yeah uh so i've stated the issue and i sometimes i don't do this but i try most of the time to make my issue the first thing because someone who's reading this in a rush can know right away oh create a persistent login for my users and then the rest of it gives you a little context about what i mean uh there's my clear title
oh and i know in this particular slide um i didn't do step three which is to say what i've tried so far so and that's probably because at that point either i hadn't tried it or maybe i was feeling a little bit lazy and didn't mention what i had tried yet
okay let's look at that question i asked in the previous a previous example but from the perspective of a work in progress question so i'm working on a hack to edit individual member data that's that was question and of course that's the issue uh
and let's see how people responded to my question
oh sorry i don't think
i gave an example here so this is just an example of work in progress for me to say i'm working on a hack um to edit individual member data and you recall when i then when i went through this earlier that i explained about the personalized proxy scripts and so on uh so it's working progress because i included those personalized proxy scripts
here is a help me plan question is rapid or dead end now in this case um i did write the title as a question most of the time i actually don't write the title as a question but sometimes you this helps to be a little provocative and get attention so i said i have two sites that are using a product built on rapido i've stopped building new things with it as i don't know what the situation is with rapido at this point is this a dead end now a couple things about this question it's a little out of the standard structure so i didn't put right up at the top is it a dead end which is a question i want to ask so you have some flexibility but at least understand the structure before you start breaking the structure uh person in response i believe it is there is a security problem with it and it's stopped being developed and they gave me a recommendation i've switched to using theme fragments i actually also switched to using theme fragments and i still had a few rapido um projects around good titles so here's a little bit about choosing good titles generally you want to make it a good summary and it should enhance the understanding of the question that you're asking
titles that i've used just so you can just get an idea looking for a newsletter solution dr amplone for add-on development is diazo a dead end is rapido a dead end sort by order position in parent for collections that's a mouthful but it's it's very specific about what i want i want to sort by the order of the position in the parent uh where do you ask your questions well at this point in time the only place i recommend is this has changed over time because there was the mailing list uh there was stack overflow at one point a good place to get answers was irc uh and maybe in the future slack i have some reservations about asking questions in real time chat and that is because your future self may not get the love information and you know you won't benefit from it years later a lot of the irc conversations i don't know where to find them now and i suppose something similar may happen with slack if you're trying to get all of your answers in slack
let's talk about answering questions and as i said the the next couple sections are far briefer than the first section uh from than the acts in question section so these are my
thoughts on answering as much as possible when you're answering you're also answering for your future self so make it as easy as possible for your future self
ah what i mean by that is you may answer your own question and that has happened to me i'm trying to get something done and then i come back two hours later and i've made some progress i'm going to almost use it like a journal and answer my question right there if it has a good title and a clear question um two years from now when i'm trying to tackle the same problem i'll be able to find it here's an example of an actual question
from 2018 and how i went about answering it so why do we have clone cli and bob templates dot clone and the person says i still didn't grasp why why do we have two packages that are intended to do the same thing did we have a discussion about clone cli here in the forums right because from their perspective these two things do the same thing so they're conflicting uh and this was my response um and i just screenshotted my response on purpose plan cli provides a user-friendly rocker around bob templates.clone so closely is a consumer of baptim face upload so i wanted to point out how they were related and i gave some some um i showed the command line i thought that would be important and when you're showing code or things on the command line it's always important to format it properly so you can see where i'm commenting versus where i'm showing commands uh that's really really useful
let's move on to keeping notes
i have kept a blog for a long time i haven't really been doing much blogging recently uh but keeping a blog is a great way to go what i've been doing more you know maybe in the last two years is just sharing in the forums so if if not just questions but i'll mention i'm doing this and just mention it in the forums and give it a title that means that you know two years from now where i totally forget how to do it i can come back and find that information so you want to share what you're learning your future self will thank you
here's an example of something from my blog uh this was about the time when we was cutting over to clone five and i was starting to prepare to kind of wrap my head around how clone 5 worked we're at a similar transition now where we're transitioning to clone 6 and volto so maybe for my future self i should be putting together an article on best practices or how to be ready for volto
okay so let's review
try to avoid revealing questions you really want to make sure that either you understand the model or you're very honest that you're in the process of learning the model um don't be lazy and just ask questions that are completely you know with no reflection structure your questions using the title issue and what you tried approach use good titles and when you are using code use code not screenshots um like well the answer that i showed there share what you're learning and your future self loves notes so just always focus on making sure that the notes that you're putting out there will be valuable to your future self interestingly when you do that they also become valuable to other people in the community a few more takeaways think long term you don't want to always need the answer in the next five minutes uh things move around so uh things were on the mailing list at one point and then they were in stack overflow but most stuff happens at now and be prepared if they if it has to move again uh you really want to invest time formulating your question so clearly state a problem show that you're trying and have tried and share what you've tried and if for no other reason if you're having a challenge articulating the issues and what you've been doing sometimes helps you to resolve the challenge um which is sometimes referred to as robodog debugging which will which you can google that
uh i sometimes like to think of it this way i'm about to try something this is you know this is my question i'm about to try something stop me if that's a bad idea so by asking the question and sharing where you're going and what you've done hopefully someone um who's answering will be able to point out a better idea and stop you if you're going down the wrong direction
you for your time i did not update the template here so my username is pigeonflight and you can find me in slack for the conference i use that i use that handle pretty much everywhere online
thank you david uh i have a question for you sure actually first of all i have uh i have to thank you because i have no idea how many times i asked myself something i wrote the question on google i landed on your question on community. you answer that so that's amazing i love when you do that but uh you're you you mention blogging why you're not blogging that often and do you think for some of us uh answering questions on start overflow answering questions on uh became the new blogging the way we basically help ourselves in the future instead of going back to your blog and writing how to use screen that's a real situation for me yeah every time i go back to my blog [Music] but now we have these other platforms that basically they became the note the note taking place for us do you think it's something like that or do you have a different uh reasoning well for me my blogging has started to migrate and also change in nature so i've i don't like blogger anymore so it's not fun to blog on blogger it's easier to put notes in if i if i cut and paste an image it will sort it out for me it's just a nice experience so some of my blogging has migrated to medium [Music] okay uh because medium is just nicer for blogging uh and it's also changed in nature so i've i've blogged about learning sales and marketing and design sprints and product development which you know it didn't quite fit as nicely on my main blog but medium gave me the opportunity to just or whatever i'm thinking about um i've blocked so in my presentation even though i said i haven't been blogging much i'm doing some blogging it's just the long form has changed to be more of you know stuff i'm reflecting on and stuff i'm doing