I'm a software engineer with a focus on P2P, Node.js, React, Blockchain and Electron.
Currently I'm creating Filecoin Station (desktop app) and Meridian (decentralized impact evaluator) at Protocol Labs.
AnarchyOS
License: MIT License
I'm a software engineer with a focus on P2P, Node.js, React, Blockchain and Electron.
Currently I'm creating Filecoin Station (desktop app) and Meridian (decentralized impact evaluator) at Protocol Labs.
there's some confusion about what this will be on the technical site:
I'm quite sure we need to be able to run C applications, so just javascript / browser is not an option.
An entire os would allow for most flexibility but is a huge amount of work and slows down adoption times.
If we can make it so that you can run anarchyos on top of your host os - which needs to be *nix based - we'd have the best of both worlds and can still level up to a whole os later.
Hey,
I put a little thought into our package manager.
I'm bad at names so there's none.
Tricky part is how to support "legacy" applications. This means that we have to provide at least:
/usr/local/bin
and /usr/local/sbin
/usr/local/lib
/usr/local/include
A generic solution to that would be to make a package list its own links, relative to prefix (let's stay with /usr/local
?).
So I thought up this packet.json
format:
{
"links": {
"bin/me": "bin/me",
"sbin/me-admin": "bin/me-admin",
"lib/libme.so": "libme.so",
"include/me.h": "include/me.h"
}
}
This would create links at specified locations, pointing to the installed version.
User would be able to change them with <p-m> select <packet>@<version>
(this'd relink) or drop into the right subshell with <p-m> use <packet>@<version>
.
To ensure that dependencies are satisfied during the compilation, we'll simply be able to execute the compilation in a subshell started with <p-m> use <dep>@<version>
.
I think this frees us from handling recursive dependency trees. Imagine this kind of dependency tree:
a
depends on [email protected]
and [email protected]
b
depends on [email protected]
c
depends on [email protected]
So, we'd compile b
after dropping to a subshell with [email protected]
and then c
, after dropping it to a subshell with [email protected]
. Disclaimer: I have no idea if this won't cause some weird linking conflicts.
The database could live anywhere. Format could be similar to:
me
| - 1.0.0
| - packet.json
| - bin/me
| - ...
| - 1.0.1
| - packet.json
| - bin/me
| - ...
What do you think?
I think it would be good to casually list other projects that are in a similar vein, describe their relation and how this is different / more awesome.
We need something like nvm/nave for EVERY command and library. Some prior art:
http://modules.sourceforge.net/
With the modules package you do module load NAME@VERSION
and it creates a subshell with the module or library NAME at the requested VERSION and the LD_LIBRARY_PATH and PATH are updated to point to the vendored lib/ and bin/ directories for NAME.
I know this is very early on in its inception, but it's important to understand how this can succeed given the current ecosystem of technology. With merits & downsides.
The main options as I see it:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.