Posts from August 2025

I bought a £16 smartwatch just because it used USB-C. If you look in the right places, you will find it. A £16 smart watch is surprisingly capable, and provides the bare functions that a premium watch will.

This article goes into depth, and even hacks it! A great hacker mindset.

Accidentally writing a fast SAT solver

Going back (no pun intended) to the scheduling problem, the solution would be similar. Each “row” would be a class, and from each class, a section would be chosen for the class schedule. By changing is_valid to check for time conflicts instead of queens, the same code can be used to build a schedule.

To determine if a formula is satisfiable, first convert it to conjunctive normal form, then convert the new formula into a course catalog. Put this into a schedule builder, and you know the answer.

DecoPerson:

The attack pattern is:

  1. User goes to BAD website and signs up.

  2. BAD website says “We’ve sent you an email, please enter the 6-digit code! The email will come from GOOD, as they are our sign-in partner.”

  3. BAD’s bots start a “Sign in with email one-time code” flow on the GOOD website using the user’s email.

  4. GOOD sends a one-time login code email to the user’s email address.

  5. The user is very likely to trust this email, because it’s from GOOD, and why would GOOD send it if it’s not a proper login?

  6. User enters code into BAD’s website.

  7. BAD uses code to login to GOOD’s website as the user. BAD now has full access to the user’s GOOD account.

This is why “email me a one-time code” is one of the worst authentication flows for phishing. It’s just so hard to stop users from making this mistake.

“Click a link in the email” is a tiny bit better because it takes the user straight to the GOOD website, and passing that link to BAD is more tedious and therefore more suspicious. However, if some popular email service suddenly decides your login emails or the login link within should be blocked, then suddenly many of your users cannot login.

Passkeys is the way to go. Password manager support for passkeys is getting really good. And I assure you, all passkeys being lost when a user loses their phone is far, far better than what’s been happening with passwords. I’d rather granny needs to visit the bank to get access to her account again, than someone phishes her and steals all her money.

Vibe-coding the MIT Course Catalogue

  1. Go to the MIT Course Picker website
  2. Copy this code into the console.
[...document.querySelectorAll(".course-name")]
.map((e) => e.closest(".course-lens"))
.map((d) => ({
  title: d.querySelector(".course-name")?.textContent,
  description: d.querySelector(".course-description")?.textContent,
  semester: d.querySelector(".course-semester")?.textContent,
  prereq: d.querySelector(`[data-ex-content=".prereqs"]`)?.textContent,
  instructor: d.querySelector(".course-instructor")?.textContent,
  units: d.querySelector(`[data-ex-content=".units"]`)?.textContent,
  level: d.querySelector(`[data-ex-content=".level"]`)?.textContent,
}));

You don’t need a complex scraper. Query selection will always get the job done.

Many people don’t know that the terms right wing and left wing refer to the sides of parliament during the French revolution. The right wing supported the monarchy. The core principle of conservatism is hierarchy. They believe some people are better than others. They fundamentally can’t believe in democracy and so always work to elevate a few over others. Kings, dictators, autocrats, theocrats, racists, fascists, all work on the same vertical thinking. A long as they aren’t at the bottom of the social hierarchy, they are happy and work to keep everyone else in their place. Women and minorities at the bottom, the wealthy and powerful at the top.

Your Doctor’s Screen Time Is Hobbling Health Care

localghost3000:

I worked in health care tech for about 5 years. AI driven before it was cool. Took processes that normally took years down to a couple hours. Cutting edge stuff.

What struck me over the years was the open hostility we faced from the staff. The admins would buy our product, then have us come do trainings. The clinicians seemed to resent every second of it and would just never use the tool.

Towards the end of my tenure there, a PM said to me “the last thing these people want is to have to learn yet another workflow”. Which is when the penny dropped for me that our tool was just one of a bazillion being force fed to these poor people. They want to spend their time with patients not a screen.

Despite it being the most mission driven I have ever felt about a product (we were literally trying to help cure cancer lol). I’ll never work in health care again. Like education, it’s a quagmire.

Hopeful-Extent-693:

Once you allow yourself to “see it” dentistry is not difficult. Divid it up in three groups, two are infection, decay and gum disease and the third is mechanical, i.e. the bite. Examine for decay, is it through the enamel, is it large, small, how would you have it fixed in your own mouth. Second infection is gum disease, is it gingivitis, periodontitis, ALWAYS start with a cleaning or SRP. Don’t make it so hard on yourself!!!

Ollama launches a new front-end app

I’ve just tried it now. It’s nice to be able to manage chats now. I asked llama3.2:3b to write a 2048 clone. I miss the Claude artefacts option.

I guess the llm CLI app will be phased out now.

I need to really try my own hand at making one of these. It doesn’t seem too hard.

In fact, thorum says that it’s easier than ever:

If you’re a power user of these LLMs and have coding experience, I actually recommend just whipping together your own bespoke chat UI that you can customize however you like. Grab any OpenAI compatible endpoint for inference and a frontend component framework (many of which have added standard Chat components) - the rest is almost trivial. I threw one together in a week with Gemini’s assistance and now I use it every day. Is it production ready? Hell no but it works exactly how I want it to and whenever I find myself saying “I wish it could do XYZ…” I just add it.

Looking at Bolt for a native Mac experience.

Conspiracy theories:

Sure, those are all difficult problems. Problems that single devs are dealing with every day and figuring out. Why is it so hard for Ollama?

What seems to be true is that Ollama wants to be a solution that drives the narrative and wants to choose for its users rather than with them. It uses a proprietary model library, it built itself on llama.cpp and didn’t upstream its changes, it converted the standard gguf model weights into some unusable file type that only worked with itself, etc.

Sorry but I don’t buy it. These are not intractable problems to deal with. These are excuses by former docker creators looking to destroy another ecosystem by attempting to coopt it for their own gain.

These are valid criticisms I’ve hard about Ollama. I guess I never really looked into the history behind the company.

Here’s a good rundown.

Turns out Ollama was in the W21 YC Program. This makes a bit more sense - they’re completely altruistic.


  • See also: The Hacker News Discussion to see people’s reaction. Some people believe that this will be the gateway to connecting to remote servers.
  • See also: A comment about different chat interfaces