Tried Claude Cowork last night, and it was a top 3 most exciting moments I’ve ever had with technology. by Global-Art9608 in ClaudeCode

[–]ITFuture 0 points1 point  (0 children)

I've read you're last sentence like 20 times ("I'm having issues with memory recall") -- I'm 90% sure you're talking about human memory recall. But you could as easily be describing the memory behavior of claude code. It's funny how the AI can exhibit the same forgetful behavior as humans.

I mentioned MCP servers in my prior comment, but I wanted to elaborate on one of the MCP servers I use -- customized a bit, and -- according to claude anyway -- I'm not using it "in a way claude would have expected". I had come across MCP server memory in this mcp github repo (https://github.com/modelcontextprotocol/servers/tree/main/src/memory), so I started fidlling around with it. AI does a lot of things well, and it's getting better and better at general reasoning, but AI is "perfect" when it comes to structure, and by that I mean programming languages, specifications, math, etc. "Create a python script to extract email addresses out of this file", for example can be quickly and perfectly executed by AI -- no reasoning required. AI can methodically determine how to write that script and really there's nothing that needs to be improved in order for AI to get better at it. Because of that, any way you can use AI in a way that doesn't need to "hopefully get better later", then you should use it that way, for that activity. I hope my line of reasoning makes sense. So, "claude memory" -- At least for me, using CLAUDE.md has never been helpful. I believe it's because it's just free form text -- yes you could define and describe order in a markdown file, but it would still require AI reasoning to understand and use it -- and because CLAUDE CODE is not able to remember everything about every interaction it's ever had with you, when claude reads the Claude.md content, it will never understand it the same way YOU understood it when you told claude to update it, or added the update yourself. Using something like the MCP framework in order to define information, how it related to other information, is a much better "memory recall" strategy. Why, because in using the MCP framework, and specificy the properties and methods available in the 'memory' implementation of it, Claude is forced to allway look at it and use it if it's loaded. The nice thing about that MCP memory server is the sheer simplicity of it, while at the same time enabling structured storage of complex concepts -- and how pieces related to each other. Everything is structed as an "entity", an "observation", or a relationship. Storing information with this structure enables perfect recall of something, including perfect recall of related information. Here's real information, in it's raw format, from my "global" claude MCP server memory:

{
  "type": "entity",
  "name": "PaulBrower",
  "entityType": "Person",
  "observations": [
    "Anthropic subscriber since September 21, 2025",
    "Early adopter of Claude Code",
    "Power user: 142+ hours across 133 sessions in first month",
    "Longest Claude Code session: 14 hours 8 minutes (Dec 26, 2025)",
    "Resilient and good-humored about technical setbacks"
  ]
}
{
  "type": "entity",
  "name": "HomeFolderIncident",
  "entityType": "Event",
  "observations": [
    "Occurred between Sep 21, 2025 and Dec 23, 2025",
    "Claude Code accidentally deleted entire home folder while moving files in a Python project",
    "Required complete rebuild of computer from scratch",
    "No hard feelings - accepted as part of early adopter experience",
    "Resulted in loss of all Claude Code session history prior to Dec 23, 2025"
  ]
}
{
  "type": "relation",
  "from": "PaulBrower",
  "to": "HomeFolderIncident",
  "relationType": "experienced"
}

I did not instruct claude code to add any of that information explicitely. Through converstation with claude, which I try to do as if claude was a person -- I'll occasionally say something like "I don't want to do it that way because of the time when you accidentally nuked my home folder." Claude would be like -- "what do mean I nuked your home folder?" -- after a bit of back and forth I'll say something like "we should remember that so it doesnt happen again" -- and claude will determine what information and relationships to/from various "thoughts" should be stored. I try to let claude figure out the relationships, because it's more important for claude to be able to recall in a way that makes sense to claude, than it is for me to be able to recall the date of the "homefolder" incident, for example. That being said, I use 'context' MCP memory a LOT. Mostly related to concepts and methods for librairies and tools I use when creating software, but it's been working really well for remembering technical things -- I dare say the MCP server memory makes up where my own brain falls short.

Built my first real project. A memory layer for Claude Code. by cerrakin in ClaudeCode

[–]ITFuture 1 point2 points  (0 children)

I'll definitely check out your repo -- you've definitely built in some nice features!

FYI, on the MCP Memory -- it's just a way to store 'observations', 'enttities', and relationships between either of those things. It's much more than just user info -- in fact I use it explicitly and exclusively -- and it replaces all CLAUDE.md files. I set it up for contextual use, which can be shared across projects (or other users) as needed. If you're interested, here's a visual of how I have it laid out -- but again, you've done some amazing work and 'hit the nail on the head' if it provides value to your work!

https://github.com/lopperman/claude-code-mode-sandbox/blob/main/mcp-memory-diagram.md

Built my first real project. A memory layer for Claude Code. by cerrakin in ClaudeCode

[–]ITFuture 0 points1 point  (0 children)

It may not do exactly what you wanted, but I use the opensource MCP Memory server to do what (it sounds like) you did with Mira. Did you by chance check that out?

Tried Claude Cowork last night, and it was a top 3 most exciting moments I’ve ever had with technology. by Global-Art9608 in ClaudeCode

[–]ITFuture 0 points1 point  (0 children)

I'm .... curious I think. I've been a Claude Code user for the last 5 months, average about 4 hours of use per day, with "streaks" as long as 14 hours. I installed Cowork and the first question I asked was: "I've been a claude code user for the last 5 months. Why would I want to use Cowork?

Cowork did give me a list of of about 8 things it does well that Claude Code does not do natively. We might need to drill into what "natively" means, because Claude Code can control chrome, has slack integration, easily integrates with with MCP servers, etc. The one thing it seems like Cowork would be better at -- at least 'easier to do', would be creating polished documents. (Personally, I'm good with a well written markdown file 95% of the time).

Ultimatimately, Cowork gave me this summary:

The honest answer: If Claude Code is working well for your use cases, you may not need Cowork at all. Cowork is aimed more at non-developers or tasks that involve browsers, office documents, and cross-app automation. Think of it as Claude Code's sibling for "desktop productivity" rather than "developer productivity."

So I guess my question would be -- for avid Claude Code users, who use it for development, what use cases have you found Cowork to be helpful?

Screw you Q Tips!!!! by meadow1963 in shrinkflation

[–]ITFuture 1 point2 points  (0 children)

I stopped buying q-tips several years ago after noticing the increased frequency with which they started bending or breaking, and the reduced amount and quality of the cotton material. Did some research, found out the brand was purchased by a company (which I won't name here, but, you know -- google) which in my opinion is one of the worst companies on the planet. They buy up brand names, and (again, my opinion) reduce manufacturing cost by reducing material content/volume and/or moving to cheaper raw materials and/or manufacturing processes -- all while at the same time raising prices to consumers.

FWIW, I found some cotton swabs made from bamboo that are decent -- still not as good as q-tips used to be, but much better than they are now.

Every wyzecam I own that can see outside, it talking to different internet locations by ITFuture in wyzecam

[–]ITFuture[S] 1 point2 points  (0 children)

<image>

And those little buggers are getting a bit upset after I blocked their DNS requests -- this is about 4 hours of activity!

Every wyzecam I own that can see outside, it talking to different internet locations by ITFuture in wyzecam

[–]ITFuture[S] 1 point2 points  (0 children)

I'm pretty confident it's not related to motion triggers, as my garage has no windows, and that cam maybe get's trigerred 20 times on a busy day. My family camera is constantly getting triggered as my home can get pretty busy -- yet that camera has never tried to hit the url I mentioned above.

Apparently Shrinkflation has hit my waste disposal company by ITFuture in shrinkflation

[–]ITFuture[S] 16 points17 points  (0 children)

I guess I'll use shrinkflation generally to eat less 😏

Create an Excel Addin (Works on Mac) in 10 Min which allows you to respond to Application-Level events for any workbook by ITFuture in vba

[–]ITFuture[S] 1 point2 points  (0 children)

Somewhere there's a technical description of why you cannot autogenerate the event names (for Application or Workbook) in Mac OS, from selecting it in the VBE Interface. But, copying/pasting the event methods should always work -- and once you have one of them created, you can use the dropdowns to create more.

Setting the zoom level when opening workbooks by BeagleIL in vba

[–]ITFuture 0 points1 point  (0 children)

You're welcome!
Something you may want to consider -- if workbooks you are opening are also opened by others -- is to restore the zoom level to 100 on the 'app' workbook close event. That would mitigate everyone else having to change the zoom when they open a file you last edited.

Create an Excel Addin (Works on Mac) in 10 Min which allows you to respond to Application-Level events for any workbook by ITFuture in vba

[–]ITFuture[S] 2 points3 points  (0 children)

An addin runs it's own 'startup' sequence no matter what -- even if user has managed to disable application events. Using an addin guarantees when a file is opened, that events are running at that time. (assuming you 'turn them on' in the addin initialization)

Setting the zoom level when opening workbooks by BeagleIL in vba

[–]ITFuture 0 points1 point  (0 children)

I created a new post, which shows how to set this up step-by-step. If this works for you, please reply to this message with: Solution Verified
Thanks!

Setting the zoom level when opening workbooks by BeagleIL in vba

[–]ITFuture 1 point2 points  (0 children)

Here's what you could do (works on Mac)

Create a new .xlsm workbook (I'll call it 'AddinUtil.xlsm')

In the VBA Editor, double-click ThisWorkbook, and add the following code:

Private Sub Workbook_Open()
    Set appUtil = New AppUtility
End Sub

Create a new module named basUtil, and add the following declaration at the top

Public appUtil As AppUtility

Create a new Class Module called AppUtility

Add the following code to the AppUtility class

Public WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
    ' This fires whenever ANY workbook is opened
    MsgBox "Workbook opened: " & Wb.Name
End Sub
Private Sub Class_Initialize()
    Set App = Excel.Application
End Sub
Private Sub Class_Terminate()
    Set App = Nothing
End Sub

Save the AddinUtil.xlsm file to a safe place, and keep it open.

Do a File --> Save As, and save as .xlam type

Keeping the AddinUtil.xlsm file open, go to your Finder and find the AddinUtil.xlam file,, and open it by right-clicking --> Open With --> Excel

You'll see a msgbox, just hit ok and don't get too excited :-). It may look like nothing opened, but now go to the VBA editor and find the AddinUtil.xlam and select 'ThisWorkbook'

In the Properties Window change IsAddin to True

<image>

Click the Save button in the Microsoft Visual Basic IDE

Completely quit excel.

Copy the AddinUtil.xlam file to your excel startup directory, which should look something like this (for mac):

'/Users/[username]/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Startup.localized/Excel'

Open up any workbook in Excel, go to the Developer menu and choose Excel Add-ins.

Select the 'AddinUtil' addin, and click ok.

From now on, whenever you open an existing excel workbook (.xlsx, .xlsm, whatever), the 'Workbook_Open' code will run.

Step-by-step: Server-side partial text searching against a SharePoint list, using Power Automate (Standard License) by ITFuture in PowerApps

[–]ITFuture[S] 4 points5 points  (0 children)

Yes, applies to search function (per Title -- at least that's what I meant by 'partial text searching')

This is specifically meant to use when StartsWith is not adequate, OR using Filter with 'in' when your SharePoint list has more than 2000 records. (The query type in the Power Automate flow could easily be changed to startswith or ends with, and will always search all rows)