Chronology of a Judgment: a 1 day project

I was lucky to have a day entirely free, and decided to spend it on a project long at the back of my mind: Chronology of a Judgment. I remember a period wondering why it was not possible to generate a draft chronological automatically from a Microsoft Word document. The computer just needs to: go through the document pause whenever there is a date save the date and the sentence create a table with a date column, a sentence column and a paragraph number column put everything in chronological order How hard can it be?...

October 1, 2024

My first portfolio website

I thought I would use Next and v0 to very quickly create a portfolio website. With a degree of familiarity with Next, the process was straightforward: Use npx create-next-app@latest to create a Next repository, choosing Typescript, Tailwind and App router. Use v0 to make UI components. A LLM Chat interface is provided, and an npx command (in the format of npx shadcn@latest add "https://v0.dev/URL) is available to install the resulting component into the project....

September 25, 2024

Next auth, Resend and Sivers

1 Next Auth I completed the backend part of t3 tutorial today. The author introduced Next Auth with Email Provider in a very well motivated way. The idea behind the Email Provider is that the website would send an email to the user’s email address; the email would contain a “magic link” with which the user can log in. The concept is intuitive, but to set it up and run it on a local machine is not easy: at the least, you’d need too set up some kind of service such as Mailgun or Resend....

September 3, 2024

T3: some set up notes

1 Setting up Postgres To set up T3, I need Prisma. To go through Prisma quick start, I need Postgres. Postgres docs recommend downloading a binary for Macs. But this didn’t work for me: brew was much more straightforward. Once the installation is done, it is easy to follow the tutorial at the start of the official docs. 2 What is the name of the Postgres database that my Prisma client is accessing?...

September 2, 2024

Chris Bernhardt Turing's Vision

I picked this up in Fulda Staat library, and am very pleasantly surprised by the fluent exposition. I first came across finite automata over a decade ago when I read the New Turing Omnibus, back then recommended reading for the Cambridge computer science applicants. I got so interested at one point I considered switching subjects right away. But the presentation in the New Turing Omnibus is a bit out dated, and also left quite a lot of gaps to be worked out by the students....

August 31, 2024

Reading Next.js docs

Around 1.5 months ago, I took on two projects that uses Next.js and Supabase. I was initially very excited to have real projects to work on, with the guidance of seasoned professionals. But after working on each project for around 5-10 hours, I stalled. There just seemed to be so many nitty-gritty little things I had to learn in an unpleasant stop-and-start fashion. For example, Next.js clearly uses the directory structure to mirror different URL routes....

August 30, 2024

2 years of self-learning

Just a few markers, before my memory is corrupted by new experiences. I started programming from scratch in August 2022. The very first steps were with Scratch (a tool mainly for children developed by MIT), and then C. The jump from Scratch to C was huge. C is a compiled language, and with the School 42 curriculum a lot of hard work was required to make even the simplest thing (e....

August 25, 2024

PromptBros: plan for a minimal legal chatbot

To tease out PromptBro’s capacity to help users create unique LLM experiences, I decided on a new side-project: creating a minimal legal chatbot. By now (August 2024), the risks of using LLMs for legal research are well known. The tale of the American lawyer who submitted hallucinated cases to Court has become part of legal folklore. On the other end of the spectrum, there are already a number of dedicated startups in the crowded LegalTech eco-system surrounding the use of LLMs....

August 20, 2024

PromptBros: plea in mitigation and two judgments

Following my previous blogpost, I have made a chat agent on PromptBros to illustrate the input of advocates in crafting a plea in mitigation. As a student, I was sometimes quite puzzled about the value the advocate adds when conducting a plea in mitigation. In some cases, the value is clear: where there is sentencing guidelines from the legislation or the Court of Appeal, or when a case is an excepted offence for which suspended sentence is available....

August 20, 2024

Tic-tac-toe: first draft

After feeding my previous blogpost into my PromptPros account, my Llama Sonar Chat agent quickly generated a passable first draft HTML file to work on. The only slight issue I encountered was that the return value of a spliced array is another array: so to get the number out I have to do let move = emptySpacesArray.splice(index, 1)[0] The first draft is now at this commit. Directions for next steps:...

August 15, 2024