rupy
Sandstorm
Our great sponsors
rupy | Sandstorm | |
---|---|---|
31 | 51 | |
136 | 6,626 | |
- | 0.5% | |
1.1 | 5.4 | |
about 1 year ago | about 1 month ago | |
Java | JavaScript | |
- | 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.
rupy
-
Considerations for a long-running Raspberry Pi
I have been running a Raspberry 2 cluster for 10 years: http://host.rupy.se
A few weeks back the first SD card to fail got so corrupted it failed to reboot!
My key learning is use oversized cards, because then the bitcycle will wear slower!
I'm going from 32GB to 256/512/1024!
- Sandstorm: Open-source platform for self-hosting web app
-
You Want Modules, Not Microservices
I think we're all confused over the definition. Also one might understand what all the proponents are talking about better if they think about this more as a process and not some technological solution:
https://github.com/tinspin/rupy/wiki/Process
All input I have is you want your code to run on many machines, in fact you want it to run the same on all machines you need to deliver and preferably more. Vertically and horizontally at the same time, so your services only call localhost but in many separate places.
This in turn mandates a distributed database. And later you discover it has to be capable of async-to-async = no blocking ever anywhere in the whole solution.
The way I do this is I hot-deploy my applications async. to all servers in the cluster, this is what a cluster node looks like in practice (the name next to Host: is the node): http://host.rupy.se if you click "api & metrics" you'll see the services.
With this not only do you get scalability, but also redundancy and development is maintained at live coding levels.
-
I wish my web server were in the corner of my room
I have hosted my own web server both physically and codevise since 2014.
It's on a Raspberry 2 cluster:
Since 2016 i have my own database also coded from scratch:
We need to implement HTTP/1.1 with less bloat, a C non-blocking web server that can share memory between threads is probably the most interesting project for humans right now, is anyone working on that?
-
Ask HN: Free and open source distributed database written in C++ or C
I have one in Java: https://github.com/tinspin/rupy
Here is the 2000 lines of code of the entire database: http://root.rupy.se/code?path=/Root.java
And here you can try it out: http://root.rupy.se
-
Dokku – Free Heroku Alternative
The smallest PaaS you have ever seen is one order of magnitude larger than mine: https://github.com/tinspin/rupy
And I bet you the same goes for performance, if not two!
-
Server-Sent Events: the alternative to WebSockets you should be using
Absolutely not, HTTP/1.1 is the way to make SSE fly:
https://github.com/tinspin/rupy/wiki/Comet-Stream
Old page search for "event-stream"... Comet-stream is a collection of techniques of which SSE is one. My findings are that SSE go through anti-viruses better!
I would look at my own app-server: https://github.com/tinspin/rupy
It's not the most well documented but it's the smallest implementation while still being one of the most performant so you can learn more than just SSE.
The data is here: http://fuse.rupy.se/about.html
Under Performance. Per watt the fuse/rupy platform completely crushes all competition because of 2 reasons:
- Event driven protocol design, averages at about 4 messages/player/second (means you cannot do spraying or headshots f.ex. which is another feature in my game design opinion).
- Java's memory model with atomic concurrency which needs a VM and GC (C++ copied that memory model in C++11, but it failed completely because they lack both VM and GC, but that model is still to this day the one C++ uses), you can read more about this here: https://github.com/tinspin/rupy/wiki
You can argue those points are bad arguments, but if you look at performance per watt with some consideration for developer friendlyness, I'm pretty sure in 100 years we will still be coding minimalist JavaSE on the server and vanilla C (compiled with C++ compiler) on the client.
- Jodd – The Unbearable Lightness of Java
Sandstorm
-
Website Impersonating a Desktop Environment
Sandstorm really had this kind of feeling. Not that it presented as a desktop environment visually - but it offered a much more integrated “computer” of documents versus silod web site apps where you need to open each site to see the files in the app. https://sandstorm.io/
-
Ask HN: Experience using your user's Google Drive instead of a database?
RemoteStorage https://remotestorage.io/ seems to be trying to do this too
I also really like the https://sandstorm.io approach which goes a little farther beyond
-
Tech Independence
They tried, it was called sandstorm https://sandstorm.io/
-
Ask HN: WordPress vs. Django/Flask?
I did read from somewhere, that with Wordpress SEO plugins etc some website got to top of search results.
Those that did website with other tech did not get same results, and thinked how to compete or survive.
For security, I use Sandstorm https://sandstorm.io fork of WordPress that generates static websites. But that does not work with some interactive plugins.
-
Plunder and Urbit
Urbit made the choice to use a bunch of silly new words for familiar concepts, not because they were inventing something so new that there were no words to describe it, but because they wanted to fool people into thinking that's what they were doing. Actually they just spent 10 years trying to do https://sandstorm.io/, but made it 10 times harder than it needed to be by coming up with a wacky new set of programming languages with silly names for everything.
That's funny, and it is OK to make fun of it.
-
Cap'n Proto 1.0
I don't work at Cloudflare but follow their work and occasionally work on performance sensitive projects.
If I had to guess, they looked at the landscape a bit like I do and regarded Cap'n Proto, flatbuffers, SBE, etc. as being in one category apart from other data formats like Avro, protobuf, and the like.
So once you're committed to record'ish shaped (rather than columnar like Parquet) data that has an upfront parse time of zero (nominally, there could be marshalling if you transmogrify the field values on read), the list gets pretty short.
https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-... goes into some of the trade-offs here.
Cap'n Proto was originally made for https://sandstorm.io/. That work (which Kenton has presumably done at Cloudflare since he's been employed there) eventually turned into Cloudflare workers.
Another consideration: https://github.com/google/flatbuffers/issues/2#issuecomment-...
- 1Sub.dev – A world where people pay for software
-
Sandstorm: Open-source platform for self-hosting web app
For me, the biggest blocker has been the inability to run on ARM https://github.com/sandstorm-io/sandstorm/issues/2083
- Wasix, the Superset of WASI Supporting Threads, Processes and Sockets
What are some alternatives?
yunohost - YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.
NextCloudPi - 📦 Build code for NextcloudPi: Raspberry Pi, Odroid, Rock64, Docker, curl installer...
sovereign - A set of Ansible playbooks to build and maintain your own private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and more.
Open and cheap DIY IP-KVM based on Raspberry Pi - Open and inexpensive DIY IP-KVM based on Raspberry Pi
DietPi - Lightweight justice for your single-board computer!
Ansible-NAS - Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook.
DockSTARTer - DockSTARTer helps you get started with running apps in Docker.
seatable - SeaTable: easy like a spreadsheet, powerful like a database. Unlimited rows in a single base.
huproxy
OpenMediaVault - openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. Thanks to the modular design of the framework it can be enhanced via plugins. openmediavault is primarily designed to be used in home environments or small home offices.
nextcloud - Ansible playbook to install nextcloud, php, nginx or apache, mariadb or postgres, redis-server, onlyoffice or collabora office
FreeNAS - TrueNAS CORE/Enterprise/SCALE Middleware Git Repository [Moved to: https://github.com/truenas/middleware]