written by Eric J. Ma on 2024-11-14 | tags: modal deployment open source api cloud gpu software models ollama large language models
In this blog post, I share my journey of deploying Ollama to Modal, enhancing my understanding of Modal's capabilities. I detail the script used, the setup of the Modal app, and the deployment process, which includes ensuring the Ollama service is ready and operational. This exploration not only expanded my technical skills but also prepared me for future integrations with larger models. Curious about how this deployment could streamline your projects?
Read on... (1214 words, approximately 7 minutes reading time)written by Eric J. Ma on 2024-11-08 | tags: python tooling data science notebook reproducibility juv uv environment management scripts analysis
In this blog post, I explore the innovative 'juv' package, which simplifies Python environment management for Jupyter notebooks by embedding dependencies directly within the notebook file. This approach eliminates the need for separate environment files, making notebooks easily shareable and reducing setup complexity. I also discuss integrating 'juv' with 'pyds-cli' to streamline ad-hoc data analyses within organizations, enhancing reproducibility and reducing environment conflicts. Curious about how this could change your data science workflow?
Read on... (1328 words, approximately 7 minutes reading time)written by Eric J. Ma on 2024-11-02 | tags: llamabot logging software development llm large language models web development version control
In this blog post, I share the latest updates to LlamaBot, including automatic logging of LLM interactions, version-controlled prompt logging, and a new web-based UI for visualizing these logs. These features enhance prompt analysis and make prompt engineering more intuitive and data-driven. Additionally, logs can now be exported in OpenAI fine-tuning format for easier sharing and integration. If you're keen on refining your LLM interactions and prompt crafting, these tools might be just what you need. Curious to see how these new features can streamline your workflow?
Read on... (595 words, approximately 3 minutes reading time)written by Eric J. Ma on 2024-10-25 | tags: data science coding documentation readability distribution best practices cognition tool making
This blog post, which is my pyOpenSci Fall Training keynote, explores the importance of creating clean, distributable, and well-documented data science code, emphasizing the human dimension of coding practices. In it, I discuss key concepts such as readability, cognitive load, and the toolmaker's mindset, and provide practical insights on how to make code more accessible and impactful for both the creator and other users. I also touch on the role of AI in coding and documentation.
Read on... (3795 words, approximately 19 minutes reading time)written by Eric J. Ma on 2024-10-20 | tags: coding fastapi htmx automation design prototype development patterns assistance productivity
In this blog post, I share my experience using Cursor to transform a sluggish Panel app into a sleek HTMX + FastAPI application. I detail how AI-assisted coding not only sped up the process but also enhanced my understanding of web development. Despite my limited skills in this area, the AI tools helped me prototype faster and learn valuable lessons. I also reflect on the importance of critically assessing AI-generated code to improve one's coding instincts. Curious to see how it turned out and what insights I gained?
Read on... (690 words, approximately 4 minutes reading time)written by Eric J. Ma on 2024-10-18 | tags: data science science collaboration standardization empathy automation reproducibility reviews coding research
In this blog post, I discuss enhancing collaboration between data scientists and non-computational colleagues to ensure impactful work. I emphasize the importance of standardizing code initialization, involving non-coders in code reviews, empathetic communication across roles, and ensuring work is runnable on any computer. These practices aim to bridge gaps, reduce cognitive load, and foster mutual appreciation of challenges faced in data science projects. How can these strategies be implemented in your team?
Read on... (1626 words, approximately 9 minutes reading time)written by Eric J. Ma on 2024-10-09 | tags: joy standardization mentorship building speed gatherings puzzles investment conversations standardization
In this blog post, I explore what brings me joy at work, highlighting my passion for setting high standards, mentoring, building tools, and engaging in meaningful projects at Moderna. I discuss the satisfaction derived from creating efficient solutions and the thrill of solving complex problems. Conversely, I touch on aspects of my job that are less joyful, like operational tasks and unnecessary complexity, which I strive to minimize through automation and effective processes. What brings you joy at work, and what removes joy from work for you?
Read on... (1238 words, approximately 7 minutes reading time)written by Eric J. Ma on 2024-10-06 | tags: ai programming productivity software development automation cryptography
In this post, I detail my experience building Pigeon Secure Notes, a secure note-sharing app, in under 15 minutes of coding time. I highlight the use of AI-assisted coding tools like Cursor and Claude Sonnet, discuss the challenges faced during development and deployment, and reflect on the benefits and limitations of AI-assisted programming for experienced developers. The post also touches on the importance of practical wisdom in software development and the thrill of building at "the speed of thought."
Read on... (1276 words, approximately 7 minutes reading time)written by Eric J. Ma on 2024-09-27 | tags: jupyter notebooks llm automation documentation productivity data science python llamabot
In this blog post, I introduce a new tool that uses LLMs to automatically generate explanations for Jupyter notebook cells. I discuss the motivation behind creating this tool, its current capabilities and limitations, and provide recommendations for optimal usage. The post also includes instructions on how to install and try out the tool for yourself. Curious about how it can streamline your data science projects? Why not give it a try?
Read on... (484 words, approximately 3 minutes reading time)written by Eric J. Ma on 2024-09-23 | tags: coding email htmx sqlite fastapi cloudmailin digital ocean deployment web development ai coding
In this blog post, I share my experience recreating Dan Ariely's Shortwhale using a tech stack that includes HTMX, SQLite, FastAPI, CloudMailin, and DigitalOcean. I highlight the transformative role of AI-assisted coding with Cursor, which allowed me to build core functionality in under two hours. The project, now live, was an experiment and a learning opportunity, emphasizing the speed and ease of AI-assisted web development. Curious about how AI can accelerate your web projects?
Read on... (519 words, approximately 3 minutes reading time)