skiplists form the basis of in-memory tables used by LSM trees, which are themselves the basis of most modern DBs (written post 2005).
HN user
mrjn
https://manishrjain.com/about
Talking about dark modes, nytimes still doesn't have an official dark mode (or not I can easily see). This should help.
Wouldn't a Vitess for Postgres look like a Yugabyte?
This would be a bigger problem in community use cases. We're going to introduce a trust level system to tackle this, inspired by Discourse:
https://blog.discourse.org/2018/06/understanding-discourse-t...
Thank you! We went through many iterations to get to this pricing model. So, I appreciate this comment.
OpenAI has strict privacy rules in place. Being on a business account, any of the data that we send to OpenAI wouldn't be used for training.
It's a SaaS. Over the next few months, we'll be going through the SOC2 compliance process.
Will update the footer, thanks for catching.
https://struct.ai/struct-for-slack would allow individuals to use Struct as an interface to Slack, without the whole team having to switch in one go.
Perhaps a good start would be to create a Struct org, for communicating within the team?
We'd surely look into Teams integration at some point. Though, I'm not sure how many takers would be there for Teams/Struct integration. My perception is that Teams users tend to be medium-to-large businesses who are tied to Microsoft Office, and would be very hard to sell to. I might be wrong.
Fair point. We can all do with less meetings. I think tools like chat platforms / loom are all aimed at reducing the number of meetings we need to do.
Though, you do have to abide by Metcalfe's law. Most modern work happens in teams and therefore, you have to pay the price of O(N^2) communication, where N = size of the team.
I don't see communication decreasing overall. We just have to use the right tools to be more effective at it.
This should help: https://struct.ai/struct-for-slack
Could be a feature request to integrate with Matrix APIs. For example, we're doing bidirectional sync with Slack already. And unidirectional sync with Discord.
We'll be sure to go through all those details, as we work towards compliances.
Really wanted the .com domain, but that wasn't available. We got the .co domain, but .ai domain felt more right, given we're using AI, and now it's even part of the pricing model.
Hope to get that .com domain someday :-).
It's built on Tauri, so it picks the system default browser I think. We had applied for getting an EV certificate for the Win desktop app, but it's taking time to get that process done for some weird reason.
I'll get the FE dev to look at the too many redirects issue. Seems strange. Does it open fine on your Edge browser: https://app.struct.ai?
The reason Slack and Teams feels so "urgent", is because there's little going back to reply to an older conversation. Everything is so ephemeral on these platforms, that either you reply now, or it's a goner (slight exaggeration, but mostly true).
Struct's feed system is naturally designed to surface latest, unread conversations. So even if when I've been away for days, I just come back and go thread by thread, like cleaning an inbox. It's a lot smoother system, and you miss nothing.
You can install the Struct bot in Slack: https://struct.ai/install-slack -- This would by default pick up the last 3 months of conversations (we do this to decrease the unpaid load on GPT). You can ping us and we can help sync it from the beginning of whatever history Slack shows.
We don't have an exporter yet, but can surely put one together which provides a SQL / CSV formatted output (or whatever works best for users). We would never charge for exports.
Real-time platforms cause interruptions, yes. But, that's where we are today with Slack.
So, we're starting off from that point. Let's take real-time chat platforms, and reimagine how we can make them more efficient. More useful. Less noisy. That's the idea for Struct.
The list of people we email is different from the list of people we chat with. In a team, that means, team comms happen on chat platform. And external comms happen on emails. Within a team using a chat platform, it's unlikely that people would chat, and then say, hold on, let me send you an email. If that happens, that's very rare.
What's a lot more likely is you jump from a chat conversation into a video call. Hence, the need for a nice integration with video service (like Slack has huddle).
So, for a certain set of people (your team or community), you're going to use the chat platform. And therefore, the chat platform should be built to enable conversations with good retrieval and focus -- so it can be used for complex conversations. Struct hits that pretty well.
Worth a conversation for sure. Maybe find a time to chat? https://struct.ai/schedule-demo
Or, you can jump in here and we can have a discussion: https://chat.struct.ai/join/DXVTmseDdBkeA6mG
It's hard to do summaries for chats in channels. Just not enough focus in them to be useful.
Could also be the model that they were using. I've tried a few and found GPT4 to be most accurate. GPT4-Turbo is still a question mark.
Struct is quite inspired by Discourse. It's a unique blend of forum and chat application.
So, you know, every forum, including email, has threads and feed. But, forums are asynchronous, not designed around real-time chat. The challenge when applying concept of threads and feeds to a chat platform is that you need to make it real-time. And that's the hard thing that Struct is tackling -- with the real-time feed design that we have.
I disagree a bit about, "if it's chat, it doesn't need summary". I've been part of enough conversations which go on and on, to know that's not true. Even with the small team we run, we have threads which have like 100s of chat messages, going back and forth. Having summaries really help.
Or, at the very least, you'd appreciate the titles, so your feed would make more sense.
You can structure your threads using tags, and create feed around those tags. That'd be the equivalent of "folders". (Reminds me of when Gmail came out and people had to learn to map their labels on SMTP folders)
The difference in a Struct thread, v/s say a Discourse thread would be this. Struct emphasizes short form, real-time, back and forth communication. Discourse emphasizes long form, well-thought through, one-off posts. Former is chat, latter is forum.
This is long topic, but something I think about a lot. Designing Struct is hard exactly because of this balance between structure, knowledge and being real-time.
Arr.. we should clean up the error messaging a bit. Not to hide OpenAI, but just make it appear nicer.
I like OpenAI. GPT4 works really well. Some others we tried were cheaper, but the quality wasn't as good.
Absolutely! We already have one chat message fork working. Backend supports multiple message forks as well. So, very close.
Yup. That's the point I'm making. Slack is used as ephemeral messaging system, a knowledge void. Struct aims to proves that more is possible.
Yes. We'd be documenting Struct APIs. And also we want to identify the top 5-7 most popular Slack integrations, and build them ourselves for Struct.
You looking for this? https://struct.ai/struct-for-slack
Ok. I should clarify. Struct doesn't do anything "smart" with your feed. It's the threads matching the boolean filters that you define (all threads has no filters), sorted by updated at timestamp desc order.
There might be interest in building a smarter feed which uses recommendation algorithms (and therefore have different views for different people, assuming same channel membership), but that's not what Struct feeds are today.
Yes, big time!
I'm biased, but because everything is a thread, Struct APIs are nice and simple to work with. We'll be working on documenting them.
I hear ARPANET was the real deal. j/k
Talking as an engineer who learnt management by building a startup: Do things. But also, make them visible.
I remember my days at Google (first job). I used to just build and build... and had a hard time trying to convey why what I was building was important. In fact, my first manager skipped over me, and promoted the entire rest of the team (still hurts). When I switched teams (and manager), they told me I was 2 levels below where I should be at.
Long story short: Get into those conversations. Don't be overbearing, but have your presence known.
Thanks! We'll be brainstorming ways of making user presence felt, while keeping it clean.