News for hackers. Stuff that matters.

rak1507

Re:Array Programming the Mandelbrot Set on Saturday November 15, 2025 @06:13PM (#45941351)
You won't get anything from vapourware salesmen.
Re:Array Programming the Mandelbrot Set on Saturday November 15, 2025 @06:12PM (#45941343)
It seemingly takes a long time to write good software too, co-dfns is infinity+1 years in progress...
There's a difference between one line and short/terse/elegant.

  {m:(x,x)#til x*x; r:til[x]-x div 2; 2(flip r rotate')/m} 
generates magic squares of odd size, and the method is much clearer. This isn't even golfed as the variables have been left.
Re:Discrete Mathematics: An Open Introduction [pdf] on Tuesday June 10, 2025 @06:19PM (#44242119)
There aren't really any complicated arguments being made, so I don't think a proof would be that involved.
Re:Discrete Mathematics: An Open Introduction [pdf] on Tuesday June 10, 2025 @09:31AM (#44236593)
You definitely don't need to know any of that background to be able to arrive at the answer. To fully understand everything maybe, but all it takes is:

a = x^1 + x^4 + x^7 + ... = x(1 + x^3 + x^6 + ...) = x/(1-x^3)

a + a^3 + a^5 + ... = a(1 + a^2 + a^4 + ...) = a/(1-a^2)

Substitute + simplify. I don't think this is beyond a (fairly smart) elementary school student.

Re:Discrete Mathematics: An Open Introduction [pdf] on Tuesday June 10, 2025 @09:05AM (#44236317)
Why not? All that is really required is knowing 1/(1-x) = 1+x+x^2+... and a bit of algebraic manipulation.
Isn't referencing a source exactly the right way to go about pointing out someone is essentially lying about their background/credentials? I'm surprised people do not care about accuracy.
I remembered it, and it seems like a reasonable assumption that your first experience of APL being so bad would put you off doing any more in the future.
Most of it is boilerplate or written like it is Java, so it is pretty small compared to any real world projects.

To me professional implies production/real world/paid work, not just an unfinished academic project.

Well, you've said you used APL professionally, but judging by https://news.ycombinator.com/item?id=31368299 it was in a university project.
I'm not sure I'd call a small university project professional use.
Re:Notation as a Tool of Thought (1979) on Friday April 25, 2025 @08:57PM (#43799973)
The append is the only thing that is O(1), finding the deletion mask is linear (≠ is linear, isn't it?) and the actual deletion is also linear (⌿ is also linear).

       ]runtime -repeat=1s 'v←k1 ⋄ v⌿⍨←v≠2'

 \* Benchmarking "v←k1 ⋄ v⌿⍨←v≠2", repeat=1s
 ┌──────────┬──────────────┐
 │          │(ms)          │
 ├──────────┼──────────────┤
 │CPU (avg):│0.008491847826│
 ├──────────┼──────────────┤
 │Elapsed:  │0.008466372283│
 └──────────┴──────────────┘
       ]runtime -repeat=1s 'v←k2 ⋄ v⌿⍨←v≠2'

 \* Benchmarking "v←k2 ⋄ v⌿⍨←v≠2", repeat=1s
 ┌──────────┬────────────┐
 │          │(ms)        │
 ├──────────┼────────────┤
 │CPU (avg):│0.8333333333│
 ├──────────┼────────────┤
 │Elapsed:  │0.83        │
 └──────────┴────────────┘
Re:Notation as a Tool of Thought (1979) on Friday April 25, 2025 @03:37PM (#43797749)
The problem is that this isn't a "hashmap" in any meaningful sense, because all the operations are O(n).
Re:What about K? on Tuesday February 11, 2025 @12:48PM (#43015760)
When it comes to subjective opinions, what other choice do you have? Your idea of doing studies is interesting but that's not even been done for most languages, yet claiming "python is unreadable" would clearly be laughable.

Either everyone who uses array languages does actually find them readable, or they're all persistently lying for... what reason? And forcing themselves to use something they don't find readable? Why would anyone do that! Especially considering a lot of array language users are hobbyists, who have chosen to use them, it's not like they're forced to.

Re:What about K? on Monday February 10, 2025 @10:54PM (#43008755)
I had a peek at your github profile, and noticed "sqlutilpy", "Python module to efficiently query SQL databases and return numpy arrays". K is like if a language just did that by default.
Re:What about K? on Monday February 10, 2025 @10:48PM (#43008712)
You have been talking about array languages on HN for at least 6 years, and still refuse to believe that anyone can read them!

What do you have to gain from this stance, and why don't you believe people who tell you otherwise?

Re:What about K? on Monday February 10, 2025 @10:41PM (#43008672)
Personally I think the best comparison would be Python+Pandas/polars+... or R+tidyverse+..., the key thing being there's less need for the "..." in a language with good table manipulation etc built in.
Re:The number pi has an evil twin on Wednesday December 25, 2024 @05:36PM (#42511657)
Do you mean f(x,n-1)^x or x^f(x,n-1)? With the first definition, c=1, the second, c=sqrt(2). I'm still not seeing the connection to omega.
Re:The number pi has an evil twin on Tuesday December 24, 2024 @06:22PM (#42505688)
What do you mean by x^x^x^... = 2? Isn't the solution to that sqrt(2)?
Re:Advent of Code 2024 on Sunday December 01, 2024 @07:54PM (#42292028)
I don't know if there's a specific k4 binary but you can run k4 through the q binary.
Re:Advent of Code 2024 on Sunday December 01, 2024 @12:53PM (#42289660)
It's k4, the underlying language behind Q. With slight modifications it also runs in ngn/k which is FOSS.

https://ngn.codeberg.page/k/#eJxVjsFugzAMhu95iiyWik1CIGPtIVG...

Re:Advent of Code 2024 on Sunday December 01, 2024 @12:20PM (#42289446)
What's so hard about Day 12? It's just

    +/'{x:".",x;H:(-1+;1+i-)@'+|\m*i:!#m:x=\:"#."
     R:(x=x)({[h;d;x;y;z](z#0),+\(((-z)_~"#"=x)&z_d>z)*(*y),(-z+1)_y-0^y h}. H)[x]/y
     (*|R)-R@*|0,&1_*+m}.''1({("?"/:5#,x;,/5#,y)}.')\@[;1;.:]'" "\:'0:`:i/12.txt
Re:Arthur Whitney's one liner sudoku solver on Friday October 11, 2024 @02:06AM (#41806666)
Again, I'm not saying anything is impossible to do, it's just about whether or not it's worth it. 2 or 3 lines for all types for all overloads for all primitives etc adds up quickly.

I don't see how k/q tables are only superior in niche situations, I'd much rather (and do) use them over pandas/polars/external DBs whenever I can. The speed is generally overhyped, but it is significant enough that rewriting something from pandas often ends up being much faster.

The last bits about IPC and typed objects basically boil down to python being a better glue language. That's probably true, but the ethos of array languages tends to be different, and less dependent on libraries.

Re:Arthur Whitney's one liner sudoku solver on Monday October 07, 2024 @01:33PM (#41768574)
This is (predictably) wrong.
Re:Arthur Whitney's one liner sudoku solver on Monday October 07, 2024 @01:32PM (#41768570)
None of the primitives are necessarily too complicated, but off the top of my head things like /: \: (encode, decode), all the forms of @ \ / . etc, don't have directly equivalent numpy functions. Of course you could reimplement the entire language, but that's a bit too much work.

Tables aren't niche, they're very useful! I looked at cloudpickle, and it seems to only do serialisation, I assume you'd need something else to do IPC too? The benefit of k's IPC is it's pretty seamless.

I'm not sure what you mean by inefficient hacks, generally you wouldn't try to construct some complicated ADT in k anyway, and if you need to you can still directly pass a dictionary or list or whatever your underlying representation is.

Re:Arthur Whitney's one liner sudoku solver on Sunday October 06, 2024 @08:15PM (#41761551)
There are semantic differences too with a lot of the primitives that are hard to replicate exactly in Julia or numpy. That's without mentioning the stuff like tables and IPC, which things like pandas/polars/etc don't really come close to in ergonomics, to me anyway.
Re:Arthur Whitney's one liner sudoku solver on Sunday October 06, 2024 @06:43PM (#41760975)
Hmm, why not? Using K or a similar array language is a very different experience to using an array library like numpy.
Re:Arthur Whitney's one liner sudoku solver on Sunday October 06, 2024 @02:34AM (#41755233)
It wasn't able to explain the code, it was wrong.

Older »