The [[:print:]] will match any printable characters like åä, while the [ -~] will not.
I used this once as another safeguard against pushing binary data into the database. It was a poor system to begin with where you even have that possibility... and it happened at least once before the fix and my safeguard was in place.
Whats the thing with saying "Only 2 files" what if it is only 1 file, like bottle.py, but the 1 or 2 files contain 10 000 lines of code? Im just saying.
The argument I was trying to make is to bring attention to the difference between a file and a book, they are different beasts, sure you can read them, but its not the same thiing to read a book and to read from a computer screen or kindle. Its just not the same.
The author has no right decide how I am going to read the book. Its the redistribution which he holds a right to. Lets take the discussion to what form of distribution copyright should apply to. Lets discuss who can decide when to read and how to read a text. Who has the right and who has copyright?
Its not just so simple, oh hey copyright, do as I almighty author say. Where is the consumer-rights in all this debate?
Somebody is mad about their book being read. Cry me a river. If you didnt want your book to be "stolen" then dont write it. You, as author, will not control what I read, how I read and where. So yes, I am gonna "steal" that book from you, just to steal from you, and then delete it from my computer. Its probably not worthy of being read anyway.
And furthermore, nobody is sharing your book illegally, they are sharing a digital copy of your book as a data-file, which is very quite different from a real book. You cant hold it you see, you cant smell it, you cant borrow it to your friend, only make another copy.
"The thing is when I used internet cafes, the first thing I would always open would be email."
Seriously? Intenet cafes are the least secure computers to give your email and password to. Sure for junk and spam-email accounts, that you dont care about anyway. But logging in to your personal email account on an internet caffe!? Thats madness.
It works even when you have "passive observation". All you need is two things 1) to make the victim run your JavaScript, irregardless where you make your victim fetch and run your script. And 2) sniff his packets to see what is going over the wire. You can do both things very easily for example in a caffe on an open WiFi network. Or in a caffe with WPA2 where you and your victim are on the same wifi, using the same password from the caffe. (Arp poisoning your victim...)
Take the "you and victim are at secure wpa2 caffe", the bartender gives both of you the wifi password. You perform an ARP poisoning on your victim, now all his communication goes through your computer, you act as gateway for him. Now you have 2 from above. Then you can for example replace his request for a http://cdn.google.com/jquery.js with your own jquery.js spiced with this new CRIME fancy JavaScrip as well, in which you just create a lot of img elements with src set to say https://facebook.com. And so on as described in CRIME you can reveal the victims session cookie for example.
The tools to perform arp have been around since the stone age, the tools to serve your victim your own .js for some random request of his over http have also been around since the stone age. And now we have crime to reveal parts of the victims supposedly secure communication channel as well.
This approach is very easy to bypass by any knowledgable hacker.
Since you said your WiFi is open, the only thing that needs to be done is fire up the aircrack-ng airdump and sniff, there I would see your MAC, in the clear. Then I could set my own to it or select any other mac I have seen connecting to for a longer while ,and use it and access your router and add my other mac on its whitelist.
Companies are realizing that Microsoft doesnt have what it takes to maintain a good desktop user experience. They have introduced Metro and UEFI, both aim to reduce the power of the user on their devices. Perhaps Samsung and Valve realized they as suppliers of programs/hardware need more to say in a future computer market.
For my next project I will make an app to interface with your app and I will call it HackerDo.me so that you can get a slick interface to your interface of really important discussions and news on make money.
You cant write anything serious with this, for any business processing, where the interesting things happen, you need your own servers, not just storage and you cant trust the clients with your processing needs. For example, make a VPN service out of this, or a file sharing application with payment system?