HNHacker News
TopNewBestAskShowJobs

mg

7,565 karma · joined August 19, 2011

I like to build web projects and to meet like-minded people.

www.gibney.org

submissionscomments
mg··on The paradoxical efficient market hypothesis (2024)

    the hypothesis maintains that
    stock prices reflect all relevant
    information about the stock
This is a common description of the EMH. But every time I read it, I think: Does information really directly impact the price of a stock? How?

What if it takes 12 months of hard thinking to draw the right conclusion from the information? Are there many investors who go to such lengths? Are they all thinking at the same speed? And if not, what does that tell us about the EMH?

Google released DeepDream in 2015. My feeling is that with enough thinking, one could have predicted where image generation is going in the next decade and that language generation would go a similar route. And that this will lead to a high demand in Nvidia's GPUs. But that thinking would not be instantly. It would take months or years.

mg··on Why do LLMs freak out over the seahorse emoji?
Testing it across LLMs, you indeed get some interesting responses:

https://www.gnod.com/search/ai#q=Is+there+a+seahorse+emoji%3...

Mistral being among the funniest ones:

    The correct seahorse emoji is: 
    [draws a horse and a wheelchair]
    Wait, no—that’s a horse with a prosthetic leg!
Grok drew a frog for me and was convinced that it is a seahorse.
mg··on Circular Financing: Does Nvidia's $110B Bet Echo the Telecom Bubble?
Look at the human body.

2% of it is dedicated to thinking.

My guess is that as a species, we will turn a similar percentage of our environment into thinking matter.

If there are a billion houses on planet earth, 2% of it are 20 million datacenters we still have to build.

mg··on Circular Financing: Does Nvidia's $110B Bet Echo the Telecom Bubble?

    Fiber networks were using less
    than 0.002% of available capacity,
    with potential for 60,000x speed
    increases. It was just too early.
I doubt we will see unused GPU capacity. As soon as we can prompt "Think about the codebase over night. Try different ways to refactor it. Tomorrow, show me your best solution." we will want as much GPU time at the current rate as possible.

If a minute of GPU usage is currently $0.10, a night of GPU usage is 8 * 60 * 0.1 = $48. Which might very well be worth it for an improved codebase. Or a better design of a car. Or a better book cover. Or a better business plan.

mg··on Email was the user interface for the first AI recommendation engines
Hey, cool to meet someone who went down a similar avenue. BubbleRings also looks like a real fun startup.

It used to be a form without typeaheads for years on Gnoosic too.

I never manually fixed typos, but I have put quite some work into making the system figure them out on its own. For example by asking people "Hey, you entered 'The Beatled' which sounds a lot like the popular band 'The Beatles'. Could it be you meant 'The Beatles'?" and then offering buttons for yes/no etc.

mg··on Email was the user interface for the first AI recommendation engines
Yes, since Gnod learns everything on its own, typos are inevitable.

But over time, it learns that two names can mean the same author.

You can help it by voting for typos here:

https://www.gnooks.com/vote_typos

If Gnoosic thinks a name is a band while it actually is a song, reporting the song as a typo of the band helps:

https://www.gnoosic.com/vote_typos

mg··on Email was the user interface for the first AI recommendation engines
For some reason, in the early days of the web, email seemed like a logical choice to get input from users.

The first time I tried to have users fill out a form, what I did was that I sent them an exe file which contained a windows application that showed a form and saved the replies to a file. In the email I asked users to send me back that file. But no matter how I worded the email, 50% of users sent me back the exe file instead.

That problem was what triggered me to learn about server side code and databases.

And when that worked, it hit me: I could make a form that asked users about their favorite bands and suggest them new bands right away. This way the system would learn about all the bands of the world on its own and become better and better in suggesting music. This is how Gnoosic [1] was born. Later I adapted it for movies and called that Gnovies [2]. And for literature and called that Gnooks [3].

All 3 are still alive and keep learning every day:

[1] https://www.gnoosic.com

[2] https://www.gnovies.com

[3] https://www.gnooks.com

mg··on Why Is Python So Popular in 2025?
Because:

1: Simple is better than complex.

2: Beautiful is better than ugly.

3: Readability counts.

Winners across many markets seem to get the importance of simplicity. Compare the Google homepage to the Bing homepage. The dashboard of a Tesla to that of a Volkswagen. Remember how hardcore lean Facebook's UI was compared to MySpace?

mg··on Bring true randomness to Spotify with Fisher-Yates shuffle
There also is a random button on the Music-Map that jumps to a random band:

https://www.music-map.com/info

From running the music discovery websites Gnoosic and the Music-Map for years now, and doing a lot of experiments, my experience is that the chance of someone liking a truly randomly selected band is very low. Less than 10%. But hey, trying 20 random bands and finding one interesting one can be worth it.

mg··on A New Internet Business Model?
If HN charged 1 cent per day and you could pay with a simple click, you would not come here anymore?

Where would you go?

mg··on A New Internet Business Model?

    ads have been the only micropayment
    system that has worked
Why are micropayments so hard?

I wonder how the web would look like if one could click "pay 1 cent to continue".

Maybe content would become better? Maybe it would make one think "Hmm... one moment, is this something I want to read or am I just doomscrolling?".

mg··on Feedmaker: URL + CSS selectors = RSS feed
That is a good idea.

59 requirements, including Django, seems pretty heavy though?

For my own RSS feed, I use this 48 line Python file with no dependencies outside the standard library:

https://github.com/no-gravity/atomfeed.py

It takes an array with the entries as input, not a web page. But I guess the HTML parsing should take no more than another few lines? For HTML parsing, I have good experiences with the lxml module which is in the Debian repos. It is fast and works pretty well.

mg··on Defeating Nondeterminism in LLM Inference
I really hope we will get deterministic LLMs in the future. Even if it causes slightly slower response times.

Nondeterminism is what currently keeps me from working with other developers.

As I wrote in "Prompt Coding" [1], these days I am not looking for good code. I am looking for prompts that create good code. But how do you share prompts among developers when they produce different code every time? You cannot simply state "Here, I found a prompt that makes gpt-5-2025-08-07 output a solution with all the desired attributes".

Similar with images. At the moment, for most image models, you cannot outsource the task of writing prompts that create the desired images. Because most image models will not create the same image when given the same prompt and parameters.

[1]: https://www.gibney.org/prompt_coding

mg··on Experimenting with Local LLMs on macOS
Awesome!

Bookmarked. I will surely try it out once FireFox or Chromium on Linux support WebGPU in their default config.

mg··on Experimenting with Local LLMs on macOS
This might be a misunderstanding. Did you see the "button that the user can click to select a model from their file system" part of my comment?

I tried some of the demos of transformers.js but they all seem to load the model from a server. Which is super slow. I would like to have a page the lets me use any model I have on my disk.

mg··on Experimenting with Local LLMs on macOS
WebGPU is not yet available in the default config of Linux browsers, so WebGL would have been perfect :)
mg··on Experimenting with Local LLMs on macOS
Yeah, something like that, but without the WebGPU requirement.

Neither FireFox nor Chromium support WebGPU on Linux. Maybe behind flags. But before using a technology, I would wait until it is available in the default config.

Lets see when browsers will bring WebGPU to Linux.

mg··on Experimenting with Local LLMs on macOS
No, I'm looking for an html page with a button "Select LLM". After pressing that button and selecting a local LLM from disk, it would show an input field where you can type your question and then it would use the given LLM to create the answer.

I'm not sure what OpenWebUI is, but if it was what I mean, they would surely have the page live and not ask users to install Docker etc.

mg··on Experimenting with Local LLMs on macOS
Is anyone working on software that lets you run local LLMs in the browser?

In theory, it should be possible, shouldn't it?

The page could hold only the software in JavaScript that uses WebGL to run the neural net. And offer an "upload" button that the user can click to select a model from their file system. The button would not upload the model to a server - it would just let the JS code access it to convert it into WebGL and move it into the GPU.

This way, one could download models from HuggingFace, store them locally and use them as needed. Nicely sandboxed and independent of the operating system.

mg··on RFC 3339 vs. ISO 8601
Do you really need the timezone for each entry in the storage layer?

The application knows how it stores data, so it can just use UTC or whatever it likes. One timezone for all entries.

The interface then can display it in a way the user likes.

mg··on RFC 3339 vs. ISO 8601
My favorite datetime format is "YYYY-MM-DD hh:mm:ss".

I consider it the "Markdown for time". It is human-friendly and computer-friendly at the same time. It is supported by many languages and databases. It is so elegant and common that even though it is not part of a standard, LLMs started to use it when writing answers:

Me: SQLite: Add 1 day and 3 hours to a date.

Perplexity: SELECT DATETIME('2025-09-07 07:51:00', '+1 day', '+3 hours');

mg··on SQL needed structure
I am becoming more and more comfortable with storing everything in JSON.

With its JSON arrow operators and indexed expressions, SQLite makes a really nice JSON document store.

Assume you have a "cars" table with nothing but a "cars" column that is a JSON blob. Then selecting the models of all cars is just:

    SELECT cars->>'model' FROM cars
I wish MariaDB would follow suit and also support arrow operators. You can do it in MariaDB, but it becomes more cumbersome:

    SELECT JSON_UNQUOTE(JSON_EXTRACT(cars, '$.model')) FROM cars
mg··on A 'third way' between buying or renting? Swiss co-ops say they've found it

    his apartment ... two bedrooms, a small office, a
    south-facing balcony and it costs 1,760 francs
    (about $2,200) a month, around half the typical rents
I always find it impossible to grasp/compare rents if there is no mention of the size of the apartment. For all I know, this could be a 60m² apartment with 3 smallish rooms which goes for something like half of that price in Berlin:

https://www.immobilienscout24.de/expose/161188147

Or it could be a luxurious 300m² apartment with 3 big rooms that goes for three time that price:

https://www.immobilienscout24.de/expose/157476995

mg··on Agent Client Protocol (ACP)
Do others here encounter that problem? I never do. I can't remember the last time I saw a hallucination in a commit.

Maybe it's because the libraries I use are made from small files which easily fit into the context window.

mg··on Agent Client Protocol (ACP)
I'm fine with treating AI like a human developer:

I ask AI to write a feature (or fix a bug, or do a refactoring) and then I read the commit. If the commit is not to my liking, I "git reset --hard", improve my prompt and ask the AI to do the task again.

I call this "prompt coding":

https://www.gibney.org/prompt_coding

This way, there is no interaction between my coding environment and the AI at all. Just like working with a human developer does not involve them doing anything in my editor.

mg··on AGI Overhyped?
I'm using a version of this when coding. I feed the task and the reply back to the LLM once and ask if the task was accomplished well.

That is actually useful, as it often comes up with the same critique I have when reading through the commit. So it gives me more confidence that I did not miss any issues in the commit.

mg··on AGI Overhyped?
> it can't work on a task for months

    reply = AI.ask(task)
    while true:
        reply= AI.ask(f"""
            Improve the reply below:
            Task: {task}
            Reply: {reply}
        """")
        print(reply)
mg··on Pixel 10 Phones
The people at Google seem to think much more like me than the people at Apple.

There are 3 primary decisions Google made that click with me, while Apple's choices are a mystery to me:

1: When I put a Pixel on a table, it sits there stable. Because the backside is symmetrical. When I put an iPhone on a table, it wobbles.

2: When I sort my photos on a Pixel, I sort them in folders. The "camera" folder is where the unsorted photos are. When I sit in a bus or in a cafe, I go through it and sort the new photos into folders. This seems impossible on iPhones. Everything stays in the main folder forever. You can add photos to albums, but that does not remove them from the main folder. So there is no way to know which photos I have already sorted.

3: On Android I can use Chrome. Which means web apps can use the File System Access API. This makes web apps first class productivity applications I can use to work on my local files. Impossible on iPhones.

I'm sure people who prefer iPhones have their own set of "this clicks with me on iPhones and puzzles me on Pixels" aspects?

Is this a "left brain vs right brain" type of thing? Do most HNers prefer Androids?

mg··on Prime Number Grid
Yes, I noticed that too. The smaller the pack size, the more random the image. The larger, the more it converges to the final pattern.
mg··on Prime Number Grid
Here is a strange one:

You look at integers in "packs" of 100. If a pack contains a prime number, you color it black, otherwise you color it red.

The first pack contains 100 consecutive integers. The second every second integer. The third every third integer and so on.

Every pack starts where the last one stopped.

On the first row, you draw 1 pack, on the second 2, on the third 3 and so on:

https://www.gibney.org/parallax_primes

It looks like hieroglyphs from another universe.

I'm still not sure why it looks the way it looks.

If you want to compare it to a random distribution, you can change this line:

    if (isPrime(myNum)) return 1;
To this:

    if (Math.random()>0.99) return 1;
Very different. I wonder where the symmetry and all the other properties of the pattern come from when using primes.
← PreviousPage 4 of 34Next →