Open problems

..

Structure by idea, not by time.

List of problems I want to grapple with.

Front ’n center problems

Empty here for new. Need to brew some more.

Brewing problems / problem options / nexus of problems

Gotta catch them all!

A strategic knowledge toolkit

A good strategic process requires tools that enable that process. I believe in text. I believe in named documents. I believe in the web. I like how I’ve built this page.

But this page is not enough.

play.teod.eu is optimized for my writing. I don’t want to do strategic work alone. I want a dynamic interactions with others. I want us to remix ideas collectively.

Org-roam provides indexing capabilities for play.teod.eu. For now. But I’m not really using that much of Org-roam:

  1. Navigate to file by page name via page UUID
  2. Link to page by UUID

And I’ve written a mapping from Org-roam id:... links to stuff that works for HTML myself.

And “navigate to file via title” and “link to page by UUID & name” doesn’t work for more than one site. I want interlinked sites.

teod/dbx: a toolkit for building your own personal knowledge base is the tool I hope to shell out to for this. Create a tiny dbx wrapper for Emacs. A tiny dbx wrapper for VSCode.

But who can I work with for this? Perhaps just test with Sindre? Probably a good idea.

Could be nice to pair on too — we do have a plan to do continuous pairing.

Working properly with strategic initiatives

Ever since I went into IT in 2019, I’ve felt shackled by the time horizon of the teams I’ve been working with. Where is the long term thinking? For Unicad, it’s vital that we’re able to work with what matters long term. Research is a better analogy for much of what we do than “coding stuff”.

See also: https://cutlefish.substack.com/p/tbm-3052-why-do-we-have-no-strategy

See also: Why don’t we have a strategy?

2022-09-17 - review

New relevant page: OGGPOW: A non-coercive strategic framework.

C, OpenGL / Graphics, WebGL

What? Problem? Are C and OpenGL problems?

Initial rambling

Well, not really. But there’s stuff here I want to learn.

What specifically?

  1. I want to be able to write code that uses the memory effectively. For that, I believe minimal distance between me and the memory is the way to go. So go C!
  2. I want to understand how to think about memory layouts. What does it feel like when there’s just me, the computer and its memory?
  3. I want to be able to draw high-performance graphics!
  4. I want to be able to write high-performance code.

Wait, what I really want is GPU-powered visualization.

Which I can get with Mathbox. Hmm. Hmmmmmmmmmmmm.

Reframe: I want to create visualizations that have the same power as ABAQUS viewer.

THAT WOULD BE NICE.

What is the list of concepts a new developer should be introduced to?

Motivating context

A new developer arrives. We want to:

Idea

We build our knowledge as a language. We prioritize its words. For those words, we write motivating essays.

Deliverable: welcome text

Welcome, knowledge worker! - I gave this to some people, and I think it helped a bit.

How can I communicate properly on the web that my page is only a reference?

Case: I want to create “intermediate” pages for remote references. But I don’t want the to create confusion about what the canonical page for something is. How can I achieve that?

Ideally, there’s some HTTP / HTML stuff. A W3C spec or something. “Please do not treat this page as canonical”. I want to ask Sindre, Oddmund, Richard and Sean about this.

HTTP redirect.

Remote references must be presented properly on the index.

Right now, they are lumped in with “seeds”.

Closed problems

2022-09-25

Getting cross-article Org-roam links working

I honestly cannot be bothered to maintain links to specific article IDs. Especially before I’ve shared them for public consumption. Meaning “Ready for comments” and above.

  1. 2022-09-17 FIxed!

  2. 2023-01-14

    I can’t remember what shis problem was. Vague description! Ah well, done is done. Apparently I fixed it.

Rewrite p and teod_fzf_cd to babashka

Here’s the ZSH code:

teod_fzf_cd () {
    root="$1"
    depth="$2"
    folders=$(cd "$root" && find . -mindepth "$depth" -maxdepth "$depth" | sed "s|^./||g" | sort )
    folder=$(echo "$folders" | fzf)
    cd "$root/$folder"
}

Why babashka?

  1. I prefer to maintain Clojure code to maintain ZSH code.
  2. Wait, I need a wrapper regardless. Otherwise cd doesn’t work.
  1. 2022-09-17 probably don’t want to do that.

  2. 2022-09-25 this is a special case of dbx!

    I want to make eu.teod/dbx: a toolkit for building your own personal knowledge base instead.

    Closing!

  3. 2023-01-14 yeah, this doesn’t have to be done

    It works as it is, no need to move to babashka.

A generic place to store data

Possibly store.teod.eu.

Why?

“Personal information architecture”

  1. 2022-09-17 I haven’t had much need yet.

    Just plaintext is nice. But it limits interactivity.

  2. 2022-09-25 Closing this one.

2022-09-17

Morn.

Open problems require curation

  1. Writing a list of open problems, then never revisiting doesn’t work
  2. Just because I’ve written a problem down doesn’t make it important.
  3. I need to balance focus on new, interesting things with revisiting old stuff.

Possible actions.

  1. Restructure this page as a log. Add new entries to the log. Review old entries from the log.
  2. Enable viewing the open problems as a list
    1. Is “open problem” a page type?
    2. Kinda looks like it
    3. That would make listing open problems “possible”
      1. And I could create a “go to random open problem” button.

2022-08-27

ACTION TIME

  1. Open problems are nice. I want to continue this path.
  2. Attention design is important. What problems are on top? For this, just copy the structure from other places.
  3. New problems!
    1. Define phenomenology
    2. Define existentialism
    3. Create a data visualization gallery

2023-01-22

Review

dump

review open problems

doing

refocuss on CSS & interaction design

yes – need to build those skills

try change the “main” layout of play.teod.eu

yes – then I actually see the stuff I’m making.

consider looking into Org-Roam-s SQLite database

Yes! I did. this was rewarding.

  1. raw sql

    CREATE TABLE files (
        file UNIQUE PRIMARY KEY,
        title ,
        hash NOT NULL,
        atime NOT NULL,
        mtime NOT NULL
    )
    
    CREATE TABLE nodes (
        id NOT NULL PRIMARY KEY,
        file NOT NULL,
        level NOT NULL,
        pos NOT NULL,
        todo ,
        priority ,
        scheduled text,
        deadline text,
        title ,
        properties ,
        olp ,
        FOREIGN KEY (file) REFERENCES files (file) ON DELETE CASCADE
    )
    
    CREATE TABLE aliases (
        node_id NOT NULL,
        alias ,
        FOREIGN KEY (node_id) REFERENCES nodes (id) ON DELETE CASCADE
    )
    
    CREATE TABLE citations (
        node_id NOT NULL,
        cite_key NOT NULL,
        pos NOT NULL,
        properties ,
        FOREIGN KEY (node_id) REFERENCES nodes (id) ON DELETE CASCADE
    )
    
    CREATE TABLE refs (
        node_id NOT NULL,
        ref NOT NULL,
        type NOT NULL,
        FOREIGN KEY (node_id) REFERENCES nodes (id) ON DELETE CASCADE
    )
    
    CREATE TABLE tags (
        node_id NOT NULL,
        tag ,
        FOREIGN KEY (node_id) REFERENCES nodes (id) ON DELETE CASCADE
    )
    
    CREATE TABLE links (
        pos NOT NULL,
        source NOT NULL,
        dest NOT NULL,
        type NOT NULL,
        properties NOT NULL,
        FOREIGN KEY (source) REFERENCES nodes (id) ON DELETE CASCADE
    )
    
    CREATE INDEX alias_node_id ON aliases (node_id )
    CREATE INDEX refs_node_id ON refs (node_id )
    CREATE INDEX tags_node_id ON tags (node_id )
  2. What about the Emacs lisp source?