estreeper
Buyers should have all the facts
After using it for a couple hours (on Elixir code) with Qwen2.5-Coder-3B and no attempts to customize it, this checks a lot of boxes for me:
- I pretty much want fancy autocomplete: filling in obvious things and saving my fingers the work, and these suggestions are pretty good
- the default keybindings work for me, I like that I can keep current line or multi-line suggestions
- no concerns around sending code off to a third-party
- works offline when I'm traveling
- it's fast!
So I don't need to remember how to run the server, I'll probably set up a script to check if it's running and if not start it up in the background and run vim, and alias vim to use that. I looked in the help documents but didn't see a way to disable the "stats" text after the suggestions, though I'm not sure it will bother me that much. VRAM (GB) = 1.2 * number of parameters (in billions) * bits per parameter / 8
The 1.2 is just an estimation factor to account for the VRAM needed for things that aren't model parameters.Because quantization is often nearly free in terms of output quality, you should usually look for quantized versions. For example, Llama 3.2 uses 16-bit parameters but has a 4-bit quantized version, and looking at the formula above you can see that will allow you to run a 4x larger model.
Having enough VRAM will allow you to run a model, but performance is dependent on a lot of other factors. For a much deeper dive into how all of this works along with price/dollar recommendations (though from last year!), Tim Dettmers wrote this excellent article: https://timdettmers.com/2023/01/30/which-gpu-for-deep-learni...
Worth mentioning for the benefit of those who don't want to buy a GPU: there are also models which have been converted to run on CPU.
[0] https://blog.runpod.io/understanding-vram-and-how-much-your-...
[0] https://www.kff.org/report-section/ehbs-2024-section-1-cost-...
This analysis[1] from the Cato Institute found the opposite: “immigrants pay more in taxes than they consume in benefits”.
[1] https://www.cato.org/blog/fiscal-impact-immigration-united-s...
- code generation makes for an extremely productive experience that makes standing up an actually-useful application very fast
- Elixir is a great language, especially for the web, and using it to render the frontend feels like having the full power of the language plus the simplicity of HTML (with little/no writing JavaScript)
- it's extremely efficient since only tiny changes are sent over the WebSocket when data is updated on the server
- you're already using WebSockets, so adding any kind of real-time functionality is very easy (chat, notifications, game state)
Because of the separation of concerns by convention (i.e. keeping business logic in Contexts), it's also a very viable pathway to build a webapp using LiveView first, and serve an API once you need other types of clients (native apps, API consumers) with minimal changes. Ecto is also great to use for validations, and having that available for "frontend" code is a pleasure. It's also great to be able to have backend and frontend tests in Elixir.We've hit some bugs and gotchas over the years leading up to this 1.0 release, but it has long felt like a stable, well-built library that keeps our codebases simple and maintainable, which lets you move fast.
Congratulations to Chris, Jose, and all the other wonderful contributors!
1. https://www.irs.gov/businesses/small-businesses-self-employe...
The world's oldest extant wooden structure is the Kondō (main hall) of the temple Hōryū-ji 法隆寺 in Ikaruga, in the Nara Prefecture of Japan. It was initially built in 607 but completely burned down due to lightning. It was rebuilt in 670, but again nearly burned down by accident in 1949 [1].
It's interesting to contemplate how across these timescales war, disasters, and accidents make it so difficult for structures to survive.
What Is USPS General Delivery?
Robot dogs with AI-aimed rifles undergo US Marines evaluation
I've found LASER[1] which originally had the idea to embed all languages in the same vector space, though it's a bit harder to use than models available through SentenceTransformers. LASER2 stuck with this approach, but LASER3 switched to language-specific models. However, I haven't found benchmarks for these models, and they were released about 2 years ago.
Another alternative would be to translate everything before embedding, which would introduce some amount of error, though maybe it wouldn't be significant.
Bitcoin: 145B = 145,000M kWh/year
ChatGPT: 0.5M * 365 = 182M kWh/year
Based on the numbers from the article, ChatGPT is using 3 orders of magnitude less electricity for something that provides high utility for vastly more people.
There are of course many other uses of AI aside from ChatGPT and more cryptocurrencies aside from BTC, but these are very different power consumptions.
Court of Chancery Opinion: Richard Tornetta vs. Elon Musk
> embedding-based approach will be cheaper and faster, but worse result than full text
I’m not sure results would be worse, I think it depends on the extent to which the models are able to ignore irrelevant context, which is a problem [2]. Using retrieval can come closer to providing only relevant context.
Open-Source Semantic Vector Search with Pgvector and Instructor
It works for 7B/13B/30B/65B LLaMA and Alpaca (fine-tuned LLaMA which definitely works better). The smaller models at least should run on pretty much any computer.
Open source semantic vector search with Instructor, pgvector, and Flask
Open-Source Semantic Vector Search with Instructor, Pgvector, and Flask
One small UX bug: on mobile the hamburger menu obscures the Sign Up form, and I missed that I needed to click the X - closing the menu when I click an item would solve this. Other than that, it was pretty easy to use!
The idea of being able to get information directly from the person living in the house is appealing to me.
I understand the up front fee to sell, but wish I could de-risk by being able to get it refunded if I don’t sell.
Very interesting, I hope to keep an eye on your company!
32 of the employees were engineers [1].
[0] https://theconversation.com/whatsapp-bought-for-19-billion-w...
[1] https://india.sequoiacap.com/article/four-numbers-that-expla...
Pando (tree): the heaviest known organism
The value in what Mailchimp does is not so much just sending email, but in all the things around it, like managing subscribers, tracking opens, easily creating nice-looking emails that look good in a variety of mail clients, etc.
Contrary to some of the replies you've received here, it definitely is possible to run your own mail server with good deliverability, and we routinely did this for companies, even fairly small ones, physically on-prem and in datacenters, and cloud. It is not trivial, but far from impossible, and will likely involve communicating with a human when getting a static IP to find a good one. With that being said, I do not recommend you run your own mail server starting out, that is probably not the problem you are trying to solve.
Even worse is that blog posts can have incorrect, bad, or even dangerous information. If you've just found it in a search, you have no idea of the skill level of the author.
I recently came across a post about a JavaScript WYSIWYG editor which stated that you didn't need to worry about sanitizing the HTML output from it because it took care of that for you. An attacker could of course send malicious data straight to the server or manipulate the client code however they want, so without also sanitizing on the server (also a hard problem), this opens a huge security hole. Ten years ago I probably would have naively followed this and thought everything was okay.
Tutorials are often useful, but they also cannot be trusted, especially without other resources. I feel I've learned the most from reading in-depth sources like official docs, specs, RFCs, or the source code of high-quality, well-maintained libraries. It can be harder at first, but I learn things I wouldn't have thought to look for, and there is something of a consistency in presentation (at least by comparison) that makes each additional one easier to go through.