Hacker Newsnew | past | comments | ask | show | jobs | submit | kurren's commentslogin

Ivrea, industrial city of the 20th century

The industrial city of Ivrea is located in the Piedmont region and developed as the testing ground for Olivetti, manufacturer of typewriters, mechanical calculators and office computers.

https://whc.unesco.org/en/list/1538/


Here is another page about Ivrea, with some history and many many large photos:

https://artsandculture.google.com/story/ivrea-industrial-cit...


but also: 'The Mysterious Affair At Olivetti' Attempts To Find A Cold War Conspiracy

https://www.npr.org/2019/11/07/776834206/the-mysterious-affa...


you need to consider that Italy from '50s to 1992 had the powerful communist party in western countries.

It wasn't a mystery a collaboration between Italian companies and Soviet Union. During '70s FIAT transferred know-how to a Soviet carmaker, even a city was named Togliatti (an Italian politician).

That's why Italy was always under CIA control, the period '60-'80s was called "strategia della tensione" (Strategy of Tension), even a Prime Minister was killed in 1978.

For those who likes history and spy stories is interesting to deep dive.



What happens when people experience brands, services, and institutions primarily through their own AI agents—rather than through brand‑designed apps, websites, and campaigns?


This post reflects on the future of design* —and the role of designers* —in a world where AI is poised to reshape how society works.


From Penicillin to MySpace, balancing structured research and build with openness to failure has proven a successful approach.


Location: EU (currently: Turin, Italy + Madrid Spain)

Remote: Yes

Willing to relocate: Yes

Technologies: Strategic Design + Product Strategy + Agile Leadership

Résumé/CV: https://pianabianco.com/docs/apianabianco_cv.pdf

Email: a@pianabianco.com


I've been tinkering with a combined solution to block AI bots from crawling my website, it's a robots.txt file (I know, they don't care about it) and a Nginx directive (it works for Ngnix web servers, not if you are on Apache).


An additional thing one can add is to block any connection that is not HTTP/2.0. Many bots still only use HTTP/1.1 or lower. I just drop with 444 but others may wish to give a friendly terse error message using 403.

    if ($server_protocol != HTTP/2.0) { return 444; }
Here's another one that will block most non-browsers (except for headless chrome of course)

    if ($http_sec_fetch_mode !~ (cors|no-cors|navigate) ) { return 444; }
These should be tested extensively on a non revenue impacting site.

Another bot-blocking method is to drop any TCP SYN packets with an MSS outside of a sensible range. Here is an example using netfilter on IPv4 in the "raw" table (to keep them out of the CPU impacting state table):

-A PREROUTING -i eth0 -p tcp -m tcp -d {your_wan_ip} --syn -m tcpmss ! --mss 1220:1460 -j DROP


mmm, blocking everything not http/2.0 is also blocking legit browser, while blocking http/1.0 does not block bots (at least not ChatGPT); blocking non-browsers with $http_sec_fetch_mode works as expected.


Do you have a proxy in front of your site that is changing the protocol version? I have been using that on a dozen sites for years without issue. What browser are you using? Do your access logs show a HTTP/2.0 request? If you have something like Caddy or HAProxy in front of NGinx that is changing the proto version then you can create a similar rule at that outer layer. Or perhaps NGinx in front of NGinx doing a proxy pass?


Using Chrome on a mac, access logs say http 1.1 is accessing the domain. Nothing in front of Ngnix, but I'm wondering if I have the http 2 module on Nginx...


It's probably compiled in but your config would look something like:

    server {
     listen 443 ssl backlog=1536 so_keepalive=58s:58s:5 deferred reuseport;
     http2 on;
    # [snip...]
This is on nginx/1.26.2. Older versions looked a little different.


Thanks. I'll give it a try with the != HTTP/2.0 method.


My bad, yes I didn't declare it:

listen[::]443 ssl http2;

thank you.


That's the older syntax. What version of NGinx are you on? Only curious because there have been a few bug fixes.

    nginx -v


1.23.1


Here [1] are the summarized release notes that describe the bugs fixed in the latest versions. If you update the http2 flag/syntax changes to what I listed.

    http2 on; # instead of being in the listen line.
[1] - https://nginx.org/news.html


Updated, thanks again.


These and other anthropological elements are very well described by Esther Gokhale as the basis of her method (which has been a life changer, at least for me).

You can find more on her website or book "8 Steps to a pan-free back".


I guess the good stuff is private and not on Showcase - quite poor quality here.


Only top paid tier allows private generations. The rest are public. But they might as well be private, because they quickly get buried.


You mean the showcase is poor quality?

Can you link to a midjurney image with better quality?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: