User talk:Lars Hint

From Gentoo Wiki
Jump to:navigation Jump to:search
Note
This is a Talk page - please see the documentation about using talk pages. Add newer comments below older ones, sign comments using four tildes (~~~~), and indent successive comments with colons (:). Add new sections at the bottom of the page, under a heading (== ==). Please remember to mark sections as "open for discussion" using {{talk|open}}, so they will show up in the list of open discussions.

Thanks

Talk status
This discussion is done.

Hi Lars, thanks for all the work you do! — Waldo Lemmer 16:20, 17 April 2024 (UTC)

I appreciate your contributions as well. :) --Lars Hint (talk) 17:19, 17 April 2024 (UTC)

Semantic search

Talk status
This discussion is done.

Hi Lars, you will probably find Special:Ask interesting. Try entering [[Category:Laptops]] [[Category:Lenovo]] into the first text field, then click on "Find results".

Waldo Lemmer 04:11, 23 April 2024 (UTC)

That's awesome, why isn't this mentioned in the default search (which is broken by design, shows redirect pages)? But I don't think this can replace the current categories, since the result is not cached and this would put a high load on the server. However, query [[Category:Laptops]] [[Category:Lenovo]] [[Category:ARM]] is probably better than creating a new category "Lenovo Laptops (ARM64)", or not? --Lars Hint (talk) 05:44, 23 April 2024 (UTC)
I'm sure you're aware of the downsides of creating categories like "Lenovo Laptops (ARM64)". In addition to those you've experienced (including the required human labor and having to make hard decisions), this system is also pretty disorganized, since it's hard to predict whether a certain combination of categories (e.g. Laptops + Lenovo + ARM) exists in its own category, and, if so, how it's named.
Would you rather go through all that effort yourself, or have a computer do it for you? I think your time is worth more than the bit of time the server has to spend, especially considering the hardware-related knowledge you possess.
The server seems to do the above searches in an imperceptible amount of time when taking latency into account, and more complicated searches are limited by the limit value. The absolute worst-case scenario — searching for [[Category:Wiki Root]] with the limit set to its maximum — only takes about 10 seconds the first time (and doesn't hold up the rest of the site, which is a big plus :) ). And the fact that it's faster for subsequent searches suggests that there is some caching going on.
Waldo Lemmer 06:31, 23 April 2024 (UTC)
If I roll back the changes I made to the categories, the hardware related articles (e.g. Power_management/Guide) will be mixed in with the hardware pages, so it's not the best choice anyway. Everything will be bloated. Especially knowing that all those pages will have dozens of translations. The Special:Ask page also produces strange results for translated pages: some of them have an English title (with no language mark), some are localized. Anyway, what would you recommend? --Lars Hint (talk) 07:13, 23 April 2024 (UTC)
There's another problem as well. If "Lenovo Laptops" does a query for "Lenovo + Laptops" and someone creates a new page and puts it inside the "Laptops" category (which is bloated) and at the same time does not put it in the "Lenovo" category, the page will not be listed in "Lenovo Laptops". How long will it be before someone notices that this particular page is not listed there? --Lars Hint (talk) 07:39, 23 April 2024 (UTC)
That's already a problem, isn't it? If I create a page about my Dell Latitude 5440, I have to specifically know to put it in Category:Dell Laptops, otherwise it will be lost. The solution is for editors to follow recent changes and fix category errors like we've been doing. Adding instructions to article blueprints can also help, and I think my suggestion (see below) is a bit easier to explain to new editors, since there are fewer categories.
Waldo Lemmer 08:43, 23 April 2024 (UTC)
I can only think of two solutions:
  1. Laptops are in Category:Laptops. ASUS laptops are in Category:ASUS Laptops.
    • A lot of human labor is required.
    • Category:Laptops is used to discover articles about laptops in general.
    • Category:Laptops is used to discover articles about specific laptop products.
    • To keep these separated, laptop products are put in subcategories:
      • Category:ASUS Laptops is used to discover articles about ASUS laptops in general.
      • Category:ASUS Laptops is used to discover articles about specific ASUS laptop products.
      • These may need to be separated as well — perhaps by putting laptop product architectures ("ASUS Laptops (ARM64)") in subcategories?
    • The more qualifiers you add, the deeper you need to go.
    • As you go deeper, the amount of categories increases exponentially ({Desktops, Laptops, Servers} * {ASUS, Lenovo, Dell, HP} * {ARM64, AMD64} = 24).
      • The only way to get around this is to do "half work" — only go up to a certain depth (don't create "ASUS Laptops (ARM64)") and skip some categories (such as Lenovo desktops).
    • An arbitrary hierarchy needs to be maintained:
      • Laptops -> ASUS Laptops -> ASUS Laptops (ARM64), or
      • ASUS -> ASUS Laptops -> ASUS Laptops (ARM64), or
      • ARM64 -> ARM64 Laptops -> ASUS Laptops (ARM64), etc.
  2. Put laptop-related articles in Category:Laptops, ASUS-related articles in Category:ASUS, and specific product-related articles in Category:Products.
    • [[Category:Laptops]] [[Category:!Products]] is used to discover articles about laptops in general.
    • [[Category:Laptops]] [[Category:Products]] is used to discover articles about specific laptop products.
    • These two are well separated.
    • [[Category:ASUS]] [[Category:Laptops]] [[Category:!Products]] is used to discover articles about ASUS laptops in general.
    • [[Category:ASUS]] [[Category:Laptops]] [[Category:Products]] is used to discover articles about specific ASUS laptop products.
    • These two are well separated.
    • Category pages are not usable for these purposes anymore. They're only usable for things like showing all articles related to laptops.
      • This is fine. Special:Ask works for everything.
      • Some categories are already like this.
    • Fewer categories are needed (9 instead of 24 in the above example). This results in less category work. In my opinion, category work is a lot of effort for little reward.
Sorry for this wall of text, but I think it's a good explanation of the pros and cons and the differences of each approach. I vouch for the second approach.
Waldo Lemmer 08:38, 23 April 2024 (UTC)
Can you please explain the second solution a little more in detail, because I don't understand. I see it like this:
"ASUS superlaptop 3000":
* + "Category:ASUS"
* + "Category:Laptops"
* + "Category:Products"
"Category:Laptops":
* is a superset of "Category:Laptops/Articles" -> [[Category:Laptops]] [[Category:!Products]]
* is a superset of "Category:Laptops/Products" -> [[Category:Laptops]] [[Category:Products]]
* Default render of everything
"Category:ASUS":
* "ASUS Laptops" -> [[Category:ASUS]] [[Category:Laptops]] [[Category:Products]]
* ??? is a subset of "Category:Laptops" and "Category:Laptops/Products" ???
* ??? is a superset of "ASUS Laptops/Articles" -> [[Category:ASUS]] [[Category:Laptops]] [[Category:!Products]] ???
* ??? is a superset of "ASUS Laptops/Products" -> [[Category:ASUS]] [[Category:Laptops]] [[Category:Products]] ???
* Default render of everything
But that's even more categories than the first solution provides. What am I missing? And what about the ARM64 architecture? --Lars Hint (talk) 09:23, 23 April 2024 (UTC)
Don't create categories that are built from multiple other categories. Only have the categories themselves, and let users use Special:Ask to find pages that belong to multiple categories. Of course, the categories themselves can be arranged (e.g. Category:Architectures/AMD64).
By the way, this form of searching can be added to the regular search bar.[1] It can be done by adding one line to LocalSettings.php. I believe that would be done by the infra team.
Waldo Lemmer 09:35, 23 April 2024 (UTC)
Users don't know the MediaWiki syntax. In my opinion, it is bad design to force them to manually use the search. --Lars Hint (talk) 09:38, 23 April 2024 (UTC)
You're right. A user-friendly UI would be ideal here. A reasonable middle-ground would be to have a page and sub-pages with tables formed using popular queries. One of those tables might be "ASUS Laptops (ARM64)". Here's a different example:
{{#ask:[[Category:Archived]] [[Category:Outdated articles]] [[Category:Deletion candidate]] [[Category:Dirty]] [[Category:Deprecated]] [[Category:Stale]] [[Category:Stub]] [[Category:Todo articles]] [[Category:Work in Progress]] [[Category:Open discussions]]}}
produces
Wiki/Development/Sandbox
Waldo Lemmer 09:59, 23 April 2024 (UTC)
So the creation of a new category ("ASUS Laptops (ARM64)") is still required? I think we're right back where we started. :) --Lars Hint (talk) 10:17, 23 April 2024 (UTC)
Not a category, just a table on a (sub-)page in the main namespace.
With the current system, when design changes to the category hierarchy are made, individual pages have to be modified (like what you're doing). With my proposed solution, the categories would stay fixed, and only the #ask queries would have to be updated. Changing one query is a lot easier than changing the 30 pages underneath it.
Products could be separated from articles using [[Category:!Products]].
The system would be flexible — we could have a huge list of all laptops on the wiki if we wanted to :).
And each one of the ambiguities you mentioned on my talk page could be addressed by simply adding articles to both categories.
Waldo Lemmer 10:40, 23 April 2024 (UTC)
A category page would be better than a normal page in this case. Nothing will belong to the category (since it will use search), but the category itself will belong to the superset. Otherwise, it is necessary to manually specify links in the superset. Which will lead to the problems that the Embedded Handbook has (it would be impossible to know from the page itself which superset it should refer to). --Lars Hint (talk) 10:55, 23 April 2024 (UTC)
Oh, I think I'm starting to get delusional, Waldo is right, a regular page is fine. --Lars Hint (talk) 10:58, 23 April 2024 (UTC)
No, he is not. The page must be marked as a subcategory, which is only possible if the page itself is a category. --Lars Hint (talk)

The page must be marked as a subcategory

Why?
Anyway, I'll make a proof of concept later. I have a few too many things to do today.
Waldo Lemmer 11:20, 23 April 2024 (UTC)
To make it visible and avoid manual binding to the superset (by adding a direct link in the superset). I'm looking forward to it. --Lars Hint (talk) 11:27, 23 April 2024 (UTC)
Take a look at User:Lars_Hint/sandbox. This seems to be the only solution to solve everything we've discussed. --Lars Hint (talk) 12:16, 23 April 2024 (UTC)
The idea is sound, but it unfortunately has the same problem as "Lenovo Laptops (ARM64)" — it doesn't scale well, and extra work needs to be done when a new brand, form factor or architecture comes along.
I've given this topic much thought and research, but I couldn't find any scalable/automated solutions compatible with this specific wiki (e.g. string parser functions are disabled here). The best I could come up with is:
Categories:
  • Some root category
    • By subject
      • Products
      • Non-products
    • By form factor
      • Desktops
      • Laptops
    • By brand
      • Dell
      • HP
      • Lenovo
    • By architecture
      • AMD64
      • ARM64
    • By series
Pages and their categories:
  • Lenovo Thinkpad X1
    • Lenovo Thinkpad
    • Products
  • Dell Latitude 5440
    • Dell Latitude
    • Products
  • Category:Lenovo Thinkpad
    • Laptops
    • Lenovo
    • AMD64
    • By series
  • Category:Dell Latitude
    • Laptops
    • Dell
    • AMD64
    • By series
Directory (a page in the main namespace) and its subpages:
  • Subject/Form factor/Brand (e.g. Products/Laptops/Lenovo): [[Category:Product]] [[Category:Laptops]] [[Category:Lenovo]]
  • etc.
Each sequence of subpages in the directory would have to be:
  1. Scalable (there aren't many form factors or brands, so not a ton of work if a new one is added)
  2. Useful (Products -> Laptops -> Lenovo is useful; AMD64 -> Products -> Lenovo less so)
But this is still a lot of work when new categories are added.
I also looked into forms and inputboxes to generate permalinks for Special:Ask. I figured the link syntax out, but not how to build a form to generate one.
Here's a proof of concept of a directory with support for all possible combinations, which would be a reasonable idea if it could be automatically generated: User:Waldo Lemmer/Sandbox/Directory/Hardware
Waldo Lemmer 15:36, 23 April 2024 (UTC)
Wonderful solution, Waldo! I like it. However I don't understand why my change to User:Waldo Lemmer/Sandbox/Directory/Ask did not take effect. --Lars Hint (talk) 16:49, 23 April 2024 (UTC)
It did take effect — see Lemmer/Sandbox/Directory/Hardware/By_subject/Products/By_form_factor/Laptops&oldid=1294158. But something's clearly wrong, so I'll see if removing the column width fixes it. Edit: Yep, it did. — Waldo Lemmer 16:52, 23 April 2024 (UTC)
But it still uses the ul format. --Lars Hint (talk) 16:59, 23 April 2024 (UTC)
This is due to caching. It is necessary to manually update the pages. --Lars Hint (talk) 17:05, 23 April 2024 (UTC)
Waldo, we have a problem. I added my page to the Dell Laptops category, but your solution does not show it. Looks like it always renders the cacheed variant. --Lars Hint (talk) 17:09, 23 April 2024 (UTC)
Epic fail for both of us. --Lars Hint (talk) 17:13, 23 April 2024 (UTC)
Not sure if there's some weird caching going on, or if you missed it, but it's showing up — as it should, since #ask is a dynamic parsing function. — Waldo Lemmer 17:30, 23 April 2024 (UTC)
It does not appear in User:Waldo Lemmer/Sandbox/Directory/Hardware/By_subject/Products/By_form_factor/Laptops/By_brand/Dell --Lars Hint (talk) 17:33, 23 April 2024 (UTC)
It will only appear if the page User:Waldo Lemmer/Sandbox/Directory/Hardware/By_subject/Products/By_form_factor/Laptops/By_brand/Dell is manually updated by editing --Lars Hint (talk) 17:37, 23 April 2024 (UTC)
I definitely saw it under L. I just removed that page from the category, and it disappeared immediately. Try adding it again — if you still don't see it, I will take a screenshot to show you that it's visible for me :). — Waldo Lemmer 17:43, 23 April 2024 (UTC)
Just checked it again, it doesn't appear. I completely cleared the cache (with all data and history) in the browser, same result. --Lars Hint (talk) 17:50, 23 April 2024 (UTC)
It's there :). — Waldo Lemmer 17:54, 23 April 2024 (UTC)
I don't understand what's going on because it doesn't show up on my side. --Lars Hint (talk) 17:58, 23 April 2024 (UTC)
I did the bump, now I see it. --Lars Hint (talk) 17:59, 23 April 2024 (UTC)
I removed the category, but the page is still in User:Waldo Lemmer/Sandbox/Directory/Hardware/By_subject/Products/By_form_factor/Laptops/By_brand/Dell. --Lars Hint (talk) 18:00, 23 April 2024 (UTC)
It immediately disappeared for me...
...except when I go there via a private tab.
I'm dumbfounded.
Waldo Lemmer 18:15, 23 April 2024 (UTC)
The result is probably cached by geolocation. I don't see any other reason. --Lars Hint (talk) 18:03, 23 April 2024 (UTC)
From my tests, it looks like page content is fetched directly from the server at wiki.gentoo.org (not some CDN). If we're both seeing the same IP for wiki.gentoo.org (140.211.166.177), then there must be some other factor involved. The behavior with regards to switching to a private tab (see above reply) hints at this. — Waldo Lemmer 18:15, 23 April 2024 (UTC)
Just tested it on a neighbor's laptop - same result. --Lars Hint (talk) 18:07, 23 April 2024 (UTC)
My network is IPv6, not IPv4. --Lars Hint (talk) 18:21, 23 April 2024 (UTC)
Because of the issue, we can't use semantic search, so it's literally Epic Fail. --Lars Hint (talk) 18:28, 23 April 2024 (UTC)
:( — Waldo Lemmer 18:32, 23 April 2024 (UTC)

You're making good progress :)

Man, seeing categories like Category:Laptops (ARM64) unfold is so cool. Also these:

Stop joking, I did not expect that there are only 2 ARM laptops. So many days spent for such a result. :D --Lars Hint (talk) 17:58, 28 April 2024 (UTC)
Hey, at least X86 is up to 3 :P
But before, we didn't have the means to find these laptops. The best we could do was Category:ARM, but picking out the laptops from such a category is hard. And if smartphones were eventually added, we would be able to at a glance find ones that run AMD64 (if that even exists).
We'll also have nice stats from the links above, such as how many devices there are on the wiki.
Also, being able to edit every product page on the wiki through one template is incredibly powerful. And so is the ability to restructure the category graph at will. Creating all HP (AMD64)-like categories will be as easy as adding one more {{CatMask}} to Template:CompoundCategory.
By the way, it's criminal that Category:AMD64 didn't exist before today.
Waldo Lemmer 18:29, 28 April 2024 (UTC)

Removing pages from the old categories

You can leave that to me. Of course, I won't remove ones that don't have {{ProductPage}} yet.

Waldo Lemmer 20:10, 28 April 2024 (UTC)

<3, I'm going to sleep, all the laptops seem to be in new categories. Good night. --Lars Hint (talk) 21:02, 28 April 2024 (UTC)
Well done. I'll finish removing them from the old categories tomorrow. Good night.
Waldo Lemmer 21:04, 28 April 2024 (UTC)

Chromebook case

It might be a bit late to tell you this, but you didn't have to write "chromebooks" in lowercase :)

Don't worry, I'll fix it later.

I really should make those template docs more clear...

Waldo Lemmer 18:21, 29 April 2024 (UTC)

Well, I thought we were going to use lowercase for everything. :D Wikipedia says that Chromebooks are sometimes styled in lowercase, so I guess it's not a problem. --Lars Hint (talk) 18:27, 29 April 2024 (UTC)
I guess, but I think it looks bad in this context. I'll fix it when I feel super bored. For now, I'll remove the articles from the old category(s).
Waldo Lemmer 18:34, 29 April 2024 (UTC)
Oh, you already have. Thank you!
Waldo Lemmer 18:38, 29 April 2024 (UTC)

References