Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mceachen
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
23 ms
·
271.
▲
by
mceachen
5y ago
Unfortunately, the Google Photos API deletes GPS and other metadata from your photos, so Google Takeout is the best solution there. Apple Photos and Microsoft imports can be done locally by configuring them to download originals, rather tha
272.
▲
by
mceachen
5y ago
I'll be adding reverse geocoding in a version soon [1], but you can already browse by filesystem and timeline (and by camera, lens, file type, keyword, and Google Takeout metadata): https://photostructure.com/faq/w
273.
▲
by
mceachen
5y ago
20 years ago you could just type in the rotation angle you wanted for each color separation into your film plotter. If you ask your printer, they should be able tell you what lpi/dpi they can resolve on the media you're printing o
274.
▲
by
mceachen
5y ago
I've found that self-hosting the docker version is really straightforward. If you're on digital ocean, they even have a prefab droplet. It does run better on droplets that are one up from the smallest $5/mo flavor. Some versi
275.
▲
by
mceachen
5y ago
Sure, delete the cruft, but if you've got "too many" photos and videos, maybe it's not you: maybe it's your photo app. I believe I have a novel approach to browsing your library that you might like. My users love it
276.
▲
by
mceachen
5y ago
Note that pHash is GPL (if you're thinking of including it in a library or product). I evaluated a ton of different images hashing algorithms for PhotoStructure, and saw similar accuracy from pHash, dhash, and mhash. I found that an mh
277.
▲
GitHub Actions is currently degraded
(githubstatus.com)
5 points
by
mceachen
5y ago
|
2 comments
278.
▲
by
mceachen
5y ago
There are _tons_ of self-hosted image organizers. Most are abandoned or cancelled after a year or two either when the VC money runs out, or the open source developer grows weary of toxic users. Most are fine with managing a hundred or even
279.
▲
by
mceachen
5y ago
> 300km is beyond the curvature of the earth by a significant margin -- I wonder how it works... 70cm is similar(ish) to 2 meter (which can propagate even over oceans): https://en.wikipedia.org/wiki/2-meter_band#Comm
280.
▲
by
mceachen
5y ago
Eh... I'd definitely do a Google Takeout to verify everything's OK before you delete your originals. You may think the downsampled image is sufficient for lossy backups, but older images stored in "high quality" in my pe
281.
▲
by
mceachen
5y ago
This is good advice, and isn't just anecdata: see "correlated failures": https://photostructure.com/faq/raid-is-not-a-backup/#4-data-...
282.
▲
by
mceachen
5y ago
That the number I've personally experienced (I also replied to GP). It's an interesting idea to deep-freeze your drives, but the thermal stress from modern frost-free freezers that automatically dethaw periodically may negate the
283.
▲
by
mceachen
5y ago
Make sure you periodically refresh your backups that are stored on flash memory devices. Depending on the media, cell voltage drift can cause data corruption that overwhelms the built-in ECC in as little as 5-7 years.
284.
▲
by
mceachen
5y ago
LibRaw is great, BTW.
285.
▲
by
mceachen
5y ago
Something to be aware of about "RAW" images: most dSLR will encode a full-size JPEG _within the raw image_ (that you can pull out with `exiftool`) which frequently is what the resulting JPEG would be (which, on some cameras, inclu
286.
▲
by
mceachen
5y ago
50,000 photos aren't that hard to amass if you're old. Digital photography was available to enthusiasts in 1998. If you took ~200 photos a month, you'd have 52,800 (200×12×22). (I've personally got several times that: it
287.
▲
by
mceachen
5y ago
The other tricks to making SQLite fast: * Ensure you're in WAL mode. https://sqlite.org/wal.html * Use prepared statements and transactions. * Set the cache pragma to ideally hold the DB in RAM. * Run optimize and vacu
288.
▲
by
mceachen
5y ago
Having been on several different company hiring boards and reviewed literally thousands of interviewer feedback posts, let me assure you that interviewers happily ask leetcode questions: even when they've been told expressly not to ask
289.
▲
by
mceachen
5y ago
Other replies have backed into this, but the best solution is to 1. Use a COW (copy-on-write) filesystem like btrfs or ZFS 2. Set up snapshots to be taken periodically (hourly/daily) and sent to a different host or volume. 3. Monitor d
290.
▲
by
mceachen
5y ago
Huh, I've never heard of that format. If you send an example to hello@photostructure.com I can take a look: best case, ExifTool will be able to read them already, and you can just add .ion as a sidecar extension.
291.
▲
by
mceachen
5y ago
Oh man, I hear you: I had a mess just like that, tried to find something to automatically sweep everything into a neat pile, couldn't find it, and ended up writing PhotoStructure: https://photostructure.com/about/i
292.
▲
by
mceachen
5y ago
I'd like to, but practically speaking, I'm at the mercy of native support in the libraries I'm using. If support is added, though, it's trivial for me to add the switch as a user-definable setting.
293.
▲
by
mceachen
5y ago
I've got desktop builds for macOS, Windows, and Linux, as well as "headless" builds for Docker and even "directly" via Node.js. Instructions here: https://photostructure.com/install
294.
▲
by
mceachen
5y ago
Absolutely possible. What I'm building into PhotoStructure is typically called "transfer learning." https://en.wikipedia.org/wiki/Transfer_learning PhotoStructure is entirely self-hosted, including model
295.
▲
by
mceachen
5y ago
Many coding challenges are great drill work: but if you can, have your code read by someone else to ensure you're practicing how to write readable, maintainable code. Leetcode solutions seem to be regularly "golfed" into bein
296.
▲
by
mceachen
5y ago
OP: thanks for sharing! If you notice slow app startup times, it may be snap: I decided not to publish a snap version of PhotoStructure due to extremely poor performance (especially on low powered VPSes). Also, know that there are tons of a
297.
▲
by
mceachen
5y ago
The local-replica approach is only applied when your library database is on a remote filesystem, which SQLite can't read/write to (due to the absence of shm and flock).
298.
▲
by
mceachen
5y ago
This decision is easy: if you or your team is comfortable caring and feeding the DB and know how to harden and monitor the thing, save the money. If y'all don't want to be on pager duty, though, pay someone else to manage it.
299.
▲
by
mceachen
5y ago
Writing to a SQLite file on a remote filesystem only works with a heap of caveats: don't use WAL, and disable SHM. SQLite is crazy fast in WAL mode, but it's because they use a memory-mapped file to coordinate consistency across m
300.
▲
by
mceachen
5y ago
I'm actually using materialized views and CTE with PhotoStructure (where hierarchies are arguably the cornerstone of the product). It's pretty funny that I landed on this implementation, given that I spent a couple years building
More ›