Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

I’ve been using my current avatar for over ten years. Ever since I started working in bioinformatics, I’ve wanted to add more complexity to it—half with circuit‑board patterns, the other half with DNA patterns, connected by a smooth transition in the middle to symbolize the transformation from biology to information, which fits my professional field. However, I’m not very skilled at photo editing, so I couldn’t achieve the desired effect. This year, the newly released image‑editing models gave me hope to realize my idea.

I just wanted to set up a devcontainer environment to maintain the company website more efficiently, but I never expected to encounter three pitfalls in a single task…

Last year, when I joined my current company, I was tasked with preparing a teaching analysis environment for bioinformatics training. This opportunity introduced me to Pixi. Later, as my responsibilities shifted, I not only continued with bioinformatics analysis but also took on full‑stack maintenance work. The projects I handled spanned front‑end and back‑end, involving languages and frameworks beyond the data‑science staples R and Python. Pixi has still been able to serve as a cross‑language/stack development environment management tool (Conda offers an extremely rich resource pool, covering mainstream programming languages and common frameworks). Therefore, I’d like to summarize the practical Pixi features that have proven useful in my daily work.

I have experience with several rapid application development frameworks in python, all of which uniformly bind element actions to Python functions to trigger updates or changes. So I should be fairly experienced in this area. However, Taipy genuinely puzzles me———it occasionally throws errors for no apparent reason…

I’ve been wondering: Taipy seems to be actively maintained, and it appears to have quite a few users (judging by the number of issues raised). Yet its component library isn’t particularly rich, and even some basic features come with minor bugs (like the light/dark toggle button bug I discovered earlier). Then I accidentally came across the official tutorial on embedding third‑party content, and it suddenly clicked: even though its built‑in components are limited, you can always “stitch” in whatever you need!

As the number of projects I need to maintain keeps growing (3 official websites, 2 systems, and 1 mini‑program, all with separate front‑end/back‑end and independent databases), I’ve encountered many tasks that are trivial to do once but become chaotic when repeated many times across different contexts. I had already experimented with CI on GitHub, and this time I learned and practiced CD (Continuous Deployment).

In bioinformatics visualization, we often need to handle plots containing tens of thousands of data points, such as scatter plots from single‑cell RNA‑seq data. When saved in vector formats like PDF, such graphics can suffer from huge file sizes and slow rendering (most software other than AI will simply freeze), because a vector file records the coordinates, color, size, and other attributes of every single point, resulting in a PDF with an enormous number of objects that hampers viewing and editing efficiency.

Emmmmm, the contract with our official website vendor expired this year, so… I ended up with one more project to manage… This project is still frontend/backend separated, but the difference is that the official site has an English version, and the English version is actually a branch of the frontend project. I’ve used Submodule before to integrate a colleague’s independent module into the main project, but this time, after consulting with AI, I chose a different approach: Subtree.

In CI/CD workflows, dependency management is often a key factor determining build efficiency and reliability. Recently, I tried the setup-pixi GitHub Action in a static website deployment pipeline.

Ah, I didn’t expect that after so many years, Plotly still hits its limits with just a little use. Previously it couldn’t draw timeline charts, and this time I found that the customization of map markers is insufficient…


1 / 16