Conscious Computation


When I came to RC it was with the intention of working on something called conscious computation – how to use computation to make us more conscious (not to affect our consciousness like some psyop or MKUltra project).  There is also the inverse question of what consciousness means for a computer and does a computer have an unconscious, but I wont be working on that right now. Today I made some strides in my road map, my dev environment and stack and I created an org on github : consciouscomputation.

My main project is a prayer blockchain.  My plan is to implement a prayer as a NFT (non-fungible token) – or perhaps extend the NFT and create a new type of ERC token.  Tomorrow I am having a brainstorming session to help hammer out some design and functional issues around the creation of a prayer token – and come up with a name. Some questions are:

  • What does it mean to own a prayer? Can we come up with some idea of communal ownership, or non-ownership?
  • How is a prayer created?  Do people submit prayers and then one is randomly selected to be instantiated? Do people vote on prayers? Do you buy a prayer (NO!)? Can you create a prayer with another prayer (e.g., create a liturgy)?  Can you create a prayer with an object (e.g., create a ritual)? We could probably do a bunch of these things but I will start with one.
  • What kinds of things can prayers do? Can they donate to a charity? Can they call a friend? Do they just print a mantra to the blockchain? It will probably be something simple to start but I would like this to be extensible enough so people can add different activations. How do we make the prayer extensible without having to program in solidity – how can it be as easy as integrating with a REST API – how can we just add I/O (or really just Output)
  • What kinds of things can people do with prayers? They can make a prayer. They can amplify a prayer, like I can take someone’s prayer and pray with that prayer. What does that mean for the prayer. It accumulates more value – but what does that value translate into.
  • How do you remove a prayer? How do you monitor bad or hurtful prayers – prayers that are not really prayers?
  • What kind of blockchain will this run on – the main ethereum blockchain or should I run a parallel blockchain or PoA ethereum chain. (This is not really contract related – but it relates to the next question)
  • How are prayers mined? Why is it important that the we know which prayers were actually made and that the blockchain validates this? Why do we need crypto? Why do we need a blockchain? I would say there it is important to have social proof and public proof of the prayers (wishes and desires) of human kind. That a 51% attack would create a  false consciousness  – where by we would be deluded as to the state of what people truly desire (fake news anyone).

As of today I plan on using the Ethereum blockchain, ReactJS,  the truffle contract framework, node for backend, mongo for caching and perhaps data not persisting to the blockchain, and  metamask for login, all to be deployed on AWS (or maybe heroku) – or maybe microservices with lambda. If I decide to run my own blockchain it will probably be an Ethereum PoA blockchain.  I am going to deploy with Terraform.

But I cannot forget the small side projects. I continued working on my Haskell learning project and the work is coalescing around a virtual prayer wheel. I will put these side projects in their own github repo under the conscious computation org. This one is called “prayertech”, and hopefully I can integrate some of the shader work I did a few days ago and make a 3D prayer wheel that generates mantras with Haskell. I learned that  Euterpea does not work with Haskell stack, so I am looking for a new music library or maybe I just wont use stack for this. As I continue to build out the prayer blockchain, I will probably take a hour or so a day and work on a toy project related to conscious computation but exploring a new topic – maybe a new language or library, or technology such as cryptography or machine learning, or to explore an idea.

Language Day: Haskell


Today I had some plans to rewrite my python trading bot in Rust. I don’t know Rust too well, but I have wanted to build something with it since I started going through the Stanford experimental OS class.   Instead,  I started learning Haskell. (And I installed neovim after seeing a fellow recurser use it during mob programming. And I turbo charged my .vimrc.)

The first activity of the day was pair programming, and I pair programmed with someone who, like me, did not have a lot of experience with Haskell.   So our pair programming was more like pair learning.

This was interesting in that it drew attention to my habits of learning new programming languages. My pair had different habits and together we approached learning Haskell in a way neither of us would do on our own.   This I found refreshing.

After that I picked up a Haskell book from the library upstairs and immediately felt like I was thrown back to a theory of computation class and context free grammars and all that jazz- are Haskell  languages just really grammars??  Maybe its all the pipes?

I do feel like Haskell is a well made language and I love how the language seems to build itself from its own ‘primitives’.   That said, I think it would take me a while to develop a real mastery.  My goal with Haskell is to finish up a toy program tomorrow and then move on to my main crypto project with a code review of truffle – and forget about the rust trading bot -even though it has been on my todoist for 8 months.

However, I am going to end this with a coda. Being at RC reminds me of Virginia Woolf and A Room of One’s Own :””In the first place, to have a room of her own, let alone a quiet room or a sound-proof room, was out of the question, unless her parents were exceptionally rich or very noble, even up to the beginning of the nineteenth century” (also true for NYC in the 21st century especially if you have some kids and a dog)

Right now, I feel being at RC is sort of having a room of my own, a space to sit down quietly and go down the rabbit holes with out the pressure of optimizing every moment for action or production.