News for hackers. Stuff that matters.

unanimous

Re:SpeedCrunch 1.1 on Saturday October 24, 2026 @06:38PM (#50226148)
This is nice to see, and it looks like this release (and maybe some earlier ones?) includes a small order of operations bug fix that hadn't been released for a long time. 1/2(-9.8) now equals -4.9 rather than -0.05102040816326530612. I like how the expression also renders with a multiplication symbol to clarify: 1 / 2 × (−9.8)
Re:Backups Aren't Simple on Thursday September 17, 2026 @04:42AM (#49738028)
While I haven't tested for that myself, the script should keep pretty much everything including image metadata. I just made a small change so that it also keeps extended attributes in case any image-related metadata is there.

The script currently requires changing one or two folder paths at the top (more details in the script).

Re:Backups Aren't Simple on Thursday September 17, 2026 @03:08AM (#49737413)
When I was using Ubuntu, I would plug my phone into my laptop and run this small script: https://gist.github.com/wheelercj/8cce112fc8ee55fd4858847a52...

It's mainly just rsync. When the phone was plugged in, the photos were accessible at a path like "/run/user/1000/gvfs/gphoto2:host=Apple_Inc._iPhone_abc123/".

Now I use Time Machine, but I still need to check whether it includes iCloud photos.

Re:The death and rebirth of my home server on Sunday July 19, 2026 @12:50PM (#48969697)
For anyone trying this with a Pi older than the Pi 4, you might still need an SD card with one file on it: https://www.raspberrypi.com/documentation/computers/raspberr...
Out of curiosity, I tried running `~True` in a Python 3.14.2 repl and got this output (the -2 is part of the output):

>>> ~True

<python-input-1>:1: DeprecationWarning: Bitwise inversion '~' on bool is deprecated and will be removed in Python 3.16. This returns the bitwise inversion of the underlying int object and is usually not what you expect from negating a bool. Use the 'not' operator for boolean negation or ~int(x) if you really want the bitwise inversion of the underlying int.

-2

Re:Become unbannable from your email on Tuesday October 07, 2025 @08:51PM (#45510784)
Many email service providers give you the option to fetch all emails from a different service not just as a one-time thing, but ongoing. I'm not sure how that could be set up when running your own email server, but I bet there's a way. Even if there isn't, you can set up automatic forwarding in Gmail.

There's a chance forwarding is better than fetching. I once had a Gmail account stolen, and account recovery was locked for some reason, but email forwarding had been set up and I was still able to get all emails the address received.

In case it's relevant, I happen to use Fastmail now and their "mail fetch" feature involves imap.

True, that meaning seems to be typical now. The opposite is the original meaning though.

> Scores of authors use the phrase “steep learning curve” or “sharp learning curve” in reference to a skill that is difficult to master. . . . Nevertheless, from the standpoint of learning theory, these and other authors have it backward, because a steep learning curve, i.e., a curve with a large positive slope, is associated with a skill that is acquired easily and rapidly (Hopper et al., 2007).

Source: Fifty psychological and psychiatric terms to avoid: a list of inaccurate, misleading, misused, ambiguous, and logically confused words and phrases (https://www.frontiersin.org/journals/psychology/articles/10....)

Re:Restic vs. Duplicati on Monday June 02, 2025 @07:02PM (#44164220)
While writing this, I mostly focused on what I like about Restic's design that Duplicati doesn't have, but they're both great. Duplicati is definitely easier to use for anyone not familiar with command line tools. Feedback is welcome!
Re:Itch.io Taken Down by Funko on Monday December 09, 2024 @02:16PM (#42369449)
They might not have much of a choice but to shut down all .io domains. This video explains a little: https://www.youtube.com/watch?v=1yJ6AZsUlpc
Re:Visualizing Weather Forecasts Through Landscape Imagery on Friday September 20, 2024 @01:39PM (#41604079)
Zoom Earth is similar to Windy.com

https://zoom.earth/

Re:Cautionary tale on using Chase bank for indie business on Friday August 23, 2024 @02:48PM (#41331840)
Banks are for-profit and credit unions are not-for-profit. Banks will do whatever they think they can get away with to increase their profits, which affects every interaction you have with them. I've had accounts at Citibank and now multiple credit unions, and I regret ever having had accounts at Citibank. They were constantly making things difficult in new ways. I don't know how the bureaucracy compares, but how they treat customers is definitely different.
Re:Hacking with PDF (2022) on Saturday August 17, 2024 @02:52PM (#41276976)
I've tried creating a PDF Canarytoken [0] and opening it in a few applications not including Adobe Acrobat. None of them triggered the canary.

[0]: https://canarytokens.org/nest/

You can edit PDF forms by opening the files in Firefox, but maybe that's not exactly what you mean. I'm not sure about other browsers.
Re:Ask HN: Who wants to be hired? (July 2023) on Monday July 03, 2023 @01:02PM (#36575799)

  Location: Los Angeles, CA
  Remote: open to remote, in-person, and hybrid
  Willing to relocate: yes
  Technologies: Python, C++, JavaScript, C, Go, C#, Java, SQL, HTML/CSS, Git, Linux
  Résumé/CV: chriswheeler.dev/resume.pdf
  Email: [email protected]
Re:You can now send replies from your Duck Addresses on Monday January 31, 2022 @11:53PM (#30158766)
You might not get a notification when you get into the beta. That's what happened to me and someone else who told me about it. Check the DuckDuckGo app every once in a while to see if you're in.
Re:SpeedCrunch on Thursday December 23, 2021 @03:31PM (#29666112)
SpeedCrunch looks very promising, and I've used it a lot in the past. I'm sad to see that they still haven't released the order of operations bug fix [0] they made in 2017.

SpeedCrunch does some operations in an order most people wouldn't expect. For example, SpeedCrunch says 1/2(-9.8) = -0.05102040816326530612

[0] - https://bitbucket.org/heldercorreia/speedcrunch/commits/ac49...