Showing posts with label ai. Show all posts
Showing posts with label ai. Show all posts

Tuesday, February 13, 2024

Code Freeze 2024 - AI for SE for AI

Code Freeze 2024 - AI for SE for AI

I took notes at the U of Minnesota Code Freeze event put on yearly by the U of MN Comp Sci department.  It's a one-day event and the topics have changed every year.  I honestly don't know how long I've been going to the event.  Based on their list, a long time, because I know I was Redesigning Agility, and I don't see the one related to offshoring in there, so that must have been during 1-4.  A quick scan of the blog shows a post for 2008, so at least that far back.  Quality, or at least applicability to me, varies and the topic isn't always aligned with how interesting the event is.  For instance, the 2015 event on Security was one of my favorites, although day to day I don't worry about security too much anymore outside of Mend scans [previously Blackduck scans], despite once having done enough FEDRAMP and SOC 2 TYPE 2 work to be able to present to a class at the U of MN Duluth on the topic.  But the Code Freeze was more about hacking cars and airport scanners.

Some of these notes will be pretty loose without explanation, but per the intro, it stayed fairly high level in my opinion.

  • 2006: Inaugural Edition
  • 2007: Second Edition
  • 2008: Third Edition
  • 2009: Maximizing Developer Value 
  • 2010: Redesigning Agility 
  • 2011: Software Testing for the 21st Century 
  • 2012: Continuous Delivery 
  • 2013:​​​​​ Software Anthropology 
  • 2014: Big Data 
  • 2015: Security 
  • 2016: Disruptive Innovation 
  • 2017: Software Visualization 
  • 2018: Microservice Architectures 
  • 2019: Machine Learning 
  • 2020: Observability 
  • 2021: Humane Engineering
  • 2022: Developer Experience
  • 2023: Tech Resilience

Because it's applicable, here's an article from later: https://medium.com/artificial-corner/i-tried-multiple-ai-coding-assistants-these-are-the-best-bb4d6a735fc1 


It was an exciting day.  Had breakfast at Al’s Breakfast at 6 a.m. before the conference. Well worth getting up that early. As a bonus, parking over there, when it's not below 0F, means I can park for free and get in a good walk before the conference starts.



As I was walking to the conference building, there were an inordinate number of police SUVs parked across from Moos tower and driving along the central road.  Turns out there was a shooting threat resulting in staff being told to stay home and all doors locked/monitored.  The conference went on, but folks were definitely a little nervous.



The one thought that binds them all - try all the new tools.  Just start using as many as you can and understand what they do and how they’re changing.  There is a non-stop flow entering the marketplace.


  • unchecked

    Do a copilot compare on the team?  Have everyone pick one [a different one] to try out and do a five-ten minute presentation on how it went [with some sort of standardized points].  Ask ChatGPT to give me a summarized list?


Chat GPT only cares about January 2022 and earlier…

  • TabNine:

    • Strengths:

      • Uses machine learning to predict code completions efficiently.

      • Supports multiple programming languages.

    • Weaknesses:

      • Requires a subscription for advanced features.

  • Kite:

    • Strengths:

      • AI-powered code completions.

      • Provides relevant documentation and examples.

    • Weaknesses:

      • Some users may find the AI suggestions intrusive.

  • Visual Studio IntelliCode:

    • Strengths:

      • Uses machine learning for personalized code suggestions.

      • Integrates well with Visual Studio.

    • Weaknesses:

      • Limited language support compared to some other tools.

  • Codota:

    • Strengths:

      • AI-driven code completions.

      • Supports various IDEs and editors.

    • Weaknesses:

      • Free version has limitations, and full features may require a subscription.

  • DeepCode:

    • Strengths:

      • Analyzes code patterns to find bugs and suggest improvements.

      • Integrates with various IDEs.

    • Weaknesses:

      • May not cover as many languages as some competitors.

  • CodeIntel:

    • Strengths:

      • Provides code intelligence for multiple languages.

      • Open-source and customizable.

    • Weaknesses:

      • Requires some configuration for optimal use.

  • Sourcegraph:

    • Strengths:

      • Offers code intelligence across repositories.

      • Integrates with popular code editors.

    • Weaknesses:

      • Can be resource-intensive for larger codebases.

  • GitHub Copilot:

    • Strengths:

      • Generates whole lines or blocks of code based on comments.

      • Built-in collaboration with VS Code.

    • Weaknesses:

      • May produce incorrect or insecure suggestions.

  • CodeRush:

    • Strengths:

      • Includes code generation and refactoring tools.

      • Visual Studio integration.

    • Weaknesses:

      • Learning curve for mastering all features.

  • Eclipse Code Recommenders:

    • Strengths:

      • Context-aware code recommendations.

      • Supports Java development.

    • Weaknesses:

      • Limited language support compared to some other tools.

Unrelated things Scott was thinking while at the conference:

  • unchecked

    Can I AI generate the Tinkerpop in the D and D Node Database demo that’s out there? Can you use it to to generate the synthetic data and the queries?

  • unchecked

    Is there a new Tech Radar out yet? Thoughtworks’ last was September 2023

  • unchecked

    Can i generate an interview outline based on my write up of skills interns should learn and using job reqs for the company or our everything to know about the team writeup?  Can we generate how to learn our team-specific tech using AI?

Keynote Presentation - Andreas Sjostrom [Capgemini] - Igniting the Future: Enterprise AI’s Quantum Leap and the Dawn of Artificial Minds

  • Approached from a C-suite landscape, and then from other facets/perspectives.

  • “If you have family in France, warn them that the next call from their son or daughter will be a fake.” [funny quote for Clement]

  • There are tools in all the spaces - if you like one in your core area, look for agents in other areas as well:

    • Data Herald - natural language to SQL

    • ML Twist - data labeling

    • He likes Kodezi better than MS Copilot

    • Language chain

  • Agentive AI - a general term for all the helpers.

  • Sent myself the images he used.



Didn’t really address cost.

Raj Subrameyer - ChaiLatte Consulting - Building Better Software Faster: The Generative AI Advantage


Markov [70s] > n-grams [90s] > neural networks [2000s] > transformers [2010s] > now


Chat GPT, Embedded models, code models, DALLE.


  1. Code Generation [Github Copilot, Amazon Codewhisperer, VS Code integration for most]

  2. Documentation [Komment, MintLify for Typescript, Sourcegraph, Tabnine]

  3. Testing: single location strategy evolved to multi location strategy.  Autonomous testing > test in production and use production to generate the tests via AI.  What are the customers actually doing?  Appli Tools, Blazemeter.

  4. Ethics/Challenges





Matt Schillerstrom - Harness - Where should I infuse AI in the SDLC?

  • From Monticello.  Went to St. John’s University.  Worked at the Monti nuclear plant.  We shared teachers and friends [or at least siblings of friends].

  • CI/CD shift left security.  Lot of waste in this space.

  • Artificial versus “Augmented”.

  • Talked IDPs - Internal Dev Portals.  More and more common.  Alteryx probably needs one [I don’t think anything we have officially counts.  I think one - the Spotify version - was demoed at a learning event]

  • Tools for the CI/CD space: Starroper, Mistral AI, Sophia.  There are K8s helpers.

  • Is AI for these tools centralized at the org level or distributed to the teams? [think how cost has been centralized, security has been centralized, etc]

  • AI is creating an explosion of code that CI/CD has to deal with.


Arun Batchu - Gartner - Survive and Thrive in the Age of Generative AI: How Software Engineers Can Ride the Wave of Foundation Models


  • Don’t forget, AI can always analyze for you.  It doesn’t have to do the thing, it can help you with the steps to understand how to get to the thing [treat it like a conversational friend]

  • Generate synthetic test data

  • “Coding assistants are force multipliers”

  • Use AI to teach you - I am a Python dev, tell me how to learn typescript…

  • Embrace coding assistants

  • There’s a Google Notebook LLM that people should try

  • “Multimodal prompt”

  • Amazon Bedrock

  • Google Extensions

  • ChatGPT app store [like 800000 entries already]

  • Chat GPT will now tap into code writing if you ask it a question that necessitates that - an example, I want the 100th fibonacci number.  Behind the scenes, it’s coding.

  • There are writing tools.  Use them.

  • Adapt foundation models and use foundation model agents.

  • Don’t forget, YOU are a manual job and AI is accelerating automation to eliminate manual jobs [so how do you fit into the ecosystem and how it’s changing].


David Espindola - Brainyus - You, Software Warrior, In the Future of Artificial Intelligence

Maybe my least favorite presentation.  He wrote two books to talk about exponential technology curve and inflection points..  He highlighted like nine trends, but did not highlight the interaction of those trends as an overall trend [I’m a little biased because my master’s thesis on dystopias covered much of what he’s covering here]


Disruptors.


Jeffrey Fougere and Andrew Nieuwsma - Hewlett Packard - Using ChatGPT for Software Engineering



  • Practical examples - they had a ethics of AI app they’d written using AI that prompted with questions [natural language] to ensure someone was taking a use case to all logical [and unanticipated] scenarios.

  • Talked through the ethics: other companies may have a problem with your AI [I have an example, as the last company I worked for had to code around AI exclusions including Bank of America.  We had full opt out and individual recommendation AI/ML opt out - at every level].

  • Lots of walking through prompts.

  • Ethics, bias, hallucinating, legal risks.

  • “Explain to me how this works…” prompt.

Sunday, July 07, 2019

Information Literacy and Centaurs

The Rise Of 'Fake News' Coincides With Society Outsourcing Its Thinking To Algorithms - Kalev Leetaru, Forbes

"We are outsourcing our thinking to algorithms designed to moderate, monetize, manipulate and mine us."

I had a one-sided conversation with a friend today (it was via email, so there's no response yet) regarding an aspect of this topic.  I was reading a chapter related to crowd sourced decision making, how to increase the accuracy of those decisions on an individual level, and what it means for human plus computer interaction and prediction.  Along the lines of what's referred to as a centaur.  It's my contention that computers as the driver of prediction with human-curated assessment and, more likely, human-based randomization and error insertion, like the the seed in a game, may require the youngest generation to come of age.  E.g. a generation that can get past feeling that computers serve humans and the internet is human centric, despite a very obvious tendency to give in to letting computers make the decisions with very little information literacy applied.  The internet is too new to most of us (still), and machine learning and AI even moreso, for a sizable segment to be able to critically assess what's being presented and how to counteract bad information, or to even think about those issues to the extent that we do anything other than accept what an algorithm tells us as fact.  To the extent that we have blatant echo chambers where contrary information is readily at hand.

Tuesday, July 11, 2017

To Read Today

A few things I've read recently...

A Search Engine for Programming Language Syntax Is a Pretty Good Idea

https://motherboard.vice.com/en_us/article/4xam5d/a-search-engine-for-programming-language-syntax-is-a-pretty-good-idea
Not as interesting as I'd hoped.  A comparison of Googling to code versus yet another code-specific search engine (SyntaxDB).  Conclusion: Google works pretty well.


Introduction to Neural Networks

https://medium.com/binary-maths/introduction-to-neural-networks-ead8ec1dc4dd
Neurons, sigmoid functions, and image cleaning.  Not as good as some things I've read and a little heavy on the math if you're not from that side of things.  Real examples, however.  I like the Tensorflow cat and purse example found elsewhere better - you can really see the layering of work in the API.


The Real Threat of Artificial Intelligence

https://www.nytimes.com/2017/06/24/opinion/sunday/artificial-intelligence-economic-inequality.html
Comes to the same conclusions as an earlier article I read.  Jobs that involve servicing each other are going to become highly important as computers eliminate other jobs.  E.g. social welfare jobs.  Touches on minimal income, the have and have-not gap, and other aspects that are common between AI impact writing at the moment.  I was intrigued by the topic of AI-driven colonialism.  That's sort of crazy and almost dystopic in idea; that countries without the income or population to create self-sustaining AI-driven economies might need to sell themselves, almost like a country-sized asset, to patrons like the US or China. You can squint and see the utopic version of that where countries without good assets gain minimal living standards and participate in a global service (each other) economy.  You can not squint and see where it might go down a morlocks slash 1984-population as an asset slash neo-english-virtual-colonialism-two-superpower dystopic path.  Interesting times.


Starting With Blockchain Chaincode Using Golang

https://dzone.com/articles/starting-with-blockchain-chaincode-using-golang
I want to try this one with the examples because it looks pretty straight forward, but I'm going to do the Pluralsight class instead.


The ultimate 3500-word guide in plain English to understand Blockchain

https://www.linkedin.com/pulse/blockchain-absolute-beginners-mohit-mamoria
Absolutely excellent article.  He does a great job of explaining blockchain for n00bs.  I'm going to use this and the Pluralsight class to create a presentation for my team.