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

So you should be required to go through a government licensing programme to be able to tell the government they fucked up? :D


Yes, absolutely. How is that even relevant? Are you implying that it's acceptable to violate the rule of law when the government makes a mistake? Do you shoot your mailman when they mis-deliver a letter?


Are you a lawyer? If not, then you have no standing to interpret the law, and perhaps you should be charged with a crime for doing so.

Does it make sense now how your reasoning is a bit circular?


The reasoning is not circular, full stop. Just because the government both (1) deals in licenses and (2) can be sued in court does not make the situation logically inconsistent. You're confusing collusion/corruption for circular logic.


The reasoning is not circular because that would be devastating to your case?

Thanks, Yes man.


I find it more amusing you don't see the blatant circular logic flaw in that.


Can you explain the circular logic flaw? I literally don't know what you're talking about.


b sqr 4 a c * * - sqrt

Yeah no. This being "bug free" seems like a joke.


I don't see an objective reason this is more or less clear than

    sqrt(sqr(b) - 4 * a * c)
or

    (sqrt (- (sqr b) (* 4 a c))
Honestly, by objective measures the traditional style is probably the worst. The Forth style makes it easy to see large stacks because you'll see long sequences of literals. The sexp style makes it easier to work with subexpressions. Both the Forth and sexp style don't require remembering PEMDAS. The sexp style is easier to parse, and the Forth style doesn't even need a parser.

The only thing going for the traditional style is that it is an ugly approximation of mathematical notation - but that notation itself loses most of its value in the uglifying.


This is just a "minor usability issue". Seriously. In Factor, you can solve this with references to local variables, which under the covers manipulate the stack as needed. It can also typecheck, so you wouldn't be able to write the expression in a way which unbalances the stack.


Rasengan goes 1 week without spamming his inane crap on HN challenge!


Fucking sellouts.


I wonder when Rasengan will realize how much he messed up.


Or you can just select to hold that package for updates in a package manager in a competent distro that actually gets needed security and usability updates.

Doesn't help that some ""stable"" packages are outright broken and won't be fixed until the next release (ie. MinGW is stuck on a broken version of 8.3 which has a buttload of compiler bugs I keep hitting)


> That's because you're inexperienced.

That's fairly rude to the guy, and doesn't make your point any stronger.

I've worked with exceptions before, it leads to try/catch spaghetti code.

You can't possibly know instantly all the exceptions to handle for a function (given it calls other functions w/ exceptions), whereas, if it returns a fixed bunch of error codes, then you can know why that specific function failed and handle appropriately.

Doesn't help that (language) exceptions typically have awful codegen.

There's a reason nobody uses them in game-dev.


> You can't possibly know instantly all the exceptions to handle for a function (given it calls other functions w/ exceptions),

You also can't possibly know all error codes to handle for a function if it calls other functions returning error codes, unless a type system enforces that for you. In which case you should compare to a language where the type system enforces that all exceptions are handled.


> You also can't possibly know all error codes to handle for a function if it calls other functions returning error codes

You aren't using error codes or documenting correctly. You get a choice whether the error propogates upstream


I can make the same argument for exceptions - You're not documenting correctly. You also have the choice to ignore and fail with exceptions.

Example: you have a method which requests a file from disk, but it fails to load for some reason. With error codes, you force all callers of your resource loader to explicitly handle the failure case at the point of failure, or you lose all context on the error. If you just bubble the error up, you're manually doing exceptions.

With exceptions, the code that requests a file can assume it succeeds if it doesn't have enough context to handle the erorr, and you can handle at a higher level and still know what happened.


Exceptions can be documented just as well, and you have the same choice whether the error propagates upstream, only the default is different.


The default idea behind exceptions is silly and as I stated before, they typically get generated to some horrific code


I might be misunderstanding, but doesn't this

> You can't possibly know instantly all the exceptions to handle for a function (given it calls other functions w/ exceptions), whereas, if it returns a fixed bunch of error codes, then you can know why that specific function failed and handle appropriately.

presume that, despite not being able to know all exceptions to handle in advance, you somehow have knowledge of all error conditions in the event that you're using error codes?


> presume that, despite not being able to know all exceptions to handle in advance, you somehow have knowledge of all error conditions in the event that you're using error codes?

I guess that it is indeed the case. If you call one function, you can read the documentation of said function and read about its return values, including error codes. This specification cannot not change if one of the libraries nested deep within this function is replaced. However, with exceptions, if you use a new implementation of a deeply nested function it may raise a new exception that nobody was aware of at the time of writing the outermost functions.


Usually documentation tends to have this, or you can look at the function and immediately know what it will return, whereas with exceptions any passthrough errors are transparent.


> You can't possibly know instantly all the exceptions to handle for a function

And you never should. That indeed is horrible design.

What you do need is a separation between 'exceptions that cause hard failure' v.s. 'exceptions that can lead to soft restarts'.

You can easily separate them using common sense just looking at where your interface is located.


I got an ad for McDonalds on this


No you don't, because that is absurd and highly illegal.


Why I was Father of the Chapel for one on the biggest union branches in the company.


All they have is telemetry right now.

Why even bother making an announcement?


Possibly a reaction to Valve and Discord's recent announcement of similar (more fully featured) releases. But I may well be wrong, and this was planned for a while, with a sturdy roadmap and a MVP release.


Or it's a late-ish reaction to the drama[0] surrounding Unity's "sudden" blocking of Improbable's SpatialOS cloud platform (if you believe Improbable - Unity said they were warned months in advance, Improbable said it was without warning). Then, within a couple days, Unity made an announcement[1] for their own paid cloud gaming plugin. It was all over HackerNews[2] in January when it happened with lots of commenters quipping that it's time to move to Unreal or GoDot Engine. During these days of back-and-forth drama between Improbable and Unity, Tim Sweeney from Unreal Games jumped into the fray and was tweeting his constant disapproval (and further muddying the waters with inaccurate information), at the end of which "Epic Games and Improbable announced the establishment of a US $25m fund to help concerned Unity customers shift their games over to Epic's Unreal Engine."

I'm still waiting to hear how they plan to fund devs but after following Tim Sweeney's recent behavior (i.e. the tweets above, plus paying Coffee Stain Studios to move their upcoming and popular (at least on Reddit) game "Satisfactory" off of Steam and do an exclusivity deal with Epic Games Store, which has caused nothing but bad press on Reddit), I would expect this fund will be nothing more than vouchers to use the paid-version of Unreal Engine for a limited time period, after which you will hopefully be reliant and forced to continue payment. Only time will tell I suppose. And competition is always a good thing.

[0]: https://www.oneangrygamer.net/2019/01/unity-announces-cloud-...

[1]: https://unity.com/solutions/real-time-multiplayer/game-serve...

[2]: https://news.ycombinator.com/item?id=18874400


I could not find anything with a quick lookup. Could you please link me to the recent Valve and Discord announcement you are referring to?


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

Search: