Tudor Girba Profile picture
30 Nov, 21 tweets, 8 min read
#ToolsForThought

But, what thought?

🧵

1/
The recent conversations about #ToolsForThought tend to revolve around note taking. Indeed, a note can be a representation of thought...

2/
But, a tweet can also be a representation of thought.



3/
And, a diagram can be a representation of thought, too.

Like a #WardleyMap, for example.



4/
A diagram relies on a different representation. Yet, to make it integral part of the overall graph, it should blend with the rest of the representations.

There never is a single representation of thought, and the environment should embrace this.



5/
Now, code is also a representation of thought. And so is the result of executing that code.

For example, here we have a piece of code inside notes. Executing it shows the result through a contextual view in the inspector.

(Yeah, like a notebook. Only different. And better)

6/
Talking about objects: What about the structure of the note itself. Should that not be a relevant subject of inquiry?

Of course, it should be.

For example, this is how our page looks like behind the scene.

7/
And what about connections?

Well, if we can get to the objects of our notes, we can also visualize them.

8/
Let's stop a bit.

We just went a couple of meta-levels deep in the same environment: we are looking at an object (1) representing visually the connections between our notes (2).

And if we want to, we can highlight the current page within that whole graph, too.

9/
And because the visualization is showing us the objects that represent notes, inspecting one of these objects shows us the editor that we used to type that content with.

10/
So what?

Humor me a little longer.

If we can visualize notes, can't we visualize code, too? Sure we can.

Here we see a visualization of dependencies between #GToolkit components. Selecting a component reveals the code specification behind it.

11/
What do you know! Working with notes and code can be, essentially, the same.

Note taking does not have to be distinct from the programming experience. In fact, when they are not distinct, we get to express thoughts in new ways.

12/
How do you get there?

Adding programmability on top of note taking will only lead to a broken system.

Programmability has to be served first because that's what makes everything inside a computer.

That's why #MoldableDevelopment is important.



13/
#MoldableDevelopment started from a simple question: can we significantly affect the way we work with the smallest piece in a system? A single object.

It turns out that we can do that by inspecting through the lens of different contextual views.



14/
This little change of perspective led to several surprising findings. For example, we knew that it is immediately useful for reasoning about existing systems, but it was surprising to see how creating views changes how we design systems, too.



15/
This exploration was easy in Smalltalk, but it was still not obvious. A decade later, we are still discovering new angles.

We recently realized that we can replace the Playground (a REPL) with a rich multi-language environment in which note taking is just another language.

16/
The benefits are manyfold. For one, we can interweave narratives and code for many purposes. For example, #GToolkit ships with a live book describing it.



17/
Another implication is how the environment can address non-technical people. When the inside of the system is explainable, it invites explorations. If given the chance, people want to learn about their system. This leads to a new feedback loop, too.



18/
Taken to the extreme, it leads to a fresh take on personal computing in which the individual can mold the experience dynamically. Actually, this is not necessarily new, as personal computing was always meant to be personal. We just forgot it.



19/
The tools we expose ourselves to, shape the way we are going to decompose the problem in front of us. They shape our thoughts.

But, we are not entirely powerless. We only have to choose our tools carefully.

We can start by asking: what thought?

20/
I believe the exploration of what's possible is still in its infancy. We build #GToolkit to explore and summarize interesting questions we can ask as a collective. Because this journey requires a global conversation.

So, join us. Let's talk.

discord.gg/FTJr9gP

21/

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tudor Girba

Tudor Girba Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @girba

9 Nov
I gave a talk at #QConPlus on "Moldable Development by Example".

A summary.

1/ Image
The talk consisted mostly of two stories. Two examples.

I started with a little story inspired by our recent experience of going through the Open edX system.



2/
It went like this. Imagine you have a system written in Python and you want to split it for various reasons.

You'd first look for components that already exist. In this case, the system already seems to have top components available (as documented by top folders).

3/ Image
Read 20 tweets
17 May
Personal computing was conceived to be personal. Personal, as in experiencing computation the way it fits you. Your context should come first and dictate what is interesting. The experience should follow.

1/
For example, consider where you are reading this tweet. Or where you are writing a reply to it. It's not unlikely that you are doing it exactly in the same way many other millions of people are doing it: using the generic interface that Twitter offers.

2/
Of course, this is convenient. At the same time, it might not match your actual needs. For example, say you like writing longer threads. Longer threads imply more consideration and possibly longer time to write. And, you may want to handle multiple drafts in parallel.

3/
Read 30 tweets
13 Apr
#MoldableDevelopment is a way of programming through which you construct custom tools for each problem.

What does that mean exactly?
Where does it come from?
Why is it relevant?

Read on.

1/
The original idea of #MoldableDevelopment came from the work on Humane Assessment through which I argued that we need custom tools to reason about software systems effectively.



2/
The idea of custom tools is a significant departure from the typical software engineering canons which often argue the opposite.

Still, it is relevant because it tackles the single largest expense in software development: figuring the system out.



3/
Read 31 tweets
11 Apr
Interviewing new employees is a two-way street. On the one hand, you want to know them. On the other hand, you want them to know you, too.

It's also useful to remember that the interaction is also an investment on both sides.

1/
While both parties are invested in similar ways, the conversation is not symmetric. For example, the interviewee is likely significantly more emotionally invested.

That's why as an interviewer, I prefer to compensate.

2/
Typically, interviews are optimized for the act of filtering interviewees. In these situations the organization gains the most. The interviewee can at most get in. However, in the worst case scenario is that nobody learns anything.

3/
Read 10 tweets
12 Mar
A while back, I asked “what is architecture?” and I got many responses within just one day. Some serious, some more (bitter-sweet) joking. We can identify some cluster of responses, but even so, there are certainly a dozen distinct perspectives.



1/
That there are many perspectives is not a surprise given that the literature is full with competing definitions. For example, it's not atypical for architecture books to say something like: “there exists many definitions, so here is ours”.



2/
The search for the perfect definition of architecture captured the imagination of several generations by now, yet it still seems to remain elusive. But, what if it’s Ok to have many of them?



3/
Read 22 tweets
3 Mar
Tell us about programming languages that people might perceive to be extinct, but are still around today.

Let’s see how many we get.

👇
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(