Magesh Ravi
Artist | Techie | Entrepreneur
The runtime environment bridges these components into a cohesive whole. That's why developers often gain deeper insights by running the software in its intended environment than analysing each component in isolation.
To understand a software system, study its foundational elements:
Spent 5+ hours trying to figure out why my home server wouldn't connect to the internet.
Turns out my router reset all it's configurations including the subnet. So any connection that didn't rely on DHCP failed.
Also, there is a .dockerignore file that lets you ignore files/folders when building an image. Similar to .gitignore.
With BuildKit's secrets,
# create user
RUN --mount=type=secret,id=user_uid \
--mount=type=secret,id=user_gid \
GROUP_ID=$(cat /run/secrets/user_gid) \
USER_ID=$(cat /run/secrets/user_uid) \
# ...
Without BuildKit's secrets,
ARG USERNAME=webinative
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
# create user
RUN groupadd --gid $USER_GID ${USERNAME} \
&& useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME}
TIL about BuildKit in Docker.
As of today, the legacy builder is the default option. However, BuildKit can be enabled with the simple ENV variable,
DOCKER_BUILDKIT=1 docker build
Exhibit AI output with LangChain AgentExecutor with tools.

Been refining Exhibit AI with LangChain tools.