HNHacker News
TopNewBestAskShowJobs

giamma

512 karma · joined November 24, 2021

meet.hn/city/45.4077172,11.8734455/Padua
submissionscomments
giamma··on CSS now has an if() conditional function
Ant did not include IF THEN ELSE, unless you added the contrib package.

If you understood the paradigm, you could write branches in Ant files simply using properties and guards on properties ("unless"). Using IF in Ant was basically admission of not having understood Ant.

This said, I used Ant for a very limited amount of time.

giamma··on Google Removed 749M Anna's Archive URLs from Its Search Results
I passed the PDF to Claude and asked it to check if there is any part of the document that states that google deprioritizes good search results in favor of advertisement. Here is the output from Claude:

Yes, the document contains highly significant factual findings by the Court regarding how Google deprioritized organic search results in favor of advertising. The most significant findings: The Court documents that the positioning of Google's AI features (AI Overviews, WebAnswers) on the search results page reduced users' interactions with organic web results - deliberately.

Relevant text:

"Some evidence suggests that placement of features like AI Overviews on the SERP has reduced user interactions with organic web results (i.e., the traditional "10 blue links")."

And:

"Placement of features like AI Overviews on the SERP has reduced user interactions with organic web results where Google's WebAnswers appears on the SERP"

Important note: these are not "admissions" in the sense of Google voluntarily confessing, but rather factual findings by the Court based on evidence presented during the trial - which is legally even more binding.

giamma··on Keep Android Open
My elderly father unknowingly installed an application on Android after seeing a deceptive ad. An advertising message disguised as an operating system pop-up convinced him that his Android phone's storage was almost full. When he tapped the pop-up, and followed instructions he installed a fake cleaner app from the Play Store. While the app caused no actual harm, it displayed notifications every other day urging him to clean his phone using the same app. When he opened it, the app — which did nothing except display a fake graph simulating almost full storage — pressured him to purchase the PRO version to perform a deeper cleanup.

In reality, the phone had 24 GB of free space out of 64 GB total. I simply uninstalled the fake cleaner and the annoying notifications disappeared.

How such an app could reach the Play Store is beyond me. I can only imagine how many people that app must have deceived and how much money its creators likely made. I'm fairly certain the advertisement targets older people specifically—those most likely to be tricked.

For better or worse, I'm pretty sure that such an app would never land into the Apple App Store.

giamma··on Keep Android Open
While I understand the reasons behind this campaign, I have mixed feelings about it.

As an iPhone user, I find it frustrating that deploying my own app on my own device requires either reinstalling it every 7 days or paying $100 annually. Android doesn't have this limitation, which makes it simpler and more convenient for personal use.

However, when it comes to publishing apps to the store, I take a different view. In my opinion, stricter oversight is beneficial. To draw an analogy: NPM registry has experienced several supply chain attacks because anyone can easily publish a library. The Maven Central registry for Java libraries, by contrast, requires developers to own the DNS domain used as a namespace for their library. This additional requirement, along with a few extra security checks, has been largely effective in preventing—or at least significantly reducing—the supply chain attacks seen in the NPM ecosystem.

Given the growing threat of such attacks, we need to find ways to mitigate them. I hope that Google's new approach is motivated by security concerns rather than purely economic reasons.

giamma··on Summary of the Amazon DynamoDB Service Disruption in US-East-1 Region
Interesting analysis from The Register https://www.theregister.com/2025/10/20/aws_outage_amazon_bra...
giamma··on Show HN: The text disappears when you screenshot it
It's a nice effect, but I don't think it's usable in practice, because it's not accessible for visually impaired users: not enough contrast between foreground text and background
giamma··on I ditched Docker for Podman
Thanks, I did not know OrbStack, will give it a try.
giamma··on I ditched Docker for Podman
I am still on an x86 Mac.

When Docker Desktop changed licensing I tried to switch to Podman and it was a disaster, Podman was brand new and despite many blog posts that claimed it was the perfect replacement it did not work for me, and I have very simple requirements. So I ended up using Rancher Desktop instead, which was also very unstable but better.

Fast forward 1 year, Rancher was pretty good and Podman still did not work reliably on my mac.

Fast forward another year or so and I switched to colima.

I tried podman last time about one year ago and I still had issues on my old mac. So far colima has been good enough for my needs although at least two times a brew update broke colima and I had to reinstall from scratch.

giamma··on Show HN: PageIndex – Vectorless RAG
How about using something like Apache Tika for extracting text from multiple documents? It's a subproject of Lucene and consists of a proxy parser + delegates for a number of document formats. If a document, e.g. PDF, comes from a scanner, Tika can optionally shell-out a Tesseract invocation and perform OCR for you.
giamma··on Copilot broke audit logs, but Microsoft won't tell customers
I believe most vector databases allow you to annotate vectors with additional metadata. Why not simply add as metadata the list of principals (roles/groups) who have access to the information (e.g. HR, executives) ? Then when a user makes a request to the chatbot, you expand the user identity to his/her principals (e.g. HR) and use those as implicit filtering criteria for finding the closest vectors in the database.

In this way you exclude up-front the documents that the current user cannot see.

Of course, this requires you to update the vector metadata any time the permissions change at the document level (e.g. a given document originally visible only to HR is now also visibile to executives -> you need to add the principal executives to the metadata of the vector resulting from the document in your vector database)

giamma··on Applite – A macOS native GUI for homebrew
The "brew info" command provides some information, so it would be great if the tool provided a button to fetch the "brew info" output on demand and if it provided a direct link to the homepage as opposed to having to perform two clicks; a tiny home icon next to the info icon would be good.

Folllows sample output for "brew info mc"

  ==> midnight-commander: stable 4.8.33 (bottled), HEAD
  Terminal-based visual file manager
  https://www.midnight-commander.org/
  Conflicts with:
    minio-mc (because both install an `mc` binary)
  Installed
  /usr/local/Cellar/midnight-commander/4.8.33 (357 files, 7.8MB) \*
    Poured from bottle using the formulae.brew.sh API on 2025-02-03 at 09:30:23
  From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/m/midnight-commander.rb
  License: GPL-3.0-or-later
  ==> Dependencies
  Build: pkgconf 
  Required: glib , libssh2 , openssl@3 , s-lang , diffutils , gettext 
  ==> Options
  --HEAD
   Install HEAD version
  ==> Analytics
  install: 3,043 (30 days), 10,456 (90 days), 65,490 (365 days)
  install-on-request: 3,043 (30 days), 10,451 (90 days), 65,472 (365 days)
  build-error: 0 (30 days)
giamma··on Applite – A macOS native GUI for homebrew
Nice tool, however it would be great if it could display some description and license information and/or whether the app is a trial version that eventually requires a purchase.

Otherwise as a user you end up clicking on the info icon to go to the app home page for every app before installing.

If that is not possible, a direct link to the app home page would save a click and would be highly appreciated.

giamma··on Inheritance was invented as a performance hack (2021)
To me (as a Java programmer) inheritance is very useful to reuse code and avoid copy paste. There many cases in which decorators or template methods are very useful and in general I find it "natural" in the sense that the concepts of abstraction and specialization can be found in plenty of real world examples (animals, plants, vehicles etc etc).

As usual there is no silver bullet, so it's just a tool and like any other tool you need to use it wisely, when it makes sense.

giamma··on The masters of Commodore 64 games
SYS 64738
giamma··on Ask HN: Would you fund Mozilla to become independent of Google?
As a Firefox user who is worried about he current browser landscape, I already donated to Mozilla in the past.

However as many others pointed out, there is no way to ensure that the donated amount is used specifically to fund Firefox.

giamma··on I believe 6502 instruction set is a good first assembly language
While I learned programming with 6510, I agree that 68000 instruction set was much nicer and easier to read and learn. I would also chose 68000.

This said, 65XX on an early Commodore computers was extremely rewarding to use because there was no memory protection and you could write code altering video memory, mess with sprites, fonts, borders, interrupts, write self modifying code etc etc. 68000 assembly on Amiga was more safe and controlled.

giamma··on Making an intersection unsafe for pedestrians to save seconds for drivers
We should aim at better drivers rather than better intersections, but bad drivers are everywhere.

Years ago I worked in a building on the side of a long straight road. The road ended with a blind curve to the right and 100m before the blind curve there was a pedestrian crossing.

Even though all drivers knew they would need to brake for the blind curve (it was visible and there were signs) the majority of them used to drive very fast and basically did not let people cross the road, only to push very hard on the brakes 10 meters beyond the pedestrian crossing.

giamma··on A quick look at OS/2's builtin virtualization
Well in Italy where I leave I have never seen a PC running any of those dos graphical interfaces. Maybe they were not even sold in Italy?
giamma··on A quick look at OS/2's builtin virtualization
At the time of OS/2 vs NT, NT needed a huge amount of ram to work, while OS/2, even though more greedy than Windows 3 or Windows 9.5 was still cheaper.

The system was very good, stable, snappy. The main issue was the lack of software. Microsoft made deals with all hardware vendors and whenever people bought a personal computer they would find Windows pre-installed. At that time most of the people did not know what an operating system was, they just thought of a PC as an appliance, and most believed that Windows was the only option, that PC=Windows. Plus, computer and software were quite expensive, so why buy another operating system when your new PC comes with Windows for free. There are articles over the internet that claim that Microsoft, to kill OS/2, made deals with PC makers (HP, Compaq etc.) giving them OEM Windows licenses for free as long as they did not offer OS/2 as an alternative purchase choice to the end users, which basically meant 99% of people did not even know OS/2 existed. You would then find OS/2 in airports, banks, public transport etc. (all big organizations who were IBM customers) but it was not known by regular users.

This said the main weakness of OS/2 was the SIQ [1], single-input-queue. The user interface had a single queue for dispatching UI events, and due to a poor design, a single badly written UI program that got stuck while processing a call from the event loop, would freeze the whole OS/2 user interface. This was improved in later releases but never completely solved, even though admittedly in the last years of OS/2 this type of issues became quite rare.

[1] https://www.os2world.com/wiki/index.php/Databook_for_OS/2_%E...

giamma··on A quick look at OS/2's builtin virtualization
Personally I would choose OS/2 over Win3.1 anytime. OS/2 was more "Mac like", for example, properties and preferences dialogs did not have the Apply/Cancel buttons, you had a Default button to reset to factory settings or you could simply close the dialog for your changes to be applied.

This said, I believe that what made a big difference in look and feel when Windows 95 was released was the introduction of TrueType fonts that had much better rendering. OS/2 was using PostScript fonts, and introduced support for TrueType much later... If I remember correctly thanks to the open source efforts of the FreeType project.

giamma··on HelloWorld by Nanowar of Steel
Source code here [0]

[0] https://github.com/NanowarOfSteel/HelloWorld

giamma··on Gordon Letwin OS/2 Usenet post (1995)
Link to a post I wrote some time back about OS/2 and some of its nice and unique features https://news.ycombinator.com/item?id=33107065#33119146
giamma··on Programming the C64 with Visual Studio Code
I don't remember the numeric codes unfortunately, but BEQ, BNE, JMP, JSR, ROL, ASL...
giamma··on MIT Aluminum Bicycle Project 1974 (2016)
Vaast bikes [0] makes magnesium bikes today, I own one (A/1 gravel) and it's a very pleasant ride.

[0] https://www.vaastbikes.com/

giamma··on ZetaOffice: LibreOffice in the Browser
OnlyOffice has decent performance and is pure canvas. However, they have (or had) issues with respect to accessibility, as screen readers don't read canvas.
giamma··on Show HN: Bike route planner that follows almost only official bike trails
Not as good as the project from the OP: I tried to connect two cities in Italy, Padova and Riva del Garda (because I know the cycle roads you could use to travel from one to the other) and this project perfectly nailed it, while cycling Brouter suggests low traffic roads but seems to not be aware of many cycle roads.
giamma··on Show HN: Bike route planner that follows almost only official bike trails
Love your project!

Maybe you already considered, but there are a number of collection libraries out there that are optimized for holding Java primitives and/or for very large sets of data, which could help you save significant memory. Eclipse Collections [0] and Fastutil [1] come to mind first, but there are many out there [2]

[0] https://github.com/eclipse-collections/eclipse-collections [1] https://fastutil.di.unimi.it/ [2] https://github.com/carrotsearch/hppc/blob/master/ALTERNATIVE...

giamma··on New Apple security feature reboots iPhones after 3 days, researchers confirm
I see your point. I already had the NAS in place so it was a nobrainer for me, but if you just want to backup to computer you can still run a light webdav server on your computer. For example, I am using dufs [0], which is very easy to deploy and configure.

[0] https://github.com/sigoden/dufs

giamma··on New Apple security feature reboots iPhones after 3 days, researchers confirm
I am using an app for this. It's called WebDavNav+ and there is a free version WebDavNav for evaluation.

You can create sync configurations and switch on auto sync.

I have an Odroid HC4 with Open Media Vault and docker which is my personal NAS. It runs a WebDav container and so on a daily basis my iPhone is backing up photos to my NAS using WebDavNav+.

giamma··on Grim Fandango
Do you know Zak McKracken and the Alien Mindbenders [0]? A Lucas Games video game published in 1988 on C64 and several other platforms.

Puzzles were very difficult at that time in games, possibly intentionally because Lucas Games was selling hint books.

Throughout the whole game you take planes to fly from one location to another, and this eventually depletes your credit card.

At some point you have so little money that the only plane ticket you can afford is a rusty world-war-era biplane that will fly you to some destination through the famous Bermuda Triangle [1]. It's the only option you have so you will eventually take it. But why that? Because when in flight, a tractor beam pulls you up and you find yourself, the biplane and the pilot in an alien space ship, which is how the game justifies the myth of the Bermuda Triangle.

Now if I remember correctly, you will be stuck there and will have to reload a saved game, unless you have a guitar with you. In fact, in the space ship you meet the alien captain who is wearing the classic white Elvis dress. If you earlier purchased a guitar in the shop close to your apartment and now give the guitar as a gift to the alien captain, you will then become friends, and the alien captain will allow you to leave the spaceship with the biplane. Even more, on the ship there is a machine named "lotto-o-matic" or similar, that will predict lotto numbers. So you have to use the machine and collect the receipt. Back to USA, you can use those lotto numbers and win an incredible amount of money that will allow you to take all the planes you need for the remaining of the game.

I remember this particular puzzle as I was stuck for weeks in this limbo without money trying countless useless solutions. I leave in Italy those hint books did not exist and there was no internet. Luckily at some point a local game magazine (Zzap! [2]) answered a letter from another gamer who was asking for a clue.

[0] https://en.wikipedia.org/wiki/Zak_McKracken_and_the_Alien_Mi... [1] https://en.wikipedia.org/wiki/Bermuda_Triangle [2] https://en.wikipedia.org/wiki/Zzap!64

← PreviousPage 2 of 5Next →