wisdom
wstunnel
Our great sponsors
wisdom | wstunnel | |
---|---|---|
26 | 13 | |
567 | 2,908 | |
- | - | |
5.4 | 9.6 | |
8 months ago | 10 days ago | |
Rust | ||
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
wstunnel
-
Russia has started indiscriminately blocking all OpenVPN/WireGuard connections
Shameless plug, there is also wstunnel (i am its author) https://github.com/erebe/wstunnel/, hope you enjoy.
- Tunnel all your traffic over WebSocket protocol
-
SSH3: SSH using HTTP/3 and QUIC
If you want to tunnel UDP (WireGuard) or TCP (SSH) over WebSocket protocol, check out https://github.com/erebe/wstunnel
-
Russia starts blocking VPN at the protocol (WireGuard, OpenVPN) level
While working in an environment where VPN connections were pretty much all blocked⁰ a friend of mine had success using https://guacamole.apache.org/ to access a remote machine¹. Not quite the same as a direct VPN connection but worth a try if nothing else functions, it looks enough like normal HTTPS traffic that he got away with it.
To keep your wireguard setup more as-is, you could try https://kirill888.github.io/notes/wireguard-via-websocket/ to tunnel that via a web server. In fact https://github.com/erebe/wstunnel which that uses could be used just as well with any other UDP based VPN.
I once tinkered with https://github.com/yarrick/iodine and successfully connected to resources over the wireless on a train, bypassing its traffic capture and sign-up requirement, so that might be an option, though I think fully blocking external DNS is more common now so this is less likely to work²³.
--
[0] practically only HTTP(S) permitted, not even SSH, DPI in use that detected just using SSH or OpenVPN over port 443
[1] NOTE: be careful breaching restrictions like this, you are at risk of an insta-sacking if discovered, or worse if operating in some securiry environments!
[2] and the latency when it does work is significant!
[3] and that much traffic over port 53 might get noticed by the heuristics of data exfiltration scanner, encouraging sysadmins to notice and implement a way to block it
- Wireguard over WebSocket Tunnel
-
Requesting Help bypassing CGNAT with Wireguard - Connecting Plex to a VPS and then to a domain.
You can try with this project, https://github.com/erebe/wstunnel.
- wstunnel - Tunneling over websocket protocol
- GoodbyeDPI: Deep Packet Inspection circumvention utility
-
Wireguard over Websockets over Cloudfare Tunnel
There are projects out there (like this) which run wireguard traffic through websocket.
-
The WebSocket Handbook
There are tools to tunnel all your traffic over websockets kind of like a VPN, for example: https://github.com/erebe/wstunnel This would be an easy way to get access to web content blocked by corporate policy, expose internal services to the outside world, or even exfiltrate a bunch of internal data somewhere else.
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.
docker-wireguard
dom-proxy - Develop lightweight and declarative UI with automatic dependecy tracking without boilerplate code, VDOM, nor compiler
udptunnel - It allows TCP/UDP/ICMP traffic over UDP tunneling. It's useful to avoid Internet restrictions.
caya - a tiny useful simple language experiment
udp2raw - A Tunnel which Turns UDP Traffic into Encrypted UDP/FakeTCP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment)
zustand - 🐻 Bear necessities for state management in React
shadowsocks-rust - A Rust port of shadowsocks
swc - Rust-based platform for the Web
Cloak - A censorship circumvention tool to evade detection by authoritarian state adversaries
webcomponents - Web Components specifications
outline-apps - Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.