US politics is broken, but most AI regulations are poorly designed. Look at EU AI policy. It is not addressing any real problems and is mostly just additional paperwork.
sounds like you should ask for your money back, remember OP stands by everything he creates and if you dont like it he promises money back no questions asked
I dont think he means to deprecate enjoying life and spending time with friends and family. It's more about good healthy life habits - nutrition, exercise, sleep. When you think about it all these good habits make you happier. He certainly does not advocate workaholism. At least I dont read it this way.
> in a real-world deployment you couldn't limit connections with client-side code
yeah that's a very good point. But in a real world scenario handling this would not be that easy. Limiting number of available connections on the server side is not a trivial task to implement. Setting your server to avoid failures and simply return either 503 service unavailable to some clients or 429 (too many conns) to others would probably require quite a lot of coding. It's also not very clear to me how this would be implemented, how do people implement things like this? Just putting some check for number of open files before line that opens file and setting response code to 500 and 429 before opening file? This would only stop server from opening to many "html" files, but would not stop server from getting flooded with connections. Is my aiohttp app even the right place to add checks like this? Wouldn't it be better to use haproxy or nginx or some other load balancing service in front of aiohttp app and let it handle too much traffic?
Other thing that comes to my mind (need to check this later) is that perhaps some partial "handling" of cases like this could/should be implemented in aiohttp library. I'm not sure how it behaves now, but maybe it should simply fail to open file, return 500 to the client, and print noisy traceback about open files to my logs? I didnt see this behavior when doing my tests, so either it didn't occur, is not implemented in aiohttp, or it occurrred and I somehow missed that. From my experience with Twisted I know that this is how Twisted resources behave, if you have some unhandled exceptions twisted just returns 500 to client and show traceback in logs.
> You would probably handle more requests if you changed that -- I would do the file access in a run_in_executor with a max executor workers of 1000.
This is really good point. I'm going to check this and edit post adding this information there.
> Also, the placement of your semaphore acquisition doesn't make any sense to me. I would create a dedicated coroutine like this:
looking into my semaphore code next day after writing it I do wonder if I'm using it correctly. I assumed it works correctly because it fixed my "too many open files" exception, so it seems to mean that I'm no longer exceeding 1024 open files limits. Can you clarify why you think my use of semaphore does not make sense and why your suggestion is better? What is the benefit of dedicated coroutine?
> That being said, it also doesn't make any sense to me to have the semaphore in the client code, since the error is in the server code.
I admit that I focused more on my client than server. One thing that worries me about my test server is that it does not print any exceptions. Either it does not fail at all, which seems unlikely, or it fails silently, which is more likely and is bad. So I need to check my server code to see what exactly happens there.
> it also doesn't make any sense to me to have the semaphore in the client code, since the error is in the server code.
main reason for semaphore in client code is that it should stop client from making over 1k connections at a time. My logic here is that if client wont make 1k connections at a time - server wont receive 1k connections at a time and thus there will be no problem of too many open files on server (it won't have to send more than 1k responses). However I see that this logic may not be totally correct, other comment points out that it's possible for sockets to "hang around" after closing: https://news.ycombinator.com/item?id=11557672 so I need to review that and edit post.
I wonder if you can reliably classify jobs into "nonroutine" and "routine". There is element of routine in every work, and I'm pretty sure that even most boring and repetitive job can be done better with some degree of creativity. It would be really interesting to read more about reasoning behind classification presented in this article. I mean can you seriously say there is no "routine" in programming or management?
unfortunately pyqt docs are far from perfect everytime i have to do something with pyqt i just go to qt docs and just "translate" the concepts and api calls to python. if you are able to understand c++ syntax and translate that in your head to python youll be ok. Aside from docs i used some links from this https://wiki.python.org/moin/PyQt but you have to be careful to avoid outdated resources (current version is 5 and many things differ between 4 & 5) and not all tutorials are high quality. I also wrote one tutorial myself BTW http://pawelmhm.github.io/python/pyqt/qt/webkit/2015/09/08/b...
> code did not cover some weird edge case on the scraped resource and that all data extracted was now basically untrustworthy and worthless.
Your data should not be worthless just because you dont catch some edge cases early. Sure there are always some edge cases but best way to handle them is to have proper validation logic in scrapy pipelines - if something is missing some required fields for example or you get some invalid values (e.g. prices as sequence of characters without digits) you should detect that immediately and not after 50k urls. Rule of thumb is: "never trust data from internet" and always validate it carefully.
If you have validation and encounter edge cases you will be sure that they are actual weird outliers that you can either choose to ignore or somehow try to force into your model of content.
Where can one find analysis of this vulnerability? There are no details in checkpost blogpost revealing vulnerability. I assume its serious and real if magento releases patches but would be cool to be able to judge myself.
how is it possible that someone can carry this kind of attack without facing any kind of legal consequences? I know they are china we're not going to start a war with them but shit is there really no legal authority here?
* would be nice to be able to export to other formats so that I could send this as email attachment to someone not as link
* When you edit anonymously and then login you loose all things you put there earlier, would be nice to keep resume state from the phase before login after login
* why not allow people to edit headings? For example some user could rename Key Skills / Achievements to something else
* Tips from google docs seem amateurish and probably not necessary, you give people cool app to edit resume, this is great even without extras
* Samples look like good idea, more samples would be even better, dividing samples by topic, specialization etc would also be cool, for example "resume of senior dev", resume of junior dev, etc
I don't think Google penalizes speed improvement. They penalize use of JavaScript for html rendering. Google bot probably cannot render all page content with JS, I'm sure in most cases it does not make all requests for static assets, it just makes GET to your url and parses html that is in response. If your initial response to first HTTP GET contains blank <body> that is filled dynamically by JavaScript Google bot will only see this blank body.
I'm pretty sure it would be completely inefficient for Google to measure page load times by making hundreds and hundreds of requsts to create full DOM representation.
Aside from detecting your ip location they must be running some other proxy detecting schemes.
I live in Europe and have squid proxy server running on my Amazon instance located in Portland, Oregon (something like my private "free proxy"). It works ok in Firefox, but fails in Chrome, can't really figure out why. I suspect chrome extension I use to easily manage proxies adds some custom header that is detected by Netflix. And it's NOT some obvious header like "via" or "x-forwarded-for" which I disabled as a matter of course in squid conf. All "locate my ip" sites tell me I'm from US, but netflix tells me I'm from x (which is my homecountry).
Alternative to running http proxy such as squid is using ssh socks proxy(provided server you ssh to is located in US). This cannot be detected by any means IMO.
I see that concerning point one and two there is option 'edit and resend' visible if you hover over request in network tab, and there is also option 'enable persistent logs', that shows what happens between refreshes. Don't know how it works, just playing around for 10 minutes.
Overall I'm impressed with new network panel, much better than before.
I think those devs think fhat it obfuscates data about you, data gathered about you in ad network does not match your real preferences so it is effectively useless. So it does not prevent tracking but it just cheats the system.
Don't know why they assume extension should click all links, clicking random ads would be much better strategy if you ask me, this would be less likely to be detected as it mirrors actual users behavior.