NATS
micro-editor
Our great sponsors
NATS | micro-editor | |
---|---|---|
11 | 226 | |
5,074 | 23,740 | |
1.8% | - | |
9.1 | 8.9 | |
7 days ago | 4 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
NATS
-
High-Performance server for NATS.io, the cloud and edge native messaging system
(note that NATS Streaming is a now deprecated predecessor to NATS JetStream)
Pull does have advantages over push (e.g. one-to-one flow control since the transfer of the messages is initiated by the client (pull requests)), and they are basically functionally equivalent (only thing push can do that pull can not is send a copy of all the message to all the subscribers, should you ever need it). They both exists because historically push came first and then pull later).
As a developper using NATS JetStream you should really not have to worry about push or pull, you should just care whether you want to consume the messages via call back or via an iterator or via fetching batches, after that whether pull or push is being used underneath the covers is irrelevant to you.
And this is exactly how it is in the new JetStream API (https://github.com/nats-io/nats.go/tree/main/jetstream#readm...) you don't have to worry about push/pull anymore and you can consume in any of the 3 ways described above (callback, iterator, fetch batch) it's all a lot simpler and easier to use.
-
What is the coolest Go open source projects you have seen?
nats: Golang client for NATS, the cloud native messaging system
-
Distributed communication patterns with NATS
Install the nats.go package
- Redis vs. Kafka vs. RabbitMQ
-
Distributed messaging with NATS
Now that our NATS server is running, we'll be using Go and Node.js clients to connect to it for simple demonstration. Not familiar with Go or Node? Don't worry NATS has clients available in over 40 languages!
- How do I build a text editor like notepad using wails
- Modern Communication: Sockets
-
Subscription management in pub/sub system
You could start by looking/reading how it is implemented in production ala https://github.com/nats-io/nats.go
micro-editor
- Modeless Vim
-
Essential Command Line Tools for Developers
To see more screenshots of micro, showcasing some of the default color schemes, see here.
View on GitHub
-
Go: What We Got Right, What We Got Wrong
Not sure these are really popular, but I cannot resist advertising a few utilities written in Go that I regularly use in my daily workflow:
- gdu: a NCDU clone, much faster on SSD mounts [1]
- duf: a `df` clone with a nicer interface [2]
- massren: a `vidir` clone (simpler to use but with fewer options) [3]
- gotop: a `top` clone [4]
- micro: a nice TUI editor [5]
Building this kind of tools in Go makes sense, as the executables are statically compiled and are thus easy to install on remote servers.
[1]: https://github.com/dundee/gdu
[2]: https://github.com/muesli/duf
[3]: https://github.com/laurent22/massren
-
Text Editor: Data Structures
> The worst way to store and manipulate text is to use an array.
Claim made from theoretical considerations, without any actual reference to real-world editors. The popular Micro[1] text editor uses a simple line array[2], and performs fantastically well on real-world editing tasks.
Meanwhile, ropes are so complicated that even high-quality implementations have extremely subtle bugs[3] that can lead to state or content corruption.
Which data structure is "best" is not just a function of its asymptotic performance. Practical considerations are equally important (arguably more so).
[1] https://github.com/zyedidia/micro
[2] https://github.com/zyedidia/micro/blob/master/internal/buffe...
- A nano like text editor built with pure C
-
A simple guide for configuring sudo and doas
There are two main ways to configure sudo.The first one is using the sudoers file.It is located at /etc/sudoers for Linux,and /usr/local/etc/sudoers for FreeBSD respectively.The paths are different,but the configuration works in the same way. A typical sudoers file looks like this. The sudoers file must be edited with the visudo command,which ensures the config is free of errors.Running this command as the root user will result in opening vi by default.If you want to use a different editor you can set the VISUAL environment varaible to the editor you want. For example,if you want to use micro as the text editor run:
-
what terminal emulator do you use and why?
found that micro has dedicated info page for copy paste
-
Microsoft is exploring adding a command line text editor into Windows, and it wants your feedback
I really like micro, a nano-like editor with a very sane, regular people friendly keybinding.
micro: winget install zyedidia.micro
What are some alternatives?
nsq - A realtime distributed messaging platform
helix - A post-modern modal text editor.
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
EventBus - [Go] Lightweight eventbus with async compatibility for Go
filemanager-plugin - A file manager plugin for the editor "Micro"
go-nsq - The official Go package for NSQ
dbus - Native Go bindings for D-Bus
emitter - Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins
kakoune - mawww's experiment for a better code editor
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
mangos - mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols"
machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.