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
I started the Tech Tuesday series on programming in April of this year with an overview post that compared programming to telling a person how to do something. At the time, I presented nine different questions that this raises, such as which language to speak and which words to choose in that language. Some of the early posts that followed dealt with the three foundational questions, such as the choice of programming languages, their syntax and semantics.
The next set of posts addressed the fourth question as to how code can refer to “things.” The fundamental concept there were variables which allow code to deal with changing values of different data types. Following that was the question as to how to break instructions down into smaller steps. Here we learned about reserved words which are the fundamental vocabulary of a programming language. We then saw how to use control structures to deal with conditional execution and loops, which speaks to the question of how to avoid repeating oneself.
In fact, all the posts since then have dealt in varying ways with those same three questions of referring to things, building up from small steps and avoiding repetition. These are really the central questions of programming. We saw how functions provide means for building up more powerful words from the basic building blocks that can then be used throughout a program. Then we looked at data structures as ways of better describing the attributes of a thing or object and also of grouping things. Finally we considered algorithms as the way for thinking about how to
We have not yet looked at the last three sets of questions which all deal with issues that arise once we have given some instructions (to a person or machine), such as how do we know if our instructions make sense? Is what we want to happen is actually taking place? What about contention with other instructions from someone else? The next set of posts will explore these issues, starting with looking at bugs, where they come from and how to find them.
After that I may attempt to walk through a complete example from beginning to end putting all these concepts to work. As I think about that I am open to suggestions for what the specific problem might be. So if you have ideas / requests, please let me know in the comments!
I started the Tech Tuesday series on programming in April of this year with an overview post that compared programming to telling a person how to do something. At the time, I presented nine different questions that this raises, such as which language to speak and which words to choose in that language. Some of the early posts that followed dealt with the three foundational questions, such as the choice of programming languages, their syntax and semantics.
The next set of posts addressed the fourth question as to how code can refer to “things.” The fundamental concept there were variables which allow code to deal with changing values of different data types. Following that was the question as to how to break instructions down into smaller steps. Here we learned about reserved words which are the fundamental vocabulary of a programming language. We then saw how to use control structures to deal with conditional execution and loops, which speaks to the question of how to avoid repeating oneself.
In fact, all the posts since then have dealt in varying ways with those same three questions of referring to things, building up from small steps and avoiding repetition. These are really the central questions of programming. We saw how functions provide means for building up more powerful words from the basic building blocks that can then be used throughout a program. Then we looked at data structures as ways of better describing the attributes of a thing or object and also of grouping things. Finally we considered algorithms as the way for thinking about how to
We have not yet looked at the last three sets of questions which all deal with issues that arise once we have given some instructions (to a person or machine), such as how do we know if our instructions make sense? Is what we want to happen is actually taking place? What about contention with other instructions from someone else? The next set of posts will explore these issues, starting with looking at bugs, where they come from and how to find them.
After that I may attempt to walk through a complete example from beginning to end putting all these concepts to work. As I think about that I am open to suggestions for what the specific problem might be. So if you have ideas / requests, please let me know in the comments!
No comments yet