ent maia

Posts about:

Training

Real Scientists Make Their Own Tools

There’s a long history of scientists who built new tools to enable their discoveries.

Tycho Brahe built a quadrant that allowed him to observe the path and distance of a comet as it crossed the solar system, helping to prove the heliocentric model of the way the stars and planets move. Galileo Galilei built his own telescope to study the night sky. Antoni van Leeuwenhoek built microscopes to study microbes. Marie Curie built ionization chambers to discover radioactivity. Rosalind Franklin built X-ray cameras to study DNA, viruses, and carbon. Nikola Tesla developed his eponymous coil to study X-rays, lighting, wireless power transmission, and phosphorescence.

Read More

7 Pro-Tips for Scientists: Using LLMs to Write Code

Scientists gain superpowers when they learn to program. Programming makes answering whole classes of questions easy and new classes of questions become possible to answer.

If you have some programming experience, large language models (LLMs) can raise the ceiling of your performance and productivity. Using LLMs to write code turns a challenging recall task (What’s this function call? How does this API work?) into a much easier recognition task (Yup, that looks good” or That looks fishy.) This post will discuss 7 ways LLMs can help you write, understand, and document code.

Read More

Configuring a Neural Network Output Layer

Introduction

If you have used TensorFlow before, you know how easy it is to create a simple neural network model using the Keras API. Just create an instance of the Sequential model class, add the number of desired layers and accompanying layer nodes, define the activation functions to be used by each layer, and compile your model by providing an optimizer and loss function.  Right? While this process is simple enough to grasp conceptually, it can quickly become an ambiguous task for those just getting started in deep learning.

Read More

ChatGPT on Software Engineering

Recently, I’ve been working on a new course offering in Enthought Academy titled Software Engineering for Scientists and Engineers course. I’ve focused on distilling the software engineering best practices that we use at Enthought with our clients, with the twist of “what parts are most useful for a scientist who writes software for R&D?” After all, we don’t want to simply replicate an academic 12-week course in software engineering; instead, we want to teach the subset of ideas that will make the most impact on scientific programming projects in the least amount of time. Unfortunately, I lost track of time and ran into my deadline for this blog. Panic time? Not this year.

Read More

Why Python?

Why Python? Of all of the questions that I have been asked as the instructor of an Enthought Python course, this has been one of the most difficult to answer in a satisfying way.

The answers I have given have always seemed more opinion than fact. Still, if someone asks me what language I recommend for new programmers or for a new project, unless there is a specific reason not to use Python, I recommend Python. And, if I were given a reason not to use Python, I would question that reason, just in case it was not really all that well thought out. So, why Python?

Read More

Accelerating Science: the Classical Mechanics Perspective

When thinking about enhancing R&D processes, Newton’s second law of motion provides the perfect framework.

Classical mechanics teaches us that putting a body into motion requires applying force. The resulting acceleration will be the sum of the forces applied to the body, divided by the body’s mass: a = F/m. So, if we want to accelerate R&D, what are the forces we need to consider? And, what is the mass?

Read More