<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blogs on Brian Carroll</title><link>https://briancarroll.cool/blog/</link><description>Recent content in Blogs on Brian Carroll</description><generator>Hugo -- 0.147.6</generator><language>en-us</language><lastBuildDate>Sat, 09 Nov 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://briancarroll.cool/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Outlook is the Best Productivity Tool Ever, Part 2</title><link>https://briancarroll.cool/blog/outlook-is-the-best-productivity-tool-ever-part-2/</link><pubDate>Sat, 09 Nov 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/outlook-is-the-best-productivity-tool-ever-part-2/</guid><description>&lt;p>Following up on my &lt;a href="https://briancarroll.cool/blog/outlook-is-the-best-productivity-tool-ever-part-1/">previous post&lt;/a>, where I described the framework for how I manage work using Outlook, this post focuses on the technology behind it.&lt;/p>
&lt;p>I use Outlook Tasks to record all actionable items. I built an Outlook C# VSTO add-in to capture the work. When I am processing my email and find something I need to do, I select that email and click the Add Tasks button in the Outlook ribbon.&lt;/p></description></item><item><title>Mysterious Langchain Azure OpenAI Problems</title><link>https://briancarroll.cool/blog/mysterious-langchain-azure-openai-problems/</link><pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/mysterious-langchain-azure-openai-problems/</guid><description>&lt;p>I was banging my head on this problem for hours. Using langchain and our Azure OpenAI model, I kept getting a Value error:&lt;/p>
&lt;pre tabindex="0">&lt;code>As of openai&amp;gt;=1.0.0, Azure endpoints should be specified via the
`azure_endpoint` param not `openai_api_base` (or alias `base_url`).
&lt;/code>&lt;/pre>&lt;p>I was not defining &lt;code>openai_api_base&lt;/code> anywhere in my code. LLMs were no use but I did find the suggestion on Reddit to check if &lt;code>openai_api_base&lt;/code> was an environment variable.&lt;/p>
&lt;p>Sure enough, I had defined that months ago, never used it, and forgot it. Deleted the variable and problem solved.&lt;/p></description></item><item><title>Outlook is the Best Productivity Tool Ever, Part 1</title><link>https://briancarroll.cool/blog/outlook-is-the-best-productivity-tool-ever-part-1/</link><pubDate>Mon, 30 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/outlook-is-the-best-productivity-tool-ever-part-1/</guid><description>&lt;p>I wrote that headline to bother my brother, who despises Outlook. This post is not really about Outlook, although it is central to the topic. I really want to write about how I manage work and as a response to Ian Bogost’s article in the Atlantic about the terribleness of email.&lt;/p>
&lt;p>I adopted David Allen’s Getting Things Done (GTD) process and refined it for many years. I use Outlook as my inbox, with tasks as the central, actionable record.&lt;/p></description></item><item><title>.bat File on Windows Taskbar</title><link>https://briancarroll.cool/blog/bat-file-on-windows-taskbar/</link><pubDate>Sat, 28 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/bat-file-on-windows-taskbar/</guid><description>&lt;p>When building my &lt;a href="https://briancarroll.cool/blog/llm-assisted-active-directory-search/">Active Directory search tool&lt;/a>, I wanted to launch it from the Windows taskbar. I created a .bat file to activate the python virtual environment and run the program. However, you can&amp;rsquo;t directly add a .bat file to the taskbar.&lt;/p>
&lt;p>To get around this you can rename the .bat file extension to .exe, add it to the taskbar, rename the .exe back to .bat, finally edit the properties of the taskbar icon to point back to the renamed .bat file. Why Microsoft?&lt;/p></description></item><item><title>LLM-assisted Active Directory Search</title><link>https://briancarroll.cool/blog/llm-assisted-active-directory-search/</link><pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/llm-assisted-active-directory-search/</guid><description>&lt;p>I needed to check Active Directory (AD) to see who was part of a group. I use AD infrequently and keep a list of queries in a text file on my desktop, as I can’t ever remember the syntax.&lt;/p>
&lt;p>As I opened my list I thought&amp;hellip;wait, I don’t ever have to do this again. Let’s write a program to take a natural language prompt and have our LLM figure out the PowerShell commands. Within 30 minutes I had a functional program. It took several small iterations and these are the prompts I used. Unfortunately, I can’t share the program.&lt;/p></description></item><item><title>I was going to write a post but ...</title><link>https://briancarroll.cool/blog/i-was-going-to-write-a-post-but/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/i-was-going-to-write-a-post-but/</guid><description>&lt;p>Simon Willison beat me to it. &lt;a href="https://simonwillison.net/2024/Sep/20/using-llms-for-code/">This&lt;/a> sums up my experience coding with LLMs. I love it. For a brief amount of time I worried about it making me a lazy programmer but it isn&amp;rsquo;t. Asking the LLM about the code it writes is a far better way to learn than copying code out of a book and hoping the author could explain it.&lt;/p></description></item><item><title>Everything is Manipulatable</title><link>https://briancarroll.cool/blog/everything-is-manipulatable/</link><pubDate>Mon, 23 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/everything-is-manipulatable/</guid><description>&lt;p>When working on the &lt;a href="https://briancarroll.cool/blog/windows-task-scheduler-woes/">task scheduler issue&lt;/a> I previously posted, I managed to lock myself out of my computer. It’s been a long time since I have done that. I had some research to do. These days that means querying an LLM but I actually didn’t find this answer through them. Good ol’ Reddit solved it.&lt;/p>
&lt;p>See, on the Windows login screen, there is a button for the Ease of Access settings. If you click it, it will run an .exe called utilman.exe. This password recovery process involves you booting from the USB, opening the command-line, backing up utilman.exe, creating a copy of cmd.exe, renamed as utilman.exe. Now when you boot back to Windows, you can access the command prompt from the login screen by clicking Ease of Access and resetting your password.&lt;/p></description></item><item><title>Windows Task Scheduler Woes</title><link>https://briancarroll.cool/blog/windows-task-scheduler-woes/</link><pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate><guid>https://briancarroll.cool/blog/windows-task-scheduler-woes/</guid><description>&lt;p>My favorite cartoonist has a website where he displays daily selections from his archive. I want this in my life but I can’t be bothered to go to a website everyday. So several years ago, I wrote a python script to take screenshots of the cartoons and email them to me (scraping didn’t work). The script was scheduled through Windows Task Scheduler.&lt;/p>
&lt;p>Then I changed computers, brought over the code, and have been struggling for days to get the task scheduler to work. The task wouldn’t run the python script directly. I wrote .bat and .ps1 files to try and activate the virtual environment, then run the scripts. I fixed that, then the images were downloaded as black images. Over and over, problem after problem, including changing my password and getting locked out of my computer (… cool hack to restore to come).&lt;/p></description></item></channel></rss>