58 karma · joined April 22, 2018
If you'd like to dig deeper, the reference is:
F811 redefinition of unused 'get' from line xx
from flake8 and error: Name "get" already defined on line xx [no-redef]
from mypy. try:
from wat import wat
except ImportError:
pass
to your $PYTHONSTARTUP file to avoid the cumbersome import.``` In [1]: math.exp(1e-15)-1 Out[1]: 1.1102230246251565e-15
In [2]: math.log(math.exp(1e-15)) Out[2]: 1.110223024625156e-15 ```
risky business though, I imagine it's implementation dependent
1.000000003456e0 - 1.000000002345e0 = 0.000000001111e0 = 1.111numericalnoise e-9
It's exactly the same issue here. `math.exp(1e-15)` is `1.000000000000001`. If you subtract 1, you get 1 significant digit and numerical noise.
FYI I'm not trying to diminish your project, and I'm glad you've made something which scratches your exact itch. I'm also hopeful others will like it.
Looks like I won't use it though, cause I like how Microsoft's copilot and it's implementations in emacs work: suggest completions with greyed out text after cursor, in one go, without the need to ask for it and discard it if it doesn't fit. Just accept the completion if you like it. For reference: https://github.com/zerolfx/copilot.el
That, coupled with speed, makes it usable for slightly extended code completion (up to one line of code), especially in a highly dynamic programming languages that have worse completion support.
I don't understand very well how llamafiles work, so it looks a little suspicious to just call it every time you want completion (model loading etc), but I'm sure this is somehow covered withing the llamafile's system. I wonder about the latency and whether it would be much impacted if a network call has been introduced such that you can use a model hosted elsewhere. Say a team uses a bunch of models for development, shares them in a private cluster and uses them for code completion without the necessity of leaking any code to openai etc.
Probability of two heads: p*p
Probability of two tails: (1-p)*(1-p)
Probability of head followed by tails: p*(1-p)
Probability of tails followed by heads: (1-p)*p
It's not difficult to notice that if you remove the first two, the last two form a 50/50 distribution
- image cropping in an image viewer is useful if you'd like to quickly crop screenshots before posting,
- you can already view images in emacs.
So the irksome bloat is likely already there, and stems from emacs not only being a text editor, but an operating system onto itself.
It's also not a common thing for projects like that not to start as FOSS.