Apache Thrift
mnm
Apache Thrift | mnm | |
---|---|---|
10 | 37 | |
10,153 | 228 | |
0.4% | - | |
9.0 | 0.0 | |
6 days ago | over 1 year ago | |
C++ | Go | |
Apache License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Apache Thrift
-
Symfony in microservice architecture - Episode I : Symfony and Golang communication through gRPC
There are various notable implementations of RPC like Apache Thrift and gRPC.
- What is gRPC popularity? I believe not very popular. And subreddit is small. Why is that?
-
Fresh – The next-gen web framework
> That's just your choice of how to build your app, right? You could've avoided this by rendering templates on the server and sending static HTML to the client, keeping the business logic on the server.
No, that's a requirement on most business cases, my comment stated 'complex and dynamic web apps'. Re-rendering the whole page everytime the user checks a box or clicks a button is (a) terrible UX, (b) hard to track the state between page refresh, (c) wrong practice and (d) bad performance.
> Here's just one of ten-thousand other battle-tested options you can use: https://github.com/apache/thrift/
Sure, I should setup a complex and huge dependency for just one of the many problems I highlighted. What a great idea
- Ask HN: Who Wants to Collaborate?
-
Deadline Budget Propagation for Baseplate.py
Thus, we released Baseplate.py v2.1 with deadline propagation. Each request between Baseplate services has an associated THeader, which includes relevant information for Baseplate to fulfill its functionality, such as tracing request timings. We added a “Deadline-Budget” field to this header that propagates the remaining timeout so that information is available to the following request, and this timeout continues to get updated with every new request made. With this update, we save production costs by allowing resources to work on requests awaiting a response, and gain overall improved latency.
-
If someone ever asks you why you use Apollo, show them this screenshot.
Here’s an example of the Thrift changelog. Knock yourself out. Or you can get your sense of productivity by actually doing something of value.
-
parquet2 0.3.0, with native support to read async
The biggest addition is native async reading via futures::AsyncRead and futures::AsyncSeek, which required a lot of (to be merged) changes upstream (changes to thrift rust compiler and parquet-format-rs). I placed those changes on a temporary crate until things are released there.
- proposal: expression to create pointer to simple types #45624
-
Can you share your experience with race conditions in production?
We were sharing instances of a Thrift TDeserializer across threads. We knew TProtocol was not thread-safe, but the TDeserializer constructor accepts a TProtocolFactory, so we naively assumed the deserialize method would use that to create a new instance of TProtocol for each invocation, but unfortunately, the TDeserializer constructor immediately creates TProtocol and stores it in a member variable, so TDeserializer is not actually thread-safe.
mnm
- TMTP a Internet protocol combining elements of email and the web
-
Hacker News top posts: Aug 22, 2022
TMTP a Internet protocol combining elements of email and the web\ (3 comments)
- Show HN: Shortwave: Enjoy Your Inbox
- Ask HN: Who Wants to Collaborate?
-
A realization of why email is critical infrastructure for the Internet
And yet none of those corporations has displaced email, despite the fact that it has become a universal cyberattack channel, with a stagnant UX that doesn't address most real-world use cases for email!
I saw a need for a safer, better, decentralized protocol for email, so I drafted one (TMTP) and implemented client & server. More at:
https://mnmnotmail.org/ & https://twitter.com/mnmnotmail
Related protocol projects in development include:
https://mathmesh.com/
https://en.wikipedia.org/wiki/Dark_Mail_Alliance
-
Ask HN: If the Internet were redesigned today, what changes would you make?
The primary problem for email at this point is that it's a highly effective cyberattack channel, because it allows anyone, claiming any identity, to send you any content, without limits. This cannot be "fixed" as it's the intended function.
No one was working on an alternative that addresses this problem, so I drafted & implemented "TMTP".
https://mnmnotmail.org/
https://twitter.com/mnmnotmail
-
A Review of “Kill It with Fire: Manage Aging Computer Systems”
Before ditching SMTP/etc, we'd need something to replace them.
TMTP (my work) is a candidate. More at https://mnmnotmail.org/
-
A case against text protocols
Well here's TMTP, a new email protocol, which uses a mix of text (JSON) for headers and binary for attachments.
https://mnmnotmail.org (this is my work)
- IRCv3
What are some alternatives?
gRPC - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
matterbridge - bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
matterhorn - A feature-rich Unix terminal client for the Mattermost chat system
Cap'n Proto - Cap'n Proto serialization/RPC system - core tools and C++ library
macOS-Security-and-Privacy-Guide - Guide to securing and improving privacy on macOS
Protobuf - Protocol Buffers - Google's data interchange format
element-ios - A glossy Matrix collaboration client for iOS
Apache Avro - Apache Avro is a data serialization system.
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
Apache Parquet - Apache Parquet
ssh-chat - Chat over SSH.