Blog

  • Creating a NetAI Playground for Agentic AI Experimentation

    Creating a NetAI Playground for Agentic AI Experimentation


    Hey there, everyone, and welcome to the latest installment of “Hank shares his AI journey.” 🙂 Artificial Intelligence (AI) continues to be all the rage, and coming back from Cisco Live in San Diego, I was excited to dive into the world of agentic AI.

    With announcements like Cisco’s own agentic AI solution, AI Canvas, as well as discussions with partners and other engineers about this next phase of AI possibilities, my curiosity was piquedWhat does this all mean for us network engineers? Moreover, how can we start to experiment and learn about agentic AI?

    I began my exploration of the topic of agentic AI, reading and watching a wide range of content to gain a deeper understanding of the subject. I won’t delve into a detailed definition in this blog, but here are the basics of how I think about it:

    Agentic AI is a vision for a world where AI doesn’t just answer questions we ask, but it begins to work more independently. Driven by the goals we set, and utilizing access to tools and systems we provide, an agentic AI solution can monitor the current state of the network and take actions to ensure our network operates exactly as intended.

    Sounds pretty darn futuristic, right? Let’s dive into the technical aspects of how it works—roll up your sleeves, get into the lab, and let’s learn some new things.

    What are AI “tools?”

    The first thing I wanted to explore and better understand was the concept of “tools” within this agentic framework. As you may recall, the LLM (large language model) that powers AI systems is essentially an algorithm trained on vast amounts of data. An LLM can “understand” your questions and instructions. On its own, however, the LLM is limited to the data it was trained on. It can’t even search the web for current movie showtimes without some “tool” allowing it to perform a web search.

    From the very early days of the GenAI buzz, developers have been building and adding “tools” into AI applications. Initially, the creation of these tools was ad hoc and varied depending on the developer, LLM, programming language, and the tool’s goal.  But recently, a new framework for building AI tools has gotten a lot of excitement and is starting to become a new “standard” for tool development.

    This framework is known as the Model Context Protocol (MCP). Originally developed by Anthropic, the company behind Claude, any developer to use MCP to build tools, called “MCP Servers,” and any AI platform can act as an “MCP Client” to use these tools. It’s essential to remember that we are still in the very early days of AI and AgenticAI; however, currently, MCP appears to be the approach for tool building. So I figured I’d dig in and figure out how MCP works by building my own very basic NetAI Agent.

    I’m far from the first networking engineer to want to dive into this space, so I started by reading a couple of very helpful blog posts by my buddy Kareem Iskander, Head of Technical Advocacy in Learn with Cisco.

    These gave me a jumpstart on the key topics, and Kareem was helpful enough to provide some example code for creating an MCP server. I was ready to explore more on my own.

    Creating a local NetAI playground lab

    There is no shortage of AI tools and platforms today. There is ChatGPT, Claude, Mistral, Gemini, and so many more. Indeed, I utilize many of them regularly for various AI tasks. However, for experimenting with agentic AI and AI tools, I wanted something that was 100% local and didn’t rely on a cloud-connected service.

    A primary reason for this desire was that I wanted to ensure all of my AI interactions remained entirely on my computer and within my network. I knew I would be experimenting in an entirely new area of development. I was also going to send data about “my network” to the LLM for processing. And while I’ll be using non-production lab systems for all the testing, I still didn’t like the idea of leveraging cloud-based AI systems. I would feel freer to learn and make mistakes if I knew the risk was low. Yes, low… Nothing is completely risk-free.

    Luckily, this wasn’t the first time I considered local LLM work, and I had a couple of possible options ready to go. The first is Ollama, a powerful open-source engine for running LLMs locally, or at least on your own server.  The second is LMStudio, and while not itself open source, it has an open source foundation, and it is free to use for both personal and “at work” experimentation with AI models. When I read a recent blog by LMStudio about MCP support now being included, I decided to give it a try for my experimentation.

    Creating Mr Packets with LMStudio
    Creating Mr Packets with LMStudio

    LMStudio is a client for running LLMs, but it isn’t an LLM itself.  It provides access to a large number of LLMs available for download and running. With so many LLM options available, it can be overwhelming when you get started. The key things for this blog post and demonstration are that you need a model that has been trained for “tool use.” Not all models are. And furthermore, not all “tool-using” models actually work with tools. For this demonstration, I’m using the google/gemma-2-9b model. It’s an “open model” built using the same research and tooling behind Gemini.

    The next thing I needed for my experimentation was an initial idea for a tool to build. After some thought, I decided a good “hello world” for my new NetAI project would be a way for AI to send and process “show commands” from a network device. I chose pyATS to be my NetDevOps library of choice for this project. In addition to being a library that I’m very familiar with, it has the benefit of automatic output processing into JSON through the library of parsers included in pyATS. I could also, within just a couple of minutes, generate a basic Python function to send a show command to a network device and return the output as a starting point.

    Here’s that code:

    def send_show_command(
        command: str,
        device_name: str,
        username: str,
        password: str,
        ip_address: str,
        ssh_port: int = 22,
        network_os: Optional[str] = "ios",
    ) -> Optional[Dict[str, Any]]:
    
        # Structure a dictionary for the device configuration that can be loaded by PyATS
        device_dict = {
            "devices": {
                device_name: {
                    "os": network_os,
                    "credentials": {
                        "default": {"username": username, "password": password}
                    },
                    "connections": {
                        "ssh": {"protocol": "ssh", "ip": ip_address, "port": ssh_port}
                    },
                }
            }
        }
        testbed = load(device_dict)
        device = testbed.devices[device_name]
    
        device.connect()
        output = device.parse(command)
        device.disconnect()
    
        return output
    

    Between Kareem’s blog posts and the getting-started guide for FastMCP 2.0, I learned it was frighteningly easy to convert my function into an MCP Server/Tool. I just needed to add five lines of code.

    from fastmcp import FastMCP
    
    mcp = FastMCP("NetAI Hello World")
    
    @mcp.tool()
    def send_show_command()
        .
        .
    
    
    if __name__ == "__main__":
        mcp.run()
    

    Well.. it was ALMOST that easy. I did have to make a few adjustments to the above basics to get it to run successfully. You can see the full working copy of the code in my newly created NetAI-Learning project on GitHub.

    As for those few adjustments, the changes I made were:

    • A nice, detailed docstring for the function behind the tool. MCP clients use the details from the docstring to understand how and why to use the tool.
    • After some experimentation, I opted to use “http” transport for the MCP server rather than the default and more common “STDIO.” The reason I went this way was to prepare for the next phase of my experimentation, when my pyATS MCP server would likely run within the network lab environment itself, rather than on my laptop. STDIO requires the MCP Client and Server to run on the same host system.

    So I fired up the MCP Server, hoping that there wouldn’t be any errors. (Okay, to be honest, it took a couple of iterations in development to get it working without errors… but I’m doing this blog post “cooking show style,” where the boring work along the way is hidden. 😉

    python netai-mcp-hello-world.py 
    
    ╭─ FastMCP 2.0 ──────────────────────────────────────────────────────────────╮
    │                                                                            │
    │        _ __ ___ ______           __  __  _____________    ____    ____     │
    │       _ __ ___ / ____/___ ______/ /_/  |/  / ____/ __ \  |___ \  / __ \    │
    │      _ __ ___ / /_  / __ `/ ___/ __/ /|_/ / /   / /_/ /  ___/ / / / / /    │
    │     _ __ ___ / __/ / /_/ (__  ) /_/ /  / / /___/ ____/  /  __/_/ /_/ /     │
    │    _ __ ___ /_/    \__,_/____/\__/_/  /_/\____/_/      /_____(_)____/      │
    │                                                                            │
    │                                                                            │
    │                                                                            │
    │    🖥️  Server name:     FastMCP                                             │
    │    📦 Transport:       Streamable-HTTP                                     │
    │    🔗 Server URL:      http://127.0.0.1:8002/mcp/                          │
    │                                                                            │
    │    📚 Docs:            https://gofastmcp.com                               │
    │    🚀 Deploy:          https://fastmcp.cloud                               │
    │                                                                            │
    │    🏎️  FastMCP version: 2.10.5                                              │
    │    🤝 MCP version:     1.11.0                                              │
    │                                                                            │
    ╰────────────────────────────────────────────────────────────────────────────╯
    
    
    [07/18/25 14:03:53] INFO     Starting MCP server 'FastMCP' with transport 'http' on http://127.0.0.1:8002/mcp/server.py:1448
    INFO:     Started server process [63417]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    INFO:     Uvicorn running on http://127.0.0.1:8002 (Press CTRL+C to quit)
    

    The next step was to configure LMStudio to act as the MCP Client and connect to the server to have access to the new “send_show_command” tool. While not “standardized, “most MCP Clients use a very common JSON configuration to define the servers. LMStudio is one of these clients.

    Adding the pyATS MCP server to LMStudio
    Adding the pyATS MCP server to LMStudio

    Wait… if you’re wondering, ‘Where’s the network, Hank? What device are you sending the ‘show commands’ to?’ No worries, my inquisitive friend: I created a very simple Cisco Modeling Labs (CML) topology with a couple of IOL devices configured for direct SSH access using the PATty feature.

    NetAI Hello World CML Network
    NetAI Hello World CML Network

    Let’s see it in action!

    Okay, I’m sure you are ready to see it in action.  I know I sure was as I was building it.  So let’s do it!

    To start, I instructed the LLM on how to connect to my network devices in the initial message.

    Telling the LLM about my devices
    Telling the LLM about my devices

    I did this because the pyATS tool needs the address and credential information for the devices.  In the future I’d like to look at the MCP servers for different source of truth options like NetBox and Vault so it can “look them up” as needed.  But for now, we’ll start simple.

    First question: Let’s ask about software version info.

    Short video of the asking the LLM what version of software is running.

    You can see the details of the tool call by diving into the input/output screen.

    Tool inputs and outputs

    This is pretty cool, but what exactly is happening here? Let’s walk through the steps involved.

    1. The LLM client starts and queries the configured MCP servers to discover the tools available.
    2. I send a “prompt” to the LLM to consider.
    3. The LLM processes my prompts. It “considers” the different tools available and if they might be relevant as part of building a response to the prompt.
    4. The LLM determines that the “send_show_command” tool is relevant to the prompt and builds a proper payload to call the tool.
    5. The LLM invokes the tool with the proper arguments from the prompt.
    6. The MCP server processes the called request from the LLM and returns the result.
    7. The LLM takes the returned results, along with the original prompt/question as the new input to use to generate the response.
    8. The LLM generates and returns a response to the query.

    This isn’t all that different from what you might do if you were asked the same question.

    1. You would consider the question, “What software version is router01 running?”
    2. You’d think about the different ways you could get the information needed to answer the question. Your “tools,” so to speak.
    3. You’d decide on a tool and use it to gather the information you needed. Probably SSH to the router and run “show version.”
    4. You’d review the returned output from the command.
    5. You’d then reply to whoever asked you the question with the proper answer.

    Hopefully, this helps demystify a little about how these “AI Agents” work under the hood.

    How about one more example? Perhaps something a bit more complex than simply “show version.” Let’s see if the NetAI agent can help identify which switch port the host is connected to by describing the basic process involved.

    Here’s the question—sorry, prompt, that I submit to the LLM:

    Prompt asking a multi-step question of the LLM.
    Prompt asking a multi-step question of the LLM.

    What we should notice about this prompt is that it will require the LLM to send and process show commands from two different network devices. Just like with the first example, I do NOT tell the LLM which command to run. I only ask for the information I need. There isn’t a “tool” that knows the IOS commands. That knowledge is part of the LLM’s training data.

    Let’s see how it does with this prompt:

    The multi-step LLM response.
    The LLM successfully executes the multi-step plan.

    And look at that, it was able to handle the multi-step procedure to answer my question.  The LLM even explained what commands it was going to run, and how it was going to use the output.  And if you scroll back up to the CML network diagram, you’ll see that it correctly identifies interface Ethernet0/2 as the switch port to which the host was connected.

    So what’s next, Hank?

    Hopefully, you found this exploration of agentic AI tool creation and experimentation as interesting as I have. And maybe you’re starting to see the possibilities for your own daily use. If you’d like to try some of this out on your own, you can find everything you need on my netai-learning GitHub project.

    1. The mcp-pyats code for the MCP Server. You’ll find both the simple “hello world” example and a more developed work-in-progress tool that I’m adding additional features to. Feel free to use either.
    2. The CML topology I used for this blog post. Though any network that is SSH reachable will work.
    3. The mcp-server-config.json file that you can reference for configuring LMStudio
    4. A “System Prompt Library” where I’ve included the System Prompts for both a basic “Mr. Packets” network assistant and the agentic AI tool. These aren’t required for experimenting with NetAI use cases, but System Prompts can be useful to ensure the results you’re after with LLM.

    A couple of “gotchas” I wanted to share that I encountered during this learning process, which I hope might save you some time:

    First, not all LLMs that claim to be “trained for tool use” will work with MCP servers and tools. Or at least the ones I’ve been building and testing. Specifically, I struggled with Llama 3.1 and Phi 4. Both seemed to indicate they were “tool users,” but they failed to call my tools. At first, I thought this was due to my code, but once I switched to Gemma 2, they worked immediately. (I also tested with Qwen3 and had good results.)

    Second, once you add the MCP Server to LMStudio’s “mcp.json” configuration file, LMStudio initiates a connection and maintains an active session. This means that if you stop and restart the MCP server code, the session is broken, giving you an error in LMStudio on your next prompt submission. To fix this issue, you’ll need to either close and restart LMStudio or edit the “mcp.json” file to delete the server, save it, and then re-add it. (There is a bug filed with LMStudio on this problem. Hopefully, they’ll fix it in an upcoming release, but for now, it does make development a bit annoying.)

    As for me, I’ll continue exploring the concept of NetAI and how AI agents and tools can make our lives as network engineers more productive. I’ll be back here with my next blog once I have something new and interesting to share.

    In the meantime, how are you experimenting with agentic AI? Are you excited about the potential? Any suggestions for an LLM that works well with network engineering knowledge? Let me know in the comments below. Talk to you all soon!

    Sign up for Cisco U. | Join the  Cisco Learning Network today for free.

    Learn with Cisco

    X | Threads | Facebook | LinkedIn | Instagram | YouTube

    Use  #CiscoU and #CiscoCert to join the conversation.

    Share:



  • Transport leader George San Mateo passes away

    Transport leader George San Mateo passes away



    MANILA, Philippines — Long-time transport leader George San Mateo passed away, the Pagkakaisa ng mga Samahan ng Tsuper at Opereytor Nationwide (Piston) announced on Saturday. He was 60.

    Piston said San Mateo, who served as its former national president, died due to a heart attack around 9 p.m. on Friday.

    “Ka George was known across the country as a fearless leader and activist fighting for the rights and welfare of jeepney drivers, operators, and working people,” Piston said in a statement.

    Article continues after this advertisement

    According to the transport group, San Mateo was born and raised in Metro Manila.

    “As a teenager during the Marcos Sr. dictatorship, Ka George witnessed injustice early on,” Piston said, noting that this led him to join Kabataan para sa Demokrasya at Nasyonalismo (Kadena), which is “a youth group that stood up for democracy and national sovereignty during the dying years of the Marcos Sr. regime.”

    READ: Piston: Staggered oil price hike won’t protect people from rising costs

    In 1985, San Mateo served as the chair of the Kadena-Parañaque chapter, and in 1987, he became the group’s national spokesperson.

    San Mateo worked as a driver for over a decade before joining the Piston in 2004 as a public information officer.

    Article continues after this advertisement

    He was later elected as Piston-Metro Manila secretary general and then appointed as national spokesperson in 2005. He became the group’s national secretary general in 2007.

    In 2012, San Mateo was elected as Piston’s national president.

    Article continues after this advertisement

    “As president, Ka George led high-profile strikes and protests against fuel price hikes during the Aquino administration,” Piston recalled.

    “Under his stewardship, Piston became known for militant yet publicly resonant campaigns that challenge both corporate and foreign interests and government inaction on public transport issues,” it added.

    In 2017, San Mateo also led the transport group’s fight against the Duterte administration’s Public Utility Vehicle Modernization Program, “pushing instead for a just, people-centered public transport policy rather than a profit-driven phaseout of traditional jeepneys.”

    He was arrested for leading a two-day nationwide transport strike in December 2017 and was only released on bail and eventually cleared of charges in 2020.

    “These legal actions underscored the Philippine state’s contentious relationship with transport workers and activists resisting anti-people policies,” said Piston.



    Your subscription could not be saved. Please try again.



    Your subscription has been successful.

    “After serving as Piston’s national president, Ka George was succeeded by Mody Floranda in 2019 and has since held the title of president emeritus,” it added. /cb



  • Thoughtful Gift Ideas For Supporting Post-Surgery Healing

    Thoughtful Gift Ideas For Supporting Post-Surgery Healing


    Recovery from surgery is a time when comfort, rest, and emotional support matter most. While flowers and greeting cards are traditional options, there are more thoughtful gifts that can genuinely assist with healing and improve the patient’s daily experience. Choosing items that promote physical relief, reduce stress, or help pass the time can make a meaningful difference.

    Comfort-First Essentials

    After surgery, the body needs time to heal, and rest is essential. Gifts that improve comfort, such as a soft neck pillow, an adjustable lap desk, or a warm blanket, help the patient stay relaxed while resting in bed or on the couch. Slip-resistant socks, supportive pillows, and lightweight robes are also practical items that can ease day-to-day movement and recovery.

    For surgeries involving limited mobility, consider items that help with independence. Reaching tools, water bottles with straws, or pre-packaged healthy snacks make it easier for the patient to manage without constant assistance.

    Entertainment And Distraction

    Long recovery periods can lead to boredom and frustration. Books, audiobooks, or subscription services for streaming movies and shows provide distraction and entertainment. Adult coloring books or puzzle books are good low-effort activities that can help pass the time while still keeping the mind engaged.

    Journals are another thoughtful gift, allowing patients to track their recovery progress, express emotions, or simply document daily experiences. Writing can support both mental health and a sense of control during a period that often feels uncertain.

    Soothing Food Gifts

    If dietary restrictions allow, small food gifts can lift spirits and encourage better nutrition. Comforting herbal teas, fruit baskets, or homemade soups are helpful options that show care. Seasonal items like fall caramel apples offer a gentle treat and bring a sense of normalcy, especially during autumn recoveries.

    Personalized Support

    Sometimes, the most helpful gifts are those that meet specific needs. Offering to help with errands, child care, or pet care can be more valuable than any item. A written schedule for medications or physical therapy appointments can also support recovery in a practical way.

    Thoughtful gifts during post-surgery healing is less about cost and more about consideration. Items that support rest, ease discomfort, or offer a moment of joy can have a lasting impact on recovery. For more information, look over the infographic below.



  • How An “Affordable” Payment Isn’t

    How An “Affordable” Payment Isn’t


    Ever wonder why everything is sold as a monthly payment? It’s not an accident.

    Marketers have realized that if you take a big price and break it down into a series of smaller, more palatable payments, we are more likely to buy something. It’s called the Monthly Money Trap.

    Depending on where you live, a house can be anywhere from a few hundred thousands dollars to several million. The median sales price of a home sold in the United States is $416,900.

    That’s why a real estate agent will say that after a 10% down payment and a 30 year loan of 6.5%, the monthly payment is less than $3,000. (assumes $3,000 in property taxes and an annual $1,500 home insurance premium)

    A $416,900 home with a 30 year mortgage? That’s scary.

    But a $3,000 monthly payment? That’s doable. And that’s the trick.

    But it’s also where the trap comes in.

    Reframing total cost makes expensive things feel affordable.

    It’s called the monthly money trap.

    The Psychology Behind Monthly Payments

    The monthly money trap is how we break down total cost into a monthly payment and then convince ourselves we can afford it. Or someone else convinces us we can afford it.

    This is how the trap works. The human brain is bad at long term planning. We can imagine how life will be in a week. It’s pretty good at imagining what it’ll be like in a year. But extrapolate it out beyond that and it’s hard.

    What will life be like in five years? Ten? If you had asked 20-year-old Jim what life would be like at 30, he would’ve gotten it wrong. At 40? Forget it.

    Salespeople understand this. So you take a very big purchase, break it down into easy to digest monthly payments, and you can better understand how it fits in your budget.

    In reality, we should look at the total cost of ownership and assess what that does to our finances.

    On its own, this is not bad. This breakdown can help with planning, but only if you zoom out.

    But you don’t stop with the monthly cost and make a decision based on that.

    If you do, you can be convinced to spend more in total because the monthly payment is OK. You can play with the purchase, adjusting different factors, but the monthly cost only goes up a little bit.

    How Car Dealerships Use This Trap

    Car dealerships are famous for this. Ignore the sticker price, ignore the total cost of ownership, ignore the fuel efficiency, and just look at the monthly payment.

    In fact, they will play games with all the different loan terms to get to a monthly payment you will accept. They adjust the length of the loan, the interest rate, the amount of your trade-in or down-payment, and even throw in incentives… all to get you to say yes.

    If you can afford to pay $750 a month on a car, here’s how the loan term affects the price you can pay with a 5% APR loan:

    As you can see, you can afford more vehicle the longer the loan, but you pay more in interest as well.

    Also, remember that’s just the sticker price. This doesn’t consider other costs like insurance, fuel, routine maintenance, etc. For that, Kelley Blue Book and other resources are good for figuring that out for your target vehicle.

    How Do You Avoid This?

    You must recognize the tactic when someone uses it on you. Just like how you need to recognize someone trying to use scare tactics and scarcity (time is running out! It’s the last one! etc.), the monthly trap is a tactic too.

    Always look at the total cost first. With the car example above, we can see that all three loan terms were supported by a $750 monthly payment.

    The question you need to ask yourself is whether you want to pay all that interest to get into a higher priced car. If your plan is to switch cars every five years, getting a five year loan may not be the best idea for you. By the time you’ve paid off the loan, the value of the car will have fallen very far from $39,750.

    KBB says new cars depreciate 30% over the first two years and then 8-12% each year after that. Assuming it only depreciates 8% a year after the first two years, your $39,750 car is worth only $21,667 – a loss of value of $18,083.

    If you plan on driving the car into the ground, which could take 15 years, then depreciation isn’t an issue. The $48,385 spread across 15 years which makes it a mere $3,225 a year or $268 a month. Even when you add in the other variable costs (insurance, fuel, etc.), it still makes sense.

    So the next time someone tries to sell you on a purchase with the monthly cost, you’re prepared.

    Your monthly payment is just one piece of the puzzle. Before you commit, ask yourself what the purchase really costs and whether it’s something you want in your future plans.

  • Understanding Their Role In Your Diet

    Understanding Their Role In Your Diet


    In today’s health-conscious world, people pay closer attention to the ingredients on nutrition labels. Fat has historically been labeled as unhealthy, with numerous diets advocating for its reduction. However, not all fats are created equal, and understanding which fats are beneficial versus harmful has become increasingly important. Many individuals are surprised to learn that healthy fats are vital to maintaining overall health and well-being.

    Contrary to common misconceptions, fats serve critical roles in our bodily functions. They provide energy, assist in vitamin absorption, support brain function, and help protect vital organs. This means excluding fats altogether is not necessary. It can also be detrimental. The key lies in distinguishing healthy fats from those that pose risks to your health.

    Interestingly, studies reveal that incorporating healthy fats, such as those in avocados, olive oil, and fish, can actually help you maintain a healthier body weight and improve heart health. This article aims to clear the confusion surrounding dietary fats by exploring the differences among fat types and their impacts on your body.

    Understanding Dietary Fats

    Dietary fats refer to the fat content obtained from foods. They represent one of the three macronutrients necessary for human survival, alongside carbohydrates and proteins. Dietary fats are essential for various biological processes. These processes include energy storage, vitamin absorption, hormone production, and cell membrane maintenance. When you consume fat-containing foods, your body breaks down these fats into fatty acids that can then enter your bloodstream to serve multiple vital functions.

    Besides being a dense energy source, fats play crucial roles in supporting brain development, reducing inflammation, and protecting your organs by cushioning them. Furthermore, dietary fats facilitate the absorption of fat-soluble vitamins A, D, E, and K. Without sufficient fat intake, the body struggles to absorb these essential nutrients efficiently. It can potentially lead to deficiencies and related health issues. Therefore, understanding the difference between good and bad dietary fats is crucial for optimizing health outcomes.

    Various Types of Fats

    Dietary fats can broadly be categorized into unhealthy fats (trans fats and excessive saturated fats) and healthy fats (monounsaturated and polyunsaturated fats). Each type affects the body differently. Hence, knowing their differences helps you make informed dietary choices.

    Trans Fats: The Worst of All

    Trans fats are artificially produced through hydrogenation, a process that solidifies liquid oils. Historically common in processed foods, trans fats have no nutritional benefits and pose significant health risks. They increase harmful LDL cholesterol levels, reduce beneficial HDL cholesterol, and contribute to chronic inflammation. These factors heighten the risk of developing heart disease, type 2 diabetes, and stroke. Due to their severe health implications, trans fats have been banned in many countries, including the United States. It is advisable to read labels carefully and avoid products listing “partially hydrogenated oils.”

    Saturated Fats: Moderation is Key

    Saturated fats are typically solid at room temperature and are found abundantly in animal products like red meat, butter, cheese, and whole-milk dairy items. Plant sources such as coconut and palm oils also contain significant amounts of saturated fats. Consuming excessive saturated fats can elevate LDL cholesterol. Hence, they can increase the risk of heart disease and stroke.

    However, recent studies suggest that the health impact of saturated fats depends heavily on the food sources they come from. Eating saturated fats occasionally in moderation may not significantly impact heart health. However, consistently high consumption poses clear risks. Health organizations, including the American Heart Association, recommend limiting saturated fats to less than 10% of total daily calories.

    Monounsaturated Fats: Heart-Healthy Allies

    Monounsaturated fats are among the healthiest dietary fats. Found primarily in olive oil, avocados, almonds, peanuts, and sesame oil, they possess one carbon-to-carbon double bond. That makes them liquid at room temperature. Monounsaturated fats help lower LDL cholesterol and maintain healthy HDL cholesterol levels. Hence, they promote heart health.

    The widely celebrated Mediterranean diet emphasizes monounsaturated fats, notably through olive oil consumption. Research consistently supports this diet’s association with reduced cardiovascular disease and improved overall health. Including monounsaturated fats in your diet as replacements for saturated fats can provide significant health benefits.

    Polyunsaturated Fats: Essential Nutrients

    Polyunsaturated fats are critical fats that your body can’t produce on its own; thus, they must be consumed through diet. Rich sources include vegetable oils like sunflower, safflower, soybean, and corn oils, as well as fatty fish (salmon, mackerel, sardines), walnuts, and flaxseeds. Polyunsaturated fats include omega-3 and omega-6 fatty acids, both of which are vital for optimal bodily functions.

    Omega-3 fatty acids significantly benefit heart health by reducing inflammation. They also help lower triglyceride levels and enhance overall cardiovascular function. Omega-6 fatty acids also support bodily functions but should be balanced with omega-3s, as excessive omega-6 intake can contribute to inflammation. Replacing saturated fats with polyunsaturated fats improves cholesterol profiles and lowers heart disease risk.

    Understanding dietary fats empowers you to make healthier choices. Avoid trans fats completely, moderate your saturated fat intake, and embrace monounsaturated and polyunsaturated fats. By incorporating healthy fats wisely into your diet, you can enhance your overall health, support your cardiovascular system, and feel your best.

    How Much Saturated Fat Per Day Can You Eat?

    For years, saturated fats were considered unhealthy, blamed for raising cholesterol levels and causing heart disease. However, recent scientific studies have challenged this idea. It reveals that the relationship between saturated fat and cardiovascular issues might be more nuanced than previously thought. While it is true that saturated fats can increase LDL cholesterol (the bad type), the latest research suggests that the context. It shows that foods replacing the saturated fats in your diet are critical. For example, substituting saturated fats with healthy fats (like monounsaturated and polyunsaturated fats) significantly lowers heart disease risks.

    So, does this mean you can consume unlimited saturated fats without concern? Not exactly. Health experts, including the American Heart Association (AHA), still recommend moderation when it comes to saturated fats. According to the AHA, adults should aim to limit their saturated fat intake to about 5% to 6% of their total daily calories. For an average person consuming around 2,000 calories per day, this equates to roughly 13 grams of saturated fat.

    It is essential to understand that moderation remains key. Rather than entirely eliminating saturated fat, focus on balance and replacement. Swapping out saturated fat-heavy foods for nutrient-dense options like nuts, avocados, olive oil, and fish is beneficial. In contrast, replacing saturated fats with refined carbohydrates (such as sugary snacks and processed foods) could lead to adverse health outcomes like obesity and insulin resistance. Keeping saturated fat within recommended limits while prioritizing healthy replacements supports overall heart health.

    Good Fats to Eat: Identifying the Foods

    Understanding and selecting foods high in healthy fats can significantly benefit your overall well-being. These fats are vital for your brain function, heart health, hormone production, and absorption of essential nutrients. Let us explore the top ten foods rich in good fats that you can confidently include in your meals:

    1. Fatty Fish

    Fatty fish, such as salmon, mackerel, sardines, and tuna, contain generous amounts of omega-3 fatty acids, which are crucial for heart and brain health. These fats help reduce inflammation and lower the risk of cardiovascular diseases. Aim for two servings of fatty fish weekly to ensure optimal omega-3 intake.

    2. Avocado

    Avocados are exceptional sources of monounsaturated fats, particularly oleic acid. This type of fat reduces inflammation, supports heart health, and aids in nutrient absorption. Rich in fiber and potassium, avocados enhance satiety, making them a nutritious addition to your diet.

    3. Nuts

    Almonds, walnuts, pistachios, and Brazil nuts offer significant quantities of healthy fats, protein, vitamins, and minerals. Regular nut consumption can lower LDL cholesterol, boost heart health, and reduce inflammation. Enjoy them raw or roasted, but choose unsalted varieties for optimal health.

    4. Seeds

    Chia, flaxseeds, and sunflower seeds provide polyunsaturated fats and omega-3s. They also deliver substantial fiber, promoting digestive health and satiety. Sprinkle seeds on cereals, salads, or smoothies for easy inclusion in your diet.

    5. Olive Oil

    Olive oil is a staple of the Mediterranean diet. It is rich in monounsaturated fats and antioxidants. Regular consumption can reduce the risk of heart disease and inflammation. Use extra-virgin olive oil for dressings, sautéing vegetables, or dipping bread.

    6. Nut Butters

    Peanut butter, almond butter, and cashew butter offer the same healthful fats as whole nuts. While calorie-dense, they provide essential nutrients and protein. Check labels to avoid added sugars or hydrogenated fats, and enjoy nut butters in moderation.

    7. Dark Chocolate

    Dark chocolate (70% cocoa or higher) provides healthy fats, fiber, and potent antioxidants like flavonoids. These antioxidants enhance brain function and cardiovascular health. Consume small portions to avoid excessive calorie and sugar intake.

    8. Eggs

    Eggs contain healthy fats, protein, and essential vitamins like vitamin D and choline. Despite earlier concerns about cholesterol, moderate egg consumption supports heart and cognitive health without adverse effects. Incorporate eggs regularly as part of a balanced diet.

    9. Olives

    Olives themselves contain beneficial monounsaturated fats similar to olive oil. Rich in antioxidants and vitamin E, olives promote cardiovascular health and inflammation reduction. Snack on them or add them to salads and pasta dishes.

    10. Full-fat Yogurt

    Natural full-fat yogurt provides probiotics for gut health and essential nutrients like calcium and protein. Recent studies show that moderate consumption of full-fat dairy can be part of a healthy diet. Choose plain varieties to avoid excess sugar.

    Including these healthy fats in your diet regularly helps you maintain heart health, brain function, hormonal balance, and sustained energy.

    Easy Tips to Reduce Unhealthy Fats from Your Diet

    Unhealthy fats such as trans fats and excessive saturated fats can negatively impact your health. Here is how you can easily reduce their presence in your diet:

    • Choose Healthier Oils: Cook with plant-based oils like olive, canola, avocado, or sunflower oils instead of butter, lard, or shortening.
    • Opt for Lean Proteins: Choose lean meats like poultry and fish instead of processed or fatty cuts. Also, try to eat plant-based proteins like beans, lentils, and tofu regularly.
    • Select Low-fat Dairy Products: Replace whole-fat dairy items with low-fat or plant-based alternatives such as almond milk, soy milk, or low-fat cheeses.
    • Snack Smart: Swap unhealthy snacks (cookies, chips) with fresh fruits, vegetables, or nuts.
    • Read Nutrition Labels: Be mindful of saturated and trans fats hidden in processed foods. Avoid products containing partially hydrogenated oils or high levels of saturated fat.
    • Limit Fast Food and Takeout: Fast foods and packaged meals are often rich in unhealthy fats. Cooking at home gives you control over your fat intake and ingredients.
    • Be Cautious with Portion Sizes: Even healthy fats are calorie-dense. Manage portions by measuring oils, nut butters, and high-fat foods to avoid excess calories.

    HealthifyMe Note

    Navigating dietary fats can feel daunting, but clarity can transform your health journey. As a HealthifyMe expert, my advice is straightforward: Embrace balance. Recognize that your body requires fats for essential functions, such as nutrient absorption, hormone production, and brain health. Instead of fearing fats, learn to distinguish between types and consciously choose beneficial sources. Including foods like avocados, nuts, olive oil, and fatty fish ensures optimal nourishment. Simultaneously, minimizing heavily processed foods and unhealthy fats promotes long-term wellness. Remember, moderation, mindfulness, and strategic food choices create lasting positive health outcomes.

    The Final Word

    Understanding healthy fats does not have to be complex or overwhelming. Making mindful dietary choices around fats can significantly enhance your overall health, improving cardiovascular health, brain function, and nutrient absorption. Emphasizing foods rich in unsaturated fats like avocados, nuts, seeds, and fish is a simple yet powerful dietary shift.

    For personalized support, consider HealthifyMe’s AI-driven nutrition plans. These plans offer tailored guidance to help manage your daily fat intake, balance meals effectively, and achieve optimal health. Adopting healthy eating habits today can lay the foundation for long-term well-being and vitality.

    Frequently Asked Questions (FAQs)

    Q: How much saturated fat can I consume daily?

    A: Experts recommend limiting saturated fat to around 5-6% of your daily calorie intake. For a 2,000-calorie diet, this is approximately 13 grams of saturated fat per day. Moderation is key, so balance your intake with healthier unsaturated fats.

    Q: Which foods are highest in saturated fats?

    A: Foods high in saturated fats include fatty meats (like beef, pork), full-fat dairy products (cheese, butter, cream), coconut oil, and processed snacks or baked goods. Being mindful of portions and frequency can help maintain a healthy diet.

    Q: Are all dietary fats harmful to health?

    A: No, dietary fats vary significantly. Unsaturated fats, such as monounsaturated and polyunsaturated fats, are beneficial, promoting heart health and brain function. Trans fats and excessive saturated fats are the types to limit or avoid.

    Q: Why are trans fats unhealthy?

    A: Trans fats negatively affect cholesterol levels by increasing LDL (“bad”) cholesterol and decreasing HDL (“good”) cholesterol. They contribute to inflammation and heighten the risk of heart disease, stroke, and type 2 diabetes.

    Q: What role do fats play in the body?

    A: Fats provide energy, aid nutrient absorption (especially vitamins A, D, E, and K), support hormone production, and protect internal organs. Healthy fats are essential for brain function, nerve health, and maintaining cell structure.

    Q: Is percent fat more important than total fat?

    A: Percent fat gives a clearer idea of food composition, highlighting how much of the total calories come from fat. Total fat grams indicate quantity consumed. Both metrics matter; understanding both helps balance your overall fat intake wisely.

    Research Sources

    1. The truth about fats: the good, the bad, and the in-between – Harvard Health

    2. A healthy approach to dietary fats: understanding the science and taking action to reduce consumer confusion

    3. Types of Fat:_The Nutrition Source

    4. Saturated Fatty Acids and Risk of Coronary Heart Disease: Modulation by Replacement Nutrients

    5. Types of Dietary Fat and Risk of Coronary Heart Disease: A Critical Review

    6. Meta-analysis of prospective cohort studies evaluating the association of saturated fat with cardiovascular disease

  • Raiders shockingly release Christian Wilkins, and now the NFLPA is getting involved

    Raiders shockingly release Christian Wilkins, and now the NFLPA is getting involved


    The Las Vegas Raiders are parting ways with veteran defensive tackle Christian Wilkins.

    And a fight with the NFLPA is now on the horizon.

    Wilkins signed a massive five-year, $110 million contract with the Raiders in March of 2024. In that deal $82.75 million was guaranteed, with $57.5 million guaranteed at the time he put pen to paper on the contract.

    Wilkins suffered a Jones fracture in his foot last October, an injury that required surgery and ended his season. According to multiple sources, with Adam Schefter among the first to report the move, the Raiders released Wilkins with the designation of “terminated vested veteran,” and “[d]ue to how Wilkins treated the rehab from his foot injury,” the team “voided the remaining $35.2 million of guaranteed money left on” his contract last month.

    Wilkins filed a grievance today. Under the league’s Collective Bargaining Agreement, the NFLPA had 50 days to file a grievance, starting with the day he was released, which was June 4.

    The Raiders addressed the move in a statement. “We have decided that it is in the best interests of the organization to move on from Christian Wilkins and he has been informed of his release from the team,” said the organization. “This franchise has a Commitment to Excellence on and off the field. With no clear path or plan for future return to play from Christian, this transaction is necessary for the entire organization to move forward and prepare for the new season.”

    According to Ian Rapoport of the NFL Network, a dispute arose between Wilkins and the team over “whether or not he should undergo surgery on his injured foot.”

    Wilkins has 372 career tackles, 56 QB hits, 22.5 sacks, and four forced fumbles over his career, which began as a first-round pick by the Miami Dolphins back in 2019.

    This comes as the NFLPA is going through a sudden transition period. Executive Director Lloyd Howell Jr. resigned in recent weeks, following a series of stories that plagued his tenure with the NFLPA. Then former player JC Tretter, considered a potential replacement for Howell, resigned from his position as NFLPA President.

  • Legal Industry Risk Index: 2025

    Legal Industry Risk Index: 2025


    For the legal profession, 2024 marked a dramatic shift for lawyers, as legal professionals embraced transformation at an unprecedented pace across technology adoption, risk management, and business strategy.

    Our newly released 2025 Legal Industry Risk Index, based on a comprehensive survey of 245 full-time legal professionals across the United States, reveals an industry that has found its footing in our new AI and technology-driven landscape and is confidently charting a bold new course forward.

    The AI Revolution Finally Arrived

    Perhaps the most striking finding is the legal industry’s complete about-face on artificial intelligence. After years of cautious skepticism, AI adoption exploded from a mere 22% in 2024 to an impressive 80% in 2025. Legal professionals didn’t just dip their toes in the water—they dove headfirst into strategic AI applications.

    This isn’t just about basic content generation anymore. Today’s legal professionals are using AI to enhance professional services, automate client support interactions, and more. The profession has officially gotten its “AI sea legs,” with confidence levels rising dramatically as practical experience seemed to take slight precedence over theoretical concerns.

    Risk Priorities Get a Complete Makeover

    The shifting risk landscape tells an equally compelling story. For the first time, financial pressures—which dominated legal professionals’ concerns for the last two years—have been dethroned. Reputational challenges and employment-related claims now tie for the top internal risk, reflecting the complex realities of managing modern law firms in an increasingly polarized social and political environment.

    External threats have evolved too. While inflation concerns that once kept 52% of legal professionals awake at night have reduced to 28%, new challenges around disruptive technology adaptation and professional liability threats have taken center stage.

    The Great Insurance Awakening

    Perhaps most telling is how legal professionals are responding to these shifts. Rather than retreating into defensive positions, they’re proactively strengthening their safety nets while simultaneously becoming more willing to take calculated risks.

    The insurance landscape transformation is remarkable: 45% of legal professionals are upgrading their coverage—a staggering jump from just 14% who had such plans the previous year. This isn’t panic buying; it’s strategic preparation. An impressive 77% now express confidence that their current insurance policies cover their greatest business risks.

    Confidence Meets Calculated Risk-Taking

    This newfound insurance confidence appears to be enabling bolder business strategies. Legal professionals are increasingly viewing risk through an opportunistic lens, with 37% now seeing risk as a pathway to growth—more than double the 18% who held this view just one year prior.

    The data reveals a profession that has moved beyond uncertainty paralysis. Where 41% of respondents were “unsure” about their risk response approach after facing challenges in 2023, that figure plummeted to just 4% in 2024. Legal professionals know what they’re doing and why they’re doing it.

    What This Transformation Means

    The legal industry appears to have reached a critical inflection point where technological adoption, strategic risk management, and protective planning are working in concert rather than competing for attention.

    The legal professionals who are thriving aren’t avoiding change—they’re anticipating it, preparing for it, and positioning themselves to capitalize on the opportunities it creates.

    The Complete Picture

    While these headline findings paint a picture of an industry in confident transition, they represent just the surface of our comprehensive analysis. The full 2025 Legal Industry Risk Index dives deeper into the specific applications driving AI adoption success, the nuanced factors behind the reputational risk surge, and more.

    Ready to see how your firm compares to these industry-wide trends? Get the complete Legal Industry’s 2025 Risk Index to access all findings, detailed analysis, and strategic insights that can help position your practice for success in this rapidly evolving landscape.

  • ,000 Charity Donation Deduction in the 2025 Trump Tax Law

    $1,000 Charity Donation Deduction in the 2025 Trump Tax Law


    Many charities advertise that donations are tax-deductible, but most people don’t deduct donations on their taxes. That’s because over 80% of taxpayers use the standard deduction, and they don’t get to deduct donations to charities when they don’t itemize. People donate because they support the cause, whether they get a tax deduction or not.

    I’m in the 80%. I don’t track my donations because I know I won’t deduct them.

    This will change in 2026.

    New Deduction When You Don’t Itemize

    Some of you may recall that Congress allowed people who don’t itemize deductions to still deduct a small amount of their charitable donations during COVID. It was originally a one-off $300 deduction in 2020 (see CARES Act 2020 Charity Donation Deduction: $300 or $600 for Married?). Congress re-created it with some tweaks as another one-off for 2021 (see 2021 $300 Charity Deduction When You Don’t Itemize).

    The new 2025 Trump tax law resurrected the 2021 version and raised the allowed amount from $300 to $1,000 ($2,000 for married filing jointly). It’ll be ongoing this time, starting in 2026 (not 2025), with no preset end date.

    All the other terms from 2021 are carried over to this new iteration. This deduction is only for people who take the standard deduction. The donations must be in cash, not necessarily physical cash, but not in household items, cars, stocks, bonds, mutual funds, ETFs, or crypto. Checks, card payments, and bank debits are all OK. The donations must be made directly to charities, not to a donor-advised fund.

    There’s no income limit or phaseout. All other requirements about charity donations still apply, including getting a written acknowledgment with all the required elements.

    Some places reported that this deduction is “above the line.” It’s not true. This new deduction doesn’t lower your AGI. It doesn’t make it easier for you to qualify for other tax breaks. It doesn’t affect state taxes.

    Lower Deduction When You Itemize

    If you itemize deductions, this new $1,000/$2,000 deduction isn’t available to you. You’ll continue to include your charity donations as itemized deductions on Schedule A. However, the new 2025 Trump tax law adds a floor for your charitable contributions deduction at 0.5% of your AGI, also starting in 2026 (not 2025), with no preset end date.

    This floor is similar to how the medical expenses deduction has a floor at 7.5% of AGI. It reduces the amount you can deduct by 0.5% of your AGI. For example, suppose your AGI is $100,000. 0.5% of $100,000 is $500. After this change goes into effect in 2026, when your total donations to charities add up to $4,000, you can deduct only $3,500 as an itemized deduction.

    Accelerating your planned donations in future years to 2025 will avoid having your deduction reduced by 0.5% of AGI each year.

    QCD

    The new 2025 Trump tax law didn’t make any changes to Qualified Charitable Distributions (QCDs).

    If you’re over 70-1/2, QCDs out of a Traditional IRA continue to be the best way to donate to charities. QCDs count toward the RMD, but they don’t raise your AGI. You don’t have to itemize to make QCDs. Nor are you required to reduce the amount by 0.5% of AGI. The annual limit for QCDs is 100 times higher than this new $1,000/$2,000 deduction for people who don’t itemize. It’s too bad that only those 70-1/2 and older can do QCDs.

    The only thing is that QCDs can’t go to a donor-advised fund. If you ask the IRA custodian to make payments to the charities, they’ll show a total as QCDs on the year-end 1099 form. Do them early in the year before you take any other distributions out of the Traditional IRA, including Roth conversions. Make sure the charities cash the checks before December 31.

    You can also write checks from your IRA and send them to charities yourself, but your IRA custodian won’t know which checks you wrote are QCDs. They won’t be able to indicate them as such on the 1099 form. You’ll have to keep track of them yourself and report what amount from the total distributions on the 1099 form was QCD.

    Naturally, because QCDs are excluded from your income to begin with, you can’t deduct QCDs again either toward this new $1,000/$2,000 deduction when you don’t itemize or as a part of the itemized deductions.

    Say No To Management Fees

    If you are paying an advisor a percentage of your assets, you are paying 5-10x too much. Learn how to find an independent advisor, pay for advice, and only the advice.

    Find Advice-Only

  • Good Week Of Riding – BionicOldGuy

    Good Week Of Riding – BionicOldGuy


    I had a fun week of riding this week. Tuesday I went “round The reservoirs” and out and back on Casa Loma road with my group, a favorite local ride. This was on my upright wearing my SI joint belt and my SI tolerated it fine. I’m still doing well standing for longer periods of time a couple of times a week on the upright. I’ve also been able to walk a lot farther without issues. I’m glad of that because visiting my brother in Phoenix, or other times while traveling, I like to walk a lot when biking is not as convenient of an option.

    My other rides and upper body workouts all went well, except Wednesday when I became a little too preoccupied about my heart rate during the ride. It turns out I’d accidentally taken an extra dose of metoprolol the night before which was keeping my heart rate lower than the range I shoot for. What I enjoy most is a nice brisk steady state ride, which usually works out to an average heart rate in the vicinity of 110 for me. I’ve decided to concentrate on doing a lot more of these and cut back to one hard ride a week. This is very similar to the base training technique of Dr. Phil Maffetone, also known as the “MAF method” (for Maximum Aerobic Function). If I followed this to the letter I should actually omit the one hard day, but I want to maintain the strength and speed I already have while “building the base” on the other days. I did a “MAF time trial” on Friday, which is seeing how fast you can go on a course while staying at your target maximum heart rate, 110 for me. I rode a local course of just under 7 miles, which took 31 minutes 45 seconds (no electric assist). The idea is to repeat this once a month and if my aerobic capacity has improved the time should keep going down. It will be interesting to see how this turns out, but I can tell so far this is a very enjoyable way to train.

    Heading Up Casa Loma on Tuesday’s ride
    Riding In San Martin yesterday, looking SouthWest. The fog is rolling in over the Gavilan mountains, our Natural Air Conditioner.



  • 7 Thoughtful Quotes From Malcolm-Jamal Warner

    7 Thoughtful Quotes From Malcolm-Jamal Warner


    7 Thoughtful Quotes From Malcolm-Jamal Warner

    He will be missed.


    We are still mourning the loss of Malcolm-Jamal Warner, who went above and beyond his well known character as Theo Huxtable. He was recognized as an artist involved in poetry and music while sharing insightful commentary on Black culture that carried significant emotional and intellectual value with his audience. Warner openly discussed topics such as legacy preservation, personal identity, and dealing with loss on various platforms. These reflections offer a peek into his commitment to living a life based on honesty and purpose.

    1.) “The hood side, ultimately historically, is what has always created American culture.”

    Warner delves into how “the hood” serves as the cornerstone of mainstream culture on his podcast, Not All Hood: Here and Now Archive

    2.) “Black survival in of itself is Black excellence.”

    Warner questions the notion that success is only linked to achievements and emphasizes the determination and courage needed to conquer and overcome obstacles. 

    3.) “I will be able to leave this earth knowing—and people knowing—that I was a good person…with all of the darkness in the world—it is possible to maintain your soul and be a good person.”

    Warner appeared on the Hot & Bothered podcast and shared the importance of integrity and the value of staying true to one’s principles and moral convictions in challenging situations.

    4.) “If you’ve ever seen someone take their final breath, there’s this peace that comes over them.”

    Warner reflects on the memories of his grandfather and how their shared experiences shaped him as a person and developed his beliefs and character. 

    5.) “I remember my mother said, ‘Mr. Cosby gave you immortality…but then…there’s another lane of legacy that I get to leave.’”

    He shows his respect for his character Theo Huxtable from The Cosby Show and emphasizes the impact the character had on 1980s culture while also recognizing the lasting influence of his personal growth and charitable work outside of television.

    Warner talks passionately of experiences across the spectrum of Blackness, pointing out the richness and diversity present in Black communities and emphasizing the importance of presenting the multitude of viewpoints that reflect the true complexity in Black communities.

    7.) “Sweetness doesn’t make you weak—it makes you strong.”

    Warner looks back on how being compassionate and vulnerable can be sources of strength. He shares stories about Ennis Cosby’s kindness, resilience, and influence.

    RELATED CONTENT: Malcolm-Jamal Warner’s ‘Not All Hood’ Podcast Launches ‘More Than A Month’ Black History Series