You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
Three goals for the ACT community (co-written by @Christian Williams and myself):
Questions:
Questions 3-5 presuppose that the list of goals has been amended so that the answers to questions 1 and 2 are "Yes" and "No" respectively, but they can still be considered before this is done.
Goals 1-3 are very unobjectionable; they seem chosen to be uncontroversial, and my answer to question 1 is yes.
But my personal answer to 2 is probably much more controversial - I would like applied category theory to be a force for positive change (not just change, that's easy). So, I don't want applied category theory to merely help people do what they're already doing, faster and more efficiently than they already are. That will just drive our civilization off the cliff faster than we're already going. It's quite hard to figure out how to do applied math that creates positive change, but some of us are trying to figure it out. I'm glad that two of my students - Brendan Fong and Nina Otter - have set up institutes that seek to do this (among other things).
As for question 5, I think having lots of serious conversations, in small groups, is a great thing.
Speaking philosophically (ie. vaguely), I would suggest that it is decategorificiation that makes things faster and more efficient, and categorification makes things slower & richer. For example, I view monetary/financial systems as the decategorification of bartering. Not that I'm suggesting we all get back to bartering, but I could imagine everyone having a bartering app that allows for complex multiway exchanges of goods directly, without having to go through any numerical (monetary) device. We already to this with Kidney donation chains. Although it doesn't sound very practical in general.
Let me elaborate a bit more on the above goals so they seem less bland, and also incorporate your added goal:
John Baez said:
As for question 5, I think having lots of serious conversations, in small groups, is a great thing.
Good idea! Let's do it! Can you elaborate on what this would look like?
As you know, Brendan Fong held a kind of round-table discussion of ethics at the Topos Institute, led by my wife Lisa Raphals. It was good as far as it went, but to really get somewhere they should do it regularly... and perhaps with fewer people, or more groups of fewer people, since it seems hard for concrete plans to crystallize when you have more than, say, 6 people talking at once.
I believe Brendan wants to continue this - and when Lisa and I visit again I bet it will continue, but it really shouldn't be dependent on that.
Meanwhile, Nina Otter is starting up DeMoS, which is directly focused on certain ethical aspects of science - not specifically applied category theory, but we might piggy-back on that:
The institute carries out research on topics related to anti-democratic tendencies in our society, as well as on meta-scientific questions on how to make the scientific system more democratic. We believe that research must be done in the presence of those who bear their consequences. Therefore, we perform our research while at the same time implementing directly practices that promote inclusivity, interdisciplinarity, and in active engagement with society at large.
I think other groups, like research groups at universities, should also have regular conversations about ethical issues in applied category theory. I don't know if there's anything like this going on at Oxford, or Strathclyde, or Tallinn (three universities that do a lot of applied category theory). Since @Jade Master is at Strathclyde and very interested in this issue, she could start something there.
Personally I prefer a focus on concrete action, which is why I'm spending my time talking to people about "how to build software that uses category theory to help model epidemics" rather than loftier, less actionable issues. But the advantage of having many small groups talking about things is that different groups can pursue different strategies.
There's probably enough interest at Strathclyde from most of us, although actually knowing what we can say or do is a different matter
One thing I'm thinking about recently is the conflict between our interest in ethics and our interest in clear communication and wide dissemination of our ideas. The second thing certainly doesn't make the first thing a waste of time, but it very much reduces it's possible effectiveness relative to the other possibility, that we became a sort of cabal who solve problems but jealously guard our secret methods
Sorry Jules, I'm having trouble understanding what you are saying. Probably enough interest in what? Knowing what you can say or do about what? And what is the conflict you are seeing between our interest in ethics and our interest in clear communication etc.? Why would the second thing make us a secret cabal? Sorry I am very confused
I think the point is, in an oversimplified way, if we develop tools intended for good, and explain everything super well, then anybody can use them for anything, including bad people.
John Baez said:
I think other groups, like research groups at universities, should also have regular conversations about ethical issues in applied category theory. I don't know if there's anything like this going on at Oxford, or Strathclyde, or Tallinn (three universities that do a lot of applied category theory). Since Jade Master is at Strathclyde and very interested in this issue, she could start something there.
Personally I prefer a focus on concrete action, which is why I'm spending my time talking to people about "how to build software that uses category theory to help model epidemics" rather than loftier, less actionable issues. But the advantage of having many small groups talking about things is that different groups can pursue different strategies.
To my knowledge there is nothing like this going on in Tallinn. But I'd be interested in knowing what do you mean by "ethical issues in applied category theory".
can't do Applied CT unless CT-ists are working with domain experts, but this is a hard communication problem
this is a point I really care about. It works both ways: category theorists are sometimes prejudiced against applying mathematics, because -they believe- the ideas that usually are needed in applied mathematics are simple and thus unattractive. On the other hand, applied mathematicians sometimes lack knowledge of category theory that is deep enough to really think categorically. This is excusable: the field is young, sometimes they themselves are young, and category theory is a disturbingly huge piece of knowledge it takes a lifetime to master properly.
How to solve this? One should tell the first group of people that there is a lot to do in ACT using ideas and tools as complex as they want. One should teach category theoretic ideas to the second group of people properly, i.e. without oversimplifying them.
This is difficult, because on one side you have to fight prejudice (a notoriously hard task), and on the other you have to really know what you're talking about (an even harder task, especially when one is exposed to pressures of geological scale to publish, publish, publish). I consider myself part of the problem: I still know category theory superficially and naively, I see no way I can teach someone else to think categorically, and I feel pressured to apply it even when I don't understand it. Maybe one day...
...I believe there is space to misinterpret what I just said, even though I would not change a single word of my message.
Let me expand.
I have met category theory in 2008, when I was transitioning from a BSc in Physics to one in Maths (the transition and the discovery were positively correlated, but I can't recall which came first). I have started studying it regularly in 2010 and never left it.
At the times, there were exactly zero people in my bubble doing category theory that could have guided me, and with the passing of time I grew the feeling that the biggest mistake made by the first generation of category theorists was to avoid leaving a meaningful legacy. The stuff is there, buried in obscure work by Kelly. Brilliant category theorists of the first generation had few students (sometimes, close to none), they were not interested in teaching and in outreach, didn't care about their "public image"...
This has done harm to the community, outside (because of spontaneous trait transference, the way category theory is perceived is a function of the way category theorists are perceived) and inside (it is difficult to find a mentor. It is difficult to find an advisor. It is difficult to find feedback while studying. It is difficult to learn things properly. I can go on with the list forever...)
Applied category theory contains a lot of category theorists, and a lot of people with social intelligence, people that care about outreach, or just people who are merely average-agreeable human beings. The collaboration between these two communities has a huge transformative potential, and the point of my intervention was that it would be a pity to lose the opportunity to enrich each subcommunity with what each part has to teach to the other.
I don't have an all-winning strategy to do that, but at least I perceive the problem. Or rather: I vividly see this problem inside category theory, and I woud like to avoid spreading the disease to the applied community.
I wanted to add some thoughts on the goal of connecting with people who are interested in applied category theory, and who have their background in a proposed area of application. For context, I would count myself as one of these people - I'm an engineering student with some background in the area of medical imaging research, and I think category theory might be helpful for thinking carefully and systematically about imaging.
Below, I list questions someone might have as they try to engage with the applied category theory community. I also list some ideas for how the community might try to help people answer these questions.
Here are some questions that people like me may try to answer:
Ways the community might help answer these questions:
(a) Provide a "getting started with applying category theory" resource.
-This might include a list of free online resources at a variety of levels
-This might include some words of caution, context, and philosophy
(b) Provide a frequently-asked-questions resource
-This might include addressing the questions: "What do I need to know to apply category theory myself?" or "How can I connect with people who can help me apply category theory to my area of interest?"
(c) Maintain a list/thread/database of ongoing projects (seeking to applying category theory) that are interested in attracting new people with a variety of skills and backgrounds
-In the context of contributing to open source projects, people have tried to do things like this, for example: https://goodfirstissue.dev/
(d) Maintain a list/thread/database/wiki page that broadly tries to answer: what areas have category theory has been applied to, who are some people working on these things, and in what areas is work currently ongoing
(e) Create (and point people to) an intentional space on this zulip for people trying to answer these kinds of questions
(f) Make some key points clear, such as:
-Category theory is awesome, and it will take a lot of work to learn how to use
-Category theory can be fun and exciting to learn and apply
-One does not always need to learn a lot of category theory to acquire a different perspective on your area of interest
-To get an idea of how abstract categorical ideas can apply to an area of interest, it is very helpful to consider lots of examples of how these ideas have been harnessed in other areas. This means that learning some more math is helpful to do applied work using categories, as learning more math provides one with a larger collection of examples of how category theory is used.
-Starting very, very simple in attempts to apply category theory will likely be helpful. This will also help enable communication with mathematicians who don't know a lot about a given applied area of interest.
-You will not know as much category theory as people who have focused on studying category theory. This is a good thing, and does not need to be intimidating.
(g) Provide a document/wiki page that presents some of the philosophy of applied category theory, including patterns of application.
(h) Consider ways to help people curious about applying category theory ask questions that: (1) the community will find interesting to answer, (2) will have answers useful to the person asking.
(i) Provide a document/wiki page that explains some of the key concepts of category theory without using more than highschool math, that attempts to explain thinking patterns, and that aims to convey why some important concepts and results are important. Ideally this document would do this with an eye to application.
@David Egolf I would gladly contribute starting this document/project/wiki/whatever you want.
fosco said:
To my knowledge there is nothing like this going on in Tallinn. But I'd be interested in knowing what do you mean by "ethical issues in applied category theory".
There have many discussions of this, starting at ACT2018, reaching a fevered pitch in ACT2019 (on this Zulip), and ever since on Twitter, at the Topos Institute, and elsewhere. So it's quite hard to summarize. But one idea is that if applied category theory is a powerful new "technology", then we have a responsibility to use it wisely. But how?
For example, here's a question people have been discussing: the US military is a major funding sources for applied category theory. What are they going to do with this research? What does this mean for the subject? How should we deal with this?
Joe Moeller said:
I think the point is, in an oversimplified way, if we develop tools intended for good, and explain everything super well, then anybody can use them for anything, including bad people.
Yes, I think that's what Jules was getting at. This is true.
Luckily being mathematicians there's no chance we'll explain everything in a way that most people can understand, even if we try as hard as we can. :laughing:
No, this is a serious issue. I don't think "security by obscurity" is tenable. I do however think it's important to focus our energy on developing good applications of category theory and actively avoiding bad ones. I think there's a lot of room to explore specific ways of doing good things that nobody has been able to do before.
This is probably much more controversial, but: I do not want to put time into developing highly generalized technologies that merely increase human power over nature and other people, because at this point I think the problems of the world are not mainly due to a lack of human power over nature and other people.
@David Egolf @fosco As would I
Do you think we could do this on the nLab? Or should we have our own platform?
John Baez said:
This is probably much more controversial, but: I do not want to put time into developing highly generalized technologies that merely increase human power over nature and other people, because at this point I think the problems of the world are not mainly due to a lack of human power over nature and other people.
Which technologies that are being developed now do you think merely increase human power over nature and other people?
The technologies designed for surveillance capitalism, for example.
Joshua Meyers said:
Do you think we could do this on the nLab? Or should we have our own platform?
It would be a good idea to start an independent platform, in the form of a wiki, in a framework that doesn't make an excessive pain to merge the acatlab into a subcontinent of the nlab later...
I have a few ideas, let's talk about this soon.
Shout out to @Paolo Brasolin who might know what's going on in my head at the moment.
I don't know exactly what you have in mind, @fosco and @Joshua Meyers, but some kind of applied category theory wiki sounds awesome to me. I'd be interested in potentially contributing a little to such a wiki, as I'm able and as my experience allows.
fosco said:
Joshua Meyers said:
Do you think we could do this on the nLab? Or should we have our own platform?
It would be a good idea to start an independent platform, in the form of a wiki, in a framework that doesn't make an excessive pain to merge the acatlab into a subcontinent of the nlab later...
I quote this. Also, unfortunately, ncatlab has an infamous reputation of being scary for beginners. So it would be a bad pr move starting such a project there.
Scary or not, the nLab is a completely different thing.
Having put a huge amount of time into a wiki with limited success myself, I urge y'all to start by thinking of something useful that you can do in a few days - a quick and dirty webpage that does something interesting. It's really easy to use up all your energy planning something big. It's better to do something small, then let it grow organically... or wither and die, without much loss.
You are preaching to the choir, I have never been a fan of planning anything
There's this thing called "illusion of productivity" that really is a problem. Example: One spends 5 hours planning how to "organize workflows" for a project and stuff like that. At the end of the day, this person will think "wow, today was so productive!" In reality, the tangible progress is 0. Doing some planning can be useful, but it is very easy to fall into this spiral of "planning forever", just because planning is more immediately rewarding than doing the boring (and necessary) stuff
Fabrizio Genovese said:
fosco said:
Joshua Meyers said:
Do you think we could do this on the nLab? Or should we have our own platform?
It would be a good idea to start an independent platform, in the form of a wiki, in a framework that doesn't make an excessive pain to merge the acatlab into a subcontinent of the nlab later...
I quote this. Also, unfortunately, ncatlab has an infamous reputation of being scary for beginners. So it would be a bad pr move starting such a project there.
Or alternatively, we could start a campaign to "make the nLab accessible". Just start adding more explanatory sections and see what happens
but also this does seem like a different thing, as it is not really exposition of CT concepts but rather meta-level advice on how to get into it etc. Maybe a github wiki would be best?
Yes, @Fabrizio Genovese - above we see an example of what you're talking about: optimizing a so-far-nonexistent activity. :upside_down:
Let's set up a github repo where the material is stashed in no particular order. A welcome page will contain basic answers to basic questions (I am a brain surgeon, what's the best path to learn CT? I want to build a tracking device for the migration of eels, how can yoneda lemma be used for this? What do you think about my project to stop a volcano using lax functors?...)
Then when we have the raw data, we can organise it by topic, and we can tag and sort and filter according to various parameters (show me all open problems in categorical automata theory. Show me all ongoing projects in categorical probability theory. Show me all learning resources for (non) mathematicians. Show me all the occurrences of "Kan estension"...)
It's not a wiki, but the repo will be as open as possible and people can make PRs asking to add stuff, or become contributors right away
I honestly think all this organization is spectacularly useless. Just start _talking_ with specialists in other fields, work with them, take time to _teach_ them category theory in person
We have the highest amount of entropy of knowledge in the known human history. Anything that reduces to "read this bunch of things" isn't going to fly, as the incentives are 0 and people have no time. Moreover, science is a social thing, very few people like to learn alone, and even if so, the available topics to learn are so many that starting from category theory seems unlikely
On the contrary, give people a social group and I can guarantee they will spend sleepless nights on MacLane just to belong. That is how I personally learned.
This server has been in existence for roughly a year and the idea of "let's set up this or that to onboard new people" has been suggested at least 10 times. Every time it went nowhere. It's because the idea does not work. Simply go out and talk with people.
Ew, talk with people?
(Extra benefits: You get to decide how your contributions are used by deciding with who you are going to talk to. It goes out of control at some point, but it's still better than dumping stuff online if you care about ethical stuff etc etc)
fosco said:
Ew, talk with people?
Lol, I appreciate the sarcasm but I think this is exactly the real psychological reason why many of these useless alternatives are proposed. Imho "talking with people" takes way more bravery than coding an entire onboarding platform on a psychological level
Fine then, let's go that path: but how do you onboard people in person when you're in Italy and they are in Chile, or vice versa?
You do not, you start locally. If someone living far away has shown interest, then you just start with zoom calls :smile:
Topos Institute didn't start in the Silicon Valley for no reason!
(I disagree with basically every single thing you said by the way: but this requires a separate endless discussion where we jump at each other's throat :heart: )
For people working in a uni that is not under lockdown the easiest path would probably just be "take a stroll in the engineering department"
fosco said:
(I disagree with basically every single thing you said by the way: but this requires a separate endless discussion where we jump at each other's throat :heart: )
"Give me six hours to chop down a tree and I will spend the first four sharpening the axe." said someone
The great misconception here is that in your sentence you are sharpening the axe for yourself. In our case you are saying "here is the sharpener, sharpen the axe and then come back to me and we will chop the tree together". Now the choice is not yours, and many people are just not interested enough in chopping the tree to follow your advice. They will leave.
Fabrizio Genovese said:
The great misconception here is that in your sentence you are sharpening the axe for yourself. In our case you are saying "here is the sharpener, sharpen the axe and then come back to me and we will chop the tree together". Now the choice is not yours, and many people are just not interested enough in chopping the tree to follow your advice. They will leave.
I don't understand: they are free to leave anytime; my role is not to shove category theory down the throat of people: my role is to teach the real thing, without approximations "ad usum delphini", to those who want to stay and sharpen the axe.
On the student's side, it is a hard job because it starts paying only after the first 4 hours. Like learning vim.
On the teacher's side, it is a hard job because the teacher has to know what comes after sharpening the axe, and convince each student at the end of every lecture that the most interesting thing they could possibly do when they leave the room is wield an axe. Who has the harder job?
Is "teaching something to people that are already determined to learn it" doing outreach?
No, it's called "preserving my mental health".
people that are already determined to learn it
I would think people who are determined to learn category theory aren't the target audience of such materials.
People working outside of mathematics can be convinced to spend some finite amount of effort on learning this. And if the bar is lower for people to learn CT and see how it can tie into the things they already care about then more people are going to follow through on doing that
My own personal strategy has been to meet with a group of about 4 category theorists and 4 epidemiologists who are interested in category theory once every other week for 2 hours. People take turns talking, but with lots of questions. The epidemiologists talk about how their modeling tools work and how they wish their modeling tools would work. The category theorists try to translate this into math, and explain the math. Also we have other meetings of various smaller groups of people, and some people are spending a lot of time writing software. It seems to be working really well.
It's a serious investment of time, but it's so fun that I don't mind.
It's fun because real communication is going on.
The category theorists are really learning epidemiology (which is not so hard when you have several smart experts explaining it who realize there's a lot of details we don't want to know, at least not right away). And the epidemiologists are really learning category theory (which is not so hard when they have several smart experts explaining it who realize there's a lot of details they don't want to know, at least not right away).
Working together on software brings a certain concreteness to the discussions: e.g. the epidemiologists don't find the definition of a typed operad or a structured cospan so intimidating if they're helping develop code where these ideas are being used to tackle a problem they understand.
Having some grad students involved, who have an excuse to really immerse themselves in the project because it's gonna be their thesis, is also really helpful.
fosco said:
Shout out to Paolo Brasolin who might know what's going on in my head at the moment.
I think I understand what you want. I also feel that @John Baez and @Fabrizio Genovese made some excellent points though (nlab is scary + better start w/ minimal solution + talking w/ people instead of just online infodumping is crucial).
I believe that the technical common ground can be found in building incrementally:
Obviously this doesn't solve the Real Problems:
In any case I can provide a leg-up if the technicalities are hindering a test ride.
This is an example of the "species" page Paolo is talking about: https://tetrapharmakon.github.io/species/lectures/2-p-and-its-up-and-species.html
Everything is made using jekyll from simple markdown which can contain arbitrarily elaborate tikz code and commutative diagrams in svg format.
Here's an example of a relatively small document in the "getting started" spirit created by the chess reddit community: https://www.reddit.com/r/chess/wiki/faq/
If one wishes to become extremely good at chess, then this document will not be enough. You will almost certainly need to talk in person (take lessons from) strong players, in addition to carrying out serious study and tournament play as instructed by strong players. However, this document is still useful to those who would like to play chess for fun, or those who would like to improve their skill level somewhat slowly.
The kind of person-to-person discussion and collaboration discussed above is what you need, I think, for someone to be part of an effort that does a really excellent job of applying category theory. However, I think a "getting started" document would still be useful to people who: 1. have a more casual interest in applying category theory, or 2. have not yet attracted the attention of category theory experts.
(Such a document might be a reasonable starting point, that would be immediately useful, in my opinion).
By the way, @David Egolf, people ask me these two questions you mentioned a lot:
Category theory sounds exciting/useful, and I want to apply it to [X], which I have a background in. How can I get started?
I like math, and I've heard about category theory. Might it be useful to me for my applied context, [X]?
Often my answer to question 1 is "I don't know a special introduction to category theory for people interested in X, so it's probably good to start with a book like Seven Sketches and watch the video lectures about it and also read my written lectures about it, which have problems and answers.
Often my answer to question 2 is, "I don't know, I'd need to know a lot more about what you're trying to do." And almost always it would require hours of conversation to get any idea of whether category theory could be helpful to this person, because they know almost nothing about category theory and I know almost nothing about what they're trying to do (or better yet, what they should be trying to do).
My work with epidemiologists is an example of where such a conversation is actually working. But such examples are rare, because they require real commitment.
fosco said:
Fine then, let's go that path: but how do you onboard people in person when you're in Italy and they are in Chile, or vice versa? ```
I live in Chile by the way and I had to stop my yearly summer migrations to Europe because of the pandemic!
Nevertheless, to me, learning is a (cognitive) random walk, which you can undertake all by yourself. But of course, it becomes easier if social interaction is activated. Yesteryear, discussions with colleagues at Mathematisches Institut Oberwolfach or at tea time at IHES; nowadays, remote zoom interactions, conferences in particular, where you unexpectedly meet lots of spiritual cousins, from all walks of life, may help a lot. Recall that some people interested in category theory do not know John Baez or the Seven Sketches (thanks for recalling this reference, John!) or the topos institute, or Charles Ehresmann's work (also Andrée's nowadays) or Pierre Gabriel's work on Abelian Categories in the sixties... Just getting some helpful pointers may trigger a quantum-leap in their random walk, either individual or collective. Then, sky is the limit...
I didn't mention Chile without reason ;-)
Let's have a call you @Daniele Palombi and I!
If you edit your comment, Jorge, you can move the little ``` thing from the bottom to the end of the sentence Fosco wrote, and then it'll be clear he just said that one sentence.
Ah, this thing again, we've been going in circles on this for years (and probably much longer, but I've personally been going in circles for years)... it was ACT2019 in Oxford when Jelle registered a domain and built a front page with me looking over his shoulder, I don't even remember what the domain was now
There's 2 separate problems, one is that nobody who knows how to build the necessary infrastructure for a web server has done so, and the other is that writing wiki articles is deceptively really hard... the second thing is the main thing I've learned from a few attempts at 1catlab over the years
Questions 1 and 2 and @John Baez's answers above are the sort of thing that could be helpful in an FAQ! :smile:
This is a long post. I have a few takeaways and questions at the end.
I'd like to share my own experience with question 1 ("Category theory sounds exciting/useful, and I want to apply it to [X], which I have a background in. How can I get started?"). I also would like to share the sequence of events that lead me to ask question 1.. Perhaps there are some aspects of my experience that can helpful as the community helps people answer question 1. in the future. It could also be that self-learning trajectories like this could be helpful to include in some "help me get started with applied category theory" resource.
I decided to take engineering in my undergrad, because I thought it had the highest probability of leading to a job where I would get to use math. However, I realized there was a lot of exciting math that would never be covered in my engineering classes. I would often head to the library and try to find some math book that was both exciting and accessible, with limited success. The first thing I remember engaging with about category theory was "Category Theory For Scientists" by Spivak (https://math.mit.edu/~dspivak/CT4S.pdf). This book was exciting to me because I finally felt I had found an interesting math book that didn't assume classes I'd never taken. Subsequently, I banged my head against Aluffi's "Algebra: Chapter Zero" for some time, but it was too hard for me at the time to do as self-study. Eventually, I decided that to understand exciting math books I had to first study some "boring" things. So, I worked through some of "Understanding Analysis" by Abbott and "Introduction to Topology" by Adams. In this way, I discovered that the way to make progress in learning math through self-study is to pick something easy enough and work lots of exercises.
With this understanding, I wanted to return to category theory. I was inspired by John Baez's blog, and found the link to this Zulip there. By searching on this Zulip, I discovered "Seven Sketches" and decided it was probably a great place to start learning applied category theory. I worked through probably about 30% of it, and this was fun and exciting. At this point, I felt that I was not understanding the motivation behind some of the examples and constructions as clearly as I would like. In addition, the book didn't seem to be addressing the kind of application I was most interested in. As a result, I have switched my efforts to Riehl's "Category Theory In Context", enabled by the background I acquired from "Seven Sketches".
Sometime after starting "Seven Sketches" is when I started asking question 1 ("Category theory sounds exciting/useful, and I want to apply it to [X], which I have a background in. How can I get started?"). In my case, [X] is medical imaging. Here's my answer so far:
Some takeaways from the above:
Some questions:
Your questions are important and clearly stated, @David Egolf. I don't know the answers.
I have a question: what about Categories in Context seems easier, or better, than Seven Sketches? I'm surprised you switched to that book because I consider it harder, and it doesn't discuss applications outside math. But I have very little understanding of what it's like for people to learn category theory, except for me and my friends and students, who are all mathematicians.
John Baez said:
If you edit your comment, Jorge, you can move the little ``` thing from the bottom to the end of the sentence Fosco wrote, and then it'll be clear he just said that one sentence.
Thanks, John. I got it! (I had deleted the ``` inadvertently)
John Baez said:
I have a question: what about Categories in Context seems easier, or better, than Seven Sketches? I'm surprised you switched to that book because I consider it harder, and it doesn't discuss applications outside math. But I have very little understanding of what it's like for people to learn category theory, except for me and my friends and students, who are all mathematicians.
The presentation of any given material is harder in Category Theory in Context, but despite that the book currently feels easier to connect to my application area of interest than the next bit of Seven Sketches. Some possible reasons for this:
@David Egolf If you really want to learn the basic philosophical approach of category theory, maybe also take a look at Conceptual Mathematics by Lawvere and Shanuel
Lemma 1.3.8 in Category Theory in Context states: "Functors preserve isomorphisms". Let me explain how this is exciting to me, as someone who wants to apply category theory to imaging. Relevant to the larger discussion in this thread, this example illustrates one way in which a non-mathematician may try to apply category theory, which may be relevant to discussions of how to facilitate collaboration with the applied category community.
The statement "Functors preserve isomorphisms" [I will call this statement "(1)"] first reminded me of some algebraic topology I had been learning (from Basic Algebraic Topology by Shastri). If two topological spaces are isomorphic in (so they are homeomorphic), and we have a functor , then (1) implies that the groups associated with isomorphic topological spaces are themselves isomorphic. Similarly, if we have a functor from to , then (1) implies that homeomorphic topological spaces are homotopy equivalent (isomorphic in ).
(1) is useful to the goal in algebraic topology of determining whether two topological spaces are isomorphic in . By (1), if in , and , then in . This means that if is not isomorphic to in , then are are not isomorphic in . So, we have a strategy for determining if objects are not isomorphic in some category: apply functors to other categories and see if the images of those objects are not isomorphic.
We can now make a philosophical connection to imaging. Think of a functor as a "blurring lens" through which the world is perceived. Then, the world as viewed in the image of a functor may be simpler than the original "sharp" world with its full details, but by (1) it still allows us to make some analysis of objects in the source category. Further, there are a huge number of "world view lenses" (functors) to analyze data in this style. In fact, every object in a category provides a functor - the one Riehl calls the functor "represented by" an object ! Different kinds of objects will allow us to probe different kinds of properties by the functor they represent.
This now gives a possible strategy for applying category theory to imaging. Model the original things one wishes to image as objects in some category . Apply a functor that preserves objects, and adds some morphisms so that additional objects become isomorphic. We think of each equivalence classes of objects in as corresponding to a particular property we want to detect in imaging. Next, applying a functor that models the observation process, yielding observations. By (1), if observations are not isomorphic in then they are not isomorphic in . So, if we can simulate the observations that would be obtained by a reference object with a property of interest, we can then compare this object in to some observations obtained in . If we can determine that these objects are not isomorphic in , then we can learn that the thing we are observing does not have the property of interest held by the reference object. It would also be possible apply an additional functor that "blurs" the observations, making analysis of some properties easier (in the spirit of the functor to from ).
Notice that this strategy for thinking about imaging using category theory:
Paolo Brasolin said:
In any case I can provide a leg-up if the technicalities are hindering a test ride.
This would be great! I would definitely do an initial commit for a "getting started in ACT" page, and maybe other pages if there was a place to put it.
Paolo Brasolin said:
Obviously this doesn't solve the Real Problems:
- ethics (a simple example being that while solution 1 limits dissemination by design, you might not like using microsoft products)
- meeting and talking with people
- ???
As for meeting and talking with people, perhaps there should be a page of the repository which lists ACTists who are looking to meet domain experts and exchange knowledge, and which domains they are most interested in.
To me, category theory is first and foremost a revolution in thinking. As such, I believe it must be brought to public education. Present endeavors to make compelling applications are admirable, but the earth is projected to warm at least 2.7C by 2100, which is far beyond the point of spiraling social collapse. Our community is far too small, and I do not believe that there is time to make a few great applications, garner public attention, and somehow win large organizations over to new methods of system design.
I think (oversimplifying) that it is too late to "save" the society we have; and we have now to empower the next generations to think deeply and communicate clearly, and understand that they can and must reimagine the world. To me, there needs to be a drastic change in ACT community priorities toward education, if we are to realize its potential. This is what I'm going to devote my life to, and I want to know who else shares these thoughts.
Christian Williams said:
To me, category theory is first and foremost a revolution in thinking. As such, I believe it must be brought to public education. Present endeavors to make compelling applications are admirable, but the earth is projected to warm at least 2.7C by 2100, which is far beyond the point of spiraling social collapse. Our community is far too small, and I do not believe that there is time to make a few great applications, garner public attention, and somehow win large organizations over to new methods of system design.
I think (oversimplifying) that it is too late to "save" the society we have; and we have now to empower the next generations to think deeply and communicate clearly, and understand that they can and must reimagine the world. To me, there needs to be a drastic change in ACT community priorities toward education, if we are to realize its potential. This is what I'm going to devote my life to, and I want to know who else shares these thoughts.
The I'd suggest you go full Erdòs more than building platforms
I share your thoughts about the oncoming crisis; I can't claim predict whether or not there will be "social collapse" or not, but we can already see plenty of unprecedented disasters like a thousand homes burning down due to wildfires in Colorado last week, fed by 100-mile-per-hour winds, so we can expect a lot of bad stuff to go down.
It's an established approach with a great track record since at least the times of Diogenes
Meaning what, Fabrizio? Going around talking to people?
The I'd suggest you go full Erdòs more than building platforms
I'm not sure what you mean. I don't want to write papers; I want to reimagine math education from the ground up.
I don't think he meant writing papers! Diogenes didn't write papers....
He wandered around wearing a barrel, looking for an honest man.
(So the legend goes.)
Erdos, not Diogenes
He said "it's a time-honored approach since Diogenes". Erdos also wandered around talking to people - that's how he operated.
any way, it's not what I'm talking about.
Categorical thinking isn't something advanced; it's humanity's basic capacity of abstraction. I think the whole subject needs a rebranding as simply Logic --- logic in the richer sense that we originally meant philosophically, that recognizes everything as connected and interacting and evolving. I claim that using colorful string diagrams, a child can understand the 2-category of relations, and use it to express their own understanding of the world.
I think math education is traumatizing the public by presenting abstract thinking as a mechanical process of calculation. I think we can now provide the right foundation and language to empower people's thinking (while still fulfilling what people normally understand as a math education, and far more).
John Baez said:
I can't claim predict whether or not there will be "social collapse" or not
I'm surprised you say this (though I know a literal "prediction" is virtually impossible). I imagine you've read about comparisons between 1.5C and 2C? as in chapter 3 of IPCC SR1.5
any way, I'm just arguing that I think #1 on the list of goals is the key to the whole thing.
You mean this goal?
Grow and educate the community efficiently
yes, though it should be rephrased and expanded.
Christian Williams said:
Categorical thinking isn't something advanced; it's humanity's basic capacity of abstraction. I think the whole subject needs a rebranding as simply Logic --- logic in the richer sense that we originally meant philosophically, that recognizes everything as connected and interacting and evolving. I claim that using colorful string diagrams, a child can understand the 2-category of relations, and use it to express their own understanding of the world.
I actually lean in quite the opposite direction here. For my money the categorical community has somewhat of a problem with its inability to turn a critical eye on the limitations and scope of category theory. I would like a community goal to be for us to constructively criticize each other as to the limitations and scope of category theory. For a lot of people we are considered zealots and there are contexts where it's hard for me to be taken seriously, people roll their eyes when I advocate a categorical approach. I believe there are ways to do this without making the community toxic, but scientific research is more than improv (i.e., "yes, and -") At some point people need to say to each other, for example, "You haven't yet provided sufficient evidence that this perspective is worth the effort it will take to learn the jargon."
Ray Brassier once criticized Nick Land and his school of research for taking an approach of "everything is connected" -
Yet if thinking is just connecting things, of course it’s exciting, like taking amphetamines. But thinking is also about disconnecting things.
My criticism is of the idea that "everything is connected through category theory" - that category theory is this imperialist discipline which must triumphantly barge into every neighboring field of science and this is the right way to do things.
International education reforms are bureaucratically almost impossible (unless you can convince some religion of the value of CT and get them to introduce it to the curricula of their schools...)
If you want to directly bring about educational reform, you still need to demonstrate results, communicate with and influence people. It's just a different audience to the one that John was describing, and possibly a much less receptive one.
As a small follow up to my original post, a good red flag here is, for example, when people retroactively impute category theoretic concepts onto thinkers far before 1945 or talk about any kind of thinking around graphs or networks as being a branch of category theory. often there's some historical distortion in speaking of earlier research as "proto-category theoretic."
Morgan Rogers (he/him) said:
If you want to directly bring about educational reform, you still need to demonstrate results, communicate with and influence people. It's just a different audience to the one that John was describing, and possibly a much less receptive one.
Yes. Except for the "less receptive" part --- the audience I'm interested in is children. What's more fun, "assign this pile of apples a symbol" or "draw your family tree"? There are tons of extracurricular math programs, and with online tools the field of education is expanding and evolving quickly. I don't mind starting modestly at all; all I need is one classroom of kids and some time for a proof of concept.
I think the great trap that math falls into is the notion that it's only justified by its applications. What gets lost is the crucial idea that first it's about thinking better, and then we do things better as a consequence. Somehow this fact needs to become revitalized.
Patrick Nicodemus said:
My criticism is of the idea that "everything is connected through category theory" - that category theory is this imperialist discipline which must triumphantly barge into every neighboring field of science and this is the right way to do things.
category theory is a language which is unifying mathematics, and math is the foundation of modern science. people don't think of math as an imperialist discipline; it's just abstract thought. (which never claims to be the content of science, only the form)
all of this is extremely new - "ACT" wasn't even a phrase a decade ago. if in "category theory" you ascribe meanings with severe historical and cultural limitations (its extremely esoteric and elite origins, from which it's only just emerging), then that limits how we think about the future.
if people who really believe in ACT are right, then it won't be a complicated or intimidating subject at all; it should be completely simple and natural. I think the hardest part is the huge endeavor to see categorical thinking in everyday life - we've developed some examples, but academia doesn't incentivize this at all. we're just at the very beginning.
Morgan wrote:
International education reforms are bureaucratically almost impossible....
I don't think Christian is trying to reform education "from the inside", by changing how existing schools teach. That would indeed require a difficult battle with their existing bureaucracies - a bad approach, in my opinion. I think he wants to start by just trying to teach some kids new stuff, extracurricularly. And this seems like the right approach: just try it and see what happens! It may turn out to be great, it may force him to rethink his dreams or even give up, but this is the fastest way to get some feedback.
And indeed, Christian is starting a course on categorical logic using string diagrams at U.C. Riverside tomorrow, for grad students, which will already give him some feedback.
I think there's room for a lot of different approaches to the problem of how to "grow and educate the community efficiently". Different ones of us can pursue different approaches in parallel, and they may work better in parallel.
My own goal is to help the Topos Institute develop what I jokingly call a "killer app" of applied category theory: a clear example of how category theory can be used to tackle a real-world problem, which does not require any understanding of category theory to appreciate.
My favored "killer app" is software for epidemiological models - and as I mentioned, there's a team of people working on this now.
If we can develop this and get some epidemiologists to use it and like it, the Topos Institute - as well as everyone here - will have something concrete to point to when people ask what applied category theory is good for. (There are already other such things, but we need more, and I believe the Topos Institute should prove that they can develop one.)
And by the way, I'm not arguing against Christian's point that
the great trap that math falls into is the notion that it's only justified by its applications
I think that this "killer app" idea is just one thing we should be doing, and there's no need for all of us to be thinking in that direction.
We should really have 50 different groups of people trying 20 different ways to develop, use, and promote applied category theory. And there probably already are about 20.
For example there are 2 applied category theory schools going on this summer, one with 3 different projects and one with 4!
Christian Williams said:
Morgan Rogers (he/him) said:
If you want to directly bring about educational reform, you still need to demonstrate results, communicate with and influence people. It's just a different audience to the one that John was describing, and possibly a much less receptive one.
Yes. Except for the "less receptive" part --- the audience I'm interested in is children.
But it's not children that you have to convince if you want educational reform..!
John Baez said:
Morgan wrote:
International education reforms are bureaucratically almost impossible....
I don't think Christian is trying to reform education "from the inside", by changing how existing schools teach. That would indeed require a difficult battle with their existing bureaucracies - a bad approach, in my opinion. I think he wants to start by just trying to teach some kids new stuff, extracurricularly. And this seems like the right approach: just try it and see what happens!
Ah, I see, I misunderstood the scale of the operation. If the ambition is just "teach category theory to a few children rather than a few adults", then that seems entirely feasible, although the scale seems to contrast greatly with the fear of environmental and societal collapse that was mentioned alongside it.
John Baez said:
And by the way, I'm not arguing against Christian's point that
the great trap that math falls into is the notion that it's only justified by its applications
Contrary to John, I am willing to argue against this. We must distinguish here between the justification of maths from the point of view of practitioners and of wider society. Maths, and CT in particular, is self-justifying to many practitioners. We do it because we enjoy it, because the abstract questions are interesting in themselves. I'm sure that Christian is right, that children could also enjoy and appreciate CT for its own sake. This would get more people asking John's question 1, from above:
Category theory sounds exciting/useful, and I want to apply it to [X], which I have a background in. How can I get started?
I like math, and I've heard about category theory. Might it be useful to me for my applied context, [X]?
However, it does nothing for people in the position of question 2; someone who is not merely taking a recreational interest in CT but who wants to know whether it can be of practical use to them. To someone not already interested in CT for its own sake, investing time in CT is only justified to the point that it can be applied in the intended context!
Specific branches of CT have fallen victim to the hubris of purist practitioners, including my own area of topos theory. Despite over 50 years of developments on topos theory, including huge textbooks, there are only a handful of practitioners. Even in algebraic geometry, for which toposes were conceived in the first place, topos theory has struggled to stay fashionable because those working on it failed to develop the theory in directions which provided any clear benefit to practitioners in adjacent disciplines (and because Grothendieck fell out with his students, but I don't know enough about that to estimate its relative importance). The Algebraic Geometry course I took in my Masters talked mostly about sheaves without the word "topos" appearing even once, and the word "category" was used only reluctantly, even though it was fundamental to the material we were studying. Even in supposed applications of topos theory like the use of the topos of sheaves on the real numbers for temporal logic, most of the existing work has gone into making explicit what the most basic ingredients of topos theory represent in this context (and possibly employing those ingredients directly), which does little to justify anyone exploring the mountain of theory beyond the basics.
My own view is that if you want people to take your subject seriously, its your responsibility to do the work to meet them part way, by demonstrating the relevance of your subject to their interests. I was very excited when I heard from @Paolo Perrone at ItaCa last month that people in categorical probability theory (the Markov categories of @Tobias Fritz) were on the verge of being able to prove new results in probability theory. That would represent a turning point for that application of category theory: it's no longer just an alternative perspective on known material, but a perspective which enables practitioners to discover new results that weren't accessible from other angles. It's not the "killer app" that John was describing, but it's the necessary prerequisite to CT being adopted by people outside of the community of already-interested individuals.
John Baez said:
Meaning what, Fabrizio? Going around talking to people?
Yes!
Christian Williams said:
category theory is a language which is unifying mathematics, and math is the foundation of modern science. people don't think of math as an imperialist discipline; it's just abstract thought. (which never claims to be the content of science, only the form)
I don't think I agree with this. This applies to Maths, Physics and in some degree to biology and chemistry. Methods in science often rely much less on maths than one would hope/think.
I have many friends working in chemistry that seldom use more than standard arithmetic to count atoms in a reaction. Again, I think this point of view is dangerous. You are presuming things about "science" (literally one of the biggest corpuses of knowledge we ever built) without really asking scientists in other fields what is that they do in their day-to-day life. I agree with @Patrick Nicodemus that this approach is kinda imperialistic in its essence.
Christian Williams said:
The I'd suggest you go full Erdòs more than building platforms
I'm not sure what you mean. I don't want to write papers; I want to reimagine math education from the ground up.
To be more precise, here I meant "knock on people's doors and ask hey, are you interested in doing/understanding/talk about X?
, as people like Erdos and Diogenes did."
I appreciate y'all's thoughts. by this point for me it seems that too much misunderstanding has accumulated (just regarding my thoughts, not the larger conversation); I'd be happy to continue this kind of conversation face-to-face sometime, with anyone who wants.
my personality doesnt translate well to this format; that's why I don't talk on here much (though I know it probably just takes patience and practice). I imagine others might feel the same way.
all I was describing is a dream of mine, and my belief that education needs to become a bigger priority/endeavor in the community. (I make the mistake of using phrases like "the most important" etc, and that takes away from the message.) for "bigger" conversations I want them to be systematic and clear, and most of the time in spontaneous online discussion there is not the time or energy to do that. such is life. it's alright; I know we're all doing great stuff.
but for example, Fabrizio when I say "math" or "CT" or "logic", I just mean abstract thinking in a very general sense, which if I took the time to fully explain you would better understand why I regard it as a foundation of science. but I think we both don't really have the time to flesh out semantics and philosophical assumptions online, and would probably prefer just to talk face-to-face again sometime.
Morgan when I talk about the importance of math independent of applications, I'm not talking about "enjoyment of questions in themselves" etc, but about developing a person's abstract thinking, imparting to a child all this rich language and structure we have discovered, which they can use to understand the world more deeply and clearly, and do things better as a consequence. this is just a goal that I believe is important, that's all.
fosco said:
This is an example of the "species" page Paolo is talking about: https://tetrapharmakon.github.io/species/lectures/2-p-and-its-up-and-species.html
Everything is made using jekyll from simple markdown which can contain arbitrarily elaborate tikz code and commutative diagrams in svg format.
Hi @fosco I'm sorry to reply to a message deep in the thread, but I am wondering if you can share the source that allows you to create such a page? It looks great.
Ah, I think I found it: https://github.com/tetrapharmakon/species
fosco said:
I didn't mention Chile without reason ;-)
Let's have a call you Daniele Palombi and I!
Sure! We should keep trying, now in January, which for us at least is somewhat less busy than December!
By the way, regarding the use of category theory in biology, were you aware of this ZA thesis (Durban)
https://www.academia.edu/51583893/Categorical_systems_biology_an_appreciation_of_categorical_arguments_in_cellular_modelling
and this Japanese paper:
Duality between decomposition and gluing: A theoretical biology via adjoint functors
Taichi Haruna a,∗, Yukio-Pegio Gunji a
doi:10.1016/j.biosystems.2007.02.008 ?
The latter remark, as we did too, that Robert Rosen did not get to the point of taking advantage of adjoint functors in his (elementary) categorical approach to relational biology....
Jonathan Sterling said:
Ah, I think I found it: https://github.com/tetrapharmakon/species
yep, it's a public github page :smile: just jekyll and a dedicated gem (anTeX) that @Paolo Brasolin wrote some time ago
Christian Williams said:
my personality doesnt translate well to this format; that's why I don't talk on here much
Says the literal creator of this forum :octopus:
@Christian Williams I remember a talk by Dan Ghica where he presented some experimentation he did in teaching CT to kids. He did a blog post on it: http://danghica.blogspot.com/2019/09/discovering-category-theory-with.html
Maybe there are other resources online.
oh great, that's awesome! thanks
fosco said:
Jonathan Sterling said:
Ah, I think I found it: https://github.com/tetrapharmakon/species
yep, it's a public github page :) just jekyll and a dedicated gem (anTeX) that Paolo Brasolin wrote some time ago
I just wrote https://github.com/paolobrasolin/krater -- it's as close as I can get to a one-click setup for websites like https://tetrapharmakon.github.io/species/lectures/2-p-and-its-up-and-species.html
@Jonathan Sterling you might be interested in it.
@Joshua Meyers @David Egolf there wasn't much enthusiasm for the "ACT webpage" idea, but this should be helpful if anyone wants to go through with it. HMU if you need anything.
@fosco hopefully this will also help for the next blog/seminar/course/whatever.
@Paolo Brasolin Wow thank you very much! That's something I was wondering if you had :)
@Paolo Brasolin Is there a way to configure the preamble
field for antex to read a file?
Paolo Brasolin said:
fosco said:
Jonathan Sterling said:
Ah, I think I found it: https://github.com/tetrapharmakon/species
yep, it's a public github page :) just jekyll and a dedicated gem (anTeX) that Paolo Brasolin wrote some time ago
I just wrote https://github.com/paolobrasolin/krater -- it's as close as I can get to a one-click setup for websites like https://tetrapharmakon.github.io/species/lectures/2-p-and-its-up-and-species.html
Jonathan Sterling you might be interested in it.
Joshua Meyers David Egolf there wasn't much enthusiasm for the "ACT webpage" idea, but this should be helpful if anyone wants to go through with it. HMU if you need anything.
fosco hopefully this will also help for the next blog/seminar/course/whatever.
That looks like it could be awesome! I might try it out, and see if I can make a little "Getting Started with Applying Category Theory: What I've Learned So Far" page.
Jonathan Sterling said:
Paolo Brasolin Is there a way to configure the
preamble
field for antex to read a file?
If avoiding repetition is enough, you can simply set antex.preamble
in _config.yml
instead of the preamble of the specific page (annoying because it requires restarting to reload, but it should settle quickly).
If you really want to read a file, I can make that happen; just open a feature request here https://github.com/paolobrasolin/jekyll-antex
Maybe an option preamble_uri
which can read both local files and urls would do the trick.
Wow thanks!
Paolo Brasolin said:
Jonathan Sterling said:
Paolo Brasolin Is there a way to configure the
preamble
field for antex to read a file?If avoiding repetition is enough, you can simply set
antex.preamble
in_config.yml
instead of the preamble of the specific page (annoying because it requires restarting to reload, but it should settle quickly).If you really want to read a file, I can make that happen; just open a feature request here https://github.com/paolobrasolin/jekyll-antex
Maybe an option
preamble_uri
which can read both local files and urls would do the trick.
Gotcha! My use case is basically that I have a very large collection of LaTeX macros that I would like to use, and it would be nice to be able to keep them separated. I guess really what I want is to be able to import local .sty
files, but I realize this might be hard to support.
Actually, I figured out a much more powerful solution :)
I tweak the configuration antex.commands.latexmk.command
to include some local directory in TEXINPUTS
.
@Paolo Brasolin So I noticed one small issue with jekyll-antex: when using it for inline math (KaTeX and mathjax do not meet my needs), the image is rendered in the text based on its total dimensions which means that the baselines are not aligned with the surrounding text. This means, for instance, that a lowercase letter is placed very differently from an uppercase letter.
I don't know how one would fix this because I am not too familiar with the guts of TeX. Is this too crazy to try and fix, or would you like me to submit a ticket?
krater
I hereby declare that this is the way I will forever write lecture notes for anything I need.
Jonathan Sterling said:
Paolo Brasolin So I noticed one small issue with jekyll-antex: when using it for inline math (KaTeX and mathjax do not meet my needs), the image is rendered in the text based on its total dimensions which means that the baselines are not aligned with the surrounding text. This means, for instance, that a lowercase letter is placed very differently from an uppercase letter.
I don't know how one would fix this because I am not too familiar with the guts of TeX. Is this too crazy to try and fix, or would you like me to submit a ticket?
This seems to be the problem we spotted with the size of certain commutative diagrams; see issue #17: https://github.com/paolobrasolin/jekyll-antex/issues/17
@Jonathan Sterling loading local/remote files isn't that hard (so feel free to open an issue anyways) but your solution is just so damn clever I won't insist :laughter_tears:
About the sizing issue: as @fosco pointed out in https://categorytheory.zulipchat.com/#narrow/stream/241990-general.3A-values/topic/goals.20and.20questions/near/267114703 I've been thinking about that a lot and still haven't come up with a general solution. At its core, it's an unsolvable problem (since in TeX there's no enforced relation between boxes and actual ink). However, it's almost always possible to have satisfying approximations, and the details depend on the kind of content you're typesetting.
Inline math is pretty innocent and should be doable, so I'm curious about the details of your situation. Please do open an issue in https://github.com/paolobrasolin/jekyll-antex/issues and point me to your code. Let's bring the conversation there. Thanks!
Using the awesome template Paolo has provided, I made a (small) start on a list of resources that might be helpful for people interested in applying category theory. Here's the current list: https://degolf.github.io/Applying-Category-Theory/gettingStarted
Hopefully I will add some more things to this list relatively soon.
Do we have a place on this Zulip for people to post their website/blog on category theory things?
It might be nice to have a thread just for links to those, with very short descriptions.
As an update on my progress @Paolo Brasolin I have decided to hold off on pushing for the layout of inline math in jekyll-antex to be fixed, because I am a little skeptical that this is actually possible. On the other hand, I am trying to make peace with the combination of KaTeX and antex.
Putting aside the limitations of KaTeX, the main problem that I have is that it is basically intractable to even consider manually maintaining parallel macro libraries for both katex and antex to ensure consistent typesetting between diagrams and inline math. I have come up with what I feel is an elegant solution!
I have written some Racket macros that will let me define in a very high-level (and hygienic!! and compositional!) way a library of TeX macros that then are automatically rendered into _both_ LaTeX format and KaTeX's JSON format. These are picked up by the jekyll setup as follows: the latex file is just imported in the antex prelude, and the KaTeX JSON configuration is spliced in by the custom head template.
Once I have things in a bit more working order, I am happy to share my code.
But I am very excited, because now I can effortlessly do stuff like this: image.png
(Extra points if you find the math typo)
Jonathan Sterling said:
As an update on my progress Paolo Brasolin I have decided to hold off on pushing for the layout of inline math in jekyll-antex to be fixed, because I am a little skeptical that this is actually possible. On the other hand, I am trying to make peace with the combination of KaTeX and antex.
Sounds good! I opened an issue anyway (-> https://github.com/paolobrasolin/jekyll-antex/issues/18)
Jonathan Sterling said:
I have written some Racket macros that will let me define in a very high-level (and hygienic!! and compositional!) way a library of TeX macros that then are automatically rendered into _both_ LaTeX format and KaTeX's JSON format. These are picked up by the jekyll setup as follows: the latex file is just imported in the antex prelude, and the KaTeX JSON configuration is spliced in by the custom head template.
Once I have things in a bit more working order, I am happy to share my code.
KaTeX/MathJaX/AnTeX/LaTeX interoperability is another long standing issue.
Looking forward to seeing your solution!
Hopefully I'll be able to improve krater
with the lessons you're learning (-> https://github.com/paolobrasolin/krater/issues/1)
@Paolo Brasolin I'm having some very strange issues with antex on github pages that aren't happening locally. What is happening is: the svg file for my diagram is basically crunched into a tiny dimension.
Here's an example: https://github.com/jonsterling/math/blob/gh-pages/antex/4b63424b6073d5b46837a5f1a08089dd.svg
For now I think I'm going to stop having GitHub build this stuff, and just build and publish locally.
Jonathan Sterling said:
Paolo Brasolin I'm having some very strange issues with antex on github pages that aren't happening locally. What is happening is: the svg file for my diagram is basically crunched into a tiny dimension.
Here's an example: https://github.com/jonsterling/math/blob/gh-pages/antex/4b63424b6073d5b46837a5f1a08089dd.svg
Thanks! Issue solved -> https://github.com/paolobrasolin/krater/issues/2
Jonathan Sterling said:
For now I think I'm going to stop having GitHub build this stuff, and just build and publish locally.
LMK if you want to give CI another try!
Btw, deploying locally is a feature someone might prefer anyways.
Perhaps it's a good idea to include a clean script to do that in krater
itself. :thinking: (-> https://github.com/paolobrasolin/krater/issues/3)
This is so much fun... Btw you can see my progress here: http://www.jonmsterling.com/math/lectures/categorical-foundations.html
Jonathan, I got a 404 from that link.
Sorry @Todd Trimble , I've been reorganizing! Have a look at the first three links on this page: https://www.jonmsterling.com/math/
Thank you!
I've now been working on some tricks to support a reasonable approach to "linking to an inner heading on a different page" `a la TeX refs that is not totally fragile.
I wrote a Jekyll plugin that does this. First you add a label
key to each page's frontmatter, like lecture1
or something. Then recall that the id
of an HTML node in the markdown can be set by writing {#my-thm}
or something.
My plugin will read through every page on the website that has a label, and find all the labeled nodes inside that page, and build up a global tree of all labels, like lecture1.my-thm
. This data is attached to every page in page.refs
.
Then I have written a plugin for the Liquid templater that lets you write something like {{page.refs.lecture1.my-thm | url}}
to get valid url to my-thm
in the lecture1
page. This will throw an error at compiletime if the ref isn't valid.
This solves the problem of moving things around and all the links going dead.
My plugin code is here: https://github.com/jonsterling/math/blob/main/_plugins/refs.rb
Note that this cannot be run in GitHub Pages; you must also remove github-pages
from your gemfile (it took me more than an hour to discover this LOL). But you can run it locally and deploy by hand.
John Baez said:
This is probably much more controversial, but: I do not want to put time into developing highly generalized technologies that merely increase human power over nature and other people, because at this point I think the problems of the world are not mainly due to a lack of human power over nature and other people.
That is _literally_ the goal of engineering. Are you suggesting you find engineers immoral and you wouldn't work with them? I am not trying to sound caustic but the math part of ACT is so resistive to becoming "unpure" in a moral sense that they are frankly shooting themselves in the foot. Let me be clear the goal that this part of the community wants to do with the goal of outreach and teaching category theory are orthogonal. You can't have one without the other and in the end most things are much too nuanced for people to make community values that are exclusive by default.
The same engineering technology that goes into building an artificial pancreas that works goes into weaponry. This is the age old question: what do we do with that piece of information?
Jonathan Sterling said:
My plugin code is here: https://github.com/jonsterling/math/blob/main/_plugins/refs.rb
Note that this cannot be run in GitHub Pages; you must also remove
github-pages
from your gemfile (it took me more than an hour to discover this LOL). But you can run it locally and deploy by hand.
OK I have gone so far beyond this lol... I now have the basic machinery in place to do your own stripped down "Stacks Project".
...What about you two join forces?
Refactored and advertised a little bit, this framework to "groom your own kerodon" could be a game-changer for all of us that have to write up lecture notes...
G
Georgios Bakirtzis said:
John Baez said:
This is probably much more controversial, but: I do not want to put time into developing highly generalized technologies that merely increase human power over nature and other people, because at this point I think the problems of the world are not mainly due to a lack of human power over nature and other people.
That is _literally_ the goal of engineering.
I thought some engineers tried to solve problems in order to help people and the planet.
As a person who has done engineering research, I feel that the line between "helping people and the planet" and "increasing human power over nature" can sometimes be blurry. For example, I have done engineering research to improve medical imaging systems. I would like the work I do to eventually enable people and animals to live healthier lives. However, one could also view medical imaging technology as increasing human power over disease. Depending on whether one views disease as "natural" or not, this could be viewed as increasing human power over nature.
Yes, of course this line can sometimes be blurry. I think ethical discussions always involve a lot of blurry lines that can only be cleared up, if at all, in specific concrete cases.
But notice, I didn't say I was opposed to doing things because they increase human power over nature. I said "I do not want to put time into developing highly generalized technologies that merely increase human power over nature and other people", where now I'm highlighting some words you may have missed.
I wouldn't say a medical imaging system is a highly generalized technology: it's intended for a fairly specific use. Furthermore, at least ideally, its main goal is to help people. This is different than what I meant by "power over people" - meaning, getting them to do what you want, not what they want.
So in case you care - and maybe there's no reason you should - I consider medical imaging systems to be exactly the sort of technology I would be happy to work on (if I weren't already too busy with epidemiological modeling).
Thanks for explaining further. The emphasis on highly generalized technologies is interesting.
Thanks. I haven't spent enough time thinking about this, but one thing about highly generalized technologies is that the people developing them can say "it's not my fault what people do with my work: I can't predict what they'll do with it". Of course mathematicians are also experts at this maneuver, and I don't like that either... but they closer one gets to actual concrete technologies, the less persuasive it is.
fosco said:
Refactored and advertised a little bit, this framework to "groom your own kerodon" could be a game-changer for all of us that have to write up lecture notes...
This is a great idea! My code is very much "shackled together" and it would be great to have collaborators who share that vision who can write better code than me.
Jonathan Sterling said:
fosco said:
Refactored and advertised a little bit, this framework to "groom your own kerodon" could be a game-changer for all of us that have to write up lecture notes...
This is a great idea! My code is very much "shackled together" and it would be great to have collaborators who share that vision who can write better code than me.
Even if code is not ready for "production" as soon as it is out there someone can refactor it :grinning:
That's my hope! Anyone can try and improve it here: github.com/jonsterling/math
Jorge Soto-Andrade said:
fosco said:
I didn't mention Chile without reason ;-)
Let's have a call you Daniele Palombi and I!
Sure! We should keep trying, now in January, which for us at least is somewhat less busy than December!
By the way, regarding the use of category theory in biology, were you aware of this ZA thesis (Durban)
https://www.academia.edu/51583893/Categorical_systems_biology_an_appreciation_of_categorical_arguments_in_cellular_modelling
and this Japanese paper:
Duality between decomposition and gluing: A theoretical biology via adjoint functors
Taichi Haruna a,∗, Yukio-Pegio Gunji a
doi:10.1016/j.biosystems.2007.02.008 ?
The latter remark, as we did too, that Robert Rosen did not get to the point of taking advantage of adjoint functors in his (elementary) categorical approach to relational biology....
The papers of Rosen seem interesting