HNHacker News
TopNewBestAskShowJobs

raimue

2,611 karma · joined November 10, 2012

https://hachyderm.io/@raimue

https://twitter.com/raimue

https://github.com/raimue

https://raimue.blog/

submissionscomments
raimue··on Show HN: Street View Simple – Explore Street View Data in a Browser
Even with the full text I do not understand what I am seeing. The comparison to previous projects did not help because I do not know them either.

It appears to be a different rendering of the Street View data that will be loaded from Google servers. What is the purpose of this site? Just to show how Street View works internally?

raimue··on Take care editing bash scripts (2019)
There are situations in which even vim will write directly to the file. When you do not have write permissions on the directory, vim will not be able to create a new file and will therefore "reuse" the existing file.

Edit: Here is the list in the vim source code when it will not use rename: https://github.com/vim/vim/blob/95f0b6e5a5e5861da34cc064c601...

raimue··on Charging a MBP on the left side causes high kernel_task CPU usage
At first I thought heat will force the CPU to throttle clock speed, which would then increase the percentage of kernel_task slices. But… CPU temperature does not actually rise in the graphs?

Is kernel_task really forcible scheduled as an idle task as a method for heat reduction?

raimue··on How to run your own mail server (2017)
One thing that would still be missing is SRS [1], in case you want to forward mails to an email address handled by a different mail server.

Your mail server must not use the original from address in the envelope from, as that would very likely trigger SPF record checks at the receiving end. When forwarding mails, it is therefore strictly necessary to rewrite the envelope from address with SRS.

For this postfix setup, postsrsd [2] can be used to implement SRS with only a few more configuration options.

[1] https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme

[2] https://github.com/roehling/postsrsd

raimue··on Curl to shell isn't so bad
The history file only contains commands typed into an interactive shell. Commands executed from a shell script or piped into sh will not end up there.
raimue··on Fish: A command line shell for the 90s
If you are working on a complex, long command pipeline, in bash you can use Ctrl-x Ctrl-e to open your $EDITOR to edit the line as needed. The commands will be executed as soon as you save the file and exit.
raimue··on Stupid Unix Tricks
Regarding the point of "SSH: Faster Crypto", you should not enforce only one single specific cipher for ssh. The reason also seems wrong, modern hardware should be capable of achieving better performance with an AEAD cipher (such as AES-GCM or ChaCha20-Poly1305) instead of AES-CTR, as the latter also requires an additional HMAC.

If there really is a slow (or insecure) cipher you do not want to use, remove it by prepending a minus sign, for example `Ciphers -3des-cbc`, which keeps all other default ciphers. Otherwise, you will miss out on better ciphers as they are added and would be stuck on this one forever.

raimue··on Pair Locking Your iPhone
I would assume this supervision identity is part of your keychain as usual on macOS and could even be exported. It is not bound to any physical property of that particular laptop. A backup should be enough to avoid the scenario you are describing. You should be able to acces the iPhone after importing the supervision identity on any another Mac.
raimue··on 99% of the Git commands you'll need at work, demonstrated in a single script
git will append all remaining command line arguments to the end of the aliased command. Therefore `!f() { ... }; f` is the usual style for this kind of git alias to get access to the arguments as needed with $1, $2, etc. in the shell function.
raimue··on Is chroot a security feature?
I would not see this as breaking out of a chroot, because your process already had the file descriptor handle before the chroot system call. Being able to access files that were opened before the chroot call is an intentional feature and used to limit access to a specific set of files.
raimue··on Is chroot a security feature?
No, nested chroots do not change anything here.

In your example, you would always need to acquire a file descriptor outside the current chroot first. Then such a file descriptor has to be passed over some mechanism into the process running in the chroot. For that, you would definitely need help from some other process running outside the chroot. Breaking out a chroot on Linux is not as trivial as you present it.

raimue··on Ask HN: Where do you find new music to listen to online?
https://last.fm

It's one of the oldest music services on the internet, being around since the early 00s. It changed a lot over time, but survived.

Nowadays, as a paying subscriber you can link your Spotify account and listen to your personal recommendations on any device supporting Spotify Connect.

raimue··on Making email more modern with JMAP
The problem with IDLE is that it requires one TCP connection per folder you want to watch. The better alternative is NOTIFY, but in my experience, it is not as widely supported by server and client implementations.

https://tools.ietf.org/html/rfc5465

raimue··on Game of Trees: A Version Control System for OpenBSD
Although others have already answered that got is a BSD implementation, you might want to have a look at Gitless. "A simple version control system built on top of Git".

Basically it just runs git commands, but with a command line interface that is meant to be consistent and more user-friendly.

https://gitless.com/

raimue··on Social share buttons that don't allow the social sites to track your users
Even then the browser would still need to know to which websites the user could share. The user would first need to select websites and services they want to use.

In the past, desktop browsers kind of tried to provide such features with the concept of the bookmarklet [1]. The idea was that users would drag&drop a link to their bookmark toolbar to add functionality to their browser. I think it is still used by some Read-It-Later style collection services, but mostly has been replaced with browser extensions.

[1] https://en.wikipedia.org/wiki/Bookmarklet

raimue··on Social share buttons that don't allow the social sites to track your users
As mentioned in the project description, this is a fork of the solution presented by the German magazine c't a few years ago. Since then they came up with the successor Shariff, which is also able to display the number of likes and shares.

https://github.com/heiseonline/shariff

raimue··on VDSO, 32-bit time, and seccomp
libc functions may need unexpected syscalls. For example, some of the date and time functions will very likely access the filesystem, just to parse /etc/timezone and the corresponding files in /usr/share/zoneinfo/. This is unexpected from the point of the programmer, who did not add any open(2) syscall to their application.

Now depending on which libraries are in use, finding out which syscalls are actually required has often to be determined with strace or trial&error through all code paths. And with another version of the library, this set of system calls could even change without any changes to API or ABI, leaving the responsibility to track this to the application programmer.

raimue··on Apollo 11 in Real Time
The source code for the Apollo guidance Computer is available on GitHub.

https://github.com/chrislgarry/Apollo-11

raimue··on How to Automatically Backup a Linux VPS to a Separate Cloud Storage Service
I used duplicity in the past, but the main problem with its incremental backups is that in order to be able to prune the backup history, you need to do full backups regularly to start a new backup chain. That means transferring a full copy of the data.

I switched to restic now, which allows to take incremental backups, but can also remove any snapshot to prune the history. Although it does not support compression, due to its deduplication and removing the need to store multiple full backups, the restic repository takes less space now than duplicity before.

raimue··on How to Automatically Backup a Linux VPS to a Separate Cloud Storage Service
For remote backups, BorgBackup always needs to run a server process (usually over SSH). Restic works with a "dumb" storage that only provides get/put/list/delete operations. Therefore restic is way easier to set up with built in support for S3, B2, GCS, and similar services that only offer an API but not shell access.
raimue··on macOS deprecating scripting language runtimes, including Python, Ruby, and Perl
MacPorts was originally started as DarwinPorts as part of the OpenDarwin initiative at Apple [1]. Apple continued to sponsor MacPorts by providing hosting of website, repository, and build servers at Mac OS forge [2] until it closed back in 2016. The project then moved to GitHub and their own servers.

[1] https://trac.macports.org/wiki/MacPortsHistory

[2] https://www.macosforge.org/

raimue··on Git rebase in depth
The reviewer also won't see all the things the author tried without ever committing these states. They don't need to see all the messy steps, or they would have needed to look over the authors shoulder all the time.

I rather review the final patch series with changes in logical order and not necessarily in the order the code was written or with intermediate work that was later reverted or changed again. I do look at commits, because also every commit message counts and is supposed to explain the individual change.

raimue··on Git rebase in depth
This looks normal. The order of the 'git rebase' plan shows the sequence in which commits will be applied from top to bottom.

You are probably thinking of 'git log', which uses the reverse order with the newest commit at the top.

raimue··on JMAP: A modern, open email protocol
The UIDVALIDITY is actually a great design. IMAP servers will usually store the UID mapping in some kind of index that is used even across restarts. Therefore in normal operation this is not a problem. When did you encounter problems with this in every day use?

If the UIDs were not allowed to change, you would run into practical problems on edge cases. What if you switched your IMAP server implementation? What if the index files on server side got corrupt and you had to rebuild them? What if you had a fatal disk failure and had to restore an older backup? Mismatching UIDs would be even worse than a way to indicate to the client that the previously retrieved UIDs and associated messages are no longer valid. UIDVALIDITY is basically just a way for cache invalidation.

raimue··on Jack Dorsey says it’s time to rethink the fundamental dynamics of Twitter
Even on the new Twitter Web UI it automatically changes back from "Latest Tweets" to "Home", although I visit the site several times per day.

If only Twitter had separate URLs for the two styles, then I could just update my bookmark...

raimue··on Microsoft proves the critics right: We’re heading toward a Chrome-only Web
Point 3 is by design. An Android icon will appear in the address bar if a native app is available. A tap on it will delegate the current URL to the app.
raimue··on Chrome will Soon Let You Share Links to a Specific Word or Sentence on a Page
The W3C design seems to be extensible for future use cases with a consistent syntax while keeping everything under one keyword. Something like this could also be applied to other types of documents, not only to text. Let's say to quickly draw a highlight on an image or specify a page in a PDF document. While "#targetText=" is simple, it is not a generic solution.
raimue··on Virtio-fs: shared file system for virtual machines
You are implying that you want to store the data twice on the host and the guest. The proposed virtio-fs (and also the existing virtio-9p) is about passing through a subtree hierarchy stored on the host filesystem into the guest.
raimue··on Fossil vs Git
git worktrees can also be useful if your build system needs different arguments per branch. For example if you keep multiple release branches installed side-by-side on your machine, it is easier to just run `./configure --prefix=/opt/release-X.Y` only once on a worktree instead of repeating this procedure every time you switch branches. That way you can even keep all your object files around and save the time to compile them again.

The same also applies to languages such as Python or Node.js, where you might have a different set of dependencies depending on the branch and don't want to regenerate your virtualenv or node_modules on every branch switch.

raimue··on We value your privacy now, but maybe not later
Thanks, that is indeed an interesting detail. However, you have to assume they use your data the same way, they just do not ask for your consent.
← PreviousPage 2 of 11Next →