Practical AI Practical AI #263

Should kids still learn to code?

In this fully connected episode, Daniel & Chris discuss NVIDIA GTC keynote comments from CEO Jensen Huang about teaching kids to code. Then they dive into the notion of “community” in the AI world, before discussing challenges in the adoption of generative AI by non-technical people. They finish by addressing the evolving balance between generative AI interfaces and search engines.


Discussion

Sign in or Join to comment or subscribe

2024-04-07T09:40:55Z ago

This pod is a nice recurring one for me.

Small thing is like to share:
I had a nice idea for a program the other day, and I asked for a list of GitHub programs already made, that did a task similar to my idea.

From this list I then got the source code for each and went to a LLM to understand the code and to get critique and to break down the ideas displayed, after going through all five different sources I then had a really good place to start making my own program.

That workflow really helped me accelerate my own program development.

I will definitely be doing this again.

Ten minutes of prompting gave me huge jump and it was honestly fun to really dig in to the code and understand other peoples ideas.

2024-04-12T14:54:51Z ago

I took your idea to heart. I have created a clickable wordcloud of all the names and have tried to follow people on LinkedIn. I need to find out where each person hangs out to lurk a bit to get that sense of community.

import re
import os
import csv
import nltk
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Ensure the names corpus is downloaded
nltk.download('names')
from nltk.corpus import names

# Load names from NLTK
male_names = set(names.words('male.txt'))
female_names = set(names.words('female.txt'))
all_known_names = male_names.union(female_names)

# Enhanced regex to capture more structured personal names and avoid generic capitalized phrases
name_regex = re.compile(r'\b([A-Z][a-z]+(?:\s+[A-Z][a-z]+)+)\b')

def extract_text(file_path):
    """Reads text from a markdown file."""
    with open(file_path, 'r', encoding='utf-8') as file:
        return file.read()

def find_and_count_names(text):
    """Finds all names in the given text using regex, validated against the NLTK names corpus, and counts them."""
    potential_names = name_regex.findall(text)
    # Filter using common non-personal words and validate using the NLTK corpus
    filtered_names = [name for name in potential_names if any(part in all_known_names for part in name.split())]
    return Counter(filtered_names)

def process_files(directory_path):
    """Processes all markdown files in the directory to extract and count names."""
    file_names = [f for f in os.listdir(directory_path) if f.endswith('.md')]
    names_count = Counter()

    for file_name in file_names:
        file_path = os.path.join(directory_path, file_name)
        text = extract_text(file_path)
        names_count += find_and_count_names(text)

    return names_count

def generate_word_cloud(names_count):
    """Generates a word cloud from the names count."""
    wordcloud = WordCloud(width=800, height=400, background_color ='white').generate_from_frequencies(names_count)
    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()

# Usage
directory_path = 'C:\\......\\Documents\\Github\\transcripts\\practicalai'
names_count = process_files(directory_path)
generate_word_cloud(names_count)
Player art
  0:00 / 0:00