I interviewed Brian J. Fox, the creator of Bash
podcast.curiefense.io
podcast.curiefense.io
It's been kind of difficult for me to reconcile considering that this is the dude who co-wrote frickin bash, but then I look at how weird of a language it is for shell-scripting and I totally understand.
It is not a scalable attitude to have in the modern software world.
Why should titles read like they are in a journal, after all they wouldn't allow you to comment at all.
https://www.amazon.com/Bash-Reference-Manual-Chet-Ramey/dp/0...
In other words I don’t think Ramey was being dissed in this case.
If you aren't a developer: just download a pre-compiled build; the 0.9.33 build that came out a couple days ago works great. I also have GitHub Actions set up to do a complete build of all of our components every time we do a push, and so you're also able to go back 90 days or whatever they hold on to and download a server asset. This also means I know 100% that it compiles OK ;P.
As for actually succeeding in selling bandwidth, that is fully possible right now (and has been since the network launched)... but, very awkwardly, not to the (vast) majority of people who are currently running our client in its default configuration. You will need to get users to 1) purchase OXT and manually set up their account and 2) get them to change the default "curator".
This is due to a combination of factors, but the deepest one--as in the one that is serving to be most difficult to fix, both internal and external to the project, as well as the one that personally frustrates me the most (if you know who I am ;P)--is that our users mostly buy in using "in-app purchases", which has led to us implementing various restrictions on spending them.
The result, though, is that if you go through all of the trouble to get set up right now, you won't actually get to experience anyone paying for your bandwidth in practice, even though I solemnly swear that the system is legitimately decentralized in that nothing is actively preventing that from happening: the system launched in December 2019 and has been "fully functional" ever since.
I, thereby, am quite reticent to publish an easy-to-follow guide where step 5 is "now be disappointed in the result", as I don't even think that is a valuable use of time for the people who are trying to contribute to the system. The best things you can do to help are: 1) lobby against Apple/Google; 2) improve the state of play for wallets; and 3) get people to download/use the client.
(As for something like a "roadmap", I try to prevent anyone from telling people about the order/timing of work we are doing because the system should be considered functional "as is"; I think most projects that have "roadmaps" in this space use them to cause people in the ecosystem to speculatively purchase large quantities of what should really be a "utility token". I hope you understand.)
(That said, there is some public discussion of this specific task--to make it easier for people who have a copy of the server to run a node--related to an issue that I feel able to point you at: https://github.com/OrchidTechnologies/orchid/issues/103. I will, admittedly awkwardly, not comment on whether or not I intend to make a commit in the near future to address this deficiency.)
Browsing through the code, it looks like Orchid's xdai contract is https://blockscout.com/xdai/mainnet/address/0x6dB8381b2B41b7... -- which shows in-app purchases of bandwidth being a bit less than $75,000 total for the last two years. Is that right, or am I missing something?
> I think most projects that have "roadmaps" in this space are using it to cause people in the ecosystem to speculatively purchase large quantities of what should really be a "utility token".
https://www.coingecko.com/en/coins/orchid-protocol shows Orchid's trading volume as $22 million for just today...
The issue is that the money comes in different shapes and forms, and individual users have access to different forms of money and individual servers accept different forms of money... and due to restrictions put in place by Apple and Google, we were forced to go to great lengths to support the ability to pay for the service using "in-app purchases", which results in a very large number of users having money that has been constructed--on the blockchain--to only be able to be spent with a set of servers that we are legally required to collect personal information from, making it "permissioned" if you want to accept that money... which you don't have to, but you aren't going to make much money.
It thereby isn't that the software we have released is in any way centralized: it isn't. The directory of providers isn't either. It isn't that any of the "protocols" I designed for this are somehow decentralized vs. centralized (I'm not even sure what that would mean: it would be like claiming OpenVPN is decentralized but NordVPN isn't? at best that would be, as I said, "trite"). The status is more that you are opening up shop in a bazaar, but weirdly most of the customers aren't carrying around cash, but you aren't allowed to accept credit cards. There's nothing preventing you from selling to any of these people, though. There isn't some server I'm running that is holding the entire thing together like the keystone.
Where it just kind of burns me up, though, is that the vast majority of people in the crypto space are just looking for "an easy buck", and so what they are looking for are easy to follow instructions to "stake money and get rewards", and the reality is that I know that the current state of Orchid would make those people sad, and so I don't go out of my way to bother making a "guide" where step 5 is "you are now sad"; to me, this is part of "being honest about what we have". But like, it isn't hard to run the server: you just need to be pretty comfortable calling functions on Ethereum contracts with a wallet and be able to deal with a relative paucity of documentation... I think that maximally prevents deception.
There are other solutions right now that, in contrast, I would argue "aren't honest": they are actively getting people to run servers, for example, but they don't even have payments at all yet, and have said every month for over a year that they will have payments in place "soon"... or they have a system set up to pay for servers using "inflation" on some underlying investment asset, and then report an APY that is largely based on the value being held up by speculation. Orchid has had payments working--in a way that is absolutely decentralized and which works over a legitimate utility token... but at a small scale--ever since we launched in December of 2019. It is just that we were also forced to build a second set of users by companies like Apple and Google to support their App Store monopolies, and those systems massively out-compete our decentralized users :/.
https://github.com/binance-chain/bsc/issues/113
(To be fair to them, neither does Polygon/Matic anymore, and there it was seemingly a more fundamental limitation... and, honestly, if it were only Binance Smart Chain that were limited, I would not have really cared as that chain is extremely centralized in a way I would find scary for our users.)
https://bitcoinist.com/get-educated-on-binance-smart-chain-d...
It seems like the Tor network doesn't have these problems.
If you just don't like money being involved, then you are leaving a lot of speed on the table (Tor clearly has a public good issue: they want you to use it... but not waste it, which is weird). (And like, they know this, and want to figure out how to add payments, but they are--I think intelligently--having issues figuring out how to support payments while keeping their goals intact.)
That all said... Tor is also only barely decentralized, if we are on that topic :( it has only like 9 directory servers, you certainly can't run your own to help/verify, and control of those servers is sufficient to pretty narrowly direct traffic. When asked "what would you do if someone threatened your family to alter the results from your server?", the Tor developer I talked to seriously seemed to have not considered that problem before? It was strange.
I've gone to great lengths to try to prevent anyone at Orchid from having that level of control, even when dealing with money purchased via in-app payments (so: no one come threaten my loved ones? it won't help you ;P).
If the goal isn't "Anonymity Online" (taken from torproject.org), what is Orchid's goal?
> afaik Tor still doesn't have a working iOS port
https://blog.torproject.org/tor-heart-onion-browser-and-more...
As for Onion Browser (which is notably a third-party app), I will clarify (as I'd assumed the points were taken together): Tor does not have "a working iOS port" capable of VPN-like service (what Tor sometimes calls "transparent proxy"), such as to use apps like Facebook, WhatsApp, or Instagram over Tor (as in, something useful to accomplish the goals of a user on mobile, as the world--and to be clear: this sucks--is no longer truly accessible via the web). This would require a Network Extension on iOS, which has very weird and somewhat frustrating resource limitations... and here I will note that I know well the developer of iCepa (mentioned in that blog post), and, due to life circumstances, he had to abandon that work many years ago (before it was able to be finished).
FWIW, I entirely appreciate that Tor isn't really designed to support "VPN-like service" (and, in fact, goes so far as to discourage the usage of their "transparent proxy" functionality): they do not consider that to be an appropriate way to implement "anonymity online"... which maybe helps make the difference between the projects clear? Brian (Fox!) had had a great explanation (this isn't an exact quote... I believe he worded it much better): Tor attempts to make you "anonymous" online (which really requires a browser); Orchid, in stark contrast, can help to make your communication "private", helping prevent third-parties (whether ISPs or governments) from interfering with your communication (which may or may not be "anonymous": that's kind of out of Orchid's control).
The real blockchain transaction volume we do is for backing the payment system, and there I'll note that Orchid's payment layer is somewhat chain agnostic: I designed the payment protocol to support some level of negotiation on how the payments happen. Right now, many of the active users happen to use xDAI (which is not based on proof of work).
Not a bad legacy at all.
Here's more in case anyone is interested:
https://timharford.com/2021/05/cautionary-tales-do-not-pass-...
It’s a great book - a gem amongst code books.
Bash copied a lot from ksh and zsh (and zsh also copied a lot from ksh), which was a closed "improved Bourne shell" at the time.
Sadly the podcast ecosystem is fairly brittle like that due to client/aggregator expectations. (e.g. there is a whitelist of a dozen CAs your HTTPS cert is allowed to have if you want it to work with iTunes etc)
> Linux Is Now on Mars, Thanks to NASA's Perseverance Rover
> Previous NASA Mars rovers mostly used an operating system from Wind River Systems. But this time, the space agency chose Linux for Perseverance's Ingenuity helicopter drone.
https://linuxunplugged.com/396
> [audio] Tim Canham, the Mars Helicopter Operations Lead, shares Linux’s origins at JPL and how it ended up running on multiple boxes on Mars.
Could you recall any sources to this?
Just because they are using OTS hardware doesn't mean it doesn't go through verification and testing, it just means they are buying hardware instead of making it themselves.
edit: found the paper https://trs.jpl.nasa.gov/bitstream/handle/2014/46229/CL%2317...
How the First Helicopter on Mars Uses Off-the-Shelf Hardware and Linux
https://thenewstack.io/how-the-first-helicopter-on-mars-uses...
https://archive.fosdem.org/2018/schedule/event/code_parsing_...
A major goal of this later ADA implementation is readability, in addition to (Windows) performance and ADA's safety.
That is not a statement about a formally verifiable program that I would base a billion-dollar program on.
Bash powers probably hundreds of billions of dollars worth of critical infrastructure...
"a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when the nounset option is enabled no longer throws an unbound variable error."