5 ms·
I think he's had that HN redirect for years. He is blocking hotlinking directly to files. Try https://www.jwz.org/xscreensaver/ https://www.jwz.org/xscreensave
by alayne 11y ago
I think he's had that HN redirect for years. He is blocking hotlinking directly to files.
Try https://www.jwz.org/xscreensaver/ https://www.jwz.org/xscreensaver/
- DanBC 11y agoThat redirects to imgur.
- hellbanner 11y agoCopy and paste the url.
- nitrogen 11y agoNo, he blocks/redirects all traffic with HN as referrer. Kind of a jerk move, which sucks because his site is full of useful stuff.
- mryan 11y agoCorrect. Even / redirects to imgur if the referrer is HN.
- dekhn 11y agojwz is a smart guy, but ultimately ... a bit inflexible and jerkish. I used to argue with him over using C++ in xscreensaver (I wrote a couple savers, glplanet, pulsar and glextrusion). I wanted to write a full scene graph implementation, a physics library, and a bytecode VM to implement screensavers without having to write a ton of low-level C++ code. Unfortunately, jwz's constraints include "Every screensaver must be a single C file" and "no C++", which while possibly wise when he first expressed it, has become a canard.
- maxerickson 11y agoWhat would be the problem with releasing all that stuff with some other name? (he seems to port xscreensaver to all the things he uses, so I can understand not wanting to accept a huge pile of someone else's code in a different language than the rest of the package)
- dekhn 11y agoI am not an expert on licenses, but since jwz chose the X11 license, it may be possible to take the screensavers and releasing them under another name. I don't know what that would achieve. I was able to port many of my screensavers to other platforms easily; in most cases, the savers just have two functions: setup() and draw(), the first of which does any one-time initialization, the second which does all per-frame rendering. One can write a simple wrapper for any platform that initializes the GL contexts and handles user input, as well as any locking/unlocking code. However, I don't think that would achieve much. Most of the savers were written in very terse, nasty form to achieve the various constraints the authors worked under. I think it makes more sense to make NuSaver: the design I described (a scene graph, a physics engine, and a bytecode VM, then rewrite the good savers in the VM). In this case, I would probably just adopt an existing C++ scene graph (Qt has one built-in), a physics engine (I adapted Box2D to Qt, but you need a 3D engine), and a VM (I would use javascript).
- maxerickson 11y agoI think it makes more sense to make NuSaver Yes, this is what I meant. How big a justification does he need to refuse code when such a thing is possible?
- dekhn 11y agoIt's not worth it. Most ppl screenblank so savers are mostly for nostalgia these days.
- maxerickson 11y agoSure, I assumed as much. But my point is that maybe he has reasons other than being a jerk. If it isn't worth it to you to do it otherwise, why does the discussion start with it being worth it to him?
- dekhn 11y ago
- binarycrusader 11y agoThere's nothing wrong with asserting "no C++" in systems software, especially on *NIX. The stability of the C++ ABI has generally been terrible for a long time, and by avoiding C++ in a component that's heavily used, a lot of maintenance headaches are avoided. As one of the maintainers of the C++ ABI for an operating system, I assure you, it is best avoided for system components unless there's a compelling justification.
- dekhn 11y agoxscreensaver is not a "system" component. Nor is it systems software. It's a game engine that only rarely takes user input.
- deleted 11y ago[deleted]
- binarycrusader 11y agoIt's a system component in the sense that it's typically distributed as part of an operating system. Not in the sense that it's a "kernel" or something like that. As someone that helps build an operating system distribution, we consider Xscreensaver to be a system component. Also, for licensing purposes, the GPL, as an example, considers software distributed with the system to be a system component in some scenarios. For example, "GPLv3 has adjusted the definition of System Library to include software that may not come directly with the operating system, but that all users of the software can reasonably be expected to have."
- dekhn 11y agoYour definition is weird. Which distribution is this? xscreensaver is X11, not GPL. Why does a C++ ABI really matter in a system distribution? All the distros I've used are internally consistent in their ABI and update all their deps when the C++ ABI is updated.
- binarycrusader 11y ago
- deleted 11y ago[deleted]