Hello! Привіт! I'm James (/d͡ʒeɪmz/) (also capjamesg). My pronouns are he/him/his. I live in Scotland. This is my blog.

I hope this website can bring a little bit of joy into your day.

Writings

  • Improving relevance on my site search engine

    Published on under the Coding category.

    The search engine on this website is powered by JameSQL, an open source, NoSQL database. The engine accepts a query and evaluates it according to any conditions specified. I strive to keep query times below 10ms, to help ensure the search experience feels and is as fast as possible.

  • A quiet room at Vienna airport

    Published on under the Life category.

    On my way back from a trip to Vienna, I got breakfast at the airport. My flight was early, so I was especially looking forward to having a coffee with my meal.

  • Blogging before dinner

    Published on under the Life category.

    I was speaking with a friend yesterday about finding the time to write blog posts. I offered a tip that has worked for me recently: write before dinner.

  • Implementing a transaction log for JameSQL

    Published on under the Coding category.

    This blog post describes my thought process in implementing a transaction log for my database. My implementation may not follow best practices, as I am still learning. If this blog post sparks ideas on what I could do better, please let me know!

  • Hope for the web

    Published on under the IndieWeb category.

    The web has changed all of our lives: we are more connected than ever, knowledge is easier to access than ever. But sometimes it feels that we are subjected to that change, rather than being able to proactively participate in making the future; in crafting a web that speaks to what we want.

  • Writing a search query transpiler

    Published on under the Coding category.

    Google, among other search engines, supports advanced operators for writing refined search queries. For example, you can use the site: search operator to constrain your search to a website, like:

View all blog posts

Go Back to the Top