Jupyter AI Magics Are Not ✨Magic✨
It doesn’t take ✨magic✨ to integrate ChatGPT into your Jupyter workflow.
Integrating ChatGPT into your Jupyter workflow doesn’t have to be magic.
Posts about:
Integrating ChatGPT into your Jupyter workflow doesn’t have to be magic.
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.
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.
We can bend them to our will, but sometimes they’re not the right tools for the job.
Enter Xarray and Awkward Array.
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.
Like most people, I mostly interact with Python using the default REPL or with IPython. Yet, I often reach for one of the Python tools that come with the standard library. All these tools are implemented as “mains” in the various scripts and modules. Here are 7 I use on a semi-regular basis.
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.
When I was new to Python, I ran into a mysterious block of code that looked something like:
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?
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?