148 karma · joined July 1, 2011
I would have once been mad with this Microsoft feature removal. However, I've come to realize than neither Microsoft's or Apple's backup solutions satisfactory for my needs. Time machine is arguably better... until it decides to stop working. Since I've been on CrahPlan, no problems on any computer. I've had one laptop that shorted since then and it was easy enough to recover my files.
At first Facebook was similarly dismissive that it wasn't a bug. My friend pushed a bit to convince them with additional details and examples of how it could be easily used for exploits. They finally saw the light. The bug was fixed and my friend got paid $1K which wasn't much for the bug's seriousness. In any case it got fixed and my friend got acknowledged so it's OK.
It's a bit of a pity, thought, that they didn't see it to be serious at first. I would have expected any mediocre engineer to skip a hearth beat when learning of such a bug in their system.
http://www.kickstarter.com/projects/pimoroni/picade-the-arca...
However, the linked project should work if you're TV has an HDMI or DVI connection.
He's mainly lucky someone who know CPR was around soon after his cardiac failure. That's the main reason why he defied statistics and it stacked odds in his favor. Otherwise, more than 4 minutes before intervention and you're almost guaranteed to be dead or at least brain damaged.
And, to answer the question what steps to do when they don't pay: not much you can do other than asking. There aren't any worthwhile legal resources for businesses or freelancers to be paid.
However, to not get there, make sure the payment schedule covers your work hours including profit and if they don't respect the schedule, stop working and mention there will be a delay in delivery. As he said, choosing well your client by avoiding people who are too difficult from the start usually avoids the worst kind of clients. As soon as your guts sees a red flag, don't ignore it and walk away. Your instinct is rarely wrong when sizing trustworthiness.
It starts with the amount of code you would usually write if you were to write an API by hand and then simplifies things along the road. At the end it makes it clear how the framework can be simple to use while you've learned how to use it behind the hood if the magic needs tweaking.
It would require us coding a scheduler. But it would be easy to write and would be way more efficient (than what we can do today). Would simply need to check your notifications against our database and accordingly clean up/validate the files in the S3 buckets.
Great stuff.
As for the idea of webhooks, in our case, we wouldn't need the content, just the meta data. That's what we already do anyway: we only store references to the S3 files we created. The idea is that it simplifies be able to run multiple Web server instances by having this user generated content offsite.
My concern was really more about us confirming what we receive to you so you could do the cleanup of non acknowledged files instead of us doing it. What you are suggesting is an additional verification that can have value but doesn't address the question of constituency between what ends up in our S3 buckets and what we end up being aware off in our app. In any case, no big worry but I'll email you details.
Thanks for this update. This addresses a great security concern so that our buckets cannot be abused (especially filled) from outside of our apps.
I still have a remaining concern which is more about consistency. If you authorize users to upload for your app with a policy, they still can upload anything to their will without your app even knowing about it. Sure, the new policies can ensure that they won't be able to read what they upload if it never reaches your app but they still can upload huge amounts of data in your buckets without that data even being used or known of by the app.
I sure could write a backend scheduled task to clean up unknown files in our buckets.
But, what I would eventually like to see is a way to acknowledge that file handles we're received by the app. If, after a specified timeout no acknowledgement has been received from our app, then these files would be deemed dirty and you would then be able to clean up your servers and our buckets from these files.
Does my concern make any sense?
In any case, thanks again for this update. This remaining concern can be worked around and this update really mitigates the risk of someone wanting to abuse our buckets for malicious reasons.
I'm about to implement filepicker.io for a project and really do not mind any kind of server-side integration that would avoid chances of malicious users abusing the service against our filepicker.io or S3 usage.