Free and Open Source Software (FOSS) has a sustainability problem. For those of you who are a part of the FOSS ecosystem, or are fairly familiar with it, Duh. But here's a short intro for the uninitiated - you are relying on Free and Open Source software when you read this blog post. Most commercial software applications are made up primarily of FOSS. Our digital lives are powered by FOSS. Yet, a majority of the people who create, maintain, and sustain the FOSS projects are underfunded, if not completely unfunded. This isn't really news - for more than a decade now, people in the FOSS community have been complaining about the sustainability problem, and people have come up with varying solutions to the problem. A real solution to the FOSS sustainability problem involves systematic support from for-profit enterprises and Nation-State Governments but for the moment, let's focus on what I can do as an individual. And why am I bringing this up now? Because of what's happene...
So, I wanted to get author affiliation information from papers on arXiv. arXiv provides with an API to bulk query their database and get information. Following that, I look for the attribute 'arxiv:affiliation' in the html data. Here's the code - import urllib from BeautifulSoup import BeautifulStoneSoup url = 'http://export.arxiv.org/api/query?search_query=all:astro&start=0&max_results=1000' data = urllib.urlopen(url).read() soup = BeautifulStoneSoup(data) #print(soup.prettify()) #list = soup.findAll('arxiv:affiliation') #for i in range(len(list)): # print list[i].contents test = [tag.string for tag in soup.findAll('arxiv:aiffiliation')] Now, the problem I'm having is that I'm getting affiliation of all authors which I want to split into sets of affiliations of authors of a paper, which I'm stuck on at the moment. Once I get that part, I can move on to the next part of this pet project, displaying these...
If you write software, you need to start maintaining Architecture Decision Records (ADRs). ADRs roughly fall into the category of Developer Documentation. They aren't aimed at the Users of the software. Instead, they are aimed at the developers and maintainers of the software. They usually contain information about the layout of the package and what the code does. ADRs, in this context, are an absolute necessity. By definition, ADRs are simply a Record of a Decision that has an impact of the Architecture of the application. In fact, Any meaningful technical decision made in a software project, irrespective of whether it has an impact on the architecture of the application, needs to be documented. I first came across ADRs in Chapter 17 of Fundamentals of Software Architecture book. A few of us (at Enthought ) read this book earlier in the year and ADRs are one of the things that we took away from the book. You can find more information on ADRs here and here . Here's what the f...