Eric J Ma's Website

« 7 8 9 10 11 »

Deploy to Dokku from GitHub Actions

written by Eric J. Ma on 2023-08-27 | tags: til github actions cicd continuous integration continuous delivery dokku digitalocean deployment coding devops cost efficiency dokku server git dokku deployment

In my latest blog post, I share my experience of hosting a Dokku server on DigitalOcean and how I've managed to automate the deployment process using GitHub Actions. I delve into the cost benefits of using Dokku on DigitalOcean over other services like Heroku and Fly.io. I also provide a step-by-step guide on how to configure GitHub Actions to deploy apps to DigitalOcean automatically. If you're interested in saving time and money on app deployment, this post is a must-read.

Read on... (379 words, approximately 2 minutes reading time)
Enable GitHub Actions to Push Code Changes

written by Eric J. Ma on 2023-08-26 | tags: til github github actions github workflow git configuration workflow runner github permissions repo settings workflow permissions github token

Today, I learned how about a hidden setting that's needed to enable GitHub Actions to push code to its associated repo, and wrote it out as a tutorial. As a bonus, I also share how to correctly configure git within a GitHub actions workflow. Discover the trick with me!

Read on... (174 words, approximately 1 minute reading time)
Use Cron to execute commands on startup

written by Eric J. Ma on 2023-08-22 | tags: automation command execution cron cron jobs init.d linux linux commands linux startup linux tutorial rc.local startup scripts systemd til

Today I learned how to execute arbitrary commands on startup on a Linux machine. It's pretty simple. Curious to hear more?

Read on... (113 words, approximately 1 minute reading time)
Journal Club: Differentiable Search of Evolutionary Trees

written by Eric J. Ma on 2023-08-07 | tags: machine learning phylogenetics protein engineering protein sequences ancestral sequences bioinformatics computational biology deep learning differentiable computing gradient-based optimization phylogenetic trees sequence representation tree adjacency vae protein design jax python

I've just explored a fascinating paper on differentiable search of evolutionary trees. It's a creative blend of math and biology, using mathematical structures to solve a biological problem. The authors have developed a way to infer both phylogenetic trees and ancestral protein sequences in a continuous, differentiable manner. This opens up exciting new avenues for protein engineering and design. Plus, the paper's figures are top-notch! 🧬🌳📊

Read on... (4001 words, approximately 21 minutes reading time)
Skating Ahead of the Puck: A Wayne Gretzky Approach to Tech Adoption

written by Eric J. Ma on 2023-08-04 | tags: wayne gretzky tech adoption data science emerging tech competitive advantage foresight execution capability risk management teamwork profit innovation strategic thinking technology ladder individual contributor team strategy thought framework

In this post, I discuss the 'Wayne Gretzky move' in tech adoption, especially in data science. It's about foreseeing the future of tech and making bold moves to stay ahead of the game. It's risky but with the right team, it can lead to significant gains. 🏒💻🚀

Read on... (269 words, approximately 2 minutes reading time)
Climbing the Tech Ladder or Staying Grounded? A Guide to Navigating Data Science Innovations

written by Eric J. Ma on 2023-07-24 | tags: data science technology ladder technological trinity decision making protein engineering methodologies innovation team building technical strategy bayesian optimization graph neural networks variational autoencoder machine learning library design lead optimization

In this post, I discuss how to decide which technological models to adopt in our work. I introduce two frameworks: the 'technological trinity' and the 'technology ladder'. The former helps us evaluate if a new technology is worth investing in, while the latter places it within a broader context. I illustrate these concepts using protein engineering as an example.

Read on... (1474 words, approximately 8 minutes reading time)
Behind-the-scenes developing LlamaBot

written by Eric J. Ma on 2023-07-21 | tags: llamabot openai gpt4 chatbot software development ai innovation langchain llama_index code ghostwriting zotero

Just built LlamaBot, a chatbot using OpenAI GPT-4, and it's been a wild ride! 🎢 From dealing with rapid innovation and versioning issues to discovering the power of code ghostwriting, it's been a learning curve. 🧠💡 Also, I explored some cool LLM frameworks. Dive in to learn more! 🏊‍♂️

Read on... (2403 words, approximately 13 minutes reading time)
How to configure a minimum Python version in pyproject.toml

written by Eric J. Ma on 2023-07-12 | tags: til python python310 pythonversioning pyproject.toml pythontips llamabot

In today's blog post, we dive into setting the minimum and maximum Python versions in pyproject.toml 🐍. We explore how this impacts llamabot and discuss the new syntax for indicating the union of types in Python 3.10. This new syntax is visually easier to understand, making our coding journey a bit smoother! 🚀👩‍💻👨‍💻

Read on... (119 words, approximately 1 minute reading time)
Automatically write awesome commit messages

written by Eric J. Ma on 2023-06-20 | tags: git commit messages gpt-4 llamabot cli tool openai api conventional commits collaboration project management debugging code review versioning machine learning outlines library coding bot

Tired of writing boring commit messages? 😴 I've got you covered! Introducing llamabot, a CLI tool that uses GPT-4 to craft meaningful commit messages following the Conventional Commits specification. 🚀 Improve collaboration, project management, and debugging with just one command! 🌟 Try it out with pip install llamabot. 🦙

Read on... (553 words, approximately 3 minutes reading time)
Outlines: LLM prompt management and more

written by Eric J. Ma on 2023-06-16 | tags: outlines python coding bot ghostwriting docstrings unit tests prompt management composable prompts llamabot gpt-4 code generation ui design jinja2 clean code

Today, I explored the outlines library and built a coding bot that ghostwrites code, docstrings, and tests! 🤖 With clean prompt design, I was able to create a compact and efficient Python program. The best part? It's super easy to map this to a user interface! 🎉 Check out how I did it and learn about the benefits of using outlines for prompt management. 😄

Read on... (1568 words, approximately 8 minutes reading time)
« 7 8 9 10 11 »