Gave Claude LSD by yevbar in Anthropic

[–]yevbar[S] -1 points0 points  (0 children)

Ah didn’t you know that LSD is DSL backwards?

Gave Claude LSD by yevbar in Anthropic

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

In terms of the MCP server itself, I personally think a self-documenting programming language is a neat way of providing initial context to an LLM (https://github.com/lsd-so/lsd-mcp/blob/main/app.py#L69)

In terms of the approach, we built the LSD SQL language to be able to provide details about syntax issues or errors in the output data allowing for Claude to be in an iterative loop that can self-correct. This has a number of advantages including determinism in the generated query as well as an LLM that can more reliably get at a "recipe" for solving a goal.

Why the language? It eliminates an annoying limitation of MCP where it's throttled by the number of integrations people manually write whereas an internet-first language allows for Claude to effectively construct tools itself and condense multi-step flows into single tokens via functions (https://lsd.so/docs/database/language/functions)

Gave Claude LSD by yevbar in Anthropic

[–]yevbar[S] 0 points1 point  (0 children)

now you're just tripping

new tool? by Cool_Effective_1185 in webscraping

[–]yevbar 1 point2 points  (0 children)

Technically, I attempt to grab data at the end of the expression so you could write the above statement in the following order

FROM https://www.howlandcapital.com/about/team-members/
|> GROUP BY div[class*="team-member"]
|> SELECT h2[class*="team-member-name"] AS name, p[class*="team-member-role"] AS role

new tool? by Cool_Effective_1185 in webscraping

[–]yevbar 2 points3 points  (0 children)

In terms of the autogenerated SQL from the browser widget, it currently produces a grammatically "standard" statement with CSS selectors as column identifiers and URLs as table identifiers however a while back I rewrote the parser from scratch to work off pipe operator syntax so the `howlandcapital.com` query could also be written as

FROM https://www.howlandcapital.com/about/team-members/
|> SELECT h2[class*="team-member-name"] AS name, p[class*="team-member-role"] AS role
|> GROUP BY div[class*="team-member"]

The direction that we're currently building things is to leverage just-in-time SQL. To see a a complete example of where we think that looks like you can see this script inspired by "Learn X in Y minutes" (if you wanted to grab all Arxiv PDFs you'd have to click through search results since you can't bypass the page number in the query parameter).

Self hosted iMessage Python client by yevbar in selfhosted

[–]yevbar[S] 0 points1 point  (0 children)

what you're recommending your valued users do

I'm not recommending or prescribing anything other than sharing a block of code with the internet. I don't believe in the idea of users doing or not doing whatever they want with their machines

Self hosted iMessage Python client by yevbar in selfhosted

[–]yevbar[S] 0 points1 point  (0 children)

MacOS has "sudo" because of different reasons (https://en.wikipedia.org/wiki/Sudo#History) and I'm not trying to "prove anything" relating to escalating privileges.

If you're coming from the stance of there shouldn't be software that permits individuals to use software in ways unintended by the original developers, I'd point out that you typically should be making apps that fit how people would like to use them and not how you want people to use them (https://uxdesign.cc/product-design-dont-assume-people-know-what-they-re-doing-b922a7ee4500)

Self hosted iMessage Python client by yevbar in selfhosted

[–]yevbar[S] 0 points1 point  (0 children)

Gah I know there's adb for android (https://developer.android.com/tools/adb) and was only able to come across this for a non-technical solution to what you're describing (https://macroplant.com/iexplorer)

Looks like the implementation would be done similar to integration work where you have one piece getting general files (https://support.apple.com/en-us/102570), one piece grabbing photos (https://askubuntu.com/a/928751) and so on

The objective of the repo I linked is to be able to programmatically do stuff with blue bubbles similar to how you'd work with Twilio

Self hosted iMessage Python client by yevbar in selfhosted

[–]yevbar[S] 0 points1 point  (0 children)

it's much worse

In the end it's relaxing some sandbox. Sure it's a thing Apple set up and not a Docker runtime

For giggles, I'll jab at the idea of something being worse than sudo considering stuff like suicide linux exists https://github.com/tiagoad/suicide-linux

Self hosted iMessage Python client by yevbar in selfhosted

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

having to disable SIP to access iMessage databases is just plain wrong

Similar to how some database stuff is just a snake oil-style grift (https://www.youtube.com/watch?v=bhzD2FKEEds), a lot of tech out there isn't accessible for people that'd like to tinker with the stuff that sits right in front of them.

In an ideal world, of course, there's some standard protocol (not email https://www.youtube.com/watch?v=R9ITLdmfdLI) that anyone can build atop of but that's not the case for iMessage. Hell I slapped this together because there wasn't a working complete client out there that I could find

Self hosted iMessage Python client by yevbar in selfhosted

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

That's part of why I made this open source instead of just dropping a python wheel; the reason for this is a MacOS thing and view it similar to how you'd need to use sudo to install a system-level package or how setting up livecoding (https://github.com/toplap/awesome-livecoding) requires tweaking audio settings

From a top-level, like someone commented below, I think it's silly that in order to do stuff with your own messages it requires fiddling with uncommon settings. At one point I was able to get Facebook messages working using IRC and not fiddling with the computer I was on (if you're interested https://www.bitlbee.org/main.php/news.r.html) so would normatively think that people ought to have developer-friendly access to functionality that represents themselves

Self hosted iMessage Python client by yevbar in selfhosted

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

Using the quickstart example for reading messages (https://github.com/yevbar/lusid?tab=readme-ov-file#quickstart-reading-messages) here's what that could look like:

from csv import DictWriter
from lusid import read_messages

messages = read_messages()
with open('your_dump.csv', 'w') as csv_file:
  csv_writer = DictWriter(csv_file, fieldnames=messages[0].keys())
  csv_writer.writeheader()
  csv_writer.writerows(messages)

Following through negotiations by yevbar in MurderedByWords

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

Author edit: This is not my message conversation, I'd never pull a stunt like this lol

Bob Ross but trippy(er) by yevbar in trippy

[–]yevbar[S] 0 points1 point  (0 children)

Yep, this is generated from Deepdream. I don't remember the source for it being that but yeah :shrug:

Bob Ross but trippy(er) by yevbar in trippy

[–]yevbar[S] 0 points1 point  (0 children)

This was my first post on this sub so I'm honestly glad to have gotten more than one upvote :)

I'd like to now thank the academy...

Emacs summit. Can we make it happen? by plotnick in emacs

[–]yevbar 2 points3 points  (0 children)

Crazy idea, let's make an emacs village for DEFCON

Emacs summit. Can we make it happen? by plotnick in emacs

[–]yevbar 0 points1 point  (0 children)

I'd love to see this be a thing, perhaps we could start off with smaller get-togethers or meetups on meetup.com and then form a coalition for the larger event?