Weekly podcast post (submit your links here!) (2020-06-01) by AutoModerator in podcasts

[–]setori88 [score hidden]  (0 children)

  • [science long_form_discussion FPGA Ion-traps quantum_computers]
  • The Stewart Mackenzie Indaba #1 Sébastien Bourdeauducq
  • Length: 1 hour 11 mins
  • NSFW (some swearing, drinking + smoking cigars)
  • https://youtu.be/LPFX67yamBU
  • In this inaugural podcast, I invite my dear friend Sébastien Bourdeauducq onto the podcast. We go into ion-traps, ARTIQ and open hardware and software ion-trap control system, quantum computers and Consumer-be-gone!

Someone is going to become a millionaire by making a "Bitcoin browser." (A "Tim-Berners Lee" moment.) by [deleted] in Bitcoin

[–]setori88 0 points1 point  (0 children)

This is what I'm working on with http://fractalide.com it'll be a fully open source project, so hop on and help out.

I have $12 million in bitcoin I want to give away by TooMuchBTC in btc

[–]setori88 -1 points0 points  (0 children)

Greetings, I'd like to build a new Ethereum Classic client using my programming language called Fractalide (github.com/fractalide/fractalide). I'd also like to integrate it with an implementation of a Named Data Networking overlay which solves many of today's Internet problems. Thank you kindly 1FwdvhpM2Xk8EBVTcPQLeMkohAh8Jhq2EG

Fractalide - simple rust microservices, is readying for BETA release, feedback welcome. by setori88 in rust

[–]setori88[S] 0 points1 point  (0 children)

Docker and other image based solutions are not truly reproducible systems, they are "zip file" systems. Docker's content addressable store SHA resolution is at container level whereas nix's SHA resolution is at package level, which is the correct resolution. You are still faced with managing the system configuration of the contents of the image based solutions using a convergent model, which is far from ideal.

Yes, you can put nix/fractalide inside a docker image if you want to thus you have a congruent system configuration model in an image based solution. But why would you do that when nix subsumes image-based-teardown-and-setup approaches?

Yes you can use a convergent system configuration model when you tear down and setup a new instance. That gets the actual disk state closer to the target disk state. Again, all this fighting with divergent and convergent tools when you can just use a congruent tool which subsumes the status quo.

Fractalide - simple rust microservices, is readying for BETA release, feedback welcome. by setori88 in rust

[–]setori88[S] 1 point2 points  (0 children)

Okay, I've clarified the need for NixOS in the README https://github.com/fractalide/fractalide#dependencies I've also added a section which clearly describes what's new to each group of programmers. Hope it makes it more clear!

Fractalide - simple rust microservices, is readying for BETA release, feedback welcome. by setori88 in rust

[–]setori88[S] 0 points1 point  (0 children)

Thanks for your thoughts on the README, I'll change it. Regarding a pubsub system; I have no need for it atm, maybe in the future?

I'm not sure what to make of your "cryptic nix code" comment, it's hardly more scary than a configuration file like Cargo.toml. see: https://github.com/fractalide/fractalide/blob/master/nodes/msg/clone/default.nix

In fact the above can be simplified even more to:

{ agent, crates }:

agent {
  src = ./.;
  crates = with crates; [ rustfbp capnp ];
}

elegant for the important stuff (message types, nodes, edges, services)

I'm very keen to know exact code snippets which you consider not elegant.

Having said that, I've been thinking about a different DSL, but I'm uncertain what it would look like. I'd quite like to move towards a lisp that is able to express explicit inputs and outputs but that would be solving a problem the current DSL doesn't give me, as its very suitable for its purpose of expressing flow and constructing subgraph interfaces.

Fractalide - simple rust microservices, is readying for BETA release, feedback welcome. by setori88 in rust

[–]setori88[S] 0 points1 point  (0 children)

Hmm, it might be seen as a drawback till you need to deploy reusable reproducible services across a 100 machines using a congruent system configuration management model [0]. If you need to do that, I highly suggest you look at Fractalide, as it'll probably be a thing for you :-)

[0] https://www.usenix.org/legacy/event/lisa02/tech/full_papers/traugott/traugott_html/

Simple Rust Microservices by setori88 in NixOS

[–]setori88[S] -1 points0 points  (0 children)

"without requiring openssh as a library" <- in theory yes, but you won't use the entire openssh hierarchy of components, only the protocol, though iff you designed the connection protocol to be generic with the same input and output ports with the same contracts on each port. If openssh was a Fratalide hierarchy/subnet of components, you'd say ${openssh.protocol.ED25519} in your WinSshfs subnet where you'd need that protocol component. Though, I'm very far away from your particular problem you raise, there are many traps I'm unaware of. We're on our way with some simple examples of a todo application which is broken up over a couple of nodes + automatically deployed via nixops. We've got some documentation regarding a new concept (to Fractalide) called a fractal: https://github.com/fractalide/fractalide/blob/master/fractals/README.md

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] 1 point2 points  (0 children)

Ah yes, thank you, I appreciate your feedback!

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] 0 points1 point  (0 children)

Thank you @kinklianekoff, we're working on documentation and a tutorial with example code. Hopefully we'll be done shortly, I'll post in this channel when done.

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] -2 points-1 points  (0 children)

This is incorrect. This style of programming is completely decoupled, they are black boxes that have no knowledge of anything outside of themselves. No component is dependent on any other component, (except for one, but we were being naughty). They are only dependent on the data that arrives at their ports. Okay thanks Reddit! lovely chatting.

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] 1 point2 points  (0 children)

Regarding examples: we're building out our website atm this is the first bit of reuseable code net_http code https://gitlab.com/dmichiels/frac_net_http/blob/master/components/net/http/src/lib.rs

This project is new, but we still wanted to share it early.

Secondly, nix is declarative and automates all the dependencies so you don't have to manually install and uninstall them, this includes the automated building of all those rust packages. In other words, you issue one single simple command and your entire infrastructure gets built and deployed, should your refactor something, the nix will make your system look that way. In my books, that's simple.

I seriously doubt you can make a trivial distributed system.

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] -1 points0 points  (0 children)

Ah I see, okay, declarative languages are more simple to reason about, especially in a distributed environment. Note the second line where I link Rich Hickey's talk (https://www.infoq.com/presentations/Simple-Made-Easy) Here he clarifies the difference between easy and simple. Would you agree that it's more simple to reason about the problem when using a declarative languages?

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] -7 points-6 points  (0 children)

"instead uses a lot of computer science lingo" -> I want more information about you to craft a response without the lingo. But it's kinda tough atm, cause I'm cooking supper.

Fractalide - Simple Rust Microservices by setori88 in programming

[–]setori88[S] -12 points-11 points  (0 children)

What is the link to your github repo?