Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Options

Azimuth project code repository

edited February 2020

Here are the Azimuth Project repositories on github.

Time to take inventory!

• Options
1.
edited February 2020

As Jim mentioned, azimuth-project is an organizational-level collection of individual repositories.

There are now twelve of them:

• applied-category-theory course. This repository is for contributing code related to the online category theory course [MIT 2019]. Language = Haskell. Updated Aug 4, 2018.

• Mrpn. Matrix representation of Petri nets. Language = Haskell. Updated Jan 5, 2016.

• el-nino. Experiments in El Nino detection and prediction. Updated Apr 18, 2015.

• azimuthproject. Forked from aerskine/azimuthproject. Automatically exported from code.google.com/p/azimuthproject. Updated Mar 15, 2015.

• deploy-web. Scripts to deploy code project web content. Updated Jun 2, 2014.

• SDEModels. Stochastic dynamic equilibrium models in Java and Scala. Langauge = JavaScript. Updated May 25, 2014.

• Bistability. Another look at climate sensitivity. A direct port of Nathan Urban's R code to Haskell. Language = Haskell.

• PredatorPreySDE. A stochastic differential equation model for predators and prey. Language = R. Updated May 11, 2014.

• DiscreteEventSimulation. Discrete event simulation for predator-prey interaction in C++. Updated on May 10, 2014.

• BurgersExample. Language = C++. Updated May 9, 2014.

• DSE. C++. Dynamic stochastic equilibrium in C++.

• CoalbedoExample. JavaScript. Updated Nov 2, 2012.

Comment Source:As Jim mentioned, azimuth-project is an organizational-level collection of individual repositories. There are now twelve of them: * applied-category-theory course. This repository is for contributing code related to the online category theory course [MIT 2019]. Language = Haskell. Updated Aug 4, 2018. * Mrpn. Matrix representation of Petri nets. Language = Haskell. Updated Jan 5, 2016. * el-nino. Experiments in El Nino detection and prediction. Updated Apr 18, 2015. * azimuthproject. Forked from aerskine/azimuthproject. Automatically exported from code.google.com/p/azimuthproject. Updated Mar 15, 2015. * deploy-web. Scripts to deploy code project web content. Updated Jun 2, 2014. * SDEModels. Stochastic dynamic equilibrium models in Java and Scala. Langauge = JavaScript. Updated May 25, 2014. * Bistability. Another look at climate sensitivity. A direct port of Nathan Urban's R code to Haskell. Language = Haskell. * PredatorPreySDE. A stochastic differential equation model for predators and prey. Language = R. Updated May 11, 2014. * DiscreteEventSimulation. Discrete event simulation for predator-prey interaction in C++. Updated on May 10, 2014. * BurgersExample. Language = C++. Updated May 9, 2014. * DSE. C++. Dynamic stochastic equilibrium in C++. * CoalbedoExample. JavaScript. Updated Nov 2, 2012. 
• Options
2.
edited February 2020

This does not look like a scaleable model - to create a separate repository for each individual idea that each of us has. I note that aside from being inactive for years, a number of these repositories contain a single code file.

I suggest aggregating all of the older, inactive repos into a single repository, called something like Classical Azimuth Project (for climate models, predator prey, etc.)

These programs could actually get more attention by being aggregated together. I'd rather do one git pull of everything in Classical Azimuth Project, and poke around the directories, than scroll through a mediocre web page with an unbounded number of repositories containing small amounts of code.

Comment Source:This does not look like a scaleable model - to create a separate repository for each individual idea that each of us has. I note that aside from being inactive for years, a number of these repositories contain a single code file. I suggest aggregating all of the older, inactive repos into a single repository, called something like Classical Azimuth Project (for climate models, predator prey, etc.) These programs could actually get more attention by being aggregated together. I'd rather do one git pull of everything in Classical Azimuth Project, and poke around the directories, than scroll through a mediocre web page with an unbounded number of repositories containing small amounts of code.
• Options
3.
edited February 2020

Whether or not we aggregate the historical ones, let's think in terms of a larger granularity for repositories going forward.

Comment Source:Whether or not we aggregate the historical ones, let's think in terms of a larger granularity for repositories going forward. 
• Options
4.

Now that I see how things work here, I am coming around to the kind of idea that @MatthewDoty had of making a repository the programming with categories course.

Only thing is that I would change it to programming-with-categories, so as not to restrict it to the scope of the MIT 2020 class. MIT 2020 is the point of departure for our work on programming with categories. So there could be a folder called mit2020 for that point of departure. But why not think of it as a potentially broader and richer code base, which really represents the workspace for our shared study of programming with categories. Let's build something that we can really grep around in.

Sure, it could be tagged with Haskell as the default language. But one day we may find exercises that ask us to do one thing in Haskell and another in Idris. Why should a repository be unnaturally split just because of language differences. Why not allow space for a "multi-ethnic" community of programs? We always can keep things separate with local, per-language folders.

I understand that having a homogeneous language could makes things easier for an IDE, which could just default to one thing. But I don't believe that this is an important enough concern to drive the whole logical organization of our projects. Shouldn't a decent IDE have mechanisms for allowing different subdirectories to be tagged with different languages. And how critical is an IDE, really, for writing small scripts to solve homework exercises.

Comment Source:Now that I see how things work here, I am coming around to the kind of idea that @MatthewDoty had of making a repository the programming with categories course. Only thing is that I would change it to programming-with-categories, so as not to restrict it to the scope of the MIT 2020 class. MIT 2020 is the point of departure for our work on programming with categories. So there could be a folder called mit2020 for that point of departure. But why not think of it as a potentially broader and richer code base, which really represents the workspace for our shared study of programming with categories. Let's build something that we can really grep around in. Sure, it could be tagged with Haskell as the default language. But one day we may find exercises that ask us to do one thing in Haskell and another in Idris. Why should a repository be unnaturally split just because of language differences. Why not allow space for a "multi-ethnic" community of programs? We always can keep things separate with local, per-language folders. I understand that having a homogeneous language could makes things easier for an IDE, which could just default to one thing. But I don't believe that this is an important enough concern to drive the whole logical organization of our projects. Shouldn't a decent IDE have mechanisms for allowing different subdirectories to be tagged with different languages. And how critical is an IDE, really, for writing small scripts to solve homework exercises. 
• Options
5.

Perhaps this last rant -- from a vim guy who has only found one IDE to like, which is pycharm -- wouldn't really matter for a programming with categories repository, given that for a programming with categories study group, it seems we would be primarily working in Haskell, at least at the outset.

Comment Source:Perhaps this last rant -- from a vim guy who has only found one IDE to like, which is pycharm -- wouldn't really matter for a programming with categories repository, given that for a programming with categories study group, it seems we would be primarily working in Haskell, at least at the outset.
• Options
6.

I motion that we create a new repository calked programming-with-categories, with default language Haskell.

Comment Source:I motion that we create a new repository calked programming-with-categories, with default language Haskell.
• Options
7.

Within that, we can begin with a folder called users, where people can create their own per user directories.

Then people can get started working, and we can discuss the shared folder structure in a more leisurely way.

Comment Source:Within that, we can begin with a folder called users, where people can create their own per user directories. Then people can get started working, and we can discuss the shared folder structure in a more leisurely way.
• Options
8.

Ayes, nays?

Comment Source:Ayes, nays?
• Options
9.

I have a Google folder I've called "not-warrantied-for-any-purpose" which has odds and ends of things I've done. (I tried Github, but I found it way more complicated than what I wanted/needed.) Happy to share any/all of that. Don't know how useful it might be, or if anyone cares. It's mostly R code. It will grow. I'm actively working on three projects now, with two of them to be in a state of sharing much sooner than the third. Also don't know what documentation standards are expected of this effort. Is that written up anywhere?

I also am lacking a sense of what/why this is being done. Not questioning its usefulness at all. I really don't have time, with respect to what I what to accomplish, to move all mine out of R and Python.

Comment Source:I have a Google folder I've called "not-warrantied-for-any-purpose" which has odds and ends of things I've done. (I tried Github, but I found it way more complicated than what I wanted/needed.) Happy to [share any/all of that](https://drive.google.com/drive/folders/1bCrrpx-Mqc9mJi1HNzl1NuRglkxXlXfK?usp=sharing). Don't know how useful it might be, or if anyone cares. It's mostly **R** code. It will grow. I'm actively working on three projects now, with two of them to be in a state of sharing much sooner than the third. Also don't know what documentation standards are expected of this effort. Is that written up anywhere? I also am lacking a sense of what/why this is being done. Not questioning its usefulness at all. I really don't have time, with respect to what I what to accomplish, to move all mine out of **R** and *Python*.
• Options
10.

@JanGalkowski there are plenty of new folks who've joined the Azimuth project from the MIT Haskell coding course. Some of them might write correct by construction, if only pedagogically environmentally useful Haskell/Idris code. All of Haskell is hosted on github. Your google drive is 90% full. I could port any of your R etc. code you think Haskell folks might find interesting to some appropriately-named azimuth-project repo. Github is best of breed for anything like the Azimuth project. Basic github is pretty simple. If you get an account we might be able to play with your code? :)

Comment Source:@JanGalkowski there are plenty of new folks who've joined the Azimuth project from the MIT Haskell coding course. Some of them might write correct by construction, if only pedagogically environmentally useful Haskell/Idris code. All of Haskell is hosted on github. Your google drive is 90% full. I could port any of your R etc. code you think Haskell folks might find interesting to some appropriately-named azimuth-project repo. Github is best of breed for anything like the Azimuth project. Basic github is pretty simple. If you get an account we might be able to play with your code? :) 
• Options
11.

To be clear, I am proposing the programming-with-categories repository for this project which I proposed on the discussion "Azimuth Code Project2?"

Here is my present idea for a code project. We find some good texts on functional programming, with good programming exercises -- preferably online and free -- organize the problem sets, and then start chipping away at them. We could each work in our own folders. There could be a group folder as well, into which we would combine the best aspects of any of our individual solutions, to make a nice "published" version of the answers. We could arrive at the published versions by a review and discussion process on the forum.

To me, this sounds like it would be informative, fun, and good for team building. And we'd have a concrete plan of action, thanks to the authors of the problem sets.

So the odds and ends in other languages wouldn't fit into this Haskell-based repository for studying functional programming.

Jan, if you want to check in miscellaneous code, you could consider making a folder for yourself in the repo called azimuthproject. In the absence of a motivated project, however, there's a good chance that the code would just go stale if you checked it in. So if I were in your shoes, I would ask myself, what will be the benefit of this effort? Will it help me at least, to have my code in a public place? Do I want to develop or promote any of this code, in which case checking it in would be a good first step.

I don't think we should be collecting code just for the sake of collecting it. In order to come alive, the code has to be developed for a purpose.

I believe that given the interest we've seen on the forum for the programming with categories class in Haskell, that a repository for coding programming exercises, and more generally sharing knowledge as part of a study group -- is a living goal, which at least I'm interested in. Anyone else interested in this please chime in.

Comment Source:To be clear, I am proposing the programming-with-categories repository for this project which I proposed on the discussion "Azimuth Code Project2?" >Here is my present idea for a code project. We find some good texts on functional programming, with good programming exercises -- preferably online and free -- organize the problem sets, and then start chipping away at them. We could each work in our own folders. There could be a group folder as well, into which we would combine the best aspects of any of our individual solutions, to make a nice "published" version of the answers. We could arrive at the published versions by a review and discussion process on the forum. > > To me, this sounds like it would be informative, fun, and good for team building. And we'd have a concrete plan of action, thanks to the authors of the problem sets. So the odds and ends in other languages wouldn't fit into this Haskell-based repository for studying functional programming. Jan, if you want to check in miscellaneous code, you could consider making a folder for yourself in the repo called [azimuthproject](https://github.com/azimuth-project/azimuthproject). In the absence of a motivated project, however, there's a good chance that the code would just go stale if you checked it in. So if I were in your shoes, I would ask myself, what will be the benefit of this effort? Will it help me at least, to have my code in a public place? Do I want to develop or promote any of this code, in which case checking it in would be a good first step. I don't think we should be collecting code just for the sake of collecting it. In order to come _alive_, the code has to be developed for a purpose. I believe that given the interest we've seen on the forum for the programming with categories class in Haskell, that a repository for coding programming exercises, and more generally sharing knowledge as part of a study group -- is a living goal, which at least I'm interested in. Anyone else interested in this please chime in. 
• Options
12.

This goes to show that we don't need a monolithic repo.

Anyone who has an idea for a shared group coding project can propose it here, and then get a repo created for it.

It's also possible to create repos for more individual projects, assuming they are in the "azimuth spirit" broadly speaking (like we're not going to create programs designed to create disinformation here), but that's less interesting from a group perspective.

I encourage people to think of truly collaborative projects -- like the study group project I proposed.

Comment Source:This goes to show that we don't need a monolithic repo. Anyone who has an idea for a shared group coding project can propose it here, and then get a repo created for it. It's also possible to create repos for more individual projects, assuming they are in the "azimuth spirit" broadly speaking (like we're not going to create programs designed to create disinformation here), but that's less interesting from a group perspective. I encourage people to think of truly collaborative projects -- like the study group project I proposed. 
• Options
13.

Jim,

Well, I have/had a vestigial Github account because I clone and monitor many other projects. I stopped using it because I could not store datasets there, because they were too big and cost too much to store. Github is really only oriented towards code, and that's only half of my world.

I'm not proposing hosting anything at my Google drive, even if I don't understand your comment about being 90% full: My notice says I've used only 980 MB of 2 TB, but that's used to replicate a lot of our stuff at home as well as anything technical I do.

But, I've created not-warrantied-for-any-purpose on Github. I have no idea on how to put anything in it, though. I think I'll clone it with my Sourcetree. That, at least, I know a little bit of how to use.

Comment Source:Jim, Well, I have/had a vestigial Github account because I clone and monitor many other projects. I stopped using it because I could not store datasets there, because they were too big and cost too much to store. Github is really only oriented towards code, and that's only half of my world. I'm not proposing hosting anything at my Google drive, even if I don't understand your comment about being 90% full: My notice says I've used only 980 MB of 2 TB, but that's used to replicate a lot of our stuff at home as well as anything technical I do. But, I've created [not-warrantied-for-any-purpose](https://github.com/ecoquant/not-warrantied-for-any-purpose) on Github. I have no idea on how to put anything in it, though. I think I'll clone it with my Sourcetree. That, at least, I know a little bit of how to use. 
• Options
14.

So I have made an initial commit of all my files to this Github repository, cited above. I needed to leave 3 files behind, because they are too big. As I mentioned, there's as much data there as code. Also, the organization is a bit of a mess, as there are a dozen or so unrelated projects represented.

Comment Source:So I have made an initial commit of all my files to this Github repository, cited above. I needed to leave 3 files behind, because they are too big. As I mentioned, there's as much data there as code. Also, the organization is a bit of a mess, as there are a dozen or so unrelated projects represented.
• Options
15.

@davidtanzer that azimuth-project/azimuthproject repo is just an obsolete initial port of code from some old azimuth-related repo which I disaggregated but never deleted.

Comment Source:@davidtanzer that azimuth-project/azimuthproject repo is just an obsolete initial port of code from some old azimuth-related repo which I disaggregated but never deleted. 
• Options
16.

@JanGalkowski "90% full" is what I got when I clicked on your link posted in comment #9. I'm interested in any environmentally relevant code you've written. You're right about free github being only for code but @johnbaez and iirc @allanerskine ran a crowd-funded project to host lots of US NOAA/NASA etc environmental data at UCR, in Paris and maybe the Smithsonian when there was a political threat of it being lost so many historic environmental data sets are easily accessible and could probably easily be added to?

Comment Source:@JanGalkowski "90% full" is what I got when I clicked on your link posted in comment #9. I'm interested in any environmentally relevant code you've written. You're right about free github being only for code but @johnbaez and iirc @allanerskine ran a crowd-funded project to host lots of US NOAA/NASA etc environmental data at UCR, in Paris and maybe the Smithsonian when there was a political threat of it being lost so many historic environmental data sets are easily accessible and could probably easily be added to? 
• Options
17.

I'm not sure this "environmentally relevant code" even made it into not-warrantied-for-any-purpose:

https://667-per-cm.net/2016/08/11/repaired-r-code-for-markov-spatial-simulation-of-hurricane-tracks-from-historical-trajectories/

with code at https://goo.gl/odcdJp

Anyway, I'll keep that in mind. A lot of it is tangentially environmental: I did a sampling design to determine a baseline of bag use at local grocery stores, in order to set up to assess the efficacy of a campaign to encourage people to bring their own bags to stores. The follow-up has yet to be done, but the design is there. That's included and written up, also at my blog: https://667-per-cm.net/2019/02/18/on-bag-bans-and-sampling-plans/

Comment Source:I'm not sure this "environmentally relevant code" even made it into not-warrantied-for-any-purpose: https://667-per-cm.net/2016/08/11/repaired-r-code-for-markov-spatial-simulation-of-hurricane-tracks-from-historical-trajectories/ with code at https://goo.gl/odcdJp Anyway, I'll keep that in mind. A lot of it is tangentially environmental: I did a sampling design to determine a baseline of bag use at local grocery stores, in order to set up to assess the efficacy of a campaign to encourage people to bring their own bags to stores. The follow-up has yet to be done, but the design is there. That's included and written up, also at my blog: https://667-per-cm.net/2019/02/18/on-bag-bans-and-sampling-plans/
• Options
18.

@jangalkowski Nope, your hurricane analysis code didn't make it to github but I'm interested in these sorts of techniques as I did some work in the 90s on the UK's flood defence system and the civ. eng. consultant I worked with then has recently been designing the UN's disaster resilience project in Timor L'Este. At his request I did a quick lit. search about the so far unsuccessful attempts at useful earthquake prediction and posted some info as an Azimuth forum thread which @WebHubTel has helped with. But landslides are the biggest global natural disaster killer and any techniques which can identify vulnerabilities from historic and satellite data are v. important.

Comment Source:@jangalkowski Nope, your hurricane analysis code didn't make it to github but I'm interested in these sorts of techniques as I did some work in the 90s on the UK's flood defence system and the civ. eng. consultant I worked with then has recently been designing the UN's disaster resilience project in Timor L'Este. At his request I did a quick lit. search about the so far unsuccessful attempts at useful earthquake prediction and posted some info as an Azimuth forum [thread](http://bit.ly/2vLUsmh) which @WebHubTel has helped with. But landslides are the biggest global natural disaster killer and any techniques which can identify vulnerabilities from historic and satellite data are v. important.