Latest | Categories | Top | Blog | Wiki | About & TOS | Imprint | Vision | Help | Fractal Generator | Futurist Directory | H+Pedia

Can we program something together?


(Michael Hrenka) #1

Wouldn’t it be great, if we could collaborate on a Fractal Future software project and actually create something that becomes a building block or a tool for building a better future? Yeah, of course that would be great! But can we actually do that? Do we have the will and ability to stick together, collaborate, and compromise, so that we get some kind of open source software that is the result of the combined effort of this community?

Honestly, I don’t know, so let’s find out! The first step would be to agree on something that we want to build. And then agree on how we build it. The third step would be to start building it. If we don’t succeed on the first two parts, that will be ok, too. It will demonstrate to us that there are issues we would need to resolve, before we are ready to actually become a collective of programmers.

Is there any kind of software you wished existed already? If so, throw it into this thread. Everyone should see that there is demand for this thing you want! Now, without further ado, here’s my humble list of software I want to see existing in this world:

  • Quantified Prestige (obviously I want to see the system I devised implemented in code)
  • Really good time management software, even if it’s just for personal use, though group task / time management software would be even more awesome (though after some research HiTask comes pretty close to what I envisioned)
  • A terrifyingly complex, addictive, and virtually infinitely playable tactical role-playing game (that might even increase the intelligence of its players ;))
  • A futuristic economy simulation MMORPG
  • A superior open source version of Slack that is integrated into Discourse

Of course, any early version of any of that will be very crappy when we try programming it together, but we might be able to get better and use our soon found skills to create something cool. And the effort to do that will be fun. So, what do you want to see – or create?


(Eric Hunting) #2

I have a number of software projects in mind that I lack the skills to develop myself. The first is a very advanced project called the Digital Tao, which was the subject of a paper I wrote for Tallinn U. The Digital Tao is a vision of future automated resource-based economics mediated by Social Capital tracked through Social-Semantic Networking and a common Semantic Desktop platform. Semantic Web technology is bleeding-edge computer science, so it’s probably beyond the scope of things here, but here is the paper for those who want to take a look at this concept.

Next is a concept called Hyperborea; a VR social platform based on a P2P architecture and the use of generic Web data resources.

Because most VR and graphic chat application development is done by people from the computer game industry, it tends to conform to their orthodox notions and as a result typically makes the same set of mistakes over and over again. First, they’re usually based on a notion of monetization through virtual real estate speculation. They think they can make money by create this large collective mass of virtual space they can parcel-out to end users. Ultimate ownership of the real estate of the environment compels a reliance on centralized system architectures, which if the platform becomes popular quickly becomes unwieldy. Third, used to thinking in terms of environments as ‘content’, they overlook the fact that VR is, in fact, a social environment and thus the most important features to end users are not those involved in building and customizing the environment but the creation, customization, and potential expression of avatars. The result of these misconceptions is the ‘ghost town’ phenomenon common to platforms like Second Life where vast areas of uninhabited fenced-off space clutter the virtual landscape while a handful of location dominate in active population, constantly overloading their non-proportionally distributed server resources.

Using a P2P approach, Hyperborea would use client apps to interface to mediate user communication in an environment whose data is distributed across the web using conventional, generic, file/data hosting. And so the environment is potentially as big as the web itself. However, it has no one persistent collective space. Spaces, regardless of scale, exist and persist only according to their active occupancy–according to their social relevance–and the active client programs linking to them. When unoccupied their data is simply stored. And so the Hyperborea VR environment is a kind of multiverse of pocket space that are task-specific in design, can be privately or publically owned, and which pop in and out of existence as actively used. A distributed blockchain-like database, possibly hosted on light servers akin to DNS, would maintain the simple state data of the collective environment; where to link to environments, who’s active and visible, what environments they are in, what the general traffic in different environments is.

Recognizing that VR is a social space, Hyperborea would be heavily focused on the craft of the avatar, its automated behaviors, and the potential for interaction between avatars. It is premised on the idea that VR is a performance space where people ‘perform’ for each other. The monetization model of Hyperborea is primarily the creation of tools for the platform and the independent development of environments, avatars, and accessories, script coding, and discrete environments hosting things like MMO games or exclusive environment artwork and thus employing some kind of paid access. The general platform, however, would be completely open.

The P2P architecture of Hyperborea would be specifically intended to allow the client program API to host bots that interface to the collective environment just like human end-users and have all the same interface capabilities. This is intended to allow the platform to become a research platform for AI. Hyperborea would be the development of a native habitat for AI.

The next software idea I’ve been thinking of is an Open NARS based platform for personality/behavior craft that can be applied to both digital characters (including Hyperborea bots) and personal robots. It would be a graphic based modular programming environment that allows for the creation of behavior trees and learning matrixes to allow people to customize their digital characters and personal robots personalities and behaviors. While some developers are starting to clue into the social nature of robotics and the potential value of robots as companions and entertainers, they have still overlooked the notion the craft of behavior programming as a hobby in itself and attraction to robot use that could expand the value of these robots beyond what any one company could hope to develop by itself. Consequently, most current ‘companion’ robot designs have absolutely no capacity for customization and expansion except at a very low/deep coding level.

The next idea I have is a big one called the Telebase. It would start as a telebase simulator game and then work up to the creation of actual, physical, telebase prototypes on Earth and ultimately their deployment in space. ‘Telebase’ is a portmanteau of ‘teleoperated base’ and is a facility where telerobots of various kinds are used to build and maintain a working more-or-less self-sufficient facility in a remote location–particularly in space. A telebase is like machines playing Minecraft in real life, or as I like to call it, the best model train layout ever–the kind you might one day move into.

Telerobotics is, in fact, the most likely way we are doing things in space in the future. And the telebase is the most-likely kind of facility with which we would pre-settle space in order to lower the cost of pre-establishing the In-Situ Resource Utilization infrastructure to support later manned settlement–if we ever even need it. Ultimately, the only human role is space is to be a solution to telecommunications latency for operating telerobots, which will eventually be obsolesced by AI doing the same thing but being able to travel to space by telecommunications rather than elaborate spacecraft. But in the meantime, there’s a lot of interesting development to do in telerobotics which makes space much more accessible to a broader segments of society and commerce–albeit relying on access by proxy–while also greatly expanding the potential applications of automation on Earth.

And there’s a lot of potential fun in this. A prototype telebase can be like a community model train layout that people access via the Internet. There’s this endless potential for invention and creativity. Bear in mind that the modern computing revolution actually started, at MIT, with the Tech Model Railway Club. Right here on Earth we have this vast assortment of environments that really challenge what robots are capable of and the logistics of deploying them. Right now there is an emergent (particularly in Japan and Germany) but still lesser known area of the RC model hobby focused on scale construction machines. And these models are real robots in their own right, featuring advanced microhydraulics and complex control systems. I look at these and think, this is how machines homestead. What if we actually developed purpose-built robots like this to actually build practical stuff in remote locations with the goal of one day sending them to space? What if we made an open global space program built on these community-created prototype telebases? This is something huge numbers of people could directly participate in–unlike just about everything else in space development right now.


(Eric Hunting) #3

I thought I would elaborate some more on the Telebase project idea as this is capturing my imagination at the moment.

In space we have three common environments robots will need to evolve to operate in; orbital space, planetary, lunar, and large asteroid surfaces, and asteroids. (the latter using approaches that may be hybrids of the previous two) And in each of these places there will be three variations of the basic environment in the form of ambient (outdoor), semi-sheltered, and enclosed space. (indoor and possibly pressurized) We have some additional places in the solar system presenting us with fluid environments and upper-atmosphere environments (requiring aircraft or aerostat-supported structures, as proposed for habitats on Venus) but these are rarer and will likely have less potential industrial and settlement activity. On Earth we have a broad range of additional environments owing to the very highly diverse conditions and biomes on the planet, including the newest; the human built habitat that has its own logistics issues and hazards for machines. The basic question of this project is how robots would ‘homestead’ these different environments, assuming you have no on-location human assistance? Also, what does it mean for machines to homestead? What degree of self-sufficiency are they capable of? What sort of shelter do robots need and how do they built it? How do they power themselves and manage their power needs? What are their other ‘life support’ needs and how would they be met? How are they remotely deployed and maintained?

As a software project, the basic objective is the development of a common communications and operations platform supporting alternating teleoperation and automated control that can function over very long distances. The management of a telebase calls for many operators at great distance from the telebase to be able to, simultaneously, switch between direct, group, and automated control of numerous robots and stationary systems, video monitors and sensors, which would be linked by wireless WAN and in some cases direct cabled LAN. There would need to be standardized button panel ‘console’ and first-person-view ‘pilot’ interfaces for the assortment of machines, the teleoperators using conventional workstations, VR headsets, or CAVE (CAVE Automated Virtual Environment) workstations to control the many systems and switching between them with the ease of switching between pages on the Web. This is probably not as complicated as it sounds–at least at an early stage. We’re most-likely to employ a web-like architecture in a cluster-LAN environment where each robot and system is represented by one or a hierarchical cluster of on-board ‘web controllers’ (web-enabled microcontrollers) and broader automation and group control managed off-board through high-level script-based control systems called ‘sequencers’ that run on local data centers and communicate to the discrete controllers through a bytecode API. This is well within current tech capability, but no one has developed a consolidated platform to do it–perhaps because robotics has tended to be more obsessed with hardware than software development and we have generally not thought about robots as operating in functional ‘communities’ despite research into semi-autonomous ‘swarms’.

I’ve suggested the project begin with a VR simulation because that is, ostensibly, lower in cost than making a lot of robots. But I’m actually not so sure that is the case in practice. In my own experience, I’ve had countless projects stalled by the increasing cost and difficulty in obtaining the art and design work necessary for any sort of digital media. So I often think it is cheaper and easier to just start building hardware as long as it’s modest in scale. And this project wouldn’t need robots of large scale to begin. One of its goals is to test the limits of hardware scale over functionality. It can build on what the RC hobby industry has to offer right now. And, in either case, the software platform being developed would be the same. The difference would be the addition of a virtual environment with virtual machines and it’s internet API simulating the same interfaces used by real hardware. As far as the telebase platform itself was concerned, it would be the same either way.

So where would we start? I think there are several simple device concepts that give us our starting point. First is a simple rover robot called a Mule which would have a simple form-factor like this or this. It’s designed as a transport vehicle but can support attachment of tools and arms. The next is a multi-purpose modular robot arm called an Inchworm which features dual end-effector and sensor head interfaces that can function as either a plug-in base or tool attachment. Imagine a minimalist robot arm that travels by alternately plugging into and unplugging from strategically placed anchor sockets while carrying its own basket of tools, walking end over end across the structures it works on. The third is a self-articulated monitor and lighting unit called a Glow Worm which is similar to the Inchworm but dedicated to hosting lights and video monitors. And the fourth is a Trail Marker which combines self-powered cluster network node, tracking signal transmitter, trail light, task light, video monitor, and environment sensors in one quick-deployed tripod form. These give us a starting point to develop a large family of robots suited to the three basic working environments of space and which we can prototype in modest form to use on Earth.

The basic telebase forms offer several mock-up facility forms that might be implemented indoors and outdoors. The orbital telebase offers a Space Lab based on the basic architectural model of the Transhab/Bigalow configuration and space frame complexes in multiple scales. These can both be implemented indoors using suspended/supported superstructures. The surface telebase offers the prospects of a small area indoor and outdoor mock-ups of surface terrain (as with typical rover labs) suitable for early robots, a large area Surface Complex facility that would be setup in outdoor environments as found in Iceland, the Atacama Desert, Hawaii, the US southwest, and other locations, an indoor Mine Complex facility that would simulate excavated telebase development using some kind of analog cast rock material, and an enclosed Moon Lab akin to the Space Lab but configured for a gravity environment as an analog to prefab or finished excavated/built-up structures. The many other terrestrial environments offer interesting and challenging design prospects but would be more specialized in relation to space applications. A Pelagic Marine Telebase is likely to garner interest and offers an analog to microgravity environments, but is one of the more physically challenging environments for robots of modest scale and cost.


(Manuel Vélez) #4

There are a couple of things I would like to see developed that I believe are not yet available. Here they are:

  1. Teleport family profiles: when a family moves to a new city, it is usually because either mom or dad got a new job offer. The other one, and the kids have to get around the idea, and start looking for new jobs, and schools and everything related to them in the new city. Teleport’s moto is: “free people move". I met one of the founders and they want to make cities and countries compete for talent. However, they seem to do their geographical and people matching individually. I believe there is a case to be made for families to be considered as a whole. At a certain age, probably 30+, people no longer move around by themselves, but with a significant other and in many cases, also with their kids. I therefore consider that there is an important opportunity for countries and cities to attract not just individuals, but to attract families as a whole. Recently I came across a different but related attempt by Stripe, in which they encourage teams of people to apply to the company as a team: https://stripe.com/blog/bring-your-own-team.

  2. Chat with others: a social tool where you sign up to chat with someone that holds an opposite view to yours. The idea is to get people from different views talking to each other. Normally, social chats would encourage you to find your peers, or your equals, regardless of the topic. This is the opposite. You are matched with and encouraged to spend some time with your opposites. People would be incentivized by organizations and businesses that encourage diversity. The currency, therefore, would be some sort of “diversity points”. The logic to support this is that by interacting with the other side, individuals learn to coop with differences. To recognize that not everyone is the same, or want the same.

  3. Reverse analytics, or Personalized Big Data: I recently interviewed for a sales position at an analytics company. As part of the interview, they asked me to research the product and its competitors to be able to pitch it to a potential client. With one quick search, I realized the product had more than 150 alternatives in the market. They all did something similar. They take raw data from one or several data sources and presented results in visually relevant charts and histograms. These results is what executives and decision makers rely on to make decisions. It is therefore the job of a data analyst or a business analyst to convert the raw data into relevant visuals to be presented to the decision makers, using one of the 150 options in the market. So, out of the 150 or so competitors, all of them took the raw data, and provided tools to turn it into visual representations or aggregations of it. However, none of them did the opposite. That is, taking a screenshot of a visual, and interpreting its content. This is something I do very often while I read online. I highlight text and take screenshots. In a way, this is how I take notes. I take screenshots. What I lack, and what I wish existed, is some sort of contextualizing repository (think of it as a bookmarking tool, or a Dropbox folder) that would take my screenshots, read what is in them, and start to understand its contents. At first, the content of the screenshots won’t have a lot of meaningful value. Version 0.1 could just be a tool to interpret the text in the image, and make it into text. Version 0.2 could translate the extracted text, into given languages. V0.3 could tag the text found in the screenshots with relevant tags. With time, it will start to create what I believe is a very rich collection of information that is relevant to me.

  4. Finally, my favorite is the anti-thesis to LinkedIn. I call it LinkedOut. LinkedIn is in a way a tool to leave your past footprints. A resume builder. A past builder. But it falls short when it comes to helping people build a future.
    LinkedOut is a LinkedIn for the future. It attempts to align your values and believes with your goals.
    It would ask the following of you:
    What do you want to do?
    Where do you want to go?
    Why?
    Most importantly, With whom? These entities may be individuals or organizations. For example, twitter~vitalik, twitter~shoshanazuboff, twitter~leashless, twitter~sknthla, twitter~TeresaForcadesF, twitter~howardlindzon, twitter~keskkyla, twitter~camiloromero, twitter~nntaleb, twitter~mehdirhasan, twitter~radivis, twitter~balajis, twitter~_sunilrawat. The previous are some examples of the entities I would include in my profile. This is similar to how @Radivis allocates esteem points here. But as you could see in the following examples, it would also need some way to allocate negative points to some entities. Maybe @Radivis could convince me otherwise. I would be happy to discuss it in more detail.
    It would also ask WHY to each entity as well. A good example in my case would be @JusticeScalia. I disagree with most of what Justice Scalia ever said or stood for. However, that does not mean that I disagree with everything he said. In fact, in terms of government’s surveillance, my position aligns very well with his. Read: Scalia’s take on pot Surveillance equipment used by police. Also, I may consider @A16Z and most of its partners to be aligned with me in terms of technology in general. But I also have particularly radical differences with some specific position of some partners of the firm. For example, I disagree with @BenedictEvans on surveillance and his position that he has nothing to hide about his groceries history. Therefore, I would like to be able to allocate positive points to @BenedictEvans in general or specifically in “technology" or more specifically in “mobile technology”, but at the same time, I would like to be able to allocate negative points to him on surveillance and privacy. Likewise, I generally dislike @pmarca’s take on colonialism. More so, because he sits on the Facebook board – likely the most powerful colonial entity online.
    Finally, I thought that it would be beneficial to be anonymous to create a profile. And allow range of profiles to contact you. From headhunters to companies to countries or cities. They can reach out to you. And you can come out of the shadows if you feel they can help you with some of the FUTURE goals you have.


(Michael Hrenka) #5

I kinda procrastinated on replying to this thread, but it remained as item on my to-do (on hiTask) list, so I’d like to do this now. The ideas presented in this thread are really marvellous! Thank you very much @Eric_Hunting and @manuel_velez for sharing them here! Really, there’s a lot of potential in these ideas, so it’s probably worth revisiting this thread again and again.

However, the result of this experimental thread is sobering, yet important. There are a couple of very ambitious ideas, but nobody said “yes, let’s do this” to any of them. Perhaps that’s because they were too ambitious. Nobody here seems to have the time, energy, motivation, and skills needed to work on such projects. That’s not too unexpected. But it suggests that we need to reach out to other communities, if we want to see our ideas implemented by motivated and capable people.

My intention for this thread was rather doing some easy projects, so that we can learn coding together, for community building and skill development. It seems that there is little interest for that. That’s ok. It was worth a try. My conclusion is that asking actual coders is preferable to hoping that people here on the F3 are willing to pick up coding skills.