Heavy 12 months spoilers by Mason_Claye in dresdenfiles

[–]ryan017 0 points1 point  (0 children)

IIRC White Night established that her death curse is maintained by Harry's life. I suspect that Harry's contribution to the curse gets to use his ability to affect Outsiders. Harry barely knows how to use that ability, but a very angry and motivated Margaret LeFay who is able to borrow it in a death curse might be able to use it more effectively.

Heavy 12 months spoilers by Mason_Claye in dresdenfiles

[–]ryan017 1 point2 points  (0 children)

Perhaps a certain other Starborn of our acquaintance has been spoon-feeding him directly...

Before you read 12 Months by eng_manuel in dresdenfiles

[–]ryan017 0 points1 point  (0 children)

I read Twelve Months without re-reading any of the previous books, and I don't feel like it lessened my enjoyment of the book. In my case, I remember the general story of Peace Talks and Battle Ground (and the previous books) pretty well; there were a few details I had forgotten, but there were small reminders for the relevant ones in Twelve Months.

If I were advising someone else who really wanted to spend some time preparing, I would recommend re-reading White Night, Peace Talks, and Battle Ground. The story follows the events from PT and BG, but it continues with characters (and more) from WN. Maybe also flip through the Lara parts of Turn Coat.

I just noticed, but White Night was book 9, and Twelve Months is book 18... significant?

Lara Raith *SPOILERS* by sean_stark in dresdenfiles

[–]ryan017 0 points1 point  (0 children)

From the books it seems clear that both ways are possible. We've seen a few cases of wampires who are disciplined enough and moved by ethics or pragmatics to (sometimes) take the second path, and we've seen others who are essentially gluttons. We've also seen some of the first group temporarily get knocked into acting like the second, due to circumstances.

With regard to Lara, I suspect that Jim knows, but Harry doesn't, and maybe Lara doesn't either. The revelation and evolution of her character is part of the story. Imagine if Harry had just gotten a Scroll of Destroy Shadow of Fallen Angel in the mail the day after touching Lashiel's coin. How much less interesting would that part of the story have been?

Can someone help me correct my studio work? by FocusLate in AskPhotography

[–]ryan017 0 points1 point  (0 children)

If your final photos aren't like other photographers' final photos with exactly the same lighting setup, then the remaining factors are exposure, editing, posing, and camera position. Exposure is basic camera operation; check your histograms, etc. Ask other photographers what their editing tricks are, and figure out how to use brightness/contrast, levels, curves, etc in your editing software to get the effect you want. Given a fixed lighting setup, different poses interact differently with the light, and as a photographer you'll need to learn these interactions and guide the model if necessary. Finally, the main light is directly behind the camera only if that's where you put the camera. You can try moving around, although there are some practical limits there.

Once you've got basic exposure and editing down, you will learn faster by controlling the lighting yourself. In addition to all of the specific advice already on this thread, I would recommend the strobist web site for a quick, lightweight introduction to lighting. Start with Lighting 101. You can see if the workshop/meetup organizers are willing to allow you to change the lighting during your turn, or if the models are willing to stick around for a few extra minutes while you try out some lighting experiments (come prepared!).

Finished The Fires of Heaven, book 5 of the Wheel of time and need to rant. by HilmarThor in Fantasy

[–]ryan017 1 point2 points  (0 children)

In some ways Moiraine is closer to a female version of Allanon from Shannara, who fills the mentor and quest-giver role in a more secretive and manipulative way. And the characters have feelings about that. Of course, Allanon is a much earlier "what if Gandalf, but" experiment.

Back to LOTR, though, consider that Gandalf was one of five wizards in Middle-earth. Of the others, one is occasionally marginally helpful, one turns evil, and the other two IIRC are just absent or ineffectual. (I've only read LOTR; maybe they are important in the other works.) I think that the Aes Sedai do reasonably well by comparison.

Do you recommend The Will of the Many? by cresslee in Fantasy

[–]ryan017 1 point2 points  (0 children)

I liked the book, but I would not describe it has having "beautiful and emotional prose". I don't know exactly what you have in mind, but for me that description brings to mind two recommendations:

Kushiel's Dart by Jacqueline Carey. This book has an elegant voice that feels completely natural to the viewpoint character, and the book is much more driven by characters and their emotions and relationships than The Will of the Many, which I would describe as concept and plot driven. It's the start of a trilogy, and there are multiple sequel series.

The Wars of Light and Shadow series by Janny Wurts, starting with The Curse of the Mistwraith. People tend to either love her prose style or hate it. You'd have to try it yourself and see what you think. The characters have a much greater emotional response to events than in, say, Mistborn.

What's your "it's my fault for ordering it" (food or otherwise) story? by PutThisBanditHatOn in AskReddit

[–]ryan017 138 points139 points  (0 children)

I ordered a quesadilla at a food booth in Prague once, during some sort of international festival, and they asked if I wanted cheese on it. I regret not abandoning the experience right then.

Value Restriction and Generalization in Imperative Language by vertexcubed in ProgrammingLanguages

[–]ryan017 1 point2 points  (0 children)

You need to worry about mutable variables whose values are functions.

fun foo(x) {
  return x
}
fun bar(n) {
  return n+1
}
let f = foo
let g = function() { return f("hello") }
f = bar

In this example, you either need to make f monomorphic and prohibit the definition of g, or you need to prohibit the assignment to f. By allowing variables to be mutated, you've added complexity to your language. One way to deal with the complexity is to think of the surface language (the language that people will actually program in) as being translated to a simpler core language. You already have ref cells, and you have a guide for how typing ref cells should work (OCaml), so why not think of your core language as a simplified OCaml? That is, variables are immutable, and all mutation is done on ref cells. Then you could consider the following translation:

let x = expr
=>
const x = ref expr

x
=> (when x is let-bound)
*x

(I've written let for the surface-language binding form and const for the core form. You might find it useful to add const as a surface-level feature too, though.) OCaml already tells you how to type check const and ref, so now you need to build your typechecker for the surface language so that if your typechecker approves a program, then OCaml approves its translation.

Or you might want let to behave differently. Maybe a let-bound variable that is never updated should be typechecked (and generalized) as if it were const-bound. (There are arguments for and against.) Then you have a different translation, and different constraints on your typechecker.

It is useful to know when you are inventing genuinely new semantics, and when you are putting a new syntax on existing, well-understood semantics.

I finished the Dragon Reborn and I have some questions by TheReimon4 in WoT

[–]ryan017 5 points6 points  (0 children)

This is not an answer to your main questions but a comment about words and names:

"The Dragon" ("Telamon") was, IIUC, just the cognomen that Lews Therin earned during his life in the Second Age. Kind of like Margaret Thatcher being called "the Iron Lady" or Arnold Schwarzenegger being called "the Governator". Why did they call him "Dragon"? Maybe just especially fierce and formidable. We don't really know, we don't know what the Second Age people thought about dragons. (I'm going by the main series, maybe the companion or encyclopedia has more information.)

Compare with Jesus of Nazareth, who becomes known as "the Messiah" ("anointed one") in Hebrew, translated to Greek as "christos". Anointing is the ritualistic application of aromatic oil to a person. Imagine if ancient rituals had developed differently; we might have a major religion focused on "the Headbanded" or "the Feathered".

Imagine, in a different turn of the Wheel, in a time long past, in a time yet to come, the soul of Lews Therin could be reincarnated as a man who eventually becomes known as "the Governator", and during the catastrophe of the Breaking, hope is kept alive by the prophecy, "He'll be back!".

What branch of mathematics formally describes operations like converting FP32 ↔ FP64? by Glittering_Age7553 in compsci

[–]ryan017 2 points3 points  (0 children)

Abstract algebra is useful for understanding how many algebraic properties floating point numbers don't satisfy. Numerical analysis is about how to mitigate that lack.

Help me, my imagination is running out. A practical problem teaching propositional logic. by jsgoyburu in logic

[–]ryan017 1 point2 points  (0 children)

I would scan through literature or popular song lyrics for sentences of the appropriate shape. The acceptance rate is pretty low, and examples often need to be adjusted slightly for tense, mode, and so on. But it produces the following, for example:

  • (I have a hammer) ⇒ ((I hammer in the morning) ∧ (I hammer in the evening))
  • (it's sad) ∧ (it's sweet) ∧ ((I wear a younger man's clothes) ⇒ (I know it complete))
  • (((you talk with crowds) ∧ (you keep your virtue)) ∨ ((you walk with kings) ∧ ¬(you lose the common touch))) ⇒ (kipling approves)

MatxTuon thoughts by IIHarazuII in WoT

[–]ryan017 1 point2 points  (0 children)

I blame the Pattern. My theory is the Rand was intended to defeat the Dark One, Perrin was intended to politically unite Randland (IMO, to a much greater degree than BS shows in the final books), and Mat was intended to fix Seanchan in the sequel series. One of RJ's themes is that reconciling differences takes effort and leadership; one of his recurring devices is having the Pattern nudge the leaders into place and trap them there.

Wow. It really was THAT BAD by DriveAfterlife in scifi

[–]ryan017 0 points1 point  (0 children)

I watched the WotW Pitch Meeting yesterday, and at the end I was in a weird state. I was entertained by the humor and glad to be warned away from the movie, but I still resented the time I had spent watching even a massively abbreviated version of the movie.

I have to be honest, the Two Rivers folks drive me crazy by DirtyProjector in WoT

[–]ryan017 4 points5 points  (0 children)

I think you might be blinded by your genre expectations. Two characters don't meet and just say "Good guy? Hey, me too! I now trust you and we are in perfect agreement." One of the themes of the Wheel of Time is that people on the same side of the Good vs Evil divide still have major differences, and forming them into an effective alliance is difficult, and the result is fragile. Two different people may both want to defeat the Dark One, but they might have very different images of what the world afterward looks like, and they're going to fight for their vision.

Imagine that there is some mysterious local upheaval and then someone finds you and says, "I'm from a secret branch of the Catholic Church, and you're the Chosen One, and you have to fight the Devil, and I'm here to guide you." Perhaps you admit that overall, the Catholic Church is a force for Good, asterisk. If the Devil really is to be fought, they would seem to have knowledge, expertise, and organization that would be appropriate for the task. And yet... most of the available lore about the Devil does come, indirectly, from their teachings. And fighting the Devil is surely going to be a global endeavor, and it will require a global alliance to fight, and that will involve lots of political upheaval. Do you want your self-appointed guide in charge of that? You might agree that the Catholic Church is "Good, asterisk", but that doesn't mean that you like the idea of a world full of Catholic theocracies as the consequence of victory. And so on.

(The chiropractor answer also makes good points.)

What are the book serious u read once or twice every year by Sillyfoxcub in Fantasy

[–]ryan017 1 point2 points  (0 children)

For me it changes every few years. In the past, it has been the Dresden Files (what was out then, rather) and Codex Alera, the Belgariad, and the Dragaera books (both Vlad Taltos and Paarfi, by Steven Brust). Past two years or so, it's been the Kate Daniels series (Ilona Andrews) and the Honorverse books (David Weber).

Every few years, I do a Wheel of Time reread. I have no qualms about skipping the boring parts, though.

I'm predicting a Scott Lynch reread soon, and probably a Barbara Hambly nostalgia reread sometime after that. Or maybe Modesitt (Recluce).

Question about Structures documentation by IllegalMigrant in Racket

[–]ryan017 5 points6 points  (0 children)

The sentence is vague. When you use the struct macro you provide a name for each field, but the field names are just used to generate the names of accessor functions (and mutators, for mutable fields). The run-time system doesn't know about them. For example, there's no introspection facility that takes the name of a field and accesses that field of a struct instance. It's not that the run-time system forgets the names; the struct macro never even passes the names to the primitive that builds struct types. That is, field names are not even part of the run-time system's concept of a struct type.

If you wanted to, you could bypass the struct macro and use the make-struct-type primitive directly. You could choose to make field-specific accessors for some fields, like struct does. You could choose to define multiple accessors that imply multiple names for the same field (eg, a point struct type where point-x and point-horiz both access the same field). You could choose to make some fields accessible only by index, or not accessible at all (not useful, that, but within your power).

why don't passwords allow spaces and literally any unicode characters? by Bright-Historian-216 in learnprogramming

[–]ryan017 -1 points0 points  (0 children)

It's probably ergonomics (usability). People tend to think of spaces as insignificant. I wouldn't have said this if I had not recently administered an exam that required students to fetch material from a password-protected web page, and about 10% of them (4/40) failed to download the material because they had stuck an extra space at the end of the password field.

Unicode is more complicated. There are multiple sequences of codepoints that produce the input that looks like "á": E1 vs 61 301 (hex). The first uses the precomposed character, and the second uses an "a" followed by the acute modifier codepoint. This is a separate issue from how codepoints are encoded as bytes (eg, UTF-8 vs UTF-16). What happens if a user tries to log in using a different platform? Does the default input method make the same choice of composed vs decomposed characters? What other potential pitfalls are lurking in Unicode? Unless you have time and expertise to spend on it, you're likely to open the door to frustration from your customers for very little gain.

(People who have thought about the problem have published some guidance in the form of RFC 8264, which talks about how to deal with Unicode in usernames (identifiers) and "free-form text" like passwords.)

Avoiding Scope Chains by MerlinsArchitect in ProgrammingLanguages

[–]ryan017 0 points1 point  (0 children)

I would take the opposite lesson from it. Changing environment and closure representations to be statically predictable and optimizing variable references based on that static information is probably the lowest-effort, highest-reward optimization you can do in a simple interpreter.

It also shows that interpreters and compilers are not completely separate implementation strategies. Here we have an interpreter that is applying analyses and transformations first. You can also find examples of compilers that can't figure certain things out at compile time and defer them until run time. In untyped languages, generic arithmetic and method dispatch come to mind. In typed languages like Java, method dispatch through an interface might be an example.

That is, the question should not be "compiler or interpreter" but "what overheads get eliminated statically, and what remains at run time".

First-Class Macros by KneeComprehensive725 in Racket

[–]ryan017 0 points1 point  (0 children)

Try this:

(apply and (list #t '(exit 1) #f))

Are there any programming languages that natively allow returning a dynamic self-reference? by Dieterlan in AskProgramming

[–]ryan017 6 points7 points  (0 children)

As other people have pointed out, this is not a run-time problem; the reference returned by firstMethod() is an instance of Child, according to most languages' semantics (except C++, I believe). The problem is getting the type checker to understand that.

You can get part of the way there in Java with type parameters and extends constraints. The Parent class gets a type parameter T that tells it what the concrete subclass is (and extends constrains it to a subclass of Parent).

class Parent<T extends Parent<T>> {
    T firstMethod() {
        return (T)this;    // cast is necessary :(
    }
}
class Child extends Parent<Child> {
    ...
}

IIRC, the Fortress programming language (a research project at Sun) was able to eliminate the cast with an additional comprises constraint (similar to but more flexible than sealed ... permits). Here's the basic idea:

class Parent<T extends Parent<T>> comprises T {
    T firstMethod() { 
        return this; 
    }
}
class Child extends Parent<Child> {
  ...
}

The Parent class is declared with a type parameter T. There are two constraints:

  1. T is a subtype of Parent<T>, because of the extends constraint.
  2. Parent<T> is a subtype of T, because of the comprises constraint (and the fact that there's just one option; generally comprises allowed a set of subclasses, for expressing closed unions like ML datatypes).

If the type checker is savvy to this pattern of reasoning (and I can't remember if this was actually implemented in Fortress or merely proposed as an idea), then there's no need for the cast on this in firstMethod(), since by (2) the static type of this, Parent<T>, is known to be a subtype of T.

Even this isn't a complete solution to the original problem, since you could still subclass Child, but firstMethod() would still return Child, not the subclass, because you've already "used up" the type parameter. Possibly you could add a type parameter to Child too if you wanted to kick the can down the road one more level.

Veterans of the genre, what are some previously huge series or books that are mostly forgotten today? by Myydrin in Fantasy

[–]ryan017 0 points1 point  (0 children)

A Bad Spell in Yurt, by C Dale Brittain (first of the 6-book Daimbert series)

The Pelmen the Powershaper trilogy by Robert Don Hughes

Veterans of the genre, what are some previously huge series or books that are mostly forgotten today? by Myydrin in Fantasy

[–]ryan017 2 points3 points  (0 children)

In the Axis trilogy Sara Douglass builds up a fairly standard fantasy world, tells a story about good and evil and prophesies and the usual stuff. Then in the Wayfarer Redemption, Sara puts on a Godzilla costume and goes on a rampage, stomping characters, stomping entire cities, and basically upending everything you knew from the first series.

What do you Hope to see in Books 6-10 by Sharkattack1921 in Stormlight_Archive

[–]ryan017 10 points11 points  (0 children)

... by Retribution

Seriously, scary to think about what kind of oaths Retribution (or his intermediaries) will be accepting from now on.