# <!-- METAHEADER
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"*": "https://raw.githubusercontent.com/wefindx/schema/master/intent/oo-item.yaml"
# <!-- HEADER
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"base:title": "0oo - Programming too difficult"
"og:title": "Programming too difficult"
"og:description": "So many tools, so little work accomplished."
"og:image": "https://avatars0.githubusercontent.com/u/28134655"
"og:url": "/intent/19001/"
"base:css": "/static/css/bootstrap.min.9c25540d6272.css"
"base:extra-css": "/static/css/base.57997aeac1df.css"
"base:favicon": "/static/favicon.acaa334f0136.ico"
"base:body_class": ""
"layout:logo": "/static/0oo.8d2a8bbef612.svg"
"layout:index": "/"
"layout:menu": "/menu/"
"layout:categories": "/intents/"
"layout:ideas": "/methods/"
"layout:projects": "/projects/"
"layout:users": "/users/"
"layout:about": "/about/"
"layout:help": "/help/"
"layout:bug_report": "https://github.com/wefindx/0oo"
"layout:login": "/accounts/login/"
"layout:light-off": "/darken/?darken=true"
"layout:set-multilingual": "/mulang/?mulang=true"
"layout:lang": "Language"
"layout:set-language-post-action": "/i18n/setlang/"
"layout:csrf-token": "ES26nsrCBiDTN3Es6PodjxWXFw9FM1hVy6gsYr5UpWFtJ7scIE0FSBldwRKN68qu"
"layout:input-next": "/intent/19001/"
"layout:languages": [{"code": "ja", "is-active": "false", "name": "日本語"}, {"code": "lt", "is-active": "false", "name": "Lietuviškai"}, {"code": "zh-hans", "is-active": "false", "name": "简体中文"}, {"code": "en", "is-active": "true", "name": "English"}, {"code": "ru", "is-active": "false", "name": "Русский"}, {"code": "oo", "is-active": "false", "name": "O;o,"}]
# <!-- TOPIC
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->

"item:title": "Programming too difficult"
"item:votes": 0
"item:add-vote": "#addnote"
"item:intent": "/intent/19001/?l=en"
"item:base-administration": false
"item:body": |
    So many tools, so little work accomplished.
"item:permalink": "/intent/19001/?l=en"
"item:source-date": ""
"item:owner": "chronological"
"item:ownerlink": "/user/198/chronological"
"item:created": "2021-04-23T10:58:01.615890"
"item:intent:child:add": "/admin/hlog/intent/add/?parent=19001"
# <!-- LINKS
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"item:method:items":
  - "id": "i-16001"
    "title": "Data structure layout automation"
    "summary": "Let the computer handle the data layout. Focus on the access"
    "url": "/method/16001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-16001"
    "ownerlink": "/user/198/chronological"
    "created": "2021-04-23T11:21:42.678389"
  - "id": "i-65001"
    "title": "Graph manipulation to queries"
    "summary": "Typically with an information system there are two ways of writing systems - one is predominantly through mutating queries and the other is through manipulation of objects in memory such as references between objects. ORMs blur the lines a bit. What if we could silently transform one form to another"
    "url": "/method/65001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-65001"
    "ownerlink": "/user/198/chronological"
    "created": "2021-09-03T21:22:32.245941"
  - "id": "i-67001"
    "title": "Additive GUIs"
    "summary": "Specify the attributes of the GUI and let the computer generate the GUI"
    "url": "/method/67001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-67001"
    "ownerlink": "/user/198/chronological"
    "created": "2021-09-05T14:14:02.288898"
  - "id": "i-80001"
    "title": "Protocol context manager"
    "summary": "In big microservice based systems or systems with lots of protocols, you often need to make a change that ripples out through the entire system. If you have X services you send a message between them you have X message schemas. Let&#x27;s manage the schemas centrally"
    "url": "/method/80001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-80001"
    "ownerlink": "/user/198/chronological"
    "created": "2021-09-17T19:52:09.207992"
  - "id": "i-133001"
    "title": "Forever tape abstraction"
    "summary": "With computers we often have different places to place data that determines how fast or how large the data is. For example, we have the stack, main memory, virtual memory, page files, disk files, buffers, heap, S3, SANs, NFS. Can we create an abstraction that captures the differences of each of these kinds of storage and allows efficient management of each of them and switching between them so that there is an illusion that memory is infinite but efficient. For example, you might want to load chunks from S3 efficiently into main memory and cached on disk."
    "url": "/method/133001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-133001"
    "ownerlink": "/user/198/chronological"
    "created": "2022-05-11T12:51:49.449242"
  - "id": "i-137001"
    "title": "Stack pattern match"
    "summary": "Imagine you have a reference implementation of a btree and a reference implementation of a locking manager and a security manager and you want to tie them together. You could add code calls from one to the other but what if there is a better way? The better way for extensibility is to match stack function calldepths to code snippets that run whenever the pattern is matched. For example when a btree is split you might want to acquire locks or release locks in a certain order. We can do pattern matching around the callsite of a btree split and return values and do the right locking and security behaviours without needing to change the API of either. Essentially you have parallel multiple return values."
    "url": "/method/137001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-137001"
    "ownerlink": "/user/198/chronological"
    "created": "2022-05-16T04:40:01.716047"
  - "id": "i-139001"
    "title": "Can A* be used to generate algorithm sourcecode?"
    "summary": "I thought of an idea to use a* algorithm to &quot;walk&quot; toward a solution that solves a programming problem. Each neighbour can be a weighted list of programming tasks such as if statement, for each, assignment, recursive call. How do you map example data structures transformations to code that fulfils the changes to the data structure? You need a cost function that decreases when the output gets nearer to the solution. What does the cost function for code solving a problem look similar to?"
    "url": "/method/139001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-139001"
    "ownerlink": "/user/198/chronological"
    "created": "2022-05-18T08:06:56.151167"
  - "id": "i-183001"
    "title": "URL powered computer"
    "summary": "Installing software is so 1990s-2000s. Let&#x27;s configure and install software by giving URLs or taking them away. Everything is a URL"
    "url": "/method/183001/"
    "owner": "chronological"
    "permalink": "/intent/19001/?l=en#i-183001"
    "ownerlink": "/user/198/chronological"
    "created": "2023-02-05T08:26:47.015806"
"item:method:add": "/admin/hlog/method/add/?parent=19001"
"item:comment:add": "/intents/addnote?parent=19001"
"item:comment:add:csrf_token": "ES26nsrCBiDTN3Es6PodjxWXFw9FM1hVy6gsYr5UpWFtJ7scIE0FSBldwRKN68qu"
"item:comment:form": |
    <li> <textarea name="text" cols="40" rows="10" id="addnote" class="comment-textarea" required>
    </textarea></li>
    <li><label for="id_vote">Vote:</label> <select name="vote" id="id_vote">
      <option value="-1">[−]</option>
      <option value="0" selected>-</option>
      <option value="1">[+]</option>
    </select></li>
    <li><label for="id_crawl">Silently:</label> <input type="checkbox" name="crawl" onchange="handleSilently(this)" id="id_crawl"></li>
    <li><label for="id_has_questions">Questions:</label> <input type="checkbox" name="has_questions" id="id_has_questions"> <span class="helptext">Mark if the comment raises new questions.</span></li>
    <li><label for="id_has_ideas">Ideas:</label> <input type="checkbox" name="has_ideas" id="id_has_ideas"> <span class="helptext">Mark if the comment contributes potential solutions.</span></li>
    <li><label for="id_has_facts">Facts:</label> <input type="checkbox" name="has_facts" id="id_has_facts"> <span class="helptext">Mark if the comment contributes facts for reasoning.</span></li>
    <a href="/accounts/login/">Please, <u>log in</u>.</a>
# <!-- COMMENTS
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"item:comment:items":
"base:js": "/static/js/base.c7357c06cc89.js"
