using projection you can "call a function in two parts"
add: {x+y}
add4: add[4] / gives {4+x} by fixing 4 as first argument to {x+y}
add4[2] / gives 6
this is a useful pattern that you can use to first 'fix' data or behaviour
to produce another functionjust because someone or something else does it better?
Illuminating experience and it will also help you see (among many other things) the parentheses in a different light.
Needless to say that was my opinion and every day I think, more and more, how right he was.
(later I did make some gui apps that included scripting and chose s-expr syntax because of how simple it is to implement it)
1) Humans are not that equipped to handle that level of nesting without some other aid, this is why Lisp code is usually indented.
2) Parentheses aren't just about grouping, and this is unintuitive. For example, x is not the same as (x). This is a bit like in set theory where x is not the same as {x}, but parentheses do not look like the kind of sign that would work like that.
For other languages, similarly, x is not the same as x()
had brackets been displayed as curly braces in C - everything would look much more manageable
But there's quite a few little reader projects that swap out the first layer of syntax for another. Lisp isn't entirely tied to one representation.
(foo (bar (1 2 3))
you'd prefer {
foo {
bar {
1
2
3
}
}
}
is that right? ( aar
(bar1 1 2 3)
(bar2 1 2 3)
(bar3
(car1 2 3)
(car2)
(car3)
)
)
vs(aar (bar1 1 2 3) (bar2 1 2 3) (bar3 (car1 2 3)(car2)(car3)))
a pragmatic approach: write in a high level interpreted language that rhymes with modern CPUs, vector extensions, memory bandwidth
e.g. apl [0], bqn [1], k [2], kiwi [3]
- vectors are dense (not boxed)
- optimized internal representation (e.g. bitpacked bool vectors)
- primitives act on vectors + use avx, neon if possible
[0] https://www.dyalog.com
[1] https://mlochbaum.github.io/BQN/
[2] https://kx.com
[3] https://kiwilang.comgreat article by marshall on BQN performance compared to C and how to think about it
https://mlochbaum.github.io/BQN/implementation/versusc.html
related:
- columnar databases: kdb, duckdb, clickhouse
- machine learning frameworks: pytorch, keras, jax, mlxeven 103MB sound like a lot for doing nothing
We might expect newer players to cache less because SSDs are fast, but perhaps this is offset by the increasing use of network storage, whether it’s internet-based or a local HDD NAS.
Reccomendations for other lower ram solutions?
"bicause noe 2, thynges, can be moare equalle"
(and helped make + and - signs more popular)
https://en.wikipedia.org/wiki/Robert_Recorde
see page 5:
https://sigapl.org/Articles/Language%20as%20an%20intellectua...
obligatory mention of Notation as a Tool of Thought
1979 Turing Award lecture by Ken Iverson
https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.p...
the problem is not tailwind, the model output just reflects the training material that most likely overindexed on tailwind templates with lots of fonts and text sizes and outlines, I'm sure future training runs will be better
instead of having to pre-allocate upfront (e.g. 4 nodes get 1/4 each) it is more granular and dynamic
a worker that's "done" can request another morsel
pragmatic approach because nodes might not all be equally fast (cache, cpu frequency, throttling, …) and also some morsel workloads take longer than others depending on the values they contain and what kind of work needs to get done
so this approach tends to balance out nicely
I'm sure someone else can explain it better / correct me (please do!)
Apparently there's a new fancy slider for making it more (but not completely) opaque? Did I miss an option for turning it off?
The iOS 7 flat redesign was a UX disaster. But they got back up to speed in subsequent releases.
There IS something to be said for design resets with follow-up refits to accomodate for actual human beings. Most companies just add crap on top of crap.
Not saying what everything Apple does is perfect, even as a user/fanboy since '86.
What I most enjoyed about todays's annoucement that they're doing a Snow Leopard performance/bug reset, because that was expected and needed. And they started out with it, so they know their WWDC audience.
So: Both a technical and UX debt effort, with some privacy-focused AI on top.
I can't complain.