Skip to main content

Compile-Time Construction in Rust

· 8 min read
Jennings Zhang
Research Developer @ Boston Children's Hospital

Rust's type system enables "correct by construction" design, however there are limitations to how data can be constructed at compile time. Here we go over the four approaches to static data initialization and their respective pros and cons.

Orthanc on OpenShift

· 6 min read
Jennings Zhang
Research Developer @ Boston Children's Hospital
Orthanc Logo
OpenShift LogoOpenShift Logo

Our research lab, the FNNDSC, directs international collaborations on pediatric neuroimaging research. The data sharing platform for this research is ChRIS. We have implemented a solution for sharing DICOM data between "peer" instances of ChRIS using Orthanc, an open-source DICOM server. Here we describe our deployment of Orthanc on Red Hat OpenShift and other open-source contributions we would like to share with the Orthanc community.

Next-Next-Gen Web Development

· 6 min read
Jennings Zhang
Research Developer @ Boston Children's Hospital

Web development evolves rapidly. Not only do we have new JS frameworks, but new toolchains as well, such as Deno, Bun, and Farm.

This blog summarizes the history of React.js and the motivation to replace it. It also mentions Bun and Farm as new and exciting alternatives to using Vite for React development.

Advantages of Rust for Orthanc Plugin Development

· 8 min read
Jennings Zhang
Research Developer @ Boston Children's Hospital
Orthanc Logo

Orthanc is an open-source PACS server written in C++ with an extensive interface for plugin development. Here we announce orthanc_sdk, a library for developing Orthanc plugins in safe and idiomatic Rust. This article explains why Rust is a good language for Orthanc plugin development and the design of the orthanc_sdk crate.

Debugging Django in Production on Kubernetes

· 4 min read
Jennings Zhang
Research Developer @ Boston Children's Hospital

Sometimes, you come across an edge case in production that is just not feasible to reproduce in a development environment. Or, it's more convenient to forego best practices and debug against the real user data.

Debugging in production is a bad practice, furthermore a Kubernetes environment can make things even harder. But for whatever reason, sometimes you have to do what you have to do. Here are some tips on how to debug a Django application in production on Kubernetes.