HN user

benibela

952 karma

Personal website: https://www.benibela.de/index_en.html

Open-Source projects:

LaTeX-Editor: https://www.texstudio.org/

Command-line JSON/XML/HTML processor: https://www.videlibri.de/xidel.html

Posts6
Comments1,021
View on HN

Google is also bad at not sending spam

I got a lot of group spam, where someone seems to have created a google group and added my mail to it. And then people answer the spam, and the answer is also send to everyone in the group

Investing in AI infrastructure seems very risky to me. With how short of a lifecycle computing hardware generally has, does it make sense to blow billions on hardware that will need to be replaced in a few years?

That also depends on the budget. I work in the public sector, so there's usually no money, but now they've just discovered that they have a 25 million budget, which needs to be spend this year on hardware (for AI). If we do not spend the money within this year, the budget expires and then we cannot spend it at all

25 million is not billions, but that could still be a higher budget than any other public institution agency in the entire state here has

I've received over 100 emails this year from these dubious mailing lists. And each mail I checked has a "X-Google-Group-Id" header. I hardly get the spam, but mostly notifications from strange email servers. "Thank you for your message," or "I'm currently out of the office," or "This email address is no longer valid.". and the servers respond to each other "Thank you for your message titled 'I am out of office'"...

a) Are they really sent by Google Groups?

b) Why does Google allow any person to create an google groups mailing list and add my email address to it without my consent?

c) Are there really still people who have configured their autoresponders to automatically respond to autoresponders through email lists in 2025?

FreePascal / Lazarus

There was actually just a large discussion thread in the Lazarus forum wondering about why it is not more popular, with almost 300 comments. But now the thread got locked. That might be a reason.

I used Delphi on Windows 98. But that became outdated, so I ported it to FreePascal. FreePascal has a lot of integrated libraries, but I do not really use anything I did not already use with Delphi.

that fits, I wrote the first code for xidel almost 20 years ago

and it still uses Pascal because I didn't plan to change it but just wanted to show people what I programmed 20 years ago

And Germans tapwater tastes much better than US tapwater, there is no chlorine

I drink a lot of tapwater (though usually as tea)

I used to drink bottled water, because it is sparkly. I like sparkling water much more than ordinary water.

But I got tired of carrying so many bottles

I bought a CO2 device that should make tapwater sparkling. But lacked fuzz and my mother donated it away. She donates all my stuff

This means everyone buys water in plastic containers at the grocery store, all this plastic is PET-based, and PEG is always present in small quantities in that water (because water is slightly acidic, and acids disassociate the PET molecule).

My mother only buys glass bottles because of that.

Or clever code that should not be fixed

I just added my own tagging to my pointers. I have 48-bit pointers and 16-bit of tagging data.

I replaced all my struct { word type; char* data }; with something like (type << 48) | data. This saves a memory allocation and pointer indirection. It is much faster

Was Rust Worth It? 3 years ago

First, this is a controlled panic, not a segmentation fault.

But a segmentation fault is also controlled

Your use of "exception" suggests you're thinking about it in Java terms however, and Java is equivalent here.

No, I am thinking in Delphi terms. It is overspecialized to Windows userspace. Windows gives an Access Violation, and that can be caught, and Delphi throws it as exception

Second, you can only encounter this in explicit circumstances, when you have an Option<T>. Wheras in languages with a null type, any variable can be null implicitly, regardless of it's type.

Delphi has both nullable types and null-safe types

Was Rust Worth It? 3 years ago

Well, it is what I remembered

I do not have Windows 98 anymore. But I still have Delphi 4 installed under Wine, so I just tried it out.

Just showing a messagebox from windows gives 16k

Using the sysutils unit though, puts it at over 40k. And with classes, it becomes 57k. Not sure what they pull in. sysutils contains number/datetime parsing and formatting, and exception handling. classes has basic containers and object oriented file handling.

Was Rust Worth It? 3 years ago

Still someone might call unwrap on an Option and then run into some kind of null pointer exception

Was Rust Worth It? 3 years ago

I was making Windows 98 apps with Delphi 4, and they were 350 KB large

And I was upset that they were so big. Sometimes I used UPX. Or I kicked out all Delphi GUI libraries, and created the GUI with the Win32 API calls directly. I got 50 KB Hello Worlds.

An intra-thread COM call is just a virtual function call - no extra overhead.

There was a time when a virtual function call was a lot of overhead

Even having a VMT is overhead.

Sometimes the COM interface is implemented as actual interface, where the implementing class is derived from another class and the interface. (in C++ the interface is just another class with multiple inheritance, but other languages have designed interfaces). Then the class even needs to have two VMTs.

Multiple VMTs have even more overhead. And with multiple VMTs, it is not just a method call. In the functions, this always points to the first VMT. But when a function from the VMT is called, the pointer points to that VMT. So the compiler creates a wrapper function, that adjusts this and calls the actual function.

when methods from the later VMTs are called , this points (non-virtual thunk)

When I was in elementary school, there was some water drinking challenge

And the teachers warned against it, and someone told about a child dying from drinking just one liter of tapwater