Comment by zahlman

4 months ago

For that matter,

  # python
  from numpy import sin, arange, pi
  127 * sin(arange(samplerate) * 2 * pi * freq / samplerate)

for that matter, i always wonder how people mistake python for numpy :) they have surprisingly little in common.

but enough talking about languages that suck. let's talk about python!

i'm not some braniac on a nerd patrol, i'm a simple guy and i write simple programs, so i need simple things. let's say i want an identity matrix of order x*x.

nothing simpler. i just chose one of 6 versions of python found on my system, create a venv, activate it, pip install numpy (and a terabyte of its dependencies), and that's it - i got my matrix straight away. i absolutely love it:

  np.tile(np.concatenate([[1],x*[0]]),x)[:x*x].reshape(*2*[x])

and now lets see just how obscure and unreadable exactly the same thing looks in k:

  (2#x)#1,x#0

no wonder innocent people end up with brain aneurisms and nervous breakdowns.

  • That is wildly disingenuous. Assuming you've imported numpy as np, you get an nxn identity matrix by doing

       np.identity(n)
    
    

    http://numpy.org/doc/stable/reference/generated/numpy.identi...

    • > That is wildly disingenuous.

      assuming you're referring to numpy as to have anything to do with python spec, i totally agree with you. only it doesn't. so don't pytorch and pandas (and good so, poor python doesn't need any extra help to be completely f).

      > you get an nxn identity matrix by...

      no, man, that's how you get it. really advanced technique, kudos!

      i get it by:

         id:{...}     /there are many ways to implement identity in k, and it's fun!
         id 3
        +1.00 +0.00 +0.00
        +0.00 +1.00 +0.00
        +0.00 +0.00 +1.00
      

      but if you can keep a secret, more recently we've gotten so lazy and disingenuous in k land, and because we need them bloody matrices so often now, we just do it like so:

         &3
        +1.00 +1.00 +1.00
        +1.00 +1.00 +1.00
        +1.00 +1.00 +1.00
      
         =3
        +1.00 +0.00 +0.00
        +0.00 +1.00 +0.00
        +0.00 +0.00 +1.00
      

      (but of course before we do that we first install python4, numpy, pytorch, pandas and polars - not because we need them, just to feel like seasoned professionals who know what they're doing)