Hacker Newsnew | past | comments | ask | show | jobs | submit | Glowbox's commentslogin

All our production websites were down for around 10 minutes. Not sure function failover is turned on for these websites.


https://twitter.com/playartifact/status/1051964775658217473?...

Artifact did it too (which is no longer being worked on though).


I've been a happy user of Fastmail for over 2 years (and will continue to be), but their spam/scam detection has been worse than Gmail.


There are workarounds for that, f.e. on startup loading code from an s3 bucket (https://hackernoon.com/exploring-the-aws-lambda-deployment-l...)


That workaround is for the 50MB limit on zip files, not for the 250MB limit :)


No, you get another 500 MB of tmp space you can use at runtime. This workaround does work.


Actually, I think it's terrible in it's current state. I made a second account to try some heroes/practice heroes on. Recently they changed the number of reports to four per week, but I almost need to report a person per match for either feeding, afking or really bad language. I realize this is in the 'normal' bracket, which is still pretty terrible.

You might be consistently impressed, lately I have been consistently disappointed by the Dota 2 community.


I'm in the normal bracket too and that is my experience as well. I used to max out on reports per week just reporting bad language.


This question has been asked a lot, have you used the search yet?

There is this app too; http://hnpickup.appspot.com/ but it has a big error on the top so I'm not sure if it still works.


Do you have any numbers to back that up? This site (http://www.nfia-india.com/why_english_speaking_society.html) says 62% vs 91% in favor of the Netherlands.

edit: seeing this guys profile/comments in this thread it's an obvious troll.


62% of the pop of Germany is more than 91% of population of Netherlands

Lies, damned lies and statistics ;)


This presentation is from 2007. It's outdated and full of errors. I'll refer to the comments at /r/programming http://www.reddit.com/r/programming/comments/193o4p/the_dark...


I call BS on most of the presentation. For example, throwing exceptions from a constructor is not only acceptable, it's the only way to prevent construction.


Exactly. One valid criticism could be that getting exceptions right in C++ can be quite a challenge; i remember that at one point i was very into the language and was blown away by reading Exceptional C++ (really recommended for any C++ programmer), i was like re-discovering the whole language altogether.


Most people just miss the common C++ idioms that solve many of the exception issues in very elegant ways (and give a lot of benefits at the same time).

E.g. the example with file open + close in the presentation is laughable. Every C++ programmer knows that this is something that should be done with RAII. I.e. instead of manual close calls you let the destructor handle it. This is both exception-safe and spares you remembering to add a close call on every possible exit-path.

Also one should point out that C++11 has unique_ptr and shared_ptr which in many cases remove the need for the programmer to manage things by himself.


"I.e. instead of manual close calls you let the destructor handle it. This is both exception-safe and spares you remembering to add a close call on every possible exit-path."

Unless closing the handle causes an exception to be thrown. Either you never see the exception or your program aborts, and neither one is particularly good if you want to write reliable code.


"Unless closing the handle causes an exception to be thrown."

That is a straw-man argument. If the underlying file-closing API can throw exceptions, they must be caught from the destructor. If that means that they get ignored, then that is what it will have to be (much the same as most C programs ignore the return call from `printf`). Also in this case, the RAII wrapper should provide a member function which can execute the underlying close call early and expose the failure, for users who may be interested in guaranteed reliability.

In any case, provide RAII _safety_ does not intrinsically reduce reliability. If your destructor is executing code which _must_ succeed or be handled at a higher level, then a good developer will not put it in the destructor. No language feature can solve the question of "where should the program stop caring about failure?"


> in this case, the RAII wrapper should provide a member function which can execute the underlying close call early and expose the failure, for users who may be interested in guaranteed reliability.

Indeed; this is a useful technique. However, it means that you now have a close() method which you have to call on every exit path, because if you miss a path, that's a path which could have an exception thrown from a destructor. And that basically means you're not doing RAII anymore.

So yes, RAII is intrinsically incompatible with this kind of reliability.


> However, it means that you now have a close() method which you have to call on every exit path, because if you miss a path, that's a path which could have an exception thrown from a destructor.

Not true at all. `close` and the destructor should be idempotent. In the main path, `close` will get called and failure will propogate upward. In any other failure path, the destructor will attempt to perform the underlying close and allow the stack to unwind without any further interruption.

Of course, anyone can come up with pathological cases where this is not acceptable behavior from a high-reliability sub-component. And in such a situation, RAII may not be the best answer (nor would lexical scoping i.e. constructor/destructor, for that matter!) But in my experience, this approach is just fine for most application-level code.


...or we could retool exceptions so that destructor exceptions are safe (as long as they are caught). Conditions in Common Lisp, for example:

http://www.gigamonkeys.com/book/beyond-exception-handling-co...


Most people just miss the common C++ idioms that solve many of the exception issues in very elegant ways (and give a lot of benefits at the same time).

... and the remaining people realise that use of exceptions in C++,

1. almost always creates a trade-off in performance for strong-exception safety guarantees

2. requires special and strong control of side effects throughout the code base, even when there is minimal benefit

3. increases compile times and resource pressure

4. encourages less knowledgeable developers to inappropriately throw exceptions or make poor attempts to recover from them

5. contain some of the least portable platform semantics and handling.

C++ exceptions contain far greater costs and consequences than many programmers realise. For anything other than testing frameworks, it is debatable that they are worth any benefit at all compared to the alternatives.



http://mavrck.com/blog/2013/01/ive-evaluated-php-frameworks-...

A recent writeup (not by me).

Would not recommend CodeIgniter, last time (~1 year ago) I used it it was a pain to get a proper ORM working with it.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: