@amonakov@mastodon.gamedev.place avatar

amonakov

@amonakov@mastodon.gamedev.place

This profile is from a federated server and may be incomplete. Browse more on the original instance.

rygorous, to random
@rygorous@mastodon.gamedev.place avatar

1883: Treasure Island
1994: Treasure Galaxy!
2002: Treasure Planet

look if I've learned one thing about sequel escalation it's that this cannot end well

amonakov,
@amonakov@mastodon.gamedev.place avatar

@pervognsen @rygorous Also, the 1988 Treasure Island is an absolute treasure and its Wikipedia page got links to a subtitled version on YT:
https://en.wikipedia.org/wiki/Treasure_Island_(1988_film)

regehr, to random
@regehr@mastodon.social avatar

I probably already posted this but since I'm working on a paper I'll say again that one of the best paper-writing life hacks I've learned in the last long time is this makefile target that makes latexmk rerun every time you touch a dependency and then pushes the result out to the PDF viewer (which should be configured to re-render when the file changes):

watch:
latexmk -pdf $(PAPER).tex -pvc

amonakov,
@amonakov@mastodon.gamedev.place avatar

@regehr For me, latexrun is a recent life-changing discovery: the way it presents latex warnings and errors in a nice readable way is unparalleled. It doesn't offer a "background monitor" mode like 'latexmk -pvc' on its own, but one can use inotifywatch for that purpose.
https://github.com/aclements/latexrun/

amonakov, to random
@amonakov@mastodon.gamedev.place avatar

Fun fact: there are at least five distinct choices for type T (not counting typedefs) such that a C compiler targeting a POSIX system cannot optimize out the call to 'aux' in

void *alloc(T *psize)
{
size_t sz = *psize;
void *a = malloc(sz);
if (sz != *psize)
aux();
return a;
}

mattst88, to gentoo
@mattst88@fosstodon.org avatar

Another day, another bizarre software discovery.

Apparently 's sys-apps/sandbox (which ensures ebuilds don't make a mess outside of their build "sandbox") had a huge performance regression which caused webkit-gtk build times to go from 9 minutes to 1 hour.

After collecting a ton of data, applying patches, reverting patches, etc, I filed https://bugs.gentoo.org/910273 and it seems we have a fix.

But I don't know how it's fixing things!

amonakov,
@amonakov@mastodon.gamedev.place avatar

@mattst88 Why guess when you can profile? ;)
Without AT_EACCESS in flags, faccessat really doesn't scale due to how access_override_creds works:
https://gist.github.com/amonakov/9281bba3974d931fe500eaad0369568c

The sandbox could probably use AT_EACCESS (which makes faccessat more efficient than fstatat).

wolfpld, to random
@wolfpld@mastodon.gamedev.place avatar

Ugh, groff 1.23 removes color from man pages. Using bold and underline text attributes makes more sense in theory, but the monochrome text is much harder for me to read.

Top: new, bottom: old.

amonakov,
@amonakov@mastodon.gamedev.place avatar

@wolfpld @pervognsen Sorry, are you positive it's groff and not your distro changing/dropping MANPAGER? What distro are you on?

amonakov,
@amonakov@mastodon.gamedev.place avatar

@wolfpld @pervognsen Another way is by exporting LESS_TERMCAP_xyz like in Gentoo's manpager: https://gitweb.gentoo.org/repo/gentoo.git/tree/app-text/manpager/files/manpager.c

It seems groff-1.23 somehow "broke" that, let me dig a bit more...

amonakov,
@amonakov@mastodon.gamedev.place avatar

@wolfpld @pervognsen Perhaps you have colors configured in the LESS env var? But then I don't see how you'd get proper colors in bat.

groff-1.23 removed 'sgr 0' support, while Arch used to rely on it in groff's man.local to make it output traditional backspace-overstrike instead of ANSI escapes (and then configure 'less' to colorize those).

I think you could try GROFF_NO_SGR=1 or MANROFFOPT=-c to get the previous behavior.

More details can be found on NixOS' tracker: https://github.com/NixOS/nixpkgs/pull/241870

bugaevc, to random
@bugaevc@floss.social avatar

cursed

amonakov,
@amonakov@mastodon.gamedev.place avatar

@bugaevc vfork suspends only the calling thread

amonakov,
@amonakov@mastodon.gamedev.place avatar

@bugaevc vfork suspends only the calling thread

kernellogger, (edited ) to linux
@kernellogger@fosstodon.org avatar

Reminder: a where uname -r prints something like "5.15.0-71-generic" is a vendor kernel that is likely quite different from 5.15.71[1].

In case of problems with such a kernel you thus must report them to your vendor.

That's because almost all upstream developers don't care about problems in such kernels, as they might happen due to modifications the vendor applied.

[1] it in fact is likely based on a much later Linux 5.15.y release

amonakov,
@amonakov@mastodon.gamedev.place avatar

@kernellogger Compare and contrast:

you must ... because ... don't care

vs.

Please report them to the vendor first, because such kernels often carry additional modifications that upstream developers might not be aware of.

regehr, to random
@regehr@mastodon.social avatar

something I frequently gripe about is how bad SMT solvers are at answering queries about IEEE floating point problems. a recent paper "SMT-Based Translation Validation for Machine Learning Compiler" uses a CEGAR-like approach to refine an initially-coarse FP abstraction, and this seems to work well. anyone know if that sort of technique is available off the shelf anywhere, so we don't have to re-implement?

paper starts on page 386 of this proceedings:
https://link.springer.com/chapter/10.1007/978-3-031-13188-2_19

amonakov,
@amonakov@mastodon.gamedev.place avatar

@Doomed_Daniel @rygorous @steve @regehr @griotspeak As multiple people commented in that thread, people have been running SPEC on x86 with gcc -ffast-math for 20+ years, competing against ICC. And this 2021 LLVM issue only surfaced on arm64, not x86.

In fact, I would go as far as saying that "don't break SPEC" was the single unwritten rule for -ffast-math in GCC until recently. Now there are no rules.

amonakov,
@amonakov@mastodon.gamedev.place avatar

@Doomed_Daniel @rygorous @steve @regehr @griotspeak Outside of standards-conforming mode (without -std=c99 or the like on the command line), GCC defaults to -ffp-contract=fast, which is probably worse than you think. It allows contraction across statements, leading to very spicy and buggy interactions with optimizations after some statements have been duplicated:
have a look at https://gcc.gnu.org/PR106902 if you have the time.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • cubers
  • DreamBathrooms
  • ngwrru68w68
  • Durango
  • osvaldo12
  • magazineikmin
  • mdbf
  • Youngstown
  • slotface
  • rosin
  • everett
  • kavyap
  • anitta
  • normalnudes
  • thenastyranch
  • khanakhh
  • cisconetworking
  • modclub
  • GTA5RPClips
  • InstantRegret
  • tacticalgear
  • provamag3
  • ethstaker
  • tester
  • Leos
  • megavids
  • lostlight
  • All magazines