News for hackers. Stuff that matters.
Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @06:11PM (#34201696)
The state of proliferating sites that won't let you access them because you're not using an "approved" browser with JS and cookies enabled, and hiding behind the "security" excuse to do so. Ironic that I can't even read an article about HTTP in 2022 because of that racket.

Thanks, Cloudflare.

Re:The State of HTTP in 2022 by zdragnar on Saturday December 31, 2022 @07:03PM (#34202082)
It isn't your security they're concerned about, it is the server's- it is preventing DDoS attacks.

If you want to blame someone, blame the people who poisoned the well for everyone else.

Re:The State of HTTP in 2022 by maxbond on Saturday December 31, 2022 @07:17PM (#34202175)
We can walk & chew gum here, spammers and DDoSers are poisoning the well for sure, but Cloudflare is responsible for externalities of their service.
Re:The State of HTTP in 2022 by georgyo on Saturday December 31, 2022 @08:06PM (#34202498)
> We can walk & chew gum here

I've never heard this expression before, but I think this expression works against you here.

Many cities have a problem with people putting gum on the sidewalks. Some cities have banned chewing gum to combat this. This is similar to cloudflare banning questionable clients.

More on topic, I understand the view point here, but cloudflare is better than the way things used to be. With the privacy pass extension, visit sites with the tor browser is pretty painless. It used to be all too common for sites to just outright ban all tor traffic.

Re:The State of HTTP in 2022 by zdragnar on Saturday December 31, 2022 @11:25PM (#34203590)
Server hosts want protection from DDoS. They hire a bouncer (I e. Cloudflare) to keep the hordes at bay. The bouncer asks for some way to distinguish your suspicious looking request from that of the start of a DDoS attack.

How is this an "externality" of cloudflare's service? If anything, it is an "externality" of the server hosts.

Re:The State of HTTP in 2022 by maxbond on Sunday January 01, 2023 @12:10AM (#34203797)
Does it even matter? Blame is irrelevant, I find responsibility to be a more interesting thing to discuss in virtually all circumstances. The DDoSers and spammers should cut it out (but unfortunately we can't really count on them for anything), Cloudflare should make more of an effort to preserve accessibility, and their customers should care about it too & make it clear to Cloudflare that it's a priority to them.

But if we take a step back it's clear that Cloudflare is the entity here that can have the biggest impact. Spammers and customers are diffuse, Cloudflare isn't. How much of the blame they deserve, I don't really care, but theres a problem, they're in the best position to act, so they have a responsibility to. In my opinion, that's the best mindset for solving problems.

Re:The State of HTTP in 2022 by zdragnar on Sunday January 01, 2023 @12:35AM (#34203918)
> Blame is irrelevant, I find responsibility to be a more interesting thing to discuss

This is, to me, a bizarre notion. You're imposing some sort of moral edict upon cloudflare for providing an opt-in service to web hosts.

> they're in the best position to act

They have, and they decided that certain traffic requires additional consideration to distinguish from bad actors. Your refusal to cooperate is entirely on you.

Just because you don't like their solution doesn't mean that there is a better one. If you have better ideas, I'm sure they're all ears, as less intrusive is generally cheaper to implement.

Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @08:13PM (#34202539)
it is preventing DDoS attacks.

Is it? Those who want to DDoS will always find a way, and meanwhile users with slightly odd hardware/software are being locked out. Admittedly the latter is a minority, but one of the key tenets of the Internet and what made it so successful was interoperability. This is, in some ways, even worse than (but somewhat of a following effect of) the effective browser monopoly.

Calling it "security" when it's really about "availability" is another deceptive misdirection, because the former is something that can more easily persuade the sheeple.

I don't really like to go to extremes, but fingerprinting clients and deciding access based on such should really be regarded as a moral equivalent to racial profiling.

Re:The State of HTTP in 2022 by zdragnar on Saturday December 31, 2022 @08:19PM (#34202586)
Profiling happens all the time for entirely legitimate reasons in the real world. Racial profiling is immoral not because it is profiling; it is immoral because it is based on immutable characteristics which have no intrinsic bearing on the purpose of the profile.

To tie this back to the topic at hand, you're complaining that a service has decided your traffic resembles known patterns from bad actors, and is asking you to go through an extra step to access the content.

Are there better options? Maybe, but it's utterly asinine to compare what cloudflare is doing to racial profiling.

Re:The State of HTTP in 2022 by jayd16 on Saturday December 31, 2022 @08:53PM (#34202784)
> Those who want to DDoS will always find a way

How do you figure? You don't think far more DDoS events would occur if it was easier and more effective?

Re:The State of HTTP in 2022 by cortesoft on Saturday December 31, 2022 @09:17PM (#34202911)
> Those who want to DDoS will always find a way

Not really. We are actually pretty good these days at stopping DDOS attacks.

Re:The State of HTTP in 2022 by mysterydip on Saturday December 31, 2022 @09:23PM (#34202942)
Not sure how accurate this is, but currently shows 150+ DDoS attacks going on globally: https://www.netscout.com/ddos-attack-map
Re:The State of HTTP in 2022 by cortesoft on Saturday December 31, 2022 @09:48PM (#34203085)
DDOSes still happen a lot, but the infrastructure can mostly handle it ok.
Re:The State of HTTP in 2022 by acdha on Saturday December 31, 2022 @10:02PM (#34203154)
It’s accurate. That’s a marketing page for a DDoS prevention service so it’s not an unbiased source, and it’s especially important to remember the distinction between traffic hitting something like an edge node and actually reaching the target and causing harm. I see attacks fairly regularly (politics) but in most cases it means I see 15M block events for “GET /“ in Cloudflare’s dashboard but no actual impact on the service because they’re dropped quickly at locations around the world or, if they faked real browsers, they got a bunch of cache hits.

In other cases, people try more sophisticated attacks (e.g. posting random terms to a search page to avoid caching) and that’s more of a problem but it’s probably like 1% of the total traffic because it’s moved out of script kiddie territory into something where you need to have more skills and people don’t generally do that without a way to make money from it. One challenge with a DDoS in that regard is that it’s not subtle so your ability to wage an attack goes away relatively quickly without constant work replacing systems which are taken offline by a remote ISP.

Re:The State of HTTP in 2022 by xboxnolifes on Sunday January 01, 2023 @04:40AM (#34205001)
If we weren't pretty good at stopping DDoS attacks, every major hosting provider would be offline daily. Yet, websites being inaccessible for me is fairly uncommon.
Re:The State of HTTP in 2022 by acdha on Saturday December 31, 2022 @09:21PM (#34202936)
> Those who want to DDoS will always find a way

This is like saying no lock will stop a thief. Cost and difficulty matter, and requiring a full browser increases the challenge for an attacker enough that some people will give up and others won’t be able to send as much traffic. That’s not perfect but speaking from experience a surprising fraction of people will give up after a naive attack fails.

Re:The State of HTTP in 2022 by worldofmatthew on Sunday January 01, 2023 @03:39AM (#34204719)
DDOS attacks that exist because Cloudflare knowly protects booter websites which feeds the DDDOS economy with money to make DDOS botnets profitable?
Re:The State of HTTP in 2022 by mnot on Saturday December 31, 2022 @07:18PM (#34202179)
The IETF is working on a solution to this, and Cloudlare is actively contributing and implementing; see https://blog.cloudflare.com/eliminating-captchas-on-iphones-...
Re:The State of HTTP in 2022 by dceddia on Saturday December 31, 2022 @07:50PM (#34202390)
This plan looks even worse for privacy, and seems to rely on authenticating the unique device itself.

> Know your user is coming from an authentic device and signed application, verified by the device vendor directly.

If they manage to get wide adoption of something like this it seems like a very bad day for privacy, and a joyous day for advertisers, anyone who wants to prevent web scraping, Google and/or anyone who might want to make it hard to crawl the entire web…

Re:The State of HTTP in 2022 by mnot on Saturday December 31, 2022 @07:54PM (#34202413)
Read a bit more; that’s not how the cryptography works. They’re blinded tokens.
Re:The State of HTTP in 2022 by dceddia on Saturday December 31, 2022 @09:18PM (#34202915)
I read further, and it sounds like they've designed it with privacy in mind. That's nice.

I'm still having a hard time seeing how this doesn't eventually lead to a completely locked-down internet, where users can only use approved browsers and devices.

They have a list of steps for how a request would be made, where steps 2 and 3 are:

> 2. Safari supports PATs, so it will make an API call to Apple’s Attester, asking them to attest.

> 3. The Apple attester will check various device components, confirm they are valid, and then make an API call to the Cloudflare Issuer (since Cloudflare acting as an Origin chooses to use the Cloudflare Issuer).

In a theoretical future world where 99% of site operators have set this up for protection, and 99% of users are using approved browsers, how would one do something like...

Create a competitor to Google? You'd need to crawl the web for that. Would you imagine Apple or Cloudflare would gladly let your device request millions of tokens per hour? Or would that be throttled or disallowed entirely?

Use curl (or telnet, or [any other HTTP client]) to grab a page?

Use yt-dlp to download a YouTube video?

Scrape a bunch of data for an AI project? See this article from the front page where someone scraped a bunch of car listings from KBB and trained a model to estimate car prices and found some interesting results. https://blog.aqnichol.com/2022/12/31/large-scale-vehicle-cla... - would something like that be permitted under a system like this? Or might you need to own/rent an army of authorized devices with authorized browsers to do that experiment?

Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @09:41PM (#34203047)
The Apple attester will check various device components, confirm they are valid

Here's the "you will be under our control" part of their scheme. Running any "unauthorised" software? Rooted/jailbroken? Certain "security" features disabled? Using third-party replacement parts? ... Social credit score too low? Too bad, you're now denied access.

Re:The State of HTTP in 2022 by jws on Saturday December 31, 2022 @09:49PM (#34203091)
I've implemented PAT on a service. A server would only want to require PAT when it wants to see if it is dealing with a human. In the context of, say a blog, you would require PAT when someone wants to make an anonymous comment or create an account.

For requests which are "reading" you just serve content, unless for some reason you only want human eyeballs to see your content.

In your proposed scenario, reading the publicly accessible contents of the web, there should be no problems. (Of course some percentage of sites will accidentally have required PAT at any time and be unscannable, but presumably they figure that out and fix it.)

Now for the good side: I, reluctantly, implemented a geolocation filter to control anonymous content additions to that service I was alluding to. I felt bad about it, but I also felt bad having to filter out content spam every day. It turned out that all my strange content spam came from one country, so I banned 143 million people from anonymous content creation for my convenience.

With PAT I can remove the national ban and let any "probably human" in.

Re:The State of HTTP in 2022 by dceddia on Saturday December 31, 2022 @10:01PM (#34203150)
> For requests which are "reading" you just serve content, unless for some reason you only want human eyeballs to see your content.

I was going to cite the LinkedIn case where, last I had heard, the courts had decided that scraping was legal...

Headline [0] from April:

> Court rules that data scraping is legal in LinkedIn appeal

> LinkedIn has lost its latest attempt to block companies from scraping information from its public pages, including member pages.

... but upon googling it, I found a more recent [1] ruling :/

> LinkedIn prevails in 6-year lawsuit against data scraper

> The U.S. District Court for the Northern District of California sided with LinkedIn in its six year lawsuit against a firm that scraped data ...

So that sure puts a nail into the argument I was going to make. But still, while I think your use case lines up with the spirit of this kind of system, I think the reality is that it also would be used by every single site with a signup wall to kill off the archive.ph's of the world.

0: https://www.zdnet.com/article/court-rules-that-data-scraping...

1: https://iapp.org/news/a/linkedin-prevails-in-six-year-lawsui...

Re:The State of HTTP in 2022 by asdfghjhgfderty on Sunday January 01, 2023 @05:58AM (#34205364)
sadly, you are completely wrong. just look at captcha usage.

yeah, very few follow the original recommendation of showing captcha for ips that already showed signs of being bots etc.

but the vast majority shows captchas for absolutely anything. I can't even book a dmv appointment today without answering a gratutious one.

same will surely happen with PAT, especially because it is so easy for the implementer to shove it everywhere. people are lazy and dumb.

Re:The State of HTTP in 2022 by asdfghjhgfderty on Sunday January 01, 2023 @06:01AM (#34205381)
> In a theoretical future world where 99% of site operators have set this up for protection, and 99% of users are using approved browsers, how would one do something like [compete with apple or google]

A: they won't. and that's the plan. not to mention that now those are the only two players (microsoft a late third) that can both attest you and profile you locally on the device for advertising profiling.

Re:The State of HTTP in 2022 by charcircuit on Saturday December 31, 2022 @07:56PM (#34202431)
Stopping ad fraud only hurts people trying to make money from it. Preventing web scraping is good for privacy.

This is implemented in a privacy preserving way.

Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @08:22PM (#34202600)
Preventing web scraping is good for privacy

It's bad for freedom. Very, very very bad.

Talking about the "privacy" of what has been made publicly available makes no sense.

Re:The State of HTTP in 2022 by charcircuit on Saturday December 31, 2022 @10:32PM (#34203311)
>It's bad for freedom

So are laws in the real world about stealing.

>Talking about the "privacy" of what has been made publicly available makes no sense.

Yes, it does. Users often wish to be able to delete or make something that was once public private. For example someone could post a picture of themselves on twitter. A year later they are no longer comfortable with having pictures of themself online so they go and delete them. Despite the user deleting them malicious scrapers will not delete them and keep those images. Another example would be setting your real name to your twitter name. Later you aren't comfortable using your real name so you change it away. Scrapers may still have your real name despite you wanting it to be a secret.

Re:The State of HTTP in 2022 by cvalka on Saturday December 31, 2022 @10:47PM (#34203388)
So you don't believe in freedom of speech. Got it. Google should not exist and other great ideas.
Re:The State of HTTP in 2022 by charcircuit on Saturday December 31, 2022 @11:09PM (#34203506)
I never gave my opinion on privacy. Also, Google can exist just fine if they were not allowed to store private documents.
Re:The State of HTTP in 2022 by cvalka on Wednesday January 04, 2023 @11:11AM (#34247334)
You don't believe in freedom of thought or speech. Period.
Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @11:20PM (#34203567)
Users often wish to be able to delete or make something that was once public private.

People also wish to be be able to do a lot of other things, but that doesn't make it right.

What becomes public history must remain immutable. Otherwise you're just going to encourage a state in which those who have the power to will destroy and rewrite the past to their advantage, to control the narrative over the population. The trendy phrase "right to forget" is effectively a "right to rewrite history".

It's interesting that you automatically call those wanting to preserve what could possibly be very important history "malicious scrapers".

Re:The State of HTTP in 2022 by charcircuit on Saturday December 31, 2022 @11:41PM (#34203678)
>It's interesting that you automatically call those wanting to preserve what could possibly be very important history "malicious scrapers".

I am going off of twitter's view. If you store tweets locally you must listen for when they get deleted and then delete them on your end too. If a scraper is breaking twitter's rules I consider that malicious scraper.

https://developer.twitter.com/en/developer-terms/policy#3.Up...

>If you store Twitter Content offline, you must keep it up to date with the current state of that content on Twitter.

Re:The State of HTTP in 2022 by nibbleshifter on Saturday December 31, 2022 @07:59PM (#34202450)
> Preventing web scraping is good for privacy.

You will need to elaborate on that.

Re:The State of HTTP in 2022 by gattilorenz on Saturday December 31, 2022 @08:16PM (#34202563)
I assume the OP means that scraping is used to collect public data, including that of individuals, which can even be linked across different websites. There’s at least a couple of services that try to connect somebody’s Instagram account to their FB/Twitter/LinkedIn etc. I assume some of those rely on scraping (+username checking), since the TOS for the APIs of those social networks probably prohibit this use case.
Re:The State of HTTP in 2022 by charcircuit on Saturday December 31, 2022 @10:25PM (#34203274)
Yes, big datasets of user data can be created and sold. This user data can be joined across multiple sites to build up profiles on people. These datasets floating around can harm the reputation of a site.
Re:The State of HTTP in 2022 by thataintright on Saturday December 31, 2022 @09:09PM (#34202860)
Why is the IETF letting the CIA influence the design of network protocols?
Re:The State of HTTP in 2022 by dane-pgp on Saturday December 31, 2022 @10:41PM (#34203359)
If you think that's bad, you're not going to like the fact that they're letting the NSA design a system for "TPM-based Network Device Remote Integrity Verification":

https://www.ietf.org/archive/id/draft-ietf-rats-tpm-based-ne...

Re:The State of HTTP in 2022 by RedShift1 on Sunday January 01, 2023 @03:37AM (#34204706)
If you think that's bad, don't look up what happened with IPsec.
Re:The State of HTTP in 2022 by ddon on Saturday December 31, 2022 @09:23PM (#34202944)
May be this link will work for you?

https://archive.ph/1gcnQ

Re:The State of HTTP in 2022 by userbinator on Saturday December 31, 2022 @09:35PM (#34203017)
Thanks for trying, but unfortunately archive.ph is also behind Cloudflare.
Re:The State of HTTP in 2022 by anenefan on Saturday December 31, 2022 @09:39PM (#34203032)
Funny enough I can actually view their article.

Despite that I can visit websites where admins that set permissions not overly tough, I still run into enough blocks due to cloudflare that I'm considering investing time (ok for the last few years I've been really really lazy, I'm happy enough to copy and paste so I can manually write a nasty comment ) so that for each "bad load" the web site can be added to my disallow list. It might only save the smallest amount of wasted bandwidth but I guess it all adds up.

Re:The State of HTTP in 2022 by 1vuio0pswjnm7 on Saturday December 31, 2022 @10:24PM (#34203269)
Commenters might try to challenge the parent comment but the article's disclosures are evidence of the comment's accuracy. For example, this alleged "head-of-line blocking problem" that HTTP/2 purportedly "solves" was never a problem of HTTP outside of a specific program, the graphical web browser. The type of client that tries to pull resources from different domains for a single website. Not all programs that use HTTP need to do that.

For instance I have been using HTTP/1.1 pipelining outside the browser for close to 20 years. It has always been supported by HTTP servers and it works fast and reliably with the simple clients I have use. I still rely on HTTP/1.1 pipelining today, on a daily basis.

Thus, this "problem" that is often cited when attempting to justify the industry-sponsored "improvement" of HTTP is confined to a specific program, an "approved browser", a bloated, complex, beloved-by-developers client that is optimised for tracking and advertising, of course with JS and cookies enabled not to mention a host of other nuisances. To be clear, I am not suggesting HTTP/2 is not useful. Of course it is. I am suggesting that the HOL "problem" that HTTP/2 is cited as "solving" was never a problem outside of a certain program that happens to use HTTP: the "modern" web browser. From a user perspective, "server push" was a ridiculous idea. Glad to see it gone frome Chrome. Like "solving HOL blocking" it seems to be targeted at the "modern" web browser that serves ads. Another example may be "Early Hints". I once saw theregister.com using it and it caused problems with the proxy I use. What uses does it have other to support "modern" web browsers and online advertising. Why shold users want these "features".

HTTP/1.1 and its precursors were generally developed by academics. HTTP/2 was generally developed by corporations that profit from eyeballs, surveillance and online advertising.

When I use the web recreationally, such as reading the text of pages on sites submitted to HN, I only use HTTP to request the page, nothing else. That is, one HTTP request per site, to one domain. The DNS data for the domain has been retreived and stored in advance in the memory of a localhost-bound TLS forward proxy^1 by a different program specifically designed for retrieving DNS data in bulk. By design, any DNS lookups the browser tries to make will fail. As it happens, this configuration is generally enough to read every site submitted to HN. In fact, I cannot think of a single exception.

Normally I use a text-only browser that connects to the proxy but occasionally I test sites in a "modern" browser through the proxy. Surprisingly many, perhaps most, sites I have tested look just fine under this configuration. Making numerous requests to other domains is unnecessary in order for me to read the text on the page.

What "tech" companies and their service providers want and what www user want are not always the same things. The "new" HTTP gives the former what they want. The later are an afterhtought.

1. If one has smaller/simpler/older software, whether it is Netcat or an old version of Internet Explorer or something else, that does not keep up with the wonderful world of TLS, the proxy, which is up-to-date with the all the latest developments, can take care of that. That said, as many HN readers know, Cloudflare has a heuristic for detecting "preferred" browsers and sells this as a "protection service". IMO, it ruins the simplicity of HTTP when www users are forced to use a 135+MB program, financed by online advertising, to send HTTP requests.

Re:The State of HTTP in 2022 by mnot on Saturday December 31, 2022 @10:42PM (#34203364)
If early hints breaks your proxy, it’s likely your proxy doesn’t handle 1xx status codes correctly. Could you tell me which proxy it is (privately if you think it necessary)? I’d like to chase the bug with them.
Re:The State of HTTP in 2022 by raggi on Sunday January 01, 2023 @02:34AM (#34204411)
The big problem with pipelining in http 1.x is that a response can break the pipeline part way through and there is no way to know what the server processed. A response night for example, mid pipeline be connection:close and that’s that, did any subsequent request get processed? Who knows.
Re:The State of HTTP in 2022 by 1vuio0pswjnm7 on Sunday January 01, 2023 @06:01AM (#34205380)
HTTP/2 seems to be designed for (graphical, interactive) webpages.

The maintainer of a popular webserver has suggested HTTP/2 is slower than HTTP/1.1 for file download.

https://stackoverflow.com/questions/44019565/http-2-file-dow...

As I stated, I use HTTP/1.1 pipelining every day. I use it for a variety of information retrieval tasks, even retrieving bulk DNS data. To give an arbitrary example, sometimes I will download a website's sitemaps. This usually involves downloading a cascade of XML files. For example, there might be a main XML file called "index.xml". This file then lists hundreds more sitemap XML files, e.g., archive-2002-1.xml, archive-2002-2.xml, containing every content URL on the website beginning with some prior year all the way up to the present day. Using a real world example, index.xml contains 246 URLs. Using HTTP/1.1 pipelining I can retrieve all of them into a single file using a single TCP connection. Then I retrieve batches of the URLs contained in that file, again over a single TCP connection. Many websites allow thousands of HTTP requests HTTP/1.1-pipelined over a TCP single connection, but I usually keep the batch size at around 500-1000 max. Of course I want the responses in the same order as the requests.

The process looks something like this

    ftp -4o 1 https://[domainname]/sitemaps/index.xml
    yy030 < 1|(ka;nc0) > 2
    yy030 < 2|wc -l

    1337855
1337855 is the number of URLs for [domainname]. Content URLs, not Javascript, CSS or other garbage.

yy030 is a C program that filters URLs from standard input

ka is a shell alias that sets an environment variable that is read by the yy025 program to indicate an HTTP header, in this case the "Connection:" header set to "keep-alive" not "close" (ka- sets it back to close)

nc0 is a one line shell script

    yy025|nc -vv h1b 80|yy045
yy025 is a C program that accepts URLs, e.g., dozens to hundreds to thousands of URLs, on stdin and outputs customised HTTP

h1b is a HOSTS file entry containg the address of a localhost-bound forward TLS proxy

yy045 is a C program that removes chunked transfer encoding from standard input

To verify the download, I can look at the HTTP headers in file "2". I can also look at the log from the TLS proxy. I have it set configured to log all HTTP requests and responses.

Is this a job for HTTP/2. It does not seem like it.

This type of pipelining using only a single TCP connection is not possible using curl or libcurl. Nor is it possible using nghttp. Look around the web and one will see people opening up dozens, maybe hundreds of TCP connections and running jobs in parallel, trying to improve speed, and often getting banned. As with the comment from the Jetty maintainer, I suspect using HTTP/2 would actually be slower for this type of transfer. It is overkill.

IMHO, HTTP, i.e., in the general sense, is not just for requesting webpages and resources for webpages.

I find HTTP/1.1 to be very useful. It is certainly not just for requesting webpages full of JS, CSS, images and the like. That is only one way I might use it. Perhaps HTTP/2 is the better choice for webpages. TBH, if using a "modern" graphical browser, I would be inclined to let it use HTTP/2. Most of the time I am not using a graphical browser.

Re:The State of HTTP in 2022 by pfoof on Sunday January 01, 2023 @07:03AM (#34205661)
This comment deserves a post on it's own, so you can explain the naming scheme behind it
Re:The State of HTTP in 2022 by asdfghjhgfderty on Sunday January 01, 2023 @10:18AM (#34206927)
they are simply constructing GET request headers "by hand " based on some xml file downloaded earlier an then sendind that list of GET via `nc`. the example is just over confusing and using file named as 1, 2

I voted up because that is indeed neat tho.

Re:The State of HTTP in 2022 by 1vuio0pswjnm7 on Sunday January 01, 2023 @05:03PM (#34211494)
One of the many programmer memes is something along the lines of "naming is difficult." Yet programmers, individuals who are often obsessed with numbers, insist on trying to do it anyway. The results speak for themselves. This extends beyond programs. The so-called "tech" industry has produced some of the most absurd, non-descriptive business names in the history of the world.

I decided to try numbering the programs I write instead of naming them. I often use a prefix that can provide a hint.^1 For example, the yy prefix indicates it was created with flex and the nc in nc0 indicates it is a "wrapper script" for nc. If the program is one I use frequently, then I have no trouble remembering its number. In the event I forget a program number, I have a small text file that lists each yy program along with a short description of less than 35 chars.

1. But not always. I have some scripts that I use daily that are just a number. I also have a series of scripts that begin with "[", where the script [000 outputs a descriptive list of the scripts, [001, [002, etc. I am constantly experimenting, looking for easier, more pleasing short strings to type.

Each source file for a yy program is just a single .l file with a 3-char filename like 025.l, so searching through source code can be as simple as

     grep whatever dir/???.l
If I put descriptions in C comments at top of each .l file I can do something like

     head -5 dir/???.l 
Aesthetically, I like have a directory full of files with filenames that follow a consistent pattern and are of equal length. Look at the source code for k, ngn-k or kerf. When it comes to programming, IMO, smaller is better.
Re:The State of HTTP in 2022 by svnpenn on Sunday January 01, 2023 @12:28AM (#34203885)
Yep. Just try to cURL the page, and you get 403 Forbidden. That is completely unacceptable.