What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

After two years in the making, I finally released my cozy space sim Hauler64. Download it for Linux, Mac, or Windows on Itch, or play it in the browser on the Lexaloffle BBS. It's a cozy space trucking game with a few surprises. And you can pet a cat.

Itch: donswelt.itch.io/hauler64
Lexaloffle: lexaloffle.com/bbs/?tid=155597

0
2
0
0
9
0
0
0
24
0
0

Oh my, those clowns again. They cannot even tell servers apart, but want to play the "Safety Police"? What are they doing for a living, by the way (apart from slurping and selling our data)?

Yes, that's the same file as in January. On a different server. But they flag yet another, that does not even have that file. Incompetent folks, they should shut down that "service". Will they ever stop that nonsense?!?

Google SafeBrowsing flagging one website for a file on a different website (the two just share the second-leve domain), for a file their own malware engine declares clean.
0
0
0
0
2
0
0
0

I know 100% that people will argue with me over this, but I miss when movies were professionally lit, when actors were intentionally blocked, and when more than teal, orange and beige were allowed to be on the screen. The medium has something to do with it--film made a lot of these things fundamentally necessary--but I think it's more complex than just that. The last few years' movies are just not pleasant to look at, with very few exceptions, and the change occurred sometime around 2015.

0
50
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0

The Amstrad CPC6128 edition of New York Warriors was released with both disk sides containing the first side, losing a whole side of levels! Lost for 36 years, author Fred Williams has kindly allowed Games That Weren't to release the lost full version:

gamesthatwerent.com/2026/03/ne

It is thanks to Kevin Edwards that the game was preserved, after Fred sent his 3" disks to Kevin.

0
0
2
0

Mastodon boost/fav/reply idea:

Add following bookmarklet, named eg. "boost/fav/reply" to your browser bookmark toolbar:

javascript:(function() {location='mastodon.social/search?q=' + location.toString();})()

Just change mastodon.social for your actual home instance, where you are logged in all the time. Eg. for me it is:

javascript:(function() {location='f.cz/search?q=' + location.toString();})()

If you are viewing original URL of ActivityPub status outside of your instance, which means, that you are not logged in and cannot boost, fav or reply, clicking on this bookmarklet will just open the same status "locally", where you are logged in.

Tested in at least with and statuses and it seems to work as intended. I used to copy+paste URL to my home instance search box, but this is single click solution.

I wonder if there is way for web site to offer you installing bookmarklet automagically (it would be probably insecure?)

Feedback welcome.

0
1
1

Every time I see a piece of writing about the MacBook Neo, I’m tempted to buy one. It’s objectively worse than my current M1 MacBook Pro. But it’s at such a low price, that the fact that it’s an interesteing product to me is weighing heavy.

0
0

Has anyone been reaching a point where if you're reading something and a full screen modal pops up with a call to action you just. . . close the article as often as press through it?

Because I'm noticing this behavior in myself.

Goes up if it's a tab I opened to read "later" and when I check "later" all I see is a modal? Yeah, it's gone.

0

전에 읽다만 혼공컴운 책을 읽게됐는데 기존에 진법변환에 잘 몰랐다가 이번에 깨달음을 얻었다... 진짜 놀라운책...! CS추천받은 책이라서 전에 구매해놓고 읽다말았는데 이제 곧 대여기간이 얼마안남아서 이번달에 서둘러 읽어야 ㅠㅠ

1
0
0
0
0
0
0

Závazek dávat na obranu dvě procenta hrubého domácího produktu (HDP) je podle ministryně financí Aleny Schillerové (ANO) nezpochybnitelný. Slibovat vyšší výdaje ale není v současnosti reálné, uvedla v nedělní Partii Terezie Tománkové na CNN Prima News.
👉 Zástupci opozice kritizovali v debatě přístup vlády k obraně. Kabinet ANO, SPD a Motoristů podle nich neplní spojenecké závazky.

0

C++26: The Oxford variadic comma

C++26 brings us a small but meaningful cleanup to the language: deprecating ellipsis parameters without a preceding comma. This change, proposed in P3176R1, aims to improve C compatibility, reduce confusion, and pave the way for future language features. The proposal’s name is a playful reference to the Oxford comma - that final comma before “and” in a list. Just as the Oxford comma clarifies lists in English, this proposal mandates a comma before the ellipsis in function parameters. The problem First, let’s clarify terminology. This proposal is about ellipsis parameters - the C-style variadic parameters you might know from printf. These are different from template parameter packs, even though both use the ... syntax. Currently, C++ allows two ways to declare an ellipsis parameter: 1 2 void foo(int, ...); // with comma (C-compatible) void foo(int...); // without comma (C++-only) The second form without the comma originates from early (pre-standard) C++ function prototypes, but has remained part of standardized C++ ever since. Interestingly, C has never allowed the comma to be omitted. The C standard, unchanged since C89, requires: 1 2 // In C, only this form is valid: int printf(char*, ...); C++ later added support for the comma-separated form for C compatibility, but kept the old syntax for backwards compatibility. This creates an awkward situation where (int, ...) is compatible with both languages, but (int...) only works in C++. Why is this confusing? The real confusion comes from template parameter packs, introduced in C++11. Consider this example: 1 2 template<class Ts> void f(Ts...); // well-formed: a parameter of type Ts followed by an ellipsis parameter Many users associate (T...) with a parameter pack, not with an ellipsis parameter. Instead, it’s a single parameter of type Ts followed by an ellipsis parameter! To actually declare a parameter pack, you need: 1 2 template<class... Ts> void f(Ts... args); // args is a parameter pack The situation gets even more confusing with abbreviated function templates: 1 2 3 4 5 // abbreviated variadic function template void g(auto... args); // abbreviated non-variadic function template with ellipsis parameter void g(auto args...); These two look similar but have completely different meanings. The latter should be deprecated. The curious case of six dots Perhaps the most bizarre syntax enabled by the current rules is this: 1 void h(auto......); // equivalent to (auto..., ...) Yes, that’s six consecutive dots - if I counted it right. This declares a function template parameter pack followed by an ellipsis parameter. While technically possible to use (if the pack belongs to a surrounding class template), the syntax strongly suggests all dots apply to auto, which is misleading. What’s being deprecated? C++26 will deprecate ellipsis parameters without a preceding comma. Specifically: 1 2 3 4 5 6 7 8 9 // Deprecated in C++26: void f(int...); void g(auto args...); template<class T> void h(T...); // T is not a parameter pack // Preferred (and C-compatible): void f(int, ...); void g(auto args, ...); template<class T> void h(T, ...); The standalone ellipsis parameter remains valid: 1 void f(...); // still valid, C-compatible, unambiguous Impact This is a pure deprecation - removal had been already refused before. No existing code becomes ill-formed. Any deprecated uses can be mechanically transformed by adding a comma before the ellipsis. This transformation is simple enough to be automated by tooling. The proposal doesn’t estimate how much code will be affected, though the author found several dozen occurrences of the T...... pattern in a GitHub code search. The real number of affected declarations is likely non-trivial, finding them requires semantic analysis since (T...) could be either an ellipsis parameter or a parameter pack depending on context. This deprecation clears the path for future language features. The syntax (int...) has already blocked proposals like P1219R2 “Homogeneous variadic function parameters”, which would have given this syntax a new meaning. By deprecating the comma-less form, the committee preserves design space for future evolution while improving consistency with C and reducing a common source of confusion. Conclusion The Oxford variadic comma is a small change with multiple benefits: better C compatibility, reduced confusion with parameter packs, and preserved design space for future features. While the title is playful, the motivation is serious - cleaning up a historical artifact that serves little purpose in modern C++. If you’re using ellipsis parameters, start adding that comma before the .... Your code will be more C-compatible, less confusing, and ready for whatever comes next. Connect deeper If you liked this article, please hit on the like button, subscribe to my newsletter and let’s connect on Twitter!

www.sandordargo.com · Sandor Dargo’s Blog

0
0
0
0
0
0

Z našich bělokarpatských hájů znám ten klidný pohled do hebce zelených, listnatých korun.
Tam u nás vládnou dubohabřiny a bučiny plné světla a květů.
Havajský deštný les je úplně jiný, přesto je stejně hluboce uklidňující 🌳🌴😊

0
0
0
9
0
0
0
0
0
3
0