[devnexus 2024] knowledge management for the technicaly inclined

Speaker: Jacqui Read

fosstodon.org/@tekiegirl

For more, see the 2024 DevNexus Blog Table of Contents


Book: Communication Patterns

Knowledge Management

  • McKinsey used phrase internaly in 1987
  • not just putting info on the wiki
  • can’t simply buy it
  • apps can help but small part of what doing

Examples

  • Naming a repo – convey what is i without going in and looking
  • Integrating one app with another – edges are where discover and exchange knowledge
  • Lessons learned – learn from past mistakes and build on successes
  • Inventory – catalog
  • Dashboards – static or dynamic
  • Dcouments – files
  • Expertise locator – how find info in peoples heads
  • Policies and procedures
  • Wikis an articles
  • Forms and templates
  • Databases
  • Meetings and workshops – generate a lot of knowledge. Not always recorded

General

  • ”Knowledge management is the process of capturing, distributing and effectively using knowledge “ – Tom Davenport
  • No org is a vacumn
  • Relationsips change over time and knowledge gets lost
  • If written down, softens the blow
  • Forces between fiishing tech stuff vs getting things done
  • Capturing gets lost and no organization learning. Makes stagnant org and competitors can overtake
  • Fortune 500 companies lose at least $31.5 million a year due to lost info
  • Companies with better knowledge manageent did better during pandemic

Remote first

  • Enable doing best work wherver are Not a bolt on to office work.
  • If anyone remote, everyone is on own device
  • Value output over time spent
  • Emphasis on async communication
  • Better continutiny for time zones, transit strikes, snowstorms, people going out to see eclipse
  • Improved productivity because valued for output and happier. Not trying to look like working
  • Better documentation due to async communications

Sync vs Asyc

  • Async communication – no expectation of reading/responding as soon as received
  • This talk is synchronous for people in room and async for people watching on video later
  • Can capture, publish and use info sync or async

Glossaries

  • Centralize so not looking through multiple or guessing where to put
  • Federated for maintenance – anyone can add
  • Partitioned by domain – different definitions for different parts of business. Define scope
  • Cross reference for simplicity – don’t duplicate

Products over Products

  • Mindset change
  • Other projects can reference
  • Reuse
  • Long term view

Inventories

  • Catalog assets
  • Expicit knowledge -easy to articuate and write down. Think about what it is, structure, format, etc
  • Implicit knowledge – harder to write down. Think about who knows. Is it tacit knowledge (ex: leadership/riding a bike)?
  • Put tacit knowledge in expertise locator
  • Make ore of he implicit knowledge explicit

Personal Knowledge Management (PKM)

  • Encourage people to share what know
  • Bottom up info sharing
  • Can boost carer to share knowledge
  • Can be rabbit hole

Automate knowedge management

  • Documentation as code. Not just markdown. Could be diagrams as code, json, asciidoc etc
  • Optionally review for accuracy. Especially if publishing publicly
  • Automated review for syntax, spelling, links, etc
  • Convert to a useful format like PDF or a website
  • Decouple data fro presentation

Knowledge Management as Code

  • ex: Swapper API docs
  • ex: contract testing
  • ex: Pacts dashboard showing last time tested each API

Hive MInd

  • Optimize knowledge so available at right time
  • Without knowledge manageent, have high cognitive load and chaos
  • With knowledge management, reduce cognitive load
  • With hive mind, reduce cognitive load as much as possible
  • Hierarchy: Wisdom, knowlege, info, data

AI

  • Garbage in, garbage out

Collaborative Knowedge Management

  • Big picture event storming – find boundaries where people disagree. Generates lots of options
  • Domain storytelling – create diagrams with actors and processes. Focus on one way. If hae another version, create a new diagra
  • Bytesize Architecture Session – can use for mix of business and technical. Start with session goal. Then everyone starts independently at same time so not drowned out by loudest voice in room. Then find consensus
  • 6 page memo – re Amazon. Doc created before meeting. Everyone reads at same time (to fence time for reading) then discuss. Downside is that people have thoughts after meeting. Doc needs to be collaborative as well
  • Architecture Decision Records – not just for architectures. Include title, status, context, evaluation criteria, options, decision, implications, consultation Avoids risk of changing something without understanding why decision made. Avoids rework of inestigating same thing repeatedly. New people on team can read why decision made
  • Business Decision Record – same idea as ADR, but for other things. Ex: why buy/choose a product, hiring, strategy

Key takeaways

  • Software BBOM (big ball of mud). Probably also have Documentation BBOM.
  • Think about as wall of ivy instead. Have info hidden in here
  • Good knowledge manageent virtal for building and understanding software
  • Collaborate to collect and record knowledge. Get more perspectives. Break down silos
  • Involve as many minds as possible
  • Elicit the implicit knowledge so don’t miss
  • Knowledge management supports better decision making Need a decision support system
  • Engineer knowledge as much as engineer software
  • Own your knowledge. If don’t know what have, can’t use it

My take

Excellent start to the morning. It was fun seeing how different parts of KM interact. Plus learned some new techniques.

[devnexus 2024] apache maven 4

Speakers: Chandra Gunter and Rodrigo Graciano

@CGuntur and @rodrigograciano

For more, see the 2024 DevNexus Blog Table of Contents


General

  • Apache Maven 4 is still in alpha
  • Avoid profiles where can
  • Shoutout for mvn verify (vs maven install)
  • Sample code: https://github.com/c-guntur/maven4

Pain Points in Maven 3

  • Painful to maintain versions in multi module projects – flatten-maven-plugin helps with child versions but has hissues with profile interpolation. ci-friendly-flatten-maven-plugin solves profile interpolation problem but requires including third party plugin
  • No implicit way to separate build info from consumer info. Why do consumers need SCM location and Jira link – flatten-maven-plugin and c-friendly-flatten-maven-plugin help
  • Handling versions of sibling modules is a chore
  • We use default versions for plugins. Ex: compiler version has default so not everyone specifies.
    Creating BOM (Bill of Materials) not easy. No way to identify that default version is in use

Maven 4

  • Requires Java 17+ to run Maven and Java 17 to compile (but can use Java 17 to compile earlier version)
  • New schema version in <project> xmlns
  • <moduleVersion> is now 4.1.0
  • Can use <version>${revision}</version> without plugin – can pass from root pom or command line
  • Get warning in build log if use the default version number of any plugins
  • Two poms in .m2 for artifact. artifact-version-build.pom is what is used to build and artifact-version.pom is the consumer pom that goes to the repo when deploy
  • No need to specify version number of parent in multi module project. Figures out automatically. Version is still allowed. It is an optional field so can specify older version at will.
    • Build caching is improved so faster performance. ex: less re-compiling

My take

I didn’t take notes on Maven itself only the differences between Maven 3 and 4. I know it was necessary to get everyone on the same page. Given everyone raised their hand on using Maven, I wonder if could have been briefer. (Got to limitations of Maven 3 at 20 minute mark) I liked the interaction between the presenters to make it a conversation. The list of Maven 3 problems was great. And the demo of how Maven 4 fixes was good.

[devnexus 2024] More tales from the Dark Side: How AI is the bad guys new friend[devnexus 2024] dark tales ai

Speaker: Stevel Poole

@spoole167

For more, see the 2024 DevNexus Blog Table of Contents


General

  • Supply chain
  • Now we are all attack vectores

Wifi

  • We also use wifi
  • How many use VPN?
  • Easy to spoof wifi
  • Only need battery, raspberry pi and a few more things
  • Would you notice a box on the wall?

Charger

  • Plug in Mac laptop charger at conference
  • If leave unattended, someone could add hardware
  • Any USB has problem
  • USB data cable and power cable look same

Hotel rooms

  • Hidden camera
  • In some countries during cold war, used human cherography to influence where sit
  • Becoming more common
  • More people are pass thru to company now

Phishing

  • Getting better
  • More targetting. Can know how company does things. Or knowing boss;’ namePhishing -> Spear Phishing -> Personalized Attacks
  • Moving towards more organized and long term attacks

Adding AI

Bad things can do

  • Deepfake nude generator
  • Deepfake phishing grew by three thousand percent in 2023

Why now

  • Not hard to do a reasonable fake. USB acceleration is sixty bucks
  • Huggingface.co has lots of models
  • Models and data avaialble to you and bad guys

Other problems

How Protect

  • Paper on identifying mouth inconsistencies for lip synching
  • Text/numbers wrong
  • Find anomalies from lack of training data – this is going to be an arms race. Once AI knows wrong, can do better next time.
  • Be more suspicious
  • Secure supply chain – all the pieces involved in creating and delivering software
  • Control AI tools in process
  • Look at where models came from and decide if safe. Will have to prove where got it from
  • Consider how train AI and when retrain it
  • Government wants a SBOM, automated supply chain, evidence of software integrity and regular aduit
  • SBOM (software bill of materials) don’t find malicious code but ensure you know what have

My take

Demos were great. Security has changed a lot. Good emphasis on depending on how much money you spend at it. It’s scary, but supposed to be. Need to think about what else I can do in my own life.

Someone challenged saying the grandparent scam sounds fake and nothing like the person. Steve didn’t get to reply, but it’s not a fare analogy. The grandparent same isn’t targeting (at least not much). Some targeting you specifically will have audio/bideo of you to base it off of. And then we are back to the 7 seconds is enough.