Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulating Historical Communication Networks in Python #605

Open
hawc2 opened this issue Mar 19, 2024 · 86 comments
Open

Simulating Historical Communication Networks in Python #605

hawc2 opened this issue Mar 19, 2024 · 86 comments

Comments

@hawc2
Copy link
Collaborator

hawc2 commented Mar 19, 2024

Programming Historian in English has received a proposal for a lesson, "Simulations in historical research: How to create an agent-based model of communication networks" by @merrygin and @maltevogl.

I have circulated this proposal for feedback within the English team. We have considered this proposal for:

  • Openness: we advocate for use of open source software, open programming languages and open datasets
  • Global access: we serve a readership working with different operating systems and varying computational resources
  • Multilingualism: we celebrate methodologies and tools that can be applied or adapted for use in multilingual research-contexts
  • Sustainability: we're committed to publishing learning resources that can remain useful beyond present-day graphical user interfaces and current software versions

We are pleased to have invited @merrygin and @maltevogl to develop this Proposal into a Submission to be developed under the guidance of @digitalkosovski as editor.

The Submission package should include:

  • Lesson text (written in Markdown)
  • Figures: images / plots / graphs (if using)
  • Data assets: codebooks, sample dataset (if using)

We ask @merrygin and @maltevogl to share their Submission package with our Publishing team by email, copying in @digitalkosovski.

We've agreed a submission date of April. We ask @merrygin and @maltevogl to contact us if they need to revise this deadline.

When the Submission package is received, our Publishing team will process the new lesson materials, and prepare a Preview of the initial draft. They will post a comment in this Issue to provide the locations of all key files, as well as a link to the Preview where contributors can read the lesson as the draft progresses.

_If we have not received the Submission package by April, @digitalkosovski will attempt to contact @merrygin and @maltevogl. If we do not receive any update, this Issue will be closed.

Our dedicated Ombudspersons are Ian Milligan (English), Silvia Gutiérrez De la Torre (español), Hélène Huet (français), and Luis Ferla (português) Please feel free to contact them at any time if you have concerns that you would like addressed by an impartial observer. Contacting the ombudspersons will have no impact on the outcome of any peer review.

@digitalkosovski
Copy link
Collaborator

Dear @merrygin and @maltevogl, I hope you're both well. I'll be working as editor for this lesson.

In our previous communication by email last week, you asked for some initial feedback on the basis of the first draft you sent on Colab, which you also kindly sent to me in a .md file.

The draft you shared is an excellent starting point for the lesson. Much of it is structured already, the theoretical grounds are clear, and much of the code is written. I would like to offer some comments and advice before you send a full submission package:

  1. I would especially advise you to be careful with the 8,000 word-limit, as the first draft is already long, and there are still some sections that need to be written. Part (1) is very interesting and well written, but it is also conceptually dense, so given the word limit you might choose to cut or reduce some parts, and rely instead on references (these will, in any case, be of use for readers who want to delve deeper into the subject after your lesson). One thing that could perhaps render this first part more accessible is the use of one or two images, or conceptual schemes, to illustrate some of your points.
  1. Watch out for issues in the structure of the lesson. I noticed a problem with the order of sections in Part 2, with Part 2.2. coming before Part 2.1. Because of this, I couldn't tell whether you mean to discuss mesa or the case study first. As far as I could tell, there is also a Part II, but no Part I.

  2. The code gave me some errors when running it on Colab, please double check it in your full submission.

  3. You mention that you will use available data from the LetterSampo project, but this doesn't come up again after the introduction. As far as I could tell, the lesson gives the tools to create the simulation model, but you don't actually draw on that data. Have I perhaps missed something here? Or is it only that the model shares some of the same features of that data set? If it is the latter option, I would recommend rephrasing that idea to make it clearer.

These are all initial recommendations based on my first reading of the draft, and I hope that they will be of use to you when working on your full submission. As mentioned in the message above, we will be waiting for the submission package by April. In the meantime, please feel free to write with any questions or doubts. I'm looking forward to reading your full draft, this is a very exciting lesson and I'm glad to be able to give you a hand in the process.

@charlottejmc
Copy link
Collaborator

charlottejmc commented Apr 5, 2024

Hello @digitalkosovski, @merrygin and @maltevogl,

You can find the key files here:

You can review a preview of the lesson here:

I noticed a couple things when setting this file up, which I've listed below:

  • As mentioned by Agustín above, the structure is currently a little confusing to follow. It might help you to know we use heading sizes from ## (largest size) to #### (smallest size) only.
  • You used the html code <details> to create a toggle at line 63 – I removed this to keep with our house style. If you want to ensure this part stands out from the rest, we could in-bed it in an information box using alert-info, or simply a grey box using >. I can't tell from the context whether this is necessary here, though.
  • I believe parts of the code are missing backticks, which will help to separate it from the main text, and ensure the comments (marked with #) aren't interpreted as markdown headings.

Please feel free to make your subsequent edits directly to the markdown file here on Github!

Thank you ✨

@anisa-hawes anisa-hawes moved this from 0 Proposal to 1 Submission in Active Lessons Apr 5, 2024
@anisa-hawes
Copy link
Contributor

Thank you for setting up this preview @charlottejmc!

--

Hello Jascha @merrygin and Malte @maltevogl,

I've sent you both invitations to join us as Outside Collaborators here on GitHub. This will give you the Write access you'll need to edit your lesson directly. (There's no need to use the Git Pull Request system in our ph-submissions repository).

Please let us know if you encounter any practical problems as you work with Agustín @digitalkosovski to shape this draft towards its Initial Edit. Charlotte and I are here to help!

Best,
Anisa

@merrygin
Copy link
Collaborator

merrygin commented Apr 8, 2024

Hi @anisa-hawes @digitalkosovski and @charlottejmc - thank you for setting everything up and providing us with feedback! We will start updating our submission in the coming days.
All best,
Jascha

@merrygin
Copy link
Collaborator

merrygin commented Apr 26, 2024

Dear @anisa-hawes @digitalkosovski and @charlottejmc
thanks for your patience so far!
I just submitted our first change to the draft .md of @maltevogl and I. We worked on the original colab file we sent you to be able to test the code and write each other comments, which is why the .md here lay dormant for the past weeks.

We already tried to address some of your feedback, especially that towards structural inconsistencies, the danger of too much text as well as the code not working.

We tried to overhaul Part I to make the methodological introduction to simulations more approachable and less overwhelming. We now try to start at the historical interest for the subject matter and work step-by-step towards why simulations are useful for this. In order to do this, we also slightly changed the structure of the lesson compared to our initial submission.

The code should also be functional now and we extended it to include some visualization elements, especially an interactable interface inside the juptyer notebook. If you'd like to test the functionality of the code, you can try it here in the original colab.

There is still a lot to do, most importantly writing up Part III, cleaning up and finishing the text of Part II and reiterating on Part I, too, including all references / the bibliography as well as setting up a (external) document that systematically summarizes the model and would be a very good end point of the lesson, showing what could be done further with the model.

Unfortunately, all this is likely a bit too much for us to finish by end of April next week. So if it wouldn't be too much of an ask, we would kindly request if we might take a couple more weeks for getting everything ready.

All best,
Jascha

@digitalkosovski
Copy link
Collaborator

Dear @merrygin and @maltevogl , thanks for keeping us posted. It all sounds good and I'm confident about your coming submission. As for your request, you can indeed take some extra days/weeks to finish the draft. Keep up the good work!

@merrygin
Copy link
Collaborator

Dear all,
Just as a heads-up for you and a self-imposed deadline for us: We are currently finishing up the last edits and are hoping to get everything done for the next steps by Sunday. Thanks for your continued patience!
All best, Jascha

@anisa-hawes
Copy link
Contributor

anisa-hawes commented May 29, 2024

Thank you for the update Jascha @merrygin and Malte @maltevogl! I'm just tagging Agustín @digitalkosovski here so that everyone is in the loop.

Please let @charlottejmc or I know if you need any practical assistance. We're here to help ☺️

@merrygin
Copy link
Collaborator

merrygin commented Jun 2, 2024

Thank you for the update Jascha @merrygin and Malte @maltevogl! I'm just tagging Agustín @digitalkosovski here so that everyone is in the loop.

Please let @charlottejmc or I know if you need any practical assistance. We're here to help ☺️

Thanks a lot! The main objective left is to make everything neater (but still short enough) language-wise and to get all the references in. Sadly, it didn't work out entirely today due to a very stubborn sickness, sorry for that! But we are actually almost done, should be finished by tomorrow or Tuesday at latest. I hope this is still fine for everybody!

Have a nice remainder of the weekend!
All best,
Jascha

@merrygin
Copy link
Collaborator

merrygin commented Jun 4, 2024

Dear @digitalkosovski , @charlottejmc and @anisa-hawes

I've pushed our finished version now, sorry again for the delays!
As I wrote in the commit message, we are still a bit over the word/code-limit, I think, but are unsure which sections would be the most 'shorten-able' ones in your opinion.
Also, we included Aleksandra Kaye and Raphael Schlattmann in the authors section, hoping that this is alright. They both helped us with extensive editing work and comments on the content already for the first version of our submission and for this round again. I (Jascha) forgot to mention them in the first contacts, sorry!

Hope you are all doing well!
All best,
Jascha and @maltevogl

@merrygin
Copy link
Collaborator

merrygin commented Jun 4, 2024

Oh, also, we used a certain way of inserting references for now, without knowing if this is the preferred one for you. Of course, we'll adapt that to whatever you like us to! Same goes for the actual reference style, which we have not standardized yet, for the same reason.

@anisa-hawes
Copy link
Contributor

Hello Jascha @merrygin, Malte @maltevogl, Aleksandra and Raphael

Hello Jascha, Could you share Aleksandra's and Raphael's GitHub handles with us?

Thank you for your work on this submission!

I've made some adjustments to the file:

  • I've adjusted the YAML syntax to align with our system requirements: 6799738
  • I've removed the additions <!-- #endregion --> and <!-- #region id=""--> throughout: cce9eb2. This syntax (which I understand is used to expand/collapse code blocks) isn't used in our journal.
  • I've removed the additional cell ids and automatic cell links throughout: 642e40e which disrupt our previews.
  • I've revised your citations to use the endnotes system: 7e2d5bc

We use The Chicago Manual of Style, 17th Edition Notes and Bibliography system for endnotes. We insert [^1], [^2], etc. into the text, and cross reference these tag in an endnotes list [^1]:, [^2]:.

  • I noted that two cited works are missing from the references. These are numbers 16 and 17 in the list: Graham, 2020 and Brughmans and Wilson, 2022. Could you let us know which works these are so we can slot them in?
  • Meanwhile, two remaining in-text references are indicated but unlabelled. Could you also advise on these?
    • <a name="cite_ref-1"></a>[<sup>[1]</sup>](#cite_note_1) at line 248 and line 261 of the markdown
    • <a name="cite_ref-2"></a>[<sup>[2]</sup>](#cite_note-2) at line 397 and line 410 of the markdown

You can review the preview here: https://programminghistorian.github.io/ph-submissions/en/drafts/originals/agent-based-model-communication-networks.

If you're happy with the preview now, I think we are ready to hand this on to @digitalkosovski for the Initial Edit ☺️

@maltevogl
Copy link
Collaborator

Dear @anisa-hawes

thanks a lot for these adjustments! The preview looks really amazing already.
The handle of Aleksandra is @Aleks-Kaye and the one of Raphael is @raphschlatt.

For the missing citations I have to refer to @merrygin .

The in-text references were meant as footnotes for the paragraph text. If that format does not work, maybe they could be converted to endnotes similar to the treatment of citations and referenced with e.g. [^a], [^b] to distinguish from citations?

In Paragraph # 60 there seems to be a formatting error? It starts with ```python id=”tQl5YRxWeonN” “"” and the fourth level header is not picked up. Other then that it looks great!

@anisa-hawes
Copy link
Contributor

Thank you, @maltevogl.

I've removed that cell id id="tQl5YRxWeonN": d7df79c. Apologies for missing that one!

I'm unclear what you mean by footnotes for the paragraph text. We can add in an endnote to provide a note at those two lines, just let us know which works you intended to reference Jascha @merrygin?

I'm confident that the header is display correctly. The typography in our Previews is slightly different than in our published lessons, but you can see how #### Header 4 will render in a published lesson here: https://programminghistorian.org/en/lessons/designing-a-timeline-tabletop-simulator#windows.

@anisa-hawes anisa-hawes moved this from 1 Submission to 2 Initial Edit in Active Lessons Jun 5, 2024
@anisa-hawes
Copy link
Contributor

anisa-hawes commented Jun 5, 2024

Hello Jascha @merrygin, Malte @maltevogl, Aleksandra @Aleks-Kaye, and Raphael @raphschlatt.

What's happening now?

Your lesson has been moved to the next phase of our workflow which is Phase 2: Initial Edit.

In this phase, your editor Agustín @digitalkosovski will read your lesson, and provide some initial feedback. Agustín will post feedback and suggestions as a comment in this issue, so that you can revise your draft in the following phase (Phase 3: Revision 1).

%%{init: { 'logLevel': 'debug', 'theme': 'dark', 'themeVariables': {
              'cScale0': '#444444', 'cScaleLabel0': '#ffffff',
              'cScale1': '#882b4f', 'cScaleLabel1': '#ffffff',
              'cScale2': '#444444', 'cScaleLabel2': '#ffffff'
       } } }%%
timeline
Section Phase 1 <br> Submission
Who worked on this? : Publishing Assistant (@charlottejmc) 
All  Phase 1 tasks completed? : Yes
Section Phase 2 <br> Initial Edit
Who's working on this? : Editor (@digitalkosovski)  
Expected completion date? : July 6
Section Phase 3 <br> Revision 1
Who's responsible? : Authors (@@merrygin, @maltevogl, @Aleks-Kaye, and @raphschlatt) 
Expected timeframe? : ~30 days after feedback is received
Loading

Note: The Mermaid diagram above may not render on GitHub mobile. Please check in via desktop when you have a moment.

@merrygin
Copy link
Collaborator

Thank you, @maltevogl.

I've removed that cell id id="tQl5YRxWeonN": d7df79c. Apologies for missing that one!

I'm unclear what you mean by footnotes for the paragraph text. We can add in an endnote to provide a note at those two lines, just let us know which works you intended to reference Jascha @merrygin?

I'm confident that the header is display correctly. The typography in our Previews is slightly different than in our published lessons, but you can see how #### Header 4 will render in a published lesson here: https://programminghistorian.org/en/lessons/designing-a-timeline-tabletop-simulator#windows.

Hi @anisa-hawes ,
thanks for your edits also from my side!
I inserted the two missing references now. They must have slipped through in the last edit, sorry!

Regarding the two in-text references at lines 248 / 261 and 397 / 410:
They were intended as footnotes or just comments on the text, i.e., the reference at 248 refers to "footnote" 261, where details about 'RandomActivation' are supposed to be explained. Maybe we could just include these as endnotes instead - or we could try to work them into the main body of the text. We were just thinking that this probably would work and cut down on words at the same time.

@digitalkosovski
Copy link
Collaborator

Dear @maltevogl and @merrygin,

Many thanks for sending the full draft. After having a quick look at it, I have the impression that you've significantly improved the previous draft (which was very good to begin with), and I expect that there won't be much work to do at this point.

Given that the summer break is approaching, I think we should start the external reviewing process as soon as possible. So my intention is to come back to you next week with a couple of remarks and suggestions so we can speed up the process. Hopefully we can do phases 2 and 3 in just a couple of weeks and launch the external reviews in July already.

Best,
Agustín

@digitalkosovski
Copy link
Collaborator

Dear @maltevogl and @merrygin

I've gone through the lesson, and as I expected, I think you've done great work and there are very few suggestions I have before we go to external review.

The lesson is very clear and friendly in spite of the complexity of the subject. You’ve added great references, including some to other PH lessons, and I also appreciate that you’ve added some thoughts and external links concerning the data and the research but in a very efficient way, providing readers with interesting and relevant information, but without overloading the lesson itself with heavy research content.

I just have a few observations and suggestions:

  1. In the beginning, you discuss the installation of mesa and of Python. But perhaps it’s also worth mentioning that the lesson also requires solid Python skills. Many readers have notions of Python and many digital historians can code on Python, but my feeling is that a big part of them actually limit themselves to using certain libraries. This lesson requires knowing what classes are about, and it mentions matters of inheritance (child classes, etc), so it does tread on ground that not all historians might be familiar with. We tag lessons according to their difficulty to give readers some orientation in advance, but I still think it would be appropriate for you to include a short comment about the Python skills needed to understand this lesson.
  1. Paragraph 47, line 171. You write: “Before we finally start coding, a last couple of remarks have to be made about key concepts in Agent-based Modeling that will reappear in Part 2 in a practical way.” This is probably something that remained from a previous version that had a different structure, because at this point we are already in Part 2. Please correct that in order to avoid any confusion for the reviewers.

  2. You discuss data visualization with matplotlib and also state things like “You’ll should see something like the distribution above” (paragraph 77, line 359), but you haven't included any images. Should you maybe include some to illustrate those cases?

  3. I see two things that look like formatting problems or missing references in
    paragraph 68, line 265
    and
    paragraph 87, line 410

Maybe @anisa-hawes can confirm?

As you can see, these are all very minor observations, but I think it could be useful to address these things before sending the lesson for external review. If you agree with these observations, I hope you can work on them in the next couple of weeks and send a new version by late June or early July. That will allow us to do the reviews over the summer and contact you again by the end of the summer break.

I hope all of this helps. The lesson is fascinating and to my understanding, extremely useful. I'm very much looking forward to seeing it online.

All the best,
Agustín

@digitalkosovski
Copy link
Collaborator

Dear all,

I just wanted to thank you all for these exchanges, which I think will have a very positive impact on the lesson's final version.

I think Alex had a good point with his suggestion for a clearer narrative in the section about historical context. I'll let him judge the last changes, but I feel that things are going in the right direction here.

All the best,
Agustin

@hawc2
Copy link
Collaborator Author

hawc2 commented Nov 13, 2024

Thanks @digitalkosovski, and thanks @merrygin for your edits. The history section looks good now. I missed those ProgHist lessons you cite simply because they aren't labeled as such ("for more on Jupyter notebooks, see as a prerequisite the Programming Historian lesson, "Introduction to Jupyter Notebooks"). But that's the kind of edits we can do during copyediting, mostly to make sure links are explicit with titles to the corresponding articles. With that, @anisa-hawes @charlottejmc, I think this is ready for copyediting!

@charlottejmc
Copy link
Collaborator

charlottejmc commented Nov 13, 2024

Hello @merrygin and @maltevogl,

This lesson is now with me for copyediting. I aim to complete the work by ~28 November.

Please note that you won't have direct access to make further edits to your files during this phase.

Any further revisions can be discussed with your editor @digitalkosovski after copyedits are complete.

Thank you for your understanding.

@charlottejmc charlottejmc moved this from 5 Revision 2 to 6 Sustainability + Accessibility in Active Lessons Nov 13, 2024
@anisa-hawes
Copy link
Contributor

Hello Jascha @merrygin, Malte @maltevogl, Aleksandra @Aleks-Kaye, and Raphael @raphschlatt,

What's happening now?

Your lesson has been moved to the next phase of our workflow which is Phase 6: Sustainability + Accessibility.

In this phase, our publishing team will coordinate a series of tasks including: copyediting, typesetting, generating archival links, collating copyright agreements, and reviewing essential metadata.

Please note that you won't have direct access to make further edits to your files during Phase 6. You will have an opportunity review and discuss suggested copyedits with your editor @digitalkosovski. Thank you for your understanding.

When our Sustainability + Accessibility actions are complete, the Managing Editor @hawc2 will read the lesson/translation through one final time ahead of publication.

%%{init: { 'logLevel': 'debug', 'theme': 'dark', 'themeVariables': {
              'cScale0': '#444444', 'cScaleLabel0': '#ffffff',
              'cScale1': '#882b4f', 'cScaleLabel1': '#ffffff',
              'cScale2': '#444444', 'cScaleLabel2': '#ffffff'
       } } }%%
timeline
Section Phase 5 <br> Revision 2
Who worked on this? : Authors (@merrygin, @maltevogl, @Aleks-Kaye, @raphschlatt)
All  Phase 5 tasks completed? : Yes
Section Phase 6 <br> Sustainability + Accessibility
Who's working on this? : Publishing Team
Expected completion date? : 28 Nov
Section Phase 7 <br> Publication
Who's responsible? : Managing Editor @hawc2
Expected timeframe? : ~10 days
Loading

Note: The Mermaid diagram above may not render on GitHub mobile. Please check in via desktop when you have a moment.

@charlottejmc
Copy link
Collaborator

Hello Jascha @merrygin, Malte @maltevogl, Aleksandra @Aleks-Kaye, Raphael @raphschlatt, and @digitalkosovski,

I've prepared a PR with the copyedits for your review.

There, you'll be able to review the 'rich-diff' to see my edits in detail. You'll also find brief instructions for how to reply to any questions or comments which came up during the copyedit.

When you're all happy, we can merge in the PR.

@charlottejmc
Copy link
Collaborator

charlottejmc commented Dec 4, 2024

Hello @hawc2,

This lesson's sustainability + accessibility checks are in progress.

  • Preview:

http://programminghistorian.github.io/ph-submissions/en/drafts/originals/simulating-historical-communication-networks-python

Publisher's sustainability + accessibility actions:

  • Copyediting
  • Typesetting
  • Addition of Perma.cc links
  • Check/resize images
  • Check/adjust image filenames
  • Receipt of author(s) copyright agreement – Hello @merrygin / @maltevogl, our authorial copyright declaration form is an opportunity to acknowledge copyright and grant us permission to publish the lesson. Could one of you you download this, complete the details, and email it to me (publishing.assistant [@] programminghistorian.org)? Many thanks.
  • Request DOI
  • Remove outside contributors from ph-submissions

Authorial / editorial input to YAML:

  • Define difficulty:, based on the criteria set out here
  • Define the research activity: this lesson supports (acquiring, transforming, analysing, presenting, or sustaining) Choose one
  • Define the lesson's topics: (api, python, data-management, data-manipulation, distant-reading, get-ready, lod ["Linked Open Data"], mapping, network-analysis, web-scraping, website ["Digital Publishing"], r, machine-learning, creative-coding, web-archiving or data-visualization) Choose one or more. Let us know if you'd like us to add a new topic. Topics are defined in /_data/topics.yml.
  • Provide alt-text for all figures
  • Provide a short abstract: for the lesson (1-2 sentences)
  • Agree an avatar (thumbnail image) to accompany the lesson

The image must be:

- name: Forename Surname
  orcid: 0000-0000-0000-0000
  team: false
  bio:
    en: |
      Forename Surname is an Assistant Professor in the Department of Subject at the University of City.

Files we are preparing for transfer to Jekyll:

Promotion:

  • Prepare announcement post (using template)
  • Prepare evergreen posts – @hawc2, could you please provide x2 posts for future promotion via our social media channels? You can add these directly to the ph-evergreens-bluesky spreadsheet that has been shared with you, or email them to me at publishing.assistant[@]programminghistorian.org.

Publisher's post-publication tasks:

  • Add lesson slug to the Annual Count of Published Lessons
  • Update the ph_data folder in the ph-contributors repository

@charlottejmc
Copy link
Collaborator

charlottejmc commented Dec 5, 2024

Hi @merrygin, @maltevogl, @Aleks-Kaye, and @raphschlatt, I've had a look through the British Library and found a few images which reminded me of the theme of writing/sending letters:

Do let me know what you think! You're very welcome to suggest alternatives if you prefer.

@digitalkosovski
Copy link
Collaborator

digitalkosovski commented Dec 6, 2024

Dear all, I'm glad we're approaching publication. Thanks to @charlottejmc for all the hard work.

Reviewers were Luling Huang @hluling and Leif Scheuermann @LeifSch.

I would tend to define the lesson as difficult. We could put it as intermediate, because it’s very well explained and clear, and there are some previous PH lessons that facilitate many of the tasks. But the lesson presents challenging concepts and more importantly, it demands a rather advanced use of Python, with a good comprension of how classes work, This makes me think it falls a bit more on the side of difficult lessons. But I'd like to hear your thoughts about this.

As for the topics, and considering the specificity of the method, I'm wondering if we should add a new topic, whether "Simulation" or "Agent-based modelling"?

What do you think @hawc2 ?

@hawc2
Copy link
Collaborator Author

hawc2 commented Dec 8, 2024

@digitalkosovski it's tough to decide, but I'm leaning towards Advanced rather than Intermediate difficulty for this lesson. As you say, this lesson requires advanced use of Python, in particular knowledge of how classes work. More importantly, this lesson doesn't really teach what classes are in Python or how they work (classes are explained but at a higher model for simulation modeling, as far as I can tell). If the lesson had been devoted to teaching those fundamentals, I'd give it an Intermediate, but since it assumes knowledge of pretty advanced programming to do the methodology, which is difficult unto itself, I'd be in favor of giving this one the highest difficulty rating. With that said, ideally in the abstract we can still highlight how this lesson is 'introducing' complex methodologies to make it seem inviting to readers.

For topics, we could afford to revamp our list of topics anyway, but I might be inclined to keep it more generic if we add a topic and just make it "modeling"? I'm not sure if we'll have many other lessons for a while that would fit under the category of "simulation" or "agent-based modelling" but I'd defer to @anisa-hawes on that.

@merrygin
Copy link
Collaborator

merrygin commented Dec 9, 2024

Hi @merrygin, @maltevogl, @Aleks-Kaye, and @raphschlatt, I've had a look through the British Library and found a few images which reminded me of the theme of writing/sending letters:

* [Postman looking through his satchel](https://www.flickr.com/photos/britishlibrary/11254311184/in/album-72157638906393085)

* [Little girl reading a paper](https://www.flickr.com/photos/britishlibrary/11303177474/in/album-72157638906393085)

* [Old man writing with a quill](https://www.flickr.com/photos/britishlibrary/11132177443/in/album-72157638906393085)

Do let me know what you think! You're very welcome to suggest alternatives if you prefer.

Dear @charlottejmc ,

pictures look good to me! Technically, early modern pictures would be a better fit since we originally thought about the model through the lense of / based on data about the republic of letters, but I reckon those will be harder to find & incorporate and also it doesn't play as much of a role in the finished lesson now.

E.g., this or this.

In any case, I'm happy about your choice!

Re author bios: Should we just append the existing yaml with our bio snippet, or send you each a new file?

Also, I just sent you the copyright and publishing rights doc.

All best!
Jascha

@charlottejmc
Copy link
Collaborator

charlottejmc commented Dec 9, 2024

Dear @merrygin, @maltevogl, @Aleks-Kaye, and @raphschlatt,

An early modern picture is a really great idea! Both your suggestions are lovely, but I would choose this one because it is in the public domain, which makes it easier to use, and I believe it will look better as a small, greyscale thumbnail on our site.

You can simply send us your author bios in a comment here below, by copy and pasting this format (you don't need to change team: false) :

- name: Forename Surname
  orcid: 0000-0000-0000-0000
  team: false
  bio:
    en: |
      Forename Surname is an Assistant Professor in the Department of Subject at the University of City.

Thank you very much for the copyright agreement, which I have received by email.

⭐ As well as your author bios, the last thing we need from you is a short lesson abstract: 1-2 sentences which quickly and broadly tell the prospective reader what they can learn from the lesson. To make the most of the available space, it is usually more interesting not to repeat the lesson title word for word. @hawc2 also suggests above to "highlight how this lesson is 'introducing' complex methodologies to make it seem inviting to readers".


Thank you very much @digitalkosovski and @hawc2 for your insights on the difficulty level. I've set it to 3 (advanced) and I'll discuss the topics with Anisa too.

As for the Activity, shall we say 'analysing'?

@maltevogl
Copy link
Collaborator

I really like the image a lot. Thanks for finding it @merrygin

  • name: Malte Vogl
    orcid: 0000-0002-2683-6610
    team: false
    bio:
    en: |
    Malte Vogl is a Senior Research Fellow at the Department Structural Changes of the Technosphere at the Max Planck Institute of Geoanthropology, Jena, Germany.

@merrygin
Copy link
Collaborator

merrygin commented Dec 11, 2024

  • name: Jascha Schmitz
    orcid: 0000-0002-6971-6758
    team: false
    bio:
    en: |
    Jascha Schmitz is doctoral researcher at the Chair for Digital History at Humboldt-University Berlin and project member at the task area 'Data Culture' of the German National Research Data Initiative for Historical Sciences (NFDI4Memory).

@Aleks-Kaye
Copy link
Collaborator

Aleks-Kaye commented Dec 11, 2024 via email

@merrygin
Copy link
Collaborator

⭐ A suggestion for the abstract:

"This lesson will introduce you to core concepts, methodologies, and discussions surrounding simulation methods for historical inquiry and in particular Agent-based modeling. You will also be introduced to the basic elements of programming a simulation model by building a model of historical letter exchange with the python library mesa."

Is this the right direction? Too dry? Something missing?

@anisa-hawes
Copy link
Contributor

anisa-hawes commented Dec 11, 2024

This reads well to me Jascha @merrygin - thank you. What do you think, Alex @hawc2?

--

Hello @raphschlatt,

When you have a moment, could you share a one-line bio using this template?

- name: Forename Surname
  orcid: 0000-0000-0000-0000
  team: false
  bio:
    en: |
      Forename Surname is an Assistant Professor in the Department of Subject at the University of City.

--

In the meantime, Charlotte and I will create the new topic modeling. While I don't believe there are other lessons to which we could add that topic at the moment @hawc2, it feels like it could be useful to us the near future.

@hawc2
Copy link
Collaborator Author

hawc2 commented Dec 11, 2024

@merrygin and @digitalkosovski, I've been talking with @anisa-hawes, and one thought we we're hoping to hear your opinion on was a change to the title to this lesson. Ideally the title gives some sense of the type of software and data used in the lesson. We we're thinking the lesson title could be simplified and clarified to something like "Simulating Historical Communication Networks in Python". What do you thnk would work?

@merrygin
Copy link
Collaborator

@merrygin and @digitalkosovski, I've been talking with @anisa-hawes, and one thought we we're hoping to hear your opinion on was a change to the title to this lesson. Ideally the title gives some sense of the type of software and data used in the lesson. We we're thinking the lesson title could be simplified and clarified to something like "Simulating Historical Communication Networks in Python". What do you thnk would work?

I think this is a great idea and I also had the feeling that the title might be a bit too long like this. I think "Simulating Historical Communication Networks in Python" would also fit the general style of other lessons' titles very well. I'd be very happy with that suggestion. What do you think, @maltevogl ?

@maltevogl
Copy link
Collaborator

I really like this idea to change the title. It should be shorter to be more inviting. Thanks for the suggestion. I also like the short abstract text you suggested @merrygin

@raphschlatt
Copy link
Collaborator

Hello @raphschlatt,

When you have a moment, could you share a one-line bio using this template?

Yes, here it is:

name: Raphael Schlattmann
orcid: 0000-0002-2234-3720
team: false
bio:
en: |
Raphael Schlattmann is a doctoral researcher at the Institute of History and Philosophy of Science, Technology, and Literature at Technische Universität Berlin.

And I also like the title suggestion.

@charlottejmc charlottejmc changed the title Simulations in historical research: How to create an agent-based model of communication networks Simulating Historical Communication Networks in Python Dec 17, 2024
@charlottejmc
Copy link
Collaborator

Thank you all for your input!

I have updated the lesson title in this issue, as well as in all the necessary files. Please note that the lesson slug is now simulating-historical-communication-networks-python.

@anisa-hawes anisa-hawes moved this from 6 Sustainability + Accessibility to 7 Publication in Active Lessons Dec 18, 2024
@anisa-hawes
Copy link
Contributor

Thank you all. I will prepare this lesson for publication in early January ✨

We are in the process of setting up the new topic: modeling 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 7 Publication
Development

No branches or pull requests

10 participants