Philosophy Mondays: Human-AI Collaboration
Today's Philosophy Monday is an important interlude. I want to reveal that I have not been writing the posts in this series entirely by myself. Instead I have been working with Claude, not just for the graphic illustrations, but also for the text. My method has been to write a rough draft and then ask Claude for improvement suggestions. I will expand this collaboration to other intelligences going forward, including open source models such as Llama and DeepSeek. I will also explore other moda...

Intent-based Collaboration Environments
AI Native IDEs for Code, Engineering, Science
Web3/Crypto: Why Bother?
One thing that keeps surprising me is how quite a few people see absolutely nothing redeeming in web3 (née crypto). Maybe this is their genuine belief. Maybe it is a reaction to the extreme boosterism of some proponents who present web3 as bringing about a libertarian nirvana. From early on I have tried to provide a more rounded perspective, pointing to both the good and the bad that can come from it as in my talks at the Blockstack Summits. Today, however, I want to attempt to provide a coge...
Philosophy Mondays: Human-AI Collaboration
Today's Philosophy Monday is an important interlude. I want to reveal that I have not been writing the posts in this series entirely by myself. Instead I have been working with Claude, not just for the graphic illustrations, but also for the text. My method has been to write a rough draft and then ask Claude for improvement suggestions. I will expand this collaboration to other intelligences going forward, including open source models such as Llama and DeepSeek. I will also explore other moda...

Intent-based Collaboration Environments
AI Native IDEs for Code, Engineering, Science
Web3/Crypto: Why Bother?
One thing that keeps surprising me is how quite a few people see absolutely nothing redeeming in web3 (née crypto). Maybe this is their genuine belief. Maybe it is a reaction to the extreme boosterism of some proponents who present web3 as bringing about a libertarian nirvana. From early on I have tried to provide a more rounded perspective, pointing to both the good and the bad that can come from it as in my talks at the Blockstack Summits. Today, however, I want to attempt to provide a coge...
>400 subscribers
>400 subscribers
Share Dialog
Share Dialog
The purpose of Tech Tuesdays is to provide non-technical employees or founders of startups with background on how technology works so that they can better communicate with engineers and also better understand technological constraints and opportunities. With that in mind I will take a fairly different approach to programming from say Codecademy or Udacity which tackle hands on code writing. I will instead try to provide a lot of context and explain terminology. You should be able to get a fair bit of insight from that and maybe the motivation for one of the hands on courses.
I wrote a previous Tech Tuesday post giving a brief overview of programming and defined programming as “telling a computer what to do.” While seemingly trivial it offers a good way of thinking about many of the issues involved. For a moment substitute “person” for “computer” and think about “telling a person what to do.”
1. Which language should you speak? Speaking English to someone who only understands Mandarin won’t get you very far unless you have a translator. But even within English there are vastly different sets of vocabularies – I remember my English teacher exhorting us to extend beyond “go, get, give” …
2. How do you form a correct sentence? This is known as syntax and includes such things as word order and punctuation. In German, for instance, we put the verb at the end of sentences.
3. What do the words and sentences mean to the other person? Even if you put words in the correct order it is easy to say things that don’t make any sense. Or you may be using words that mean something different to you than to the person.
4. How do you refer to concepts as opposed to just concrete things? If I am in Dim Sum restaurant I can point at a specific dish. But how would I tell someone else to go there and do that?
5. How do you break down what you want the person to do into smaller steps? For instance what if you want the person to draw an owl?
6. How do you avoid repeating yourself? What if you need to tell another person to do the same thing? What if it is not exactly the same thing but slightly different?
7. Does what you told the person make sense? How would you know if it didn’t? Do they have everything they need to carry out what you asked them to do?
8. How do you know if the person is actually doing what you told them to do? Maybe they are stuck and don’t know what to do next or maybe they are off doings something else altogether.
9. What if there is someone else also telling this person what to do? How do you coordinate that?
Each of these questions has analogs when it comes to programming, i.e. telling a computer what to do. Over the course of the upcoming Tech Tuesdays we will dig into these one by one, starting next Tuesday with a closer look at different programming languages.
The purpose of Tech Tuesdays is to provide non-technical employees or founders of startups with background on how technology works so that they can better communicate with engineers and also better understand technological constraints and opportunities. With that in mind I will take a fairly different approach to programming from say Codecademy or Udacity which tackle hands on code writing. I will instead try to provide a lot of context and explain terminology. You should be able to get a fair bit of insight from that and maybe the motivation for one of the hands on courses.
I wrote a previous Tech Tuesday post giving a brief overview of programming and defined programming as “telling a computer what to do.” While seemingly trivial it offers a good way of thinking about many of the issues involved. For a moment substitute “person” for “computer” and think about “telling a person what to do.”
1. Which language should you speak? Speaking English to someone who only understands Mandarin won’t get you very far unless you have a translator. But even within English there are vastly different sets of vocabularies – I remember my English teacher exhorting us to extend beyond “go, get, give” …
2. How do you form a correct sentence? This is known as syntax and includes such things as word order and punctuation. In German, for instance, we put the verb at the end of sentences.
3. What do the words and sentences mean to the other person? Even if you put words in the correct order it is easy to say things that don’t make any sense. Or you may be using words that mean something different to you than to the person.
4. How do you refer to concepts as opposed to just concrete things? If I am in Dim Sum restaurant I can point at a specific dish. But how would I tell someone else to go there and do that?
5. How do you break down what you want the person to do into smaller steps? For instance what if you want the person to draw an owl?
6. How do you avoid repeating yourself? What if you need to tell another person to do the same thing? What if it is not exactly the same thing but slightly different?
7. Does what you told the person make sense? How would you know if it didn’t? Do they have everything they need to carry out what you asked them to do?
8. How do you know if the person is actually doing what you told them to do? Maybe they are stuck and don’t know what to do next or maybe they are off doings something else altogether.
9. What if there is someone else also telling this person what to do? How do you coordinate that?
Each of these questions has analogs when it comes to programming, i.e. telling a computer what to do. Over the course of the upcoming Tech Tuesdays we will dig into these one by one, starting next Tuesday with a closer look at different programming languages.
No comments yet