Friday, November 01, 2024

On Forgetting

I saw a post on Twitter today. Someone asked, “There are a number of techniques to help one recall and remember anything. From a neuroscience perspective, is it possible to intentionally learn to forget?”

Questions and thoughts like this are amusing. Someone appends the word "neuroscience" to a question or remark that is, in a way, about neuroscience. But it is also capable of being thought of in simpler, broader terms.

The term neuroscience sometimes invokes ideas of complex explanations—often for totally mundane things. The mere use of the word in a discussion can make any argument sound more authoritative than it actually may be.

What I'm trying to say is that, it seems to me that, more often than we might expect, neuroscience is about… other things. (Unless you work in a lab somewhere.)

For example, take the question "How can I use the power of neuroscience to forget bad memories?" Practical, useful answers probably have very little to do with neuroscience itself.

I believe it’s both more helpful and accurate to think of “forgetting” as one's brain recontextualizing and reshaping itself. 

We find ourselves on the outside of an old context we were once in and now in a new context we've yet to become fully self-aware of.

And I can't shake the intuition that, a lot of what happens during such a change, relies on messy meaning-making processes, rather than formulaic things we can pin down exactly with computational models.

I’m also not convinced that “forgetting” is a completely achievable objective in the first place--to literally be able to erase a memory. Episodic and long-term memories tend to stick around. This is a feature of the mind, not a bug.

For example, our brain remembers that time we burned our hand on the stove, so in the future, we don't do that again. Initially, we wince. But later, our brain molds itself around this memory. Without the ability to store information over large time scales, neither language, relationships, nor our own personal identities would develop.

Your memories probably don't change much. It’s your perception that rotates as you learn new things about your memories. There’s a lot of literature to support this hypothesis (brain plasticity, constructivism, memory consolidation, etc.).

But our brains are also imperfect—prone to distortion, illusions, and biases. Sometimes it wishes it could more clearly remember things. And other times, it wishes it could forget them.

In the spirit of Hebbian theory—"what fires together, wires together"—it seems to me that the only way to even come close to “forgetting” a memory is to replace it with a more powerful one. 

In other words, you think you want to forget, but what you really want is to think new thoughts. And thinking new thoughts requires either noticing new things—or seeing old things in new ways—or visiting new places, either figuratively and/or literally.

The primary paradox of the past is this: the past has a grip on us, not because of the past itself, but because we're unable to conceptualize things that haven't occurred.

In the end, I tend to believe that forgetting is more about changing how we understand and relate to our memories than anything to do with forgetting itself. 

Friday, September 13, 2024

Stuff

Lately, I've been tightening my own personal feedback loops. And working out. I've also been thinking about how sometimes it can be positive to forget things.

Wednesday, July 03, 2024

A Taxonomy of Communicative Modes

While lurking on the internet, I stumbled across a post from 2019 by @literalbanana on Twitter/X outlining different modes of communication.

Sunday, May 26, 2024

Using Reflection in Go

Have you ever been writing Go and needed to quickly find all the possible methods or fields you can use with a particular function?

Tuesday, April 09, 2024

Knowledge vs Information

One way to conceptualize the difference between knowledge and information is this: knowledge involves some metric of computational difficulty to arrive at, while mere information lacks this property.

Tuesday, November 28, 2023

mapcidr patch

Project Discovery’s mapcidr had a bug when converting IP addresses. The “-ip-format” flag did not properly work for one of the cases. For example, echo '127.0.0.1' | mapcidr -ip-format 5 would incorrectly return the integer representation or decimal value 281472812449793, when it should have returned the decimal value 2130706433. The problem could be seen in the Go function here which uses functionality imported from the math library.

func IPToInteger(ip net.IP) (*big.Int, int, error) {
	val := &big.Int{}
	val.SetBytes([]byte(ip))

	if len(ip) == net.IPv4len {
		return val, 32, nil //nolint
	} else if len(ip) == net.IPv6len {
		return val, 128, nil //nolint
	} else {
		return nil, 0, fmt.Errorf("unsupported address length %d", len(ip))

The function was easily fixed by removing the early "setBytes" value and rewriting it to correctly set the bytes conditionally for each if-statement, depending on the IP type.

func IPToInteger(ip net.IP) (*big.Int, int, error) {

	val := new(big.Int)

	// check if the ip is v4 => convert to 4 bytes representation
	if ipv4 := ip.To4(); ipv4 != nil {
		val.SetBytes(ipv4)
		return val, 32, nil
	}

	// check if the ip is v6 => convert to 16 bytes representation
	if ipv6 := ip.To16(); ipv6 != nil {
		val.SetBytes(ipv6)
		return val, 128, nil
	}

	return nil, 0, fmt.Errorf("unsupported IP address format")
}

Pull request #258.

Tuesday, November 07, 2023

DMARC

Lately I've overheard some people discussing email spoofing with regard to organizations that don't implement DMARC. Namely, "APTs" taking advantage of organizations that don't utilize Domain-based Message Authentication, Reporting and Conformance.

Using Python To Access archive.today, July 2025

It seems like a lot of the previous software wrappers to interact with archive.today (and archive.is, archive.ph, etc) via the command-line ...