HNHacker News
TopNewBestAskShowJobs

antonfire

44 karma · joined October 7, 2020

submissionscomments
antonfire··on Cameras and Lenses
If you think someone having a Slavic last name means their gender necessarily matches the gender suggested by the form of their name, you are just mistaken.

I have a Slavic last name. I also have female relatives whose last name is, quite officially, the male-suffixed version of mine. I invite you to guess how that might have happened.

antonfire··on Cameras and Lenses
> Using gender neutral in this case is as insulting as calling him a dog.

In English? No it isn't. You are the one who is "butchering" a language's pronouns by improperly mapping considerations into it from another language here, not vice versa.

I have a Slavic last name, and I speak English fluently and Russian not-so-fluently-anymore.

If you use "оно" to refer to me in Russian because you don't know my gender, it would sound weird to me. (I haven't been to any Russian-speaking countries in a while, but I suspect there hasn't been a shift in Russian to use that pronoun that way while I've been gone.) I personally wouldn't be insulted, but I can easily imagine how somebody might; it would carry a subtext of referring to me as an inanimate object.

If you use "they" to refer to me in English because you don't know my gender, it would not sound weird to me at all. (Though it might have 5-10 years ago, for different reasons.) A much closer (but still imperfect) analogy to using "оно" to refer to me in Russian would be using "it" to refer to me in English, which would sound weird to me.

Hope that helps.

antonfire··on Convolution Is Fancy Multiplication
A polynomial with a single variable is more or less what you would mean by "use base-infinity digits" in the first place.

Roughly, in base 10, the number represented by the sequence of digits d_0, d_1, ..., d_n is d_0 + d_1 * 10 + d_2 * 10^2 + ... + d_n * 10^n.

In "base infinity", the "number" represented by the sequence of digits d_0, d_1, ..., d_n is the polynomial d_0 + d_1 * x + d_2 * x^2 + ... + d_n * x^n.

Multiplying these "numbers" (polynomials) is like decimal multiplication, except the digits can be arbitrarily high and you do no carrying at all.

antonfire··on Convolution Is Fancy Multiplication
The standard multiplication algorithm is an algorithm for taking base-b representations of two numbers and outputting the base-b representation of the product of those numbers. A base-b representation of a number is a sequence of digits. A sequence is a function.

This is not a large conceptual chasm. It is boilerplate for actually talking about decimal (or binary or hex or whatever) representations of numbers. Here is one version of that boilerplate, spelled out:

Think of a base-10 representation of a natural number as a function with domain N (the set of natural numbers) and codomain {0, ..., 9}, where f(0) is the ones digit, f(1) is the tens digit, f(2) is the hundreds digit and so on. (This function will be finitely supported, i.e. all but finitely many inputs to this function will give output 0.)

If f and g are the representations of two numbers n and m, then one can say the following about the representation of their product n * m:

  (1) Extend the codomain of f and g, to N, i.e. think of them as functions N -> N instead of functions N -> {0, ..., 9}.
  (2) Compute the convolution of those two functions, giving you another (still finitely supported) function h: N -> N. Usually at this point h will have values that are larger than 10.
  (3) Do all the carrying (e.g. repeatedly take the first n for which h(n) > 10, and subtract 10 from h(n) and add 1 to h(n+1)). Now all the values of h are in {0, ..., 9}, so you can think of h as a function N -> {0, ..., 9}.
The resulting function h is the base-10 representation of the product of the two numbers that f and g represent.
antonfire··on Convolution Is Fancy Multiplication
Fun fact, you can construct and store a lookup table for sums of all possible pairs of O(log(n))-digit numbers in O(n) space. (And O(n) time, probably?)

So if your model of computation lets you look things up in a table like that in O(1) time, you can kind of get the situation I'm describing above. Maybe your model of computation shouldn't let you do this, but some do. Often if an algorithm takes up O(foo) space, we don't worry about the fact that lookups into that space should take Theta(log(foo)) time (to even read the address) rather than O(1) time, because things are assumed to "fit into memory".

Another fun way to be fussy along these lines is that the usual algorithms for sorting a list of n distinct items only give bounds of O(n (log n)^2) time. Each item takes around log(n) bits to even store, so comparing two of those can't be done in time O(1) in the worst case (in a model that forbids the kind of "cheating" I'm describing above). The best uniform bound you can hope for is time O(log n) per comparison. (Though in some sense the extra log(n) factor might "drop back out", because it takes O(n log(n)) space to even write down an input to this algorithm.)

antonfire··on Convolution Is Fancy Multiplication
Do you interpret both as

> addition operations of numbers with an arbitrary number of bits deemed to take O(1) time

?

I was picturing a more restrictive model of computation in which your claim is along the lines of

> There's an O(n)-time algorithm, which, given two numbers with n digits and a magic black box that can add log(n)-digit numbers together in O(1) time, will output the product of those two numbers.

antonfire··on Convolution Is Fancy Multiplication
The premise was

> addition operations of numbers with log(n) bits deemed to take O(1) time.

not

> addition operations of numbers with n bits deemed to take O(1) time.

antonfire··on Convolution Is Fancy Multiplication
> If this is allowed by your model of computation, then you could use this magical O(1) addition to to implement multiplication in O(n).

How's that?

antonfire··on Convolution Is Fancy Multiplication
The first few Google results for "sliding dot product" basically describe it as a convolution with the domain of one of the functions reversed. (Note as far as whether or not to reverse one of the functions, multiplication in base-b agrees with "convolution" and not with "sliding dot product".)

Elsewhere in the thread you seem to be suggesting that convolution is a way to convert between a frequency domain and a time domain, which suggests that you are confusing convolution with Fourier transforms. There's some nice relationships between these things, so they are often discussed together, but even then a single convolution happens either entirely in the time domain or entirely in the frequency domain, not as a way of going from one of those domains to the other. E.g. the pointwise product (in the frequency domain) of the Fourier transforms of two functions is the Fourier transform of the convolution (in the time domain) of those two functions.

There's also a chance you are focused on the difference between functions with a discrete domain and functions with a continuous domain. The term "convolution" is often applied to both.

antonfire··on Convolution Is Fancy Multiplication
What's 111111111*111111111?
antonfire··on Don't use third party auth to sign in
Regarding point 3, the trend is in the direction of making your devices a lot less "yours", and a lot more hooked into 3rd (4th, etc) party services.
antonfire··on I am seriously considering going back to desktop computers
There's a large chunk of enthusiasts between "the masses" and the hard core of people who "actually care" enough (and are rich enough) to go out of their way to have their own machine at home no matter what short of it being illegal.
antonfire··on How to answer questions in a helpful way (2017)
Answering the question first typically takes a nontrivial amount of effort.
antonfire··on Twitter and Facebook's action over Joe Biden article reignites bias claims
> Can you remember one time in history where we now like "thanks god they censor these thoughts!"?

Well, the honest answer to the "can you remember" question is going to be misleading. By the nature of the thing we're talking about, the historical things like that are things that people aren't going to remember.

If you believe in "to the victor go the spoils" on the information front, then successful censorship (and more generally propaganda) is always on the right side of history.

← PreviousPage 2 of 2