HNHacker News
TopNewBestAskShowJobs

Hello71

1,909 karma · joined September 24, 2012

submissionscomments
Hello71··on The Colorado Safety Stop is the law of the land
> What should worry you is that going the wrong way in a one-way isn’t obviously dangerous.

How is this claim different from the oft-heard claim that "not stopping at stop signs is obviously dangerous", ignoring TFA and the substantial evidence therein regarding cyclists and stop signs? I have presented arguments for my proposition that one-way signs are not appropriate in the vast majority of circumstances for cyclists. As far as I can tell, you have presented no arguments in favor of your position except 1) assertions that it is "obvious", 2) claims that anybody that disagrees with you should not be allowed to cycle, and 3) vague insinuations that running over cyclists is appropriate retribution for traffic violations.

Hello71··on The Colorado Safety Stop is the law of the land
this reeks of American-style "those are the rules, and some people made those rules, so people need to follow the rules, because the rules are meant to be followed." reasoning. as far as i can tell, your claim is that you are perfectly justified in running over cyclists committing minor traffic violations, and in fact your list makes your "emotional trauma" equal to or in fact even more important than "death or serious injury for the cyclist", simply "Because the cyclist was in the wrong". nowhere in this comment or even further down the replies do you actually explain why they're wrong, merely more circular logic that they're wrong because they're wrong.
Hello71··on The Colorado Safety Stop is the law of the land
> will be looking for traffic coming only one way

which direction is that, exactly? any cyclists or pedestrians coming the wrong way down the street will be in front of the vehicle. are you saying that drivers will exclusively look behind their vehicle while driving down a one-way street, and only very occasionally look in front?

Hello71··on The Colorado Safety Stop is the law of the land
> Or going the wrong way in a one-way?

why should cyclists be required to follow one-way signs? the point of one-way streets is that the street can be narrowed to a single car width; cars are too wide to pass in narrow streets, so a single direction of travel must be shown on both ends, otherwise cars will be stuck in the middle and have to reverse to get out. bicycles don't have this problem. the only justification for one-way cycling is high-traffic streets with danger of collision, but in such high-traffic scenarios I think 99.99% of cyclists will self-organize into reasonably consistent traffic flows, no sign required.

Hello71··on Pointers Are Complicated III, or: Pointer-integer casts exposed
This already exists. gcc has optimization pragmas and function attributes that allow optimization to be set on a per-function level. However, they don't really work as expected, mainly because inlining exists. Example:

  int foo(void) { return 42; }
  int bar(void) { return foo() + foo(); }
If the whole file is compiled as -O0, foo and bar must be compiled as-is. If the whole file is compiled as -O2, bar will be optimized to "return 84;". But what if foo is compiled as -O0 and bar is compiled as -O2? Can bar still be optimized to "return 84;"? What about "return 42+42;"? Can it do "int x = foo(); return x+x;"? What about "int x = foo(); if (x == 42) return 84; else return x+x;"? All of these are permitted in -O2 if gcc thinks it's a good idea, but in our "mixed mode" the semantics are unclear. It might be theoretically possible to come up with a consistent definition; it might start with "functions specified as -O0 cannot be inlined or have other functions inlined into them", but there are still more things to consider, like the behavior of global memory, thread-local storage, floating-point environment, and so on (what if one or more functions is static inline or __attribute__((always_inline))?).

The real solution with current gcc is to simply compile different files ("translation units") with different optimization flags if you want. This has always been supported. Unfortunately, it comes with a potentially significant performance penalty; the whole point of LTO is to avoid this performance penalty, but this once again returns the issue of the semantics of mixing functions with different optimization levels.

Hello71··on StarBook 14-inch
huh? apple hasn't used the "hinge" touchpad since 2015, more than 7 years ago. unlike afaik every other touchpad out there, the actuation force is actually adjustable. i'm not sure whether this is necessarily a good change, but it certainly is a change, and your data seems woefully out of date.
Hello71··on How to make “localhost” slightly less local
there are at least four common implementations of "hostname" on Linux: debian, coreutils, net-tools, busybox, and arguably toybox. there are also at least four implementations of su (util-linux, shadow, busybox, toybox) and five implementations of kill (coreutils, procps(-ng), util-linux, busybox, toybox).
Hello71··on Critical Gitlab vulnerability let attackers take over accounts
By far the easiest method, if you mostly trust your friends, is to forego the web UI and just use a directory on an SSH server. Do `mkdir project.git && cd project.git && git init --bare` and throw everybody's SSH keys into authorized_keys on the server, `git remote add origin user@server:project.git` on the client. The problems with this are that there's no privilege separation, i.e. everyone can do anything, there's no audit logs, and as mentioned previously there's no web UI. If everyone is actually expected to have a local copy of the repository, though, I don't see this as a huge issue. Issue tracking can be handled by a TODO file in the same or a separate repository.
Hello71··on Problems emerge for a unified /dev/*random
How does that prevent replay attacks?
Hello71··on Killed by Microsoft
Stardew Valley originally used XNA, then used MonoGame for non-Windows compatibility, then switched to MonoGame entirely last year.
Hello71··on Firejail: Linux namespaces and seccomp-bpf sandbox
firejail is also super super insecure: https://www.cvedetails.com/vulnerability-list/vendor_id-1619.... the vast majority of these are trivial bypasses, like "what happens if i mount over /etc/shadow". everyone that can access firejail has a one-inch wall between them and full root access. by default, installing firejail gives everyone on the system access, so installing firejail is basically the closest thing to making everybody root unless you manually configure it to only allow certain users access.
Hello71··on A userspace WireGuard client that exposes itself as a proxy
Is it a pain? As far as I know, all that's needed is to insert restrict,command="/sbin/nologin",port-forwarding before the user's key in authorized_keys. You can add more security by using a separate user, but individual Unix users for each client are not^W^Wshould not be necessary for security.
Hello71··on New Updated Okta Statement on Lapsus$
It's kinda funny and also very very sad that with javascript disabled, the website loads for a split second and then is covered by a fullscreen "Looks like you have Javascript turned off! Please enable it to improve your browsing experience." javascript blocker blocker, but if you delete the element, the page appears to work perfectly fine. It really is the ultimate in "fuck your browsing experience, our marketing spam scripts are the most important thing".
Hello71··on Is macOS Look Up Destined for CSAM?
while i vaguely agree with the idea behind this comment, this explanation is particularly poor. by that logic, it should be allowed to kill people to prevent murder. it is, in fact, allowed to kill people to prevent murder, but only in specific legally-prescribed circumstances. typically, only specific people are allowed to kill, and only to prevent an immediate murder. the same applies for child porn: it is allowed to have child porn to prevent child porn, but only under certain legally-prescribed circumstances.
Hello71··on Toward a better list iterator for the Linux kernel
isn't that exactly equivalent to an intrusive linked list in memory except harder to implement?
Hello71··on Lyrics in ogg/vorbis and MP3 files
It's worse now, because there's more formats. Unfortunately, MP3 and AAC are still popular enough that software needs to support it, so you now need to support mp3/ogg/flac/aac plus opus, which is usually ogg container, but has its own additional metadata, and also sometimes it's in matroska container instead.
Hello71··on Win32 is the stable Linux userland ABI (and the consequences)
FreeBSD has poor hardware support; the modern graphics acceleration drivers are simply ports of the Linux kernel code. Sure, Valve could port or rewrite the drivers for the limited set of devices they support, but why would they? Valve supports Linux not because of its technical advantages, but simply because it helps mitigate some of the Microsoft- and Apple-related business risks. Linux is undeniably a safer, more conservative business decision than FreeBSD.
Hello71··on Win32 is the stable Linux userland ABI (and the consequences)
congratulations, you have reinvented https://en.wikipedia.org/wiki/Linux_Standard_Base, which is dead. it's not a terrible idea, but had a number of fundamental problems. first, it was a massive undertaking primarily driven from the "enterprise" side with minimal support in the community. the former isn't necessarily an issue, but the latter was a death sentence for a supposedly comprehensive standard. furthermore, the goal of LSB is fundamentally at odds with the extensible and decentralized nature of Linux; full adoption would destroy most of the value of Linux as a customizable system.

funnily enough, though, Red Hat failed with LSB, but systemd is, for better or worse, accomplishing much of the same goals, causing many of the same issues of poor extensibility and customizability.

Hello71··on Win32 is the stable Linux userland ABI (and the consequences)
rr doesn't need or use checkpoint/restore functionality. it's insufficient because rr already needs to catch and emulate all syscalls made by a process, and unnecessary because once you're doing that it's (relatively) easy to also emulate getpid. it also requires CAP_SYS_ADMIN or CAP_CHECKPOINT_RESTORE.
Hello71··on Don't Use RAR
the dropbox joke is that nobody would use dropbox, which is obviously false in hindsight. but nobody is claiming that nobody uses rar, but instead that nobody should use rar. the same argument is valid of dropbox: https://en.wikipedia.org/wiki/Criticism_of_Dropbox.
Hello71··on Don't Use RAR
> the -mt option seems to allocate core per file

this can't be true in solid archive mode, which should almost always be used (otherwise you might as well use zip). also:

  $ tee {1..10} <<< 1
  1
  $ seq 1 1000000 > 11
  $ time 7z a x.7z {1..11}; rm x.7z
  7-Zip (z) 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
   64-bit locale=en_US.UTF-8 Threads:12, ASM
  
  Scanning the drive:
  11 files, 78888917 bytes (76 MiB)
  
  Creating archive: x.7z
  
  Add new data to archive: 11 files, 78888917 bytes (76 MiB)
  
  Files read from disk: 11
  Archive size: 2680630 bytes (2618 KiB)
  Everything is Ok
  7z a x.7z {1..11}  19.89s user 0.09s system 205% cpu 9.733 total
  $ time 7z a -mmt=1 x.7z {1..11}; rm x.7z
  7-Zip (z) 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
   64-bit locale=en_US.UTF-8 Threads:12, ASM
  
  Scanning the drive:
  11 files, 78888917 bytes (76 MiB)
  
  Creating archive: x.7z
  
  Add new data to archive: 11 files, 78888917 bytes (76 MiB)
  
  Files read from disk: 11
  Archive size: 2779833 bytes (2715 KiB)
  Everything is Ok
  7z a -mmt=1 x.7z {1..11}  21.88s user 0.05s system 99% cpu 21.943 total
Hello71··on Don't Use RAR
bzip2 is almost always the worst option. it is significantly slower and results in larger output than xz, which is in turn slower and larger than 7zip (lzma2).
Hello71··on Why I will never buy another Samsung device
Allegedly, one major reason is that Apple has been successfully pressured by Greenpeace to remove PVC from their cables, causing them to be more brittle and fail sooner. https://fee.org/articles/this-is-the-real-reason-your-iphone... is one source, but Apple and Greenpeace themselves tout this "achievement". It seems to me to be just like replacing nuclear power with coal and natural gas power: another casualty of ideological extremism at the expense of the actual environment.
Hello71··on The Wild West of Windows command line parsing
but that's not relevant to the original question of *
Hello71··on The Wild West of Windows command line parsing
> - it’s easy to hit a Unix command line length limit when a single * argument expands into many arguments. xargs solves that, but it shouldn’t be necessary.

this isn't true in the vast majority of cases on Linux and most other Unix-like operating systems; Linux has ARG_MAX=2097152, macOS =262144, and Solaris 10 =1048320. this problem does often arise with globstar, but! that is actually an argument towards having the shell expand arguments, not each command; if each command had to implement globstar, it would be effectively useless.

> - Unix tools cannot discriminate between * and the list of arguments it expands to. Consequently, rm cannot know whether you typed a single * or the specific list it expands into, so it cannot silently accept the latter and ask ‘are you sure’ for the former.

zsh comes with a function to check "rm" arguments and issue a warning if rm * is supplied. this doesn't work for arbitrary commands, but few commands actually require such treatment. a comparison could be made to tab completion functions, which are also shell-specific.

> - “cat foo* > foos” or “grep -r foo * > foos” fill up your disk.

I am almost certain that the implied premise is incorrect. According to https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V..., the shell performs word expansion before redirection.

> - tools that don’t want to accept file names as input have to do all kinds of escaping to prevent it. For example, you can’t have a calculator that can be invoked with

this is a bad example; it is simple to write "calc '3 * 4 + 5'", or of course more reasonably "calc '3*4+5'". in fact, this program already exists, and is called expr.

> I think a system library function to do the globbing, etc. would have been the better choice.

that would be terrible. it would be impossible to innovate globbing extensions like ksh or zsh; the system administrator would dictate for all users a major component of their experience. in modern terms, it would be like only being able to install Gnome or KDE, not both at the same time.

Hello71··on Words known better by males than females, and vice versa
It's worth noting that, based on the paper, this is really "words known better by males (who complete free online quizzes) than by females (who complete free online quizzes)". This likely explains a significant amount of the fashion and video game words. For example, it seems unlikely to me that 60% of all US and UK women know the word "peplum", but reasonably plausible that US and UK women who complete free quizzes on the internet also spend more time browsing clothes on the internet than the average woman, and would therefore have more knowledge than the average woman about clothing terminology.
Hello71··on On self-modifying executables in Rust
I don't think process_vm_writev can write to read-only memory, which executable memory is under modern operating systems. Doing that requires ptrace, which long predates Linux. According to the Linux man page, it is "CONFORMING TO: SVr4, 4.3BSD".
Hello71··on Adding unusable RAM for tax reasons
thanks!
Hello71··on Adding unusable RAM for tax reasons
source? upon searching for "e6 ham", "norway ham tax", "e6 skinke" etc found only this post.
Hello71··on Dude, is my code constant time? (2016)
constant means the speed doesn't change with cpu frequency, invariant means the speed doesn't change with power saving. https://www.chromium.org/chromium-os/how-tos-and-troubleshoo...
← PreviousPage 4 of 33Next →