Want to join in? Respond to our weekly writing prompts, open to everyone.
Want to join in? Respond to our weekly writing prompts, open to everyone.
from
Silent Sentinel
A Letter on the Meaning of Christmas
en español al final
When I was nine years old, I wrote a short story for my reading class about the true meaning of Christmas.
I don’t remember every word of it, but I remember the instinct behind it—the sense that Christmas was about something deeper than gifts, noise, or performance. Even then, I knew it wasn’t a holiday you could reduce to decoration or tradition alone.
I didn’t outgrow that understanding.
I had to live long enough for it to be tested.
Now I am older, and I carry a fuller understanding of what Christmas truly means—not because life made it easier to believe, but because it made it harder not to.
Christmas does not arrive in a gentle world.
It never has.
It comes into a world marked by conflict, fear, division, and exhaustion. A world that measures worth by productivity, power, attention, and certainty. A world that tells us to harden ourselves, to win, to protect our own, to move faster, louder, and stronger than everyone else.
We are being trained to react, to choose sides quickly, to measure worth by volume and visibility. Christmas interrupts that training. It does not shout. It does not coerce. It does not demand alignment. It simply arrives.
That is precisely what Christmas contradicts.
Christmas is not about resolution.
It is not about reward for good behavior.
It is not about pretending that suffering can be wrapped up neatly by the end of December.
Christmas is about God choosing nearness over distance.
It is about hope arriving without leverage.
About light appearing without explanation.
About love entering the world without demanding that the world be ready for it.
Nothing about the birth of Christ suggests control, dominance, or spectacle. There is no triumphal entrance, no proof offered, no conditions set. Just presence. Just vulnerability. Just a refusal to stay removed from human pain.
That is the cost of Christmas.
God does not bypass suffering—He enters it.
He does not eliminate waiting—He inhabits it.
He does not solve the world from above—He walks into it from below.
I understand Christmas more fully now not because I know more—but because I have been untrained from believing that power looks loud, fast, or victorious.
This year has taught me how unfinished life can feel. How much remains unresolved. How often faith looks less like certainty and more like staying.
Staying present.
Staying open.
Staying faithful when clarity has not yet arrived.
And I’ve come to understand that this is not a failure of Christmas—it is its setting.
Christmas was never meant for people who have everything figured out.
It was meant for people awake in the dark.
For those living between what has ended and what has not yet begun.
For those who know that effort alone cannot hold life together.
What I sensed at nine, I now understand with my whole life:
Christmas is not about escape from the world as it is.
It is about God coming anyway.
Coming into confusion.
Coming into grief.
Coming into fear, and noise, and unfinished stories.
If Christmas still means anything, it means this:
You are not forgotten in the waiting.
You are not behind in the becoming.
And the presence that entered the world then still enters it now—quietly, faithfully, without announcement.
This is the true meaning of Christmas.
© SilentSentinel, 2025. All rights reserved. Excerpts may be shared with attribution.
Una carta sobre el significado de la Navidad
Cuando tenía nueve años, escribí un cuento corto para mi clase de lectura sobre el verdadero significado de la Navidad.
No recuerdo cada palabra, pero sí recuerdo el instinto que lo impulsaba: la certeza de que la Navidad trataba de algo más profundo que los regalos, el ruido o la actuación. Incluso entonces, sabía que no era una festividad que pudiera reducirse solo a decoración o tradición.
No superé esa comprensión.
Tuve que vivir lo suficiente para que fuera puesta a prueba.
Ahora soy mayor, y llevo una comprensión más plena de lo que realmente significa la Navidad—no porque la vida la haya hecho más fácil de creer, sino porque la hizo más difícil no creerla.
La Navidad no llega a un mundo apacible.
Nunca lo ha hecho.
Llega a un mundo marcado por el conflicto, el miedo, la división y el agotamiento. Un mundo que mide el valor por la productividad, el poder, la atención y la certeza. Un mundo que nos dice que nos endurezcamos, que ganemos, que protejamos lo nuestro, que nos movamos más rápido, más fuerte y más ruidosamente que los demás.
Estamos siendo entrenados para reaccionar, para elegir bandos rápidamente, para medir el valor por el volumen y la visibilidad. La Navidad interrumpe ese entrenamiento. No grita. No coacciona. No exige alineación. Simplemente llega.
Eso es precisamente lo que la Navidad contradice.
La Navidad no trata de resolución.
No trata de recompensa por buen comportamiento.
No trata de fingir que el sufrimiento puede envolverse prolijamente antes de que termine diciembre.
La Navidad trata de que Dios elija la cercanía en lugar de la distancia.
De que la esperanza llegue sin palancas.
De que la luz aparezca sin explicación.
De que el amor entre en el mundo sin exigir que el mundo esté preparado para él.
Nada en el nacimiento de Cristo sugiere control, dominio o espectáculo. No hay una entrada triunfal, no se ofrece prueba alguna, no se imponen condiciones. Solo presencia. Solo vulnerabilidad. Solo una negativa a permanecer apartado del dolor humano.
Ese es el costo de la Navidad.
Dios no evita el sufrimiento—entra en él.
No elimina la espera—la habita.
No resuelve el mundo desde arriba—camina dentro de él desde abajo.
Entiendo la Navidad más plenamente ahora no porque sepa más, sino porque he sido desaprendido de creer que el poder se ve ruidoso, rápido o victorioso.
Este año me ha enseñado cuán inacabada puede sentirse la vida. Cuánto permanece sin resolver. Cuán a menudo la fe se parece menos a la certeza y más a permanecer.
Permanecer presente.
Permanecer abierto.
Permanecer fiel cuando la claridad aún no ha llegado.
Y he llegado a comprender que esto no es un fracaso de la Navidad—es su escenario.
La Navidad nunca fue hecha para quienes lo tienen todo resuelto.
Fue hecha para quienes están despiertos en la oscuridad.
Para quienes viven entre lo que ha terminado y lo que aún no ha comenzado.
Para quienes saben que el esfuerzo por sí solo no puede mantener la vida unida.
Lo que percibí a los nueve años, ahora lo entiendo con toda mi vida:
La Navidad no trata de escapar del mundo tal como es.
Trata de que Dios venga de todos modos.
Viniendo a la confusión.
Viniendo al duelo.
Viniendo al miedo, al ruido y a las historias inconclusas.
Si la Navidad todavía significa algo, significa esto:
No estás olvidado en la espera.
No vas tarde en el llegar a ser.
Y la presencia que entró en el mundo entonces sigue entrando ahora—silenciosa, fiel, sin anuncio.
Este es el verdadero significado de la Navidad.
© SilentSentinel, 2025. Todos los derechos reservados. Se pueden compartir extractos con atribución.
from
💚
The Holy Spirit is in Ace of Base
Tell everyone.
from
💚
I Waved To The Modern Sky
And I knew I was alone Forty years of growing near To the Dublin I was from Salt wars were latent here Butter thorns from a passing cab Intonations of a war Giving too much information Going on to get lost When I see the site is fleeting In a northern light The brightest flare is leading These things I’m finding here Make off with the British fear I was best to you today Now we’re feeling so alone
I live in apartment one And have a desk without your pen Joy and you- And a handsome cat The miracle we grew In an autumn to believe
So far we are Northern stars An inhibited land And a bit too much to temper Wanton of a clapping hand Five hours to go and I can feel our precious dawn The longest bay at war While we simple down the news
When the sturgeon come When we pray for rain To the woodmen blame It was a sonic of redemption But I know this curve And you are my prayer I’ll be flying soon again Ageless and tempered At the hotel where I found you Spying on me well We are both between the year And the last one we made into us
Eye five expression And I am always onto you If you had been my war There would be much ado agree But I am swollen with your love And a man who can’t repeat There in stages we had news In that Colorado apartment Now we’re feeling like slagging one The fittest and simplest thing done And we made it off to Sweden There is still an Earth in there And we both know where And we’ll fly across the mountain Smiling to the faithful doves To the near and far And we will sky the day And be lost of war And I am picturing you in Heaven We were blessed of our new accounts And the Southern towns And be on our Cross And we will never care For the sky up there Til the day of time When I promise you are mine And we will both live on forever
from
💚
Please Love December
Insanity date And friends of public find We were this in health And a place of war on death New romances in a glow And singing frosty few I am afraid of nothing after This place by home is you And why our atmosphere will remember A better time in Greenland Not proper for courses act to free The glitter all in Rome Best to see the frightened man Whose world was a war Little echoes of exhalted evil A place of thousands more
To sweet husbands and general dew White lines across the matter It’s six of spades and ten to eight I suffer you to know Why sit this wooden bridge with us I know I am alone Is Sweden ours or do we lust For things unseen but known
In efforts across our lonely path I give in to China women And first to kiss is arable here But rain falls on the border Simple friends from Family Day We brought you in upon this land In sipping rain, a beautiful Southern A place to know the sea
A newer place, the one we love Insurance all the same by war Our efforts not withstanding mines We pray for one in justice And six neutered shoes of Seoul Portend in North Korea Affairs on film and lines of pay We’ll take Communion today
from
SmarterArticles

The promise of AI copilots sounds almost too good to be true: write code 55% faster, resolve customer issues 41% more quickly, slash content creation time by 70%, all whilst improving quality. Yet across enterprises deploying these tools, a quieter conversation is unfolding. Knowledge workers are completing tasks faster but questioning whether they're developing expertise or merely becoming efficient at prompt engineering. Finance teams are calculating impressive returns on investment whilst HR departments are quietly mapping skills that seem to be atrophying.
This tension between measurable productivity and less quantifiable expertise loss sits at the heart of enterprise AI adoption in 2025. A controlled experiment with GitHub Copilot found that developers completed tasks 55.8% faster than those without AI assistance. Microsoft's analysis revealed that their Copilot drove up to 353% ROI for small and medium businesses. Customer service representatives using AI training resolve issues 41% faster with higher satisfaction scores.
Yet these same organisations are grappling with contradictory evidence. A 2025 randomised controlled trial found developers using AI tools took 19% longer to complete tasks versus non-AI groups, attributed to over-reliance on under-contextualised outputs and debugging overhead. Research published in Cognitive Research: Principles and Implications in 2024 suggests that AI assistants might accelerate skill decay among experts and hinder skill acquisition among learners, often without users recognising these effects.
The copilot conundrum, then, is not whether these tools deliver value but how organisations can capture the productivity gains whilst preserving and developing human expertise. This requires understanding which tasks genuinely benefit from AI assistance, implementing governance frameworks that ensure quality without bureaucratic paralysis, and creating re-skilling pathways that prepare workers for a future where AI collaboration is foundational rather than optional.
The hype surrounding AI copilots often obscures a more nuanced reality: not all tasks benefit equally from AI assistance, and the highest returns cluster around specific, well-defined patterns.
Software development represents one of the clearest success stories, though the picture is more complex than headline productivity numbers suggest. GitHub Copilot, powered by OpenAI's models, demonstrated in controlled experiments that developers with AI access completed tasks 55.8% faster than control groups. The tool currently writes 46% of code and helps developers code up to 55% faster.
A comprehensive evaluation at ZoomInfo, involving over 400 developers, showed an average acceptance rate of 33% for AI suggestions and 20% for lines of code, with developer satisfaction scores of 72%. These gains translate directly to bottom-line impact: faster project completion, reduced time-to-market, and the ability to allocate developer time to strategic rather than routine work.
However, the code quality picture introduces important caveats. Whilst GitHub's research suggests that developers can focus more on refining quality when AI handles functionality, other studies paint a different picture: code churn (the percentage of lines reverted or updated less than two weeks after authoring) is projected to double in 2024 compared to its 2021 pre-AI baseline. Research from Uplevel Data Labs found that developers with Copilot access saw significantly higher bug rates whilst issue throughput remained consistent.
The highest ROI from coding copilots comes from strategic deployment: using AI for boilerplate code, documentation, configuration scripting, and understanding unfamiliar codebases, whilst maintaining human oversight for complex logic, architecture decisions, and edge cases.
Customer-facing roles demonstrate perhaps the most consistent positive returns from AI copilots. Sixty per cent of customer service teams using AI copilot tools report significantly improved agent productivity. Software and internet companies have seen a 42.7% improvement in first response time, reducing wait times whilst boosting satisfaction.
Mid-market companies typically see 60-80% of conversation volume automated, with AI handling routine enquiries in 30-45 seconds compared to 3-5 minutes for human agents. Best-in-class implementations achieve 75-85% first-contact resolution, compared to 40-60% with traditional systems. The average ROI on AI investment in customer service is $3.50 return for every $1 invested, with top performers seeing up to 8x returns.
An AI-powered support agent built with Microsoft Copilot Studio led to 20% fewer support tickets through automation, with a 70% success rate and high satisfaction scores. Critically, the most successful implementations don't replace human agents but augment them, handling routine queries whilst allowing humans to focus on complex, emotionally nuanced, or high-value interactions.
Development time drops by 20-35% when designers effectively use generative AI for creating training content. Creating one hour of instructor-led training traditionally requires 30-40 hours of design and development; with effective use of generative AI tools, organisations can streamline this to 12-20 hours.
BSH Home Appliances, part of the Bosch Group, achieved a 70% reduction in external video production costs using AI-generated video platforms, whilst seeing 30% higher engagement. Beyond Retro, a UK and Sweden vintage clothing retailer, created complete courses in just two weeks, upskilled 140 employees, and expanded training to three new markets using AI-powered tools.
The ROI calculation is straightforward: a single compliance course can cost £3,000 to £8,000 to build from scratch using traditional methods. Generative AI costs start at $0.0005 per 1,000 characters using services like Google PaLM 2 or $0.001 to $0.03 per 1,000 tokens using OpenAI GPT-3.5 or GPT-4, representing orders of magnitude cost reduction.
However, AI hallucination, where models generate plausible but incorrect information, represents arguably the biggest hindrance to safely deploying large language models into production systems. Research concludes that eliminating hallucinations in LLMs is fundamentally impossible. High-ROI content applications are those with clear fact-checking processes: marketing copy reviewed for brand consistency, training materials validated against source documentation, and meeting summaries verified by participants.
AI copilots in data analysis offer compelling value propositions, particularly for routine analytical tasks. Financial analysts using AI techniques deliver forecasting that is 29% more accurate. Marketing teams leveraging properly implemented AI tools generate 38% more qualified leads. Microsoft Copilot is reported to be 4x faster in summarising meetings than manual effort.
Guardian Life Insurance Company's disability underwriting team pilot demonstrated that underwriters using generative AI tools to summarise documentation save on average five hours per day, helping achieve end-to-end process transformation goals whilst ensuring compliance.
Yet the governance requirements for analytical copilots are particularly stringent. Unlike customer service scripts or marketing copy, analytical outputs directly inform business decisions. High-ROI implementations invariably include validation layers: cross-checking AI analyses against established methodologies, requiring subject matter experts to verify outputs before they inform decisions, and maintaining audit trails of how conclusions were reached.
Examining these high-ROI applications reveals a consistent pattern. AI copilots deliver maximum value when they handle well-defined, repeatable tasks with clear success criteria, augment rather than replace human judgement, include verification mechanisms appropriate to the risk level, free human time for higher-value work requiring creativity or judgement, and operate within domains where training data is abundant and patterns are relatively stable.
Conversely, ROI suffers when organisations deploy AI copilots for novel problems without clear patterns, in high-stakes decisions without verification layers, or in rapidly evolving domains where training data quickly becomes outdated.
The challenge facing organisations is designing governance frameworks robust enough to ensure quality and manage risks, yet flexible enough to enable innovation and capture productivity gains.
Leading organisations are implementing tiered governance frameworks that calibrate oversight to risk levels. The European Union's Artificial Intelligence Act, entering force on 1 August 2024 and beginning substantive obligations from 2 February 2025, categorises AI systems into four risk levels: unacceptable, high, limited, and minimal.
This risk-based framework translates practically into differentiated review processes. For minimal-risk applications such as AI-generated marketing copy or meeting summaries, organisations implement light-touch reviews: automated quality checks, spot-checking by subject matter experts, and user feedback loops. For high-risk applications involving financial decisions, legal advice, or safety-critical systems, governance includes mandatory human review, audit trails, bias testing, and regular validation against ground truth.
Guardian Life exemplifies this approach. Operating in a highly regulated environment, the Data and AI team codified potential risk, legal, and compliance barriers and their mitigations. Guardian created two tracks for architectural review: a formal architecture review board for high-risk systems and a fast-track review board for lower-risk applications following established patterns.
The impossibility of eliminating AI hallucinations necessitates validation strategies that combine automated checks with strategic human review.
Retrieval Augmented Generation (RAG) grounds AI outputs in verified external knowledge sources. Research demonstrates that RAG improves both factual accuracy and user trust in AI-generated answers by ensuring responses reference specific, validated documents rather than relying solely on model training.
Prompt engineering reduces ambiguity by setting clear expectations. Chain-of-thought prompting, where AI explains reasoning step-by-step, has been shown to improve transparency and accuracy. Using low temperature values (0 to 0.3) produces more focused, consistent, and factual outputs.
Automated quality metrics provide scalable first-pass evaluation. Traditional techniques like BLEU, ROUGE, and METEOR focus on n-gram overlap for structured tasks. Newer metrics like BERTScore and GPTScore leverage deep learning models to evaluate semantic similarity. However, these tools often fail to assess factual accuracy, originality, or ethical soundness, necessitating additional validation layers.
Strategic human oversight targets review where it adds maximum value. Rather than reviewing all AI outputs, organisations identify categories requiring human validation: novel scenarios the AI hasn't encountered, high-stakes decisions with significant consequences, outputs flagged by automated quality checks, and representative samples for ongoing quality monitoring.
Data privacy concerns represent one of the most significant barriers to AI adoption. According to late 2024 survey data, 57% of organisations cite data privacy as the biggest inhibitor of generative AI adoption, with trust and transparency concerns following at 43%.
Organisations are responding by investing in Privacy-Enhancing Technologies. Federated learning allows AI models to train on distributed datasets without centralising sensitive information. Differential privacy adds mathematical guarantees that individual records cannot be reverse-engineered from model outputs.
The regulatory landscape is driving these investments. The European Data Protection Board launched a training programme for data protection officers in 2024. Beyond Europe, NIST published a Generative AI Profile and Secure Software Development Practices. Singapore, China, and Malaysia published AI governance frameworks in 2024.
According to a 2024 global survey of 1,100 technology executives and engineers, 40% believed their organisation's AI governance programme was insufficient in ensuring safety and compliance of AI assets. This gap often stems from measuring the wrong things.
Leading implementations measure accuracy and reliability metrics (error rates, hallucination frequency, consistency across prompts), user trust and satisfaction (confidence scores, frequency of overriding AI suggestions, time spent reviewing AI work), business outcome metrics (impact on cycle time, quality of deliverables, customer satisfaction), audit and transparency measures (availability of audit trails, ability to explain outputs, documentation of training data sources), and adaptive learning indicators (improvement in accuracy over time, reduction in corrections needed).
Microsoft's Business Impact Report helps organisations understand how Copilot usage relates to KPIs. Their sales organisation found high Copilot usage correlated with +5% in sales opportunities, +9.4% higher revenue per seller, and +20% increase in close rates.
The critical insight is that governance KPIs should measure outcomes (quality, accuracy, trust) rather than just inputs (adoption, usage, cost). Without outcome measurement, organisations risk optimising for efficiency whilst allowing quality degradation.
The productivity gains from AI copilots are relatively straightforward to measure: time saved, costs reduced, throughput increased. The expertise being lost or development being hindered is far more difficult to quantify, yet potentially more consequential.
Research published in Cognitive Research: Principles and Implications in 2024 presents a sobering theoretical framework. AI assistants might accelerate skill decay among experts and hinder skill acquisition among learners, often without users recognising these deleterious effects. The researchers note that frequent engagement with automation induces skill decay, and given that AI often takes over more advanced cognitive processes than non-AI automation, AI-induced skill decay is a likely consequence.
The aviation industry provides the most extensive empirical evidence. A Federal Aviation Administration research study from 2022-2024 investigated how flightpath management cognitive skills are susceptible to degradation. Study findings suggest that declarative knowledge of flight management systems and auto flight systems are more susceptible to degradation than other knowledge types.
Research using experimental groups (automation, alternating, and manual) found that the automation group showed the most performance degradation and highest workload, whilst the alternating group presented reduced performance degradation and workload, and the manual group showed the least performance degradation.
Healthcare is encountering similar patterns. Research on AI dependence demonstrates cognitive effects resulting from reliance on AI, such as increased automation bias and complacency. When AI tools routinely provide high-probability differentials ranked by confidence and accompanied by management plans, the clinician's incentive to independently formulate hypotheses diminishes. Over time, this reliance may result in what aviation has termed the “automation paradox”: as system accuracy increases, human vigilance and skill degrade.
Perhaps most concerning is emerging evidence that AI assistants may prevent experts and learners from recognising skill degradation. Research identifies multiple types of illusions: believing they have deeper understanding than they actually do because AI can produce sophisticated explanations on demand (illusion of explanatory depth), believing they are considering all possibilities rather than only those surfaced by the AI (illusion of exploratory breadth), and believing the AI is objective whilst failing to consider embedded biases (illusion of objectivity).
These illusions create a positive feedback loop. Workers feel they're performing well because AI enables them to produce outputs quickly, receive positive feedback because outputs meet quality standards when AI is available, yet lose the underlying capabilities needed to perform without AI assistance.
Researchers have introduced the concept of AICICA (AI Chatbot-Induced Cognitive Atrophy), hypothesising that overreliance on AI chatbots may lead to broader cognitive decline. The “use it or lose it” brain development principle stipulates that neural circuits begin to degrade if not actively engaged. Excessive reliance on AI chatbots may result in underuse and subsequent loss of cognitive abilities, potentially affecting disproportionately those who haven't attained mastery, such as children and adolescents.
Organisations are developing frameworks to quantify deskilling risk, though methodologies remain nascent. Leading approaches include comparative performance testing (periodically testing workers on tasks both with and without AI assistance), skill progression tracking (monitoring how quickly workers progress from junior to senior capabilities), novel problem performance (assessing performance on problems outside AI training domains), intervention recovery (measuring how quickly workers adapt when AI systems are unavailable), and knowledge retention assessments (testing foundational knowledge periodically).
Loaiza and Rigobon (2024) introduced metrics that separately measure automation risk and augmentation potential, alongside an EPOCH index of human capabilities uniquely resistant to machine substitution. Their framework distinguishes between high-exposure, low-complementarity occupations (at risk of replacement) and high-exposure, high-complementarity occupations (likely to be augmented).
The Conference Board's AI and Automation Risk Index ranks 734 occupations by capturing composition of work tasks, activities, abilities, skills, and contexts unique to each occupation.
The measurement challenge is that deskilling effects often manifest over years rather than months, making them difficult to detect in organisations focused on quarterly metrics. By the time skill degradation becomes apparent, the expertise needed to function without AI may have already eroded significantly.
If AI copilots are reshaping work fundamentally, the question becomes how to prepare workers for a future where AI collaboration is baseline capability.
The scope of required re-skilling is staggering. According to a 2024 report, 92% of technology roles are evolving due to AI. A 2024 BCG study found that whilst 89% of respondents said their workforce needs improved AI skills, only 6% said they had begun upskilling in “a meaningful way.”
The gap between recognition and action is stark. Only 14% of organisations have a formal AI training policy in place. Just 8% of companies have a skills development programme for roles impacted by AI, and 82% of employees feel their organisations don't provide adequate AI training. A 2024 survey indicates that 81% of IT professionals think they can use AI, but only 12% actually have the skills to do so.
Yet economic forces are driving change. Demand for AI-related courses on learning platforms increased by 65% in 2024, and 92% of employees believe AI skills will be necessary for their career advancement. According to the World Economic Forum, 85 million jobs may be displaced by 2025 due to automation, but 97 million new roles could emerge, emphasising the need for a skilled workforce capable of adapting to new technologies.
The most successful re-skilling programmes recognise that AI collaboration requires fundamentally different capabilities than traditional domain expertise. Leading interventions focus on developing AI literacy (understanding how AI systems work, their capabilities and limitations, when to trust outputs and when to verify), prompt engineering (crafting effective prompts, iterating based on results, understanding how framing affects responses), critical evaluation (assessing AI outputs for accuracy, identifying hallucinations, verifying claims against authoritative sources), human-AI workflow design (determining which tasks to delegate to AI versus handle personally, designing verification processes proportional to risk), and ethical AI use (understanding privacy implications, recognising and mitigating bias, maintaining accountability for AI-assisted decisions).
The AI-Enabled ICT Workforce Consortium, comprising companies including Cisco, Accenture, Google, IBM, Intel, Microsoft, and SAP, released its inaugural report in July 2024 analysing AI's effects on nearly 50 top ICT jobs with actionable training recommendations. Foundational skills needed across ICT job roles for AI preparedness include AI literacy, data analytics, and prompt engineering.
Major corporate investments are demonstrating what scaled re-skilling can achieve. Amazon's Future Ready 2030 commits $2.5 billion to expand access to education and skills training, aiming to prepare at least 50 million people for the future of work. More than 100,000 Amazon employees participated in upskilling programmes in 2024 alone. The Mechatronics and Robotics Apprenticeship has been particularly successful, with participants receiving a nearly 23% wage increase after completing classroom instruction and an additional 26% increase after on-the-job training.
IBM's commitment to train 2 million people in AI skills over three years addresses the global AI skills gap. SAP has committed to upskill two million people worldwide by 2025, whilst Google announced over $130 million in funding to support AI training across the US, Europe, Africa, Latin America, and APAC. Across AI-Enabled ICT Workforce Consortium member companies, they've committed to train and upskill 95 million people over the next 10 years.
Bosch delivered 30,000 hours of AI and data training in 2024, building an agile, AI-ready workforce whilst maintaining business continuity. The Skills to Jobs Tech Alliance, a global effort led by AWS, has connected over 57,000 learners to more than 650 employers since 2023, and integrated industry expertise into 1,050 education programmes.
An intriguing paradox is emerging: as AI capabilities expand, demand for human soft skills is growing rather than diminishing. A study by Deloitte Insights indicates that 92% of companies emphasise the importance of human capabilities or soft skills over hard skills in today's business landscape. Deloitte predicts that soft-skill intensive occupations will dominate two-thirds of all jobs by 2030, growing at 2.5 times the rate of other occupations.
Paradoxically, AI is proving effective at training these distinctly human capabilities. Through natural language processing, AI simulates real-life conversations, allowing learners to practice active listening, empathy, and emotional intelligence in safe environments with immediate, personalised feedback.
Gartner projects that by 2026, 60% of large enterprises will incorporate AI-based simulation tools into their employee development strategies, up from less than 10% in 2022. This suggests the most effective re-skilling programmes combine technical AI literacy with enhanced soft skills development.
Research reveals consistent patterns distinguishing successful from unsuccessful re-skilling interventions. Successful programmes align re-skilling with clear business outcomes, integrate learning into workflow rather than treating it as separate activity, provide opportunities to immediately apply new skills, include both technical capabilities and critical thinking, measure skill development over time rather than just completion rates, and adapt based on learner feedback and business needs.
Failed programmes treat re-skilling as one-time training event, focus exclusively on tool features rather than judgement development, lack connection to real work problems, measure participation rather than capability development, assume one-size-fits-all approaches work across roles, and fail to provide ongoing support as AI capabilities evolve.
Studies show that effective training programmes increase employee retention by up to 70%, upskill training can lead to an increase in revenue per employee of 218%, and employees who believe they are sufficiently trained are 27% more engaged than those who do not.
The evidence suggests that organisations can capture AI copilot productivity gains whilst preserving and developing expertise, but doing so requires intentional design rather than laissez-faire deployment.
Aviation research provides a template. Studies found that the alternating group (switching between automation and manual operation) presented reduced performance degradation and workload compared to constant automation use. Translating this to knowledge work suggests designing workflows where workers alternate between AI-assisted and unassisted tasks, maintaining skill development whilst capturing efficiency gains.
Practically, this might mean developers using AI for boilerplate code but manually implementing complex algorithms, customer service representatives using AI for routine enquiries but personally handling escalations, or analysts using AI to generate initial hypotheses but manually validating findings.
Research demonstrates that understanding how AI reaches conclusions improves both trust and learning. Chain-of-thought prompting, where AI explains reasoning step-by-step, has been shown to improve transparency and accuracy whilst helping users understand the analytical process.
This suggests governance frameworks should prioritise explainability: requiring AI systems to show their work, maintaining audit trails of reasoning, surfacing confidence levels and uncertainty, and highlighting when outputs rely on assumptions rather than verified facts.
Beyond compliance benefits, explainability supports skill development. When workers understand how AI reached a conclusion, they can evaluate the reasoning, identify flaws, and develop their own analytical capabilities. When AI produces answers without explanation, it becomes a black box that substitutes for rather than augments human thinking.
Given evidence that workers may not recognise their own skill degradation, organisations cannot rely on self-assessment. Systematic capability evaluation should include periodic testing on both AI-assisted and unassisted tasks, performance on novel problems outside AI training domains, knowledge retention assessments on foundational concepts, and comparative analysis of skill progression rates.
These assessments should inform both individual development plans and organisational governance. If capability gaps emerge systematically, it signals need for re-skilling interventions, workflow redesign, or governance adjustments.
According to a 2024 survey, enterprises without a formal AI strategy report only 37% success in AI adoption, compared to 80% for those with a strategy. Yet MIT CISR research found that progression from stage 2 (building pilots and capabilities) to stage 3 (developing scaled AI ways of working) delivers the greatest financial impact.
The governance challenge is enabling this progression without creating bureaucracy that stifles innovation. Successful frameworks establish clear principles and guard rails, pre-approve common patterns to accelerate routine deployments, reserve detailed review for novel or high-risk applications, empower teams to self-certify compliance with established standards, and adapt governance based on what they learn from deployments.
According to nearly 60% of AI leaders surveyed, their organisations' primary challenges in adopting agentic AI are integrating with legacy systems and addressing risk and compliance concerns. Whilst 75% of advanced companies claim to have established clear AI strategies, only 4% say they have developed comprehensive governance frameworks. This gap suggests most organisations are still learning how to balance innovation velocity with appropriate oversight.
The evidence suggests we're at an inflection point. The technology has proven its value through measurable productivity gains across coding, customer service, content creation, and data analysis. The governance frameworks are emerging, with risk-tiered approaches, hybrid validation models, and privacy-preserving technologies maturing rapidly. The re-skilling methodologies are being tested and refined through unprecedented corporate investments.
Yet the copilot conundrum isn't a problem to be solved once but a tension to be managed continuously. Successful organisations will be those that use AI as a thought partner rather than thought replacement, capturing efficiency gains without hollowing out capabilities needed when AI systems fail, update, or encounter novel scenarios.
These organisations will measure success through business outcomes rather than just adoption metrics: quality of decisions, innovation rates, customer satisfaction, employee development, and organisational resilience. Their governance frameworks will have evolved from initial caution to sophisticated risk-calibrated oversight that enables rapid innovation on appropriate applications whilst maintaining rigorous standards for high-stakes decisions.
Their re-skilling programmes will be continuous rather than episodic, integrated into workflow rather than separate from it, and measured by capability development rather than just completion rates. Workers will have developed new literacies (prompt engineering, AI evaluation, human-AI workflow design) whilst maintaining foundational domain expertise.
What remains is organisational will to design for sustainable advantage rather than quarterly metrics, to invest in capabilities alongside tools, and to recognise that the highest ROI comes not from replacing human expertise but from thoughtfully augmenting it. Technology will keep advancing, requiring governance adaptation. Skills will keep evolving, requiring continuous learning. The organisations that thrive will be those that build the muscle for navigating this ongoing change rather than seeking a stable end state that likely doesn't exist.

Tim Green UK-based Systems Theorist & Independent Technology Writer
Tim explores the intersections of artificial intelligence, decentralised cognition, and posthuman ethics. His work, published at smarterarticles.co.uk, challenges dominant narratives of technological progress while proposing interdisciplinary frameworks for collective intelligence and digital stewardship.
His writing has been featured on Ground News and shared by independent researchers across both academic and technological communities.
ORCID: 0009-0002-0156-9795 Email: tim@smarterarticles.co.uk
from
Roscoe's Story
In Summary: * The NFL is offering a triple-header of live games today; I've made it through the first two games but won't be following the third. Instead, the plan is to put on some quiet, relaxing music, wrap up my night prayers, and ready myself for an early bedtime.
Prayers, etc.: * My daily prayers
Health Metrics: * bw= 224.65 lbs. * bp= 146/89 (66)
Exercise: * kegel pelvic floor exercise, half squats, calf raises, wall push-ups
Diet: * 06:50 – 1 peanut butter sandwich, 1 Christmas cookie * 07:20 – meatloaf, brown gravy, white rice * 09:00 – snack on Christmas candy * 11:05 – pizza * 12:30 – home made egg drop soup. * 16:10 – sweet rice w. brown sugar. a mug of hot cocoa.
Activities, Chores, etc.: * 04:30 – listen to local news talk radio * 06:45 – bank accounts activity monitored * 07:25 – read, pray, follow news reports from various sources, surf the socials * 10:15 – listen to relaxing, instrumental, Christmas carols. * 12:15 – now watching the Dallas Cowboys vs the Washington Commanders via the NFL+ app on my cellphone. This is giving me the NETFLIX feed. * 15:10 – ... and the Cowboys win 30 to 23. And I'm reminded how easy it is to doze off and nap during the 3rd quarter of an NFL game. * 15:30 – now watching the Detroit Lions vs the Minnesota Vikings using the same hardware setup as the previous game. * 18:45 – ... and the Vikings win 23 to 10.
Chess: * 11:12 – moved in all pending CC games
from Faucet Repair
9 December 2025
Looking at a lot of Dürer this week. It's amazing how fresh and contemporary the work he did five hundred years ago feels to my eyes. The depth of his attention is evergreen. Seeing beyond seeing. Thought of his Christ as the Man of Sorrows (1492) while walking through Heathrow Terminal 3 when I passed by what I assume is an advertisement for Rio de Janeiro/Brazil tourism: a long, horizontal, textless image of the top half of Christ the Redeemer (1931) stretched across a cloudless blue sky. In Dürer's painting, the Christ figure is leaning on a foregrounded ledge, the plane between subject and viewer both established and broken. In the airport, the vinyl advertisement isn't bordered by any frame or support and fits quite seamlessly into the cold, glossy environment around it. Gliding by it on a moving walkway made for a strange sensation where each arm seemed to extend from the wall one at a time as I passed. This melding of perceptual planes via a figure actively stretching the confines of its medium is something I'm holding as I sit down to sketch what I'm seeing.
from Faucet Repair
7 December 2025
In the living room at my parents' place in the sky (18th floor) in Marina del Rey, glass white clouds bright gray, sheer heather curtain, blue glass angled refraction, purple glass shaker aluminum wood L's grain polished scratches, cream angles gray velvet, metal riveted orange glow floating frame, faces fragmented matte nylon mounted cool jeweled memory frames, glasses coffee table brushed aluminum olive textile carpet jeans draped, woven tufted selvedge denim shadow thrown cross warped window drop water bubble gland, wrist hand rested cream alarm vented black white gray wax orchid iron suspension checker, twist ring ninety pounds ink 05 08 seated circles, orange gold round arched fitted pressed braided capped, arranged melded signed signature, folded drying clicking, distant satellite smog crawlers breeze through street plane blue light blue sky blue mirrored bird mirror metallic love pretty pink speaker.
from Lastige Gevallen in de Rede
U bent op mijn weblog terechtgekomen omdat u een gat wil graven en niet weet hoe dat moet. Ik ken dat, zo wou ik ook een gat graven en wist het niet. Online kon ik geen informatie vinden, tips over gereedschap, tijdslimieten, diepte, kwaliteit, motivatie en deugdzaamheid. Dagen werden weken maar niemand zei, liet me lezen, deed voor hoe ik gaten moet graven, niet waar noch wanneer. Uiteindelijk heb ik het allemaal zelf moeten doen. U beste lezer van Van Voorbijgaande Aards klus stukje wil ik deze ellende besparen. Het tijdverlies, de vertwijfeling, dat voortdurende onzekere gevoel oog in oog met de grond of iets anders dicht en vast zonder.
Ik wil u alleen overal mee helpen, daarom doe ik dit allemaal voor u en u behoefte aan grote en kleine gaten voor in de solide ontoegeeflijke aarde of een wand. Prijs mij maar, maar niet te hoog of duur, gewoon af.
Gaten, een gat, wat is het? Neen, wat is het niet? Dat is de correcte vraag. Het is wat u weg haalt of voor u is verwijderd, in ons geval willen we dit zelf doen. Alles is nog daar. Het ligt daar niet te vermurven. Niet vanzins te wijken voor u zin aan een plek waar dat niet meer is.
U wil ook een gat. Mijn eerste advies voor u. Zoek een plek voor dat gat, niet elke plek is klaar om gat te worden. Het is aan u en u paar ogen, gezonde verstand om te bepalen wat de beste plek is voor het eerste daarom meestal het beste gat ooit. Het gevolg van dit eerste advies is dat ik u moet wijzen op voor gaten vriendelijke omstandigheden, iedere plek is niet voor niks geschikt. Is het gat voor een ander dan is het handig om het daar te graven waar deze is en er gerede kans dat hij of zij er daadwerkelijk in gaat. Doet u dat niet vallen er 100% zeker een aantal wild vreemden in, misschien als het te dicht bij u zelf is iemand die u kent zoals u zelve.
Is het gat precies daar voor dan is dit juist een goed plan. Kortom waar. Waar! Dit is erg moeilijk, hier had ik het meeste moeite mee. Ik heb daarom na lang wikken en wegen besloten om gebruik te maken van mijn intuïtie. Deze was wat roestig omdat ik er zo weinig mee deed en sinds het gat is niks mee doe, leven zonder is ook best te doen. Het ligt daarom weer op zolder bij de vergeten hobbies en onleesbare tekens voor aan de wand. Echter voor een echt goed gat is deze materie onontbeerlijk.
Ik inhaleerde het spul der intuïtie ging staan en keek toe met exact afgestelde ogen turen naar alles en op zich kan in alles wat er is een gat. Nu zag ik echter in dat ik maar één of twee gaten wou en wel in de tuin en een andere in de muur van buiten voor een deur naar binnen. Ik leefde al een poos rondom mijn huis maar kon er niet in en dat zat me dwars zo zag ik nu, een tuin is voor gaten maken sowieso de perfecte locatie.
Nu had ik twee plekken en dan komt dus het volgende probleem hoe maak je opzettelijk niks van iets. Welke middelen heb je daar voor nodig, hoe lang moet je met dat spul werken voor het andere spul afwezig is. Ik had er wel wat over gelezen in de Wetenschap International maar deze gegevens kon ik niet gebruiken op het aan mij gegevene, beide dingen bespraken andere leegtes op een andere manier en in een andere tijd gemaakt. De wetenschap International schoot alweer te kort.
Ik stond met mijn handen in het haar voor het potdichte. Dit moest ik ook al alleen doen, geen hulp van niks, niemand, tijdschriften, kranten archief, de bibliotheek noch het instituut voor gaten op de wereld, zelfs de markt kon me niet helpen, bleek dat ze daar maar een gat hebben en deze telkens weer opnieuw gebruiken. Ik liep naar de plekken waar de gaten moesten ontstaan en riep “Hoe?” De kern van ieder probleem.
Ik ging bidden, hulp vragen bij elke bekend opperwezen mij bekend, op de bij deze goden verplichte manieren maar het bleef stil, geen info. van boven was beschikbaar, of de goden waren samen op weg naar een symposium voor onzichtbare zeer dwingende bewindvoerders over methodieken en op volgelingen toepasbare technieken betreffende overheersing. Niet te porren voor twee gaten meer, ze maken ze liever zelf en in één keer duizendvoudig. Ik stond tegenover de materie, lijnrecht er tegenover, zij vast van plan zo te blijven versus ik vast van plan daar iets tegen te doen.
Ik douwde mijn vinger tegen de buitenmuur, de vinger boog, de muur week niet, De aarde was een stuk minder standvastig en daarom besloot ik daar te beginnen aan gat 1. De aarde wist van wijken, ik had alleen verwacht dat het ook echt zou verdwijnen maar eenmaal een gaatje werd de rest een hoopje. Een stapel op de rest van de stapel. Dat kon wel eens lastig worden. Een gat wordt een hoop. Vandaar dat die goden juist daar zoveel woorden aan vuil maken. Ze halen weg en dit komt op die plek. Dit was niet mijn bedoeling maar het is en blijft een vast gegeven waarmee ik rekening moet houden en u dus ook, het gat en de hoop waren rechtevenredig maar het gat moest er wel komen, ik had het zelf bedacht, net als u.
Dus ik gedoogde de hoop, daar vond ik later wel een plek voor. Ik wist toen nog niet hoe diep dat gat ging worden, hoe lang ik ging graven, eerst alleen met de blote hand later vond ik diverse instrumenten uit waarmee ik vlotter kon graven, deze instrumentjes kunt u na afloop van dit stukje kopen bij de merchandise afdeling van writeas, het zijn spatels, lepels en scheppers gemaakt van restmateriaal. Het gat werd uiteindelijk drie keer zo groot als mijn tuin, de hoop dus ook. U kunt de restanten ervan ook al aanvragen bij dezelfde store. Het is vooral handig voor het vullen van gaten.
De helft van de hoop heb ik uiteindelijk gebruikt voor het maken van een dijk om mijn vers geschepte grote gat, een afzetting tegen ongewenste blikken op mijn creatie. Een wal tegen de vijandelijke wereld uit op verovering van mijn diepe gat, of hen die het willen vullen met hun resthoop.
Dat was dan dat. De muur was nog altijd dicht, mijn huis kon ik nog niet in. Dat zag ik zo. Ik ging op zoek naar mijn opgedolven restmateriaal, uit de hoop gevist. Door alles wat ik had uit te proberen op de wand ontdekte ik twee bruikbare stukjes waarmee ik andere stukjes uit de muur kon breken en er door de voortdurende herhaling een kruipgat ontstond en dus ook een hoop rommel. Na weken hannesen werd de opening zo groot dat ik er recht op door kon lopen. Ik was intens tevreden over het bereikte niks. Het enorme gat en de doorgang van binnen naar buiten en vieze versje. Meer dan dit kon ik niet behalen binnen de mij beschikbare periode, alles wat ik nodig had lag voor me, iedere dag zag ik in mijn afgrond, stond ik in de ruwe onafgewerkte opening tussen buiten en binnen te turen over die leegte en naar de dijk die het beschermd. Ik stak dan mijn duim op naar de goden nog altijd elders verkerend en zei 'zo nu ben ik één van jullie'. Zouden ze komen met uitnodigingen voor hun vele uitjes, aanbiedingen en redevoeringen en dan houdt mijn dijk ze hopelijk tegen. Mijn gat is door hun afwezigheid tijdens de creatie goddeloos, het is eentje waar ik niet over wil heersen, die ik niet wil controleren maar gewoon vanuit mijn positie wil zien hoe het zichzelf zonder hulp weer met nieuwe materie vult.
Ik help u alleen door er op te wijzen dat het mogelijk is om een gat te maken, enkel door te willen en met het stellen van vragen en deze zelf te beantwoorden. Eventueel met een beetje bijstand waarmee u het nodige gereedschap bij de writeas store kunt aanschaffen of een stukje van mijn hoop om ongewilde gaten te dichten, meer kan ik namelijk niet voor u doen.
Met vriendelijke groet ...
from Faucet Repair
5 December 2025
“...go to a place (be invited for instance) have impressions there take things from the places where you have impressions (take really or mentally) bulbs from lamps, candy from stores, symbols from visions in dreams, symbols from visions in places, colors from clothes, colors from faces, colors from memory, colors from hope, colors from disgust make (as many as time allows, invitation allows, health allows, walls want, you want, people want) flat things (pictures) out of the taken things copy them photographically, make portraits of them, describe them, make remarks about them, divide them, alter them, keep them, give them have machines doing the same for you, more for you, more for somebody else, more for themselves make pictures out of things, feelings, visions, remarks, accidents which come from those pictures make (at any time) a pile from the pictures you like, somebody likes, certain people like, nobody likes and bind them as a book...”
—Dieter Roth (from Offhand Design, 1975)
from Prov
Spiritual 2026
I made the conscious decision to completely dive into the spiritual. I aim to make it the epicenter where everything flows from.
There are books I am interested in reading such as Laura Lynn Jacksons “The Light Between Us”, “Signs”, and “Guided.”
I have an interest in Astral Projection. My scientific mind is curious and wants to see for myself what is true and what is now.
I am aiming to connect more with my spiritual guides on the other side. Being intentional and really tackling the lesson I came to learn in this lifetime. As far as manifesting, I am working towards going back to school for my doctorate. Funding and other monies will be required. I will be locking in and aligning with all things to make this process work in my favor.
I've been back in the gym lately and working towards rebuilding my physical strength an health as well as get this body back to something.
I still honor my truth. I simply just want to do my mission and pack it up. I love my family and friends but the wheelchair quadriplegia life is and was ever me. I have been blessed with so many things in this life and I have gratitude. But my life..my real purpose.. was stolen from me. I own those emotions and realities. But that will not stop me from trying to make something out of this.
I will ever get or see justice. That won't stop this show.
Overall, I am just GOING. I don't know where or what. I just am...and that is ok.
from Prov
The High Road
I recall a moment at work when I received an email that contained valid but critical feedback delivered in a tone that could easily be misread over text. I felt my own triggers immediately try to take the front seat.
I know myself well. What I do not care for is being critiqued by people who also make mistakes especially when I have seen that they do. I put real effort into what I do and that matters to me.
Still I chose to take the higher more spiritual road. I paused and asked myself a few questions.
Is this coming from a malicious place Or is it shaped by their own past experiences or internal triggers
Is the feedback itself valid
What good would come from responding by pointing out their mistakes
I decided to take it as an opportunity to practice patience understanding and love. I thanked them for the feedback and moved forward.
I reached the conclusion that their feelings carry no weight when it comes to my true abilities. They were simply expressing a concern from their own perspective. In general they are not a bad person and we have a decent working relationship. Even if there were underlying negative feelings that is ultimately their work to do and likely rooted in challenges they faced long before this moment.
I am intentionally stepping into a space where I stop identifying with and reacting to negativity. Instead I acknowledge it as part of a greater whole accept it and consciously shift the energy into something productive. My goal is to respond to others the way God responds to me with steadiness compassion and grace whether the moment is charged with anger joy or sadness.
from
dimiro1's notes
This is part 4 of a series on building a terminal agent from scratch.
Previous parts: – Part 1: Building an Agent from Scratch – Part 2: The Conversation Loop – Part 3: Rendering Markdown in the Terminal
The complete source code is available on GitHub: https://github.com/dimiro1/agent-from-scratch/tree/main/04
In this part, we'll add syntax highlighting for code blocks. When LLMs return code snippets, they use markdown code blocks with a language hint like clojure or python. We'll parse these blocks and apply colors to keywords, strings, comments, and numbers.
Let's get started.
Our syntax highlighting strategy is simple:
We're using regex for highlighting because it's straightforward and keeps our implementation simple. Production syntax highlighters use proper parsers, but regex works well enough for our purposes.
Create src/termagent/code.clj:
(ns termagent.code
(:require [clojure.string :as str]
[termagent.ansi :as ansi]))
We'll build individual highlighters for each language, then combine them with a dispatcher function.
Let's start with Clojure since that's what we're writing:
(defn highlight-clojure [code]
(-> code
;; Strings (must come before keywords to avoid conflicts)
(str/replace #"\".*?\"" ; (1)
(fn [match]
(ansi/render [:green match])))
;; Comments
(str/replace #"(?m);.*$" ; (2)
(fn [match]
(ansi/render [:dim match])))
;; Keywords (Clojure :keyword syntax)
(str/replace #":[a-zA-Z][a-zA-Z0-9\-]*" ; (3)
(fn [match]
(ansi/render [:magenta match])))
;; Numbers
(str/replace #"\b\d+\.?\d*\b" ; (4)
(fn [match]
(ansi/render [:yellow match])))
;; Common functions
(str/replace #"\b(println|print|str|map|reduce|filter|conj|assoc|dissoc|get|first|rest|count|into|vec|list|seq|apply|partial|comp)\b" ; (5)
(fn [[match]]
(ansi/render [:blue match])))
;; Language keywords
(str/replace #"\b(def|defn|defn-|defmacro|let|if|when|cond|fn|loop|recur|do|for|doseq|require|ns|use)\b" ; (6)
(fn [[match]]
(ansi/render [:blue match])))))
Let's break down the patterns:
\".*?\". The ? makes it non-greedy, so it stops at the first closing quote(?m);.*$. The (?m) enables multiline mode so $ matches end of each line:keyword syntax\b word boundariesdef, defn, let also get blueThe order matters! We process strings first because they might contain characters that look like keywords or comments.
The pattern for adding new languages is the same: match strings first, then comments, then language-specific elements like keywords and numbers. The repository includes highlighters for Python, JavaScript, Java, Elixir, Lua, and Ruby. Each follows the same structure with language-specific regex patterns.
Now we need a function that picks the right highlighter based on the language:
(defn highlight
"Applies syntax highlighting to code based on the language"
[code language]
(case (str/lower-case (str/trim language))
"clojure" (highlight-clojure code)
"clj" (highlight-clojure code)
"python" (highlight-python code)
"py" (highlight-python code)
"javascript" (highlight-javascript code)
"js" (highlight-javascript code)
"java" (highlight-java code)
"elixir" (highlight-elixir code)
"ex" (highlight-elixir code)
"lua" (highlight-lua code)
"ruby" (highlight-ruby code)
"rb" (highlight-ruby code)
(ansi/render [:dim code]))) ; (1)
Now we need to update our markdown renderer to handle code blocks. Update src/termagent/markdown.clj:
(ns termagent.markdown
(:require [clojure.string :as str]
[termagent.ansi :as ansi]
[termagent.code :as code])) ; (1)
Add the code block renderer:
(defn render-code-blocks [text]
(str/replace text
#"(?s)```(\w+)?\n(.*?)```" ; (1)
(fn [[_ language code-content]] ; (2)
(let [lang (or language "") ; (3)
highlighted (code/highlight code-content lang) ; (4)
lines (str/split-lines highlighted)
indented (map #(str " " %) lines)] ; (5)
(str "\n" (str/join "\n" indented) "\n")))))
(?s) enables dotall mode so . matches newlines. We capture the optional language identifier and the code contentUpdate the render function to process code blocks first:
(defn render [text]
(-> text
render-code-blocks ; (1)
render-horizontal-rules
render-headers
render-blockquotes
render-tasks
render-lists
render-images
render-links
render-bold
render-strikethrough
render-italic
render-inline-code))
Let's test the Clojure highlighter:
$ clj -M -e "(require '[termagent.code :as code]) (println (code/highlight \"(defn greet [name] (println \\\"Hello\\\" name))\" \"clojure\"))"
You should see colorized output with: – Green strings – Dim comments – Blue keywords – Yellow numbers – Magenta Clojure keywords
Now let's see it in action with our agent:
$ clj -M:run
User: Write a hello world function in Clojure
Assistant:
Here's a simple hello world function in Clojure:
(defn hello-world []
(println "Hello, World!"))
(hello-world)
This defines a function called `hello-world` that prints "Hello, World!" to the console.
The code block is now syntax highlighted with colors!
You now have: – A syntax highlighting system using regex patterns – Support for multiple languages (Clojure, Python, JavaScript, Java, Elixir, Lua, Ruby) – A dispatcher that selects the right highlighter based on language – Code block rendering integrated with markdown
To add more languages, create a highlight-<language> function following the same pattern and register it in the highlight dispatcher.
Our terminal agent now renders markdown beautifully with syntax-highlighted code blocks. In the next part, we'll clean up the implementation and improve the user experience. After that, we'll add tool support so the agent can execute actions like reading files and running commands.
Hope to see you there!
from eivindtraedal
“Kulturell fracking” er et godt nytt begrep som fløy forbi i en podcast jeg hørte på her om dagen. Fracking går ut på at grunnfjell blir gjennomhullet og sprengt opp med borevæske under høyt trykk så det sprekker opp, og man kan skvise ut mer gass og olje. I mediebransjen bores og sprenges det stadig i det kulturelle grunnfjellet etter de siste dråpene. Særlig hos de store filmstudioene.
Kinoene har i årevis vært fylt med endeløse “sequels”, “remakes” og nye vinklinger på gamle historier. Eier man først en lukrativ intellektuell merkevare, må man utnytte den til fulle. De store pengene kastes etter de fortellingene som allerede har slått an. Slik ble filmatiseringen av “Hobbiten”, en bok på ca 300 sider, nesten like lang som filmatiseringen av “Ringenes herre”, på ca 1100. For ikke å snakke om den endeløse rekken av Marvel- og DC-filmer, eller de mange og stadig kjedeligere filmene fra J.K. Rowlings univers. Hver historie må spres tynt ut, som smør spredt over for mye brød, for å sitere Bilbo Lommelun.
Nostalgi er blant de sikreste salgsvarene, dermed blir karakterer og fortellinger konstant resirkulert. På listen over årets ti mest populære amerikanske filmer finner vi én original film: Sinners. En fantastisk film, sm riktignok også er en ny vri på en gammel historie. Ellers finner vi en filmatisering av spillet Minecraft, en ny versjon av Lilo & Stitch, vi finner nye virer på historien om Superman og Jurassic Park, en film basert på “Trollmannen fra Oz”, oppfølger-filmen Zootopia 2, og to Marvel-filmer. Og dag ble jeg gjort oppmerksom på at det har blitt laga en TV-serie om Miss Sophies liv! Du vet, hun fra “Grevinnen og hovmesteren”. Selvfølgelig må vi skvise mer ut av den historien også.
Denne evige resirkuleringen skyldes ikke først og fremst latskap eller manglende fantasi hos kulturarbeidere, men profittjag og risikoaversjon hos eiere. Særlig i Hollywood. Det føles lenger og lenger mellom de virkelig nye og spennende historiene og idéene. Eller bare nye filmer med sine egne karakterer og universer som kan få stå på egne bein, uten å umiddelbart bygges ut til et franchise.
Vil denne kulturelle frackingen bidra til forgiftet drikkevann, et ødelagt grunnfjell, kulturelle jordskjelv eller kulturell forurensing? Vel, la oss ikke dra metaforen for langt. Men det føles uunngåelig som om vi får en fattigere og kjedeligere kultur når man hele tiden skviser de gamle sitronene i stedet for å produsere nye. Jeg tillater meg å være mot fracking også på dette området.
Anyway, nå skal jeg kose meg med en serie basert på Star Wars. God romjul!
from
Reflections
Irish families like mine have two responsibilities:
#Life
from Douglas Vandergraph
It’s Christmas, and for many people this day does not look the way it is supposed to. There is no long drive back to a childhood home. No familiar voices arguing in the kitchen. No carefully rehearsed smiles meant to keep the peace. For some, there is no table to return to at all. Not because it no longer exists, but because returning would mean stepping back into something that quietly, steadily, and repeatedly caused harm. This is not an article for people who skipped Christmas out of convenience or indifference. This is for the people who cut off contact with their families because staying connected was slowly erasing them.
There is a particular kind of silence that shows up on Christmas when you have made this choice. It is not the peaceful silence people romanticize. It is heavier than that. It carries questions, memories, guilt, and grief all at once. It is the silence that asks whether you did the right thing even when you know, deep down, that staying would have cost you more than leaving. Christmas has a way of magnifying this tension. The world tells you this is the one day you are supposed to set everything aside. Forgive everything. Endure everything. Pretend everything is fine. And when you don’t, it can feel like you have failed not only your family, but God Himself.
That belief has quietly wounded more people than we are willing to admit.
Many who walk away from their families do not do so lightly. This decision is usually the end of a long road, not the beginning of one. It comes after years of trying to explain yourself. Years of shrinking your needs so you don’t cause conflict. Years of hoping this time will be different. It comes after prayers whispered late at night asking God to soften hearts, change patterns, heal relationships. It comes after realizing that love, when unaccompanied by safety and truth, can become something that drains the life out of you rather than giving it.
Christmas complicates that realization because it is soaked in language about family. Family togetherness. Family unity. Family traditions. And while those things can be beautiful, they can also become weapons when they are used to pressure people into returning to environments that are not safe for them. There is a difference between reconciliation and self-betrayal, and too often the two are confused.
Jesus never confused them.
One of the quieter truths of Scripture is that Jesus experienced family fracture long before many of us ever noticed it. The Gospels record moments where His own family misunderstood Him, doubted Him, and even attempted to intervene because they believed He was not in His right mind. This was not a minor misunderstanding. This was a deep disconnect between who Jesus was becoming and who His family expected Him to be. Jesus did not resolve this by abandoning His calling to preserve family harmony. He did not apologize for growing beyond their understanding. He did not contort Himself to make them comfortable with what God was doing in Him.
Instead, He remained rooted in truth.
That matters deeply for those who have cut off contact with their families. Because many of you did not leave out of bitterness or rebellion. You left because the cost of staying was becoming unbearable. You left because every interaction pulled you backward into old roles you had outgrown. You left because the person God was shaping you into could not survive in the environment you were being asked to endure. That is not a failure of faith. That is often the fruit of it.
There is a subtle spiritual guilt that shows up when people talk about honoring parents or maintaining family unity. These commands are real, but they were never meant to be interpreted as permission slips for harm. Honor does not mean silence in the face of abuse. Unity does not mean erasing yourself. Jesus consistently challenged systems, traditions, and relationships that demanded compliance at the expense of life. He healed on the Sabbath. He touched those deemed untouchable. He confronted authority when it crushed people instead of serving them. And He did all of this while remaining perfectly aligned with the heart of God.
Christmas reminds us that God does not prioritize appearances over reality. The birth of Jesus was not wrapped in perfection. It was wrapped in vulnerability. A young woman risking disgrace. A man choosing faith over public approval. A family forced to flee to survive. The very beginning of the Christian story includes displacement, fear, and separation. That alone should dismantle the idea that choosing safety over tradition is somehow unholy.
For those who have stepped away from their families, Christmas often carries a unique grief. It is not always grief for what was, but for what never became. It is the grief of realizing that the people who were supposed to protect you could not or would not do so. It is the grief of recognizing that love does not always lead to mutual understanding. It is the grief of letting go of the fantasy that one more conversation, one more explanation, one more act of patience would finally bring peace.
God does not rush this grief. He does not minimize it. He does not shame it.
Jesus entered the world not with solutions, but with presence. Emmanuel does not mean God fixing everything instantly. It means God choosing to dwell with us in the middle of things that are unresolved. That includes unresolved family relationships. That includes unanswered prayers. That includes choices that still ache even when they were necessary.
Many people who cut off contact with their families carry a quiet fear that they are doing something unforgivable. That they are somehow disobeying God by choosing distance. But Jesus never equated forgiveness with unlimited access. He forgave freely, but He did not entrust Himself to everyone. He loved deeply, but He withdrew when crowds became demanding rather than receptive. He modeled a kind of love that was honest about limits.
Boundaries are not the opposite of love. They are often what make love possible without self-destruction.
Christmas is not a test of endurance. It is not a measure of how much pain you can tolerate while smiling politely. It is a declaration that God sees human fragility and chooses to enter it anyway. For some, that entry happens in crowded rooms filled with laughter. For others, it happens in quiet spaces where healing is finally able to take root.
If Christmas 2025 finds you alone, or surrounded by chosen family instead of biological relatives, that does not mean you have failed. It may mean you have listened closely to the voice of God urging you toward life. It may mean you have stopped confusing loyalty with self-erasure. It may mean you are honoring the image of God in yourself by refusing to remain in places that distort it.
This season often brings accusations, both internal and external. Accusations that you are selfish. That you are cold. That you are holding grudges. But people rarely see the nights you cried before making this decision. They rarely see the prayers you prayed asking God to make another way. They rarely see the strength it took to walk away from people you still love.
God sees all of it.
He sees the courage it takes to choose health over familiarity. He sees the faith it takes to trust Him in the absence of family support. He sees the quiet obedience it takes to walk a lonely road rather than a destructive one. And He is not disappointed in you.
Christmas is not about returning to old tables. It is about recognizing where God is inviting you to be born anew. Sometimes that birth happens far from home. Sometimes it happens in exile. But exile in Scripture is often where clarity is formed, identity is refined, and dependence on God becomes deeply personal rather than inherited.
If you are reading this and feeling the ache of distance, know this is not the end of your story. God builds family in more than one way. Jesus redefined belonging around shared love, shared truth, and shared obedience. He formed community among those who had been rejected, overlooked, and pushed aside. He still does.
This Christmas, you do not need to justify your absence. You do not need to explain your boundaries. You do not need to carry the weight of other people’s unwillingness to change. You are allowed to rest. You are allowed to grieve. You are allowed to heal.
And you are allowed to believe that God is with you here, even now, in the quiet.
The quiet that settles in after you cut off contact with your family is not empty. It is full. Full of memories that still surface unexpectedly. Full of reflexes that have not yet learned they are no longer needed. Full of the strange disorientation that comes when the familiar chaos is gone and your nervous system does not know what to do with peace yet. Christmas intensifies this because it is saturated with cues that point backward. Songs. Smells. Traditions. Even silence itself can feel louder on this day.
For many people, the hardest part of choosing distance is not the separation itself but the internal battle that follows. The voice that asks if you overreacted. The voice that wonders if you misunderstood. The voice that suggests maybe you should go back one more time just to be sure. This voice often disguises itself as humility or forgiveness, but underneath it is fear. Fear of being alone. Fear of being judged. Fear that choosing yourself somehow means rejecting God.
But fear is not how God leads.
Throughout Scripture, God consistently calls people away from places that stunt their growth. Abraham leaves his family and homeland. Moses leaves Pharaoh’s house. Ruth leaves everything familiar and walks into uncertainty. Even Jesus leaves Nazareth to step fully into His calling. None of these departures are framed as betrayal. They are framed as obedience. As movement toward life.
The problem is that when family is involved, we often treat movement as abandonment. We tell people that staying is virtuous no matter the cost, and leaving is selfish no matter the reason. That belief has trapped generations in cycles of harm disguised as loyalty. Jesus disrupted that belief constantly. He healed people who had been cast out by their own communities. He affirmed those who had been told they were wrong simply for existing outside acceptable boundaries. He never confused proximity with righteousness.
Some of you reading this were not just hurt by your families. You were shaped by them in ways you are still undoing. You learned early how to scan a room for danger. How to read moods. How to shrink. How to appease. How to carry responsibility that was never yours. These survival skills once protected you. But eventually, they became burdens you could no longer carry. Cutting off contact was not about punishment. It was about finally putting the armor down.
Christmas can make that armor feel necessary again. Old patterns tug at you. Old expectations whisper. But healing is rarely linear, and God does not shame you for feeling conflicted. Jesus Himself wept knowing resurrection was coming. He understands grief that exists alongside hope. He understands love that does not require proximity to remain real.
There is also a quiet loneliness that comes with this choice, even when it was right. It is the loneliness of knowing that the people who should know you best no longer have access to your life. It is the loneliness of celebrating milestones without those who raised you. It is the loneliness of building new traditions while grieving old ones. This loneliness does not mean you made the wrong decision. It means you are human.
God does not rush people through loneliness. He meets them in it.
In the wilderness, God fed Israel daily. In exile, He preserved their identity. In prison, He strengthened Paul’s faith. Again and again, Scripture shows God doing His deepest work in places people would rather avoid. Not because suffering is holy, but because stillness creates space for transformation. When familiar noise is gone, God’s voice becomes clearer.
If you are honest, some of you are discovering who you actually are for the first time. Without constant criticism. Without emotional whiplash. Without having to defend your reality. That discovery can feel unsettling at first. You may not yet trust your own peace. You may mistake calm for emptiness. But peace that feels unfamiliar is often a sign that healing has begun.
Christmas 2025 does not demand that you return to what harmed you. It invites you to notice what is growing instead. New clarity. New strength. New boundaries that no longer feel cruel but necessary. These are not signs of hardening. They are signs of maturity.
Jesus did not come to make people manageable. He came to make them free.
Freedom sometimes looks like distance. It looks like unanswered messages. It looks like grief that others do not understand. It looks like choosing rest over performance. Jesus never measured faithfulness by how much pain someone could endure. He measured it by alignment with truth.
There is a particular tenderness reserved for those who walk this road. God knows how costly it is to choose life when death has been normalized. He knows how isolating it can be to break generational patterns. He knows how much courage it takes to stop pretending that love means tolerating harm.
If you are tempted today to measure your worth by your absence, resist that temptation. Your worth was never tied to your usefulness to others. It was never dependent on how much you could endure. It was never contingent on staying small so others could feel comfortable. Your worth was declared long before you made this decision, long before your family dynamics formed, long before Christmas expectations were created.
Jesus was born into a world that did not recognize Him. He lived misunderstood. He died rejected. And yet, He changed everything. Your path does not need approval to be meaningful. It needs alignment.
Some people will never understand why you walked away. They will tell a simplified version of the story that centers their pain and ignores yours. That is not your burden to correct. God does not require you to be understood by everyone. He requires you to be honest before Him.
Christmas is not about nostalgia. It is about incarnation. God stepping into reality as it is, not as we wish it were. If your reality includes distance from family, that does not disqualify you from grace. It may be the very place grace is doing its quiet work.
You may still hope for reconciliation someday. Or you may not. Both can coexist with faith. Jesus never forced reconciliation where repentance was absent. He invited change, but He did not beg for it. You are allowed to hold hope without reopening wounds. You are allowed to pray without placing yourself back in harm’s way.
As this Christmas day unfolds, let yourself breathe. Let yourself grieve what you lost and honor what you gained. Let yourself sit with God without explanations or justifications. He already knows the whole story. He is not confused by your choice. He is not disappointed by your boundaries. He is not waiting for you to return to pain to prove your devotion.
If this season feels quieter than past ones, consider that God often whispers rather than shouts. He is not absent in the quiet. He is present in it. He is shaping you into someone who loves without losing themselves. Someone who forgives without forgetting reality. Someone who can choose peace without guilt.
Christmas 2025 may not look like the movies. It may not look like your childhood memories. But it can still be holy. Holiness does not require a full table. It requires a surrendered heart. It requires honesty. It requires the courage to believe that God is with you even when the world tells you something is missing.
Nothing is missing that God has not already accounted for.
You are not alone today. Even if it feels that way. You are not wrong for choosing life. Even if others disagree. You are not faithless for walking away. Even if it broke expectations.
Jesus was born for moments like this. For people like you. For the quiet courage it takes to stay alive, awake, and honest.
Let this Christmas be gentle. Let it be true. Let it be enough.
And remember: God is not waiting for you to go back. He is walking with you forward.
Watch Douglas Vandergraph’s inspiring faith-based videos on YouTube
Support the ministry by buying Douglas a coffee
Your friend, Douglas Vandergraph