Categories
Uncategorized

A (Personal) Search Engine

Personal Search Engine by jjg

Back in Goodbye Google Search! I said:

“I think it’s our duty to find alternatives and try them out and see if we can move away from big tech, either by choosing self-hosted alternatives, more ethical companies, or ways to subvert the existing system.”

I also talked about quitting Google (Web) Search, or should I say Google AI Answers? Anyway, Google Web Search is dead, so it’s time for something else. I covered a bunch of options in the last post.

Meanwhile, through some discussions in a group chat I’m in with a few software developers the idea of a “Personal Search Engine” came up. I did a little looking around and there are things with that name, but they are often made to search your own documents locally stored, or web pages you have bookmarked, or they use LLMs (Yuk!) so this idea is more of a Personal Web Search Engine.

Now you need to go read Jason’s post: Personal Search Engines

A Personal Search Engine (PSE) is a search engine that specializes in your interests. It provides personalized search results by indexing only the things you are interested in, not by spying on you. Instead of crawling the entire Web and then looking for what you’ve searched for, A PSE crawls only the parts of the Web you are most interested in and looks for what you’re searching for there. The result is a list of hits that are relevant to your interests that point to websites you are more likely to know and trust.

I love this idea, and want to ramble on about it…

If I were to develop a PSE of my own, I think there are a few things I’d it to do.

Index Everything I Browse:

As I browse the web I’d like to just index every page I visit. This might seem like a lot of pages but honesty it’s probably less than feeding just one large domain to the index. If I am searching for some obscure thing like writing specific Arduino code to do some weird MIDI thing I may visit a dozen or more pages, and I’d like to see those all added to my index. Then the next time I need to find what I found I could just search my own index. Ideally I could “PageRank” my results in some way, either automagically using my PES to do so when I click a link…

Or maybe I could manually set the ranking on a page so it comes up higher in my searches. Should there be a way to manually rank things? Why not? It’s not like you can game your own system for profit or something, right?

Use the RSS Feeds:

I subscribe to a bunch of RSS feeds through my feed reader (FreshRSS and NetNewWire) and they provide some searching capabilities, but maybe we can feed those indexes into our master index so our PES can use it. Alternately we add RSS feeds to the PES directly so blogs and any site with a feed can be incrementally indexed over time.

So those are just two ideas I wanted to get out there… I will probably have more.

I think the magic of this is that while I mentioned SearXNG in the previous post, even though it’s a container application and was dead simple to install onto my NAS, it still relies on the indexes of other already existing search engines.

It’s 2026, and while we (still) have a number of options to search the general web, there is absolutely no reason we cannot self host our own personal web search engines.

Categories
Uncategorized

This is the Pain (Part VII)

Previously, in pain, and so on…

Remember when I said:

The surgery could get moved up if I start to lose control of my bladder and bowel…

And then I also said:

I’ve already gone over 120 days in pain, what’s another 70 or so?

Well the good news is, I did not lose control of my bladder and bowel… and I do not have to wait 70 whatever more days! The bad news is, my pain did start to worsen. There was also a scheduling conflict with the original surgery date, and we looked at pushing it back even further, like into August (ugh!) but instead it got moved up to next week!

I’ve already covered the details of the procedure and general situation in the previous post, so hopefully the next post will be about recovery.

Of course with any surgery there are risks, and there is a chance I don’t make it, so this might be the last blog post I publish.

If that is the case I just want to say thank you to all the great people I met along the way. This world can be rough, but having good friends and family (and cats!) to help you through it certainly makes things easier.

Signing off for now. I hope to post again next week. Cheers, and thanks for all the fish.

Categories
Uncategorized

This is the Pain (Part VI)

MRI Images

Since last time (and this) I figured it was time for an update.

I saw the pain management doctor (who gave me the injections) and he said I needed to have part of my spine widened since the injections did not work. The “spine hole widening” is a surgical procedure, so he suggested I see a surgeon. So I did.

The surgeon looked at my MRI and said “You’ve got a senovial cyst!” So yeah, there is a cyst on my spine pressing against the nerve that runs down my right leg, hence the terrible horrible pain in my right leg.

If you want to get technical I need a Laminotomy which is the opening of the space around the nerve, in this case by removing the cyst. (A Laminectomy on the other hand, is removal of part of the spine. Luckily a Laminotomy is a somewhat less invasive procedure.)

It seems plenty of (older) people get these cysts but never even know it because they do not cause any pain. Lucky me!

Other fun things from the diagnosis: “severe lumbar spinal canal stenosis” and “multilevel cervical spondylosis neural foraminal narrowing” and of course “degenerative disc disease” for good measure.

So the good news is I am scheduled for surgery. The bad news is I need to wait for three months after the injection, which would mean the first week of July. The other bad news is that due to my work schedule I can’t take off for the surgery until the last week of July. So as I am typing this it’s over 70 days until my surgery.

The surgery could get moved up if I start to lose control of my bladder and bowel, so that’s fun.

Otherwise I figure I’ve already gone over 120 days in pain, what’s another 70 or so? Are there days I wake up (in pain) and scream in agony? Yes. But hopefully we’ve got a solution to this nightmare.

Fingers Crossed and all that!

Categories
Uncategorized

The Lost Year of A Broken Man

spine pain

I awake
3am, 4am, maybe 5am
it’s not enough
the pain begins
will it be a few hours
or all day
I never know
time disappears
so many hours
in pain
lost time
a lost year

I take the pills
it was 1, then 2, the 3
four… five…
and it’s still not enough
to dull the pain
the pain
persists

so much I want to do
so much I cannot do
while the pain is in command

sometimes I feel alright
but it doesn’t last
the pain returns
each morning
or it creeps up
anytime
during the day
when unexpected
when unwanted

a broken man
waiting to be fixed
fighting against time
fighting against the pain
sadness visits
darkness lurks
but we keep going

what else can we do?

~

Categories
Uncategorized

Auto-Bookmark Posting

Linkding

It’s been a while since I posted about bookmarks. Remember del.icio.us? (or Delicious?) How about Ma.gnolia? Scuttle? Oh, Pinboard!

I quit using Pinboard in 2025. Not because it’s bad, in fact, it was quite good! But it seemed like it lost some of the “network effect” that it once had when all my pals used it. I think they also started asking for money, so instead of continuing to use it while not paying (or paying) I moved to a self-hosted solution, which I’ve wanted to do for a long time.

Linkding does pretty much all I need/wait it to do, and it runs on my own server!

Linkding also has an API, and since I’m always messing around with Python. Remember when I made some Mastodon bots?

Well, I had this idea. A new bot that would post one bookmark per day to a Mastodon account. Along the way I abandoned the ides of a new account and decided to just post them to my own account, each night around midnight.

Bookmarks on Mastodon

You can see them all with the bookmarks tag.

Back to the Python! I wrote a script that pulls the most recent 100 bookmarks from Linkding and sticks them in a SQLite database. The data from Linkding is a JSON feed, which I’ve never worked with before in Python, but it was fairly simple. I’m not sure if I’ve use SQLite with Python either, but I did that too!

There is a second script that posts to Mastodon. It’s similar to the bot scripts I wrote before, except (again) it works with SQLite. After it posts a bookmark it will set a flag so that we won’t post it again.

My code isn’t perfect, but it works. I didn’t use any AI or LLMs to create it, I read the docs and looked at examples. I probably won’t release it, but who knows?

Anyway, it was a fun project for me, sometimes someone will like or reply to one of my bookmark posts, and I get to see an old(er) bookmark I created. Win-Win all around!