0379: "Forgetting"

This forum is for the individual discussion thread that goes with each new comic.

Moderators: Moderators General, Prelates, Magistrates

User avatar
DeadCatX2
Posts: 240
Joined: Mon Dec 11, 2006 4:22 pm UTC
Contact:

Re: "Forgetting" Discussion

Postby DeadCatX2 » Mon Feb 04, 2008 9:39 pm UTC

Catdrake wrote:I can't forget any of my mistakes. Any of them.

Ditto. It's like every time I remember any mistake, I then proceed to remember all mistakes. I see something orange, that reminds me of an orange pack of bubble gum, which I shoplifted when I was 4, and then I eventually end up thinking about an ex-girlfriend or something.

failed assertion
Posts: 29
Joined: Thu Oct 12, 2006 8:39 pm UTC

Re: "Forgetting" Discussion

Postby failed assertion » Mon Feb 04, 2008 11:02 pm UTC

My failed relationships get garbage collected.

Simetrical
Posts: 37
Joined: Wed Aug 22, 2007 5:12 pm UTC
Location: New York City
Contact:

Re: "Forgetting" Discussion

Postby Simetrical » Tue Feb 05, 2008 12:10 am UTC

My thought when reading the comic: I'm not much of a C programmer, but shouldn't that be "toDelete->prev->next = toDelete->next"? Let me go read the forum thread to find out.

My first thought when reading through this thread: Oh, wait, right, it's C++, not C. If it were C, that would need to be free( toDelete );. And in C++ member variables look like local variables, so this could be a DoubleLinkedList class method. But that makes no sense either, because then why the inconsistent prefixing with the object name, and why "toDelete" instead of "this"? The code only makes sense if you're deleting a single node, anyway, "prev" would have to be a member variable of the node, and in that case this method is for a node in the list, not the list itself. Hmm. Why are you writing your own double-linked-list class instead of using the STL anyway?

My second thought when reading through this thread: Oh, wait, if it were a doubly-linked list this would be an obvious memory leak. It has to be singly-linked, I guess, but then what's with prev? It has to be some kind of local variable . . .

Final thought: Get back to me when we return to Python.

aitrus
Posts: 3
Joined: Tue Dec 04, 2007 5:08 am UTC

Re: "Forgetting" Discussion

Postby aitrus » Tue Feb 05, 2008 1:46 am UTC

I swear, I was so angry when I read this one the first time.

Just that night, I'd asked a girl out that I really liked, and she said "no". And then something like this has to show up. I didn't know whether to laugh, get angry, or cry.

Now that I've had a chance to cool off, I can appreciate the comic. Just... wasn't what I needed to see at the time.

User avatar
DragonHawk
Posts: 457
Joined: Sat Sep 15, 2007 1:20 am UTC
Location: NH, US, Earth
Contact:

Re: "Forgetting" Discussion

Postby DragonHawk » Tue Feb 05, 2008 2:17 am UTC

Simetrical wrote:My thought when reading the comic: I'm not much of a C programmer, but shouldn't that be "toDelete->prev->next = toDelete->next"?

The assumption seems to be that it's a singly-linked list, and "prev" is just a simple pointer to the list element structure, same as "toDelete" is. Perhaps prev was determined during some other operation, or by explictly traversing the list, e.g.:

Code: Select all

/* given toDelete and head (start of list), find the element previous to toDelete */
for (prev = head; prev->next != toDelete; prev = prev->next);

Oh, wait, if it were a doubly-linked list this would be an obvious memory leak.

Not a memory leak, since the memory in question is getting released with delete. But if since we don't see toDelete->next->prev getting updated, it would leave a dangling pointer there, possibly leading to either a "double free" or an invalid pointer deference.
Ben'); DROP TABLE Users;--

GENERATION 42: The first time you see this, copy it into yοur sig on any forum and stick a fork in yοur еyе. Social experiment.

Simetrical
Posts: 37
Joined: Wed Aug 22, 2007 5:12 pm UTC
Location: New York City
Contact:

Re: "Forgetting" Discussion

Postby Simetrical » Tue Feb 05, 2008 2:23 am UTC

Er, right, that's what I meant. Dangling pointer. As you can see, I'm more comfortable with scripting languages, even if I theoretically know how things like pointers and manual memory management work. :D

User avatar
Martial
Posts: 4
Joined: Tue Jan 22, 2008 3:17 am UTC

Re: "Forgetting" Discussion

Postby Martial » Tue Feb 05, 2008 3:59 am UTC

DeadCatX2 wrote:
Catdrake wrote:I can't forget any of my mistakes. Any of them.

Ditto. It's like every time I remember any mistake, I then proceed to remember all mistakes. I see something orange, that reminds me of an orange pack of bubble gum, which I shoplifted when I was 4, and then I eventually end up thinking about an ex-girlfriend or something.

Heh, I almost wish that I had that problem. I don't even want to count the number of times that I've made the same mistake twice, just because I didn't remember what happened the first bloody time until after the fact.

On a somewhat related note, this comic reminded me of this Three Panel Soul comic: http://www.threepanelsoul.com/view.php?date=2007-09-25
Our memories define who we are; they are necessary for our evolution as individuals. Being dumped sucks, but it induces a period of much needed (and sometimes altogether too brief) lucidity. Some people might say that losing trust after a breakup is sad/foolish/whatever; I say that it means you learnt your lesson.

User avatar
Zak
Posts: 2230
Joined: Sun Dec 16, 2007 7:25 am UTC
Location: In the making.

Re: "Forgetting" Discussion

Postby Zak » Tue Feb 05, 2008 4:19 am UTC

This kinda reminds me of the 'nerd sniping' comic. You think Randall did this on purpose?
*waggles eyebrows*

User avatar
'; DROP DATABASE;--
Posts: 3284
Joined: Thu Nov 22, 2007 9:38 am UTC
Location: Midwest Alberta, where it's STILL snowy
Contact:

Re: "Forgetting" Discussion

Postby '; DROP DATABASE;-- » Tue Feb 05, 2008 8:11 am UTC

Just in case anyone was wondering, the NES is an example of a machine that has memory mapped at 0. Of course this memory is mirrored in a few places, so if you wanted, you could treat that as invalid and always use the mirrors. However you lose the speed/size advantage of being able to use single-byte addressing for the first 256 bytes. With such little RAM/ROM space and CPU speed, that's important.

Of course coding in anything other than ASM, machine code or butterflies on a machine with 2K of RAM and a 1.79mhz 2A03 CPU would be madness.
Last edited by '; DROP DATABASE;-- on Tue Feb 05, 2008 8:28 am UTC, edited 1 time in total.
poxic wrote:You suck. And simultaneously rock. I think you've invented a new state of being.

russianspy1234
Posts: 51
Joined: Mon Sep 10, 2007 4:43 am UTC

Re: "Forgetting" Discussion

Postby russianspy1234 » Tue Feb 05, 2008 8:27 am UTC

MADNESS??? THIS IS OLDMEMETA!

User avatar
Sprocket
Seymour
Posts: 5951
Joined: Mon Mar 26, 2007 6:04 pm UTC
Location: impaled on Beck's boney hips.
Contact:

Re: "Forgetting" Discussion

Postby Sprocket » Tue Feb 05, 2008 9:18 pm UTC

theyellowhobbit wrote:Methinks Randall needs a hug.

Me always thinks that.
Sartorius wrote:This mostly reminds me of "Eternal Sunshine of the Spotless Mind."

Oddly, the person I most want to Eternal Sunshine is the guy I saw it in theatres with.
Z.A.K wrote:This reminds me of the song "Hide and seek" by Imogen Heap.

god, great song.

These always make me wonder how much reality they have in the. Was Randall actually just dumped? Maybe a friend of his? Maybe he did the breaking up but that doesn't mean it was easy, and finally, maybe they're usually just ideas. ::shrug::

But yeah, the bottom line of Eternal Sunshine is of course that you really don't want to loose the memories. But my current boyfriend is very much of the mind that you do. I can't imagine really believing that.
"She’s a free spirit, a wind-rider, she’s at one with nature, and walks with the kodama eidolons”
Image
Image
Image
Image
Image
Zohar wrote: Down with the hipster binary! It's a SPECTRUM!

DeGuerre
Posts: 51
Joined: Mon Feb 04, 2008 6:41 am UTC

Re: "Forgetting" Discussion

Postby DeGuerre » Tue Feb 05, 2008 10:48 pm UTC

I feel compelled to point out that in a professional C++ shop, this code would not pass review. In fact, it's considered quite evil these days to write an explicit "delete".

FinalSin
Posts: 29
Joined: Wed Nov 08, 2006 8:26 am UTC

Re: "Forgetting" Discussion

Postby FinalSin » Tue Feb 05, 2008 11:20 pm UTC

I feel compelled to point out that it's a comic. And it made me laugh, rather than cry.

User avatar
DragonHawk
Posts: 457
Joined: Sat Sep 15, 2007 1:20 am UTC
Location: NH, US, Earth
Contact:

Re: "Forgetting" Discussion

Postby DragonHawk » Tue Feb 05, 2008 11:25 pm UTC

DeGuerre wrote:I feel compelled to point out that in a professional C++ shop, this code would not pass review. In fact, it's considered quite evil these days to write an explicit "delete".

Really. So what do you do instead? Depend on some kind of garbage collection? (I honestly don't know. I haven't done much with C++ since school.)
Ben'); DROP TABLE Users;--

GENERATION 42: The first time you see this, copy it into yοur sig on any forum and stick a fork in yοur еyе. Social experiment.

User avatar
'; DROP DATABASE;--
Posts: 3284
Joined: Thu Nov 22, 2007 9:38 am UTC
Location: Midwest Alberta, where it's STILL snowy
Contact:

Re: "Forgetting" Discussion

Postby '; DROP DATABASE;-- » Tue Feb 05, 2008 11:38 pm UTC

CatProximity wrote:But yeah, the bottom line of Eternal Sunshine is of course that you really don't want to loose the memories. But my current boyfriend is very much of the mind that you do. I can't imagine really believing that.
Oh, I'd be pretty picky about which to actually delete. Basically just redundant bad memories, where I didn't really learn anything anyway. It's more archiving and replaying that I'd be interested in.

It might also be fun to move all my memories of, say, playing Mario 64 to my hard disk, and relive the experience of playing it for the first time. Then put them back when I'm done.
poxic wrote:You suck. And simultaneously rock. I think you've invented a new state of being.

User avatar
DeadCatX2
Posts: 240
Joined: Mon Dec 11, 2006 4:22 pm UTC
Contact:

Re: "Forgetting" Discussion

Postby DeadCatX2 » Tue Feb 05, 2008 11:56 pm UTC

Simetrical wrote:It has to be singly-linked, I guess, but then what's with prev? It has to be some kind of local variable

Yup, prev is a local variable. When traversing a singly linked list and you get to the node of interest, you need to keep a local variable pointing to the previous node. If you keep only a single variable pointing to the current node, then you have no way of hooking the previous node to the next node, because you lose your pointer to the previous node once you decided it's not the node you want to delete.

There is a way around that (testing currentNode->next as opposed to testing currentNode), but in the end you still need a second local variable to point to some node. You either hold onto the toDelete node so you can delete it after rearranging the linked list, or you hold onto toDelete->next so you can delete using currentNode->next and rearrange the linked list after deleting the node.


DragonHawk wrote:
DeGuerre wrote:I feel compelled to point out that in a professional C++ shop, this code would not pass review. In fact, it's considered quite evil these days to write an explicit "delete".

Really. So what do you do instead? Depend on some kind of garbage collection? (I honestly don't know. I haven't done much with C++ since school.)

I believe you would depend on the programmer to design a class which appropriately deletes dynamically allocated memory when the destructor of the object is called. Then, either the compiler will invoke your destructor implicitly during the function epilogue, or the programmer can invoke the destructor explicitly.

Even with garbage collection, C# still uses the latter method on occasion. In fact, all C# objects have a method called Dispose, which is in essence a destructor. Particularly when using .NET graphical capabilities, MS highly suggests explicitly calling Dispose on any GDI+ objects.

User avatar
DragonHawk
Posts: 457
Joined: Sat Sep 15, 2007 1:20 am UTC
Location: NH, US, Earth
Contact:

Re: "Forgetting" Discussion

Postby DragonHawk » Wed Feb 06, 2008 12:10 am UTC

'; DROP DATABASE;-- wrote:It's more archiving and replaying that I'd be interested in.

Ah, yes, me too. When reading the "Harry Potter" series, when introduced to the "pensive", my immediate reaction was, "I so need one of those!" :)
DeadCatX2 wrote:I believe you would depend on the programmer to design a class which appropriately deletes dynamically allocated memory when the destructor of the object is called.

Ahhh. So somebody still has to call delete, just maybe not you. Makes sense.
Particularly when using .NET graphical capabilities, MS highly suggests explicitly calling Dispose on any GDI+ objects.

Why am I not surprised... ;)
Ben'); DROP TABLE Users;--

GENERATION 42: The first time you see this, copy it into yοur sig on any forum and stick a fork in yοur еyе. Social experiment.

User avatar
deltaphc
Posts: 1
Joined: Wed Feb 06, 2008 12:29 am UTC

Re: "Forgetting" Discussion

Postby deltaphc » Wed Feb 06, 2008 12:34 am UTC

DeadCatX2 wrote:In fact, all C# objects have a method called Dispose, which is in essence a destructor. Particularly when using .NET graphical capabilities, MS highly suggests explicitly calling Dispose on any GDI+ objects.

Actually, not all objects in C# have a Dispose method. Classes that want to use that design pattern need to explicitly implement an IDisposable interface, and if it doesn't, garbage collection will collect it anyway. But if any unmanaged resources were used, they probably won't be released. That's why IDisposable is usually implemented on GDI+ objects.

Simetrical
Posts: 37
Joined: Wed Aug 22, 2007 5:12 pm UTC
Location: New York City
Contact:

Re: "Forgetting" Discussion

Postby Simetrical » Wed Feb 06, 2008 2:10 am UTC

DeGuerre wrote:I feel compelled to point out that in a professional C++ shop, this code would not pass review. In fact, it's considered quite evil these days to write an explicit "delete".

How do you know that code isn't in a destructor?

Simetrical
Posts: 37
Joined: Wed Aug 22, 2007 5:12 pm UTC
Location: New York City
Contact:

Re: "Forgetting" Discussion

Postby Simetrical » Wed Feb 06, 2008 2:13 am UTC

DeadCatX2 wrote:
Simetrical wrote:It has to be singly-linked, I guess, but then what's with prev? It has to be some kind of local variable

Yup, prev is a local variable. When traversing a singly linked list and you get to the node of interest, you need to keep a local variable pointing to the previous node. If you keep only a single variable pointing to the current node, then you have no way of hooking the previous node to the next node, because you lose your pointer to the previous node once you decided it's not the node you want to delete.

There is a way around that (testing currentNode->next as opposed to testing currentNode), but in the end you still need a second local variable to point to some node. You either hold onto the toDelete node so you can delete it after rearranging the linked list, or you hold onto toDelete->next so you can delete using currentNode->next and rearrange the linked list after deleting the node.

That makes a remarkable amount of sense. Somehow I feel as if I'd be happier writing in C++ than in scripting languages. I should try hacking Firefox or something one day. If I ever have the slightest bit of time.

DeGuerre
Posts: 51
Joined: Mon Feb 04, 2008 6:41 am UTC

Re: "Forgetting" Discussion

Postby DeGuerre » Wed Feb 06, 2008 5:22 am UTC

Simetrical wrote:How do you know that code isn't in a destructor?

Even in that case, it would be more clearly expressed using a smart pointer, which this clearly isn't.

scarletmanuka
Posts: 533
Joined: Wed Oct 17, 2007 4:29 am UTC
Location: Perth, Western Australia

Re: "Forgetting" Discussion

Postby scarletmanuka » Wed Feb 06, 2008 7:43 am UTC

'; DROP DATABASE;-- wrote:Just in case anyone was wondering, the NES is an example of a machine that has memory mapped at 0.

Reminds me of when I was dabbling in Z80 programming. Not only did it have memory mapped at 0, the Z80 started execution at 0000H when reset. There was also a set of 8 RST (RESTART) instructions which were essentially single-byte subroutine calls to fixed locations in memory: 0000H, 0008H, etc. up to 0038H. These were generally used for interrupt service routines (more realistically, since you only had 8 bytes, calls to ISRs - unless you had a very short ISR.)

Of course the question of null pointers isn't really one that arises naturally in the context of Z80 assembler programming, but there you go.

User avatar
DragonHawk
Posts: 457
Joined: Sat Sep 15, 2007 1:20 am UTC
Location: NH, US, Earth
Contact:

Re: "Forgetting" Discussion

Postby DragonHawk » Wed Feb 06, 2008 2:11 pm UTC

DeGuerre wrote:Even in that case, it would be more clearly expressed using a smart pointer, which this clearly isn't.

I had to Google it. (http://ootips.org/yonat/4dev/smart-pointers.html for others like me.)

C++: Combing the speed and simplicity of a VHLL interpreter with the code convenience and error checking of C.
Ben'); DROP TABLE Users;--

GENERATION 42: The first time you see this, copy it into yοur sig on any forum and stick a fork in yοur еyе. Social experiment.

User avatar
DeadCatX2
Posts: 240
Joined: Mon Dec 11, 2006 4:22 pm UTC
Contact:

Re: "Forgetting" Discussion

Postby DeadCatX2 » Wed Feb 06, 2008 4:01 pm UTC

DeGuerre wrote:
Simetrical wrote:How do you know that code isn't in a destructor?

Even in that case, it would be more clearly expressed using a smart pointer, which this clearly isn't.

I never liked smart pointers. They seem too kludgy for me. Perhaps it's because I've never had to write any COM before.


DragonHawk wrote:
Particularly when using .NET graphical capabilities, MS highly suggests explicitly calling Dispose on any GDI+ objects.

Why am I not surprised... ;)

Well, the reason is that applications draw to the screen quite frequently. If you don't dispose of your objects during your object's Painting method, you are quite likely to exhaust dynamic memory before the garbage collection thread has a chance to run.


deltaphc wrote:
DeadCatX2 wrote:In fact, all C# objects have a method called Dispose, which is in essence a destructor. Particularly when using .NET graphical capabilities, MS highly suggests explicitly calling Dispose on any GDI+ objects.

Actually, not all objects in C# have a Dispose method. Classes that want to use that design pattern need to explicitly implement an IDisposable interface, and if it doesn't, garbage collection will collect it anyway. But if any unmanaged resources were used, they probably won't be released. That's why IDisposable is usually implemented on GDI+ objects.

I totally forgot about that. Good catch.

toxic*rapture
Posts: 3
Joined: Tue Jan 15, 2008 5:03 pm UTC
Location: The basement

Re: "Forgetting" Discussion

Postby toxic*rapture » Sat Feb 09, 2008 9:56 am UTC

I was sitting up remembering lost loves...lost friends...and the long lost ones that i'll honestly never see again (dead ones because shockingly enough, people in my life die in tragic auto accidents) and this comic fits so perfectly right now in my life it's scary.

For all the good I have, I would gladly erase the last 4 months. Ok, let's take that back and say oohhh 18 months...They have sucked epically and I would like to try them over again. Without the sucky boys and instead just hangout with my girlfriends. Life would be better...

If only we lived in a matrix....ohhh wait

User avatar
'; DROP DATABASE;--
Posts: 3284
Joined: Thu Nov 22, 2007 9:38 am UTC
Location: Midwest Alberta, where it's STILL snowy
Contact:

Re: "Forgetting" Discussion

Postby '; DROP DATABASE;-- » Sat Feb 09, 2008 11:06 pm UTC

Yeah, being able to rewind time would rock a lot more than being able to erase memories. Or even just some way to send a message to the past.
scarletmanuka wrote:
'; DROP DATABASE;-- wrote:Just in case anyone was wondering, the NES is an example of a machine that has memory mapped at 0.

Reminds me of when I was dabbling in Z80 programming. Not only did it have memory mapped at 0, the Z80 started execution at 0000H when reset. There was also a set of 8 RST (RESTART) instructions which were essentially single-byte subroutine calls to fixed locations in memory: 0000H, 0008H, etc. up to 0038H. These were generally used for interrupt service routines (more realistically, since you only had 8 bytes, calls to ISRs - unless you had a very short ISR.)

Of course the question of null pointers isn't really one that arises naturally in the context of Z80 assembler programming, but there you go.
Yes, the Z80 is sweet. I love how RST 38 is a single byte, 0xFF. So you can just fill unused RAM/ROM space with 0xFF, and put an error handler at 0x38. Any jumps to unused memory will trigger it. :D
(At least, it is on the Game Boy variant. That changed one or two instructions though...)

Z80 was my favourite CPU until I discovered ARM. And to be fair, Z80 is much older. :P
poxic wrote:You suck. And simultaneously rock. I think you've invented a new state of being.

User avatar
Tyris and Cortle
Posts: 44
Joined: Wed Jan 09, 2008 12:39 pm UTC
Contact:

Re: "Forgetting" Discussion

Postby Tyris and Cortle » Sat Feb 09, 2008 11:53 pm UTC

DeadCatX2 wrote:
Catdrake wrote:I can't forget any of my mistakes. Any of them.
Ditto. It's like every time I remember any mistake, I then proceed to remember all mistakes. I see something orange, that reminds me of an orange pack of bubble gum, which I shoplifted when I was 4, and then I eventually end up thinking about an ex-girlfriend or something.
Same here. Memories of horrible screwups from age 3? Seared irremovably into memory. Memories of something that happened two hours ago? Like trying to catch mist.
Can't say with certainty that all mistakes are remembered, but all event memories are of mistakes.1 Not quite the same thing, but just as bad.
Not actually having any happy memories is kind of depressing (for obvious reasons). We tend to get around it by living in the moment.

1 Factual memory seems to work on a different circuit, as it works much better... thus we can remember that something happened, but can't remember it happening.
And Stent!
You can't look dignified when you're having fun.

User avatar
Catdrake
Posts: 29
Joined: Sun Dec 23, 2007 5:30 am UTC

Re: "Forgetting" Discussion

Postby Catdrake » Sun Feb 10, 2008 5:27 am UTC

Finally, someone whose brain works like mine. And now i have a far better way to explain it.

Yeah. I'm kinda depressive because of it. All i have in my memory is my mistakes and moments here and there that stick out. None of them really all that happy.

THough, enough to know the phrase "The Good Old Days" is always, ALWAYS bullshit.
Nothing to see here, move along.

User avatar
segmentation fault
Posts: 1770
Joined: Wed Dec 05, 2007 4:10 pm UTC
Location: Nu Jersey
Contact:

Re: "Forgetting" Discussion

Postby segmentation fault » Sun Feb 10, 2008 6:25 am UTC

WHY ARE YOU ROLLING YOUR OWN LINKED LIST?!?!?!


;)
people are like LDL cholesterol for the internet

scarletmanuka
Posts: 533
Joined: Wed Oct 17, 2007 4:29 am UTC
Location: Perth, Western Australia

Re: "Forgetting" Discussion

Postby scarletmanuka » Mon Feb 11, 2008 1:32 am UTC

'; DROP DATABASE;-- wrote:Yeah, being able to rewind time would rock a lot more than being able to erase memories. Or even just some way to send a message to the past.

"That damn time machine alone set me back 15 years!"
"If only it had've worked, you could go back in time and tell yourself not to bother."
'; DROP DATABASE;-- wrote:
scarletmanuka wrote:Reminds me of when I was dabbling in Z80 programming. Not only did it have memory mapped at 0, the Z80 started execution at 0000H when reset. There was also a set of 8 RST (RESTART) instructions[...]
Yes, the Z80 is sweet. I love how RST 38 is a single byte, 0xFF. So you can just fill unused RAM/ROM space with 0xFF, and put an error handler at 0x38. Any jumps to unused memory will trigger it. :D
(At least, it is on the Game Boy variant. That changed one or two instructions though...)

No, that's not changed. Though depending on the interrupt mode RST 38 might be a bad choice, since if you're in IM 1 all maskable interrupts are handled by RST 38 (in IM 0 the interrupting device decides which RST to use, so that'd be an issue for any choice of RST, and IM 2 doesn't use the RSTs). It might be safer to use a different RST instruction for the memory filler.

My favourite feature was conditional call and conditional return instructions. Much more elegant than using a jump to skip past a call or return statement. Oh, and my favourite instruction was LDIR, for which I can still remember the opcode (ED B0) despite not having touched Z80 stuff for about 15 years or more. But the best thing about the Z80 was that in my first-year CompSci class we did Pascal in the first semester and PDP-11 assembler in the second; I'd been working through Z80 assembler for a year or so by that point, so while the other students were trying to get used to the limitations of assembly I was thinking how easy it was because you had so many registers to use, and multiply and divide instructions built in...

User avatar
DeadCatX2
Posts: 240
Joined: Mon Dec 11, 2006 4:22 pm UTC
Contact:

Re: "Forgetting" Discussion

Postby DeadCatX2 » Wed Feb 13, 2008 7:02 pm UTC

Tyris and Cortle wrote:Can't say with certainty that all mistakes are remembered, but all event memories are of mistakes.1 Not quite the same thing, but just as bad.
Not actually having any happy memories is kind of depressing (for obvious reasons). We tend to get around it by living in the moment.

That is a very interesting distinction, and I think your terms more accurately describe the phenomenon I had in mind; most of my event memories (episodic memory in psych terms) are negative. I postulate that I hold on to those memories tightly because they help me to improve my behavior.

It seems the only really positive episodic memories are those involving a lover.

Tyris and Cortle wrote:1 Factual memory seems to work on a different circuit, as it works much better... thus we can remember that something happened, but can't remember it happening.

Yup, that would be semantic memory. I think semantic memories are more useful, so I'm glad that memory works well for me; facts are more useful than emotions in terms of accomplishing goals. I believe that semantic memory is also more neutral (= less biased = more trustworthy) than episodic, which compliments its use for accomplishing goals.

User avatar
'; DROP DATABASE;--
Posts: 3284
Joined: Thu Nov 22, 2007 9:38 am UTC
Location: Midwest Alberta, where it's STILL snowy
Contact:

Re: "Forgetting" Discussion

Postby '; DROP DATABASE;-- » Thu Feb 14, 2008 9:25 am UTC

Heh, I don't think the Game Boy Z80 had any of those nice things. :( The idea with RST 38 is it's a lot more likely to have unmapped memory read 0xFF or zero than some other number. For example, the GB's video memory reads 0xFF during redraw. (Along the same lines, 00 is NOP, so if unmapped regions read 00, it'd just keep going until it hit some actual memory. Put an 0xFF at the beginning of each memory segment, and there you go. If your entry point happens to be zero (it's not on GB), just check some flags during init to see if you already initialized.)

ARM has conditionals for every instruction though. That is serious win. :D
poxic wrote:You suck. And simultaneously rock. I think you've invented a new state of being.


Return to “Individual XKCD Comic Threads”

Who is online

Users browsing this forum: IMSoP, mscha, orthogon and 52 guests