<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Juan Pablo De La Cruz Gutiérrez on Juampatronics&#39;s personal website</title>
		<link>https://juampatronics.github.io/authors/juan-pablo-de-la-cruz-guti%C3%A9rrez/</link>
		<description>Recent content in Juan Pablo De La Cruz Gutiérrez on Juampatronics&#39;s personal website</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Fri, 30 Oct 2026 23:54:38 +0100</lastBuildDate>
		
			<atom:link href="https://juampatronics.github.io/authors/juan-pablo-de-la-cruz-guti%C3%A9rrez/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Bringing sessions to ipyllm</title>
				<link>https://juampatronics.github.io/posts/new_ipyllm_version/</link>
				<pubDate>Fri, 30 Oct 2026 23:54:38 +0100</pubDate>
				<guid>https://juampatronics.github.io/posts/new_ipyllm_version/</guid>
				<description>&lt;p&gt;When doing data exploration it is also important to remember how you obtained the results. This is the main motivation behind this new version of &lt;a href=&#34;https://github.com/juampatronics/ipyllm&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ipyllm&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can now start recording a session with &lt;code&gt;%llm --save FILE.py&lt;/code&gt;. From that moment on, all your prompts will be saved as comments followed by the corresponding code produced by your agent in that file. &lt;code&gt;%llm --save off&lt;/code&gt; stops the recording.&lt;/p&gt;&#xA;&lt;p&gt;You can rerun a session and continue recording with &lt;code&gt;%llm --resume FILE.py&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>eqn2latex: Reviving Legacy Notation in the Browser</title>
				<link>https://juampatronics.github.io/posts/eqn2latex/</link>
				<pubDate>Tue, 13 Oct 2026 22:15:02 +0200</pubDate>
				<guid>https://juampatronics.github.io/posts/eqn2latex/</guid>
				<description>&lt;p&gt;Many years ago, I got hooked on &lt;a href=&#34;https://troff.org/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;troff&lt;/a&gt; and all its companion programs. The best reference to understand and appreciate the design of these tools is &lt;a href=&#34;https://www.oreilly.com/openbook/utp/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;UNIX Text Processing&lt;/a&gt;. Great book, still today.&lt;/p&gt;&#xA;&lt;p&gt;Troff’s appeal comes mostly from its design philosophy, which is very much Unix’s: small tools that each do one job, connected by pipes.&lt;/p&gt;&#xA;&lt;p&gt;The preprocessor ecosystem. Instead of one monolithic program, troff has a family of companions that each translate a specialized mini-language into plain troff requests:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Supercharging IPython with ipyllm</title>
				<link>https://juampatronics.github.io/posts/ipyllm/</link>
				<pubDate>Sun, 11 Oct 2026 23:57:42 +0200</pubDate>
				<guid>https://juampatronics.github.io/posts/ipyllm/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://juampatronics.com/ipyllm&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ipyllm&lt;/a&gt; is a open source IPython extension that seamlessly integrates Large Language Models (LLMs) into your live IPython environment. Built on top of the versatile &lt;a href=&#34;https://llm.datasette.io/en/stable/usage.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;llm&lt;/a&gt; package, ipyllm extends the IPython REPL with agents that access your current environment to help you solve data analysis tasks, assist you with the exploration of an API or help you debug issues in your code.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-can-ipyllm-do-for-you&#34;&gt;&#xA;  What can ipyllm do for you?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-can-ipyllm-do-for-you&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Effortless Data Exploration&lt;/strong&gt;: Instead of explaining your dataset in text, ask &lt;code&gt;%llm What columns in &lt;/code&gt;df&lt;code&gt; have missing values?&lt;/code&gt; or &lt;code&gt;%%llm Plot the rolling average of sales using matplotlib and run the code.&lt;/code&gt;. The model inspects the live variables, writes the visualization, and executes it in your session.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Contextual Debugging&lt;/strong&gt;: When a script stalls or fails, drop &lt;code&gt;ipyllm.embed()&lt;/code&gt; into your code. It works just like &lt;code&gt;IPython.embed()&lt;/code&gt;, giving the assistant direct access to the function&amp;rsquo;s local scope and variables. You can ask: &lt;em&gt;“What is holding &lt;code&gt;result&lt;/code&gt; in a None state?”&lt;/em&gt; and let the model inspect local state on the fly.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Diagnostic Shell Integration&lt;/strong&gt;: Run commands inside &lt;code&gt;%%llm --run&lt;/code&gt; (such as &lt;code&gt;pytest -q&lt;/code&gt;) to capture stdout, stderr, and exit codes instantly, letting the model explain failures and suggest fixes without manual log pasting.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;supercharging-data-analysis-with-agent-skills&#34;&gt;&#xA;  Supercharging Data Analysis with Agent Skills&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#supercharging-data-analysis-with-agent-skills&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Data analysis workflows often require specialized domain knowledge. &lt;code&gt;ipyllm&lt;/code&gt; bridges this gap by supporting local &lt;a href=&#34;https://agentskills.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Agent Skills&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
