Would like to see the latency and cost of parsing entire 10M context before throwing out the RAG stack which is relatively cheap and fast.
HN user
chuckcode
Thanks for the very helpful and detailed reply!
Thanks for details! Few follow up questions:
- I've seen neural nets using int8 for matrix multiplication to reduce memory size [1]. Do you think something similar could be useful in the ANN space?
- Do you know of any studies using Faiss looking at speed/cost tradeoffs of RAM vs flash vs Disk for storage?
- Are there recommended ways to update Faiss index with streaming data, e.g. updating the vectors continuously?
Seems like more and more use cases for Faiss as neural nets become more and more core to workflows. Would like to try and figure out the configurations that are optimized to minimize carbon usage in addition to latency and recall metrics.
[1] https://arxiv.org/abs/2208.07339
(edit for formatting)
Definitely not unusual. I think it is pretty common for executive team in addition to founders. My feeling is that VCs and founders need to find a way to partially cash out rank and file employees along the way if they want start up model to succeed long term. Many senior engineers are reluctant to to join startups at this point as even if startup is successful it can be a long time before they have the money in their pocket. Employees at Reddit, Stripe, Instacart, Databricks, and many others have been waiting over a decade for company success to hit their wallet.
Sometimes the executive team gets stock options rather than RSUs so they own the stock and can sell to secondary parties. VCs and founders would like them to sell to known parties rather than sell on private market (Facebook crossing 500 investors threshold was one important reason for IPO timing [1]).
[1] https://web.archive.org/web/20120517045249/http://blogs.reut...
I agree, but as aleksiy123 suggests there is an additional complexity burden and it is a long journey to teach users to make use of a new technology. I think a lot of "advanced" features get de-prioritized as not many people use them and it seems like resources could be better spent helping the masses. I think that the importance of "advanced" features is often under rated by traditional engagement models. Wikipedia is a great example of where less than 1% of users click on the edit button, but that 1% adds all the value for the other 99%.
Do you think part of this is that Netflix has assumed zero effort from user model? My experience has been that Netflix does an ok job of recommendations, but fails at overall discovery experience. There is no way for me to drive or view content from different angles easily. I end up googling for expert opinions or hitting up rotten tomatoes to get better reviews. Netflix knows a ton about me and their content, but seems to do a poor job of making their content browseable/discoverable overall. I do like their "more like this" feature where I can see similar titles.
I'd argue that git is a distributed blockchain that has been pretty impactful, it just doesn't use proof of work for validation.
If it needs to be a company Ripple uses blockchain to help companies move currency safely around the globe. (https://ripple.com/)
Author is making an argument against any blockchain or distributed ledger. To quote from article. "Any application that could be done on a blockchain could be better done on a centralized database. Except crime."
I'd like to see people look past the noise of cryptocurrencies to see how important digital trust and new applications of cryptography will be as we try to scale the ability of humans to work together effectively at scale.
I'm a little surprised that the author is missing the critical innovation of crypto which is digital trust and observability. Sure it is easy to make an argument that one cryptocurrency or another is a bubble, but don't underestimate the importance of being able to distribute work and verify trust at scale.
Just look at how git has transformed software development by mapping code to a hash. Or how DNS + SSL has transformed how people trust and transact online. Is the scalable future one where people and organizations trust their data to the cloud or other 3rd parties with no way to verify integrity?
Do people think that the future of human agreements is signatures on little pieces of paper managed by courts and lawyers? Personally I think it will be digital. Given it is digital, do you think there will be some "centralized database" run by government or a commercial entity that can be trusted as single point of failure? Personally I sure hope that there is some way to distribute and verify data integrity even if it isn't full blown proof of work. I'd sure prefer something more like git where I can see if two branches are the same even from different sources.
Thanks for this comment, sums up exactly my experience with python. Do you have a pointer to a larger write up of these issues? I really enjoy python, but agree with you that it isn't well suited for performance or scale necessarily. I find that people really get attached to it though and I'd like to have a good reference for them to help explain why issues like interpreter performance, GIL and typing make a difference on large projects even if not their pet ones.
Great point. I'm not one to over optimize, but seems like parsing messages for internet sized apps is worth spending a little effort to save energy and environment.
Don't get distracted by the click bait title. Effect size should be captured by statistical significance (larger effects are less likely to happen by chance). Author is really complaining that the original study didn't report enough data to check their analysis or do alternative analysis methods. Better title for article would be "Hard to peer review when you don't share the data"
I see a lot of suspicion in thread below, which I very much understand.
I'd like to take a minute though to express my frustration with the banks that refuse to supply any sort of limited APIs. How is it 2021 and I still can't give my tax person read only access to a specific year of transactions? Plaid and others trust issue would be so much easier if the banks had any sort of control over sharing aside from none or authorized to do anything.
+1 to the reality that most productivity tips come off as hopelessly naive to the reality of life with kids, sick parents/spouses, customer demands, etc.
Few things that have helped me:
- Have something like google calendar that reminds you so don't forget something important. Avoid turning small tasks into huge ones by missing a critical deadline
- Change the game when it is stacked against you. Most productivity advice is written about what can you do alone in the current situation (game) to improve, when changing situations could make things much better. I see too many people get stuck in bad relationship, bad job, etc. trying to make it work. Find places where the tide is rising and raising all the boats rather than working against you.
- Be kind and realistic to yourself. Look around, life is challenging and nobody wins everthing. Coach yourself the same way you would coach your kids with kindness and empathy and setting them up for success rather than something impossible.
(edit formatting)
Erik Bernhardsson who was one of original author on Annoy has a pretty developed test suite https://github.com/erikbern/ann-benchmarks.
Thanks for data point. How is it interacting with the self-driving cars? I'm concerned that a lot of thought has gone into experience for the passenger of self driving car, but much less for the rest of general public. Feels like they missed an opportunity to improve driving experience for rest of us as well with some more signals or communication between vehicles.
Agree that relative to the cost in lives and global GDP leaders have drastically under invested in production and distribution of vaccines. Arguments about what ethical and incentive policies should be will continue forever. Certainly though we shouldn't be blocked at this point by availability of a few machines, shipping and inventory tracking, etc. Especially in the US we have really wasted 9-10 months to work on public health in general and vaccine delivery in particular. History will not be kind
Your next push is only as good as your last recovery. I'm surprised how often people focus on the work and neglect the recovery phase like nutrition, sleep, etc.
Go and talk with the people who wrote it. Often times there are a just a handful of people that wrote a lot of the core functionality, they often aren't the most social. Talk to them when you are in the planning phase of implementing something.
Lots of great advice here that I agree with. IMHO though I see a lot of engineers miss on the team and social aspects of coding. Just as important as your tech stack is your team. Have an idea for improving something? That's great, but remember to listen first and learn to love what is great about the way it is. For you it could be X% better for the original authors it is a miracle that they made it work at all and it is important enough to need a bigger team.
Please write a collaborative doc instead of an email if you have that much detail. Having an effective discussion over email is actively painful and worse yet no one can refer back to your detailed documentation later.
Good on you for communicating. Personally I've found that details are great, but being able to distill that core message down to a quick code really helps. Call it an elevator pitch, sound bite or whatever but it is really transformative. So much communication seems to be just passing along a historically linear repeat of facts rather than helping reader by distilling down.
Agree. Always seems odd that organizations say they want people to be productive and then pepper them with email, messages, and meetings. Some of the better teams I've been on developed unwritten rules about when/how to communicate and the importance of time for deep work, but all to often it was just a free for all of chat pings. I think when people talk about culture this is a large part of it - how do you keep people working effectively together without swamping communication bandwidth?
Some matrix math libraries like Eigen[1] support vectorization via SSE, AVX, NEON, etc. and also use cache friendly algorithms for larger matrices. Highly recommended when you don't need to go quite as low level as individual instructions.
I like the concept. Yet it feels like an echo chamber when the YC saas review company only reviews other YC based web analytics products after leading off with talk from YC parter about how everyone is doing it wrong... Do you think your audience won't notice the heavy YC bias?
As convenient as it would be to have a single scapegoat to hang the problems on like the dreaded "tech industry" my experience is that housing shortages in Santa Cruz is a complex multi factor problem. Some example contributing factors:
- UC Santa Cruz has increased enrollment to 19,500 students with only just around half of them living on campus. Living on campus is relatively expensive at $1940 for room & board to share a room [1,2]
- Considering Santa Cruz itself has just around 65,000 residents the half of students living off campus make up 15% of population
- Certainly people commute over to tech for higher pay, but according to HUD that number has climbed just 4% from 26-30% between 2005 to 2015 [3]
- Santa Cruz itself greatly limits development with annual permits averaging around 250 for the past 10 years and almost all single family homes and townhomes rather than higher density [4]
- California's entire real estate market has been warped by Prop 13 which fixes real estate taxes to the time property was purchased with limited increases [5]. This incentivizes companies and people to stay on a property longer than other real estate markets as they have lower taxes. It also dissuades towns from building housing as long term the costs such as schools, services, etc. go up with market, but not tax revenues.
The availability and cost of housing in California and Santa Cruz is a real problem for many people. I've seen a lot of finger pointing with people's favorite scapegoats. I'd like to see the same energy go into the difficult work of city planning for construction, transportation, schools, etc.
[1] https://admissions.ucsc.edu/why-ucsc/faq/housing.html
[2] https://housing.ucsc.edu/rates/index.html
[3] https://www.huduser.gov/portal/publications /pdf/SantaCruzCA-CHMA-19.pdf (page 7)
[4] https://www.huduser.gov/portal/publications /pdf/SantaCruzCA-CHMA-19.pdf (page 14)
[5] https://en.wikipedia.org/wiki/1978_California_Proposition_13
[edited for formatting]
Thanks. Comments like this that go into the technical details, the history of the details and the people behind the technology are one of the main reasons I frequent hacker news.
Before diving into ways that SQL could improve I'd like to give some thanks to a real workhorse that has proved useful over decades, which is an incredibly long time in tech.
Could it be better? Sure, but author's proposal doesn't solve where I usually have problems. What are my pain points and what would I like to see instead?
1) One giant statement. Personally I really like Hadley Wickham's dplyr [1,2] (think "data pliers") which has a SQL like notion of joining different tables and selecting values but separates the filter, mutate and summarise verbs as separate steps in a pipeline rather than one huge statement. For transactions dplyr would have to add an update verb as well.
2) Hard to test, especially for more complex ETL. dplyr approach highlights that a lot of SQL these days is being used in ETL applications in addition to the usual retrieval, transactions and reporting. Being able to express as a pipeline of operations is easier for me to understand as execution is conceptually consecutive and I can unit test individual parts as part of a normal programming language environment.
3) My data isn't all tabular. Better support and semantics for non-scalar entries where value is a record itself like in json, BigQuery, Hive, Presto, etc.
4) Not that extendible. Better support for user defined operations (UDFs). More and more frequently I want to apply some non-trivial operation to data, e.g. run a machine learning model and it makes sense to do that as close as possible to the data usually. It is possible to do a fair bit in SQL itself with window functions but it is generally painful. You can point Hive at your jar and run a UDF but it is also painful to integrate and debug in my experience.
[1] https://cran.r-project.org/web/packages/dplyr/vignettes/dply... [2] https://datacarpentry.org/R-genomics/04-dplyr.html
same. downdetector reporting 1200 plus reports of facebook down https://downdetector.com/status/facebook
+1 nice having your own domain so you can port to different providers.
Used fastmail for a few years and it is fine although their android app isn't great and hangs a fair bit needing to be restarted.
Almost certainly not for local code. My experience is that building codes make the IRS tax codes look clear and concise. Often multiple conflicting rules apply and you're trying to hammer out some reasonable common sense with 2-3 different people in planning office one of which is almost certain to go on vacation while you're in permitting process. You'd be luck to get city plan reviewer, architect and contractor all in the same room for an extended discussion.
There are architectural programs that will render a 3d space to help with visualizations. Or any 3d drawing program like autocad can help as well.
Generally the linting is done manually when you ask for bids on your plans from contractors. If your plans are really poor they won't bid or they will come back with suggestions or prices that incentivize you to rethink things.
I'd like to see Netflix invest more in making a great browsing discovery experience. I feel like their UI is really optimized to the watch something quick metric now. It seems like search is pretty well implemented these days and both YouTube and Netflix recommendations have come a long ways but it still seems hard to replicate that browsing experience that I get at the local bookstore with some rudimentary sections and staff picks.