wisdom
Mercure
Our great sponsors
wisdom | Mercure | |
---|---|---|
26 | 19 | |
567 | 3,741 | |
- | - | |
5.4 | 8.4 | |
8 months ago | 7 days ago | |
Go | ||
GNU General Public License v3.0 only | GNU Affero General Public License v3.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.
wisdom
-
Ask HN: Best stack for real time data intensive apps
If you want to output to a browser here is the guide to achieve the best possible performance according to the numbers:
https://github.com/prettydiff/wisdom/blob/master/performance...
Warning: every time I post this people claim to want superior performance but then whine when they realize they have to actually write code (as opposed to letting NPM or React or jQuery do 99% of everything).
-
Ask HN: What are the hidden performance tricks for JavaScript?
This was attempt to research the fastest possible approach to a JavaScript GUI in the browser.
https://github.com/prettydiff/wisdom/blob/master/performance...
The techniques mentioned are stupid fast to the fewest milliseconds, but most JavaScript developers find this incredibly unpopular.
-
Ask HN: How can I learn about performance optimization?
Measure everything and be extremely critical. Be ready to challenge common and popular held assumptions.
Here is something I wrote about extreme performance in JavaScript that is discarded by most programmers because most people that program JavaScript professionally cannot really program.
https://github.com/prettydiff/wisdom/blob/master/performance...
-
Ask HN: What are good patterns for holding state?
For simple state management here is what I do: https://github.com/prettydiff/wisdom/blob/master/state_manag...
Here is an application with an OS-like GUI making use of that concept: https://github.com/prettydiff/share-file-systems
-
IBM study: 40% of workers will have to reskill in the next three years due to AI
The challenge is in determining who is about to become obsolete and that is not clear. For example OOP remains the most popular and requested programming paradigm even though it has gradually slid into functional obsolescence more than a decade ago[1].
Even still legacy code will remain in use and talent to maintain legacy systems will remain in demand. My university still teaches COBOL because there still exists demand for people to maintain these legacy applications even if new applications are no longer written in that language.
[1] https://github.com/prettydiff/wisdom/blob/master/Object_Orie...
-
TypeScript Is Surprisingly OK for Compilers
That depends on how many changes it requires. If its just a matter of don't do these 3 things and your code suddenly becomes more predictable its like being slapped with a magic wand. Everybody wins. All you have to do to ensure 100% of your code compiles in a JIT is be predictable. Predictable code is, on its face, always less confusing.
> The performance benefits are likely to be minimal
This makes me cry, but not a cry of joy or ecstasy. People guessing about performance is perhaps the most frequent anti-pattern in all programming. Please read this document, you can skip to the end but it may not make much sense if you do. https://github.com/prettydiff/wisdom/blob/master/JavaScript_...
-
As a self learner which courses, books, tutorials have impacted you positively?
After talking about the biggest failures I have seen through my career in learning JavaScript I watched a YouTube video about an interview with a divorce attorney. It was interesting because the behaviors I heard expressed in that video exactly aligned with behaviors I see expressed in failures to learn after large commitments of time investment in programming. It inspired me to write this: https://github.com/prettydiff/wisdom/blob/master/JavaScript_...
The most important learning for me out of this is that people are predictable and how we commit is modeled by how perceptions of rewards are attained. It also inspired me to dive deeper into self learning about behavior and economics, because people do exceptionally irrational things to avoid perceived discomfort.
-
Why are many of the biggest web frameworks in dynamically typed langs?
> just want to know what makes a good web framework.
Personal opinion. A framework is an architecture in a box so that you, the developer, do not have to make as many decisions. Normally when developers are asking such questions they are seeking easiness: https://github.com/prettydiff/wisdom/blob/master/Easiness.md
-
Htmx
Software developers, especially DOM fearing front developers love using the word easy. It isn’t so much an infatuation but more like a fatal attraction obsession where obstruction means war on a very emotional level. Ironically, people are loathe to confront these feelings openly and thus cannot define the word easy with any kind of clear practical application.
So, I did the world a favor and wrote just such a definition: https://github.com/prettydiff/wisdom/blob/master/Easiness.md...
-
Building a Front End Framework; Reactivity, Composability with No Dependencies
Depends on the definition of simplicity. People say they want simple, but then really want easy. The most easy is always somebody doing the work for you. I got tired of hearing people mention easy when really they probably mean some combination of fearful and/or lazy, so I chose to define easiness:
https://github.com/prettydiff/wisdom/blob/master/Easiness.md
If developers really wanted simplicity or to be done with work faster they would just learn the primitives of their environment: DOM, functions, and events. Most of the frameworks have APIs that are huge, so clearly simplicity isn't what's wanted.
Mercure
-
PHP homies, I hear ya.
Are you aware of things like websockets and mercure.rocks?
-
What is the best way to write a dedicated server?
It could be implemented with STOMP, or Mercure (goes well with API-Platform, written in PHP/Symfony), you could write your own with the help of nchan and scale it via Redis. If it's a web service, the best practices for operating and scaling are well established, Godot then just becomes another client.
-
What to use to replace laravel web sockets?
You can try https://mercure.rocks/.
-
OpenAI server-sent events supported chatbot
It's worth looking at something like Mercure , which is used by API Platform
-
laravel activity feed
Pusher might be one of these systems, Mercure is another one (which you can host yourself). Mercure has good documentation and some examples in various languages, including PHP: https://mercure.rocks/docs/ecosystem/awesome#examples.
-
Golang updating the front-end with almost real-time events from the backend server
You can use Mercure https://mercure.rocks/ , Mercure uses http2.
-
Centrifugo v4 released – with own WebSocket emulation layer, optimized client protocol, unified SDK behavior, experimental HTTP/3 and WebTransport support
I actually was thinking about this when I saw https://github.com/dunglas/mercure project to become a Caddy plugin. But I did not find enough reasoning to try this with Centrifugo at that point, and still... Seems awesome from one side - tight integration with a web-server, no extra network between LB and Centrifugo. But will this be useful in practice and find its users? 🤔 That's the question I don't have an answer yet.
-
How would I automatically update how much users are signed up for each group?
Polling is kind of ok (data might change between poll events), but real-time updates are better. So If you don't mind adding an extra service, then take a look at mercure.
- Mercure: Real-Time Made Easy
-
Announcing GraphQL Yoga 2.0!
Two more questions: - Am I to understand The Guild now recommends GraphQL Yoga over Helix? - Could something like Mercure be included in the recipes ? (this would be a nice solution for serverless)
What are some alternatives?
share-file-systems - Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.
Socket.io - Realtime application framework (Node.JS server)
dom-proxy - Develop lightweight and declarative UI with automatic dependecy tracking without boilerplate code, VDOM, nor compiler
websocket - A fast, well-tested and widely used WebSocket implementation for Go.
caya - a tiny useful simple language experiment
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
zustand - 🐻 Bear necessities for state management in React
amqp091-go - An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp`
swc - Rust-based platform for the Web
NATS - Golang client for NATS, the cloud native messaging system.
webcomponents - Web Components specifications
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]