Showing posts with label University of Minnesota. Show all posts
Showing posts with label University of Minnesota. 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 17, 2016

Weekend I - Friday Night, Under the Gaslight (with Olios)

It was a busy, busy weekend. Even if I don't include starting to pack for RAGBRAI or going to the new Ghost Busters remake.  Which we enjoyed.  I didn't like it as much as the first one, but they did a great job.  The scene where Kate McKinnon (Jillian Holtzmann) fights the ghosts with two pistol proton packs was inspired and her character was excellent.  A lot of the action took place in Times Square and I saw my orange and white company logo, even if the corporate name was nowhere to be seen.

Friday night after dinner with my wife's folks at the Red Cow (so much food - the egg + peanut butter burger was overload) we all went to Under the Gaslight at the University of Minnesota Showboat.  We've been there before and it's wonderful.  They do a melodrama coupled with a lot of little skits.  All performed by U of MN students.  The skits, or olios, are superb.  They reused one about a girl for every month with over the top costumes, but finished it up with a twist that wasn't there the last time we saw it (I won't spoiler it).  And the olio about the bugs with the fireflies and ladybugs and oh-so-put-upon flowers...brilliant.  Supposedly it's their last year after being flooded out last year and that's a real disappointment  One of my favorite performances.

The boat at the riverside in St. Paul.  

And just looking out over the river...the night shot, later, is better.


Pooteewheet right before the performance.


The stage.  The scenery was great - they seem to keep all their sets from previous years and reuse, as well as costumes.  The end olio involved costumes from many different years including sashes with the years Under the Gaslight was performed.


Pooteewheet and Eryn braving the spiders.


After the play we walked back to the car through the park.  Getting off the boat, there were dozens of Pokemon Go players lounging next to the water trying to catch water Pokemon.  Others were scattered through the park at 11:00 p.m.  Quite the craze.  Eryn and Pooteewheet are playing in this picture.


Time to confer on a pidgey or something.


During the intermission I lounged at the front of the boat and enjoyed the Mississippi River.  A much more serene view than two years ago when it was flooding and large trees were bouncing off the side of the boat and being sucked under.

Monday, October 06, 2014

Twin Cities Code Camp 17

On Saturday I went to the Twin Cities Code Camp 17 at the U of MN.  I came away empty handed - no raffle walk in Tardis for me - but I had a good time.

We changed venues this year, as in a different building, but still U of MN.  We were in Rapson Hall, the architecture building, named for Ralph Rapson who built the original Guthrie Theater.


Here it is.  It's also famous in our household for being the place where my wife and I met.  The guy between us skipped class all quarter and, unlike any other class I had, it had assigned seating.  So I gave my wife a ride home to Coon Rapids on my way to Monticello now and then and we eventually got married.  There are some sexed up rabbits and a break up over a picnic table in the middle there, but that's water next to the picnic table (and under the bridge - literally - it was right down the river).

I caught Next Generation Web Applications with React by Eric Brandes.  He said it wouldn't be his most polished presentation, but it was very good.  Acceptance Test Driven Development by Benoy John, which violated my rule I always violate about stick to tech and not softer business presentations.  I was disappointed for me, because it covered ground I already knew and I contributed more than I learned.  But the presentation was well done and I get hold of his Powerpoint I'll share it with my business with a note that security testing belongs in more than one quadrant.  Angular, TypeScript, and Project Katana by Justin Wendtlandt was the one that went over my head at times.  There's always one of those.  But there were plenty of little bits to pick out of it, including some things that clarified proof of concept work my team was engaged in at work.


I walked past Folwell Hall on my way to Rapson.  It hasn't changed.  It's where I took Finnish lessons as an undergraduate and one partial Latin reading class before I realized I was going to stay in the US with my wife rather than head off to Wales or England to study graduate Tudor/Stuart history.


I've always liked the horses with their shields on the roof.  They look sort of like backward, fat turtles holding onto their shells from afar, until you stare at them for a while and they resolve.


I skipped the 2-3:00 class period because I always skip one period.  It's sort of a pick me up.  I spent half of it looking for a geocache by this giant monument to Bender the Robot from Futurama.  But there were so many muggles checking out campus that I couldn't find more than 20 seconds to shove my hand up a drain or behind a display before someone walked by I was worried would assume I was up to nefarious purposes.  Boss said we could avoid the muggles by dressing in black and sneaking around at night.  There were two other folks caching as well.  I watched them try to poke around despite the muggles as well.  Figures at a tech conference you'd get a few.


It's somewhere here.  Do you see it?


If not, try this link that's 20 times larger. Perhaps you'll see what I missed.

I finished up with another business-y presentation on Doing Open Source the Right Way by Charles Oliver Nutter.  Again, not much that was new and the class went close enough to the final drawing and goodbyes that I didn't get to ask about how you manage to protect your open source code base when different countries have different rules about whether you can even give up your intellectual ownership of code.  E.g. in India, according to an IP Prof from St. Thomas, you can't sign over attribution.  It remains with you whether you like it or not.  I have no idea what that means for Open Source code, but I have a sneaky suspicion there's a legal loophole there that would allow someone from India to get their hands on a lot of code beyond the small bits they wrote unless the bits could be discretely isolated (whew...changesets).

I've taken up parking pretty far from campus because I prefer free parking to $10.  On a positive note I walk past the coffee shop and lots of good places to eat.  I had breakfast at Tony's, although based on the crowd at the counter-only space at Al's in Dinkytown, that's where I should have gone, wait or no wait.  Annie's is still there.  My wife and I used to go there on dates.  I like the addition of the Kitty Cat Club downstairs.  Gives the building a lot of character.


On the way back to my car, I stopped at 1-2-3 Sushi to have a bowl of Pork Tonkatsu Ramen.  Ming and I had passed the place when were at the U for Miss Information with the Girls in Tech group and Glitch (excellent movie about the portrayal of women in the media, by the way).  It wasn't as good as the bowel of Ramen I had at Moto-i and it didn't come with a hand-drawn kitty on my receipt.  They used more store-type ramen and pork had a sauce that I didn't like with the ramen.  I strongly suggest if given the choice you go to Moto-i.