Imma let you finish but Nix had the best repeatable, declarative, deterministic dependency management of all times…of all times.
Plutus, Haskell, Nix, Purescript, Swift/Kotlin. laser-focused on FP: formality, purity, and totality; repulsed by pragmatic, unsafe, “move fast and break things” approaches
AC24 1DE5 AE92 3B37 E584 02BA AAF9 795E 393B 4DA0
Imma let you finish but Nix had the best repeatable, declarative, deterministic dependency management of all times…of all times.
Ruby, Python, PHP, and JavaScript. 🤮
Trying to build Lemmy entirely from a flake for my rolling fork. I’m a big Nix fanboi so I figured the first project in my fork would be to get it running like I did with my Haskell/Purescript projects that use nix and flakes for EVERYTHING.
edit: anyone out there have any pointers?
I’ve been looking into building and developing a Lemmy fork using Nix but I got stuck on nixifying the part of the build instructions where you have to combine front end and back end in git submodules. It’s a bummer too because I won’t even write a single line of code on this fork until I have it properly setup with flakes. It’s just how I am. 🤣
Maybe my flake can help you get Tauri working and maybe that would motivate you to help me get Lemmy working with Nix tooling instead of Ansible and Docker as it is now? ;)
Nice. I don’t know much about Nim.
I should also mention: Once Purescript switches over to a Chez Scheme compiled back end, it would be (IMO) the ideal lightweight Haskell, suited to quick terminal apps that you’re looking for.
As someone else mentioned, you should rewrite this in Haskell (or Purescript or Scala or even Python’s ‘Coconut’) because using vanilla Python for functional programming is like driving Formula 1 with a Toyota Camry.
Learn Haskell.
Since it is a research language, it is packed with academically-rigorous implementations of advanced features (currying, lambda expressions, pattern matching, list comprehension, type classes/type polymorphism, monads, laziness, strong typing, algebraic data types, parser combinators that allow you to implement a DSL in 20 lines, making illegal states unrepresentable, etc) that eventually make their way into other languages. It will force you to learn some of the more advanced concepts in programming while also giving you a new perspective that will improve your code in any language you might use.
I was big into embedded C programming years back … and when I got to the pointers part, I couldn’t figure out why I suddenly felt unsatisfied and that I was somehow doing something wrong. That instinct ended up being at least partially correct. I sensed that I was doing something unsafe (which forced me to be very careful around footguns like pointers, dedicating extra mental processes to keep track of those inherently unsafe solutions) and I wished there was some more elegant way around unsafe actions like that (or at least some language provided way of making sure those unintended side effects could be enforced by the compiler, which would prevent these kinds of bugs from getting into my code).
Years later, after not enjoying JS, TS (IMO, a porous condom over the tip of JavaScript), Swift, Python, and others, my journey brought me to FRP which eventually brought me to FP and with it, Haskell, Purescript, Rust, and Nix. I now regularly feel the same satisfaction using those languages that I felt when solving a math problem correctly. Refactoring is a pleasure with strictly typed languages like that because the compiler catches almost everything before it will even let you compile.
I suppose, if it comes to that, nothing is stopping devs like me from hard-forking Cardano’s open source code and launching that fork with a 100% public initial token allocation. I’ve honestly already been considering that option for a while now.
Hopefully you’re wrong and it never comes to that… but I’d be ready if it did, for sure.
None of them do what I’m trying to do but thanks for the advice. I’m working on a DApp in the Cardano ecosystem that uses data from an Oracle on Ergo. Not sure if you consider Cardano or Ergo illegal securities but the SEC hasn’t come after them YET.
I’ll sincerely take your example/suggestions to heart moving forward on my own project. I had different ideas about what a fair distribution is and this really turns that on its head. This idea satisfies many of the more egalitarian instincts I have.
Thank you.
Interesting. I like your idealism.
As a dev myself, it’s a pretty hard sell to get collaborators as it is. I can’t imagine that I’d be able to find ANY if I were to roll my entirely own cryptocurrency with fully realized tokenmonics on consensus algorithm on day one. Sounds like your idea couldn’t possibly be implemented in a staking context as well.
Do you know of any projects that did it this way (Bitcoin, IMO, doesn’t count since the devs DID end up taking a huge stake in it for themselves)
Do you count the core devs (who maintain/write the core protocol), the foundation (preferably a DAO or voting based organization that is responsible for earmarking the funding for the upgrades and projects for the community), and treasury (that distributes mining/staking rewards and collects the fees for later distribution) as fair distribution? I do (depending on the structure of the aforementioned organizations obviously). Just wondering where you sit on that issue and any of projects that you can point to that have that ideal token allocation you speak of.
I haven’t found a more fair ITA than Ergo but then again, the Ergo project seems to have trouble paying/attracting really solid core devs other than the founder, Kushti.
Edit: took out some mention of my favorite project. Want to be impartial here.
As a crypto enthusiast and DApp dev, IMO this (and indeed most crypto projects especially ones that are really nothing more than ERC-20 or BRC-20 tokens) raises major red flags for me. IMO, it is sketchy moonboi shit.
If a hype-drenched crypto project is brand new and is already aggressively marketing itself with no discernible real world utility or reason for the disbursement of “governance tokens”, solely fixated on “number go up”, it is usually a scam/pump and dump.
Taking a look at the Initial Token Allocation for this project definitively allows me to make conclusions about the team’s honesty and trustworthiness.
So without further ado:
check out the super sketchy token allocation (they try to break up different groups of insiders to try and hide the fact that most of the token goes to insiders and private investors…compare that to Ergo and it seems incredibly greedy in contrast):
17% — StarkWare Investors
32.9% — Core Contributors: StarkWare and its employees and consultants, and Starknet software developer partners
50.1% granted by StarkWare to the Foundation, earmarked as follows:
9% — Community Provisions — for those who performed work for Starknet and powered or developed its underlying technology, e.g. via past use of the StarkEx L2 systems. Crucially, all Community Provisions will be based on verifiable work that was performed in the past. For example, to the extent Community Provisions will be given to past StarkEx users, allocations will be determined based on verifiable usage of StarkEx’s technology that took place prior to June 1, 2022.
9% — Community Rebates — rebates in Starknet Tokens to partially cover the costs of onboarding to Starknet from Ethereum. To prevent gamification, Community Rebates will only apply to transactions that occur after the rebate mechanism is announced.
12% — Grants for research and work done to develop, test, deploy and maintain the Starknet protocol
10% — a strategic reserve, to fund ecosystem activities that are aligned with the Foundation’s mission as explained in the previous post in this series.
2% — Donations to highly regarded institutions and organizations, such as universities, NGOs, etc, as decided by Starknet Token holders and the Foundation.
8.1% Unallocated — the Foundation’s unallocated treasury is in place to further support the Starknet community in a manner to be decided by the community.
For one, FPTP doesn’t get enough credit for just how nefarious it is. And let me be clear: I am speaking of the presidential election specifically, though I’m sure this applies to many aspects of this “democracy” including state elections, etc that you mentioned.
Instead, the overarching establishment narrative likes to point the finger at the electoral college (which also quite heavily biases the power of votes toward voters in less populous areas and states).
Since the established oligarchs (who own the news outlets) tend to control information delivery in this country, how would you break through that wall? Would you engage in peaceful protest (or self immolation)? Well, they’ve got a playbook for that too. They will discredit you and make you seem unhinged. For proof of that, look at the way they’re delegitimizing the brave, selfless active duty Air Force member who engaged in peaceful protest by self immolation outside of the Israeli embassy against the Gaza war for just how easy it is. Most news watching voters probably already think he was crazy. It didn’t quite have the power that that act had during, say, the Vietnam war.
Since you’re here, I’m guessing you’re a software engineer. Do me a favor: Model the real world dynamics of a US presidential election using domain driven design, making sure to accurately represent the two objectively unfair stages:
Rule #1: All candidates must pass stage 1 to be eligible for stage 2.
In stage 1, feel free to cheat, commit fraud, and engage in any strategy you need to prevent anyone but the owners of the party’s preferred candidates from winning. After all, your party is a private organization that can engage in whatever unfair tactic they deem necessary.
In stage 2, (if you’re paying attention, you ALREADY have irreparably biased the possible outcomes by cheating in stage 1) because of FPTP, you can now simply choose between only two of the MANY, MANY parties.
If you designed a system like that as a software engineer, your colleagues would be at your throat about how flawed that design was. However, here in the US, that’s just the design of our dEMoCrACy oF tHa gReATeSt cOuNTry iN tHa wErLD! 🥴
Edit: That “much worse” statement seems to come from a place of privilege. Don’t forget that. RIGHT NOW, more people are homeless and destitute than any other time in MY LIFE (I was born in the late 70’s). And most people literally have no say in whether or not their tax money is being used to genocide Muslims overseas to make room for a puppet government. Remember: You’re an anti-Semite if you oppose genocide.
Don’t blame the victims for a sham of a democracy. First-past-the-post (FPTP) is there to prevent anything outside of a two party system where primaries are filled with (fully allowed) election fraud and cheating.
“we could have voluntarily decided that, Look, we’re gonna go into back rooms like they used to and smoke cigars and pick the candidate that way. That’s not the way it was done. But they could have. And that would have also been their right.” - DNC Lawyer
I want to scream, “try Purescript” when I watch this video. This guy clearly loves Haskell but doesn’t seem aware of Purescript.
This is incredibly well-written and informative. 👍🏼👍🏼👍🏼👍🏼👍🏼👍🏼👍🏼
Rust ✅ WASM ✅ HTML 5 Canvas ✅
Excellent.
…and that’s why it is wise to use monadic parsers at the input boundary.
I’m glad to introduce you. :)
Yes (though not as deterministic as Nix).
Yes. I know.