July 2020 Summaries
3 posts from Ably
Filter
Month:
Year:
Post Summaries
Back to Blog
The Ably platform supports realtime messaging applications by allowing rules to be created that invoke cloud functions such as AWS Lambdas or Google Cloud Functions. This integration with externally-managed cloud functions provides flexibility for developers and ensures minimum latency while focusing on application development rather than infrastructure engineering. By using the execution environments provided by cloud service providers, developers can benefit from reliable, performant, and scalable solutions that support a wide range of languages. The Ably solution allows function invocation after a message has been accepted on a channel, ensuring that messages are still part of the history of the source channel for potential retry or alternative business logic handling.
Jul 28, 2020
1,100 words in the original blog post.
Ably, a tech company, has decided to remove terminology such as "master" and "slave" from their software in an effort to promote anti-racism within their organization and the wider tech community. They will begin by renaming the "master" branch on their public repositories to "main", with updates to internal codebases following over the next few weeks. Additionally, they have prepared a cheatsheet to aid adoption of these practices in relation to git. The company acknowledges that there is much more to learn and will continue to support the anti-racist movement.
Jul 23, 2020
217 words in the original blog post.
The author shares their experience of optimizing Elixir code for an MQTT protocol adapter, only to discover that the true solution to performance issues was an obscure setting in the Erlang VM controlling which system call the IO polling subsystem used. They initially spent time profiling and optimizing the code but found that the majority of CPU usage was due to SLEEP calls, which they later realized were a measurement artifact. After disabling masking for WebSocket pings and adding special cases for MQTT pings, they continued to see high CPU usage. They eventually discovered that enabling +K true in the Erlang runtime significantly reduced CPU usage by switching from poll to epoll system call for IO polling. The author's micro-optimizations were ultimately irrelevant as the majority of CPU cycles were spent on IO polling.
Jul 17, 2020
1,724 words in the original blog post.