Oredev Conference - Day 3 2024
If you haven’t already, be sure to check out my blog posts from my first day at the Öredev conference. and my second day at the Öredev conference
Learned a lot at my last day at the Öredev conference but this time the approach I took to this blog post is more of a brain dump. I was getting a bit tired so my notes from today were (unfortunately) not quite as good as yesterday’s.
Got some great ideas from today and was pinging my husband with ideas throughout the day. Hoping to start putting some of them into action in a week or two.
Creation as Curation
Laura Herman shared some of what her team is doing at Adobe including comparing AI-generated content with human-generated content and working on an industry-wide proof so people know something is not AI-generated.
How does AI-curated content (from Instagram) compare with human-generated content?
Let’s see how the visitors perceived this.
What differences did visitors notice? Instagram chose easily recognisable objects. Easy to parse. Prevalence of faces.
Example of a photo/art of a couch that looked like it was for sale (the style of the photo). At this time, Instagram was pushing Instagram shop.
Human chose the concept of loss. (Something that might be harder for an AI to choose images for?)
How does Instagram affect artists?
- Instagram serves as inspiration, exposure to ideas
- But also artists may opt to create art that they think will perform well on insta
For example: An artist went viral with a specific post. But then he noticed that he felt he got locked into a specific type of art (similar to the viral one). It stifled his creativity
Generative AI
Generative AI has changed the creative process.
The power of human taste - this is hard to encode into Gen AI. Example of humans being able to tell the difference between a tune and random notes put together (that sound off).
Content Authenticity Initiative - aim to show which content is AI generated
Current limitations
- Takes a while to process images
- Struggles with small file sizes (reduced acurracy)
- Will be a never ending arms race. Detection software vs Gen AI
Currently also looking into policy.
Focus switching from detecting fake to proving authentic.
Now working on the C2PA with other large tech companies niches Foogle, Microsoft IBM.
Debiasing
Eg. If someone types in “woman” then their tool takes into account how a woman looks like where the user is from (eg. Skin tone).
They are building in diversity and representation into their Gen AI tool at Adobe.
SecDevSecOpsSec
Jesper Olsen highlighted in his presentation the importance of security, having developers and security relate to each other and the effect AI will have on security going forward.
There are conflicting priorities between DevOps and security.
AI is turbocharging the speed and scale of cyber attacks, which means it is much more difficult for companies to protect themselves.
Cyber criminals are more likely to target easier targets. We also hace Cyber inequity - Small Medium Enterprises aren’t equipped to protect themselves from cyber threats.
“We want to have a developers mindset in. Security’s mind and we want to a security mindset in a developers mind.”
Ai brings new risks for business - Enterprise AI applications uses a specialised tech stack.
So you think a new tool will help? Here are some things to remember…
Isabel Evans shared her research into how companies/teams/people look into test tools. She also shared the guiding questions she has created to help teams make better decisions around tooling decisions.
Evans learned in her research that a good UI is not enough to guarantee happiness - too much emphasis is placed on the attractiveness of a UI, and not enough in the usefulness.
“Many people forget to ask themselves WHY they are buying a tool.”
-Isabel Evans
12 Heuristics (at present…)
- H01 Why is this tool needed?
- H02 Who will use or be affected by this tool?
- H03 What previous experiences do they bring to the tool?
- H04 What communication needs and preferences do they have?
- H05 Do they want “tool mastery” or “task completion”?
- H06 What learning preferences do they have?
- H07 Where will this tool be used?
- H08 What workflows is it part of?
- H09 What risks associated with those workflows?
- H10 What autonomy of work style?
- H11 When will it be used?
- H12 How long will it be used for?
Note: these questions may not always be applicable but are a good general indication of questions that could be useful.
Evans noticed that the more expertise someone had, the more likely they were able to use visualisations effectively.
Read more about Evans’ thoughts on her blog here. Read more about her research into this topic on her GitHub
Untangle Your Spaghetti Test Code
Michael Kutz shared some mistakes that people make when writing test code and explained why they are bad. He then suggested different ways we can structure our test code with multiple examples and explaining the strengths of each approach
Why does the quality of test code matter? Lot of things we do in test code - we would never do in production. code. There is a tendency to be sloppy in test code
What do good tests look like?
“The intention (of a test) should be immediately obvious.”
-
Michael Kutz
-
We shouldn’t be guessing what our past-self was trying to achieve.
-
Its functionality should not be obscured
-
Results should be meaningful
-
Reason for failure should be obvious
-
Easy to maintain
Common approach to writing tests is Arrange Act Assert.
Here are some bad ways to go about writing tests:
- Hidden arrange (problems with this because functionality is obscured and hard to see reason for failure) —> Test data manager
- Magic values
- Long arrange
- Long assert —> assert helper method
- Lying/inconsistent/bad test names (test case names don’t reflect actual content) —> consistent and concise test names (apply a test case naming scheme) Remember that it’s the test case names that end up in the test report
Approval testing is a better fit if you have a lot of things you need to compare.
Recommended resources by Kutz:
- Instancio - A Java library for automating data setup in unit tests.
- Naming tests for maintainability
- Testing with Nullables
- Untangle Your Spaghetti Test Code Slides - recommend you check this out as there are lots of code examples in Kutz’s presentation.
- Untangle Cheat Sheet
QA for ML: How we can trust AI with Food Sustainability
Serg Masis shares how QA for ML is different other types of software and then goes into how they are using AI for food sustainability at his workplace.
“Quality is about trust.”
- Serg Masis
“We shouldn’t forget that models can be right for the wrong reasons.”
Masis used the example of a crop growth model (see image below). In machine learning we have Model evaluation: error analysis (looks for strengths and weaknesses in the ML model).
Masis highlighted the benefits of Agentic AI as you can input data/information as well as guardrails. An example of using Agentic AI includes RAG