Readit News logoReadit News
Ace17 commented on Show HN: A Ghidra extension that turns programs back into object files   github.com/boricj/ghidra-... · Posted by u/boricj
Ace17 · 2 years ago
> The most impressive one so far is making a port of a ~100 KiB Linux a.out i386 program to a native Windows PE i386 executable, despite not having access to its original source code or even decompiling it.

This is indeed really impressive!

(direct link: https://boricj.net/atari-jaguar-sdk/2024/01/02/part-5.html )

Ace17 commented on Nuklear: A cross-platform GUI library in C   github.com/Immediate-Mode... · Posted by u/ducktective
tus89 · 5 years ago
This is cool. Has anyone written a C++ "MFC" for this yet?
Ace17 · 5 years ago
You mean, having wrapper classes over the C primitives?

Wouldn't this defeat the purpose of having an immediate-mode API ?

Ace17 commented on Where Everything Went Wrong: Error Handling and Error Messages in Rust (2020)   msirringhaus.github.io/Wh... · Posted by u/lukastyrychtr
golergka · 5 years ago
> There are no errors; only conditions that you dislike.

This is true in mathematical sense, but unhelpful in UX sense.

Ace17 · 5 years ago
Quite the opposite IMHO : when your program interacts with a user, you cannot panic the program each time something unexpected happens. Here are some examples of unexpected conditions:

- "Null pointer dereference"

- "Out of memory"

- "Disk is full"

- "File does not exist"

- "File does not exist in cache"

- "File exists but is corrupt"

- "Access denied"

- "Connection reset by peer"

It's pretty obvious that all of the above is generally unwanted most of the time.

However, putting them all in the same bag labeled "error", and forcing them to be treated the same way might be counterproductive. Sometimes you might want to panic. Sometimes you might want to retry. Sometimes you might want to ignore!

Now, if your program isn't interactive (such as a compiler), halting on any error might be a choice. But you still have to provide contextualized and accurate error messages, which is easy for the case "File does not exist", and a lot less easy for the case "Out of range index".

Ace17 commented on Where Everything Went Wrong: Error Handling and Error Messages in Rust (2020)   msirringhaus.github.io/Wh... · Posted by u/lukastyrychtr
simiones · 5 years ago
To be fair, throw is GOTO. Catch() is COMEFROM :).
Ace17 · 5 years ago
Technically, `throw` is `goto somewhere`.
Ace17 commented on Why Computers Will Never Write Good Novels   nautil.us/issue/95/escape... · Posted by u/DamnInteresting
Ace17 · 5 years ago
> But as natural as causal reasoning feels to us, computers can’t do it. That’s because the syllogistic thought of the computer ALU is composed of mathematical equations, which (as the term “equation” implies) take the form of A equals Z. And unlike the connections made by our neurons, A equals Z is not a one-way route. It can be reversed without changing its meaning: A equals Z means exactly the same as Z equals A, just as 2 + 2 = 4 means precisely the same as 4 = 2 + 2.

What about Prolog ? How is it not a counter-example of this ?

Ace17 commented on I tried to report scientific misconduct. How did it go?   crystalprisonzone.blogspo... · Posted by u/ivank
Ace17 · 5 years ago
> I was curious to see how the self-correcting mechanisms of science would respond [...] > I was disappointed by the response from Southwest University. Their verdict has protected [a fraudulent researcher] and enabled him to continue publishing suspicious research at great pace.

The self-correcting mechanisms of science can only correct knowledge. Those mechanism work mainly by requiring the research works to be checkable by others. Self-correctness emerges by the accumulation of checks on the same topic, all leading to the same conclusion, and by the progressive retractation of bad research ... not by the elimination of "bad researchers".

Efficiently "correcting" people, whatever that means, is a different beast. Such a mechanism belongs to an administrative entity who can emit decisions - and, by construction, who can make errors.

Ace17 commented on How to join a team and learn a codebase (2020)   samueltaylor.org/articles... · Posted by u/minicaionut
mettamage · 5 years ago
> The rule of thumb I use is to understand something just enough to express what it does without necessarily knowing exactly how it does that. This process is called "chunking," and it relies on the fact that once you have a basic understanding of a unit of code, "you don't need to remember all the little underlying details" (Oakley).

Isn't this how a lot of non-math majors learn math at uni? You learn how to use it, but you don't learn the proofs behind it? When I dove into a first codebase, I took the above said approach because that's how I learned (most) math.

A younger me would've find the Tools section valuable.

Ace17 · 5 years ago
> You learn how to use it, but you don't learn the proofs behind it?

Which makes sense, at least firstly, considering that understanding a proof is a lot easier when its conclusion is already familiar.

Ace17 commented on Opensource your abandonware (2010)   pulkomandy.tk/_/_Developm... · Posted by u/app4soft
Thaxll · 5 years ago
As if it was just that easy to remove all part of third party code ... For example removing a physic engine from a game is pretty much "impossible".
Ace17 · 5 years ago
It depends on how the physics engine has been integrated into your game/engine. The book "Game Coding Complete" shows how to isolate a 3rd-party physics engine so you can switch implementations.

Of course, every physics engine behaves a little differently from the others, so, if you game is physics centered (pinball, racing), switching implementation might result in a slightly different game - but having the core of your game depends on the implementation details of some 3rd-party library might not be a good idea anyway.

In general, the more you sprinkle your code with dependencies to 3rd party libraries, the less control you have over the resulting product.

Your point still stands, though, for some very low-level "utility" libraries like boost or the STL, or any standard library replacement , and more generally, libraries holding "vocabulary" types.

Ace17 commented on Tips for a Better Life   ideopunk.com/2020/12/22/1... · Posted by u/CapitalistCartr
Ace17 · 5 years ago
> You do not live in a video game. There are no pop-up warnings if you’re about to do something foolish, or if you’ve been going in the wrong direction for too long.

In the good old times most video games weren't like that.

It's a pity that those times are gone, to the point video games are now used as such a comparison point!

Ace17 commented on Tips for a Better Life   ideopunk.com/2020/12/22/1... · Posted by u/CapitalistCartr
Aaargh20318 · 5 years ago
> 25. History remembers those who got to market first. Getting your creation out into the world is more important than getting it perfect.

This is why everyone remembers the MPMan F10 and no one has heard of the iPod.

Being the first to get it right is more important than being the first to get to market.

Ace17 · 5 years ago
Facebook and Google anyone ? :-)

u/Ace17

KarmaCake day1464June 26, 2013View Original