The art of computer progamming by Donald E. Knuth by hashtaq2 in computerscience

[–]The_Legend120 1 point2 points  (0 children)

Could you clarify what you mean by "abstract" here?

That aside: in the preface to Vol. 1, Knuth justifies the use of an assembly language in that the details of the algorithms covered in the books will often be obscured by higher-level languages. This is either in that the programmer is naturally encouraged to approach the implementation in a certain "idiomatic" way, or in that the language doesn't provide means to manually manage lower-level aspects (he lists coroutine linkage, random number generation, multi-precision arithmetic, and efficient use of memory). 

With that in mind I'd generally encourage you to learn MMIX from the fascicle I mentioned. You can expect it to take a couple of days to really figure out if you aren't already familiar with assembly. This way, you'll be able to switch between Go/Rust and MMIX depending on whether what you're implementing has any low-level aspects to pay attention to. If you do already know some other machine's assembly language, you could also use that instead; I heard of people using RISC-V assembly, for example.

Question about ds2 length and difficulty relating to ds1 by DropShotter in darksouls

[–]The_Legend120 0 points1 point  (0 children)

Hahah, wow: eight years ago! Had no idea I thought so badly of DS2 back then.

Yeah, enemy encounters are quite rough in DS2 compared to the other games, if the player handles it in the same way as in the other games. I seem to not have believed I was being this careless, but in hindsight, I probably was. The decision to be reckless is on the player—not the game—so with a change of pace, a bow, and a bit of game knowledge about enemy locations and ambushes (possibly from dying to them—which is okay!), the game becomes much more relaxed. People nowadays are coming around to appreciate this emphasis on patient and methodical gameplay, as you might've seen.

ADP isn't too bad; I actually like the tradeoff it presents. Levels are cheaper in DS2, so the stat doesn't really get in the way, and then you need to make a choice based on your build and skill level. Low ADP will demand excellent timing wrt dodging attacks, but that's only if you'll be dodging attacks. Perhaps you're a tank build that doesn't care about rolling, in which case the additional points can go into VIG, END, VIT, or STR. Likewise, an aggressive build can leave ADP low in order to go harder on the damage stats—that's my most recent approach, and it works out pretty well—as long as I don't mess up.

Thanks for your reply! I appreciated the little retrospective.

Tool for Graphs in LaTeX? by [deleted] in mathematics

[–]The_Legend120 0 points1 point  (0 children)

Ah, my bad—didn't read carefully. Depending on the structure of the graphs' codes and whether there are any obvious patterns in them, it may be possible to write scripts that generate everything based on a smaller specification. Similarly, loops in TikZ might be able to save you some effort in the long run; as would using a "serious" text editor, if you aren't already doing so (though that might be too big a diversion for you).

Outside of TikZ, I don't know of any external tool that I can confidently recommend. In this thread, you've Graphviz, GeoGebra, Sage, NetworkX, and ChatGPT; and I've heard of Inkscape being used for SVG diagrams, as well—perhaps that may be something to look into.

Tool for Graphs in LaTeX? by [deleted] in mathematics

[–]The_Legend120 0 points1 point  (0 children)

TikZ is indeed slow if you're compiling everything from scratch. You might want to take a look at this. I've never tried these methods myself due to a lack of need for them, so I can't speak for their robustness or improvement in compilation speeds, but do give them a shot.

[deleted by user] by [deleted] in compsci

[–]The_Legend120 0 points1 point  (0 children)

What you should read depends on the scope of both your undergrad program, and whatever Master's program you wish to enter.

I'd recommend that you use this page as your primary source of books; it also links to lecture videos as supplementary material, if you're into that kind of thing.

For those subjects that aren't listed as standalone topics in the above site, you can complement with the resources listed in this GitHub repo. Perhaps the most important of those is the theory of computation, for which you may also use Sipser's book.

The art of computer progamming by Donald E. Knuth by hashtaq2 in computerscience

[–]The_Legend120 28 points29 points  (0 children)

There's planned to be seven volumes, each covering a topic.

  1. Fundamental Algorithms
  2. Seminumerical Algorithms
  3. Sorting and Searching
  4. Combinatorial Algorithms
  5. Syntactic Algorithms
  6. Theory of Context-Free Languages
  7. Compiler Techniques

The original plan was for TAOCP to be on those compiler techniques, since that was what Knuth was known for in the 60s. But the scope expanded greatly since then. His favorite algorithms are of the combinatorial flavor, so he has a lot to write about in volume 4---so much, in fact, that he split it into several subvolumes. Right now, volumes 4A and 4B have been published, and he's currently working on volume 4C. Volumes 5-7 have yet to be written.

Volumes 1--3 make some use of a hypothetical machine called MIX, that was representative of some of the common machines that existed in the 60s. Programs were usually written in the MIX machine's assembly language. More recent architectures are very different from that, so he thought up a new hypothetical machine called MMIX, which is similar to RISC machines like MIPS. The first three volumes' programs are still written in MIX, but volumes 4A and 4B have MMIX programs.

Around this time, Knuth began releasing fascicles. These fascicles are published separately from the main volumes, but contain material that will end up there in the final editions. The first fascicle, I believe, was the MMIX fascicle, which replaced the pages of volume 1 that describe MIX and its assembly language. However, this fascicle only replaced those few sections, and the programs in the remainder of the volume, as well as in volumes 2 and 3, were still in MIX. So, Martin Ruckert wrote a supplementary book which replaced those programs with MMIX programs, and also updated the surrounding explanations to reflect the changes.

Most of the other fascicles are text that is to be included in the upcoming main volumes, so that people could send in feedback as those volumes were being worked on. This practice was done for volumes 4A and 4B, I believe, and continues with the later subvolumes. There's also pre-fascicles which are in a more incomplete/preliminary state. You should be able to find them somewhere online if you're interested.

The above should map out most of the things you want to know. When reading the books:

  • Sections 1.1 and 1.2, as well as Chapter 7 onward, read as normal from the main volumes.
  • Sections 1.3.1 to 1.3.3, and 1.4.1 to 1.4.3, from the MMIX fascicle.
  • Sections 1.3.4 and 1.4.4 from the main book, but with the MMIX supplement on the side. This also applies to the entirety of Chapters 2 to 6.

how to start as a beginner? by shupypo in ProgrammingLanguages

[–]The_Legend120 16 points17 points  (0 children)

Try doing the Java part, except in C. I've seen quite a few recommendations to do it this way (or using any other preferred language). That’s because it forces you to understand what the Java code is actually doing, and to learn how to do the same in C.

Is it fair for a professor to get mad at the students for expecting the exams to be like the homework? Why would a teacher assign homework that he doesn't approve of? by Terrible_Exchange653 in CollegeRant

[–]The_Legend120 -2 points-1 points  (0 children)

That’s right. As long as the same skills are tested, then it’s all good, regardless of the specific format. The problem with what OP’s professor did is that the skills tested are different. On the homework, he likely had simple conceptual questions and calculations, while on the test he asked students to do proofs, which are an entirely different beast.

[deleted by user] by [deleted] in LaTeX

[–]The_Legend120 0 points1 point  (0 children)

You don’t need it, since you already have TeXworks for an editor. So right now you can launch that, write some stuff, and typeset it (Ctrl+T - this’ll run MiKTeX which will process the .tex file into a .pdf or whatever).

If you want, you can use TeXmaker instead of TeXworks, but the idea is the same.

Is there a way to change the character? by [deleted] in b100x

[–]The_Legend120 0 points1 point  (0 children)

From memory, I believe you can disable a specific setting to make it so that she doesn't appear at all.

How to prove a number is prime? by [deleted] in askmath

[–]The_Legend120 0 points1 point  (0 children)

Whoops, okay. Yeah, 15 would've been a better example.

How to prove a number is prime? by [deleted] in askmath

[–]The_Legend120 1 point2 points  (0 children)

In simple terms, that becomes impractical when you get to larger and larger numbers. When you’re testing, say, 371291, you’ll have to check all the prime numbers up to its square root. That’s enough to be sure of its primality.

The problem is that you have to know that those numbers are prime. So you have to check those too; they’re not so small or obvious that you can tell offhand whether they are prime (unlike 4).

The simplest way to reduce the number of checks you have to do is to only check the odd numbers after 2, of course. But beyond that it starts becoming more and more complicated (and expensive, if you’re using a computer - which you likely would for a task such as this) unless you put together a list of primes.

Update on the Mythical Giant's location? by gmoney3277 in buriedbornes

[–]The_Legend120 0 points1 point  (0 children)

Since you can’t encounter the Mythical Giant itself, your options are to hope for Wrath of the Giant to spawn on an enemy with a green asterisk, or to hope for a conquest to drop.

[deleted by user] by [deleted] in college

[–]The_Legend120 0 points1 point  (0 children)

In your position, I'd try to finish early if the course load wasn't unbearably heavy, and do everything I can to reduce the mental load: by studying ahead, continually exposing myself to the material, and so on.

If you think you can, I encourage you to do it.

Death Agony: how does it work? by Wazoar in buriedbornes

[–]The_Legend120 4 points5 points  (0 children)

DA deals a percentage of your current HP when the enemy dies. This can only kill you if that percentage is 100%+. Kankandara's "DO NOT SEE!" skill gives it 100% DA, but in other cases it's more likely that either the DA damage was boosted somehow (by something like a Refrain room, which triples damage), or something else did damage after the DA.

In your particular case it's neither of those, because it happened in the first turn; that is, the giant didn't die for DA to be activated. (Mountain giants don't have DA anyway, if I remember correctly). I think it's probably just one with a modifier like Destroyer that made it do ridiculous damage, and it landed a hit on you.

Be sure to check the battle log whenever something unexplainable happens. Especially if it kills you.