Lightweight API Design in Swift - <AUTHOR> https://www.swiftbysundell.com/articles/lightweight-api-design-in-swift/ <comment><USER2> > Since each transform needs to perform vastly different image operations, > using an enum in this case would've forced us to write one massive switch > statement to handle each and every one of those operations — which would > most likely become somewhat of a nightmare to maintain.

I don't mean to pick on the author, but I've seen this line of reasoning a few times before. It's the same argument that has been used in the past to justify inheritance hierarchies in OOP languages. I used to believe it too. However, I don't think this is actually true. In fact, I'd argue the opposite: switch statements, if used well, are _extremely maintainable_. Even though a switch statement might handle many cases, it does not become more complex [1] by doing so. If we're concerned about the length of the individual cases, we can easily replace each one with a function call. Fundamentally, in the example from the article, we'd like to map a piece of data (the operation with its parameters) to some behavior (actually performing the operation). A switch statement is one of the simplest ways to do that.

[1] [https://www.infoq.com/presentations/Simple-Made- Easy/](https://www.infoq.com/presentations/Simple-Made-Easy/)

<comment><USER3> What you describe is called the Expression Problem [1] in programming language design and there is no simple formulaic answer on which method is better. I think you have to consider many aspects of your code's current design and possible future evolution when deciding which approach to use. For example: do you expect to have more types of transforms, or more operations/method per type of transform? It also means you can't nitpick a limited tutorial for focusing on one approach vs. the other.

Fortunately swift (as well as Rust or Kotlin) has excellent modern toolbox that includes protocol conformance and algebraic data types so you can use either one.

Keep in mind that swift protocols avoid many of the pitfalls of Java\C++ school of OOP design you might have seen before that can only express "is-a" relationships.

[1] [https://en.wikipedia.org/wiki/Expression_problem](https://en.wikipedia.org/wiki/Expression_problem)

<comment><USER4> Java and C++ have no issues representing has-a relationships.

The issue is developers not learning how to use their tools.

</comment></comment></comment><comment><USER5> This post does a good job of highlighting one of my favorite things about Swift: it's almost always possible to express things _exactly_ how you want. And Swift is getting even better at this with features like property wrappers.

Swift has a few hurdles to overcome, like better cross-platform support, solutions to the performance cliffs related to ARC, and more parsimonious copy-handling of value types, but I think it has the potential to be one of the most productive and powerful languages for building software in the next few decades.

<comment><USER6> I love Swift as well and prefer to use it for everything wherever I can, but you may find yourself running into walls if you try to get too smart with it. Though I suppose that's inevitable in any language.

An example of something I've been struggling against:

[https://forums.swift.org/t/swiftui-extension-for-os- specific...](https://forums.swift.org/t/swiftui-extension-for-os-specific- view-modifiers-that-seems-too-arcane-to-implement/30897)

</comment></comment><comment><USER7> Making DSLs in Swift is surprisingly easy, as this shows, but a brief word of warning: if you overdo it, your API, while pretty at the use-site, can end up being hard to actually use–you'll create what's essentially a read-only language. SwiftUI has taken this style of design to about as far as it's possible to go, and while it's pleasant to read it has a number of pains with regards to API discoverability. Plus the compiler absolutely hates everything about it :(

<comment><USER5> I have the feeling that SwiftUI was slightly rushed. Swift's language development has been slow and methodical, with a lot of care put into making sure new language features are not only substantially valuable and well conceived from a design standpoint, but also that they don't risk moving the language in a direction which would limit potentially better possibilities in the future. This can be frustrating, as it means it takes a long time for obvious and useful features to make their way into the language (looking at you variadic generics), but the tradeoff is that Swift is a very elegant and well-designed language which doesn't have some of the awkward edges you see in other languages which have to exist for legacy reasons, like you see in C++.

In that respect, it seems like function builders skipped that whole process. It's not that they're a bad feature, and similar facilities exist in other languages, but the fact that they were added to the language without a lengthy vetting process seems very out of character.

In a way I don't even know if it's really needed. I have a project which uses declarative code to achieve similar goals to SwiftUI, and you can get really close without function builders. For instance, you can write code like this:

        var view: [View] {[
            Foo(...),
            Bar(...),
            Baz(...),
        ]}

It's not quite as clean as the function builder approach, and it doesn't have all the same benefits (i.e. producing a typed result vs an array of protocol instances) but it's very easy to understand and doesn't require any additional language features.

My theory is that since Google has been pushing Flutter aggressively, Apple needed to answer with a "modern" FRP-style workflow for iOS to retain its developer mindshare.

<comment><USER8> It may also have been rushed due to the ABI stability deadline. I'm speculating, but it is easy to imagine that the SwiftUI team saw the window for getting new language-level features closing.

More generally, Apple's yearly splash model seems to dictate that teams either release or wait 12 months, if waiting is even an option at all. It makes me wonder how many Apple APIs would have been revised under a more flexible release model.

<comment><USER5> > is easy to imagine that the SwiftUI team saw the window for getting new > language-level features closing.

Would function builders have much impact on ABI stability? My assumption was that they are essentially just a front-end transform: i.e. the SIL generated from a function builder would be equivalent to writing it out "long hand" \- the same way that Codables can essentially be thought of as the compiler writing out boilerplate Swift code for you.

</comment></comment></comment></comment><comment><USER9> Off topic, but I've been following Sundell for some time now from his podcast and think he's doing some really cool things in the Swift space.

<comment><USER10> Discovered him from his podcast as well, it's wonderful. Here's an example interview with Chris Lattner: [https://www.swiftbysundell.com/podcast/50/](https://www.swiftbysundell.com/podcast/50/).

<comment><USER9> Thanks for this! I didn't know they did one with Lattner, should be awesome.

</comment></comment></comment><comment><USER11> Probably one of the most elegant languages around.

<comment><USER12> F# and Kotlin seem better to me, and don't have that hideous syntax for the closures. But it's for sure another world compared to the awful objective c.

<comment><USER13> I wouldn't say Kotlin is significantly better than Swift in terms of syntax, they are largely similar to the point you sometimes think: someone copied this from the other, I wonder who was the first.

To me personally though the showstopper for Kotlin is that it runs on Java VM. That was the design goal of course, i.e. to become a major "upgrade" of Java esp. on Android. Java VM (with its GC) is a creation of the pre-mobile era when all we had was desktop computers, ever growing processing power and an assumption that you have infinite supply of electric power. It's a different philosophy and design. I think Google's choice of using it on a mobile platform was unfortunate, though at the time (i.e. before the iPhone) many popular mobile platforms did run on Java VM so it seemed like a natural choice.

<comment><USER4> Swift's ARC implementation has a little bit of performance catchup to do in regards to tracing GCs.

[https://github.com/emmericp/ixy](https://github.com/emmericp/ixy)

<comment><USER5> IMO this example should be taken with a grain of salt, since at a cursory glance it looks like they are leaning heavily on reference-types, which is not really idiomatic swift, and is a worst-case for tightly-looping code which this is. I would love to spend even a half hour trying to optimize this code to see what the results could be, but there is specialized hardware required to run the benchmark, so it's not really practical for 3rd parties to attempt to achieve a better result.

It's fair to say that ARC has performance issues, but the story is a bit more complex than that. By relying heavily on value types, it's possible to write Swift code which carries very little ARC cost (although there are additional issues with copy-on-write performance). Also ARC is more memory efficient than most GC solutions, so there are tradeoffs involved.

<comment><USER4> Languages with tracing GC implementations also have value types, thus they would keep winning.

Top performance reference counting implementations are tracing GC in disguise.

</comment></comment></comment></comment></comment></comment><comment><USER14> Reminds me of this API design post for Go: [https://dave.cheney.net/2014/10/17/functional-options-for- fr...](https://dave.cheney.net/2014/10/17/functional-options-for-friendly- apis)</comment>


Israel's N.S.A. Scandal - <AUTHOR> http://www.nytimes.com/2014/09/17/opinion/israels-nsa-scandal.html?_r=0 <comment><USER2> Instead of being buried at the end of the article, Bamford's penultimate paragraph

       In Moscow, Mr. Snowden told me that the document
       reminded him of the F.B.I.'s overreach during the days
       of J. Edgar Hoover, when the bureau abused its powers to
       monitor and harass political activists. "It's much like
       how the F.B.I. tried to use Martin Luther King's
       infidelity to talk him into killing himself," he said.
       "We said those kinds of things were inappropriate back
       in the '60s. Why are we doing that now? Why are we
       getting involved in this again?"

... should be cut-and-pasted into any comment thread where a security-state apologist is trying to make people believe that Snowden is anything other than a patriot.

We _can 't_ fix this by working within the system. That's what the Church Committee tried to do. They failed. There is no reason to think their twenty- first century counterparts will not fail again.

<comment><USER3> Okay, if not fixing it by working within the system, then what is the next step?

<comment><USER2> Those working within the system should follow Snowden's example, IMHO. Force the government to either stop these practices altogether, or reveal their true cost to the American way of life.

<comment><USER4> Why should any insider do that?

Snowden did it, and look what happened. Nothing. Sad truth is, the majority don't care. If they did, then it would be reflected in voting, and things would change. But no. Mean while, Snowden is a wanted man in exile.

Don't get me wrong, I don't like this one little bit, but it seems I'm in a minority.

<comment><USER5> > Snowden did it, and look what happened. Nothing.

"Nothing" understates the impact. Sure, no one insider's revelations alone will suffice to radically change the situation, but, to borrow a Medieval adaptation of a classical aphorism, _gutta cavet lapidem, non vi, sed saepe cadendo_.

<comment><USER6> For my fellow uneducated hackers: "a water drop hollows a stone not by force, but by falling often"

<comment><USER7> I know you're just being cheeky, but I don't believe that "knowing latin" == "educated", same for its corollary.

<comment><USER8> It's the other way; _si hoc legere scis nimium eruditionis habes_.

<comment><USER9> Siue, nimium linguam latinam diligis. Eruditio nunc mera charta est.

<comment><USER10> Hackers eunt domus!

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I think this is the most damning leak to date. There is no justification for freely giving information to Israel. And the part about people's porn habits being tracked is even scarier. That could be used to discredit virtually anyone (well, any male at least). Who hasn't visited an embarrassing porn website at least once in their life ? Now imagine your name being publicly associated with that website.

<comment><USER12> There is justification, it's a co-operation between Israel and the U.S. Just like the US helps Israel, Israel helps the US.

<comment><USER11> I'm sorry but exactly how does Israel help the US?

<comment><USER13> Provides influence/reach in another part of the world?

</comment></comment></comment></comment><comment><USER14> The way Israel _owns_ American military and foreign policy should be a national shame. Reminds me of this other story about Israel going behind Obama's back to get weapons straight from the Pentagon. [http://online.wsj.com/articles/u-s-sway-over-israel-on- gaza-...](http://online.wsj.com/articles/u-s-sway-over-israel-on-gaza-at-a- low-1407979365)

<comment><USER15> Political influence arising from an active group of Jewish- _Americans_ lobbying their own government not "ownership". If you're against it, you too are free to get involved, form a special interest group, and lobby our government in the other direction.

<comment><USER16> That's not how a democracy is supposed to work. Extreme influence by a small group of individuals outside of the voting process indicated a broken system.

</comment></comment></comment><comment><USER17> I think this all is going to take time to sink in, but in the end, Americans will do the right thing, which has been the overwhelming trend in the past. Think slavery. Think women's suffrage. Think civil rights. Think gay marriage.

This one is a little tough because the targets are unsympathetic and the anecdotes of specific harm are non-existent. It's difficult to argue against fighting dirty as a principle; it's much easier when you can point to a specific person (like MLK) and say, "That dude was clearly wronged."

I wish it was different. I wish people got more upset about government fighting dirty against _anyone_ [1], even against the enemies that we ourselves agree are despicable and evil. Fighting dirty hurts us far more than it hurts them, because it damages our moral identity.

[1] The one exception is if there is an existential threat to the US. However, terrorism has never been, and will never be, an existential threat to the US[2] - except insofar as, in a fit of epic but unfunny irony, they manage to manipulate us into destroying our own moral fabric.

[2] The same argument applies to Israel. Israel playing dirty against state actors like Iran would be far more defensible, because Iran really could wipe Israel out.

</comment><comment><USER18> This was not a one-sided trade. You can be sure the NSA received similar feeds from Israel on targets of great interest to US national interests. The inherent problem in these NSA debates is the inability of the NSA or policy makers to give the American people believable metrics that describe the value received for the effort. Could it be the US received important intel in return for its feeds? Yes. By not articulating a believable ROI on collection or sharing its looks increasingly like there wasn't one.

</comment><comment><USER19> Sounds like U.S. has not been a sovereign country for sometime. It's intelligence service has been working for another country, passing sensitive information of its own citizens to Israel. Interesting. Even more interesting is that the bulk of the comments are on somewhere else whether this is a witch hunt or not, if it resembles to what Mr. Hoover did or did not do, if the committee in the past succeeded or not.

</comment><comment><AUTHOR> Why was the title changed? Here's the operative paragraph from the article below - there is a document that indicates the NSA is spying on porn visits of ordinary Americans to use against them in intimidation for exercising their rights to free speech. It doesn't get any worse than this.

"It should also trouble Americans that the N.S.A. could head down a similar path in this country. Indeed, there is some indication, from a top-secret 2012 document from Mr. Snowden's leaked files that I saw last year, that it already is. The document, from Gen. Keith B. Alexander, then the director of the N.S.A., notes that the agency had been compiling records of visits to pornographic websites and proposes using that information to damage the reputations of people whom the agency considers "radicalizers" — not necessarily terrorists, but those attempting, through the use of incendiary speech, to radicalize others. (The Huffington Post has published a redacted version of the document.)"

[Edit] For reference, the original title was: "NSA spying on porn visits of ordinary Americans" \- which is exactly what they seem to be doing.

<comment><USER20> There was a similar incident that comes to mind, BlueCoat hardware deployed by Assad's government in Syria.

It was found that Assad was having traffic monitored through BlueCoat proxies installed at the ISP level. Logs were leaked showing monitoring of religious, sexual, political content.

Of course many are now dead, countless others imprisoned. Much thanks to BlueCoat and salesmen who assisted Assad's government in procuring the hardware.

Sidenote: This topic, and others around it have gotten several accounts of mine here ghosted. Best stick to discussing how your start-up wants to sell traffic monitoring hardware and SaaS via independent sales agents to whoever has cash.

<comment><USER21> I've noticed this as well.

Similarly, reddit will completely shut down any threads that start to become too activist on the grounds of "witch hunting." It's amazing how we've already systematically nerfed the internet as a tool for bringing about political change.

<comment><USER2> To be fair to the authors of the HN guidelines, witch hunting has been a serious problem on Reddit. Few people want to see HN become another Reddit.

But reverting this title was arguably inappropriate because the NYT's original title _is_ misleading in its understatement.

</comment></comment></comment></comment><comment><USER22> A discussion of Unit 8200 I read today: [http://strategypage.com/htmw/htintel/articles/20140923.aspx](http://strategypage.com/htmw/htintel/articles/20140923.aspx)

(I read other sources because my Swedish media is like some inverse of Fox News. Stories like that Hamas had admitted murdering the three teens that started the last war is not... emphasized. The biggest morning newspaper didn't even mention that the accused murders of those teens died in a firefight today. Pallywood was never mentioned. Neither torture between Palestinian groups. Etc.)

</comment><comment><USER23> Palantir has their hand in all of this.

<comment><USER24> _Palantir has their hand in all of this._

What is the evidence for this statement? (I read the fine article, and didn't see a lot of discussion of the business corporation Palantir there.)

<comment><USER23> They're the only company that has the technology to parse / analyze datasets like the ones mentioned in the article.

<comment><USER25> can you be more specific? the xkeyscore100 rule set leak seems to indicate hadoop map reduce use which to me indicates a vanilla build out of the NSAs own. so what could you use to show more clear involvement from Palantir

</comment></comment></comment></comment><comment><USER26> > it would first be "minimized," meaning that names and other personally > identifiable information would be removed.

minimized?? Im pretty sure he meant Anonymized

<comment><USER27> No he meant minimized, which in FISA terms means purged of irrelevant and over-collected information, including data about US persons.

[http://www.theguardian.com/world/interactive/2013/jun/20/exh...](http://www.theguardian.com/world/interactive/2013/jun/20/exhibit- b-nsa-procedures-document)

</comment></comment><comment><USER28> Israel's Arab civilian's regularly attempt to blow themselves up in public places (believe me, I've stopped a few on them myself). Meanwhile the Palestinians gleefully lob rockets at populated cities in Israel. Of course Israel would want to monitor them as much as possible, and corroborate with the NSA to get as much data as possible. If that monitoring saved YOUR child from getting blown up on a bus, wouldn't you support it, or would you prefer your kid gets blown to smithereens so that social justice can be upheld? There's a big difference between America's domestic surveillance program and Israel's. Last time I checked, the central USA hadn't just recently been shelled.

<comment><USER29> So if you object to this type of surveillance then you prefer your children to be blown up by suicide bombers?

<comment><USER22> Most every democracy with serious and continuing problems with terrorism throw out the law book and human rights.

Afaik, this goes for USA, Britain, Israel, Germany, Spain and Italy. And probably more cases. (Note " _continuing problems_ ". e.g. Breivik was a lone crazy.)

The reason is shown by the grandparent comment; terrorism is optimized to scare voters. And politicians are scared of hysterical voters, they need to _fix_ that to keep their jobs.

<comment><USER28> I've went through 9 terrorist attacks in Israel before I joined the military - I lived in downtown Jerusalem during the Second Intifada. In the other countries, you're right - there is no excuse for getting rid of personal rights and freedoms, but in Israel the sheer number of terrorist attacks cause the reality to be different. If we didn't have the intel, we could never stop the terrorists, and that is simply unacceptable.

<comment><USER22> Israel do have everything on a different scale; multiples of times more terror against its civilians than what the rest of the western world have -- combined.

Afaik, despite this the courts in Israel seems to better keep up rule of law than the US ones, re terrorism... Which is sad.

But I think that without terror problems, the situation would be very different in Israel. And you probably agree.

Edit: I think you missed my point a little. I didn't discuss if it is right to throw out freedoms or not, I noted that empirically democracies seems to be very likely to do that in a certain situation.

</comment></comment></comment></comment></comment><comment><USER12> The US is a close ally of Israel for obvious reasons. Israel wants to better defend itself, so it co-operates with the N.S.A. This is what Israel needs to defend itself, and Israel probably does the same thing to help defend the US.

There will always be a conflict between privacy and security, you can stick to one on expense of the other, but you will never be able to "fix" things.

<comment><USER16> How is Israel any different from any other country? What's so obvious about why they are a close ally?</comment></comment>


Ask HN: How do you store photos and videos? - <AUTHOR> I'm curious how others store their photos. Right now I use Arq to back up to an AWS Glacier instance.  I also back up to Shutterfly.  And I use Time Machine to an external HD.
Problems:
0. I'm using a ton of local HD space to store them.  I want to free up a bunch of space.
1. But if I delete photos from my computer, Arq will eventually delete the backups that contained them.  Could be months or years but if they're not local, they'll be gone when the cost to store them exceeds the monthly budget I've set with Arq.
2. Additionally, Shutterfly apparently will let you upload videos up to 2GB.  But I've randomly found a couple of videos well under that size that just don't get backed up.
I think this is what a good storage situation looks like:
1. Photos and videos are automatically backed up to the cloud from my devices (nice to have)
2. Photos are retained forever in the cloud even if they're deleted from my devices.  I have to go to cloud storage to delete something.
3. Very nice to have: photos are encrypted locally before getting sent to the cloud like with Arq.
4. Bonus points: the UI for browsing cloud photos is nice (Shutterfly bought the company I was using, which had the best UI I'd found).
What do you use?  Have you solved any of the problems I've laid out with my approach?
edit: thanks for all the great replies.  I'm in the middle of a lengthy process of moving off of Google services, so Google Photos sounds great but isn't something I'm into.  Will look at iCloud and other solutions mentioned below. <comment><USER2> Google Photos has been my goto for a while now. The search feature is great and I use it frequently. For example, I was recently looking for a blue screen error code I'd taken a picture of months ago, and was able to find it within seconds by searching "monitor". It's really incredibly good, I'd say whatever model is on the backend is probably close to state-of-the-art. I recently hit the free limit, but for ~$3 a month I now have 100gb which I don't expect to reach for years to come.

I don't typically take photos of really private things, so the convenience of quick automatic backups from my phone and the availability of the search feature outweigh any privacy concerns I might otherwise have. I do also take local backups occasionally to my external hard drives in case Google somehow suffers major data loss.

<comment><USER3> This! I've tried every option under the sun at least twice and google photos wins. My current system has been this for the past 2 years or so:

1\. Create a family gmail account (ex. firstname.lastname@example.com)

2\. Install Google Photos on the both you and your spouse's phone and set the automatic photo upload to upload to the email@example.com account.

3\. Create a new account on your local home server (ex. house-yourlastname)

4\. Install and login to the google drive client for the firstname.lastname@example.com account. DON'T do any of their photo upload nonsense. Just use the app to sync your google drive contents.

5\. Go to [https://photos.google.com](https://photos.google.com) and set the "Sync photos & videos from Google Drive" to "true".

6\. Go to [https://drive.google.com](https://drive.google.com) and set the "Automatically put your Google Photos into a folder in My Drive" to true.

7\. Install hazel on your home server and have it monitor the automatically created "Google Photos" folder that shows up in your Google drive (this folder shows up as a result of step 5). This folder is where all auto-uploaded photos from your phone(s) end up by default.

8\. Have hazel move all auto-uploaded photos out of the "Google Photos" folder in Google Drive and into a folder structure of your choosing in Google Drive (Ex. "Google Drive/Photos/2018/11/2018-11-25-1234.jpg"). Because of step 4 the photos we move into our own folder structure will show up in [https://photos.google.com](https://photos.google.com).

9\. Copy fancy camera photos into the same folder you are monitoring with hazel. The same hazel rules will rename and place photos into the same Google Drive directory structure.

10\. Done - you have a pretty good shared family library. All family members can view all photos using the google photos app OR by visiting [https://photos.google.com](https://photos.google.com). And, any management (deletes, etc) are propagated to Google Drive. For example, I'll triage on [https://photos.google.com](https://photos.google.com) and all deleted photos end up n the trash can of my iMac by the time I happen to check.

Some general reasons why I landed on this:

1\. I have a family and whatever I chose had to work for the whole family without jumping through manual copying at home. This basically nixes Apple photos, as they haven't yet figured out we have families.

2\. The only graceful way I've found to have a family library is to have spouses share an account. You could do that with an iCloud account, but there are lots of downsides to that. Google apps support multiple account gracefully, which allows you to be logged into a different account for Google Photos vs. Gmail (or whatever).

3\. Most photo management solutions require you go sit down on the "shared family computer" to manage them. Google Photos bootstrapped off of using Google Drive lets you manage photos from anywhere (your phone, your spouse's phone, the website, etc). The changes are synced back to Google Drive and back to your "source of truth" on your home server, Synology, etc.

4\. The above solution only relies on the home server for sake of moving photos around to the folder structure of your liking. Even if your machine is turned off for a week, all your photos end up in the family library pretty quickly. Whenever you happen to start the server again, all the photos sitting in the "Google Photos" folder will then get organized into your preferred folder structure. This is appealing, as I didn't like any solution I tried that relied on a server being up 24/7 to have all photos show up in the family library.

<comment><USER4> Thanks, I may follow this to a 't'. One question: you mention 'your local home server' but it sounds like any Mac will do as long as the account is always logged in, no?

<comment><USER3> If you want them, let me know and I can drop my hazel rules somewhere. They aren't wildly complex, but it can be slightly confusing if you've never used hazel before. Once you see the rules it's super obvious what's going on.

<comment><USER4> yes please! maybe a gist?

<comment><USER3> Here is a quick repo that has all the directions and hazel rules. I only spent all of 5 minutes pulling it together, so feel free to open an issue if you run into any problems.

[https://github.com/ptoomey3/family-photo- library/blob/master...](https://github.com/ptoomey3/family-photo- library/blob/master/README.md)

</comment></comment></comment></comment></comment></comment><comment><USER5> I use iCloud Photo Library which solves most of your problems except client side encryption - which I agree is a big negative in its corner.

It works very well if you're all in in the Apple ecosystem.

[https://support.apple.com/en-us/HT204264](https://support.apple.com/en- us/HT204264)

<comment><USER3> While I voted for google photos in [https://news.ycombinator.com/item?id=18770681](https://news.ycombinator.com/item?id=18770681), I will say that apple photos is nice if you have zero need to share a library with family members. For better or worse, apple Unlike third-party uploaders, Apple photos can "cheat" and upload no matter what. That by itself makes it the most reliable for Apple ecosystem folks. That said, I've not had any issues in recent history with the google photos uploader.

<comment><USER6> When you share more than 2-3 photos at once with others who have iPhones, they get an icloud link where they can not only view the photos, but one-click add them to their own photo library. Have had zero problems keeping my library consistent with my partner's, or sharing lots of family photos at once with other close family who have iPhones.

<comment><USER3> Manually sharing works ok for super casual use, but it is way too much work when you take pictures daily. Plus, you would need to share photos both directions. And, even if you do all that, which photo library is the "source of truth"? Also, it is my understanding that photos shared through apple's photo sharing system are not original photos or videos (they are shared at a lower resolution).

<comment><USER3> I just tried out the shared album thing. I shared a photo whose original size is 3.4MB. The photo you get when you download it from the shared album on iCloud is 925KB. And, I'm pretty sure there is no checkbox you can check to prevent that . I love lots about the apple ecosystem, but their photo management/sharing system is not one of them. It boggles my mind, as lots of Apple engineers have families. But, despite that, they don't have any system for seamlessly sharing photos (or entire libraries) with family members.

<comment><USER6> I agree it's not perfect, but for myself and my family (we all have iPhones, and if you don't have an iPhone in our family, I will happily provide a refurbished one to you) it is superior to all other photo management options out there (Google might shut down Photos one day, Facebook needs no explanation, Smugmug/Flickr UX is woefully inadequate for family photo library management).

One day I hope Apple improves delta/library reconciliation, but for now, it's the best I've been able to find. It Just Works (for the most part).

<comment><USER3> Totally to each their own...there is no perfect solution for this. I do understand the the apprehension with google shutting down services, though google photos is so wildly popular it would almost be analogous to them shutting down gmail at this point. Also, one nicety with google photos is the photos are just photos in a folder structure of your choosing. If/when the service goes away you can literally just import the folder structure to the next thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I don't trust any service with plaintext of my photos so I self host everything. I also have a relatively huge amount of data so most cloud storage is out even if I wanted it.

My setup is a Linux-based NAS with LUKS on everything and each HDD in ZFS with RAIDZ2. I store my photos in their own ZFS filesystem on the zpool and use a tool that automatically creates snapshots and keeps varying resolutions for various timeframes (e.g. 24 hours of hourly snapshots, a week of daily snapshots, a month of weekly snapshots and I think 6 months of monthly snapshots).

As far as organizing them goes, I put my photos in date-based folders (e.g. 2018-12-09) and for larger ones go through and give them more useful names like "2018-12-09 - Brother's birthday".

I tend to edit them with Darktable the most these days, which also stores XMP sidecars alongside the photos.

I haven't yet set up a backup, which I know is horrible. When I do I'll likely go with either Wasabi or a NUC or something in a nearby datacenter.

For remote access I have Owncloud, though I _really_ want something nicer. Unfortunately there isn't much that works well with RAW files.

<comment><USER8> How did you set up the snapshotting?

<comment><USER7> I'm using this, but packaged for Arch Linux: [https://github.com/zfsonlinux/zfs-auto- snapshot](https://github.com/zfsonlinux/zfs-auto-snapshot)

</comment></comment></comment><comment><USER9> I use iCloud to store, backup, and sync my phone photos. I use a couple of 2/4TB drives to back up my photos taken on my DSLR/Film cameras. I manually copy over directories to redundant drives. I keep one 4TB drive that's the final backup, and it's unplugged and kept in a safe in my house. Every couple months, I pull it out, backup the newest photos to it and return it to it's safe. I know it's a little extreme, but I have tons of photos and want to keep multiple backups.

</comment><comment><USER10> Google photos is the best I've found. Your privacy feature seems to be a "nice to have", so I would use that. The UX and cross-device syncing is far better than anything else I've used.

To your bonus points: Google photos web UI is truly impressive even ignoring the awesome search capabilities. They wrote an article[0] on how they built it and since then I've been keeping an eye out to use similar techniques in different applications.

[0]: [https://medium.com/google-design/google- photos-45b714dfbed1](https://medium.com/google-design/google- photos-45b714dfbed1)

<comment><USER11> I really like how Album sharing works. We've got one that has photos of my kid, with much of the family set up with read/write permissions. At family gatherings they can just add pics they take on their own. Low-hassle and they're happy enough with it to stop bugging me to get back on Facebook.

</comment></comment><comment><USER12> I have my photos and videos on a ZFS personal NAS at home, backed up independently to two external hard drives(secondary backup). The plan was to use recline to backup the ZFS NAS to Backblaze B2, but that bit is not setup yet.

I have also been eyeing a project called photoprism to serve as a front end for my media, and perhaps Filebrowser as well as a secondary interface to view them as "files".

[https://github.com/photoprism/photoprism](https://github.com/photoprism/photoprism)

[https://filebrowser.github.io](https://filebrowser.github.io)

Another project in the same "Google photos alternative" space that I have bookmarked is Ownphotos.

[https://github.com/hooram/ownphotos](https://github.com/hooram/ownphotos)

Some day, I will find time to set it all up ;-)

<comment><USER13> As a more fancy WebUI consider also GNU MediaGoblin :-)

<comment><USER7> Is there any way to point MediaGoblin at a folder on local disk and expose it as albums? I don't believe I've found one so far, it wants me to upload everything through it, which isn't going to happen.

<comment><USER13> Hem no, it's about sharing multimedia contents... But since the OP cite many cloud services... That's at least decentralized and essentially FOSS.

</comment></comment></comment></comment><comment><USER14> I have the primary store on a RAID-Z2 zfs volume on a FreeNAS server in the basement. That backs up all photos to Amazon Photos ("free" with Amazon Prime, which I have anyway) and important things (family photos, family videos, and legal docs) to S3 with lifecycle policies defined.

Family photos are additionally rsynced nightly [one-way] to a Synology server (just because I had it before I built the FreeNAS storage and it has a reasonable picture browser app while on the home network).

zfs gives me copy-on-write (protection against crypto-locker, though I'd lose effective backup while crypto-locked) and availability even in the face of loss of 2 drives (RAID-Z2 ~= RAID-6).

I'm posting not because my solution is perfect, but because I'd like a better answer to client-side encryption for backup of legal docs, a better solution for video backup, and a better solution for browsing/tagging/auto-albuming accessible from mobile devices. I don't object to the current costs, though probably wished I'd skipped the Synology and went straight to FreeNAS.

<comment><USER15> You might want to look into duplicity [1] for client-side encryption and as a general incremental backup solution. I've been using it for a while, and had to restore a couple times, and it's both pretty intuitive and works as expected. It's essentially just a wrapper on GnuPG and rsync/tar with a bunch of storage backends.

[1] [http://duplicity.nongnu.org/](http://duplicity.nongnu.org/)

<comment><USER16> If you like duplicity you might prefer duplicacy [1]. I've found it's incremental backup solution to be far superior. The only negative might be the licensing, but with the free version you have access to all the code for non- commercial use and that suits my personal needs just fine.

[1] [https://github.com/gilbertchen/duplicacy](https://github.com/gilbertchen/duplicacy)

<comment><USER17> And if you do stick to duplicity but are sick of the interface, consider duply - a wrapper around duplicity.

[https://duply.net/](https://duply.net/)

</comment></comment></comment></comment><comment><USER18> I use a Synology NAS.

They've got that decent photo library app called Moments, which is available on mobile devices to upload your pictures from your phone directly. They also have another app called Drive, on mobile and desktop to upload photos and files. It's basically a closed source Google drive.

The NAS itself can very easily be plugged to Amazon S3 for encrypted incremental backup (I do a weekly backups).

<comment><USER19> I use a Synology NAS too. It's already 5 year old but working fine, still getting updates regularly.

The Hyper Backup is a wonderful tool (comes with Synology) that you can use to create multiple backup strategy, to another portable hdd, various cloud providers, any host with rsync etc, with or without backup version and rotation. The user experience is pretty neat.

</comment></comment><comment> java-man A while back, I've tried building a solution that does encrypted storage with locally managed keys, with a cloud backup.

Unfortunately, it did not go to production: the majority of people are ok with sharing their digital artifacts with google, dropbox, advertising and insurance companies, and any other entities who manage to have an agreement with of hack into the cloud provider. (See, for example, how many people talk about google photos in this thread). The market for a truly secure digital archive is, in my opinion, too small.

A prototype can be still seen at [0].

0: [https://goryachev.com/products/secure- archive/index.html](https://goryachev.com/products/secure-archive/index.html)

</comment><comment><USER20> Random iPhone snapshots stay in iCloud and end up on Google (when I remember to open the app). I don't really care about them after sharing on social media.

I own a small photography business. Anything I really care about—almost everything captured on my DSLR or drone—starts life in Lightroom. After images are edited, and uploaded to appropriate online sites (e.g. Flickr), they are moved to an external 2TB drive.

The external drive is cloned to a separate drive to ensure I have a physical backup. My laptop and the primary external drive are backed up to CrashPlan.

It cost me $2700 to learn that one physical backup is not enough. When I bought my two drives a few years ago, they cost $99 each. That's nothing relative to the value of my time/work.

</comment><comment><USER21> In theory, iCloud is a really good solution. It is glitchy and sometimes slow to sync and the Photos app is very poorly integrated for use with other apps on the Mac (works much better in iOS). I have my entire 35,000+ library in iCloud with the original full-sized files uploaded and with optimized -for- size complete libraries on my Mac and iPhone. The 150GB library and my extensive hierarchical folder and album structure take up only 7GB on my phone. It's a neat system and will be great if/when they work out the many little annoyances and errors.

</comment><comment><USER22> Unfortunately, Google Photos. It's very convenient, but there's this background fear that if my account gets unexpectedly closed, as it happens with Google, there would be no way to recover my photos.

I try to download the Photos data regularly via their takeout tool, but the process is cumbersome. I wish there was an automated way of doing that. I'd even pay for that.

I moved from Gmail to Fastmail, but I still haven't found a good replacement for Google Photos.

<comment><USER23> I get around that by enabling the "Show photos in Google Drive" switch and syncing them to my Synology NAS with a Drive client.

</comment></comment><comment><USER24> I just started using Lightroom CC with 1TB. It is a bit expensive when compared with 2TB of storage with Google and Apple.

But I like that it works across multiple ecosystems, Windows, MacOS, iOS, and Android (with bugs). And I wanted to use Adobe Portfolio for sharing some photos.

It meets your requirements for 1, 2, and 4.

Personally, I keep full resolution photos on external drive, and rsync those photos to NAS. Just in case there is bug in Lightroom and it deletes wrong photos or videos.

</comment><comment><USER25> What long term editable "master" format do you use for videos? Most of mine have become unviewable over the years as video formats changed and support faded away, except some that were edited and the edits exported into crappy mpegs. I can export now into the hopefully longer-lived h.264 but is that reasonable for source files?

This is both a container and codec problem which just makes life even more complicated.

<comment><USER26> Good advice from a smart friend that's been doing this for +30 years: he uses an open source format that has wide adoption. He's continually betting that in the future there will be enough conversion tools for a widely used open source format + is planning on needing to convert every ~10 years.

</comment></comment><comment><USER27> Google photos, I like the "X years ago" feature. Always bring warm memory back to me. Can't love more.

</comment><comment><USER28> My data flow for phone photos is as follows:

1\. capture photo with iPhone

2a. iPhone syncs with iCloud

2b. Now and then, open Dropbox App to upload newest photos to Dropbox

3\. Synology NAS pulls photos from Dropbox

4\. Synology backups photos to several backup locations using Hyper Backup.

For DSLR photos, I just upload the RAW files to the NAS and it also backups automatically.

</comment><comment><USER29> Many people forget that their Amazon prime subscription includes unlimited* free photo storage (terms of use apply) I love it and it keeps getting better with each new app release. Worth checking out as an option.

<comment><USER30> I'm surprised this isn't higher. Unlimited pictures are included with Prime; I pay a little more for 1TB of video storage. It's the cheapest way to store our 15 years of stuff.

The app reliably uploads all my wife's photos via WiFi, and the website interface is good.

</comment></comment><comment><USER31> Looking through other user's replies, all the above for me. Everywhere I can back up photos I do.

iCloud primarily but all the old family photos I have scanned, retouched also are uploaded to Ancestry.com, Facebook....

These are, as I say, family photos (a couple photos are scans from tintypes — so some quite old). There are no privacy issue for me (quite the opposite, I want these shared with far flung relatives). So I try to copy them as many places as I can think to. Hoping of course that future generations of the family will still be able to find them somewhere.

<comment><USER26> Interesting "seeding" strategy, I like it!

</comment></comment><comment><USER32> I store my photos in 4 places.

1\. Laptop: Full quality. Storing and viewing purposes.

2\. External HDD: Full quality. Storing and viewing purposes.

3\. Amazon Glacier: Full quality. Storing purposes.

4\. Google Photos: Reduced quality. Viewing and sharing purposes.

I name my photos as per the instructions in [https://blog.budhajeewa.com/how- to-freely-and-properly-store...](https://blog.budhajeewa.com/how-to-freely- and-properly-store-your-photos-in-google-drive/) 's "1\. Organize photos in your PC by albums" section.

</comment><comment><USER33> I'm in a similar situation re: moving off Google services.

I use Mylio ([https://mylio.com/](https://mylio.com/)), I think it hits most of your points.

Works great for managing my ~200k images. Syncs between my laptop/desktop/phones and also to Google/Amazon drive with optional encryption.

You can define which size of photos are synced to various devices, so my phones have thumbnails, my laptop has preview size photos, and my server/workstations have full copies.

</comment><comment><USER34> Thirteen years ago, I ripped all my CDs to mp3 onto a new HD. Allowing me to eliminate a cubic yard of jewel-boxes. The HD was later copied to another, then stowed in a carboard box (kept indoors).

Twelve years later, I put the drive into a USB enclosure and copied the contents. The startup and copy went without a hitch, and so far no (audible) decay.

That might work for a large pictures collection. Certainly more trustworthy than existing physical media. (Although CDs I cut in that era are -mostly- still readable.

</comment><comment><USER35> I use sftp+lftp [1] (faster and more secure than rsync) to transfer them to one of my backup servers. That server uses rsnapshot to keep diffs and also backs up to multiple external USB drives. The same method of sftp+lftp can be used to back files up off-site.

Sftp can't touch the snapshots which protects against malicious access (cryptolockers and such)

[1] - [https://tinyvpn.org/sftp/#lftp](https://tinyvpn.org/sftp/#lftp)

<comment><USER13> Hem could you elaborate on "faster and more secure than rsync" rsync can use various kind of transport mechanism, you also may use other not directly supported by rsync in the middle simply piping though them. mbuffer, cryptcat, ncat, there are MANY options.

Also in term of "safety" (or encryption) many kind of performance depend on how you encrypt your data, and how you compress your transfer because they are pretty CPU-intesinve things...

<comment><USER35> Certainly. The lftp mirror subsystem allows you to break up batches of files, or even a single file using p-get into multiple streams. Rsync can't do that. Rsync also doesn't work within a chroot environment, whereas lftp does. The exception is if you use native rsync, which means you are not encrypting the stream. You then get chroot, but not privacy.

CPU overhead isn't really a limiting factor these days, assuming your computer is less than a decade old.

With sftp chroot, I can let people upload files without executing files, while preventing eavesdropping. rsync does not support TLS without complex stunnel wrappers on each side.

<comment><USER13> Hum,

> The lftp mirror subsystem allows you to break up batches of files, or even a > single file using p-get into multiple streams.

I do not see any particular benefit from that... Network reliability is still a bit needed or you still have to restart...

On restricting rsync on the other end there are many guide so again I do not see much benefit and that's not true that you can't encrypt the transfer otherwise with classic ssh transport this is an example

[https://sixohthree.com/1458/locking-down-rsync-using- ssh](https://sixohthree.com/1458/locking-down-rsync-using-ssh)

but you can do many more things, for instance with cryptcat or ncat in the middle to transport... And they normally run faster than ssh tunnels...

<comment><USER35> Try lftp some time. There is a working example on the link I provided. It is much easier for people to set up than cryptcat / ncat / stunnel. I have found that people will follow the least path of resistance.

What I suspect you will find is that where a single rsync stream might reach a couple hundred mb/s, lftp can saturate the link if you wish. At least, that is what most people find that try it out.

<comment><USER13> I have used in the past, a distant past, both for ftp, sftp and ftps and sincerely I'm not much attracted...

On setup cryptcat and ncat require almost ZERO setup, and you still need to have ssh on the over side unless you are restricted by some common crappy webui so...

Also, I see no reason to saturate the link apart of try to milk more performance at the expense of all others, servers and network hardware are not there to be abused but to be used... It's the same story with people that abuse http range to start multiple downloads of a single big file trying to milk a bit of performance...

rsync performance are not much rsync related, they depend on network, encryption and compression you use, disk I/O, ... per se it's pretty efficient. Certainly if you can incremental send a zfs snap via mbuffer is far more efficient but that's far more efficient than any kind of logic file transfer...

</comment></comment></comment></comment></comment></comment><comment><USER36> Gsuite with unlimited data and google photos with original quality enabled. Photos are backed up once a month to aws in lower but still acceptable quality. (Might be changing that as storage costs are starting to get really brutal). Also generate quite a bit of video for a side project of mine and that also goes right to google drive in a team share. Don't have the space or funds to store those elsewhere. Talking ~7tb of video and premier pro project files.

<comment><USER37> > storage costs are starting to get really brutal ... Talking ~7tb of video > and premier pro project files.

AWS recently announced Glacier deep-archive at $1/TB-month (standard Glacier being $4/TB-month).

<comment><USER12> When thinking about AWS Glacier, please calculate the transfer/restore/bandwidth fees in your costs... just saying. I ended up with a crazy cost long time ago for if I wanted to restore from Glacier. I have switched to Backblaze b2 since then for backups.

</comment></comment></comment><comment><USER38> I prefer to keep my data on my own machines. I have a freenas server and use syncthing to synchronise photos between my phone and the server, with a cron script to organise the photos into folders.

I wrote a blog post about the setup a couple of years ago: [https://www.jonblack.me/using-freenas-and-syncthing-to- autom...](https://www.jonblack.me/using-freenas-and-syncthing-to-automate- mobile-photo-organisation/)

</comment><comment><USER39> I built a media pc with a 2tb drive for continuously uploading to backblaze, google photos, and an attached 2tb usb drive (it's also a Plex server, which comes in handy for viewing the videos). I have google photos on my phones but mainly I periodically pull them off the phones and move them to the media pc, along with photos from my dslr.

Since my wife and I both have our own desktops it made sense to build the media pc to have a central place for photos and videos.

</comment><comment><USER40> Crashplan $10/mo. Encrypted, off-site backup with unlimited storage, versioning and it keeps deleted files as well.

My challenge is that I shoot uncompressed RAW with my Sony A7R3 which makes it 80MB/image. And I shoot high res close to gigapixel res. panoramas with bracketing - which triples the storage (3 shots per frame for HDR blending).

So the challenge is it takes very long time to upload this stuff across my bandwidth.

</comment><comment><USER41> Why not an external drive for your photos? I have a 1TB external drive dedicated for photos, and a 4TB external drive for Time Machine. My internal disk and the 1TB external disk both get backed up to the Time Machine disk and to Backblaze.

Backblaze supports encryption and I'm pretty sure you can access your backed up files in the cloud too, but I haven't tried that.

</comment><comment><USER42> iCloud has been the simplest solution for me.

</comment><comment><USER43> I think git annex assistant might work well for you.

I have a terabyte of photos and videos. I use git annex (without the assistant) to store and manage them. I push a copy to my desktop computer at work and to the NAS at home.

I'm not much of a believer in using the cloud for archival and backups. Hard drive space is much cheaper than the cloud, even with lots of redundancy.

I just purchased a cheap external drive which I'm going to use for offline backups in the fire safe.

I also have a friend who is willing to set up a backup-swap with me, but I need to sneaker-net the first backup to him.

Git annex will push to the cloud as well, I don't use that because I don't want to pay for the storage space.

For the photos on my phone I'm using resilio sync plus a cron job to copy them off and then free up space on the phone.

For organizing them I use a react/rails web app that I've been developing on and off for a few years. It's similar to google photos (without the AI). It's at [https://github.com/jewel/hypercheese](https://github.com/jewel/hypercheese).

</comment><comment><USER44> Dropbox has treated me well. I think it hits all the boxes you're asking for. The app automatically backs up my photos from my phone, but because it's not photo specific, I'm able to backup all my other files (music, documents). I've also not hit a video limit.

</comment><comment><USER45> All my pictures from my phone automatically go to Dropbox. I manually move pictures off my camera and put them in a folder that also gets sync on Dropbox.

Then everything on Dropbox is also on a physical drive.

As an extra redundancy, all of that is on backblaze.

</comment><comment><USER46> I chose Flickr in addition to my main storage NAS at home. Flickr keeps things synced and I can share it with my folks, and some relatives and friends easily.

Google was too expensive (for no compression photos) for the bulk I have.

</comment><comment><USER47> Also not the answers you're looking for;

i have my family use Google photos. I have old family videos on there, and most of have Google Android phones that have data storage boasts.

No privacy guarantees, few guarantees of never having a sunset.

<comment><USER48> I'm also on Google Photo. Granted, I would not use it for, ahem, private photos. Otherwise, it works really well. I love how it automatically sorts my photos, how I can search by location, etc.

</comment></comment><comment><USER17> >I'm using a ton of local HD space to store them. I want to free up a bunch of space.

How much space?

Consider:

1\. That you're becoming a hoarder. Don't aim to keep all photos forever. Spend time to go over them and delete pointless ones. If you have 3-5 photos of the same object from the same angle "just in case", delete all but one.

2\. HD space is cheap. Just upgrade. Don't use SSD for photos - get a regular 7200rpm HD. It's the simplest solution compared to trying to find a cloud provider that won't delete your photos. In the Internet age, you should _never_ assume your online service will exist for long (paid or otherwise).

I have 170 GB of photos. Probably a third or so are simply because I have not yet had the time to go and prune them. I have a backup HD, and a cloud service. It should be all you need.

</comment><comment><USER49> I've used Dropbox for several years for sharing files and such and found it also works great for photos. Pictures and videos from my devices (almost all from the iPhone, an excellent camera) are automatically uploaded to the Camera Uploads folder. Every couple of months I drag them over to a folder for the year, which I store inside a master Photos folder.

Only the current and maybe one more yearly folders are synced to my laptops, saves a ton of space. (Investigate selective sync on Dropbox)

I do have a gigantic hard drive on my desktop at home that has everything so I have one local copy of everything.

I also use Arq to periodically upload an encrypted version of the Photos folder from this desktop up to One Drive, since I get 1 TB free with my Office 365 subscription. Just for an emergency backup.

Hope this helps.

</comment><comment><USER50> Dropbox and OneDrive only for the most important photos.

Storing all my photos online would require for me to get a very expensive plan. I do have offline storage of multiple external HDD where I regularly sync together.

</comment><comment><USER51> I guess you probably don't want to hear "Take fewer photos, keep them on a HDD with a USB backup, and always be too busy doing awesome shit to look back at them?" That's far too ridiculous to be good advice. My entire life so far fits in 30GB of photos & videos. I rarely look at them. Life's too short. Everybody holding up a phone for the entire duration of the concert I'm trying to actually watch would probably beg to differ. Although then again I bet they do agree with me on one thing: they're never going to watch those videos either.

<comment><USER52> Sorry, but you're making a lot of assumptions as to why this person, or anyone would have a large amount of video or photos.

They could be the guy taking photos of their kid's ball game, that parent's know they can reach out to for pictures of their own kid's goals as well. They might have to record regular meetings at a work or club for posterity/legal sake. Based on what they posted it possible they're a pro photog/videographer who is just looking for a better system than what they're using currently.

Take less video isn't applicable to the question at all.

As for my experience I do agree with the keep them on an HDD part though. Nothing beats raw storage capacity for me, and multi-terabyte drives are only getting cheaper. I've got one set for bulk items, and another for backups of anything worth keeping.

The only annoying part for me is remembering to get data off a group of SD cards and onto the harddrives in a timely manner.

<comment><USER51> When answering how and where to store X, the answer should always consider "have less X" as an option or meta-solution, because it makes simpler, cheaper solutions possible and obviates overblown ones. I don't need to assume anything about the person; it's universally applicable. It obeys a power law too. Half the junk somehow gets you down to a quarter of the hassle most of the time.

<comment> em-bee for me it comes down to what is less effort to implement. i could probably delete half of my data (got about 5TB now), but doing that would take more effort than buying new harddisks.

</comment></comment></comment></comment><comment><USER53> iCloud photo or Google Photos

</comment><comment><USER54> My photos are mostly in archival boxes with ring binders, and portfolios. I admit that that is probably not the answer you were hoping for.

<comment><USER55> So if your house burn you loose all your pictures...

<comment><USER13> How likely is such event then a cloud vendor issue? IMO, as a "seasoned enough" sysadmin the letter is far more likely than the former...

Also it have a nice plus: being physical need a bit of attention on your parts, so you probably end up in conserving only really valuable stuff instead a monster-collection of thing you do not really value...

</comment></comment></comment><comment><USER56> I use NextCloud on a home server, and use restic for backups (which are then synced go a few cloud services like BackBlaze or rsync.net).

</comment><comment><USER57> I use [https://lyfepedia.com](https://lyfepedia.com), which I am developing.

<comment><USER58> Cant tell if this is supposed to be a social media site or what. No examples, no nothing. Why would anyone sign up without getting a detailed explanation?

<comment><USER57> Thanks, it's just in "unreleased mode" yet. The idea is to merge all social networks (flickr, whatsapp, youtube, google photos...) in a single one, with granular privacy controls. Right now you can only upload pictures (it will save the originals too) and create private chat channels though.

</comment></comment></comment><comment><USER59> NFS(Wdmycloud) mounted to MacBook and raspberry pi. Currently the MacBook syncs the nfs storage with owncloud running on a docker host on linode.

When I have some free time I'm going to set up the pi to run the sync via cron so that when I copy files via my MacBook over to the NAS, I can close it and let the pi do the syncing when I am out of the house.

</comment><comment><USER60> I use Dropbox to backup my photos. The Dropbox app on Android backups all photos in your gallery when given permission. I also dont have as many photos so the 1 TB limit on the pro account is more than sufficient for me.

</comment><comment><USER61> I use Microsoft OneDrive, which has "files-on-demand" allowing you to only have a local copy when needed. I also do an AWS Glacier backup annually.

</comment><comment><USER62> iCloud Photo Library fits the bill.

</comment><comment><USER63> Music/Photos in Local SSD as server sharing with Android Mobile through SyncThing and KDEConnect!

</comment><comment><USER13> Hum, let me answer per points:

0\. I may empathize BUT if you value data on them... Well you ask something like how I can have my wife drunk and my barrel full (ancient Italian proverb). Sometimes you can "optimize" your storage for instance lowering a bit quality of images that you may do not need at super-high resolution, stripping metatada, change formats, ... Depending on the case you may save big size of storage.

1\. Why not having a more flexible backup then? RClone is a nice tool if you need to use someone else computer and you may use various vendors, also rsync+something you can mount as a local filesystem may also enlarge market offers list...

2\. No proprietary tool can be consider trustworthy, no service will take care of your stuff better then yourself...

To answer more directly: I do not feel the need of buy someone else resources for storage, however consider a thing: local backups may not be super reliable, may be stolen, lost etc. however if you properly store and use these kind of event are not much more likely to happen than a "disaster in the cloud" especially from cheap services that in turn themselves re-sell someone else resources. IOW my own personal suggestion is assembly/buy a decent PC, with enough PCIe ports to support many sata port, fill it with reasonably big plate disks at the best price/Gb ratio you are able to find, install a GNU/Linux distro you prefer or pay someone to do so for you, I suggest using NixOS because being declarative if something goes wrong recovery will be quicker. Create a proper raid structure and use that as a personal cloud.

File transfer from various device may vary depending on the source device, from Syncthing to rsync+webdav you may have many options. It's automation again highly depend on "sources"...

To serve your content GNU MediaGoblin may be interesting, simply locally mount your server storage via nfs and use any local tool you want may also be an option.</comment>


Programming a GPS watch - <AUTHOR> http://renaud.schleck.free.fr/montre_gps.php?lang=en

<comment><USER2> Interesting. What OS is this running? Linux?

<comment><USER3> It's an embedded platform, running on this [http://www.futurlec.com/STMicro/STM32F103RET6.shtml](http://www.futurlec.com/STMicro/STM32F103RET6.shtml) with at most 512kb flash memory The board contains an additional 1MB memory.

It does very "simple" things and does not need an OS per se: if you look at the source code, it's basically a loop getting GPS pos and dumping them.

For comparison, here is a (incomplete/outdated) list that shows smallest footprint for a Linux system is here this: [http://elinux.org/Best_of_Embedded_Linux#Candidates](http://elinux.org/Best_of_Embedded_Linux#Candidates)

In other words: way too small to run any sort of modern day OS....(and it would be too power-hungry anyway :-) )

<comment><USER4> You _can_ use a small real-time operating system, like FreeRTOS [0] even [1] for the small MCUs like STM32F103 (which is ARM Cortex-M3).

[0] - [http://www.freertos.org](http://www.freertos.org)

[1] - [http://www.it.uu.se/edu/course/homepage/pins/vt12/assignment...](http://www.it.uu.se/edu/course/homepage/pins/vt12/assignment1.pdf)</comment></comment></comment>


Ask HN: I need your advice about Angels - <AUTHOR>

Since last month, I've been developing a mobile application in my free time. It is my idea and currently a unique one. But it is somehow easy and also effective. I have a demo version to show right now. It is not production ready but it explains the idea really well.
So I decided to join a local Angel meeting. There will be mentors from my city and I will show them my demo and explain them my idea. But I have this feeling about stealing the idea. Because they have the money and they have a great network. If they see a future why in the earth they will choose to co-operate with me and not with their friends or collegues?
I know a lot of people has gone through this stage of starting a company. I need your advice about this situation and how to find funding.
P.S.: I'm not a native speaker. Sorry for grammar mistakes. <comment><USER2> Contrary to popular belief, angels have no incentive to steal an idea they've been pitched on. More accurately, doing so is a net negative.

Angels do a few things well: quickly vet a flood (sometimes dozens a day) of inbound deals to back with a tiny investment, and support the companies that have found product market fit after the first investment. Both of these sound trivial, but it's difficult to do in practice and both are incredibly valuable. The vast majority of angels are either not good at building things, or they're too busy/exhausted to do so with their time. If they were, they'd become entrepreneurs, or join as an exec in the most successful startup they backed. Also, the great networks that angel investors provide are on the business side. Angels expect you, the technical founder, to have the technical network and skills to hire and build product.

So, angels exist to source good deals, and support the winners as they surface. This is their lifeblood. To steal an idea is a cardinal sin in the angel community as much as the entrepreneur community. They'd be outcast, removed from deal flow, and their career as a seed investor would cease to exist. If we assume that the majority of business ideas are flawed, and the majority of startups die, then for an angel investor to steal an idea makes no sense: they'd be effectively ending their careers for little upside.

On a more humorous note: being an angel is an easy life compared to building a business, let alone building a business off of someone else's idea. Any angel that would give up an easy life that makes money for a hard life of executing an idea they aren't passionate about, and a life with a high risk of failure, is an idiot.

</comment><comment><USER3> The likelihood of an angel stealing your idea is pretty low. If an angel really gets enamored with your idea, s/he most likely will try to persuade you to work with him.

The possibility is very slim that an angel already has or can build a technical/business team quickly with expertise in same domain to execute on your idea. The red flag for such situations is typically when someone tries to string you along for a while and keep trying to get more and more details from you.

Before you engage with any angel, make sure you know what you want from him/her, final outcome for such conversations, and how long do you want to engage with him before moving on.

</comment><comment><USER4> You can't keep your idea secret forever, unless you never launch your business. Is the business you're intending to launch so dependent on first- mover advantage, that telling people your idea will ruin your chances?

If so, it's unlike most businesses, and definitely unlike most mobile apps.

A separate point: unless you have some customer/user traction you haven't shared here, I'm guessing your idea may not be as significant or unique as you imagine.

Good luck.

<comment><USER4> Also, this: [http://www.loqqus.com/blog/should-you-tell-anyone-about- your...](http://www.loqqus.com/blog/should-you-tell-anyone-about-your-startup- idea/)</comment></comment>


Show HN: Discover new startups through video - <AUTHOR> http://www.startvids.com/

<comment><USER2> Yes, it's confusing how you are asking to login then you can't post a video and there are no instructions, help etc.

</comment><comment><USER3> Anyway www.videoigniter.com could help you add to the collection? Www.startup- videos.com has many as well.

</comment><comment><USER4> Can one post a video here? What is the signup for?

<comment><AUTHOR> Right now we are crawling sites for videos but we will add that feature soon!</comment></comment>


Driverless electric truck starts deliveries on Swedish public road - <AUTHOR> https://www.reuters.com/article/us-einride-autonomous-sweden/driverless-electric-truck-starts-deliveries-on-swedish-public-road-idUSKCN1SL0NC <comment><USER3> There's a fortune to be made in the global freight industry.

[https://www.cnbc.com/2019/05/15/convoy-flexport- automating-t...](https://www.cnbc.com/2019/05/15/convoy-flexport-automating- the-shipping-industry.html)

There are tens of billions that can be carved out with automation. Electrics near large urban areas will definitely help air quality.

<comment><USER4> Tens of billions of wages no longer to be paid out to truckers. Amazon seem a long way on with packers too.

That's a lot of wealth transfer that's no longer going to happen between companies and poorer people; seems we'll accelerate wealth/income disparity.

<comment><USER5> Or a half full view: tens of billions, possibly more, will be paid to the same truckers in their new, more fulfilling and healthier occupation?

I don't know which scenario will play out. Neither do you. We'll have to see. Better yet, strive to make my scenario the reality. Complain about automation wouldn't help.

<comment><USER6> What I fear is that the new, more fulfilling occupations you describe will go to the next generation of non-truckers, not those who lost their jobs.

If you spent your whole life driving trucks and it's what you're good at, can you really transfer to a new occupation that's more fulfilling and well-paid in older age, or will you just be left unemployed or stuck with a worse job?

I think more automation is absolutely the future but we need to find some way to take care of the people who are left behind, and not just say "oh they'll get some other job".

<comment><USER7> some way to take care of the people left behind.... some kind of Income that was Basic but Universal...

</comment></comment></comment></comment></comment><comment><USER8> The gist:

> The T-Pod has permission to make short trips - between a warehouse and a > terminal - on a public road in an industrial area in Jonkoping, central > Sweden, at up to 5 km/hr, documents from the transport authority show. > > > Einride would apply next year for more public route permits and was planning > to expand in the United States.

So, not as sensational as the title would lead you believe.

<comment><USER9> Whoever claimed that Jönköping is in central Sweden needs some kind of measuring device, it's quite clearly in the south. Even if the northern half is comparatively sparsely populated it still counts as part of Sweden.

[https://www.openstreetmap.org/?mlat=57.783333&mlon=14.166667...](https://www.openstreetmap.org/?mlat=57.783333&mlon=14.166667&zoom=12#map=5/62.664/18.853)

<comment><USER10> It's like when people say anything more than an hour north of NYC is "upstate".

You kind of need to have a "there is no land beyond the beltway" world view to wind up working for most media outlets anyway (not sure which is the chicken and which is the egg) so this is "central Sweden" by that yard stick.

<comment><USER11> > It's like when people say anything more than an hour north of NYC is > "upstate".

That is a correct statement that essentially nobody would argue with.

The more aggressive and somewhat arguable view is that upstate is anything north of about 125th street.

<comment><USER12> I was born in Brooklyn and (seriously) everything north of The Bronx was upstate.

<comment><USER11> I mean realistically the only actual argument is if the upstate line is there, or immediately north of Westchester County.

</comment></comment></comment></comment></comment></comment><comment><USER13> I wonder what would cost the Transport firm more: the time impact due to the low 5km/h speed or the costs of a human driver per truck?

At was speed does the automated system pay for itself if speed vs human is a reasonable trade off to consider?

* Not considering the cost of doing the research and the cost of the self-driving truck.

<comment><USER14> Truck drivers in the EU can't spend more than 90h driving during any given two weeks, and they usually go 80-100km/h, so the break-even point in terms of time alone here would be around 22-27km/h.

My take is that at 30km/h they would make a very compelling case - <USER2> that's the minimum highway speed in some countries.

<comment><USER15> Having automated trucks clogging one lane at 30km/h would be disastrous for PR, and I imagine it would have a very negative impact on traffic in general. As far as I'm aware, the safest and most efficient scenario for highway traffic is to have cars and trucks traveling at equal speeds.

<comment><USER16> You get better throughput with less speed in dense environments, see pedestrians and bicyclists. The problem with highways is that they are optimized for speed and sparse environments.

</comment></comment></comment></comment><comment><USER17> That statement in my country is just false: "face a growing shortage of drivers"

They just want to cut on costs.

<comment><USER18> As with all labour, they face a growing shortage of drivers at the rates they want to pay.

</comment></comment><comment><USER19> Here's the road (Skruvgatan) where the initial tests are being done: [https://goo.gl/maps/mRj1qyMtYckVKzDz5](https://goo.gl/maps/mRj1qyMtYckVKzDz5)

<comment><USER20> These industrial parks look like the perfect semi enclosed environments to start using these level "4" vehicles in production. Plenty of wide open lanes and clear paths, not too heavy traffic and no random tourists gawking at them or being put at risk.

</comment></comment><comment><USER21> I have been resistant to the idea of government/state support for people who are losing jobs to automation, because I think people will adjust over the long run and focus on more digital jobs. However, in the nearer term, there does seem to be a bigger case to be made for some sort of support since trucking a top occupation in the US, and #1 in most states.

In 10 - 20 years it seems concerning to think that 2 - 3 million people will be out of traditional work with little or no education. Additionally, young people will not have that occupation as an option. Any industry that large (including traditional diesel truck manufacturers, truck stops, gas stations, truck mechanics, etc.) will be drastically impacted, all in a relatively short time span.

Should there be some help? Should the government be rapidly retraining truck drivers for something else in the next few years?

<comment><USER22> The primary barrier to social safety nets is the cost, and the ideological idea that government should not take more from its productive citizens to cover that cost.

If the largest organizations are effectively optimizing humans out of the costs, then wouldn't their profits correspondingly increase? And as the demand rises for the safety net, along with corporate profits, it seems so would the argument to take a portion of those profits to cover the nets. Maybe to the point of breaking the ideological barrier.

So wouldn't the businesses most harmed be those who continue to employ humans, as they'll have to pay the increased profit taxes as well as their employees?

</comment></comment><comment><USER23> I wonder why the truck has "Video recording in progress" in _English_ on the front. Wouldn't Swedish make more sense?

<comment><USER24> ¯\\_(ツ)_/¯ While not the official language, you can oftentimes assume people will understand English in Sweden.

My observation in Florida is you find more people who don't speak English here than in Sweden.

<comment><USER23> I'm sure that everyone in Sweden speaks English. But posting the message in English gives the impression that the native (and therefore supposed "default") language is not good enough for some purposes.

In my country we would post such a message in Hebrew, Arabic, and English. Is there some aversion in Sweden to having the same message posted in multiple languages?

Are the street signs posted in Swedish or English?

<comment><USER25> English is preferred for technology. Most people set their operating systems, phones etc to English.

<comment><USER26> Interesting, I have 3 Swedish friends in Australia and they had their phones on Swedish IIRC.

<comment><USER25> I guess I only have anecdotal evidence, skewed by the fact that my friends are mostly techies but still.

<comment><USER27> I've got the opposite anecdote, my mostly non-techie family all use Swedish language.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> > Thewes said the rollout of 5G technology, vital for electrification, was > lagging.

Why is a cellular network standard needed for electrification?

<comment><USER29> They apparently want to use it for when a human operator controls the vehicle to get it out of a situation the autonomous system can't handle.

<comment><USER30> This is what I expect for the first set of automated for freight. There will be designated on/off ramps for automated trucks. Some human will drive them there and park them. The trucks will drive across interstates and get off at another designated on/off ramp and a human will drive them to the warehouse. This removes a lot of the risks associated with automation and reduces the biggest expense of having long haul driver teams.

<comment><USER31> Not sure I buy the remote-controlled-by-humans idea personally.

I mean, to remotely drive a car at 30mph, you either need to emergency-stop any time the control signal drops out (in which case you'll constantly get rear-ended) or you need a control system so good it can keep going even through signal drop-outs (in which case why do you have the remote control anyway) or you need an immortal data connection that never suffers drop-outs or so much as 100ms of latency (i.e. orders of magnitude better than what we have today).

I mean, you could do "Human remotely controls the vehicle at walking pace" easily enough, as you could stop all you liked without people hitting you. But we'd need lots of changes to the roads to support a mass of vehicles going that slowly.

<comment><USER32> How does the air force manage with remote controlled drones piloted a half a globe away? I guess flying is a bit different as it is much easier to automate than driving, but still.

<comment><USER31> The Big Sky Theory [1] means (unless you're in the Blue Angels) a plane can almost always keep going straight forward for 20 seconds with no worries. No risks of a child running out or a vehicle 2 seconds in front suddenly braking.

This doesn't apply to a vehicle driving a city street.

[1] [https://en.wikipedia.org/wiki/Big_sky_theory](https://en.wikipedia.org/wiki/Big_sky_theory)

<comment><USER33> The current expected result of children running into a road in front of a truck is for they to die.

Roads are a much more controlled environment than city streets.

<comment><USER16> I would say that is something truckdrivers spend a lot of time avoiding, by exprience and professionalism. The same can not be said about driverless tech companies, everyone really want to be first, that makes children and other soft targets losers.

<comment><USER32> > I would say that is something truckdrivers spend a lot of time avoiding, by > exprience and professionalism.

Then they are doing a bad job about it.

[https://www.iihs.org/topics/fatality- statistics/detail/large...](https://www.iihs.org/topics/fatality- statistics/detail/large-trucks#Trends)

> The same can not be said about driverless tech companies, everyone really > want to be first, that makes children and other soft targets losers.

I would guess that it would be pretty hard to do worse than we are already doing.

<comment><USER16> There are technological solutions that help truck drivers to drive safely but they are actively fought by truck producers. No one is a saint, but I promise you that truck drivers spend alot of their time worrying about you and me.

My argument is a variant of "better the devil you know".

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> Wouldn't it make more sense to make the automated trucks more accessible in case of the AI going on a rampage? I mean how do you even get into the cab?

If it was more normal looking you could at least smash the window. But they even protected the tires.</comment>


The Dead Grandmother/Exam Syndrome (1999) [pdf] - <AUTHOR> https://www.improbable.com/airchives/paperair/volume5/v5i6/GrandmotherEffect%205-6.pdf <comment><USER2> My grandmother actually died just before my Econ 101 final exam as a freshman in college.

After class I approached the prof and asked if I could reschedule the final -- earlier -- and was somewhat shocked by his incredulous reaction. I think after a couple of beats he realized I wanted to take it _earlier_ not _later_ and therefore relented.

</comment><comment><USER3> We have no information on how the data was collected. If a death wasn't right before an exam, likely students wouldn't bother telling the professor. My grandpa died last term and I didn't tell any professors.

The measured death rate before exams should be compared to the expected death rate. How old is the average student, how old is their average grandma, and how many women from that period are expected to die at that age, multiplied by the fraction of the year taken up by the exam period.

</comment><comment><USER4> My mother was diagnosed with cancer in my final semester. I couldn't concentrate to study or do my projects. I asked three professors for extra time to complete projects or take exams. Two agreed immediately. One refused until I broke down crying in his office. I always thought he was an asshole. If the data in this joke paper is real and family members are 50x more likely to die before exams, that means that for every student with a real family death, there are 50 students lying about it. So I guess my prof was just jaded from so many students lying to him.

<comment><USER5> It's bad enough that my mother requires a death certificate within a certain amount of time. [1]

That said, I had a freak accident in grad school and had a professor who expected me to call into his class from pre-op! (i.e. There are some actual asshole professors!)

[1] Edited to add: She implemented this after _the same student for the third time_ claimed a grandmother had died right before an exam!

</comment></comment><comment><USER6> Wouldn't a partial explanation for the correlation be that if a relative dies earlier in the semester or over the summer the student may not mention it because they don't need accommodation?

</comment><comment><USER7> Professors often face choices that seem to straddle a thin line between "heartless jerk" and "naive pushover."

I think this is why a few professors end up with a "drop your worst x test scores, but no rescheduling" policy.

<comment><USER8> Seriously. Lots of students are a-holes and will pull any trick that maybe gets them a better grade, and professors can't just tolerate that. Source: I am a student, and I overhear things

</comment></comment><comment><USER9> As someone who had relatives die just before an exam and who proceeded to write (and fail) said exam, use the deferral if you need to.

</comment><comment><USER10> I am another person who had a grandmother die just before exams (that is the short story, the long story is far messier).

I managed to push it aside and got good grades for the exams themselves, but I felt so guilty in the weeks and months that followed that I made a real mess of the next semester (to the point that I simply had to withdraw from all my papers and take a break).

Not sure what I would do if I met/knew someone faking a death for those sort of reasons...</comment>


Thank you, Adobe Reader 9 - <AUTHOR> http://blog.micropledge.com/2008/07/adobe-reader-9/ <comment><USER2> It's a real disaster that Adobe Reader sucks so much. PDF is a wonderful document format - other readers open it in seconds and it works on everything (including Linux, OS X and most phones). But thanks to Adobe if you ever send a PDF file to a windows user you get a five minute rant about how much PDF sucks and can you send it as a wonderful, efficient docx instead :/

<comment><USER3> <http://www.complang.tuwien.ac.at/anton/why-not-pdf.html>

Synopsis: PS or PS.gz is even better than pdf.

<comment><USER4> Not for portability. Do most Windows users have PS viewers installed?

<comment><USER3> That's right. And that's why I did not write it as my own opinion. 'Social' reasons make pdf better in this regard.

I still prefer html for reading on-screen, though.

</comment></comment></comment></comment><comment><USER5> And suddenly Stallman doesn't sound so crazy.

</comment><comment><USER6> Mac OS X Leopard users:

[spacebar]

<comment><USER7> Now Linux users can too! <http://sourceforge.net/projects/gloobus>

</comment></comment><comment><USER8> Don't forget to get Foxit reader if you don't have it yet : <http://www.foxitsoftware.com/>

<comment><USER6> Woah, since when did Foxit Reader become not free?

</comment></comment><comment><USER9> <http://diveintomark.org/archives/2008/07/04/adobe-9>

</comment><comment><USER10> Are there any linux tools to mark-up/comment-on PDFs? I'm often forced to use the windows version of Acrobat to make and view edits on a document, because I haven't found any linux tools that will even display comments (let alone edit them).

<comment><USER11> <http://annotations.diariolinux.com/>

</comment></comment><comment><USER12> Mac: <Spacebar> or Preview or indeed Skim... slim and functional, thank you! :-)

</comment><comment><USER13> How can it possibly need 210 MB?

<comment><USER14> There is a lot of support for niche features (3D, etc) pushed into the base reader because it provides a significant business advantage to Adobe.

For example, they stand to benefit tremendously if a government agency decides to go with PDF as their document review format over Autodesk's DWF. The fact that the average consumer already has everything they need to use these solutions is a big bullet point in their favor.

They don't stand to lose much if some picky internet folk (not criticizing - I'm one too) decide to use a free alternative because Acrobat's too heavy.

<comment><USER15> Why can't they allow you to add in these features if you want these features?

There's no reason why the users should be forced to install all these bloaty features.

</comment></comment></comment><comment><USER16> on the bright side it's good news for AIR developers since AIR is part of this bundle

</comment><comment><USER17> another satisfied customer: [http://gusmueller.com/blog/archives/2008/07/adobe_reader_9_i...](http://gusmueller.com/blog/archives/2008/07/adobe_reader_9_is_out!.html)

<comment><USER18> What cracks me up is the ReadMe.html that is being installed next to the application. Do they have so little faith in their own PDF format that they decided to use an HTML file?

<comment><USER19> In all fairness, if the read me contains information about what to do when you can't get the application working...

It would be a huge WTF if the only way to find out why you can't read PDF files is locked inside a PDF file :-)

</comment></comment></comment><comment><USER20> Thinking of it: so PDF maybe stands for (Hidden) Proprietary Document Format?

(In the sense of: you will never ever be able to desire all of our features we are continuously adding to our Take-Over-The-World-Document-Format?)

I'm confused.

<comment><USER21> PDF is an open spec. Adobe's viewer sucking is a separate issue.

<comment><USER20> Do you know the whole story? PDF has not been created by users, but by a company.

Only _now_ we have seen it changing into an ISO standard.

(Originally, Adobe only wanted to see it universally used to sell their PDF writers: please read for free, and please please pay for writing it. Only that it didn't happen this way.)</comment></comment></comment>