Monday, February 23, 2026

 This is a summary of a book titled “Creativity in the Age of AI: Toolkits for the Modern Mind” written by Jerry (Yoram) Wind, Mukul Pandya and Deborah Yao and published by De Gruyter in 2025. Recommendation. This book examines creativity as a disciplined capability rather than a sporadic or innate talent, situating it within the contemporary context of artificial intelligence. The authors contend that creativity has become a central requirement for organizational effectiveness and long‑term competitiveness, particularly as AI technologies alter how problems are framed, explored, and solved. Their central claim is not that AI supplants human creativity, but that it can extend and reinforce it when integrated into established cognitive, organizational, and analytical frameworks.

The book begins by establishing creativity as an essential component of business performance. Empirical research demonstrates a strong relationship between creative capability and outcomes such as revenue growth and market share, yet many organizations struggle to translate creativity into systematic practice. This gap, the authors argue, stems from persistent misconceptions: creativity is often treated as an unpredictable spark rather than as a process that can be deliberately cultivated. Drawing on longstanding research, the authors emphasize that creativity requires both novelty and usefulness, and that ideas only become creative when they are developed into practical and effective solutions.

To clarify how creativity functions, the authors revisit foundational models that remain relevant in the age of AI. Graham Wallas’s four‑stage framework—preparation, incubation, illumination, and verification—illustrates creativity as a progression from problem definition to refinement and implementation. Teresa Amabile’s componential theory further expands this view by identifying the interacting elements that support creativity: domain‑specific expertise, cognitive processes that enable creative thinking, intrinsic motivation, and an environment that encourages exploration and risk‑taking. Together, these models reinforce the authors’ view that creativity is the result of sustained effort shaped by both individual and contextual factors.

Advances in neuroscience provide additional support for this perspective. Research shows that creativity is supported by the interaction of three neural networks: the default mode network, which generates ideas; the executive control network, which evaluates and refines them; and the salience network, which mediates between exploration and judgment. Creativity depends on maintaining balance among these systems, a balance influenced by factors such as cognitive flexibility, intrinsic motivation, and psychological safety. Environmental conditions also matter. Spaces characterized by coherence, fascination, or comfort can support different phases of creative work, suggesting that creativity is shaped not only by mental processes but also by physical and social contexts.

Within this human-centered framework, AI is introduced as a complementary resource rather than a disruptive replacement. The authors position AI as an assistant and collaborator that can support creativity across execution, idea generation, and evaluation. By handling routine tasks, generating unconventional combinations, and providing analytical feedback, AI can expand the range of possibilities considered while allowing humans to focus on judgment and meaning. The example of Airbus’s use of generative design illustrates this dynamic: AI explored vast design spaces beyond human capacity, while engineers defined constraints and evaluated outcomes. The result was a solution that combined biological inspiration with engineering requirements, demonstrating how AI can augment, rather than diminish, human creative agency.

The authors also address the organizational challenges associated with adopting AI for creative work. Resistance to change, fear of failure, and limited resources can all impede progress. Rather than dismissing these concerns, the authors recommend examining their underlying causes and addressing them explicitly. Techniques such as pre‑mortem analysis can reduce uncertainty, while reframing obstacles as opportunities for reconsideration can help organizations move beyond entrenched habits. Creativity, in this view, requires not only tools but also cultural conditions that tolerate experimentation and learning.

A significant portion of the book is devoted to the role of mental models in shaping creative outcomes. Unexamined assumptions can constrain perception and limit the range of solutions considered. The authors argue that creativity depends on the continual reassessment of these models through techniques such as assumption reversal, analogical reasoning, and exposure to diverse perspectives. General‑purpose AI tools can assist by making implicit assumptions visible and by generating alternative ways of framing problems, thereby supporting paradigm shifts that enable more fundamental forms of innovation.

To support complex problem‑solving, the authors outline structured approaches including morphological analysis, analogical thinking, and benchmarking. Morphological analysis is particularly effective for problems involving multiple variables and stakeholders, as it systematically explores combinations that might otherwise be overlooked. Analogies and benchmarking extend the search for solutions beyond familiar domains, while AI accelerates these processes by identifying patterns, generating combinations, and visualizing implications across large datasets.

Interdisciplinary collaboration and open innovation further expand creative capacity. By integrating insights from different fields and engaging contributors beyond organizational boundaries, teams can access perspectives that would otherwise remain unavailable. AI can support this work by synthesizing knowledge across domains or simulating expert viewpoints, reinforcing the authors’ argument that creativity benefits from structured diversity rather than isolated insight.

In its later chapters, the book turns to trend analysis, experimentation, and iteration. AI’s ability to detect emerging patterns and intersections among trends can inform strategic foresight, though the authors caution against uncritical reliance on algorithmic outputs. Ultimately, creative ideas must be tested, refined, and validated through experimentation. Tools such as digital twins illustrate how AI can accelerate this process by enabling low‑risk simulation before real‑world implementation.

The book concludes by emphasizing curiosity and imagination as the foundations of creativity. Leaders play a critical role in fostering environments that support both directed inquiry and open exploration. Emerging technologies, including immersive environments, further extend the contexts in which creativity can occur, with AI serving as an integrative layer across these tools. Rather than prescribing a single method, the authors encourage readers to assemble a personalized toolkit of creative strategies, selected and refined through experimentation. Creativity, they argue, is sustained not by novelty alone, but by disciplined practice, reflection, and persistence over time.


Sunday, February 22, 2026

 Over the next three months, our work on releasing drone video sensing analytics framework can resume with a sequence that begins with re‑establishing customer contact, stabilizing the technical core, and preparing for the upcoming industry events.

The first month focuses on restarting the structured conversations with early adopters in construction, utilities, and public‑safety programs. These conversations are necessary to validate the spatio‑temporal cataloging approach and to rebuild the cost‑effectiveness narrative. This period also includes bringing the ezbenchmark extension back to a stable point, ensuring the TPC‑H‑inspired queries, agentic retrieval components, and reasoning‑model evaluation behave consistently. As this stabilizes, the paper submissions can resume, organized around the same three themes described in the earlier plan: real‑time drone‑to‑cloud feedback loops, temporal and spatial cataloging for scene understanding, and the economics of reasoning‑augmented pipelines. With this foundation in place, I will produce a short technical article or vision deck to reintroduce the benchmarking philosophy and the importance of reproducibility in drone analytics. This aligns with the original intent that the first month should “ground the work in real user needs and enhance the solution proposed”

The second month shifts toward outward‑facing activity because several relevant events occur in this window. Early March includes the Japan UAS and C‑UAS Defense Industry Day, followed by the New England Next Generation Aviation Summit on March 19. AUVSI XPONENTIAL Europe takes place March 24–26, offering the first major venue for re‑engaging with the broader autonomy and drone‑analytics community. These events provide opportunities to submit abstracts, attend sessions, or request poster or panel slots. They also create a natural lead‑in to XPONENTIAL 2026 in Detroit in mid‑May, which is the most strategically important event on the horizon. During this same month, one or two small pilot engagements can be restarted with friendly customers. These pilots should demonstrate long‑path object tracking, temporal queries over cataloged scenes, and the efficiency gains of structured prompting. The data collected will strengthen both the publication narrative and the release announcement. By the end of this month, the framework should again be approaching a clean public‑facing shape, with a stable API surface, reproducible scripts, and documentation that makes ingestion, cataloging, and querying straightforward.

The third month becomes the release window. With the technical core stable and the narrative complete, the framework can be published on GitHub with a polished README, example workflows, and benchmark results, just as the original plan envisioned. A companion website and whitepaper can summarize the cost‑model analysis and explain the value of agentic retrieval in a way that is accessible to both researchers and practitioners. This period aligns with XPONENTIAL Detroit, which becomes the anchor for a coordinated announcement across LinkedIn, ResearchGate, and the drone‑analytics communities you follow. A virtual workshop can accompany the release, demonstrating real‑time ingestion, temporal and spatial cataloging, LLM‑as‑a‑judge evaluation, and cost‑optimized reasoning workflows. If early adopters are willing to share their pilot experience, even informally, their participation adds credibility. After the release, attention can shift back to the research community through paper submissions and guest talks to university labs or robotics groups. Engagement with open‑source UAV dataset communities can begin, positioning the benchmark as a complementary tool and helping build the ecosystem around the framework.


Saturday, February 21, 2026

 Most drones don’t have radars. They merely have positions that they change based on fully autonomous decisions or provided by a controller. In the former case, the waypoints and trajectory determine the flight path, and each drone independently tries to minimize the errors in deviations from the flight path while aligning its path using the least squares method. The selection of waypoints and the velocity and ETA at each waypoint is determined for each unit in a UAV swarm with ability to make up delays or adjust ETAs using conditional probability between past and next waypoint while choosing a path of least resistance or conflict between the two. Usually, a formation, say matrix, already spreads out the units, and its center of mass is used to calculate the progress on the flight path for the formation. This article discusses a novel approach to minimize conflicts and adhere to the path of least resistance.

For example, to transform between an “Abreast” and a “Diamond” formation, any technique must demonstrate efficiency in minimizing transformation distance and maintaining formation coherence. Similarly, to transform matrix formation to flying linearly under a bridge between its piers, any technique must demonstrate a consensus based on pre-determined order.

The approach included here defines a drone formation state with six parameters: time, 3D positions, yaw angle (heading), and velocity. For a formation to be considered coherent, all drones must share the same heading and speed while maintaining relative positions—essential for realistic aerial maneuvers.

The transformation itself consists of two steps: location assignment and path programming. First, to determine which drone should move to which position in the new formation, the Hungarian algorithm, a centralized optimization method is used or in its absence the information about the greatest common denominator for volume between two waypoints determines the number of multiple simultaneous paths to choose and the matrix model is used to assign the positions for the drones to the nearest path. If there is only one path and no centralized controller, the units use the Paxos algorithm for coming to a consensus on the linear order. This first step evaluates the cost of moving each drone to each new position by considering spatial displacement, heading change, and velocity difference. This ensures that the assignment minimizes overall disruption and maneuvering effort.

Second, each drone calculates its own flight path to the newly assigned position using a Dubins path model, which generates the shortest possible route under a minimum turning radius constraint—a requirement for fixed-wing drones that can’t make sharp turns or hover. Positions alone do not guarantee compliance, and the velocity adjustments for each unit must also be layered over the transition. The adjustment of velocities follows a Bayesian conditional probability along the associated path for the unit. This involves computing acceleration and deceleration phases to fine-tune the duration and dynamics of the transition with error corrections against deviations.

Overall, this provides a cohesive framework for in-flight drone formation reconfiguration that balances centralized planning with distributed execution. By coding the physical constraints and states for each unit and classifying the adherence, outliers can be handled by rotating them with other units for a smooth overall progression for the formation and overcoming environmental factors such as turbulence with error corrections.

Lastly, a simple Hungarian algorithm application demonstration with sample code to determine the position allocation in formation transformation.

#! /usr/bin/python

# pip install hungarian-algorithm

from hungarian_algorithm import algorithm

import numpy as np

# Source: drones in a 3×3 grid on Z=0 plane

source_positions = [

    (x, y, 0)

    for y in range(3)

    for x in range(3)

]

# Target: drones in a single horizontal line (linear flight path), spaced 10 units apart

target_positions = [

    (i * 10, 0, 0) for i in range(9)

]

# Compute cost matrix (Euclidean distance)

cost_matrix = [

    [

        np.linalg.norm(np.array(src) - np.array(dst))

        for dst in target_positions

    ]

    for src in source_positions

]

# Run Hungarian Algorithm to get minimum-cost assignment

assignment = algorithm.find_matching(cost_matrix, matching_type='min')

# Report matched pairs

for src_idx, dst_idx in enumerate(assignment):

    print(f"Drone {src_idx} → Target Position {dst_idx}: {target_positions[dst_idx]}")


Friday, February 20, 2026

 This is a summary of the book titled “Applying AI in Learning and Development: From Platforms to Performance” written by Josh Cavalier and published by ATD (Association for Talent Development) in 2025. This book examines how learning and development (L\&D) professionals can use artificial intelligence thoughtfully to improve both learning efficiency and organizational performance. Rather than presenting AI as a replacement for human expertise, the book positions it as a partner that can handle routine, data-intensive tasks while allowing L\&D professionals to focus on strategy, analysis, and design.

Cavalier begins by showing how AI can streamline common instructional design activities. Tasks such as transcribing interviews, summarizing discussions, or generating draft materials—once time-consuming—can be completed quickly with AI support. As these efficiencies increase, the role of the L\&D professional evolves. The book introduces the idea of the human–machine performance analyst (HMPA), a role in which practitioners use judgment, contextual knowledge, and empathy to interpret data and shape learning interventions, while AI supports content creation and analysis. An example illustrates this shift: when compliance incidents continued despite high course completion rates, an L\&D professional used AI-generated data as a starting point but relied on interviews and observation to identify the real issue—irrelevant training. Redesigning the program into role-specific scenarios led to a measurable reduction in incidents.

Throughout the book, he emphasizes that the core skills of L\&D—understanding how people learn, connecting learning to performance, and aligning learning with business outcomes—remain unchanged. What has changed is the set of tools available and the scope of influence L\&D can have across an organization. He encourages teams to begin experimenting with AI in small, low-risk ways, such as using meeting assistants to capture action items or deploying chatbots to answer frequently asked learner questions. Progress should be tracked, lessons documented, and experimentation treated as part of normal professional growth rather than a one-time initiative.

A significant portion of the book focuses on assessing an organization’s current relationship with AI. He outlines several common patterns, ranging from informal individual experimentation to full organizational integration. In some organizations, employees use external AI tools without guidance, increasing the risk of data exposure. Others hesitate to act at all, stalled by concerns about privacy, bias, or regulation. Still others implement AI unevenly, creating silos where some departments benefit while others are left behind. The most mature organizations, by contrast, provide approved tools, clear policies, and role-specific training that allow AI to be used consistently and responsibly. Understanding where an organization falls along this spectrum helps L\&D leaders determine realistic next steps.

From there, the book argues that successful AI adoption depends less on choosing a particular tool and more on establishing a strong foundation. AI initiatives should be explicitly tied to business goals such as faster onboarding, improved compliance, or better customer service, with clear explanations of how time or costs will be saved. Small pilots and case studies can demonstrate value and reduce resistance, especially when results are communicated through concrete comparisons rather than abstract claims.

He places strong emphasis on governance. While many L\&D professionals already experiment with AI, far fewer feel confident about using it ethically. An effective AI policy, he argues, must address data privacy, security, regulatory compliance, and bias. Policies should specify which tools are approved, what information can be shared with them, and where human review is required. The book uses the well-known example of Amazon’s abandoned résumé-screening system to illustrate how biased training data can produce discriminatory outcomes. To mitigate these risks, he recommends close collaboration with legal, HR, and cybersecurity teams, as well as processes that allow learners and employees to flag AI-generated content for review.

When it comes to technology selection, the book encourages L\&D leaders to advocate for platforms that support both learning and broader business needs. Many organizations are moving away from standalone learning management systems toward integrated human capital management platforms that combine learning, skills tracking, performance management, and workforce planning. He suggests defining what the organization wants AI to accomplish over the next six to twelve months and evaluating vendors against practical criteria such as transparency, system integration, usability, analytics, scalability, support, security, and return on investment. The goal is not to adopt the most advanced system available, but to choose the one that fits the organization’s context and constraints.

The book also provides detailed guidance on working effectively with generative AI. Cavalier stresses that output quality depends heavily on prompt quality. Clear instructions, explicit constraints, and well-defined criteria produce more useful results than vague requests. He recommends treating prompts as reusable assets by developing templates and maintaining a shared prompt library that documents use cases, tested models, and variations. Chaining prompts within a single session—moving from objectives to outlines to scripts, for example, can also improve coherence. Despite these efficiencies, the book repeatedly underscores the importance of human oversight to ensure accuracy, relevance, and alignment with learning goals.

In its final section, the book explores the use of AI agents to personalize learning at scale. Unlike traditional automated systems, these agents can reason, adapt, and make recommendations based on learner data, such as skill gaps, goals, and performance trends. Examples show how personalized recommendations can increase engagement and motivation. However, he is careful to frame AI agents as collaborators rather than autonomous decision-makers. He advocates for models in which AI proposes learning paths or resources, while human coaches or managers remain involved in reflection and decision-making. Implementing these systems requires careful attention to data quality, accessibility, integration with existing platforms, and iterative testing with pilot groups.

Overall, Applying AI in Learning and Development presents AI not as a disruptive force to be feared or a shortcut to be exploited, but as a tool that amplifies the strategic role of L&D. By combining experimentation with governance, efficiency with human judgment, and technology with organizational context, he argues that L&D professionals can use AI to deliver learning that is both more personalized and more closely tied to real performance outcomes.


Thursday, February 19, 2026

 3756. Concatenate Non-Zero Digits and Multiply by Sum II

You are given a string s of length m consisting of digits. You are also given a 2D integer array queries, where queries[i] = [li, ri].

For each queries[i], extract the substring s[li..ri]. Then, perform the following:

Form a new integer x by concatenating all the non-zero digits from the substring in their original order. If there are no non-zero digits, x = 0.

Let sum be the sum of digits in x. The answer is x * sum.

Return an array of integers answer where answer[i] is the answer to the ith query.

Since the answers may be very large, return them modulo 109 + 7.

Example 1:

Input: s = "10203004", queries = [[0,7],[1,3],[4,6]]

Output: [12340, 4, 9]

Explanation:

s[0..7] = "10203004"

x = 1234

sum = 1 + 2 + 3 + 4 = 10

Therefore, answer is 1234 * 10 = 12340.

s[1..3] = "020"

x = 2

sum = 2

Therefore, the answer is 2 * 2 = 4.

s[4..6] = "300"

x = 3

sum = 3

Therefore, the answer is 3 * 3 = 9.

Example 2:

Input: s = "1000", queries = [[0,3],[1,1]]

Output: [1, 0]

Explanation:

s[0..3] = "1000"

x = 1

sum = 1

Therefore, the answer is 1 * 1 = 1.

s[1..1] = "0"

x = 0

sum = 0

Therefore, the answer is 0 * 0 = 0.

Example 3:

Input: s = "9876543210", queries = [[0,9]]

Output: [444444137]

Explanation:

s[0..9] = "9876543210"

x = 987654321

sum = 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 45

Therefore, the answer is 987654321 * 45 = 44444444445.

We return 44444444445 modulo (109 + 7) = 444444137.

Constraints:

1 <= m == s.length <= 105

s consists of digits only.

1 <= queries.length <= 105

queries[i] = [li, ri]

0 <= li <= ri < m

 Solution:

class Solution {

    public int[] sumAndMultiply(String s, int[][] queries) {

        int[] answers = new int[queries.length];

        for (int i = 0; i < queries.length; i++){

            long x = 0;

            long sum = 0;

            String sub = s.substring(queries[i][0], queries[i][1]+1);

            for (int j = 0; j < sub.length(); j++) {

                int numericValue = Character.getNumericValue(sub.charAt(j));

                if (numericValue != 0) {

                    x = x * 10 + numericValue;

                    sum += numericValue;

                }

            }

            answers[i] = (int) ((x * sum) % (Math.pow(10, 9) + 7));

        }

        return answers;

    }

}


Wednesday, February 18, 2026

 This is a summary of a book titled “The Datapreneurs: The Promise of AI and the Creators Building Our Future” written by Steve Hamm and Bob Muglia and published by Peakpoint Press, 2023. This book examines how artificial intelligence and data-driven systems are reshaping the economy, technology, and society. The authors argue that the world is entering a period in which intelligence, labor, and energy—the three foundational forces of the modern economy—are all becoming cheaper due to technological advances. Artificial intelligence, particularly the development of artificial general intelligence and the possibility of artificial superintelligence, has the potential to add intelligence to nearly every device and application. At the same time, progress in renewable and advanced energy technologies may reduce the cost of electricity, while robotics could significantly lower the cost of certain kinds of labor. Together, these shifts point toward a profound economic transformation.

The authors suggest that within the next decade, many of the AI assistants people interact with daily could surpass the level of median human intelligence. As these systems evolve through successive generations, they may become capable of artificial superintelligence, potentially exceeding the combined intellectual capacity of humanity. This development could trigger what has often been described as a technological singularity, a moment when technological progress accelerates beyond human prediction or control. Such a shift could compress centuries of scientific and economic advancement into a much shorter time span, creating opportunities to address persistent global challenges such as climate change, disease, and poverty. However, the authors emphasize that these outcomes are not guaranteed and depend heavily on how humans choose to guide and govern intelligent machines.

The authors delve into need for ethics and values to shape the relationship between humans and machines. They contrast optimistic visions of a future characterized by abundance and ease with darker, more dystopian possibilities in which powerful machines generate fear or inequality. To avoid harmful outcomes, they argue for the creation of a new social contract that defines how intelligent systems should behave once they exceed human capabilities. Because advanced machines will increasingly make decisions and take actions independently, the values embedded in their design will play a decisive role in shaping their impact. Establishing ethical frameworks is therefore not an abstract concern but a practical necessity for long-term human and machine collaboration.

The book places current developments in artificial intelligence within a longer historical context by tracing the evolution of data management technologies. Relational databases are presented as a foundational breakthrough that made modern data-driven computing possible. Earlier systems relied on rigid hierarchical or network-based structures that were difficult to update and scale. The relational model, developed by IBM researcher Ted Codd in 1970, introduced a more flexible way to organize data, allowing relationships to be defined mathematically rather than hard-coded into applications. The introduction of SQL and the commercialization of relational databases by companies such as IBM, Oracle, and Sybase helped make data more accessible and adaptable for organizations of all sizes.

Microsoft’s role in expanding access to data management is highlighted as a key moment in the democratization of computing. The company’s emphasis on making information readily available, combined with the release of more affordable and user-friendly database systems such as SQL Server 7.0, lowered barriers for smaller businesses that previously lacked access to enterprise-level data tools. By reducing costs and simplifying maintenance, Microsoft helped bring advanced data processing capabilities beyond large corporations and into the broader economy.

As data volumes grew, the book explains, new infrastructure became necessary to support machine learning and AI systems. Cloud-based data platforms and pipelines now allow organizations to store, process, and move massive amounts of structured and unstructured data. These pipelines function as connective tissue, transferring data into centralized repositories where it can be used to train AI systems. In this framework, future AI assistants will increasingly learn from data warehouses and data lakes, drawing insights from continuous streams of information rather than static datasets.

The authors also describe the emergence of data applications, which differ from traditional software by responding directly to changes in data rather than user commands. Powered by relational knowledge graphs and predictive models, these systems can automate routine decisions and actions. As a result, many administrative tasks may be handled by machines, allowing people to focus on analysis, strategy, and creative problem-solving. This shift extends to autonomous systems such as drones and self-driving vehicles, which require databases capable of synchronizing data rapidly across networks to ensure safety and coordination.

The book further explores the importance of programming languages in the evolving data ecosystem, particularly the rise of Julia. Designed to address inefficiencies in data science workflows, Julia enables high-performance computing without requiring developers to rewrite code in lower-level languages. Its support for automatic differentiation makes it well suited for building predictive models and neural networks, and it is already being used in fields ranging from finance to climate science.

Finally, the authors turn to foundation models, large-scale AI systems trained on vast datasets that exhibit emergent capabilities. These models can be adapted for a wide range of tasks, from writing text to generating images and assisting with software development. Powered by neural networks, such systems can sense, learn, reason, plan, adapt, and act with increasing autonomy. As these capabilities advance, the authors argue that computer scientists and society as a whole must prepare for a future in which machines generate long-term plans and predictions. The book concludes that while superintelligent systems hold enormous promise, their impact will ultimately depend on the values and responsibilities humans choose to embed within them.


Tuesday, February 17, 2026

 While operational and analytical data gets rigorous treatment in terms of the pillars of good architecture such as purview, privacy, security, governance, encryption at rest and in transit, aging, tiering and such others, DevOps tasks comprising Extract-Transform-Load, backup/restore and such others, is often brushed aside but never eliminated for the convenience they provide. This is inclusive of the vast vector stores that have now become central to building contextual copilots in many scenarios.

One of the tools to empower access of data for purposes other than transactional or analytics is the ability to connect to it with a client native to the store where the data resides. Even if the store is in the cloud, data plane access is usually independent of the control plane command-line interfaces. This calls for a creating a custom image that can be used on any compute to spin up a container with ability to access the vectors. For example, this Dockerfile installs clients:

FROM python:3.13-latest-dev

USER root

RUN apt-get update && \

    apt-get install -y ksh \

    ldap-utils \

    mysql-client \

    vim \

    wget \

    curl \

    libdbd-mysql-perl \

    libcurl4-openssl-dev \

    rsync \

    libev4 \

    tzdata \

    jq \

    pigz \

    python3-minimal \

    python3-pip && \

    apt-get clean && \

    rm -rf /var/lib/apt/lists/* && \

    pip3 install s3cmd

RUN apk add --no-cache mariadb mariadb-client

RUN pip install azure-storage-blob requests

RUN pip install requests

WORKDIR /app

COPY custom_installs.py .

RUN mysqldump --version

RUN mysql --version

ENTRYPOINT ["python", "custom_installs.py"]